@globalpayments/vega 2.64.0 → 2.65.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 (411) hide show
  1. package/dist/cjs/{app-globals-a190cd2d.js → app-globals-681a0ed4.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-feb072c4.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-961d54e8.js} +4 -4
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-0c4d1453.js → component-value-history-controller-slimmer.abstract-c5b8b47b.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-98652b67.js} +1 -1
  10. package/dist/cjs/{dom-node-subject-observer-factory-58e3c010.js → dom-node-subject-observer-factory-56609e5a.js} +1 -1
  11. package/dist/cjs/{dto-renderer-manager-6d338e46.js → dto-renderer-manager-4b9d2560.js} +4 -4
  12. package/dist/cjs/{element-appender-slimmer-5a23e722.js → element-appender-slimmer-1f46981b.js} +6 -6
  13. package/dist/cjs/{event-emit-slimmer-428d8802.js → event-emit-slimmer-3cefb326.js} +2 -2
  14. package/dist/cjs/{form-field-controller-slimmer-cceb5c79.js → form-field-controller-slimmer-1e1123ea.js} +16 -8
  15. package/dist/cjs/{image-annotation-action-9785bc59.js → image-annotation-action-03b36f68.js} +4 -4
  16. package/dist/cjs/{index-9a92abce.js → index-f2fe26a0.js} +2 -2
  17. package/dist/cjs/index.cjs.js +16 -16
  18. package/dist/cjs/{inject-keyboard-manager-ad865c95.js → inject-keyboard-manager-51033b3f.js} +1 -1
  19. package/dist/cjs/{internal-vega-event-manager-28b957c8.js → internal-vega-event-manager-9b503f1a.js} +1 -1
  20. package/dist/cjs/{keyboard-manager-7f4e1f43.js → keyboard-manager-144907d7.js} +1 -1
  21. package/dist/cjs/{keyboard-manager-slimmer-138a90e5.js → keyboard-manager-slimmer-04c48756.js} +1 -1
  22. package/dist/cjs/{language-extension-abbc251a.js → language-extension-059d62f6.js} +2 -2
  23. package/dist/cjs/loader.cjs.js +14 -14
  24. package/dist/cjs/{public-rules-ffc5db13.js → public-rules-58e0218b.js} +8 -8
  25. package/dist/cjs/{range-37161c00.js → range-42732973.js} +2 -2
  26. package/dist/cjs/{responsive-format-facade-b20dad44.js → responsive-format-facade-29070d00.js} +5 -5
  27. package/dist/cjs/{rich-text-editor-required-rule-604ea2b9.js → rich-text-editor-required-rule-ce4dd5fb.js} +1 -1
  28. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-5829a298.js} +0 -6
  29. package/dist/cjs/{string-input-formatter-slimmer-8445abc9.js → string-input-formatter-slimmer-0d69ea76.js} +3 -3
  30. package/dist/cjs/{style-formatter-56751462.js → style-formatter-f6723cb3.js} +1 -1
  31. package/dist/cjs/{sub-state-notify-slimmer-52fa23af.js → sub-state-notify-slimmer-066f2aa9.js} +2 -2
  32. package/dist/cjs/{sub-state-observer-slimmer-90c26113.js → sub-state-observer-slimmer-569e3297.js} +3 -3
  33. package/dist/cjs/{token-extension-46821c19.js → token-extension-260adb8a.js} +6 -6
  34. package/dist/cjs/{translation-ecfc704a.js → translation-f5adcb9f.js} +1 -1
  35. package/dist/cjs/{translation-slimmer-40a3536d.js → translation-slimmer-4b6239d1.js} +1 -1
  36. package/dist/cjs/{ui-4ce1fa08.js → ui-9e181079.js} +16 -3
  37. package/dist/cjs/vega-accordion.cjs.entry.js +13 -13
  38. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  39. package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -14
  40. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  41. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-box.cjs.entry.js +13 -13
  43. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  44. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  45. package/dist/cjs/vega-button-circle.cjs.entry.js +19 -16
  46. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  47. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  48. package/dist/cjs/vega-button.cjs.entry.js +19 -14
  49. package/dist/cjs/vega-calendar_4.cjs.entry.js +506 -212
  50. package/dist/cjs/vega-card.cjs.entry.js +12 -12
  51. package/dist/cjs/vega-carousel.cjs.entry.js +12 -12
  52. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  53. package/dist/cjs/vega-chip.cjs.entry.js +14 -14
  54. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  55. package/dist/cjs/vega-color-picker.cjs.entry.js +9 -9
  56. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  57. package/dist/cjs/vega-date-picker_2.cjs.entry.js +62 -25
  58. package/dist/cjs/vega-dialog_2.cjs.entry.js +15 -15
  59. package/dist/cjs/vega-divider.cjs.entry.js +12 -12
  60. package/dist/cjs/vega-dropdown_5.cjs.entry.js +23 -22
  61. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  62. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  63. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  64. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
  65. package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -12
  66. package/dist/cjs/vega-flex.cjs.entry.js +13 -13
  67. package/dist/cjs/vega-font.cjs.entry.js +12 -12
  68. package/dist/cjs/vega-form.cjs.entry.js +593 -354
  69. package/dist/cjs/vega-grid.cjs.entry.js +12 -12
  70. package/dist/cjs/vega-icon.cjs.entry.js +12 -12
  71. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
  72. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  73. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  74. package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
  75. package/dist/cjs/vega-input-range.cjs.entry.js +11 -11
  76. package/dist/cjs/vega-input-select.cjs.entry.js +16 -16
  77. package/dist/cjs/vega-input.cjs.entry.js +11 -11
  78. package/dist/cjs/{vega-internal-event-id-dfd8b802.js → vega-internal-event-id-6d4a2c53.js} +6 -0
  79. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  80. package/dist/cjs/vega-left-nav_5.cjs.entry.js +44 -20
  81. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -11
  82. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  83. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  84. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
  85. package/dist/cjs/vega-pagination.cjs.entry.js +14 -14
  86. package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
  87. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
  88. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
  89. package/dist/cjs/vega-rich-text-content.cjs.entry.js +10 -10
  90. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
  91. package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
  92. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -16
  93. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
  94. package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -14
  95. package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
  96. package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
  97. package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
  98. package/dist/cjs/vega-table_8.cjs.entry.js +16 -16
  99. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  100. package/dist/cjs/vega-textarea.cjs.entry.js +10 -10
  101. package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -19
  102. package/dist/cjs/vega-toggle-switch.cjs.entry.js +9 -9
  103. package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
  104. package/dist/cjs/vega.cjs.js +14 -14
  105. package/dist/collection/components/vega-button/vega-button.js +9 -2
  106. package/dist/collection/components/vega-button-circle/vega-button-circle.js +8 -3
  107. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +7 -4
  108. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +21 -1
  109. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +18 -1
  110. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +14 -1
  111. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.js +8 -9
  112. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +3 -1
  113. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +34 -0
  114. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
  115. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.js +31 -5
  116. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +4 -1
  117. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +5 -3
  118. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +4 -1
  119. package/dist/collection/components/vega-calendar/vega-calendar.js +47 -1
  120. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -3
  121. package/dist/collection/components/vega-date-picker/vega-date-picker.js +6 -0
  122. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +1 -1
  123. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -8
  124. package/dist/collection/components/vega-dropdown/vega-dropdown.js +4 -0
  125. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +351 -0
  126. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-reset-controller.js +99 -0
  127. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-submit-controller.js +122 -0
  128. package/dist/collection/components/vega-form/vega-form.js +20 -366
  129. package/dist/collection/components/vega-modal/vega-modal.css +4 -1
  130. package/dist/collection/components/vega-nav/slimmers/vega-nav-observer-slimmer.js +8 -3
  131. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -4
  132. package/dist/collection/helpers/calendar/calendar-date.js +10 -8
  133. package/dist/collection/helpers/calendar/calendar-event.js +152 -16
  134. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +13 -4
  135. package/dist/collection/helpers/calendar/calendar-period/day-period.js +4 -4
  136. package/dist/collection/helpers/calendar/calendar-period/month-period.js +7 -6
  137. package/dist/collection/helpers/calendar/calendar-period/week-period.js +3 -3
  138. package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +1 -1
  139. package/dist/collection/helpers/calendar/test/calendar-date.test.js +24 -0
  140. package/dist/collection/helpers/calendar/test/calendar-event.test.js +71 -0
  141. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +28 -0
  142. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +35 -0
  143. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +43 -0
  144. package/dist/collection/helpers/calendar/test/utils.test.js +29 -1
  145. package/dist/collection/helpers/calendar/utils.js +46 -0
  146. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -2
  147. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
  148. package/dist/collection/helpers/validator/form-field-controller.js +13 -3
  149. package/dist/collection/utils/test/ui.test.js +55 -0
  150. package/dist/collection/utils/ui.js +16 -3
  151. package/dist/esm/{app-globals-b074e012.js → app-globals-1bacb762.js} +9 -9
  152. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-60249013.js} +1 -1
  153. package/dist/esm/{child-nodes-event-prevent-slimmer-7fe3dc57.js → child-nodes-event-prevent-slimmer-f32efdee.js} +1 -1
  154. package/dist/esm/{child-nodes-notify-observer-slimmer-78f77c2c.js → child-nodes-notify-observer-slimmer-b676cd2b.js} +1 -1
  155. package/dist/esm/{code-block-a6c78bbb.js → code-block-cb657afd.js} +4 -4
  156. package/dist/esm/{component-value-history-controller-slimmer.abstract-d37d2df7.js → component-value-history-controller-slimmer.abstract-65a83eaf.js} +6 -6
  157. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-f2b4f8ed.js} +1 -1
  158. package/dist/esm/{dark-mode-style-controller-5cf1c482.js → dark-mode-style-controller-b7e85b6a.js} +1 -1
  159. package/dist/esm/{design-token-6f9e70c4.js → design-token-3889675a.js} +1 -1
  160. package/dist/esm/{dom-node-subject-observer-factory-c7bc3035.js → dom-node-subject-observer-factory-ed4b89f4.js} +1 -1
  161. package/dist/esm/{dto-renderer-manager-5b036e47.js → dto-renderer-manager-8cac8f0f.js} +4 -4
  162. package/dist/esm/{element-appender-slimmer-1d6c2960.js → element-appender-slimmer-31b21e1b.js} +6 -6
  163. package/dist/esm/{event-emit-slimmer-3922d816.js → event-emit-slimmer-000ca6a7.js} +2 -2
  164. package/dist/esm/{form-field-controller-slimmer-c29b345f.js → form-field-controller-slimmer-24dbc255.js} +16 -8
  165. package/dist/esm/{image-annotation-action-f6308cf4.js → image-annotation-action-59ea166c.js} +4 -4
  166. package/dist/esm/{index-4f26bbd0.js → index-50b32f3d.js} +2 -2
  167. package/dist/esm/index.js +16 -16
  168. package/dist/esm/{inject-keyboard-manager-109817bf.js → inject-keyboard-manager-f7d92809.js} +1 -1
  169. package/dist/esm/{internal-vega-event-manager-cb06e987.js → internal-vega-event-manager-13e3ed3d.js} +1 -1
  170. package/dist/esm/{keyboard-manager-ab521d22.js → keyboard-manager-f4bbc452.js} +1 -1
  171. package/dist/esm/{keyboard-manager-slimmer-cae3a002.js → keyboard-manager-slimmer-a02cbc5f.js} +1 -1
  172. package/dist/esm/{language-extension-962c427a.js → language-extension-038014ac.js} +2 -2
  173. package/dist/esm/loader.js +14 -14
  174. package/dist/esm/{public-rules-6fa7533f.js → public-rules-a42e6f59.js} +8 -8
  175. package/dist/esm/{range-4d7aa0fd.js → range-c08d8de1.js} +2 -2
  176. package/dist/esm/{responsive-format-facade-b594fc72.js → responsive-format-facade-d8ccc742.js} +5 -5
  177. package/dist/esm/{rich-text-editor-required-rule-a72374cd.js → rich-text-editor-required-rule-3a8f319c.js} +1 -1
  178. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-52f93124.js} +1 -4
  179. package/dist/esm/{string-input-formatter-slimmer-75256a17.js → string-input-formatter-slimmer-c64c7855.js} +3 -3
  180. package/dist/esm/{style-formatter-56074ede.js → style-formatter-ab6a9248.js} +1 -1
  181. package/dist/esm/{sub-state-notify-slimmer-85c658b7.js → sub-state-notify-slimmer-8b3b15ee.js} +2 -2
  182. package/dist/esm/{sub-state-observer-slimmer-e58a2485.js → sub-state-observer-slimmer-2b98e2c9.js} +3 -3
  183. package/dist/esm/{token-extension-3c198013.js → token-extension-f5bf06a5.js} +6 -6
  184. package/dist/esm/{translation-3d35961b.js → translation-f10b1e19.js} +1 -1
  185. package/dist/esm/{translation-slimmer-d5b0d292.js → translation-slimmer-984c9ce6.js} +1 -1
  186. package/dist/esm/{ui-c20be16d.js → ui-bb99c0c2.js} +16 -3
  187. package/dist/esm/vega-accordion.entry.js +13 -13
  188. package/dist/esm/vega-app-footer.entry.js +3 -3
  189. package/dist/esm/vega-app-header-button.entry.js +14 -14
  190. package/dist/esm/vega-backdrop.entry.js +1 -1
  191. package/dist/esm/vega-banner.entry.js +4 -4
  192. package/dist/esm/vega-box.entry.js +13 -13
  193. package/dist/esm/vega-brand-logo.entry.js +3 -3
  194. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  195. package/dist/esm/vega-button-circle.entry.js +19 -16
  196. package/dist/esm/vega-button-group_2.entry.js +8 -8
  197. package/dist/esm/vega-button-link.entry.js +5 -5
  198. package/dist/esm/vega-button.entry.js +19 -14
  199. package/dist/esm/vega-calendar_4.entry.js +507 -213
  200. package/dist/esm/vega-card.entry.js +12 -12
  201. package/dist/esm/vega-carousel.entry.js +12 -12
  202. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  203. package/dist/esm/vega-chip.entry.js +14 -14
  204. package/dist/esm/vega-code-block.entry.js +15 -15
  205. package/dist/esm/vega-color-picker.entry.js +9 -9
  206. package/dist/esm/vega-combo-box.entry.js +12 -12
  207. package/dist/esm/vega-date-picker_2.entry.js +62 -25
  208. package/dist/esm/vega-dialog_2.entry.js +15 -15
  209. package/dist/esm/vega-divider.entry.js +12 -12
  210. package/dist/esm/vega-dropdown_5.entry.js +23 -22
  211. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  212. package/dist/esm/vega-field-error.entry.js +1 -1
  213. package/dist/esm/vega-field-label.entry.js +4 -4
  214. package/dist/esm/vega-file-uploader.entry.js +10 -10
  215. package/dist/esm/vega-flag-icon.entry.js +12 -12
  216. package/dist/esm/vega-flex.entry.js +13 -13
  217. package/dist/esm/vega-font.entry.js +12 -12
  218. package/dist/esm/vega-form.entry.js +593 -354
  219. package/dist/esm/vega-grid.entry.js +12 -12
  220. package/dist/esm/vega-icon.entry.js +12 -12
  221. package/dist/esm/vega-image-uploader.entry.js +17 -17
  222. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  223. package/dist/esm/vega-input-numeric.entry.js +13 -13
  224. package/dist/esm/vega-input-phone-number.entry.js +14 -14
  225. package/dist/esm/vega-input-range.entry.js +11 -11
  226. package/dist/esm/vega-input-select.entry.js +16 -16
  227. package/dist/esm/vega-input.entry.js +11 -11
  228. package/dist/esm/{vega-internal-event-id-bee7946b.js → vega-internal-event-id-5c3e5f7f.js} +4 -1
  229. package/dist/esm/vega-item-toggle.entry.js +4 -4
  230. package/dist/esm/vega-left-nav_5.entry.js +44 -20
  231. package/dist/esm/vega-loader-wrapper_2.entry.js +11 -11
  232. package/dist/esm/vega-page-notification_2.entry.js +2 -2
  233. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  234. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  235. package/dist/esm/vega-pagination.entry.js +14 -14
  236. package/dist/esm/vega-popover_2.entry.js +16 -16
  237. package/dist/esm/vega-progress-tracker.entry.js +4 -4
  238. package/dist/esm/vega-radio_2.entry.js +13 -13
  239. package/dist/esm/vega-rich-text-content.entry.js +10 -10
  240. package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
  241. package/dist/esm/vega-segment-control.entry.js +4 -4
  242. package/dist/esm/vega-selection-chip_2.entry.js +16 -16
  243. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  244. package/dist/esm/vega-sidenav_3.entry.js +14 -14
  245. package/dist/esm/vega-signature-capture.entry.js +16 -16
  246. package/dist/esm/vega-stepper.entry.js +10 -10
  247. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  248. package/dist/esm/vega-table_8.entry.js +16 -16
  249. package/dist/esm/vega-text.entry.js +1 -1
  250. package/dist/esm/vega-textarea.entry.js +10 -10
  251. package/dist/esm/vega-time-picker_2.entry.js +19 -19
  252. package/dist/esm/vega-toggle-switch.entry.js +9 -9
  253. package/dist/esm/vega-tooltip_2.entry.js +14 -14
  254. package/dist/esm/vega.js +14 -14
  255. package/dist/sri/vega-sri-loader.js +147 -0
  256. package/dist/sri/vega-sri-manifest.json +698 -0
  257. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +1 -0
  258. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +6 -0
  259. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +5 -0
  260. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +6 -0
  261. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.d.ts +3 -1
  262. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.d.ts +1 -0
  263. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -0
  264. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
  265. package/dist/types/components/vega-calendar/types.d.ts +5 -0
  266. package/dist/types/components/vega-calendar/vega-calendar.d.ts +17 -0
  267. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +13 -0
  268. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +1 -0
  269. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -0
  270. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +158 -0
  271. package/dist/types/components/vega-form/slimmers/controllers/vega-form-reset-controller.d.ts +43 -0
  272. package/dist/types/components/vega-form/slimmers/controllers/vega-form-submit-controller.d.ts +55 -0
  273. package/dist/types/components/vega-form/types.d.ts +13 -0
  274. package/dist/types/components/vega-form/vega-form.d.ts +6 -110
  275. package/dist/types/components/vega-nav/slimmers/vega-nav-observer-slimmer.d.ts +3 -0
  276. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +8 -0
  277. package/dist/types/components.d.ts +12 -1
  278. package/dist/types/helpers/calendar/calendar-date.d.ts +5 -3
  279. package/dist/types/helpers/calendar/calendar-event.d.ts +50 -1
  280. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +8 -1
  281. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -1
  282. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +4 -3
  283. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -1
  284. package/dist/types/helpers/calendar/utils.d.ts +22 -0
  285. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +0 -2
  286. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  287. package/dist/types/types/components.type.d.ts +0 -1
  288. package/dist/types/utils/ui.d.ts +5 -1
  289. package/dist/vega/index.esm.js +1 -1
  290. package/dist/vega/{p-4e503e23.entry.js → p-050bb2ad.entry.js} +1 -1
  291. package/dist/vega/{p-3cdbee7e.js → p-053eb64a.js} +1 -1
  292. package/dist/vega/{p-56b8ffd5.entry.js → p-0685cba6.entry.js} +1 -1
  293. package/dist/vega/{p-df31307b.entry.js → p-12d4488b.entry.js} +1 -1
  294. package/dist/vega/{p-119430db.entry.js → p-13c6a04c.entry.js} +1 -1
  295. package/dist/vega/{p-6c85c1f3.entry.js → p-185dfdd4.entry.js} +1 -1
  296. package/dist/vega/{p-a1cf29a9.js → p-199dc74b.js} +1 -1
  297. package/dist/vega/p-1bd5d806.entry.js +1 -0
  298. package/dist/vega/p-1eb5b772.entry.js +1 -0
  299. package/dist/vega/{p-21a480b0.entry.js → p-1f061725.entry.js} +1 -1
  300. package/dist/vega/{p-f81f2071.entry.js → p-1f43f551.entry.js} +1 -1
  301. package/dist/vega/{p-1da54ff3.js → p-2033f86e.js} +1 -1
  302. package/dist/vega/{p-37fd7a80.js → p-228de113.js} +1 -1
  303. package/dist/vega/{p-f1436035.js → p-24cb0a7e.js} +1 -1
  304. package/dist/vega/{p-55c26035.entry.js → p-299e14b4.entry.js} +1 -1
  305. package/dist/vega/{p-b9e8c6bf.entry.js → p-2d91799a.entry.js} +1 -1
  306. package/dist/vega/{p-ffc2ef90.entry.js → p-2f4f3744.entry.js} +1 -1
  307. package/dist/vega/{p-7c75ce6c.entry.js → p-303efbfe.entry.js} +1 -1
  308. package/dist/vega/p-308aa2e3.js +1 -0
  309. package/dist/vega/{p-e4b0606a.entry.js → p-33837794.entry.js} +1 -1
  310. package/dist/vega/{p-d20ab09f.entry.js → p-33c6fb3f.entry.js} +1 -1
  311. package/dist/vega/{p-459efe39.entry.js → p-3494a5f1.entry.js} +1 -1
  312. package/dist/vega/{p-06b624e6.js → p-378e5881.js} +1 -1
  313. package/dist/vega/{p-d3bf55e9.js → p-39482a1a.js} +1 -1
  314. package/dist/vega/{p-6163818f.js → p-39b4c838.js} +1 -1
  315. package/dist/vega/{p-7aae9252.entry.js → p-3b953a24.entry.js} +1 -1
  316. package/dist/vega/{p-2ee4def0.js → p-3c21b875.js} +1 -1
  317. package/dist/vega/p-43257678.js +1 -0
  318. package/dist/vega/{p-e27802fb.js → p-45ead9fe.js} +1 -1
  319. package/dist/vega/{p-bb58a7cf.entry.js → p-4897bedd.entry.js} +1 -1
  320. package/dist/vega/{p-8938b5c4.js → p-4c192985.js} +1 -1
  321. package/dist/vega/{p-d4564bfd.js → p-521d1d07.js} +1 -1
  322. package/dist/vega/{p-52b0abb5.entry.js → p-59d70a67.entry.js} +1 -1
  323. package/dist/vega/{p-92ec4fac.entry.js → p-5cdcd08f.entry.js} +1 -1
  324. package/dist/vega/{p-bf8d2978.entry.js → p-5d36cc3f.entry.js} +1 -1
  325. package/dist/vega/{p-61966868.entry.js → p-5e1c913d.entry.js} +1 -1
  326. package/dist/vega/{p-0b92b15b.entry.js → p-5e2ef0b8.entry.js} +1 -1
  327. package/dist/vega/p-5f377954.js +1 -1
  328. package/dist/vega/{p-f4877bee.entry.js → p-5f854901.entry.js} +1 -1
  329. package/dist/vega/p-5fec05a2.js +1 -0
  330. package/dist/vega/p-63596567.entry.js +1 -0
  331. package/dist/vega/{p-b3cd1992.entry.js → p-63a5bbf4.entry.js} +1 -1
  332. package/dist/vega/{p-3af81271.js → p-64c3d021.js} +1 -1
  333. package/dist/vega/p-651fe4fc.js +1 -0
  334. package/dist/vega/{p-db29b9f9.entry.js → p-671afda4.entry.js} +1 -1
  335. package/dist/vega/{p-32655cfc.entry.js → p-676bee73.entry.js} +1 -1
  336. package/dist/vega/{p-1d3a7be6.entry.js → p-6a4db686.entry.js} +1 -1
  337. package/dist/vega/{p-3176804b.entry.js → p-6ce1e9d4.entry.js} +1 -1
  338. package/dist/vega/{p-ae963cb3.entry.js → p-6d371296.entry.js} +1 -1
  339. package/dist/vega/{p-9819dda9.entry.js → p-6f96dd01.entry.js} +1 -1
  340. package/dist/vega/{p-684391a4.entry.js → p-719354e7.entry.js} +1 -1
  341. package/dist/vega/{p-e41931d4.entry.js → p-74e684fc.entry.js} +1 -1
  342. package/dist/vega/{p-eb5f99db.entry.js → p-78d607ca.entry.js} +1 -1
  343. package/dist/vega/{p-3709b0e0.js → p-7c594a9f.js} +1 -1
  344. package/dist/vega/p-7cd2b93b.js +1 -0
  345. package/dist/vega/{p-4b57bb12.entry.js → p-833d81d0.entry.js} +1 -1
  346. package/dist/vega/{p-1be68fba.js → p-840c09c7.js} +1 -1
  347. package/dist/vega/p-852fa2d2.entry.js +1 -0
  348. package/dist/vega/{p-fd2d02ea.entry.js → p-85ad1c21.entry.js} +1 -1
  349. package/dist/vega/{p-956a5899.entry.js → p-8a5c123f.entry.js} +1 -1
  350. package/dist/vega/{p-2044aa2c.js → p-901ff5d3.js} +1 -1
  351. package/dist/vega/{p-4faa7bab.entry.js → p-9439077d.entry.js} +1 -1
  352. package/dist/vega/{p-3354f5a7.js → p-99b1492c.js} +1 -1
  353. package/dist/vega/{p-4082fa22.entry.js → p-9d492a46.entry.js} +1 -1
  354. package/dist/vega/p-9e6db93d.entry.js +1 -0
  355. package/dist/vega/{p-1110b422.entry.js → p-a082d41b.entry.js} +1 -1
  356. package/dist/vega/{p-27dfa896.js → p-a4912b85.js} +1 -1
  357. package/dist/vega/p-a528714c.js +1 -0
  358. package/dist/vega/p-a5713178.js +1 -0
  359. package/dist/vega/{p-3a9aa6eb.entry.js → p-a6010b93.entry.js} +1 -1
  360. package/dist/vega/{p-3eaa6cce.entry.js → p-a61e2108.entry.js} +1 -1
  361. package/dist/vega/{p-e4acac0a.entry.js → p-a69c9e42.entry.js} +1 -1
  362. package/dist/vega/{p-a9e3058e.entry.js → p-ab3c4b43.entry.js} +1 -1
  363. package/dist/vega/{p-3a0b9e66.entry.js → p-ae598946.entry.js} +1 -1
  364. package/dist/vega/{p-743c5baf.js → p-b4c25109.js} +1 -1
  365. package/dist/vega/{p-2608b9fe.js → p-b510e4d7.js} +1 -1
  366. package/dist/vega/{p-4669ce11.entry.js → p-b68a13df.entry.js} +1 -1
  367. package/dist/vega/{p-159fda34.entry.js → p-ba24f7b9.entry.js} +1 -1
  368. package/dist/vega/p-bc9484a6.js +1 -0
  369. package/dist/vega/{p-3a455ac3.entry.js → p-c12000ee.entry.js} +1 -1
  370. package/dist/vega/{p-179693f1.entry.js → p-c1fa6088.entry.js} +2 -2
  371. package/dist/vega/{p-697acd40.js → p-c241f615.js} +1 -1
  372. package/dist/vega/{p-5443d614.entry.js → p-c682d53c.entry.js} +1 -1
  373. package/dist/vega/{p-0f2c83a1.entry.js → p-c8a3fb7f.entry.js} +1 -1
  374. package/dist/vega/{p-1655b920.entry.js → p-c96d28dc.entry.js} +1 -1
  375. package/dist/vega/p-cef9f638.js +1 -0
  376. package/dist/vega/{p-32058dbd.entry.js → p-cf211582.entry.js} +1 -1
  377. package/dist/vega/p-d3137a6e.entry.js +1 -0
  378. package/dist/vega/{p-641fbb48.entry.js → p-d418ecc1.entry.js} +1 -1
  379. package/dist/vega/{p-06e6be0e.js → p-d5d6dae6.js} +1 -1
  380. package/dist/vega/p-d5ff8b7f.js +1 -0
  381. package/dist/vega/p-d9671d27.js +1 -0
  382. package/dist/vega/{p-64e949fa.entry.js → p-dabba918.entry.js} +1 -1
  383. package/dist/vega/{p-c7f68d74.js → p-dc92fec6.js} +1 -1
  384. package/dist/vega/p-e853105a.entry.js +1 -0
  385. package/dist/vega/p-ebfc4323.entry.js +1 -0
  386. package/dist/vega/{p-04158119.entry.js → p-f83739d0.entry.js} +1 -1
  387. package/dist/vega/{p-15766433.entry.js → p-fbc85265.entry.js} +1 -1
  388. package/dist/vega/{p-4ae3eebf.entry.js → p-fbd38139.entry.js} +1 -1
  389. package/dist/vega/{p-a30ebdf5.js → p-fddca002.js} +1 -1
  390. package/dist/vega/{p-57c42c30.entry.js → p-fee972e6.entry.js} +1 -1
  391. package/dist/vega/vega.esm.js +1 -1
  392. package/package.json +3 -2
  393. package/dist/vega/p-1aba48bc.js +0 -1
  394. package/dist/vega/p-1cb87bad.entry.js +0 -1
  395. package/dist/vega/p-3355ec0f.js +0 -1
  396. package/dist/vega/p-3674db0f.js +0 -1
  397. package/dist/vega/p-36f331bf.entry.js +0 -1
  398. package/dist/vega/p-465a6660.entry.js +0 -1
  399. package/dist/vega/p-575235c8.js +0 -1
  400. package/dist/vega/p-5773a9a3.js +0 -1
  401. package/dist/vega/p-6be16084.js +0 -1
  402. package/dist/vega/p-6ed663d5.entry.js +0 -1
  403. package/dist/vega/p-84eabbec.entry.js +0 -1
  404. package/dist/vega/p-904d1b43.js +0 -1
  405. package/dist/vega/p-96bda7ca.js +0 -1
  406. package/dist/vega/p-a3d77013.js +0 -1
  407. package/dist/vega/p-be539a54.js +0 -1
  408. package/dist/vega/p-c8789df1.entry.js +0 -1
  409. package/dist/vega/p-e6158a33.entry.js +0 -1
  410. package/dist/vega/p-ed0f000b.entry.js +0 -1
  411. package/dist/vega/p-f37558c1.js +0 -1
