@heartlandone/vega 2.35.0-RTE-preview → 2.36.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 (256) hide show
  1. package/dist/cjs/{app-globals-fb3693cc.js → app-globals-13d4a0be.js} +3 -4
  2. package/dist/cjs/{list-block-91116257.js → content-state-2336e368.js} +130 -4
  3. package/dist/cjs/{element-appender-slimmer-700b7004.js → element-appender-slimmer-77f9c4a0.js} +11 -3
  4. package/dist/cjs/{form-field-controller-slimmer-7ef32059.js → form-field-controller-slimmer-8d4d2723.js} +56 -25
  5. package/dist/cjs/{image-annotation-action-d3e1699c.js → image-annotation-action-4135ca69.js} +12 -12
  6. package/dist/cjs/index.cjs.js +5 -6
  7. package/dist/cjs/loader.cjs.js +5 -6
  8. package/dist/cjs/{node-annotation.abstract-e5d3a859.js → node-annotation.abstract-c3c07af5.js} +1 -1
  9. package/dist/cjs/{sub-state-notify-slimmer-c2e08e06.js → sub-state-notify-slimmer-994eb848.js} +1 -1
  10. package/dist/cjs/{sub-state-observer-slimmer-b97e46b5.js → sub-state-observer-slimmer-080a4bea.js} +1 -1
  11. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  12. package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
  13. package/dist/cjs/vega-checkbox_2.cjs.entry.js +2 -2
  14. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  15. package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
  16. package/dist/cjs/vega-date-picker_2.cjs.entry.js +532 -115
  17. package/dist/cjs/vega-dropdown_5.cjs.entry.js +68 -19
  18. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  19. package/dist/cjs/vega-file-uploader.cjs.entry.js +120 -40
  20. package/dist/cjs/vega-font.cjs.entry.js +8 -1
  21. package/dist/cjs/vega-form.cjs.entry.js +11 -6
  22. package/dist/cjs/vega-image-uploader.cjs.entry.js +2 -2
  23. package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
  24. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  25. package/dist/cjs/vega-input-phone-number.cjs.entry.js +51 -5
  26. package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
  27. package/dist/cjs/vega-input-select.cjs.entry.js +2 -2
  28. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  29. package/dist/cjs/{vega-internal-event-id-85b68849.js → vega-internal-event-id-b12071ea.js} +2 -0
  30. package/dist/cjs/vega-left-nav_5.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
  32. package/dist/cjs/vega-popover_2.cjs.entry.js +2 -2
  33. package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
  34. package/dist/cjs/vega-rich-text-content.cjs.entry.js +134 -110
  35. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +182 -118
  36. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  37. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
  38. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  39. package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
  40. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  41. package/dist/cjs/vega-tab-group_2.cjs.entry.js +35 -24
  42. package/dist/cjs/vega-table_8.cjs.entry.js +3 -3
  43. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-time-picker_2.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  46. package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
  47. package/dist/cjs/vega.cjs.js +5 -6
  48. package/dist/collection/components/vega-date-picker/assets/icons.js +3 -0
  49. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.js +23 -1
  50. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +316 -0
  51. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +60 -2
  52. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +16 -4
  53. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +24 -0
  54. package/dist/collection/components/vega-date-picker/vega-date-picker.js +59 -0
  55. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +56 -14
  56. package/dist/collection/components/vega-dropdown/vega-dropdown.js +37 -0
  57. package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.js +35 -0
  58. package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +36 -7
  59. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +41 -0
  60. package/dist/collection/components/vega-font/slimmers/renderers/vega-font-renderer.js +8 -1
  61. package/dist/collection/components/vega-form/vega-form.js +13 -4
  62. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +38 -3
  63. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +35 -0
  64. package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
  65. package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +2 -2
  66. package/dist/collection/components/vega-pagination/vega-pagination.js +24 -1
  67. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +33 -19
  68. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +11 -4
  69. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +8 -10
  70. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +104 -0
  71. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +9 -7
  72. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +9 -7
  73. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +10 -12
  74. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +9 -104
  75. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +14 -13
  76. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +8 -10
  77. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +9 -11
  78. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +2 -0
  79. 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
  80. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +15 -1
  81. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +4 -2
  82. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.js +22 -22
  83. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +9 -1
  84. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +4 -1
  85. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  86. package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +8 -2
  87. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +10 -16
  88. package/dist/collection/helpers/slimmers/form-field-message-translator.js +17 -0
  89. package/dist/collection/helpers/slimmers/form-field-valid-invoke-slimmer.js +6 -3
  90. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +1 -1
  91. package/dist/collection/helpers/ui/element-appender.js +10 -2
  92. package/dist/collection/helpers/validator/form-field-controller.js +11 -3
  93. package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
  94. package/dist/collection/helpers/validator/test/rules/rich-text-editor-required-rule.test.js +43 -0
  95. package/dist/collection/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.js +7 -2
  96. package/dist/esm/{app-globals-5b154b6d.js → app-globals-9ded4406.js} +2 -3
  97. package/dist/esm/{list-block-ba82c846.js → content-state-42a06d75.js} +130 -3
  98. package/dist/esm/{element-appender-slimmer-d71e3109.js → element-appender-slimmer-f3eceb79.js} +11 -3
  99. package/dist/esm/{form-field-controller-slimmer-af969d03.js → form-field-controller-slimmer-6ef5641b.js} +57 -26
  100. package/dist/esm/{image-annotation-action-a8e00f28.js → image-annotation-action-8a12e0bd.js} +2 -2
  101. package/dist/esm/index.js +3 -4
  102. package/dist/esm/loader.js +5 -6
  103. package/dist/esm/{node-annotation.abstract-d7d52bce.js → node-annotation.abstract-af11b11b.js} +1 -1
  104. package/dist/esm/polyfills/core-js.js +0 -0
  105. package/dist/esm/polyfills/dom.js +0 -0
  106. package/dist/esm/polyfills/es5-html-element.js +0 -0
  107. package/dist/esm/polyfills/index.js +0 -0
  108. package/dist/esm/polyfills/system.js +0 -0
  109. package/dist/esm/{sub-state-notify-slimmer-48bad548.js → sub-state-notify-slimmer-7d5a295a.js} +1 -1
  110. package/dist/esm/{sub-state-observer-slimmer-403cc4e7.js → sub-state-observer-slimmer-901c7953.js} +1 -1
  111. package/dist/esm/vega-button-group_2.entry.js +3 -3
  112. package/dist/esm/vega-calendar_3.entry.js +3 -3
  113. package/dist/esm/vega-checkbox_2.entry.js +2 -2
  114. package/dist/esm/vega-color-picker.entry.js +2 -2
  115. package/dist/esm/vega-combo-box.entry.js +2 -2
  116. package/dist/esm/vega-date-picker_2.entry.js +533 -116
  117. package/dist/esm/vega-dropdown_5.entry.js +68 -19
  118. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  119. package/dist/esm/vega-file-uploader.entry.js +120 -40
  120. package/dist/esm/vega-font.entry.js +8 -1
  121. package/dist/esm/vega-form.entry.js +11 -6
  122. package/dist/esm/vega-image-uploader.entry.js +2 -2
  123. package/dist/esm/vega-input-credit-card.entry.js +2 -2
  124. package/dist/esm/vega-input-numeric.entry.js +3 -3
  125. package/dist/esm/vega-input-phone-number.entry.js +51 -5
  126. package/dist/esm/vega-input-range.entry.js +2 -2
  127. package/dist/esm/vega-input-select.entry.js +2 -2
  128. package/dist/esm/vega-input.entry.js +3 -3
  129. package/dist/esm/{vega-internal-event-id-4af5c6e9.js → vega-internal-event-id-458939b6.js} +2 -1
  130. package/dist/esm/vega-left-nav_5.entry.js +3 -3
  131. package/dist/esm/vega-pagination.entry.js +3 -3
  132. package/dist/esm/vega-popover_2.entry.js +2 -2
  133. package/dist/esm/vega-radio_2.entry.js +2 -2
  134. package/dist/esm/vega-rich-text-content.entry.js +132 -108
  135. package/dist/esm/vega-rich-text-editor_4.entry.js +76 -12
  136. package/dist/esm/vega-selection-chip_2.entry.js +4 -4
  137. package/dist/esm/vega-selection-tile_2.entry.js +4 -4
  138. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  139. package/dist/esm/vega-signature-capture.entry.js +2 -2
  140. package/dist/esm/vega-stepper.entry.js +2 -2
  141. package/dist/esm/vega-tab-group_2.entry.js +35 -24
  142. package/dist/esm/vega-table_8.entry.js +3 -3
  143. package/dist/esm/vega-textarea.entry.js +2 -2
  144. package/dist/esm/vega-time-picker_2.entry.js +3 -3
  145. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  146. package/dist/esm/vega-tooltip_2.entry.js +1 -1
  147. package/dist/esm/vega.js +5 -6
  148. package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
  149. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.d.ts +4 -18
  150. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +85 -0
  151. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +9 -0
  152. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +2 -0
  153. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +21 -2
  154. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +20 -0
  155. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +10 -0
  156. package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.d.ts +18 -0
  157. package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +15 -0
  158. package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +12 -0
  159. package/dist/types/components/vega-form/types.d.ts +1 -0
  160. package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +19 -0
  161. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +9 -0
  162. package/dist/types/components/vega-input-select/types.d.ts +1 -0
  163. package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +2 -0
  164. package/dist/types/components/vega-pagination/types.d.ts +6 -0
  165. package/dist/types/components/vega-pagination/vega-pagination.d.ts +9 -1
  166. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +4 -0
  167. package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +4 -1
  168. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +13 -7
  169. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +14 -0
  170. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +6 -4
  171. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +6 -4
  172. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +5 -5
  173. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +7 -11
  174. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +4 -4
  175. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +6 -7
  176. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +5 -6
  177. 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
  178. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
  179. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +3 -1
  180. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.d.ts +6 -6
  181. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +1 -0
  182. package/dist/types/components.d.ts +70 -5
  183. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  184. package/dist/types/helpers/slimmers/field-error-controller-silmmer.d.ts +7 -2
  185. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +2 -7
  186. package/dist/types/helpers/slimmers/form-field-message-translator.d.ts +12 -0
  187. package/dist/types/helpers/ui/element-appender.d.ts +4 -0
  188. package/dist/types/helpers/validator/form-field-controller.d.ts +5 -2
  189. package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +1 -1
  190. package/dist/types/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.d.ts +2 -2
  191. package/dist/types/helpers/validator/validator.d.ts +1 -1
  192. package/dist/types/types/components.type.d.ts +2 -1
  193. package/dist/vega/index.esm.js +1 -1
  194. package/dist/vega/p-032ed643.entry.js +13 -0
  195. package/dist/vega/{p-a0e90d5d.entry.js → p-13ce8d87.entry.js} +1 -1
  196. package/dist/vega/{p-f84fd31c.js → p-26af2a8b.js} +1 -1
  197. package/dist/vega/{p-dcdac4d0.entry.js → p-2ff936da.entry.js} +1 -1
  198. package/dist/vega/p-3126edd6.entry.js +1 -0
  199. package/dist/vega/{p-45c88f7f.entry.js → p-317c72e4.entry.js} +1 -1
  200. package/dist/vega/{p-4f0b56fc.js → p-349dd552.js} +1 -1
  201. package/dist/vega/p-36ad5ee1.entry.js +1 -0
  202. package/dist/vega/p-42465abc.entry.js +1 -0
  203. package/dist/vega/{p-6d43b123.entry.js → p-43b6aced.entry.js} +1 -1
  204. package/dist/vega/{p-fe388812.entry.js → p-441c9c90.entry.js} +1 -1
  205. package/dist/vega/{p-926596cc.js → p-446c691b.js} +1 -1
  206. package/dist/vega/{p-465fa96d.entry.js → p-4d307520.entry.js} +1 -1
  207. package/dist/vega/p-524ff1a3.entry.js +1 -0
  208. package/dist/vega/p-558450ba.entry.js +1 -0
  209. package/dist/vega/{p-c02f650e.entry.js → p-589530e4.entry.js} +1 -1
  210. package/dist/vega/{p-71eeb279.entry.js → p-5ae1a322.entry.js} +1 -1
  211. package/dist/vega/p-5f377954.js +1 -1
  212. package/dist/vega/p-61cffe6a.entry.js +1 -0
  213. package/dist/vega/{p-84113217.entry.js → p-6bf28253.entry.js} +1 -1
  214. package/dist/vega/{p-0bd9b1d9.entry.js → p-6df81ec2.entry.js} +1 -1
  215. package/dist/vega/p-75bca1c6.js +1 -0
  216. package/dist/vega/{p-b64981de.entry.js → p-7b72dc7a.entry.js} +1 -1
  217. package/dist/vega/{p-b9a09a76.js → p-83d87df5.js} +1 -1
  218. package/dist/vega/{p-b450bf46.entry.js → p-8a77ff64.entry.js} +1 -1
  219. package/dist/vega/{p-6661a462.entry.js → p-906991ec.entry.js} +1 -1
  220. package/dist/vega/{p-f6b89936.entry.js → p-96389073.entry.js} +1 -1
  221. package/dist/vega/{p-f31bb1fd.js → p-983c7d9b.js} +1 -1
  222. package/dist/vega/{p-91aa058f.entry.js → p-9ec7d6c4.entry.js} +1 -1
  223. package/dist/vega/{p-8067bd31.entry.js → p-a213b305.entry.js} +1 -1
  224. package/dist/vega/{p-e923637d.entry.js → p-a956561e.entry.js} +1 -1
  225. package/dist/vega/{p-625771d7.entry.js → p-b0c6cc78.entry.js} +1 -1
  226. package/dist/vega/p-b1524c6c.js +1 -0
  227. package/dist/vega/{p-1dd9f841.entry.js → p-bd2cdf10.entry.js} +1 -1
  228. package/dist/vega/p-c06e55d6.js +1 -0
  229. package/dist/vega/{p-19556584.entry.js → p-cea7506a.entry.js} +1 -1
  230. package/dist/vega/{p-0da2de05.entry.js → p-cff45d92.entry.js} +1 -1
  231. package/dist/vega/p-d3d4bf51.entry.js +1 -0
  232. package/dist/vega/{p-3a6c9b9d.entry.js → p-df4142dd.entry.js} +1 -1
  233. package/dist/vega/p-df9dbe2d.entry.js +1 -0
  234. package/dist/vega/p-ebb30774.entry.js +1 -0
  235. package/dist/vega/{p-e04d4ba3.entry.js → p-eed64b78.entry.js} +1 -1
  236. package/dist/vega/{p-1b3e0a9f.entry.js → p-f7fdf737.entry.js} +1 -1
  237. package/dist/vega/p-fe9644a0.js +1 -0
  238. package/dist/vega/vega.esm.js +1 -1
  239. package/package.json +1 -1
  240. package/dist/cjs/content-state-3e4467a3.js +0 -134
  241. package/dist/esm/content-state-f39c4bbf.js +0 -132
  242. package/dist/vega/p-0283712e.entry.js +0 -13
  243. package/dist/vega/p-0ee10fd7.js +0 -1
  244. package/dist/vega/p-2f32a9ba.js +0 -1
  245. package/dist/vega/p-36db2554.entry.js +0 -1
  246. package/dist/vega/p-42df8a42.js +0 -1
  247. package/dist/vega/p-6d23c08b.entry.js +0 -1
  248. package/dist/vega/p-843b13e6.entry.js +0 -1
  249. package/dist/vega/p-85365f8b.js +0 -1
  250. package/dist/vega/p-8be7b62c.entry.js +0 -1
  251. package/dist/vega/p-96f0ef53.entry.js +0 -1
  252. package/dist/vega/p-c88acd87.entry.js +0 -1
  253. package/dist/vega/p-dbec03ed.entry.js +0 -1
  254. package/dist/vega/p-de13b747.entry.js +0 -1
  255. package/dist/vega/p-f357cf46.js +0 -1
  256. package/dist/vega/p-ff50c204.entry.js +0 -1
