@globalpayments/vega 2.64.0 → 2.66.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 (490) hide show
  1. package/dist/cjs/{app-globals-a190cd2d.js → app-globals-ab28f910.js} +9 -9
  2. package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-3d41b2a4.js} +1 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-4e96270e.js → child-nodes-event-prevent-slimmer-eb803b14.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-34ac3bfc.js → child-nodes-notify-observer-slimmer-257fedb3.js} +1 -1
  5. package/dist/cjs/{code-block-417a131b.js → code-block-ab97a0a0.js} +15 -18
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-0c4d1453.js → component-value-history-controller-slimmer.abstract-5630341e.js} +6 -6
  7. package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-8a87ec08.js} +1 -1
  8. package/dist/cjs/{dark-mode-style-controller-41c94aac.js → dark-mode-style-controller-27809ff8.js} +1 -1
  9. package/dist/cjs/{design-token-ae0de304.js → design-token-847739f1.js} +1 -1
  10. package/dist/cjs/{dom-node-subject-observer-factory-58e3c010.js → dom-node-subject-observer-factory-f040608b.js} +6 -2
  11. package/dist/cjs/{dto-renderer-manager-6d338e46.js → dto-renderer-manager-d0f0f2c0.js} +20 -35
  12. package/dist/cjs/{element-appender-slimmer-5a23e722.js → element-appender-slimmer-aead9bbb.js} +6 -6
  13. package/dist/cjs/{event-emit-slimmer-428d8802.js → event-emit-slimmer-d21a0935.js} +2 -2
  14. package/dist/cjs/{form-field-controller-slimmer-cceb5c79.js → form-field-controller-slimmer-2a091912.js} +16 -8
  15. package/dist/cjs/{image-annotation-action-9785bc59.js → image-annotation-action-d84de785.js} +4 -4
  16. package/dist/cjs/{index-9a92abce.js → index-4b896e76.js} +2 -2
  17. package/dist/cjs/index-58ea899e.js +4 -0
  18. package/dist/cjs/index.cjs.js +16 -16
  19. package/dist/cjs/{inject-keyboard-manager-ad865c95.js → inject-keyboard-manager-13c66257.js} +1 -1
  20. package/dist/cjs/{internal-vega-event-manager-28b957c8.js → internal-vega-event-manager-4d1ce667.js} +3 -2
  21. package/dist/cjs/{keyboard-manager-7f4e1f43.js → keyboard-manager-af0d08a6.js} +8 -2
  22. package/dist/cjs/{keyboard-manager-slimmer-138a90e5.js → keyboard-manager-slimmer-62f072cd.js} +1 -1
  23. package/dist/cjs/{language-extension-abbc251a.js → language-extension-d257e65d.js} +2 -2
  24. package/dist/cjs/loader.cjs.js +14 -14
  25. package/dist/cjs/{public-rules-ffc5db13.js → public-rules-d2b9b8f0.js} +8 -8
  26. package/dist/cjs/{range-37161c00.js → range-d610028e.js} +2 -2
  27. package/dist/cjs/{responsive-format-facade-b20dad44.js → responsive-format-facade-71e7b74c.js} +5 -5
  28. package/dist/cjs/{rich-text-editor-required-rule-604ea2b9.js → rich-text-editor-required-rule-a8fe5f50.js} +1 -1
  29. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-5829a298.js} +0 -6
  30. package/dist/cjs/{string-input-formatter-slimmer-8445abc9.js → string-input-formatter-slimmer-8236b5e1.js} +3 -3
  31. package/dist/cjs/{style-formatter-56751462.js → style-formatter-6facb42b.js} +1 -1
  32. package/dist/cjs/{sub-state-notify-slimmer-52fa23af.js → sub-state-notify-slimmer-78682046.js} +2 -2
  33. package/dist/cjs/{sub-state-observer-slimmer-90c26113.js → sub-state-observer-slimmer-73aecfff.js} +3 -3
  34. package/dist/cjs/{token-extension-46821c19.js → token-extension-aa8d5cce.js} +9 -8
  35. package/dist/cjs/{translation-ecfc704a.js → translation-f5adcb9f.js} +1 -1
  36. package/dist/cjs/{translation-slimmer-40a3536d.js → translation-slimmer-4b6239d1.js} +1 -1
  37. package/dist/cjs/{ui-4ce1fa08.js → ui-9e181079.js} +16 -3
  38. package/dist/cjs/vega-accordion.cjs.entry.js +13 -13
  39. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -14
  41. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  42. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-box.cjs.entry.js +13 -13
  44. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-breadcrumb.cjs.entry.js +30 -15
  46. package/dist/cjs/vega-button-circle.cjs.entry.js +19 -16
  47. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  48. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-button.cjs.entry.js +19 -14
  50. package/dist/cjs/vega-calendar_4.cjs.entry.js +506 -212
  51. package/dist/cjs/vega-card.cjs.entry.js +12 -12
  52. package/dist/cjs/vega-carousel.cjs.entry.js +12 -12
  53. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  54. package/dist/cjs/vega-chip.cjs.entry.js +14 -14
  55. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  56. package/dist/cjs/vega-color-picker.cjs.entry.js +9 -9
  57. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  58. package/dist/cjs/vega-date-picker_2.cjs.entry.js +62 -25
  59. package/dist/cjs/vega-dialog_2.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-divider.cjs.entry.js +12 -12
  61. package/dist/cjs/vega-dropdown_5.cjs.entry.js +23 -22
  62. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  63. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  64. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  65. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
  66. package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -12
  67. package/dist/cjs/vega-flex.cjs.entry.js +13 -13
  68. package/dist/cjs/vega-font.cjs.entry.js +12 -12
  69. package/dist/cjs/vega-form.cjs.entry.js +649 -352
  70. package/dist/cjs/vega-grid.cjs.entry.js +12 -12
  71. package/dist/cjs/vega-icon.cjs.entry.js +12 -12
  72. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
  73. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  74. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  75. package/dist/cjs/vega-input-passcode.cjs.entry.js +724 -0
  76. package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
  77. package/dist/cjs/vega-input-range.cjs.entry.js +11 -11
  78. package/dist/cjs/vega-input-select.cjs.entry.js +16 -16
  79. package/dist/cjs/vega-input.cjs.entry.js +27 -12
  80. package/dist/cjs/{vega-internal-event-id-dfd8b802.js → vega-internal-event-id-6d4a2c53.js} +6 -0
  81. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-left-nav_5.cjs.entry.js +44 -20
  83. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -11
  84. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  85. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  86. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
  87. package/dist/cjs/vega-pagination.cjs.entry.js +14 -14
  88. package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
  89. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
  90. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
  91. package/dist/cjs/vega-rich-text-content.cjs.entry.js +10 -10
  92. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
  93. package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
  94. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -16
  95. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
  96. package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -14
  97. package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
  98. package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
  99. package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
  100. package/dist/cjs/vega-table_8.cjs.entry.js +16 -16
  101. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  102. package/dist/cjs/vega-textarea.cjs.entry.js +10 -10
  103. package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -19
  104. package/dist/cjs/vega-toggle-switch.cjs.entry.js +9 -9
  105. package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
  106. package/dist/cjs/vega.cjs.js +14 -14
  107. package/dist/collection/collection-manifest.json +6 -0
  108. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +1 -1
  109. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.js +12 -8
  110. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.css +6 -6
  111. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +32 -0
  112. package/dist/collection/components/vega-button/vega-button.js +9 -2
  113. package/dist/collection/components/vega-button-circle/vega-button-circle.js +8 -3
  114. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +7 -4
  115. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +21 -1
  116. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +18 -1
  117. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +14 -1
  118. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.js +8 -9
  119. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +3 -1
  120. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +34 -0
  121. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
  122. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.js +31 -5
  123. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +4 -1
  124. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +5 -3
  125. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +4 -1
  126. package/dist/collection/components/vega-calendar/vega-calendar.js +47 -1
  127. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -3
  128. package/dist/collection/components/vega-date-picker/vega-date-picker.js +6 -0
  129. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +1 -1
  130. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -8
  131. package/dist/collection/components/vega-dropdown/vega-dropdown.js +4 -0
  132. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +351 -0
  133. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-reset-controller.js +99 -0
  134. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-submit-controller.js +179 -0
  135. package/dist/collection/components/vega-form/vega-form.js +20 -366
  136. package/dist/collection/components/vega-input/vega-input.js +72 -5
  137. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.js +101 -0
  138. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-value-controller.js +115 -0
  139. package/dist/collection/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.js +166 -0
  140. package/dist/collection/components/vega-input-passcode/vega-input-passcode.css +90 -0
  141. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +513 -0
  142. package/dist/collection/components/vega-modal/vega-modal.css +4 -1
  143. package/dist/collection/components/vega-nav/slimmers/vega-nav-observer-slimmer.js +8 -3
  144. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -4
  145. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +1 -1
  146. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +2 -2
  147. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +3 -2
  148. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +3 -7
  149. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +3 -7
  150. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +4 -12
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +3 -7
  152. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +1 -1
  153. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +3 -2
  154. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +2 -2
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +2 -2
  156. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +3 -2
  157. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +2 -2
  158. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +4 -0
  159. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +1 -1
  160. package/dist/collection/constants/ui.js +2 -0
  161. package/dist/collection/helpers/calendar/calendar-date.js +10 -8
  162. package/dist/collection/helpers/calendar/calendar-event.js +152 -16
  163. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +13 -4
  164. package/dist/collection/helpers/calendar/calendar-period/day-period.js +4 -4
  165. package/dist/collection/helpers/calendar/calendar-period/month-period.js +7 -6
  166. package/dist/collection/helpers/calendar/calendar-period/week-period.js +3 -3
  167. package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +1 -1
  168. package/dist/collection/helpers/calendar/test/calendar-date.test.js +24 -0
  169. package/dist/collection/helpers/calendar/test/calendar-event.test.js +71 -0
  170. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +28 -0
  171. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +35 -0
  172. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +43 -0
  173. package/dist/collection/helpers/calendar/test/utils.test.js +29 -1
  174. package/dist/collection/helpers/calendar/utils.js +46 -0
  175. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -2
  176. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -2
  177. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +3 -1
  178. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
  179. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +2 -1
  180. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  181. package/dist/collection/helpers/immutable/immutable-array.js +133 -0
  182. package/dist/collection/helpers/immutable/test/immutable-array.test.js +78 -0
  183. package/dist/collection/helpers/keyboard/keyboard-manager.js +7 -1
  184. package/dist/collection/helpers/keyboard/test/keyboard-manager.test.js +4 -0
  185. package/dist/collection/helpers/validator/form-field-controller.js +13 -3
  186. package/dist/collection/utils/test/ui.test.js +55 -0
  187. package/dist/collection/utils/ui.js +16 -3
  188. package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
  189. package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
  190. package/dist/esm/{app-globals-b074e012.js → app-globals-37a60cc1.js} +9 -9
  191. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-60249013.js} +1 -1
  192. package/dist/esm/{child-nodes-event-prevent-slimmer-7fe3dc57.js → child-nodes-event-prevent-slimmer-735cb880.js} +1 -1
  193. package/dist/esm/{child-nodes-notify-observer-slimmer-78f77c2c.js → child-nodes-notify-observer-slimmer-b676cd2b.js} +1 -1
  194. package/dist/esm/{code-block-a6c78bbb.js → code-block-11b2bc1c.js} +15 -18
  195. package/dist/esm/{component-value-history-controller-slimmer.abstract-d37d2df7.js → component-value-history-controller-slimmer.abstract-16c5cb96.js} +6 -6
  196. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-f2b4f8ed.js} +1 -1
  197. package/dist/esm/{dark-mode-style-controller-5cf1c482.js → dark-mode-style-controller-b7e85b6a.js} +1 -1
  198. package/dist/esm/{design-token-6f9e70c4.js → design-token-297dc528.js} +1 -1
  199. package/dist/esm/{dom-node-subject-observer-factory-c7bc3035.js → dom-node-subject-observer-factory-dca87b70.js} +5 -3
  200. package/dist/esm/{dto-renderer-manager-5b036e47.js → dto-renderer-manager-a1a3b6d2.js} +20 -35
  201. package/dist/esm/{element-appender-slimmer-1d6c2960.js → element-appender-slimmer-f7233708.js} +6 -6
  202. package/dist/esm/{event-emit-slimmer-3922d816.js → event-emit-slimmer-28fd360c.js} +2 -2
  203. package/dist/esm/{form-field-controller-slimmer-c29b345f.js → form-field-controller-slimmer-b23d9ff3.js} +16 -8
  204. package/dist/esm/{image-annotation-action-f6308cf4.js → image-annotation-action-fc46c920.js} +4 -4
  205. package/dist/esm/index-090d31ca.js +4 -0
  206. package/dist/esm/{index-4f26bbd0.js → index-c943d263.js} +2 -2
  207. package/dist/esm/index.js +16 -16
  208. package/dist/esm/{inject-keyboard-manager-109817bf.js → inject-keyboard-manager-ffd351b9.js} +1 -1
  209. package/dist/esm/{internal-vega-event-manager-cb06e987.js → internal-vega-event-manager-a5a5938d.js} +3 -2
  210. package/dist/esm/{keyboard-manager-ab521d22.js → keyboard-manager-5d8f3582.js} +8 -2
  211. package/dist/esm/{keyboard-manager-slimmer-cae3a002.js → keyboard-manager-slimmer-f39214e4.js} +1 -1
  212. package/dist/esm/{language-extension-962c427a.js → language-extension-314a2b18.js} +2 -2
  213. package/dist/esm/loader.js +14 -14
  214. package/dist/esm/{public-rules-6fa7533f.js → public-rules-c6a6946d.js} +8 -8
  215. package/dist/esm/{range-4d7aa0fd.js → range-b78254de.js} +2 -2
  216. package/dist/esm/{responsive-format-facade-b594fc72.js → responsive-format-facade-a41e1be7.js} +5 -5
  217. package/dist/esm/{rich-text-editor-required-rule-a72374cd.js → rich-text-editor-required-rule-d50c24da.js} +1 -1
  218. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-52f93124.js} +1 -4
  219. package/dist/esm/{string-input-formatter-slimmer-75256a17.js → string-input-formatter-slimmer-3acd240c.js} +3 -3
  220. package/dist/esm/{style-formatter-56074ede.js → style-formatter-f7effaac.js} +1 -1
  221. package/dist/esm/{sub-state-notify-slimmer-85c658b7.js → sub-state-notify-slimmer-56380f02.js} +2 -2
  222. package/dist/esm/{sub-state-observer-slimmer-e58a2485.js → sub-state-observer-slimmer-3504e2f2.js} +3 -3
  223. package/dist/esm/{token-extension-3c198013.js → token-extension-b690953f.js} +9 -8
  224. package/dist/esm/{translation-3d35961b.js → translation-f10b1e19.js} +1 -1
  225. package/dist/esm/{translation-slimmer-d5b0d292.js → translation-slimmer-984c9ce6.js} +1 -1
  226. package/dist/esm/{ui-c20be16d.js → ui-bb99c0c2.js} +16 -3
  227. package/dist/esm/vega-accordion.entry.js +13 -13
  228. package/dist/esm/vega-app-footer.entry.js +3 -3
  229. package/dist/esm/vega-app-header-button.entry.js +14 -14
  230. package/dist/esm/vega-backdrop.entry.js +1 -1
  231. package/dist/esm/vega-banner.entry.js +4 -4
  232. package/dist/esm/vega-box.entry.js +13 -13
  233. package/dist/esm/vega-brand-logo.entry.js +3 -3
  234. package/dist/esm/vega-breadcrumb.entry.js +30 -15
  235. package/dist/esm/vega-button-circle.entry.js +19 -16
  236. package/dist/esm/vega-button-group_2.entry.js +8 -8
  237. package/dist/esm/vega-button-link.entry.js +5 -5
  238. package/dist/esm/vega-button.entry.js +19 -14
  239. package/dist/esm/vega-calendar_4.entry.js +507 -213
  240. package/dist/esm/vega-card.entry.js +12 -12
  241. package/dist/esm/vega-carousel.entry.js +12 -12
  242. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  243. package/dist/esm/vega-chip.entry.js +14 -14
  244. package/dist/esm/vega-code-block.entry.js +15 -15
  245. package/dist/esm/vega-color-picker.entry.js +9 -9
  246. package/dist/esm/vega-combo-box.entry.js +12 -12
  247. package/dist/esm/vega-date-picker_2.entry.js +62 -25
  248. package/dist/esm/vega-dialog_2.entry.js +15 -15
  249. package/dist/esm/vega-divider.entry.js +12 -12
  250. package/dist/esm/vega-dropdown_5.entry.js +23 -22
  251. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  252. package/dist/esm/vega-field-error.entry.js +1 -1
  253. package/dist/esm/vega-field-label.entry.js +4 -4
  254. package/dist/esm/vega-file-uploader.entry.js +10 -10
  255. package/dist/esm/vega-flag-icon.entry.js +12 -12
  256. package/dist/esm/vega-flex.entry.js +13 -13
  257. package/dist/esm/vega-font.entry.js +12 -12
  258. package/dist/esm/vega-form.entry.js +649 -352
  259. package/dist/esm/vega-grid.entry.js +12 -12
  260. package/dist/esm/vega-icon.entry.js +12 -12
  261. package/dist/esm/vega-image-uploader.entry.js +17 -17
  262. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  263. package/dist/esm/vega-input-numeric.entry.js +13 -13
  264. package/dist/esm/vega-input-passcode.entry.js +720 -0
  265. package/dist/esm/vega-input-phone-number.entry.js +14 -14
  266. package/dist/esm/vega-input-range.entry.js +11 -11
  267. package/dist/esm/vega-input-select.entry.js +16 -16
  268. package/dist/esm/vega-input.entry.js +27 -12
  269. package/dist/esm/{vega-internal-event-id-bee7946b.js → vega-internal-event-id-5c3e5f7f.js} +4 -1
  270. package/dist/esm/vega-item-toggle.entry.js +4 -4
  271. package/dist/esm/vega-left-nav_5.entry.js +44 -20
  272. package/dist/esm/vega-loader-wrapper_2.entry.js +11 -11
  273. package/dist/esm/vega-page-notification_2.entry.js +2 -2
  274. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  275. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  276. package/dist/esm/vega-pagination.entry.js +14 -14
  277. package/dist/esm/vega-popover_2.entry.js +16 -16
  278. package/dist/esm/vega-progress-tracker.entry.js +4 -4
  279. package/dist/esm/vega-radio_2.entry.js +13 -13
  280. package/dist/esm/vega-rich-text-content.entry.js +10 -10
  281. package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
  282. package/dist/esm/vega-segment-control.entry.js +4 -4
  283. package/dist/esm/vega-selection-chip_2.entry.js +16 -16
  284. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  285. package/dist/esm/vega-sidenav_3.entry.js +14 -14
  286. package/dist/esm/vega-signature-capture.entry.js +16 -16
  287. package/dist/esm/vega-stepper.entry.js +10 -10
  288. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  289. package/dist/esm/vega-table_8.entry.js +16 -16
  290. package/dist/esm/vega-text.entry.js +1 -1
  291. package/dist/esm/vega-textarea.entry.js +10 -10
  292. package/dist/esm/vega-time-picker_2.entry.js +19 -19
  293. package/dist/esm/vega-toggle-switch.entry.js +9 -9
  294. package/dist/esm/vega-tooltip_2.entry.js +14 -14
  295. package/dist/esm/vega.js +14 -14
  296. package/dist/sri/vega-sri-loader.js +147 -0
  297. package/dist/sri/vega-sri-manifest.json +702 -0
  298. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.d.ts +2 -1
  299. package/dist/types/components/vega-breadcrumb/types.d.ts +1 -1
  300. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +11 -0
  301. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +1 -0
  302. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +6 -0
  303. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +5 -0
  304. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +6 -0
  305. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.d.ts +3 -1
  306. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.d.ts +1 -0
  307. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -0
  308. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
  309. package/dist/types/components/vega-calendar/types.d.ts +5 -0
  310. package/dist/types/components/vega-calendar/vega-calendar.d.ts +17 -0
  311. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +13 -0
  312. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +1 -0
  313. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -0
  314. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +158 -0
  315. package/dist/types/components/vega-form/slimmers/controllers/vega-form-reset-controller.d.ts +43 -0
  316. package/dist/types/components/vega-form/slimmers/controllers/vega-form-submit-controller.d.ts +72 -0
  317. package/dist/types/components/vega-form/types.d.ts +13 -0
  318. package/dist/types/components/vega-form/vega-form.d.ts +6 -110
  319. package/dist/types/components/vega-input/types.d.ts +65 -0
  320. package/dist/types/components/vega-input/vega-input.d.ts +17 -2
  321. package/dist/types/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.d.ts +25 -0
  322. package/dist/types/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-value-controller.d.ts +47 -0
  323. package/dist/types/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.d.ts +29 -0
  324. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +135 -0
  325. package/dist/types/components/vega-nav/slimmers/vega-nav-observer-slimmer.d.ts +3 -0
  326. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +8 -0
  327. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +2 -1
  328. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +1 -1
  329. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +1 -1
  330. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +1 -1
  331. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +1 -1
  332. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +1 -1
  333. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +1 -1
  334. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +1 -1
  335. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +1 -1
  336. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +2 -1
  337. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +1 -1
  338. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +2 -1
  339. package/dist/types/components.d.ts +185 -4
  340. package/dist/types/constants/ui.d.ts +1 -1
  341. package/dist/types/helpers/calendar/calendar-date.d.ts +5 -3
  342. package/dist/types/helpers/calendar/calendar-event.d.ts +50 -1
  343. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +8 -1
  344. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -1
  345. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +4 -3
  346. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -1
  347. package/dist/types/helpers/calendar/utils.d.ts +22 -0
  348. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +0 -2
  349. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
  350. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  351. package/dist/types/helpers/immutable/immutable-array.d.ts +86 -0
  352. package/dist/types/helpers/immutable/immutable-map.d.ts +1 -1
  353. package/dist/types/helpers/immutable/immutable.d.ts +1 -0
  354. package/dist/types/helpers/immutable/test/immutable-array.test.d.ts +1 -0
  355. package/dist/types/types/components.type.d.ts +7 -2
  356. package/dist/types/utils/ui.d.ts +5 -1
  357. package/dist/vega/index.esm.js +1 -1
  358. package/dist/vega/{p-1d3a7be6.entry.js → p-00071542.entry.js} +1 -1
  359. package/dist/vega/p-0113a83c.entry.js +1 -0
  360. package/dist/vega/{p-61966868.entry.js → p-015cdbe7.entry.js} +1 -1
  361. package/dist/vega/{p-f37558c1.js → p-019f7f95.js} +1 -1
  362. package/dist/vega/{p-3a455ac3.entry.js → p-03a1e82e.entry.js} +1 -1
  363. package/dist/vega/p-0d1eca78.entry.js +1 -0
  364. package/dist/vega/{p-e41931d4.entry.js → p-0ed53cce.entry.js} +1 -1
  365. package/dist/vega/p-129c0ce1.js +1 -0
  366. package/dist/vega/p-16370cfb.js +1 -0
  367. package/dist/vega/p-19522949.js +1 -0
  368. package/dist/vega/{p-21a480b0.entry.js → p-1a3cb65e.entry.js} +1 -1
  369. package/dist/vega/{p-fd2d02ea.entry.js → p-2553031f.entry.js} +1 -1
  370. package/dist/vega/{p-179693f1.entry.js → p-276b1163.entry.js} +2 -2
  371. package/dist/vega/p-2d430dc4.entry.js +1 -0
  372. package/dist/vega/p-308aa2e3.js +1 -0
  373. package/dist/vega/{p-55c26035.entry.js → p-3288a65b.entry.js} +1 -1
  374. package/dist/vega/p-34800282.entry.js +1 -0
  375. package/dist/vega/p-358e9800.entry.js +1 -0
  376. package/dist/vega/{p-743c5baf.js → p-3925c16b.js} +1 -1
  377. package/dist/vega/{p-d3bf55e9.js → p-39482a1a.js} +1 -1
  378. package/dist/vega/{p-7aae9252.entry.js → p-39b9c57b.entry.js} +1 -1
  379. package/dist/vega/p-3a7f177a.entry.js +1 -0
  380. package/dist/vega/p-41c3fcb4.js +1 -0
  381. package/dist/vega/p-447c7590.js +1 -0
  382. package/dist/vega/p-46830028.entry.js +1 -0
  383. package/dist/vega/{p-c8789df1.entry.js → p-47cae62d.entry.js} +1 -1
  384. package/dist/vega/{p-37fd7a80.js → p-47fa359b.js} +1 -1
  385. package/dist/vega/{p-bb58a7cf.entry.js → p-4897bedd.entry.js} +1 -1
  386. package/dist/vega/{p-8938b5c4.js → p-4c192985.js} +1 -1
  387. package/dist/vega/{p-0f2c83a1.entry.js → p-4e33fff6.entry.js} +1 -1
  388. package/dist/vega/{p-d4564bfd.js → p-521d1d07.js} +1 -1
  389. package/dist/vega/{p-b3cd1992.entry.js → p-524693d8.entry.js} +1 -1
  390. package/dist/vega/{p-06b624e6.js → p-54b62ecf.js} +1 -1
  391. package/dist/vega/{p-92ec4fac.entry.js → p-59298f5e.entry.js} +1 -1
  392. package/dist/vega/{p-9819dda9.entry.js → p-5a0524ab.entry.js} +1 -1
  393. package/dist/vega/{p-6c85c1f3.entry.js → p-5e32866d.entry.js} +1 -1
  394. package/dist/vega/p-5f377954.js +1 -1
  395. package/dist/vega/{p-ae963cb3.entry.js → p-5f58d1da.entry.js} +1 -1
  396. package/dist/vega/{p-956a5899.entry.js → p-616cd622.entry.js} +1 -1
  397. package/dist/vega/{p-4669ce11.entry.js → p-65693321.entry.js} +1 -1
  398. package/dist/vega/{p-db29b9f9.entry.js → p-671afda4.entry.js} +1 -1
  399. package/dist/vega/p-67f159c3.js +1 -0
  400. package/dist/vega/{p-3176804b.entry.js → p-6ce1e9d4.entry.js} +1 -1
  401. package/dist/vega/{p-ffc2ef90.entry.js → p-6f6ccf67.entry.js} +1 -1
  402. package/dist/vega/{p-3a0b9e66.entry.js → p-6f7d42a0.entry.js} +1 -1
  403. package/dist/vega/{p-684391a4.entry.js → p-719354e7.entry.js} +1 -1
  404. package/dist/vega/{p-1da54ff3.js → p-725f0a2c.js} +1 -1
  405. package/dist/vega/{p-4b57bb12.entry.js → p-74d61782.entry.js} +1 -1
  406. package/dist/vega/{p-3cdbee7e.js → p-7b145620.js} +1 -1
  407. package/dist/vega/{p-bf8d2978.entry.js → p-7c1d08db.entry.js} +1 -1
  408. package/dist/vega/p-7cd2b93b.js +1 -0
  409. package/dist/vega/{p-d20ab09f.entry.js → p-7efb5ebe.entry.js} +1 -1
  410. package/dist/vega/{p-57c42c30.entry.js → p-7f69081b.entry.js} +1 -1
  411. package/dist/vega/{p-df31307b.entry.js → p-7f9ec104.entry.js} +1 -1
  412. package/dist/vega/p-81105691.entry.js +1 -0
  413. package/dist/vega/p-822c6092.js +1 -0
  414. package/dist/vega/{p-3709b0e0.js → p-8350506e.js} +1 -1
  415. package/dist/vega/{p-3354f5a7.js → p-85f9a980.js} +1 -1
  416. package/dist/vega/{p-641fbb48.entry.js → p-892cbe7c.entry.js} +1 -1
  417. package/dist/vega/{p-eb5f99db.entry.js → p-8d096fea.entry.js} +1 -1
  418. package/dist/vega/{p-15766433.entry.js → p-8d574fbd.entry.js} +1 -1
  419. package/dist/vega/p-8d655fd2.entry.js +1 -0
  420. package/dist/vega/p-8edf3513.js +1 -0
  421. package/dist/vega/{p-f4877bee.entry.js → p-92a22562.entry.js} +1 -1
  422. package/dist/vega/p-9fb6fbcc.js +1 -0
  423. package/dist/vega/p-a0467b83.js +1 -0
  424. package/dist/vega/{p-459efe39.entry.js → p-a1b7a179.entry.js} +1 -1
  425. package/dist/vega/p-a528714c.js +1 -0
  426. package/dist/vega/p-a5713178.js +1 -0
  427. package/dist/vega/{p-3a9aa6eb.entry.js → p-a6010b93.entry.js} +1 -1
  428. package/dist/vega/{p-697acd40.js → p-a7631c6b.js} +1 -1
  429. package/dist/vega/{p-56b8ffd5.entry.js → p-ab1001f5.entry.js} +1 -1
  430. package/dist/vega/{p-f81f2071.entry.js → p-ab8f99e9.entry.js} +1 -1
  431. package/dist/vega/{p-4faa7bab.entry.js → p-ad5393f0.entry.js} +1 -1
  432. package/dist/vega/{p-1be68fba.js → p-af5bfe34.js} +1 -1
  433. package/dist/vega/{p-a9e3058e.entry.js → p-b2aaab66.entry.js} +1 -1
  434. package/dist/vega/{p-e4acac0a.entry.js → p-b431f9d5.entry.js} +1 -1
  435. package/dist/vega/{p-32058dbd.entry.js → p-b82d3915.entry.js} +1 -1
  436. package/dist/vega/p-bee1cc34.entry.js +1 -0
  437. package/dist/vega/{p-2044aa2c.js → p-bf7f755b.js} +1 -1
  438. package/dist/vega/p-bf9476cd.entry.js +1 -0
  439. package/dist/vega/{p-32655cfc.entry.js → p-c1da8328.entry.js} +1 -1
  440. package/dist/vega/{p-e27802fb.js → p-c6ce2869.js} +1 -1
  441. package/dist/vega/{p-52b0abb5.entry.js → p-cc519f53.entry.js} +1 -1
  442. package/dist/vega/{p-1655b920.entry.js → p-d006e732.entry.js} +1 -1
  443. package/dist/vega/p-d0e6454e.entry.js +1 -0
  444. package/dist/vega/{p-04158119.entry.js → p-d1dacaeb.entry.js} +1 -1
  445. package/dist/vega/{p-119430db.entry.js → p-d4452dbc.entry.js} +1 -1
  446. package/dist/vega/{p-64e949fa.entry.js → p-d5761532.entry.js} +1 -1
  447. package/dist/vega/p-d5ff8b7f.js +1 -0
  448. package/dist/vega/{p-a1cf29a9.js → p-d88e88a7.js} +1 -1
  449. package/dist/vega/p-d9671d27.js +1 -0
  450. package/dist/vega/{p-7c75ce6c.entry.js → p-de624f7d.entry.js} +1 -1
  451. package/dist/vega/{p-c7f68d74.js → p-e6cccee4.js} +1 -1
  452. package/dist/vega/{p-4082fa22.entry.js → p-ea05a2fc.entry.js} +1 -1
  453. package/dist/vega/p-ed8bc4f0.entry.js +1 -0
  454. package/dist/vega/{p-3af81271.js → p-f360c9ba.js} +1 -1
  455. package/dist/vega/{p-5443d614.entry.js → p-fc8c5869.entry.js} +1 -1
  456. package/dist/vega/{p-a30ebdf5.js → p-fde50319.js} +1 -1
  457. package/dist/vega/{p-159fda34.entry.js → p-fe2e859f.entry.js} +1 -1
  458. package/dist/vega/{p-3eaa6cce.entry.js → p-fef846d5.entry.js} +1 -1
  459. package/dist/vega/p-ff3bb4e2.entry.js +1 -0
  460. package/dist/vega/vega.esm.js +1 -1
  461. package/package.json +3 -2
  462. package/dist/vega/p-06e6be0e.js +0 -1
  463. package/dist/vega/p-0b92b15b.entry.js +0 -1
  464. package/dist/vega/p-1110b422.entry.js +0 -1
  465. package/dist/vega/p-1aba48bc.js +0 -1
  466. package/dist/vega/p-1cb87bad.entry.js +0 -1
  467. package/dist/vega/p-2608b9fe.js +0 -1
  468. package/dist/vega/p-27dfa896.js +0 -1
  469. package/dist/vega/p-2ee4def0.js +0 -1
  470. package/dist/vega/p-3355ec0f.js +0 -1
  471. package/dist/vega/p-3674db0f.js +0 -1
  472. package/dist/vega/p-36f331bf.entry.js +0 -1
  473. package/dist/vega/p-465a6660.entry.js +0 -1
  474. package/dist/vega/p-4ae3eebf.entry.js +0 -1
  475. package/dist/vega/p-4e503e23.entry.js +0 -1
  476. package/dist/vega/p-575235c8.js +0 -1
  477. package/dist/vega/p-5773a9a3.js +0 -1
  478. package/dist/vega/p-6163818f.js +0 -1
  479. package/dist/vega/p-6be16084.js +0 -1
  480. package/dist/vega/p-6ed663d5.entry.js +0 -1
  481. package/dist/vega/p-84eabbec.entry.js +0 -1
  482. package/dist/vega/p-904d1b43.js +0 -1
  483. package/dist/vega/p-96bda7ca.js +0 -1
  484. package/dist/vega/p-a3d77013.js +0 -1
  485. package/dist/vega/p-b9e8c6bf.entry.js +0 -1
  486. package/dist/vega/p-be539a54.js +0 -1
  487. package/dist/vega/p-e4b0606a.entry.js +0 -1
  488. package/dist/vega/p-e6158a33.entry.js +0 -1
  489. package/dist/vega/p-ed0f000b.entry.js +0 -1
  490. package/dist/vega/p-f1436035.js +0 -1