@@ -1,26 +1,32 @@
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-000ca6a7.js';
9
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-f32efdee.js';
10
+ import { d as domNodeSubjectFactory, y as VegaFormSubmit, z as VegaFormReset, A as VegaValidate } from './dom-node-subject-observer-factory-ed4b89f4.js';
11
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-8b3b15ee.js';
12
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-2b98e2c9.js';
13
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-24dbc255.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 ImmutableMap } from './immutable-map-612922a2.js';
19
+ import { C as ChildNodesNotifyObserverSlimmer } from './child-nodes-notify-observer-slimmer-b676cd2b.js';
20
+ import { d as isObjectArrayLike } from './array-7888f339.js';
21
+ import './dynamic-slimmer-90b8af32.js';
22
+ import './internal-vega-event-manager-13e3ed3d.js';
23
+ import './vega-env-manager-8f8dc473.js';
24
+ import './feature-flag-controller-51659753.js';
25
+ import './index-e9da316f.js';
26
+ import './_commonjsHelpers-9943807e.js';
20
27
  import './string-a953eafc.js';
21
28
  import './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
22
- import './dynamic-slimmer-90b8af32.js';
23
- import './translation-3d35961b.js';
29
+ import './translation-f10b1e19.js';
24
30
  import './page-resize-observer-slimmer-0bf7fbf3.js';