@@ -0,0 +1,49 @@
1
+ import { generateUUID } from '../../../../../../utils/misc';
2
+ import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
3
+ import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
4
+ /** Transform child element of UL element which are not LI element to list item block DTO */
5
+ export class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstract {
6
+ /**
7
+ * Can be handle.
8
+ *
9
+ * @param {HTMLElement[]} elementsArray - Current elements.
10
+ * @param {number} currentIndex - Current element index.
11
+ * @returns {number} - can be handled element count.
12
+ */
13
+ canHandle(elementsArray, currentIndex) {
14
+ const element = elementsArray[currentIndex];
15
+ const parent = element.parentElement;
16
+ return element.nodeName !== 'LI' && parent && ['UL', 'OL'].includes(parent.nodeName) ? 1 : 0;
17
+ }
18
+ /**
19
+ * Parse to a list item block.
20
+ *
21
+ * @param {HTMLElement[]} elementsArray - Current elements.
22
+ * @returns {Nullable<RTEContentBlock>} - List item block.
23
+ */
24
+ handle(elementsArray) {
25
+ const nodes = this.generateChildNodes(elementsArray);
26
+ if (nodes.length === 0)
27
+ return null;
28
+ return RTEListItemBlock.from({
29
+ id: generateUUID(),
30
+ type: 'list-item',
31
+ nodes: nodes,
32
+ annotations: {},
33
+ });
34
+ }
35
+ /* istanbul ignore next */
36
+ /**
37
+ * Append child blocks.
38
+ */
39
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
40
+ appendChildBlocks() { }
41
+ /**
42
+ * Should continue process to child elements.
43
+ *
44
+ * @returns {boolean} - boolean.
45
+ */
46
+ shouldProceedToElementChildren() {
47
+ return false;
48
+ }
49
+ }
@@ -34,11 +34,22 @@ export class ValueController extends VegaSlimmer {
34
34
  disconnectedCallback() {
35
35
  ChangeManager.unregister(domNodeSubjectFactory.getSubject(this.host, VegaInternalRichTextEditorFlushChanges), this.flushChangeObserver);
36
36
  }
37
+ /**
38
+ * Component lifecycle - [componentWillLoad]{@link VegaRichTextEditor.componentWillLoad}
39
+ */
40
+ componentWillLoad() {
41
+ if (this.value && !(this.value instanceof VegaRTEContent)) {
42
+ this.value = VegaRTEContent.fromJSON(this.value);
43
+ }
44
+ }
37
45
  /**
38
46
  * Watches the value of the editor and updates the internal value.
39
47
  */
40
48
  watchValueUpdate() {
41
- if (!this.value || this.value.blocks.length === 0) {
49
+ if (this.value && !(this.value instanceof VegaRTEContent)) {
50
+ this.value = VegaRTEContent.fromJSON(this.value);
51
+ }
52
+ else if (!this.value || this.value.blocks.length === 0) {
42
53
  this.value = VegaRTEContent.createEmptyContent();
43
54
  }
44
55
  else {
@@ -86,6 +97,9 @@ __decorate([
86
97
  __decorate([
87
98
  MapToComponentMethod('disconnectedCallback')
88
99
  ], ValueController.prototype, "disconnectedCallback", null);
100
+ __decorate([
101
+ MapToComponentMethod('componentWillLoad')
102
+ ], ValueController.prototype, "componentWillLoad", null);
89
103
  __decorate([
90
104
  MapToComponentMethod('watchValueUpdate')
91
105
  ], ValueController.prototype, "watchValueUpdate", null);
@@ -137,7 +137,9 @@ export class VegaRichTextEditor {
137
137
  */
138
138
  this.rows = 4;
139
139
  /**
140
- * Specifies the value of the rich text editor
140
+ * Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.
141
+ * It is recommended to use the VegaRTEContent type.
142
+ * Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
141
143
  *
142
144
  * @vegaVersion 2.34.0
143
145
  */
@@ -355,7 +357,7 @@ export class VegaRichTextEditor {
355
357
  "name": "vegaVersion",
356
358
  "text": "2.34.0"
357
359
  }],
358
- "text": "Specifies the value of the rich text editor"
360
+ "text": "Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.\nIt is recommended to use the VegaRTEContent type.\nOnly in exceptional cases should the original data in the VegaRTEContentBlock type be used."
359
361
  },
360
362
  "defaultValue": "VegaRTEContent.createEmptyContent()"
361
363
  },
@@ -24,6 +24,28 @@ export class VegaTabGroupPageIndexController extends VegaSlimmer {
24
24
  handleSelectedDataTargetChange() {
25
25
  this.setCurrentPageIndexBySelectedTab(this.selectedTabDataTarget);
26
26
  }
27
+ /*
28
+ * The below method is e2e-test covered in
29
+ * @see{module:vega-tab-group-with-click-tab-in-dropdown}
30
+ */
31
+ /* istanbul ignore next */
32
+ /**
33
+ * Update the page index after the tab click
34
+ *
35
+ * @param {string} selectedTabDataTarget the tab item property dataTarget
36
+ */
37
+ setCurrentPageIndexBySelectedTab(selectedTabDataTarget) {
38
+ let pageIndex = -1;
39
+ this.tabPages.forEach((tabPage, index) => {
40
+ const tabIndex = tabPage.findIndex((tab) => tab.dataTarget === selectedTabDataTarget);
41
+ if (tabIndex !== -1) {
42
+ pageIndex = index;
43
+ }
44
+ });
45
+ if (pageIndex >= 0) {
46
+ this.currentPageIndex = pageIndex;
47
+ }
48
+ }
27
49
  /* istanbul ignore next */
28
50
  /**
29
51
  * The `setPageIndex` function sets the current page index to the specified value.
@@ -47,28 +69,6 @@ export class VegaTabGroupPageIndexController extends VegaSlimmer {
47
69
  this.currentPageIndex = this.tabPages.length - 1;
48
70
  }
49
71
  }
50
- /*
51
- * The below method is e2e-test covered in
52
- * @see{module:vega-tab-group-with-click-tab-in-dropdown}
53
- */
54
- /* istanbul ignore next */
55
- /**
56
- * Update the page index after the tab click
57
- *
58
- * @param {string} selectedTabDataTarget the tab item property dataTarget
59
- */
60
- setCurrentPageIndexBySelectedTab(selectedTabDataTarget) {
61
- let pageIndex = -1;
62
- this.tabPages.forEach((tabPage, index) => {
63
- const tabIndex = tabPage.findIndex((tab) => tab.dataTarget === selectedTabDataTarget);
64
- if (tabIndex !== -1) {
65
- pageIndex = index;
66
- }
67
- });
68
- if (pageIndex >= 0) {
69
- this.currentPageIndex = pageIndex;
70
- }
71
- }
72
72
  }
73
73
  __decorate([
74
74
  MapToComponentField()
@@ -23,7 +23,12 @@ export class VegaTabGroupSelectedTargetController extends VegaSlimmer {
23
23
  handleTabItemClick(dataTarget) {
24
24
  const clickEvent = this.clickEventEmitter.emit(dataTarget);
25
25
  if (clickEvent && !clickEvent.defaultPrevented) {
26
- this.setSelectedDataTarget(dataTarget);
26
+ if (dataTarget === this.selectedTabDataTarget) {
27
+ this.vegaTabGroupPageIndexController.setCurrentPageIndexBySelectedTab(dataTarget);
28
+ }
29
+ else {
30
+ this.setSelectedDataTarget(dataTarget);
31
+ }
27
32
  }
28
33
  }
29
34
  }
@@ -33,3 +38,6 @@ __decorate([
33
38
  __decorate([
34
39
  MapToComponentField({ writable: true })
35
40
  ], VegaTabGroupSelectedTargetController.prototype, "selectedTabDataTarget", void 0);
41
+ __decorate([
42
+ MapToComponentField()
43
+ ], VegaTabGroupSelectedTargetController.prototype, "vegaTabGroupPageIndexController", void 0);
@@ -55,6 +55,9 @@ export class VegaTabGroupSwitchPageButtonRenderer extends VegaSlimmer {
55
55
  ? this.currentPageIndex === 0
56
56
  : this.currentPageIndex + 1 === this.tabPages.length || this.tabPages.length <= 1;
57
57
  const icon = direction === 'left' ? 'chevron-backward-rounded' : 'chevron-forward-rounded';
58
+ const selectedItemKey = source.find((item) => item.key === this.selectedTabDataTarget)
59
+ ? this.selectedTabDataTarget
60
+ : '';
58
61
  return (h("div", { class: {
59
62
  'tab-left-button': direction === 'left',
60
63
  'tab-right-button': direction === 'right',
@@ -62,7 +65,7 @@ export class VegaTabGroupSwitchPageButtonRenderer extends VegaSlimmer {
62
65
  },
63
66
  /* eslint-disable-next-line react/jsx-no-bind */
64
67
  onClick: () => this.onDirectionButtonClick(direction), "aria-label": "No label defined", role: 'button', tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick() },
65
- h("vega-dropdown", { source: source, translocation: translocation, selectType: "single", selectedSourceKey: this.selectedTabDataTarget, "position-relative-to": this.positionRelativeTo, ref: (ref) => {
68
+ h("vega-dropdown", { source: source, translocation: translocation, selectType: "single", selectedSourceKey: selectedItemKey, "position-relative-to": this.positionRelativeTo, ref: (ref) => {
66
69
  this.dropdownRef = ref;
67
70
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, (payload) => {
68
71
  this.vegaTabGroupSelectedTargetController.handleTabItemClick(payload.detail);
@@ -33,6 +33,7 @@ export const VegaDropdownRenderItemInternalOverridden = new VegaInternalEventID(
33
33
  export const VegaDropdownSearchInternalOverridden = new VegaInternalEventID('VegaDropdownSearchInternalOverridden');
34
34
  export const VegaInternalSidenavLinkClick = new VegaInternalEventID('sidenavLinkClick');
35
35
  export const VegaInternalLeftNavGroupExpand = new VegaInternalEventID('leftNavGroupExpand');
36
+ export const VegaInternalDropdownUpdateTarget = new VegaInternalEventID('dropdownUpdateTarget');
36
37
  export const VegaInternalRichTextEditorFlushChanges = new VegaInternalEventID('richTextEditorFlushChanges');
37
38
  export const VegaInternalRichTextEditorSelectionRangeChange = new VegaInternalEventID('richTextEditorSelectionRangeChange');
38
39
  export const VegaInternalRichTextImageClick = new VegaInternalEventID('richTextImageClick');
@@ -9,13 +9,19 @@ import { Observer } from '../change-manager/observer/observer';
9
9
  import changeManager from '../change-manager/change-manager';
10
10
  import { FIELD_ERROR_MESSAGE_CHANGE } from '../change-manager/subject/static-subject/static-subject-title';
11
11
  import { FieldErrorUIControllerSlimmer } from './field-error-ui-controller-slimmer';
12
- /** The `FieldBoxControllerSlimmer` class is a TypeScript class that extends the `VegaSlimmer` class and provides methods for handling error UI in a field error component. */
12
+ /**
13
+ * The current class is used to manually control the form element error message.
14
+ * The component `vega-field-error` is used to control the error messages for form fields. to implement the error message display, we needs to know the form field error message container, field element, and other necessary options,
15
+ * the `form-field-controller-slimmer` has the required options and will inject to the all form fields, so we create current slimmer class and inject to the `form-field-controller-slimmer` to get all options.
16
+ * When the property `message` of the vega-field-error component changed, the target form field will receive the special subject and update the error message.
17
+ */
13
18
  export class FieldErrorControllerSlimmer extends VegaSlimmer {
14
19
  constructor() {
15
20
  super(...arguments);
21
+ // The host element field error UI controller.
16
22
  this.fieldErrorUIController = new FieldErrorUIControllerSlimmer();
17
23
  /**
18
- * call the method when observer trigger
24
+ * This method called mean that the current form field element nest in a vega-field-error component and the parent component property `message` changed, we need to show or hide the error message.
19
25
  *
20
26
  * @param {FieldErrorEventPayload} payload payload param
21
27
  */
@@ -4,20 +4,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { MapToComponentField as MapToClassField, VegaSlimmer } from 'vega-slimmer/core';
7
+ import { InjectVegaSlimmer, MapToComponentField as MapToClassField, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import ChangeManager from '../change-manager/change-manager';
9
9
  import DomNodeSubjectFactory from '../change-manager/subject/dom-node-subject/dom-node-subject-factory';
10
10
  import { VegaInternalFieldErrorStateChange } from '../event-manager/event-id/vega-internal-event-id';
11
11
  import { SiblingContainerNestedErrorContainerRetrievalStrategy } from './field-error-ui-controller-strategies/sibling-container-nested-error-container-retrieval-strategy';
12
12
  import { SiblingContainerSelfRetrievalStrategy } from './field-error-ui-controller-strategies/sibling-container-self-retrieval-strategy';
13
13
  import { SiblingContainerErrorLabelContainerRetrievalStrategy } from './field-error-ui-controller-strategies/sibling-container-error-label-container-retrieval-strategy';
14
- import { VegaInternalTranslation } from '../translation';
15
14
  import { Observer } from '../change-manager/observer/observer';
16
15
  import { UPDATE_TRANSLATION } from '../change-manager/subject/static-subject/static-subject-title';
16
+ import { FormFieldMessageTranslatorSlimmer } from './form-field-message-translator';
17
17
  /** The `FieldErrorUIControllerSlimmer` class is responsible for displaying error messages and managing the invalid UI state of a form field. */
18
18
  export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
19
19
  constructor() {
20
20
  super();
21
+ this.formFieldMessageTranslatorSlimmer = new FormFieldMessageTranslatorSlimmer();
21
22
  this.fieldErrorUiControllerStrategies = [
22
23
  new SiblingContainerNestedErrorContainerRetrievalStrategy(),
23
24
  new SiblingContainerSelfRetrievalStrategy(),
@@ -37,7 +38,8 @@ export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
37
38
  const inputContainer = this.getInputElementContainer();
38
39
  if (errorMessage && inputContainer) {
39
40
  const errorContainer = this.getErrorContainer(inputContainer);
40
- errorContainer.innerHTML = this.getTranslatedMessage(errorMessage);
41
+ errorContainer.innerHTML =
42
+ this.formFieldMessageTranslatorSlimmer.getTranslatedMessage(errorMessage);
41
43
  errorContainer.classList.remove('vega-hidden');
42
44
  inputContainer.classList.add('error');
43
45
  ChangeManager.notify(DomNodeSubjectFactory.getSubject(this.host, VegaInternalFieldErrorStateChange), {
@@ -86,18 +88,6 @@ export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
86
88
  }
87
89
  }
88
90
  }
89
- /**
90
- * Translates a given message based on its type.
91
- *
92
- * @param {EvaluateResult['message'] | EvaluateResultTranslation['message']} message - The message to be translated, which can be a string or a TranslationMessage.
93
- * @returns {string} The translated message.
94
- */
95
- getTranslatedMessage(message) {
96
- if (typeof message === 'string') {
97
- return VegaInternalTranslation.t(message);
98
- }
99
- return VegaInternalTranslation.t(message.key, ...(message.args || []));
100
- }
101
91
  /**
102
92
  * Init translation observer of translation language changes
103
93
  */
@@ -109,7 +99,8 @@ export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
109
99
  if (inputContainer) {
110
100
  const errorContainer = this.getErrorContainer(inputContainer);
111
101
  if (errorContainer) {
112
- errorContainer.innerHTML = this.getTranslatedMessage(this.errorMessage);
102
+ errorContainer.innerHTML =
103
+ this.formFieldMessageTranslatorSlimmer.getTranslatedMessage(this.errorMessage);
113
104
  }
114
105
  }
115
106
  });
@@ -124,6 +115,9 @@ export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
124
115
  return true;
125
116
  }
126
117
  }
118
+ __decorate([
119
+ InjectVegaSlimmer()
120
+ ], FieldErrorUIControllerSlimmer.prototype, "formFieldMessageTranslatorSlimmer", void 0);
127
121
  __decorate([
128
122
  MapToClassField()
129
123
  ], FieldErrorUIControllerSlimmer.prototype, "host", void 0);
@@ -0,0 +1,17 @@
1
+ import { VegaSlimmer } from 'vega-slimmer/core';
2
+ import { VegaInternalTranslation } from '../translation';
3
+ /** The `FormFieldMessageTranslatorSlimmer` class is to get translated message */
4
+ export class FormFieldMessageTranslatorSlimmer extends VegaSlimmer {
5
+ /**
6
+ * Translates a given message based on its type.
7
+ *
8
+ * @param {EvaluateResult['message'] | EvaluateResultTranslation['message']} message - The message to be translated, which can be a string or a TranslationMessage.
9
+ * @returns {string} The translated message.
10
+ */
11
+ getTranslatedMessage(message) {
12
+ if (typeof message === 'string') {
13
+ return VegaInternalTranslation.t(message);
14
+ }
15
+ return VegaInternalTranslation.t(message.key, ...(message.args || []));
16
+ }
17
+ }
@@ -21,9 +21,12 @@ export class FormFieldValidInvokeSlimmer extends VegaSlimmer {
21
21
  if (payload.timerId !== undefined) {
22
22
  clearTimeout(payload.timerId);
23
23
  }
24
- const isValid = await this.validator.validate(payload.message);
25
- if (typeof payload.promiseResolve === 'function') {
26
- payload.promiseResolve(isValid);
24
+ const validationResult = await this.validator.validate(payload.message);
25
+ if (validationResult) {
26
+ const { isValid, message } = validationResult;
27
+ if (typeof payload.promiseResolve === 'function') {
28
+ payload.promiseResolve({ isValid, message });
29
+ }
27
30
  }
28
31
  }
29
32
  };
@@ -94,7 +94,7 @@ export class PositionCalculationController extends VegaSlimmer {
94
94
  * @returns {void}
95
95
  */
96
96
  adjustHeight() {
97
- if (this.showConfig.matchContainerHeight) {
97
+ if (this.showConfig.matchContainerHeight && !this.showConfig.isScreenPosition) {
98
98
  const { height: targetHeight } = this.showConfig.target.getBoundingClientRect();
99
99
  let maxHeight = this.container.scrollHeight - this.showConfig.target.offsetTop - targetHeight;
100
100
  if (this.showConfig.maxHeight) {
@@ -208,6 +208,16 @@ export class ElementAppender {
208
208
  prepareShow() {
209
209
  // Add relative position to the container while the container is static,
210
210
  // https://developer.mozilla.org/en-US/docs/Web/CSS/position#types_of_positioning
211
+ if (!this.showConfig.isScreenPosition) {
212
+ this.initVisibleAppendElement();
213
+ }
214
+ this.showConfig.appendableElement.style.boxSizing = 'border-box';
215
+ this.positionCalculationController.setCalculationStrategy();
216
+ }
217
+ /**
218
+ * init visible append element.
219
+ */
220
+ initVisibleAppendElement() {
211
221
  const containerStyle = window.getComputedStyle(this.container);
212
222
  const originContainerPosition = containerStyle.position;
213
223
  if (!ElementAppender.containerMap.has(this.container)) {
@@ -219,8 +229,6 @@ export class ElementAppender {
219
229
  if (originContainerPosition === 'static') {
220
230
  this.container.style.position = 'relative';
221
231
  }
222
- this.showConfig.appendableElement.style.boxSizing = 'border-box';
223
- this.positionCalculationController.setCalculationStrategy();
224
232
  }
225
233
  /**
226
234
  * A function that takes no parameters and returns nothing. It sets the position of the appendable element.
@@ -12,6 +12,7 @@ import { FormFieldValidationRuleHandlerChain, } from './validation-rule-handler/
12
12
  import { InjectVegaSlimmer, createDynamicSlimmer, methodPlaceholder } from 'vega-slimmer/core';
13
13
  import { FieldErrorUIControllerSlimmer } from '../slimmers/field-error-ui-controller-slimmer';
14
14
  import { PageResizeObserverSlimmer } from '../slimmers/page-resize-observer-slimmer';
15
+ import { FormFieldMessageTranslatorSlimmer } from '../slimmers/form-field-message-translator';
15
16
  /**
16
17
  * The FormFieldController class is a class that validates the value of an input elements
17
18
  *
@@ -40,6 +41,7 @@ export class FormFieldController {
40
41
  */
41
42
  constructor(defaultRules, hostElement, defaultValue, options) {
42
43
  var _a, _b;
44
+ this.formFieldMessageTranslatorSlimmer = new FormFieldMessageTranslatorSlimmer();
43
45
  this.fieldErrorUIController = new FieldErrorUIControllerSlimmer();
44
46
  this.resizeObserverSlimmer = createDynamicSlimmer(FormFieldController, PageResizeObserverSlimmer, [], [{ mapFrom: 'connectResizeObserver', mapTo: 'connectResizeObserver' }], [
45
47
  {
@@ -131,7 +133,7 @@ export class FormFieldController {
131
133
  * It validates the input against the rules and returns a boolean indicating whether the input is valid or not
132
134
  *
133
135
  * @param {boolean} showError whether the validation result should be reflected in UI
134
- * @returns {boolean} A boolean value.
136
+ * @returns {Promise<EvaluateResultBase>} A promise value.
135
137
  */
136
138
  async validate(showError) {
137
139
  return await this.valid([], showError);
@@ -206,8 +208,9 @@ export class FormFieldController {
206
208
  if (hasAsyncRules) {
207
209
  ChangeManager.notify(FORM_FIELD_PENDING_VALID_CHANGE, { host: this.host, detail: null });
208
210
  }
209
- const isValid = await this.formFieldValidationRuleHandlerChain.process(input, status, triggerStatus, showError, this.handleValidationResult);
210
- return isValid;
211
+ const { isValid, message } = await this.formFieldValidationRuleHandlerChain.process(input, status, triggerStatus, showError, this.handleValidationResult);
212
+ const translatedMessage = this.formFieldMessageTranslatorSlimmer.getTranslatedMessage(message);
213
+ return { isValid, message: translatedMessage };
211
214
  }
212
215
  /**
213
216
  * Invoke all listeners with the given isValid value
@@ -432,11 +435,16 @@ export class FormFieldController {
432
435
  if (isSubmittedKey)
433
436
  event.preventDefault();
434
437
  return isSubmittedKey;
438
+ case 'VEGA-RICH-TEXT-EDITOR':
439
+ return false;
435
440
  default:
436
441
  return isEnterKey;
437
442
  }
438
443
  }
439
444
  }
445
+ __decorate([
446
+ InjectVegaSlimmer()
447
+ ], FormFieldController.prototype, "formFieldMessageTranslatorSlimmer", void 0);
440
448
  __decorate([
441
449
  InjectVegaSlimmer()
442
450
  ], FormFieldController.prototype, "fieldErrorUIController", void 0);
@@ -1,6 +1,6 @@
1
1
  import { VegaRTEContent } from '../../../components/vega-rich-text-editor/dto/content-state';
2
2
  /**
3
- * A rule that checks if input range is empty or not
3
+ * A rule that checks if the input range is empty or not
4
4
  *
5
5
  * @implements {FormFieldValidationRule<string[]>}
6
6
  */
@@ -12,11 +12,12 @@ export class RichTextEditorRequiredRule {
12
12
  * @returns {EvaluateResultTranslation} An object with two properties: isValid and message.
13
13
  */
14
14
  evaluate(input) {
15
- var _a;
15
+ var _a, _b;
16
16
  if (!this.isAcceptedInputType(input)) {
17
17
  throw new Error(`Invalid value ${input} for rich text editor`);
18
18
  }
19
- const isValid = ((_a = input === null || input === void 0 ? void 0 : input.blocks) === null || _a === void 0 ? void 0 : _a.length) > 0 && input.blocks.some((block) => block.isNotEmpty());
19
+ const isValid = ((_a = input === null || input === void 0 ? void 0 : input.blocks) === null || _a === void 0 ? void 0 : _a.length) > 1 || // isValid: true when the length is greater than 1 to keep the same behavior as vega-textarea
20
+ (((_b = input === null || input === void 0 ? void 0 : input.blocks) === null || _b === void 0 ? void 0 : _b.length) === 1 && input.blocks.some((block) => block.isNotEmpty()));
20
21
  return {
21
22
  isValid,
22
23
  message: isValid ? '' : 'This field is required',
@@ -54,6 +54,49 @@ test('return evaluate result as expect', () => {
54
54
  isValid: true,
55
55
  message: '',
56
56
  });
57
+ expect(rule.evaluate(VegaRTEContent.fromJSON([
58
+ {
59
+ id: generateUUID(),
60
+ type: 'paragraph',
61
+ nodes: [
62
+ {
63
+ id: generateUUID(),
64
+ type: 'text',
65
+ text: ' ',
66
+ },
67
+ ],
68
+ },
69
+ ]))).toEqual({
70
+ isValid: true,
71
+ message: '',
72
+ });
73
+ expect(rule.evaluate(VegaRTEContent.fromJSON([
74
+ {
75
+ id: generateUUID(),
76
+ type: 'paragraph',
77
+ nodes: [
78
+ {
79
+ id: generateUUID(),
80
+ type: 'text',
81
+ text: '',
82
+ },
83
+ ],
84
+ },
85
+ {
86
+ id: generateUUID(),
87
+ type: 'paragraph',
88
+ nodes: [
89
+ {
90
+ id: generateUUID(),
91
+ type: 'text',
92
+ text: '',
93
+ },
94
+ ],
95
+ },
96
+ ]))).toEqual({
97
+ isValid: true,
98
+ message: '',
99
+ });
57
100
  expect(rule.evaluate(VegaRTEContent.fromJSON([
58
101
  {
59
102
  id: generateUUID(),
@@ -44,7 +44,7 @@ export class FormFieldValidationRuleHandlerChain {
44
44
  * @param {(keyof FormFieldStatusMeta)[]} triggerStatus - These keys represent the fields that have triggered a change in status.
45
45
  * @param {boolean | 'rule'} showError - A boolean or string rule form method call, It's a param of callback.
46
46
  * @param {ValidationCallBack} callback - The method should be call when validation result is not valid.
47
- * @returns {Promise<boolean>} validate result.
47
+ * @returns {Promise<EvaluateResult>} validate result.
48
48
  */
49
49
  async process(input, status, triggerStatus, showError, callback) {
50
50
  const UUID = this.preProcess();
@@ -73,7 +73,12 @@ export class FormFieldValidationRuleHandlerChain {
73
73
  }
74
74
  }
75
75
  this.postProcess(UUID, showError, result, callback);
76
- return result ? false : true;
76
+ if (result) {
77
+ return { isValid: false, message: result.message };
78
+ }
79
+ else {
80
+ return { isValid: true, message: '' };
81
+ }
77
82
  }
78
83
  /**
79
84
  * sets the processId to the UUID
@@ -1,6 +1,6 @@
1
1
  import { F as FeatureFlag } from './feature-flag-controller-4b3fe6f8.js';
2
2
  import { V as VegaLoader, a as VegaNotify, b as VegaEventManager, c as VegaZIndexManager, d as VegaSkeletonLoader } from './vega-skeleton-loader-controller-0aaaf1fa.js';
3
- import { V as VegaThemeManager } from './node-annotation.abstract-d7d52bce.js';
3
+ import { V as VegaThemeManager } from './node-annotation.abstract-af11b11b.js';
4
4
  import { M as MapToComponentMethod, V as VegaSlimmer, s as setVegaLogLevel, G as GlobalSlimmersRegistry } from './global-slimmer-registry-17c4efd4.js';
5
5
  import { V as VegaDialog } from './vega-dialog-controller-34eb8967.js';
6
6
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
@@ -9,8 +9,7 @@ import './ui-62e4be97.js';
9
9
  import { V as VegaInternalTranslation, a as VegaTranslation, s as staticTranslations } from './translation-a98970d8.js';
10
10
  import { T as TypographyUrls } from './typography-396de03f.js';
11
11
  import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-2aef3ad5.js';
12
- import { w as waitForVega } from './list-block-ba82c846.js';
13
- import { V as VegaRTEContent } from './content-state-f39c4bbf.js';
12
+ import { w as waitForVega, V as VegaRTEContent } from './content-state-42a06d75.js';
14
13
  import { U as UPDATE_TRANSLATION } from './static-subject-title-e06a3840.js';
15
14
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
16
15
  import { O as Observer } from './dom-node-subject-factory-5831cdd4.js';