@@ -1,40 +1,43 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-090d31ca.js';
2
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-c29b345f.js';
3
2
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
4
- import { O as Observer } from './observer-3959f9dd.js';
5
- import { f as FIELD_ERROR_MESSAGE_CHANGE, g as FORM_ELEMENT_VALIDATE, b as FORM_ELEMENT_VALUE_CHANGE, d as FORM_FIELD_ELEMENT_DISCONNECTED, c as FORM_FIELD_PENDING_VALID_CHANGE, e as FORM_RESET_OPERATION_TRIGGERED, F as FORM_SUBMIT, a as FORM_RESET } from './static-subject-title-ca83d6b6.js';
6
- import { d as isObjectArrayLike } from './array-7888f339.js';
3
+ import { d as FIELD_ERROR_MESSAGE_CHANGE, e as FORM_ELEMENT_VALIDATE, F as FORM_ELEMENT_VALUE_CHANGE, b as FORM_FIELD_ELEMENT_DISCONNECTED, a as FORM_FIELD_PENDING_VALID_CHANGE, c as FORM_RESET_OPERATION_TRIGGERED } from './static-subject-title-52f93124.js';
7
4
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
8
- import { f as findParent, d as isElementVisible, b as isParent } from './ui-c20be16d.js';
9
- import { I as ImmutableMap } from './immutable-map-612922a2.js';
10
5
  import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