25
31
  import './ui-8424715a.js';
26
32
  import './breakpoints-d9faf11c.js';
@@ -28,13 +34,8 @@ import './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
28
34
  import './mutation-observer-slimmer-58ebc13c.js';
29
35
  import './mutation-observer-filters-1a054fb0.js';
30
36
  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
37
 
37
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
38
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
38
39
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
39
40
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
40
41
  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 +58,14 @@ class VegaFormNestStateController extends SubStateObserverSlimmer {
57
58
  });
58
59
  }
59
60
  }
60
- __decorate$3([
61
+ __decorate$6([
61
62
  MapToComponentField()
62
63
  ], VegaFormNestStateController.prototype, "host", void 0);
63
- __decorate$3([
64
+ __decorate$6([
64
65
  MapToComponentField({ writable: true })
65
66
  ], VegaFormNestStateController.prototype, "disableBlurValidation", void 0);
66
67
 
67
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
68
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
68
69
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
69
70
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
70
71
  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 +135,14 @@ class VegaFormFieldValidationStateController extends VegaSlimmer {
134
135
  ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: target, detail: isValid });
135
136
  }
136
137
  }
137
- __decorate$2([
138
+ __decorate$5([
138
139
  MapToComponentField()
139
140
  ], VegaFormFieldValidationStateController.prototype, "host", void 0);
140
- __decorate$2([
141
+ __decorate$5([
141
142
  MapToComponentMethod('setValidationStates')
142
143
  ], VegaFormFieldValidationStateController.prototype, "setValidationStates", null);
143
144
 
144
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
145
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
145
146
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
146
147
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
147
148
  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 +164,156 @@ class NativeFormRenderer extends VegaSlimmer {
163
164
  h("slot", null)));
164
165
  }
165
166
  }
166
- __decorate$1([
167
+ __decorate$4([
167
168
  MapToComponentField()
168
169
  ], NativeFormRenderer.prototype, "method", void 0);
169
- __decorate$1([
170
+ __decorate$4([
170
171
  MapToComponentField()
171
172
  ], NativeFormRenderer.prototype, "action", void 0);
172
173
 
173
- const vegaFormCss = ":host{display:block}";
174
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
175
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
176
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
177
+ 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;
178
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
179
+ };
180
+ /**
181
+ * Controller responsible for handling form submission in the VegaForm component.
182
+ */
183
+ class VegaFormSubmitController extends VegaSlimmer {
184
+ /**
185
+ * Component lifecycle - [connectedCallback]
186
+ */
187
+ connectedCallback() {
188
+ this.registerFormSubmitChangeManager();
189
+ }
190
+ /**
191
+ * Component lifecycle - [disconnectedCallback]
192
+ */
193
+ disconnectedCallback() {
194
+ this.unregisterFormSubmitChangeManager();
195
+ }
196
+ /**
197
+ * Submits the form using native HTML form submission with all current field values.
198
+ *
199
+ * This method collects all form field values, creates hidden input elements for each field,
200
+ * appends them to a container inside the native form, and then triggers the native
201
+ * `requestSubmit()` method to submit the form.
202
+ *
203
+ * The method ensures that the form data is available in the native form for submission,
204
+ * which is useful when `useNativeForm` is enabled.
205
+ *
206
+ * @returns {Promise<void>} Resolves when the form submission process is complete.
207
+ */
208
+ async submitWithFormData() {
209
+ if (!this.useNativeForm)
210
+ return;
211
+ const data = await this.host.getValue();
212
+ for (const dataKey in data) {
213
+ const hiddenInput = tryGetDocument().createElement('input');
214
+ hiddenInput.type = 'hidden';
215
+ hiddenInput.name = dataKey;
216
+ hiddenInput.value = data[dataKey];
217
+ this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
218
+ }
219
+ this.nativeFormRenderer.getNativeFormRef().requestSubmit();
220
+ }
221
+ /**
222
+ * Registers the form submit event observer with the ChangeManager.
223
+ */
224
+ registerFormSubmitChangeManager() {
225
+ var _a;
226
+ this.formSubmitEventObserver = new Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
227
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
228
+ ChangeManager.register(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormSubmit), this.formSubmitEventObserver);
229
+ }
230
+ /**
231
+ * Unregister the form submit event observer from the ChangeManager.
232
+ */
233
+ unregisterFormSubmitChangeManager() {
234
+ var _a;
235
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
236
+ ChangeManager.unregister(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormSubmit), this.formSubmitEventObserver);
237
+ }
238
+ /*
239
+ * The below method is e2e-test covered in
240
+ * @see{module:vega-form-field-enter-to-submit-e2e}
241
+ */
242
+ /* istanbul ignore next */
243
+ /**
244
+ * Can accept handler for FORM_SUBMIT.
245
+ *
246
+ * @param {FormEventsPayload} payload - The payload containing the host element that triggered the submit event.
247
+ * @returns {boolean} True if the host element is part of the current form, false otherwise.
248
+ */
249
+ canAcceptFormSubmitEvent(payload) {
250
+ return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
251
+ }
252
+ /**
253
+ * Handles the form submission process.
254
+ *
255
+ * @returns {Promise<void>} Resolves when the submission process is complete.
256
+ */
257
+ async handleSubmitEvents() {
258
+ const valid = await this.host.valid();
259
+ if (valid.isValid) {
260
+ const formValue = await this.host.getValue();
261
+ const submitEvent = this.submitEventEmitter.emit(formValue);
262
+ if (!submitEvent.defaultPrevented) {
263
+ await this.submitWithFormData();
264
+ }
265
+ }
266
+ }
267
+ }
268
+ __decorate$3([
269
+ MapToComponentField()
270
+ ], VegaFormSubmitController.prototype, "host", void 0);
271
+ __decorate$3([
272
+ MapToComponentField()
273
+ ], VegaFormSubmitController.prototype, "useNativeForm", void 0);
274
+ __decorate$3([
275
+ MapToComponentField()
276
+ ], VegaFormSubmitController.prototype, "nativeFormRenderer", void 0);
277
+ __decorate$3([
278
+ MapToComponentField()
279
+ ], VegaFormSubmitController.prototype, "submitEventEmitter", void 0);
280
+ __decorate$3([
281
+ MapToComponentField()
282
+ ], VegaFormSubmitController.prototype, "vegaFormFieldController", void 0);
283
+ __decorate$3([
284
+ MapToComponentMethod('connectedCallback')
285
+ ], VegaFormSubmitController.prototype, "connectedCallback", null);
286
+ __decorate$3([
287
+ MapToComponentMethod('disconnectedCallback')
288
+ ], VegaFormSubmitController.prototype, "disconnectedCallback", null);
174
289
 
175
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
290
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
176
291
  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;
292
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
293
+ 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
294
  return c > 3 && r && Object.defineProperty(target, key, r), r;
184
295
  };
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
- },
209
- });
296
+ /**
297
+ * The form field controller for vega form to manage the form field states.
298
+ */
299
+ class VegaFormFieldController extends VegaSlimmer {
300
+ constructor() {
301
+ super(...arguments);
210
302
  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();
303
+ this.childNodeValueChangeObserver = new ChildNodesNotifyObserverSlimmer(FORM_ELEMENT_VALUE_CHANGE, () => {
304
+ this.isTouched = true;
218
305
  });
219
- // The form field element pending async valid map
220
- this.pendingValidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
221
- this.pendingValidFieldPathMap = newMap;
306
+ this._invalidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
307
+ this._invalidFieldPathMap = newMap;
222
308
  this.updateIsValidFlag();
223
309
  });
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
310
  /**
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
311
+ * The form field element pending async valid map
285
312
  */