6
+ import { m as methodPlaceholder } from './placeholder-bf562081.js';
11
7
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
12
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-3922d816.js';
13
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-7fe3dc57.js';
14
- import { y as VegaFormSubmit, z as VegaFormReset, A as VegaValidate, d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-c7bc3035.js';
15
- import { C as ChildNodesNotifyObserverSlimmer } from './child-nodes-notify-observer-slimmer-78f77c2c.js';
16
- import { e as VegaInternalValid } from './vega-internal-event-id-bee7946b.js';
17
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-85c658b7.js';
18
- import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-e58a2485.js';
8
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-28fd360c.js';
9
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-735cb880.js';
10
+ import { d as domNodeSubjectFactory, y as VegaFormSubmit, z as VegaFormReset, A as VegaValidate } from './dom-node-subject-observer-factory-dca87b70.js';
11
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-56380f02.js';
12
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-3504e2f2.js';
13
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-b23d9ff3.js';
19
14
  import { t as tryGetDocument } from './try-get-document-bef0f526.js';
15
+ import { d as VegaInternalFormSubmit, g as VegaInternalValid, e as VegaInternalFormReset } from './vega-internal-event-id-5c3e5f7f.js';
16
+ import { O as Observer } from './observer-3959f9dd.js';
17
+ import { f as findParent, b as isParent, d as isElementVisible } from './ui-bb99c0c2.js';
18
+ import { i as isNonNullable } from './type-guard-12f7654b.js';
19
+ import { I as ImmutableMap } from './immutable-map-612922a2.js';
20
+ import { C as ChildNodesNotifyObserverSlimmer } from './child-nodes-notify-observer-slimmer-b676cd2b.js';
21
+ import { d as isObjectArrayLike } from './array-7888f339.js';
22
+ import './dynamic-slimmer-90b8af32.js';
23
+ import './internal-vega-event-manager-a5a5938d.js';
24
+ import './vega-env-manager-8f8dc473.js';
25
+ import './feature-flag-controller-51659753.js';
26
+ import './index-e9da316f.js';
27
+ import './_commonjsHelpers-9943807e.js';
20
28
  import './string-a953eafc.js';
21
29
  import './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
22
- import './dynamic-slimmer-90b8af32.js';
23
- import './translation-3d35961b.js';
30
+ import './translation-f10b1e19.js';
24
31
  import './page-resize-observer-slimmer-0bf7fbf3.js';
25
32
  import './ui-8424715a.js';
26
33
  import './breakpoints-d9faf11c.js';
27
34
  import './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
28
35
  import './mutation-observer-slimmer-58ebc13c.js';
29
36
  import './mutation-observer-filters-1a054fb0.js';
37
+ import './typography-396de03f.js';
30
38
  import './number-4398f2e1.js';
31
- import './internal-vega-event-manager-cb06e987.js';
32
- import './vega-env-manager-8f8dc473.js';
33
- import './feature-flag-controller-51659753.js';
34
- import './index-e9da316f.js';
35
- import './_commonjsHelpers-9943807e.js';
36
39
 
37
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
40
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
38
41
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
39
42
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
40
43
  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;
@@ -57,14 +60,14 @@ class VegaFormNestStateController extends SubStateObserverSlimmer {
57
60
  });
58
61
  }
59
62
  }
60
- __decorate$3([
63
+ __decorate$6([
61
64
  MapToComponentField()
62
65
  ], VegaFormNestStateController.prototype, "host", void 0);
63
- __decorate$3([
66
+ __decorate$6([
64
67
  MapToComponentField({ writable: true })
65
68
  ], VegaFormNestStateController.prototype, "disableBlurValidation", void 0);
66
69
 
67
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
70
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
68
71
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
69
72
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
70
73
  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;
@@ -134,14 +137,14 @@ class VegaFormFieldValidationStateController extends VegaSlimmer {
134
137
  ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: target, detail: isValid });
135
138
  }
136
139
  }
137
- __decorate$2([
140
+ __decorate$5([
138
141
  MapToComponentField()
139
142
  ], VegaFormFieldValidationStateController.prototype, "host", void 0);
140
- __decorate$2([
143
+ __decorate$5([
141
144
  MapToComponentMethod('setValidationStates')
142
145
  ], VegaFormFieldValidationStateController.prototype, "setValidationStates", null);
143
146
 
144
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
147
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
145
148
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
146
149
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
147
150
  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;
@@ -163,127 +166,212 @@ class NativeFormRenderer extends VegaSlimmer {
163
166
  h("slot", null)));
164
167
  }
165
168
  }
166
- __decorate$1([
169
+ __decorate$4([
167
170
  MapToComponentField()
168
171
  ], NativeFormRenderer.prototype, "method", void 0);
169
- __decorate$1([
172
+ __decorate$4([
170
173
  MapToComponentField()
171
174
  ], NativeFormRenderer.prototype, "action", void 0);
172
175
 
173
- const vegaFormCss = ":host{display:block}";
174
-
175
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
176
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
176
177
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
177
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
178
- r = Reflect.decorate(decorators, target, key, desc);
179
- else
180
- for (var i = decorators.length - 1; i >= 0; i--)
181
- if (d = decorators[i])
182
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
178
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
179
+ 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;
183
180
  return c > 3 && r && Object.defineProperty(target, key, r), r;
184
181
  };
185
- const VegaForm = class {
186
- constructor(hostRef) {
187
- registerInstance(this, hostRef);
188
- this.vegaValidate = createEvent(this, "vegaValidate", 7);
189
- this.validate = createEvent(this, "validate", 7);
190
- this.vegaFormSubmit = createEvent(this, "vegaFormSubmit", 7);
191
- this.formSubmit = createEvent(this, "formSubmit", 7);
192
- this.vegaFormReset = createEvent(this, "vegaFormReset", 7);
193
- this.formReset = createEvent(this, "formReset", 7);
194
- this.globalSlimmers = {};
195
- this.submitEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormSubmit);
196
- this.resetEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormReset);
197
- this.validateEventEmitter = createEventEmitSlimmer(VegaForm, VegaValidate);
198
- this.disableBlurValidationNotifySlimmer = createSubStateNotifySlimmer(VegaForm, 'disableBlurValidation', 'watchDisableBlurValidation');
199
- this.stateController = new VegaFormNestStateController();
200
- this.childEventPrevent = new ChildNodesEventPreventSlimmer([VegaFormSubmit, VegaFormReset], () => this.host.querySelector('vega-form'), {
201
- customPreventHandle: (e) => {
202
- e.stopPropagation();
203
- },
204
- });
205
- this.childFormValidateEventPrevent = new ChildNodesEventPreventSlimmer([VegaValidate], () => this.host, {
206
- customPreventHandle: (e) => {
207
- e.stopPropagation();
208
- },
182
+ /**
183
+ * Controller responsible for handling form submission in the VegaForm component.
184
+ */
185
+ class VegaFormSubmitController extends VegaSlimmer {
186
+ /**
187
+ * Component lifecycle - [connectedCallback]
188
+ */
189
+ connectedCallback() {
190
+ this.registerFormSubmitChangeManager();
191
+ }
192
+ /**
193
+ * Component lifecycle - [disconnectedCallback]
194
+ */
195
+ disconnectedCallback() {
196
+ this.unregisterFormSubmitChangeManager();
197
+ }
198
+ /**
199
+ * Submits the form using native HTML form submission with all current field values.
200
+ *
201
+ * This method collects all form field values, creates hidden input elements for each field,
202
+ * appends them to a container inside the native form, and then triggers the native
203
+ * `requestSubmit()` method to submit the form.
204
+ *
205
+ * The method ensures that the form data is available in the native form for submission,
206
+ * which is useful when `useNativeForm` is enabled.
207
+ *
208
+ * @returns {Promise<void>} Resolves when the form submission process is complete.
209
+ */
210
+ async submitWithFormData() {
211
+ if (!this.useNativeForm)
212
+ return;
213
+ const data = await this.host.getValue();
214
+ for (const dataKey in data) {
215
+ if (typeof data[dataKey] === 'object') {
216
+ // Use bracket notation for nested form object values
217
+ const bracketKeyMap = this.flattenObjectWithBrackets({
218
+ [dataKey]: data[dataKey],
219
+ });
220
+ for (const bracketKey in bracketKeyMap) {
221
+ const nestedHiddenInput = this.createHiddenInput(bracketKey, bracketKeyMap[bracketKey]);
222
+ this.nativeFormRenderer.getNativeFormRef().append(nestedHiddenInput);
223
+ }
224
+ }
225
+ else {
226
+ const hiddenInput = this.createHiddenInput(dataKey, data[dataKey]);
227
+ this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
228
+ }
229
+ }
230
+ this.nativeFormRenderer.getNativeFormRef().requestSubmit();
231
+ }
232
+ /**
233
+ * Creates a hidden input element with the specified name and value.
234
+ *
235
+ * @param {string} name - The name attribute for the hidden input.
236
+ * @param {unknown} value - The value attribute for the hidden input.
237
+ * @returns {HTMLInputElement} The created hidden input element.
238
+ */
239
+ createHiddenInput(name, value) {
240
+ const hiddenInput = tryGetDocument().createElement('input');
241
+ hiddenInput.type = 'hidden';
242
+ hiddenInput.name = name;
243
+ hiddenInput.value = isNonNullable(value) ? String(value) : '';
244
+ return hiddenInput;
245
+ }
246
+ /**
247
+ * Registers the form submit event observer with the ChangeManager.
248
+ */
249
+ registerFormSubmitChangeManager() {
250
+ var _a;
251
+ this.formSubmitEventObserver = new Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
252
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
253
+ ChangeManager.register(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormSubmit), this.formSubmitEventObserver);
254
+ }
255
+ /**
256
+ * Unregister the form submit event observer from the ChangeManager.
257
+ */
258
+ unregisterFormSubmitChangeManager() {
259
+ var _a;
260
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
261
+ ChangeManager.unregister(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormSubmit), this.formSubmitEventObserver);
262
+ }
263
+ /*
264
+ * The below method is e2e-test covered in
265
+ * @see{module:vega-form-field-enter-to-submit-e2e}
266
+ */
267
+ /* istanbul ignore next */
268
+ /**
269
+ * Can accept handler for FORM_SUBMIT.
270
+ *
271
+ * @param {FormEventsPayload} payload - The payload containing the host element that triggered the submit event.
272
+ * @returns {boolean} True if the host element is part of the current form, false otherwise.
273
+ */
274
+ canAcceptFormSubmitEvent(payload) {
275
+ return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
276
+ }
277
+ /**
278
+ * Handles the form submission process.
279
+ *
280
+ * @returns {Promise<void>} Resolves when the submission process is complete.
281
+ */
282
+ async handleSubmitEvents() {
283
+ const valid = await this.host.valid();
284
+ if (valid.isValid) {
285
+ const formValue = await this.host.getValue();
286
+ const submitEvent = this.submitEventEmitter.emit(formValue);
287
+ if (!submitEvent.defaultPrevented) {
288
+ await this.submitWithFormData();
289
+ }
290
+ }
291
+ }
292
+ /**
293
+ * Flattens a nested object into a single-level object with bracket notation for keys.
294
+ *
295
+ * @param {Record<string, unknown>} data - The nested object to be flattened.
296
+ * @param {string} [parentKey=''] - The prefix for the keys in the flattened object.
297
+ * @param {Record<string, unknown>} [out={}] - The output object that accumulates the flattened key-value pairs.
298
+ * @returns {Record<string, unknown>} The flattened object with bracket notation keys.
299
+ */
300
+ flattenObjectWithBrackets(data, parentKey = '', out = {}) {
301
+ Object.entries(data).forEach(([key, value]) => {
302
+ const currentKey = parentKey ? `${parentKey}[${key}]` : key;
303
+ if (Array.isArray(value)) {
304
+ // Recursively handle array items using index as key
305
+ value.forEach((item, index) => {
306
+ const arrayKey = `${currentKey}[${index}]`;
307
+ if (typeof item === 'object' && item !== null) {
308
+ // Recursively flatten objects inside the array
309
+ this.flattenObjectWithBrackets(item, arrayKey, out);
310
+ }
311
+ else {
312
+ out[arrayKey] = item;
313
+ }
314
+ });
315
+ }
316
+ else if (isNonNullable(value) && typeof value === 'object') {
317
+ this.flattenObjectWithBrackets(value, currentKey, out);
318
+ }
319
+ else {
320
+ out[currentKey] = value;
321
+ }
209
322
  });
323
+ return out;
324
+ }
325
+ }
326
+ __decorate$3([
327
+ MapToComponentField()
328
+ ], VegaFormSubmitController.prototype, "host", void 0);
329
+ __decorate$3([
330
+ MapToComponentField()
331
+ ], VegaFormSubmitController.prototype, "useNativeForm", void 0);
332
+ __decorate$3([
333
+ MapToComponentField()
334
+ ], VegaFormSubmitController.prototype, "nativeFormRenderer", void 0);
335
+ __decorate$3([
336
+ MapToComponentField()
337
+ ], VegaFormSubmitController.prototype, "submitEventEmitter", void 0);
338
+ __decorate$3([
339
+ MapToComponentField()
340
+ ], VegaFormSubmitController.prototype, "vegaFormFieldController", void 0);
341
+ __decorate$3([
342
+ MapToComponentMethod('connectedCallback')
343
+ ], VegaFormSubmitController.prototype, "connectedCallback", null);
344
+ __decorate$3([
345
+ MapToComponentMethod('disconnectedCallback')
346
+ ], VegaFormSubmitController.prototype, "disconnectedCallback", null);
347
+
348
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
349
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
350
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
351
+ 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;
352
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
353
+ };
354
+ /**
355
+ * The form field controller for vega form to manage the form field states.
356
+ */
357
+ class VegaFormFieldController extends VegaSlimmer {
358
+ constructor() {
359
+ super(...arguments);
210
360
  this.childNotifyObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALIDATE, (input) => this.updateInternalValidStatus(input));
211
- this.childNodeValueChangeObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALUE_CHANGE, () => this.updateInternalTouchedStatus());
212
- this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
213
- this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
214
- this.nativeFormRenderer = new NativeFormRenderer();
215
- this.invalidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
216
- this.invalidFieldPathMap = newMap;
217
- this.updateIsValidFlag();
361
+ this.childNodeValueChangeObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALUE_CHANGE, () => {
362
+ this.isTouched = true;
218
363
  });
219
- // The form field element pending async valid map
220
- this.pendingValidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
221
- this.pendingValidFieldPathMap = newMap;
364
+ this._invalidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
365
+ this._invalidFieldPathMap = newMap;
222
366
  this.updateIsValidFlag();
223
367
  });
224
- this.controlledFieldPathSet = new Set();
225
- /**
226
- * Indicates whether the current form-controlled elements are valid.
227
- *
228
- * Form-controlled elements are considered for validation if they
229
- * have the `data-vega-form` property.
230
- *
231
- * Disabled and invisible elements are excluded from validation.
232
- *
233
- * If the value is `undefined`, it means there are no
234
- * form-controlled elements that can be validated.
235
- *
236
- * **Additional Notes:**
237
- * 1. When depending on `isValid` for form validation, it is advised
238
- * not to modify the following properties of the monitored DOM:
239
- * - `disabled` property
240
- * - Element visibility style
241
- * 2. As this property relies heavily on the `VegaValidate` event emitted,
242
- * it is highly recommended to enable auto-validation for all
243
- * form-controlled elements to ensure that the value reflects
244
- * the most up-to-date form validation status.
245
- *
246
- * @vegaVersion 1.3.0
247
- */
248
- /* eslint-disable-next-line @stencil/strict-mutable */
249
- this.isValid = null;
250
- /**
251
- * Indicates whether the value of any current
252
- * form-controlled elements has been changed.
253
- *
254
- * 1. When the value of any form-controlled element is changed,
255
- * this parameter is set to `true`.
256
- * 2. When resetting the form, this parameter is set to `false`.
257
- * 3. When invoking the `setValue` method, this parameter is set to `false`.
258
- *
259
- * @vegaVersion 1.3.0
260
- */
261
- this.isTouched = false;
262
- /**
263
- * Specifies whether form validation should be disabled on blur events of form elements.
264
- *
265
- * - This helps prevent validation on blur when clicking Submit inside an input,
266
- * avoiding error messages that shift the button and block the click.
267
- * - For nested forms, the parent form will override this property
268
- * to ensure consistent validation behavior.
269
- *
270
- * @vegaVersion 2.47.0
271
- */
272
- /* eslint-disable-next-line @stencil/strict-mutable */
273
- this.disableBlurValidation = false;
274
- /**
275
- * Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
276
- *
277
- * @vegaVersion 2.64.0
278
- */
279
- this.useNativeForm = false;
280
368
  /**
281
- * Specifies the HTTP method used for form submission.
282
- * This property takes effect only when {@link useNativeForm} is set to `true`.
283
- *
284
- * @vegaVersion 2.64.0
369
+ * The form field element pending async valid map
285
370
  */
286
- this.method = 'get';
371
+ this._pendingValidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
372
+ this._pendingValidFieldPathMap = newMap;
373
+ this.updateIsValidFlag();
374
+ });
287
375
  /**
288
376
  * If the element is valid, remove it from the set of
289
377
  * invalid elements. If the element is invalid,
@@ -307,44 +395,62 @@ const VegaForm = class {
307
395
  }
308
396
  };
309
397
  }
310
- watchIsValid() {
311
- this.validateEventEmitter.emit(this.isValid);
312
- ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: this.host, detail: this.isValid });
313
- }
314
- watchDisableBlurValidation() {
398
+ /**
399
+ * Component lifecycle - [connectedCallback]
400
+ */
401
+ connectedCallback() {
402
+ this.initFormFieldDisconnectedObserver();
403
+ this.registerFormFieldPendingValid();
315
404
  }