286
- this.method = 'get';
313
+ this._pendingValidFieldPathMap = new ImmutableMap(new Map(), (newMap) => {
314
+ this._pendingValidFieldPathMap = newMap;
315
+ this.updateIsValidFlag();
316
+ });
287
317
  /**
288
318
  * If the element is valid, remove it from the set of
289
319
  * invalid elements. If the element is invalid,
@@ -307,99 +337,39 @@ const VegaForm = class {
307
337
  }
308
338
  };
309
339
  }
310
- watchIsValid() {
311
- this.validateEventEmitter.emit(this.isValid);
312
- ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: this.host, detail: this.isValid });
313
- }
314
- watchDisableBlurValidation() {
340
+ /**
341
+ * Component lifecycle - [connectedCallback]
342
+ */
343
+ connectedCallback() {
344
+ this.initFormFieldDisconnectedObserver();
345
+ this.registerFormFieldPendingValid();
315
346
  }
316
347
  /**
317
- * When the vegaForm is deleted, it is necessary to notify
318
- * the parent's vegaForm to update its isValid status.
348
+ * When the vegaForm is deleted, it is necessary to notify the parent's vegaForm to update its isValid status.
319
349
  */
320
- async disconnectedCallback() {
321
- ChangeManager.notify(FORM_FIELD_ELEMENT_DISCONNECTED, {
322
- host: this.host,
323
- });
350
+ disconnectedCallback() {
351
+ ChangeManager.notify(FORM_FIELD_ELEMENT_DISCONNECTED, { host: this.host });
324
352
  ChangeManager.unregister(FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
325
353
  ChangeManager.unregister(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
326
354
  }
327
- async componentDidLoad() {
328
- await this.navigateVegaFormChildren(async (element, isForm) => {
329
- if (!isForm) {
330
- this.controlledFieldPathSet.add(this.getFormFieldName(element, true));
331
- }
332
- });
333
- this.initFormFieldDisconnectedObserver();
334
- this.registerFormSubmitChangeManager();
335
- this.registerFormResetChangeManager();
336
- this.registerFormFieldPendingValidChangeManager();
337
- }
338
355
  /**
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
356
+ * @inheritDoc
348
357
  */
349
- async valid(showError = true) {
350
- const result = { isValid: true, invalidFields: [] };
358
+ async getValue(option) {
359
+ const result = {};
351
360
  await this.navigateVegaFormChildren(async (element, isForm) => {
352
- if (typeof element['valid'] === 'function' && isForm) {
353
- const nestedFormValidationResult = await element.valid(showError);
354
- if (!nestedFormValidationResult.isValid) {
355
- result.isValid = false;
356
- result.invalidFields.push(...nestedFormValidationResult.invalidFields);
357
- result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
358
- }
361
+ const formFieldName = this.getFormFieldName(element);
362
+ if (isForm) {
363
+ result[formFieldName] = await element.getValue(option);
359
364
  }
360
365
  else {
361
- const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
362
- if (!isValid) {
363
- result.isValid = false;
364
- result.invalidFields.push(this.getFormFieldName(element));
365
- if (!result.invalidFieldsErrorMessages) {
366
- result.invalidFieldsErrorMessages = {};
367
- }
368
- result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
369
- }
370
- }
371
- });
372
- return result;
373
- }
374
- /**
375
- * Invoke this method asynchronously to retrieve the values for
376
- * all the available vega field elements nested within the `vega-form`.
377
- *
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
381
- */
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);
366
+ result[formFieldName] = this.getFormFieldValue(element);
391
367
  }
392
368
  }, option);
393
369
  return (isObjectArrayLike(result) ? Object.values(result) : result);
394
370
  }