316
405
  /**
317
- * When the vegaForm is deleted, it is necessary to notify
318
- * the parent's vegaForm to update its isValid status.
406
+ * When the vegaForm is deleted, it is necessary to notify the parent's vegaForm to update its isValid status.
319
407
  */
320
- async disconnectedCallback() {
321
- ChangeManager.notify(FORM_FIELD_ELEMENT_DISCONNECTED, {
322
- host: this.host,
323
- });
408
+ disconnectedCallback() {
409
+ ChangeManager.notify(FORM_FIELD_ELEMENT_DISCONNECTED, { host: this.host });
324
410
  ChangeManager.unregister(FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
325
411
  ChangeManager.unregister(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
326
412
  }
327
- async componentDidLoad() {
413
+ /**
414
+ * @inheritDoc
415
+ */
416
+ async getValue(option) {
417
+ const result = {};
328
418
  await this.navigateVegaFormChildren(async (element, isForm) => {
329
- if (!isForm) {
330
- this.controlledFieldPathSet.add(this.getFormFieldName(element, true));
419
+ const formFieldName = this.getFormFieldName(element);
420
+ if (isForm) {
421
+ result[formFieldName] = await element.getValue(option);
331
422
  }
332
- });
333
- this.initFormFieldDisconnectedObserver();
334
- this.registerFormSubmitChangeManager();
335
- this.registerFormResetChangeManager();
336
- this.registerFormFieldPendingValidChangeManager();
423
+ else {
424
+ result[formFieldName] = this.getFormFieldValue(element);
425
+ }
426
+ }, option);
427
+ return (isObjectArrayLike(result) ? Object.values(result) : result);
337
428
  }
338
429
  /**
339
- * Invoke this method asynchronously to retrieve the validation result for
340
- * all the vega field elements nested within the `vega-form`.
341
- *
342
- * If an element is a `vega-form` itself, it will recursively
343
- * invoke its `valid()` method.
344
- *
345
- * @param {boolean | 'rule'} showError determine whether the validation result should be reflected in UI
346
- * @return {Promise<FormValidateResult> } validation result
347
- * @vegaVersion 1.3.0
430
+ * @inheritDoc
431
+ */
432
+ async setValue(value, option) {
433
+ if (value) {
434
+ await this.navigateVegaFormChildren(async (element, isForm) => {
435
+ const formFieldName = this.getFormFieldName(element);
436
+ if (isForm) {
437
+ await element.setValue(value[formFieldName], option);
438
+ }
439
+ else {
440
+ await element.componentOnReady(); // Link issue https://gethired.atlassian.net/browse/GHUI-385
441
+ if (value[formFieldName] !== undefined) {
442
+ // If element have setValue method, we will directly call this method, otherwise we set the value to value property.
443
+ typeof element['setValue'] === 'function'
444
+ ? await element['setValue'](value[formFieldName])
445
+ : (element['value'] = value[formFieldName]);
446
+ }
447
+ }
448
+ }, option);
449
+ this.isTouched = false;
450
+ }
451
+ }
452
+ /**
453
+ * @inheritDoc
348
454
  */
349
455
  async valid(showError = true) {
350
456
  const result = { isValid: true, invalidFields: [] };
@@ -372,103 +478,46 @@ const VegaForm = class {
372
478
  return result;
373
479
  }
374
480
  /**
375
- * Invoke this method asynchronously to retrieve the values for
376
- * all the available vega field elements nested within the `vega-form`.
481
+ * The getter for the {@link _invalidFieldPathMap}
377
482
  *
378
- * @param {FormControlOption} [option] form control option to skip disabled/invisible components
379
- * @return {Promise<T>} object with key and field value as key-value pair
380
- * @vegaVersion 1.3.0
483
+ * @returns {ImmutableMap<HTMLElement, string>} The map of invalid field elements and their paths
381
484
  */
382
- async getValue(option) {
383
- const result = {};
384
- await this.navigateVegaFormChildren(async (element, isForm) => {
385
- const formFieldName = this.getFormFieldName(element);
386
- if (isForm) {
387
- result[formFieldName] = await element.getValue(option);
388
- }
389
- else {
390
- result[formFieldName] = VegaForm.getFormFieldValue(element);
391
- }
392
- }, option);
393
- return (isObjectArrayLike(result) ? Object.values(result) : result);
485
+ get invalidFieldPathMap() {
486
+ return this._invalidFieldPathMap;
394
487
  }
395
488
  /**
396
- * Invoke this method to prefill the `vega-form` with the given value.
489
+ * The getter for the {@link _pendingValidFieldPathMap}
397
490
  *
398
- * This action will also set the `isTouched` property to `false`.
399
- *
400
- * @param value to prefill into the vega-form
401
- * @param {FormControlOption} [option] form control option to skip disabled/invisible components
402
- * @vegaVersion 1.3.0
491
+ * @returns {ImmutableMap<HTMLElement, string>} The map of pending valid field elements and their paths
403
492
  */
404
- async setValue(value, option) {
405
- if (value) {
406
- await this.navigateVegaFormChildren(async (element, isForm) => {
407
- const formFieldName = this.getFormFieldName(element);
408
- if (isForm) {
409
- await element.setValue(value[formFieldName], option);
410
- }
411
- else {
412
- await element.componentOnReady(); // Link issue https://gethired.atlassian.net/browse/GHUI-385
413
- if (value[formFieldName] !== undefined) {
414
- // If element have setValue method, we will directly call this method, otherwise we set the value to value property.
415
- typeof element['setValue'] === 'function'
416
- ? await element['setValue'](value[formFieldName])
417
- : (element['value'] = value[formFieldName]);
418
- }
419
- }
420
- }, option);
421
- this.isTouched = false;
422
- }
493
+ get pendingValidFieldPathMap() {
494
+ return this._pendingValidFieldPathMap;
423
495
  }
424
496
  /**
425
- * Invoke this method to reset the vega field elements in the form to
426
- * the default value provided, or an empty string if
427
- * no default value is found.
428
- *
429
- * @param defaultValueMap map of the vega form field name to default value
430
- * @param {FormControlOption} [option] form control option to skip disabled/invisible components
497
+ * Set the isTouched property of the form.
431
498
  *
432
- * @vegaVersion 1.3.0
499
+ * @param {boolean} isTouched - The new value for isTouched.
433
500
  */
434
- async reset(defaultValueMap = {}, option) {
435
- await this.navigateVegaFormChildren(async (element, isForm) => {
436
- const formFieldName = this.getFormFieldName(element);
437
- if (isForm) {
438
- await element.reset(defaultValueMap[formFieldName] || {}, option);
439
- }
440
- }, option);
441
- ChangeManager.notify(FORM_RESET_OPERATION_TRIGGERED, {
442
- host: this.host,
443
- defaultValueMap,
444
- option,
445
- });
446
- this.isTouched = false;
501
+ setIsTouched(isTouched) {
502
+ this.isTouched = isTouched;
447
503
  }
448
504
  /**
449
- * Invoke this method to set validation states on specific form fields.
505
+ * It returns the value of data-vega-form that the given element is associated with.
450
506
  *
451
- * @param {VegaFormFieldValidationState[]} states - An array of validation error objects.
452
- *
453
- * @vegaVersion 2.59.0
507
+ * @param {HTMLElement} element - The element that is being validated.
508
+ * @returns {string} The name of the field.
454
509
  */
455
- async setValidationStates(states) {
456
- }
457
- static getFormFieldValue(element) {
458
- return typeof element['value'] === 'undefined'
459
- ? // use element.getAttribute since the value property is not available in unit testing
460
- element.getAttribute('value')
461
- : element['value'];
462
- }
463
- render() {
464
- return sanitizeVegaComponent(h(Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : h("slot", null)), this.host);
510
+ getFormFieldName(element) {
511
+ return element.dataset['vegaForm'];
465
512
  }
466
513
  /**
467
- * If the value of any child elements have changed,
468
- * make 'isTouched' prop as false.
514
+ * Check if the given element is part of the current form.
515
+ *
516
+ * @param {HTMLElement} element - The element to check.
517
+ * @returns {boolean} True if the element is part of the current form, false otherwise.
469
518
  */
470
- updateInternalTouchedStatus() {
471
- this.isTouched = true;
519
+ isElementInCurrentForm(element) {
520
+ return this.invalidFieldPathMap.has(element) || isParent(element, this.host);
472
521
  }
473
522
  /**
474
523
  * Navigate the immediate child node under current vega form element with the following strategy
@@ -476,10 +525,10 @@ const VegaForm = class {
476
525
  * - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
477
526
  * Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
478
527
  *
479
- * @param visitor async callback method that will be invoked if a matched vega field element found
528
+ * @param {(element: HTMLElement, isForm: boolean) => Promise<void>} visitor async callback method that will be invoked if a matched vega field element found
480
529
  * @param {FormControlOption} [option] form control option to skip disabled/invisible components
481
- * @param [startElementNode] element node that the navigation will be started from, default is the current host element
482
- * @return {Promise<void>} return void wrapped with promise to notify the navigation is done
530
+ * @param {HTMLElement} [startElementNode=this.host] the element to start the navigation, default to current vega form host
531
+ * @returns {Promise<void>} return void wrapped with promise to notify the navigation is done
483
532
  */
484
533
  async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
485
534
  const promiseQueue = [];
@@ -496,53 +545,43 @@ const VegaForm = class {
496
545
  await Promise.all(promiseQueue);
497
546
  }
498
547
  /**
499
- * Update the {@link isValid} property value based on the size of {@link invalidFieldPathSet}
548
+ * Update the {@link isValid} property value based on the size of {@link invalidFieldPathMap}
500
549
  * If the number of invalid elements is zero, then the form is valid.
501
550
  */
502
551
  updateIsValidFlag() {
503
552
  this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
504
553
  }
505
554
  /**
506
- * It returns the value of data-vega-form that the given element is associated with, if child HTMLElements share the same data-vega-form property name
507
- * in the same vega-form, then includePath has to be set to be true to get a complete path to avoid the confusion of isValid checking.
555
+ * Registers an observer with the ChangeManager that will be notified when a form field's pending validation state changes.
556
+ */
557
+ registerFormFieldPendingValid() {
558
+ this.formFieldPendingValidObserver = new Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
559
+ ChangeManager.register(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
560
+ }
561
+ /**
562
+ * Can accept handler for FORM_FIELD_PENDING_VALID_CHANGE.
508
563
  *
509
- * @param {HTMLElement} element - The element that is being validated.
510
- * @param {boolean} [includePath] - If true, the field name will include the path to the field. For
511
- * example, if the field is in a vega-form with the name "address", the field name will be "address ->
512
- * street".
513
- * @returns The name of the field.
514
- */
515
- getFormFieldName(element, includePath) {
516
- let fieldName = element.dataset['vegaForm'];
517
- if (includePath) {
518
- let currentVegaForm = findParent(element, 'vega-form');
519
- /**
520
- * The below method is e2e-test covered in
521
- * @see {module:nested-vega-form-isValid-should-be-as-expected-when-value-changed}
522
- */
523
- /* istanbul ignore next */
524
- while (currentVegaForm && currentVegaForm !== this.host) {
525
- fieldName = currentVegaForm.dataset['vegaForm'] + ' -> ' + fieldName;
526
- currentVegaForm = findParent(currentVegaForm, 'vega-form');
527
- }
528
- }
529
- return fieldName;
564
+ * @param {PendingValidPayload} payload - The payload containing the host element that triggered the pending valid change event.
565
+ * @returns {boolean} True if the host element is part of the current form, false otherwise.
566
+ */
567
+ canAcceptFormFieldPendingValid(payload) {
568
+ return this.isElementInCurrentForm(payload.host);
530
569
  }
531
570
  /**
532
- * Return true if the HTMLElement has data-vega-form property and it's not disabled and not invisible if these two properties have to be checked.
571
+ * Handles the pending valid state change for a form field.
533
572
  *
534
- * @param {HTMLElement} element - The HTMLElement to check.
535
- * @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
536
- * @param {boolean} skipInvisible - If true, only visible elements will be visited.
537
- * @returns a boolean value.
573
+ * @param {PendingValidPayload} payload - The payload containing the host element and its pending valid state.
538
574
  */
539
- shouldVisitElement(element, skipDisabled, skipInvisible) {
540
- return (this.getFormFieldName(element) &&
541
- (!skipDisabled || !element['disabled']) &&
542
- (!skipInvisible || isElementVisible(element)));
575
+ handleFieldPendingValid(payload) {
576
+ if (typeof payload.detail === 'boolean') {
577
+ this.pendingValidFieldPathMap.delete(payload.host);
578
+ }
579
+ else {
580
+ this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
581
+ }
543
582
  }
544
583
  /**
545
- * This function registers an observer with the ChangeManager that will be notified when a element
584
+ * This function registers an observer with the ChangeManager that will be notified when an element
546
585
  * delete operation is triggered
547
586
  */
548
587
  initFormFieldDisconnectedObserver() {
@@ -560,87 +599,45 @@ const VegaForm = class {
560
599
  }
561
600
  /**
562
601
  * Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
602
+ *
603
+ * @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
563
604
  */
564
605
  async updateInvalidFieldPath(payload) {
565
606
  this.invalidFieldPathMap.delete(payload.host);
566
607
  this.pendingValidFieldPathMap.delete(payload.host);
567
608
  }
568
- registerFormSubmitChangeManager() {
569
- this.formEventsObserver = new Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
570
- ChangeManager.register(FORM_SUBMIT, this.formEventsObserver);
571
- }
572
609
  /**
573
- * The below method is e2e-test covered in
574
- * @see{module:vega-form-field-enter-to-submit-e2e}
610
+ * Return true if the HTMLElement has data-vega-form property, and it's not disabled and not invisible if these two properties have to be checked.
611
+ *
612
+ * @param {HTMLElement} element - The HTMLElement to check.
613
+ * @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
614
+ * @param {boolean} skipInvisible - If true, only visible elements will be visited.
615
+ * @returns {boolean} a boolean value.
575
616
  */
576
- /* istanbul ignore next */
577
- canAcceptFormSubmitEvent(payload) {
578
- return this.isElementInCurrentForm(payload.host);
579
- }
580
- async handleSubmitEvents() {
581
- const valid = await this.valid();
582
- if (valid.isValid) {
583
- const formValue = await this.getValue();
584
- const submitEvent = this.submitEventEmitter.emit(formValue);
585
- if (!submitEvent.defaultPrevented) {
586
- await this.submitWithFormData();
587
- }
588
- }
617
+ shouldVisitElement(element, skipDisabled, skipInvisible) {
618
+ return (this.getFormFieldName(element) &&
619
+ (!skipDisabled || !element['disabled']) &&
620
+ (!skipInvisible || isElementVisible(element)));
589
621
  }
590
622
  /**
591
- * Submits the form using native HTML form submission with all current field values.
592
- *
593
- * This method collects all form field values, creates hidden input elements for each field,
594
- * appends them to a container inside the native form, and then triggers the native
595
- * `requestSubmit()` method to submit the form.
623
+ * It retrieves the value of a form field element.
596
624
  *
597
- * The method ensures that the form data is available in the native form for submission,
598
- * which is useful when `useNativeForm` is enabled.
599
- *
600
- * @returns {Promise<void>} Resolves when the form submission process is complete.
625
+ * @param {HTMLElement} element - The form field element.
626
+ * @returns {unknown} The value of the form field element.
601
627
  */
602
- async submitWithFormData() {
603
- if (!this.useNativeForm)
604
- return;
605
- const data = await this.getValue();
606
- for (const dataKey in data) {
607
- const hiddenInput = tryGetDocument().createElement('input');
608
- hiddenInput.type = 'hidden';
609
- hiddenInput.name = dataKey;
610
- hiddenInput.value = data[dataKey];
611
- this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
612
- }
613
- this.nativeFormRenderer.getNativeFormRef().requestSubmit();
614
- }
615
- registerFormResetChangeManager() {
616
- this.formEventsObserver = new Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
617
- ChangeManager.register(FORM_RESET, this.formEventsObserver);
618
- }
619
- canAcceptFormResetEvent(payload) {
620
- return this.isElementInCurrentForm(payload.host);
621
- }
622
- async handleResetEvents() {
623
- await this.reset();
624
- this.resetEventEmitter.emit();
625
- }
626
- registerFormFieldPendingValidChangeManager() {
627
- this.formFieldPendingValidObserver = new Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
628
- ChangeManager.register(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
629
- }
630
- canAcceptFormFieldPendingValid(payload) {
631
- return this.isElementInCurrentForm(payload.host);
632
- }
633
- handleFieldPendingValid(payload) {
634
- if (typeof payload.detail === 'boolean') {
635
- this.pendingValidFieldPathMap.delete(payload.host);
636
- }
637
- else {
638
- this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
639
- }
640
- }
641
- isElementInCurrentForm(element) {
642
- return this.invalidFieldPathMap.has(element) || isParent(element, this.host);
628
+ getFormFieldValue(element) {
629
+ return typeof element['value'] === 'undefined'
630
+ ? // use element.getAttribute since the value property is not available in unit testing
631
+ element.getAttribute('value')
632
+ : element['value'];
643
633
  }
634
+ /**
635
+ * It handles the validation of a child form field element.
636
+ *
637
+ * @param {HTMLElement} element - The form field element to validate.
638
+ * @param {boolean | 'rule'} showError - Whether to show error messages.
639
+ * @returns {Promise<EvaluateResultBase>} The validation result.
640
+ */
644
641
  async handleChildFormFieldElementValid(element, showError) {
645
642
  const subject = domNodeSubjectFactory.getSubject(element, VegaInternalValid);
646
643
  const { isValid, message } = await new Promise((resolve) => {
@@ -657,6 +654,303 @@ const VegaForm = class {
657
654
  });
658
655
  return { isValid, message };
659
656
  }
657
+ }
658
+ __decorate$2([
659
+ MapToComponentField()
660
+ ], VegaFormFieldController.prototype, "host", void 0);
661
+ __decorate$2([
662
+ MapToComponentField({ writable: true })
663
+ ], VegaFormFieldController.prototype, "isValid", void 0);
664
+ __decorate$2([
665
+ MapToComponentField({ writable: true })
666
+ ], VegaFormFieldController.prototype, "isTouched", void 0);
667
+ __decorate$2([
668
+ InjectVegaSlimmer()
669
+ ], VegaFormFieldController.prototype, "childNotifyObserver", void 0);
670
+ __decorate$2([
671
+ InjectVegaSlimmer()
672
+ ], VegaFormFieldController.prototype, "childNodeValueChangeObserver", void 0);
673
+ __decorate$2([
674
+ MapToComponentMethod('connectedCallback')
675
+ ], VegaFormFieldController.prototype, "connectedCallback", null);
676
+ __decorate$2([
677
+ MapToComponentMethod('disconnectedCallback')
678
+ ], VegaFormFieldController.prototype, "disconnectedCallback", null);
679
+ __decorate$2([
680
+ MapToComponentMethod('getValue')
681
+ ], VegaFormFieldController.prototype, "getValue", null);
682
+ __decorate$2([
683
+ MapToComponentMethod('setValue')
684
+ ], VegaFormFieldController.prototype, "setValue", null);
685
+ __decorate$2([
686
+ MapToComponentMethod('valid')
687
+ ], VegaFormFieldController.prototype, "valid", null);
688
+
689
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
690
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
691
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
692
+ 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;
693
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
694
+ };
695
+ /**
696
+ * Reset controller for handling form reset events in the VegaForm component.
697
+ */
698
+ class VegaFormResetController extends VegaSlimmer {
699
+ /**
700
+ * Component lifecycle - [connectedCallback]
701
+ */
702
+ connectedCallback() {
703
+ this.registerFormResetChangeManager();
704
+ }
705
+ /**
706
+ * Component lifecycle - [disconnectedCallback]
707
+ */
708
+ disconnectedCallback() {
709
+ this.unregisterFormResetChangeManager();
710
+ }
711
+ /**
712
+ * @inheritDoc
713
+ */
714
+ async reset(defaultValueMap = {}, option) {
715
+ await this.vegaFormFieldController.navigateVegaFormChildren(async (element, isForm) => {
716
+ const formFieldName = this.vegaFormFieldController.getFormFieldName(element);
717
+ if (isForm) {
718
+ await element.reset(defaultValueMap[formFieldName] || {}, option);
719
+ }
720
+ }, option);
721
+ ChangeManager.notify(FORM_RESET_OPERATION_TRIGGERED, {
722
+ host: this.host,
723
+ defaultValueMap,
724
+ option,
725
+ });
726
+ this.vegaFormFieldController.setIsTouched(false);
727
+ }
728
+ /**
729
+ * Registers the form reset event observer with the ChangeManager.
730
+ */
731
+ registerFormResetChangeManager() {
732
+ var _a;
733
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
734
+ this.formResetEventObserver = new Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
735
+ ChangeManager.register(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormReset), this.formResetEventObserver);
736
+ }
737
+ /**
738
+ * Unregister the form reset event observer from the ChangeManager.
739
+ */
740
+ unregisterFormResetChangeManager() {
741
+ var _a;
742
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
743
+ ChangeManager.unregister(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormReset), this.formResetEventObserver);
744
+ }
745
+ /**
746
+ * Can accept form reset event.
747
+ *
748
+ * @param {FormEventsPayload} payload - The form events payload.
749
+ * @returns {boolean} True if the event can be accepted, false otherwise.
750
+ */
751
+ canAcceptFormResetEvent(payload) {
752
+ return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
753
+ }
754
+ /**
755
+ * Handles reset events by resetting the form and emitting a reset event.
756
+ */
757
+ async handleResetEvents() {
758
+ await this.host.reset();
759
+ this.resetEventEmitter.emit();
760
+ }
761
+ }
762
+ __decorate$1([
763
+ MapToComponentField()
764
+ ], VegaFormResetController.prototype, "host", void 0);
765
+ __decorate$1([
766
+ MapToComponentField()
767
+ ], VegaFormResetController.prototype, "vegaFormFieldController", void 0);
768
+ __decorate$1([
769
+ MapToComponentField()
770
+ ], VegaFormResetController.prototype, "resetEventEmitter", void 0);
771
+ __decorate$1([
772
+ MapToComponentMethod('connectedCallback')
773
+ ], VegaFormResetController.prototype, "connectedCallback", null);
774
+ __decorate$1([
775
+ MapToComponentMethod('disconnectedCallback')
776
+ ], VegaFormResetController.prototype, "disconnectedCallback", null);
777
+ __decorate$1([
778
+ MapToComponentMethod('reset')
779
+ ], VegaFormResetController.prototype, "reset", null);
780
+
781
+ const vegaFormCss = ":host{display:block}";
782
+
783
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
784
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
785
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
786
+ r = Reflect.decorate(decorators, target, key, desc);
787
+ else
788
+ for (var i = decorators.length - 1; i >= 0; i--)
789
+ if (d = decorators[i])
790
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
791
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
792
+ };
793
+ const VegaForm = class {
794
+ constructor(hostRef) {
795
+ registerInstance(this, hostRef);
796
+ this.vegaValidate = createEvent(this, "vegaValidate", 7);
797
+ this.validate = createEvent(this, "validate", 7);
798
+ this.vegaFormSubmit = createEvent(this, "vegaFormSubmit", 7);
799
+ this.formSubmit = createEvent(this, "formSubmit", 7);
800
+ this.vegaFormReset = createEvent(this, "vegaFormReset", 7);
801
+ this.formReset = createEvent(this, "formReset", 7);
802
+ this.globalSlimmers = {};
803
+ this.submitEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormSubmit);
804
+ this.resetEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormReset);
805
+ this.validateEventEmitter = createEventEmitSlimmer(VegaForm, VegaValidate);
806
+ this.disableBlurValidationNotifySlimmer = createSubStateNotifySlimmer(VegaForm, 'disableBlurValidation', 'watchDisableBlurValidation');
807
+ this.stateController = new VegaFormNestStateController();
808
+ this.childEventPrevent = new ChildNodesEventPreventSlimmer([VegaFormSubmit, VegaFormReset], () => this.host.querySelector('vega-form'), {
809
+ customPreventHandle: (e) => {
810
+ e.stopPropagation();
811
+ },
812
+ });
813
+ this.childFormValidateEventPrevent = new ChildNodesEventPreventSlimmer([VegaValidate], () => this.host, {
814
+ customPreventHandle: (e) => {
815
+ e.stopPropagation();
816
+ },
817
+ });
818
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
819
+ this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
820
+ this.nativeFormRenderer = new NativeFormRenderer();
821
+ this.vegaFormSubmitController = new VegaFormSubmitController();
822
+ this.vegaFormResetController = new VegaFormResetController();
823
+ this.vegaFormFieldController = new VegaFormFieldController();
824
+ /**
825
+ * Indicates whether the current form-controlled elements are valid.
826
+ *
827
+ * Form-controlled elements are considered for validation if they
828
+ * have the `data-vega-form` property.
829
+ *
830
+ * Disabled and invisible elements are excluded from validation.
831
+ *
832
+ * If the value is `undefined`, it means there are no
833
+ * form-controlled elements that can be validated.
834
+ *
835
+ * **Additional Notes:**
836
+ * 1. When depending on `isValid` for form validation, it is advised
837
+ * not to modify the following properties of the monitored DOM:
838
+ * - `disabled` property
839
+ * - Element visibility style
840
+ * 2. As this property relies heavily on the `VegaValidate` event emitted,
841
+ * it is highly recommended to enable auto-validation for all
842
+ * form-controlled elements to ensure that the value reflects
843
+ * the most up-to-date form validation status.
844
+ *
845
+ * @vegaVersion 1.3.0
846
+ */
847
+ /* eslint-disable-next-line @stencil/strict-mutable */
848
+ this.isValid = null;
849
+ /**
850
+ * Indicates whether the value of any current
851
+ * form-controlled elements has been changed.
852
+ *
853
+ * 1. When the value of any form-controlled element is changed,
854
+ * this parameter is set to `true`.
855
+ * 2. When resetting the form, this parameter is set to `false`.
856
+ * 3. When invoking the `setValue` method, this parameter is set to `false`.
857
+ *
858
+ * @vegaVersion 1.3.0
859
+ */
860
+ /* eslint-disable-next-line @stencil/strict-mutable */
861
+ this.isTouched = false;
862
+ /**
863
+ * Specifies whether form validation should be disabled on blur events of form elements.
864
+ *
865
+ * - This helps prevent validation on blur when clicking Submit inside an input,
866
+ * avoiding error messages that shift the button and block the click.
867
+ * - For nested forms, the parent form will override this property
868
+ * to ensure consistent validation behavior.
869
+ *
870
+ * @vegaVersion 2.47.0
871
+ */
872
+ /* eslint-disable-next-line @stencil/strict-mutable */
873
+ this.disableBlurValidation = false;
874
+ /**
875
+ * Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
876
+ *
877
+ * @vegaVersion 2.64.0
878
+ */
879
+ this.useNativeForm = false;
880
+ /**
881
+ * Specifies the HTTP method used for form submission.
882
+ * This property takes effect only when {@link useNativeForm} is set to `true`.
883
+ *
884
+ * @vegaVersion 2.64.0
885
+ */
886
+ this.method = 'get';
887
+ }
888
+ watchIsValid() {
889
+ this.validateEventEmitter.emit(this.isValid);
890
+ ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: this.host, detail: this.isValid });
891
+ }
892
+ watchDisableBlurValidation() {
893
+ }
894
+ /**
895
+ * Invoke this method asynchronously to retrieve the validation result for
896
+ * all the vega field elements nested within the `vega-form`.
897
+ *
898
+ * If an element is a `vega-form` itself, it will recursively
899
+ * invoke its `valid()` method.
900
+ *
901
+ * @param {boolean | 'rule'} showError determine whether the validation result should be reflected in UI
902
+ * @return {Promise<FormValidateResult> } validation result
903
+ * @vegaVersion 1.3.0
904
+ */
905
+ async valid(showError = true) {
906
+ return methodPlaceholder(showError);
907
+ }
908
+ /**
909
+ * Invoke this method asynchronously to retrieve the values for
910
+ * all the available vega field elements nested within the `vega-form`.
911
+ *
912
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
913
+ * @return {Promise<T>} object with key and field value as key-value pair
914
+ * @vegaVersion 1.3.0
915
+ */
916
+ async getValue(option) {
917
+ return methodPlaceholder(option);
918
+ }
919
+ /**
920
+ * Invoke this method to prefill the `vega-form` with the given value.
921
+ *
922
+ * This action will also set the `isTouched` property to `false`.
923
+ *
924
+ * @param value to prefill into the vega-form
925
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
926
+ * @vegaVersion 1.3.0
927
+ */
928
+ async setValue(value, option) {
929
+ }
930
+ /**
931
+ * Invoke this method to reset the vega field elements in the form to
932
+ * the default value provided, or an empty string if
933
+ * no default value is found.
934
+ *
935
+ * @param defaultValueMap map of the vega form field name to default value
936
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
937
+ *
938
+ * @vegaVersion 1.3.0
939
+ */
940
+ async reset(defaultValueMap = {}, option) {
941
+ }
942
+ /**
943
+ * Invoke this method to set validation states on specific form fields.
944
+ *
945
+ * @param {VegaFormFieldValidationState[]} states - An array of validation error objects.
946
+ *
947
+ * @vegaVersion 2.59.0
948
+ */
949
+ async setValidationStates(states) {
950
+ }
951
+ render() {
952
+ return sanitizeVegaComponent(h(Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : h("slot", null)), this.host);
953
+ }
660
954
  get host() { return getElement(this); }
661
955
  static get watchers() { return {
662
956
  "isValid": ["watchIsValid"],
@@ -689,19 +983,22 @@ __decorate([
689
983
  ], VegaForm.prototype, "childFormValidateEventPrevent", void 0);
690
984
  __decorate([
691
985
  InjectVegaSlimmer()
692
- ], VegaForm.prototype, "childNotifyObserver", void 0);
986
+ ], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
987
+ __decorate([
988
+ InjectVegaSlimmer()
989
+ ], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
693
990
  __decorate([
694
991
  InjectVegaSlimmer()
695
- ], VegaForm.prototype, "childNodeValueChangeObserver", void 0);
992
+ ], VegaForm.prototype, "nativeFormRenderer", void 0);
696
993
  __decorate([
697
994
  InjectVegaSlimmer()
698
- ], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
995
+ ], VegaForm.prototype, "vegaFormSubmitController", void 0);
699
996
  __decorate([
700
997
  InjectVegaSlimmer()
701
- ], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
998
+ ], VegaForm.prototype, "vegaFormResetController", void 0);
702
999
  __decorate([
703
1000
  InjectVegaSlimmer()
704
- ], VegaForm.prototype, "nativeFormRenderer", void 0);
1001
+ ], VegaForm.prototype, "vegaFormFieldController", void 0);
705
1002
  VegaForm.style = vegaFormCss;
706
1003
 
707
1004
  export { VegaForm as vega_form };