395
371
  /**
396
- * Invoke this method to prefill the `vega-form` with the given value.
397
- *
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
372
+ * @inheritDoc
403
373
  */
404
374
  async setValue(value, option) {
405
375
  if (value) {
@@ -422,53 +392,74 @@ const VegaForm = class {
422
392
  }
423
393
  }
424
394
  /**
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
431
- *
432
- * @vegaVersion 1.3.0
395
+ * @inheritDoc
433
396
  */
434
- async reset(defaultValueMap = {}, option) {
397
+ async valid(showError = true) {
398
+ const result = { isValid: true, invalidFields: [] };
435
399
  await this.navigateVegaFormChildren(async (element, isForm) => {
436
- const formFieldName = this.getFormFieldName(element);
437
- if (isForm) {
438
- await element.reset(defaultValueMap[formFieldName] || {}, option);
400
+ if (typeof element['valid'] === 'function' && isForm) {
401
+ const nestedFormValidationResult = await element.valid(showError);
402
+ if (!nestedFormValidationResult.isValid) {
403
+ result.isValid = false;
404
+ result.invalidFields.push(...nestedFormValidationResult.invalidFields);
405
+ result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
406
+ }
407
+ }
408
+ else {
409
+ const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
410
+ if (!isValid) {
411
+ result.isValid = false;
412
+ result.invalidFields.push(this.getFormFieldName(element));
413
+ if (!result.invalidFieldsErrorMessages) {
414
+ result.invalidFieldsErrorMessages = {};
415
+ }
416
+ result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
417
+ }
439
418
  }
440
- }, option);
441
- ChangeManager.notify(FORM_RESET_OPERATION_TRIGGERED, {
442
- host: this.host,
443
- defaultValueMap,
444
- option,
445
419
  });
446
- this.isTouched = false;
420
+ return result;
447
421
  }
448
422
  /**
449
- * Invoke this method to set validation states on specific form fields.
423
+ * The getter for the {@link _invalidFieldPathMap}
450
424
  *
451
- * @param {VegaFormFieldValidationState[]} states - An array of validation error objects.
425
+ * @returns {ImmutableMap<HTMLElement, string>} The map of invalid field elements and their paths
426
+ */
427
+ get invalidFieldPathMap() {
428
+ return this._invalidFieldPathMap;
429
+ }
430
+ /**
431
+ * The getter for the {@link _pendingValidFieldPathMap}
452
432
  *
453
- * @vegaVersion 2.59.0
433
+ * @returns {ImmutableMap<HTMLElement, string>} The map of pending valid field elements and their paths
454
434
  */
455
- async setValidationStates(states) {
435
+ get pendingValidFieldPathMap() {
436
+ return this._pendingValidFieldPathMap;
456
437
  }
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'];
438
+ /**
439
+ * Set the isTouched property of the form.
440
+ *
441
+ * @param {boolean} isTouched - The new value for isTouched.
442
+ */
443
+ setIsTouched(isTouched) {
444
+ this.isTouched = isTouched;
462
445
  }
463
- render() {
464
- return sanitizeVegaComponent(h(Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : h("slot", null)), this.host);
446
+ /**
447
+ * It returns the value of data-vega-form that the given element is associated with.
448
+ *
449
+ * @param {HTMLElement} element - The element that is being validated.
450
+ * @returns {string} The name of the field.
451
+ */
452
+ getFormFieldName(element) {
453
+ return element.dataset['vegaForm'];
465
454
  }
466
455
  /**
467
- * If the value of any child elements have changed,
468
- * make 'isTouched' prop as false.
456
+ * Check if the given element is part of the current form.
457
+ *
458
+ * @param {HTMLElement} element - The element to check.
459
+ * @returns {boolean} True if the element is part of the current form, false otherwise.
469
460
  */
470
- updateInternalTouchedStatus() {
471
- this.isTouched = true;
461
+ isElementInCurrentForm(element) {
462
+ return this.invalidFieldPathMap.has(element) || isParent(element, this.host);
472
463
  }
473
464
  /**
474
465
  * Navigate the immediate child node under current vega form element with the following strategy
@@ -476,10 +467,10 @@ const VegaForm = class {
476
467
  * - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
477
468
  * Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
478
469
  *
479
- * @param visitor async callback method that will be invoked if a matched vega field element found
470
+ * @param {(element: HTMLElement, isForm: boolean) => Promise<void>} visitor async callback method that will be invoked if a matched vega field element found
480
471
  * @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
472
+ * @param {HTMLElement} [startElementNode=this.host] the element to start the navigation, default to current vega form host
473
+ * @returns {Promise<void>} return void wrapped with promise to notify the navigation is done
483
474
  */
484
475
  async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
485
476
  const promiseQueue = [];
@@ -496,53 +487,43 @@ const VegaForm = class {
496
487
  await Promise.all(promiseQueue);
497
488
  }
498
489
  /**
499
- * Update the {@link isValid} property value based on the size of {@link invalidFieldPathSet}
490
+ * Update the {@link isValid} property value based on the size of {@link invalidFieldPathMap}
500
491
  * If the number of invalid elements is zero, then the form is valid.
501
492
  */
502
493
  updateIsValidFlag() {
503
494
  this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
504
495
  }
505
496
  /**
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.
497
+ * Registers an observer with the ChangeManager that will be notified when a form field's pending validation state changes.
498
+ */
499
+ registerFormFieldPendingValid() {
500
+ this.formFieldPendingValidObserver = new Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
501
+ ChangeManager.register(FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
502
+ }
503
+ /**
504
+ * Can accept handler for FORM_FIELD_PENDING_VALID_CHANGE.
508
505
  *
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;
506
+ * @param {PendingValidPayload} payload - The payload containing the host element that triggered the pending valid change event.
507
+ * @returns {boolean} True if the host element is part of the current form, false otherwise.
508
+ */
509
+ canAcceptFormFieldPendingValid(payload) {
510
+ return this.isElementInCurrentForm(payload.host);
530
511
  }
531
512
  /**
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.
513
+ * Handles the pending valid state change for a form field.
533
514
  *
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.
515
+ * @param {PendingValidPayload} payload - The payload containing the host element and its pending valid state.
538
516
  */
539
- shouldVisitElement(element, skipDisabled, skipInvisible) {
540
- return (this.getFormFieldName(element) &&
541
- (!skipDisabled || !element['disabled']) &&
542
- (!skipInvisible || isElementVisible(element)));
517
+ handleFieldPendingValid(payload) {
518
+ if (typeof payload.detail === 'boolean') {
519
+ this.pendingValidFieldPathMap.delete(payload.host);
520
+ }
521
+ else {
522
+ this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
523
+ }
543
524
  }
544
525
  /**
545
- * This function registers an observer with the ChangeManager that will be notified when a element
526
+ * This function registers an observer with the ChangeManager that will be notified when an element
546
527
  * delete operation is triggered
547
528
  */
548
529
  initFormFieldDisconnectedObserver() {
@@ -560,87 +541,45 @@ const VegaForm = class {
560
541
  }
561
542
  /**
562
543
  * Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
544
+ *
545
+ * @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
563
546
  */
564
547
  async updateInvalidFieldPath(payload) {
565
548
  this.invalidFieldPathMap.delete(payload.host);
566
549
  this.pendingValidFieldPathMap.delete(payload.host);
567
550
  }
568
- registerFormSubmitChangeManager() {
569
- this.formEventsObserver = new Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
570
- ChangeManager.register(FORM_SUBMIT, this.formEventsObserver);
571
- }
572
551
  /**
573
- * The below method is e2e-test covered in
574
- * @see{module:vega-form-field-enter-to-submit-e2e}
552
+ * 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.
553
+ *
554
+ * @param {HTMLElement} element - The HTMLElement to check.
555
+ * @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
556
+ * @param {boolean} skipInvisible - If true, only visible elements will be visited.
557
+ * @returns {boolean} a boolean value.
575
558
  */
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
- }
559
+ shouldVisitElement(element, skipDisabled, skipInvisible) {
560
+ return (this.getFormFieldName(element) &&
561
+ (!skipDisabled || !element['disabled']) &&
562
+ (!skipInvisible || isElementVisible(element)));
589
563
  }
590
564
  /**
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.
596
- *
597
- * The method ensures that the form data is available in the native form for submission,
598
- * which is useful when `useNativeForm` is enabled.
565
+ * It retrieves the value of a form field element.
599
566
  *
600
- * @returns {Promise<void>} Resolves when the form submission process is complete.
567
+ * @param {HTMLElement} element - The form field element.
568
+ * @returns {unknown} The value of the form field element.
601
569
  */
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);
570
+ getFormFieldValue(element) {
571
+ return typeof element['value'] === 'undefined'
572
+ ? // use element.getAttribute since the value property is not available in unit testing
573
+ element.getAttribute('value')
574
+ : element['value'];
643
575
  }
576
+ /**
577
+ * It handles the validation of a child form field element.
578
+ *
579
+ * @param {HTMLElement} element - The form field element to validate.
580
+ * @param {boolean | 'rule'} showError - Whether to show error messages.
581
+ * @returns {Promise<EvaluateResultBase>} The validation result.
582
+ */
644
583
  async handleChildFormFieldElementValid(element, showError) {
645
584
  const subject = domNodeSubjectFactory.getSubject(element, VegaInternalValid);
646
585
  const { isValid, message } = await new Promise((resolve) => {
@@ -657,6 +596,303 @@ const VegaForm = class {
657
596
  });
658
597
  return { isValid, message };
659
598
  }
599
+ }
600
+ __decorate$2([
601
+ MapToComponentField()
602
+ ], VegaFormFieldController.prototype, "host", void 0);
603
+ __decorate$2([
604
+ MapToComponentField({ writable: true })
605
+ ], VegaFormFieldController.prototype, "isValid", void 0);
606
+ __decorate$2([
607
+ MapToComponentField({ writable: true })
608
+ ], VegaFormFieldController.prototype, "isTouched", void 0);
609
+ __decorate$2([
610
+ InjectVegaSlimmer()
611
+ ], VegaFormFieldController.prototype, "childNotifyObserver", void 0);
612
+ __decorate$2([
613
+ InjectVegaSlimmer()
614
+ ], VegaFormFieldController.prototype, "childNodeValueChangeObserver", void 0);
615
+ __decorate$2([
616
+ MapToComponentMethod('connectedCallback')
617
+ ], VegaFormFieldController.prototype, "connectedCallback", null);
618
+ __decorate$2([
619
+ MapToComponentMethod('disconnectedCallback')
620
+ ], VegaFormFieldController.prototype, "disconnectedCallback", null);
621
+ __decorate$2([
622
+ MapToComponentMethod('getValue')
623
+ ], VegaFormFieldController.prototype, "getValue", null);
624
+ __decorate$2([
625
+ MapToComponentMethod('setValue')
626
+ ], VegaFormFieldController.prototype, "setValue", null);
627
+ __decorate$2([
628
+ MapToComponentMethod('valid')
629
+ ], VegaFormFieldController.prototype, "valid", null);
630
+
631
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
632
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
633
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
634
+ 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;
635
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
636
+ };
637
+ /**
638
+ * Reset controller for handling form reset events in the VegaForm component.
639
+ */
640
+ class VegaFormResetController extends VegaSlimmer {
641
+ /**
642
+ * Component lifecycle - [connectedCallback]
643
+ */
644
+ connectedCallback() {
645
+ this.registerFormResetChangeManager();
646
+ }
647
+ /**
648
+ * Component lifecycle - [disconnectedCallback]
649
+ */
650
+ disconnectedCallback() {
651
+ this.unregisterFormResetChangeManager();
652
+ }
653
+ /**
654
+ * @inheritDoc
655
+ */
656
+ async reset(defaultValueMap = {}, option) {
657
+ await this.vegaFormFieldController.navigateVegaFormChildren(async (element, isForm) => {
658
+ const formFieldName = this.vegaFormFieldController.getFormFieldName(element);
659
+ if (isForm) {
660
+ await element.reset(defaultValueMap[formFieldName] || {}, option);
661
+ }
662
+ }, option);
663
+ ChangeManager.notify(FORM_RESET_OPERATION_TRIGGERED, {
664
+ host: this.host,
665
+ defaultValueMap,
666
+ option,
667
+ });
668
+ this.vegaFormFieldController.setIsTouched(false);
669
+ }
670
+ /**
671
+ * Registers the form reset event observer with the ChangeManager.
672
+ */
673
+ registerFormResetChangeManager() {
674
+ var _a;
675
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
676
+ this.formResetEventObserver = new Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
677
+ ChangeManager.register(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormReset), this.formResetEventObserver);
678
+ }
679
+ /**
680
+ * Unregister the form reset event observer from the ChangeManager.
681
+ */
682
+ unregisterFormResetChangeManager() {
683
+ var _a;
684
+ const outerForm = (_a = findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
685
+ ChangeManager.unregister(domNodeSubjectFactory.getSubject(outerForm, VegaInternalFormReset), this.formResetEventObserver);
686
+ }
687
+ /**
688
+ * Can accept form reset event.
689
+ *
690
+ * @param {FormEventsPayload} payload - The form events payload.
691
+ * @returns {boolean} True if the event can be accepted, false otherwise.
692
+ */
693
+ canAcceptFormResetEvent(payload) {
694
+ return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
695
+ }
696
+ /**
697
+ * Handles reset events by resetting the form and emitting a reset event.
698
+ */
699
+ async handleResetEvents() {
700
+ await this.host.reset();
701
+ this.resetEventEmitter.emit();
702
+ }
703
+ }
704
+ __decorate$1([
705
+ MapToComponentField()
706
+ ], VegaFormResetController.prototype, "host", void 0);
707
+ __decorate$1([
708
+ MapToComponentField()
709
+ ], VegaFormResetController.prototype, "vegaFormFieldController", void 0);
710
+ __decorate$1([
711
+ MapToComponentField()
712
+ ], VegaFormResetController.prototype, "resetEventEmitter", void 0);
713
+ __decorate$1([
714
+ MapToComponentMethod('connectedCallback')
715
+ ], VegaFormResetController.prototype, "connectedCallback", null);
716
+ __decorate$1([
717
+ MapToComponentMethod('disconnectedCallback')
718
+ ], VegaFormResetController.prototype, "disconnectedCallback", null);
719
+ __decorate$1([
720
+ MapToComponentMethod('reset')
721
+ ], VegaFormResetController.prototype, "reset", null);
722
+
723
+ const vegaFormCss = ":host{display:block}";
724
+
725
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
726
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
727
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
728
+ r = Reflect.decorate(decorators, target, key, desc);
729
+ else
730
+ for (var i = decorators.length - 1; i >= 0; i--)
731
+ if (d = decorators[i])
732
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
733
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
734
+ };
735
+ const VegaForm = class {
736
+ constructor(hostRef) {
737
+ registerInstance(this, hostRef);
738
+ this.vegaValidate = createEvent(this, "vegaValidate", 7);
739
+ this.validate = createEvent(this, "validate", 7);
740
+ this.vegaFormSubmit = createEvent(this, "vegaFormSubmit", 7);
741
+ this.formSubmit = createEvent(this, "formSubmit", 7);
742
+ this.vegaFormReset = createEvent(this, "vegaFormReset", 7);
743
+ this.formReset = createEvent(this, "formReset", 7);
744
+ this.globalSlimmers = {};
745
+ this.submitEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormSubmit);
746
+ this.resetEventEmitter = createEventEmitSlimmer(VegaForm, VegaFormReset);
747
+ this.validateEventEmitter = createEventEmitSlimmer(VegaForm, VegaValidate);
748
+ this.disableBlurValidationNotifySlimmer = createSubStateNotifySlimmer(VegaForm, 'disableBlurValidation', 'watchDisableBlurValidation');
749
+ this.stateController = new VegaFormNestStateController();
750
+ this.childEventPrevent = new ChildNodesEventPreventSlimmer([VegaFormSubmit, VegaFormReset], () => this.host.querySelector('vega-form'), {
751
+ customPreventHandle: (e) => {
752
+ e.stopPropagation();
753
+ },
754
+ });
755
+ this.childFormValidateEventPrevent = new ChildNodesEventPreventSlimmer([VegaValidate], () => this.host, {
756
+ customPreventHandle: (e) => {
757
+ e.stopPropagation();
758
+ },
759
+ });
760
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
761
+ this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
762
+ this.nativeFormRenderer = new NativeFormRenderer();
763
+ this.vegaFormSubmitController = new VegaFormSubmitController();
764
+ this.vegaFormResetController = new VegaFormResetController();
765
+ this.vegaFormFieldController = new VegaFormFieldController();
766
+ /**
767
+ * Indicates whether the current form-controlled elements are valid.
768
+ *
769
+ * Form-controlled elements are considered for validation if they
770
+ * have the `data-vega-form` property.
771
+ *
772
+ * Disabled and invisible elements are excluded from validation.
773
+ *
774
+ * If the value is `undefined`, it means there are no
775
+ * form-controlled elements that can be validated.
776
+ *
777
+ * **Additional Notes:**
778
+ * 1. When depending on `isValid` for form validation, it is advised
779
+ * not to modify the following properties of the monitored DOM:
780
+ * - `disabled` property
781
+ * - Element visibility style
782
+ * 2. As this property relies heavily on the `VegaValidate` event emitted,
783
+ * it is highly recommended to enable auto-validation for all
784
+ * form-controlled elements to ensure that the value reflects
785
+ * the most up-to-date form validation status.
786
+ *
787
+ * @vegaVersion 1.3.0
788
+ */
789
+ /* eslint-disable-next-line @stencil/strict-mutable */
790
+ this.isValid = null;
791
+ /**
792
+ * Indicates whether the value of any current
793
+ * form-controlled elements has been changed.
794
+ *
795
+ * 1. When the value of any form-controlled element is changed,
796
+ * this parameter is set to `true`.
797
+ * 2. When resetting the form, this parameter is set to `false`.
798
+ * 3. When invoking the `setValue` method, this parameter is set to `false`.
799
+ *
800
+ * @vegaVersion 1.3.0
801
+ */
802
+ /* eslint-disable-next-line @stencil/strict-mutable */
803
+ this.isTouched = false;
804
+ /**
805
+ * Specifies whether form validation should be disabled on blur events of form elements.
806
+ *
807
+ * - This helps prevent validation on blur when clicking Submit inside an input,
808
+ * avoiding error messages that shift the button and block the click.
809
+ * - For nested forms, the parent form will override this property
810
+ * to ensure consistent validation behavior.
811
+ *
812
+ * @vegaVersion 2.47.0
813
+ */
814
+ /* eslint-disable-next-line @stencil/strict-mutable */
815
+ this.disableBlurValidation = false;
816
+ /**
817
+ * Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
818
+ *
819
+ * @vegaVersion 2.64.0
820
+ */
821
+ this.useNativeForm = false;
822
+ /**
823
+ * Specifies the HTTP method used for form submission.
824
+ * This property takes effect only when {@link useNativeForm} is set to `true`.
825
+ *
826
+ * @vegaVersion 2.64.0
827
+ */
828
+ this.method = 'get';
829
+ }
830
+ watchIsValid() {
831
+ this.validateEventEmitter.emit(this.isValid);
832
+ ChangeManager.notify(FORM_ELEMENT_VALIDATE, { host: this.host, detail: this.isValid });
833
+ }
834
+ watchDisableBlurValidation() {
835
+ }
836
+ /**
837
+ * Invoke this method asynchronously to retrieve the validation result for
838
+ * all the vega field elements nested within the `vega-form`.
839
+ *
840
+ * If an element is a `vega-form` itself, it will recursively
841
+ * invoke its `valid()` method.
842
+ *
843
+ * @param {boolean | 'rule'} showError determine whether the validation result should be reflected in UI
844
+ * @return {Promise<FormValidateResult> } validation result
845
+ * @vegaVersion 1.3.0
846
+ */
847
+ async valid(showError = true) {
848
+ return methodPlaceholder(showError);
849
+ }
850
+ /**
851
+ * Invoke this method asynchronously to retrieve the values for
852
+ * all the available vega field elements nested within the `vega-form`.
853
+ *
854
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
855
+ * @return {Promise<T>} object with key and field value as key-value pair
856
+ * @vegaVersion 1.3.0
857
+ */
858
+ async getValue(option) {
859
+ return methodPlaceholder(option);
860
+ }
861
+ /**
862
+ * Invoke this method to prefill the `vega-form` with the given value.
863
+ *
864
+ * This action will also set the `isTouched` property to `false`.
865
+ *
866
+ * @param value to prefill into the vega-form
867
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
868
+ * @vegaVersion 1.3.0
869
+ */
870
+ async setValue(value, option) {
871
+ }
872
+ /**
873
+ * Invoke this method to reset the vega field elements in the form to
874
+ * the default value provided, or an empty string if
875
+ * no default value is found.
876
+ *
877
+ * @param defaultValueMap map of the vega form field name to default value
878
+ * @param {FormControlOption} [option] form control option to skip disabled/invisible components
879
+ *
880
+ * @vegaVersion 1.3.0
881
+ */
882
+ async reset(defaultValueMap = {}, option) {
883
+ }
884
+ /**
885
+ * Invoke this method to set validation states on specific form fields.
886
+ *
887
+ * @param {VegaFormFieldValidationState[]} states - An array of validation error objects.
888
+ *
889
+ * @vegaVersion 2.59.0
890
+ */
891
+ async setValidationStates(states) {
892
+ }
893
+ render() {
894
+ return sanitizeVegaComponent(h(Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : h("slot", null)), this.host);
895
+ }
660
896
  get host() { return getElement(this); }
661
897
  static get watchers() { return {
662
898
  "isValid": ["watchIsValid"],
@@ -689,19 +925,22 @@ __decorate([
689
925
  ], VegaForm.prototype, "childFormValidateEventPrevent", void 0);
690
926
  __decorate([
691
927
  InjectVegaSlimmer()
692
- ], VegaForm.prototype, "childNotifyObserver", void 0);
928
+ ], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
693
929
  __decorate([
694
930
  InjectVegaSlimmer()
695
- ], VegaForm.prototype, "childNodeValueChangeObserver", void 0);
931
+ ], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
696
932
  __decorate([
697
933
  InjectVegaSlimmer()
698
- ], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
934
+ ], VegaForm.prototype, "nativeFormRenderer", void 0);
699
935
  __decorate([
700
936
  InjectVegaSlimmer()
701
- ], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
937
+ ], VegaForm.prototype, "vegaFormSubmitController", void 0);
702
938
  __decorate([
703
939
  InjectVegaSlimmer()
704
- ], VegaForm.prototype, "nativeFormRenderer", void 0);
940
+ ], VegaForm.prototype, "vegaFormResetController", void 0);
941
+ __decorate([
942
+ InjectVegaSlimmer()
943
+ ], VegaForm.prototype, "vegaFormFieldController", void 0);
705
944
  VegaForm.style = vegaFormCss;
706
945
 
707
946
  export { VegaForm as vega_form };