@heartlandone/vega 2.63.1 → 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.
- package/dist/cjs/{app-globals-2d0b157e.js → app-globals-681a0ed4.js} +10 -10
- package/dist/cjs/{brand-switch-state-controller-slimmer-b83a4596.js → brand-switch-state-controller-slimmer-3d41b2a4.js} +1 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-4e96270e.js → child-nodes-event-prevent-slimmer-feb072c4.js} +1 -1
- package/dist/cjs/{child-nodes-notify-observer-slimmer-34ac3bfc.js → child-nodes-notify-observer-slimmer-257fedb3.js} +1 -1
- package/dist/cjs/{code-block-cc740807.js → code-block-961d54e8.js} +13 -17
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-0bb81172.js → component-value-history-controller-slimmer.abstract-c5b8b47b.js} +6 -6
- package/dist/cjs/{dark-mode-state-controller-slimmer-17022f93.js → dark-mode-state-controller-slimmer-8a87ec08.js} +1 -1
- package/dist/cjs/{dark-mode-style-controller-b1e9ec82.js → dark-mode-style-controller-27809ff8.js} +1 -1
- package/dist/cjs/{design-token-bf913c86.js → design-token-98652b67.js} +1 -1
- package/dist/cjs/{dom-node-subject-observer-factory-58e3c010.js → dom-node-subject-observer-factory-56609e5a.js} +1 -1
- package/dist/cjs/{dto-renderer-manager-424c5031.js → dto-renderer-manager-4b9d2560.js} +11 -6
- package/dist/cjs/{element-appender-slimmer-1d035b1f.js → element-appender-slimmer-1f46981b.js} +6 -6
- package/dist/cjs/{event-emit-slimmer-428d8802.js → event-emit-slimmer-3cefb326.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-cc6e53a4.js → form-field-controller-slimmer-1e1123ea.js} +16 -8
- package/dist/cjs/{image-annotation-action-f831e09b.js → image-annotation-action-03b36f68.js} +5 -5
- package/dist/cjs/{index-00ba6623.js → index-58ea899e.js} +1 -0
- package/dist/cjs/{index-5505e8dd.js → index-f2fe26a0.js} +2 -2
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{inject-keyboard-manager-ad865c95.js → inject-keyboard-manager-51033b3f.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-28b957c8.js → internal-vega-event-manager-9b503f1a.js} +1 -1
- package/dist/cjs/{keyboard-manager-7f4e1f43.js → keyboard-manager-144907d7.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-138a90e5.js → keyboard-manager-slimmer-04c48756.js} +1 -1
- package/dist/cjs/{language-extension-cfe0eabd.js → language-extension-059d62f6.js} +2 -2
- package/dist/cjs/loader.cjs.js +15 -15
- package/dist/cjs/{public-rules-7e9b633d.js → public-rules-58e0218b.js} +8 -8
- package/dist/cjs/{range-44f08955.js → range-42732973.js} +2 -2
- package/dist/cjs/{responsive-format-facade-a7fbefc4.js → responsive-format-facade-29070d00.js} +5 -5
- package/dist/cjs/{rich-text-editor-required-rule-a0618c85.js → rich-text-editor-required-rule-ce4dd5fb.js} +1 -1
- package/dist/cjs/{static-subject-title-85732e0f.js → static-subject-title-5829a298.js} +0 -8
- package/dist/cjs/{string-input-formatter-slimmer-f6c7a255.js → string-input-formatter-slimmer-0d69ea76.js} +3 -3
- package/dist/cjs/{style-formatter-795451f2.js → style-formatter-f6723cb3.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-bb64fcfc.js → sub-state-notify-slimmer-066f2aa9.js} +2 -2
- package/dist/cjs/{sub-state-observer-slimmer-84175d61.js → sub-state-observer-slimmer-569e3297.js} +3 -3
- package/dist/cjs/{token-extension-4764d5f3.js → token-extension-260adb8a.js} +6 -6
- package/dist/cjs/{translation-cde4dce3.js → translation-f5adcb9f.js} +1 -1
- package/dist/cjs/{translation-slimmer-af399096.js → translation-slimmer-4b6239d1.js} +1 -1
- package/dist/cjs/{ui-4ce1fa08.js → ui-9e181079.js} +16 -3
- package/dist/cjs/vega-accordion.cjs.entry.js +14 -14
- package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
- package/dist/cjs/vega-app-header-button.cjs.entry.js +15 -15
- package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/vega-banner.cjs.entry.js +5 -5
- package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +14 -14
- package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +6 -6
- package/dist/cjs/vega-button-circle.cjs.entry.js +20 -17
- package/dist/cjs/vega-button-group_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-link.cjs.entry.js +6 -6
- package/dist/cjs/vega-button.cjs.entry.js +20 -15
- package/dist/cjs/vega-calendar_4.cjs.entry.js +528 -226
- package/dist/cjs/vega-card.cjs.entry.js +13 -13
- package/dist/cjs/vega-carousel.cjs.entry.js +13 -13
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-chip.cjs.entry.js +15 -15
- package/dist/cjs/vega-code-block.cjs.entry.js +16 -16
- package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
- package/dist/cjs/vega-combo-box.cjs.entry.js +13 -13
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +63 -26
- package/dist/cjs/vega-dialog_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-divider.cjs.entry.js +13 -13
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +24 -23
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
- package/dist/cjs/vega-file-uploader.cjs.entry.js +11 -11
- package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -13
- package/dist/cjs/vega-flex.cjs.entry.js +14 -14
- package/dist/cjs/vega-font.cjs.entry.js +13 -13
- package/dist/cjs/vega-form.cjs.entry.js +636 -323
- package/dist/cjs/vega-grid.cjs.entry.js +13 -13
- package/dist/cjs/vega-hint.cjs.entry.js +1 -1
- package/dist/cjs/vega-icon.cjs.entry.js +13 -13
- package/dist/cjs/vega-image-uploader.cjs.entry.js +18 -18
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +11 -11
- package/dist/cjs/vega-input-numeric.cjs.entry.js +14 -14
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -15
- package/dist/cjs/vega-input-range.cjs.entry.js +12 -12
- package/dist/cjs/vega-input-select.cjs.entry.js +17 -17
- package/dist/cjs/vega-input.cjs.entry.js +12 -12
- package/dist/cjs/{vega-internal-event-id-9647aaf8.js → vega-internal-event-id-6d4a2c53.js} +8 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -5
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +45 -21
- package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +6 -6
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +7 -7
- package/dist/cjs/vega-pagination.cjs.entry.js +15 -15
- package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-popover_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +5 -5
- package/dist/cjs/vega-radio_2.cjs.entry.js +14 -14
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +11 -11
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +25 -29
- package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
- package/dist/cjs/vega-segment-control.cjs.entry.js +5 -5
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +15 -15
- package/dist/cjs/vega-signature-capture.cjs.entry.js +17 -17
- package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +11 -11
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-table_8.cjs.entry.js +17 -17
- package/dist/cjs/vega-text.cjs.entry.js +2 -2
- package/dist/cjs/vega-textarea.cjs.entry.js +11 -11
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +20 -20
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +15 -15
- package/dist/cjs/vega.cjs.js +15 -15
- package/dist/collection/components/vega-button/vega-button.js +9 -2
- package/dist/collection/components/vega-button-circle/vega-button-circle.js +8 -3
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +7 -4
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +21 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +18 -1
- package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +14 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.js +8 -9
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +3 -1
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +34 -0
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +7 -6
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.js +31 -5
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +4 -1
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +11 -10
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +4 -1
- package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +15 -5
- package/dist/collection/components/vega-calendar/vega-calendar.js +47 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -3
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +6 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +1 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -8
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +4 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +351 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-reset-controller.js +99 -0
- package/dist/collection/components/vega-form/slimmers/controllers/vega-form-submit-controller.js +122 -0
- package/dist/collection/components/vega-form/slimmers/renderers/native-form-renderer.js +30 -0
- package/dist/collection/components/vega-form/vega-form.js +97 -335
- package/dist/collection/components/vega-modal/vega-modal.css +4 -1
- package/dist/collection/components/vega-nav/slimmers/vega-nav-observer-slimmer.js +8 -3
- package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -4
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +5 -7
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +3 -5
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +1 -5
- package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +9 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +51 -40
- package/dist/collection/helpers/calendar/calendar-date.js +10 -8
- package/dist/collection/helpers/calendar/calendar-event.js +152 -16
- package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +13 -4
- package/dist/collection/helpers/calendar/calendar-period/day-period.js +4 -4
- package/dist/collection/helpers/calendar/calendar-period/month-period.js +7 -6
- package/dist/collection/helpers/calendar/calendar-period/week-period.js +3 -3
- package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +1 -1
- package/dist/collection/helpers/calendar/test/calendar-date.test.js +24 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +71 -0
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +28 -0
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +35 -0
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +43 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +29 -1
- package/dist/collection/helpers/calendar/utils.js +46 -0
- package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -3
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +4 -0
- package/dist/collection/helpers/validator/form-field-controller.js +13 -3
- package/dist/collection/utils/test/ui.test.js +55 -0
- package/dist/collection/utils/ui.js +16 -3
- package/dist/esm/{app-globals-2623304e.js → app-globals-1bacb762.js} +10 -10
- package/dist/esm/{brand-switch-state-controller-slimmer-d6e4d217.js → brand-switch-state-controller-slimmer-60249013.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-7fe3dc57.js → child-nodes-event-prevent-slimmer-f32efdee.js} +1 -1
- package/dist/esm/{child-nodes-notify-observer-slimmer-78f77c2c.js → child-nodes-notify-observer-slimmer-b676cd2b.js} +1 -1
- package/dist/esm/{code-block-23e7f8d0.js → code-block-cb657afd.js} +13 -17
- package/dist/esm/{component-value-history-controller-slimmer.abstract-df25e4a1.js → component-value-history-controller-slimmer.abstract-65a83eaf.js} +6 -6
- package/dist/esm/{dark-mode-state-controller-slimmer-0c7d1c77.js → dark-mode-state-controller-slimmer-f2b4f8ed.js} +1 -1
- package/dist/esm/{dark-mode-style-controller-972e1f06.js → dark-mode-style-controller-b7e85b6a.js} +1 -1
- package/dist/esm/{design-token-0f439510.js → design-token-3889675a.js} +1 -1
- package/dist/esm/{dom-node-subject-observer-factory-c7bc3035.js → dom-node-subject-observer-factory-ed4b89f4.js} +1 -1
- package/dist/esm/{dto-renderer-manager-65b7b1b1.js → dto-renderer-manager-8cac8f0f.js} +11 -6
- package/dist/esm/{element-appender-slimmer-bf5ca501.js → element-appender-slimmer-31b21e1b.js} +6 -6
- package/dist/esm/{event-emit-slimmer-3922d816.js → event-emit-slimmer-000ca6a7.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-f7e8845b.js → form-field-controller-slimmer-24dbc255.js} +16 -8
- package/dist/esm/{image-annotation-action-af21ea8f.js → image-annotation-action-59ea166c.js} +5 -5
- package/dist/esm/{index-057d0f70.js → index-090d31ca.js} +1 -0
- package/dist/esm/{index-7fe93427.js → index-50b32f3d.js} +2 -2
- package/dist/esm/index.js +16 -16
- package/dist/esm/{inject-keyboard-manager-109817bf.js → inject-keyboard-manager-f7d92809.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-cb06e987.js → internal-vega-event-manager-13e3ed3d.js} +1 -1
- package/dist/esm/{keyboard-manager-ab521d22.js → keyboard-manager-f4bbc452.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-cae3a002.js → keyboard-manager-slimmer-a02cbc5f.js} +1 -1
- package/dist/esm/{language-extension-d355f9aa.js → language-extension-038014ac.js} +2 -2
- package/dist/esm/loader.js +15 -15
- package/dist/esm/{public-rules-1a5da7bf.js → public-rules-a42e6f59.js} +8 -8
- package/dist/esm/{range-fac2962c.js → range-c08d8de1.js} +2 -2
- package/dist/esm/{responsive-format-facade-2904b456.js → responsive-format-facade-d8ccc742.js} +5 -5
- package/dist/esm/{rich-text-editor-required-rule-bb94d680.js → rich-text-editor-required-rule-3a8f319c.js} +1 -1
- package/dist/esm/{static-subject-title-633b3474.js → static-subject-title-52f93124.js} +1 -5
- package/dist/esm/{string-input-formatter-slimmer-69117deb.js → string-input-formatter-slimmer-c64c7855.js} +3 -3
- package/dist/esm/{style-formatter-a724e38d.js → style-formatter-ab6a9248.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-4252a90e.js → sub-state-notify-slimmer-8b3b15ee.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-baa8853a.js → sub-state-observer-slimmer-2b98e2c9.js} +3 -3
- package/dist/esm/{token-extension-89eeef74.js → token-extension-f5bf06a5.js} +6 -6
- package/dist/esm/{translation-833d9ef4.js → translation-f10b1e19.js} +1 -1
- package/dist/esm/{translation-slimmer-c83b52c1.js → translation-slimmer-984c9ce6.js} +1 -1
- package/dist/esm/{ui-c20be16d.js → ui-bb99c0c2.js} +16 -3
- package/dist/esm/vega-accordion.entry.js +14 -14
- package/dist/esm/vega-app-footer.entry.js +4 -4
- package/dist/esm/vega-app-header-button.entry.js +15 -15
- package/dist/esm/vega-backdrop.entry.js +2 -2
- package/dist/esm/vega-banner.entry.js +5 -5
- package/dist/esm/vega-bar-chart.entry.js +1 -1
- package/dist/esm/vega-box.entry.js +14 -14
- package/dist/esm/vega-brand-logo.entry.js +4 -4
- package/dist/esm/vega-breadcrumb.entry.js +6 -6
- package/dist/esm/vega-button-circle.entry.js +20 -17
- package/dist/esm/vega-button-group_2.entry.js +9 -9
- package/dist/esm/vega-button-link.entry.js +6 -6
- package/dist/esm/vega-button.entry.js +20 -15
- package/dist/esm/vega-calendar_4.entry.js +529 -227
- package/dist/esm/vega-card.entry.js +13 -13
- package/dist/esm/vega-carousel.entry.js +13 -13
- package/dist/esm/vega-checkbox_2.entry.js +12 -12
- package/dist/esm/vega-chip.entry.js +15 -15
- package/dist/esm/vega-code-block.entry.js +16 -16
- package/dist/esm/vega-color-picker.entry.js +10 -10
- package/dist/esm/vega-combo-box.entry.js +13 -13
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +63 -26
- package/dist/esm/vega-dialog_2.entry.js +16 -16
- package/dist/esm/vega-divider.entry.js +13 -13
- package/dist/esm/vega-dropdown_5.entry.js +24 -23
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +2 -2
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-file-uploader.entry.js +11 -11
- package/dist/esm/vega-flag-icon.entry.js +13 -13
- package/dist/esm/vega-flex.entry.js +14 -14
- package/dist/esm/vega-font.entry.js +13 -13
- package/dist/esm/vega-form.entry.js +636 -323
- package/dist/esm/vega-grid.entry.js +13 -13
- package/dist/esm/vega-hint.entry.js +1 -1
- package/dist/esm/vega-icon.entry.js +13 -13
- package/dist/esm/vega-image-uploader.entry.js +18 -18
- package/dist/esm/vega-input-credit-card.entry.js +11 -11
- package/dist/esm/vega-input-numeric.entry.js +14 -14
- package/dist/esm/vega-input-phone-number.entry.js +15 -15
- package/dist/esm/vega-input-range.entry.js +12 -12
- package/dist/esm/vega-input-select.entry.js +17 -17
- package/dist/esm/vega-input.entry.js +12 -12
- package/dist/esm/{vega-internal-event-id-5a143cd2.js → vega-internal-event-id-5c3e5f7f.js} +5 -1
- package/dist/esm/vega-item-toggle.entry.js +5 -5
- package/dist/esm/vega-left-nav_5.entry.js +45 -21
- package/dist/esm/vega-line-chart.entry.js +1 -1
- package/dist/esm/vega-loader-wrapper_2.entry.js +12 -12
- package/dist/esm/vega-page-notification_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +7 -7
- package/dist/esm/vega-pagination.entry.js +15 -15
- package/dist/esm/vega-pie-chart.entry.js +1 -1
- package/dist/esm/vega-popover_2.entry.js +17 -17
- package/dist/esm/vega-progress-tracker.entry.js +5 -5
- package/dist/esm/vega-radio_2.entry.js +14 -14
- package/dist/esm/vega-rich-text-content.entry.js +11 -11
- package/dist/esm/vega-rich-text-editor_4.entry.js +25 -29
- package/dist/esm/vega-section-title.entry.js +1 -1
- package/dist/esm/vega-segment-control.entry.js +5 -5
- package/dist/esm/vega-selection-chip_2.entry.js +17 -17
- package/dist/esm/vega-selection-tile_2.entry.js +13 -13
- package/dist/esm/vega-sidenav_3.entry.js +15 -15
- package/dist/esm/vega-signature-capture.entry.js +17 -17
- package/dist/esm/vega-skeleton.entry.js +1 -1
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +11 -11
- package/dist/esm/vega-tab-group_2.entry.js +7 -7
- package/dist/esm/vega-table_8.entry.js +17 -17
- package/dist/esm/vega-text.entry.js +2 -2
- package/dist/esm/vega-textarea.entry.js +11 -11
- package/dist/esm/vega-time-picker_2.entry.js +20 -20
- package/dist/esm/vega-toggle-switch.entry.js +10 -10
- package/dist/esm/vega-tooltip_2.entry.js +15 -15
- package/dist/esm/vega.js +15 -15
- package/dist/sri/vega-sri-loader.js +147 -0
- package/dist/sri/vega-sri-manifest.json +698 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +6 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +5 -0
- package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +6 -0
- package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-repeat-pattern-factory.d.ts +3 -1
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-marker-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/types.d.ts +5 -0
- package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +3 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +17 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +13 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +158 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-reset-controller.d.ts +43 -0
- package/dist/types/components/vega-form/slimmers/controllers/vega-form-submit-controller.d.ts +55 -0
- package/dist/types/components/vega-form/slimmers/renderers/native-form-renderer.d.ts +12 -0
- package/dist/types/components/vega-form/types.d.ts +13 -0
- package/dist/types/components/vega-form/vega-form.d.ts +28 -97
- package/dist/types/components/vega-nav/slimmers/vega-nav-observer-slimmer.d.ts +3 -0
- package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +0 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +1 -2
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -1
- package/dist/types/components.d.ts +42 -1
- package/dist/types/helpers/calendar/calendar-date.d.ts +5 -3
- package/dist/types/helpers/calendar/calendar-event.d.ts +50 -1
- package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +8 -1
- package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -1
- package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +4 -3
- package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -1
- package/dist/types/helpers/calendar/utils.d.ts +22 -0
- package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +1 -4
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +4 -0
- package/dist/types/types/components.type.d.ts +0 -1
- package/dist/types/utils/ui.d.ts +5 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-050bb2ad.entry.js +1 -0
- package/dist/vega/{p-3cdbee7e.js → p-053eb64a.js} +1 -1
- package/dist/vega/{p-76c7538a.entry.js → p-0685cba6.entry.js} +1 -1
- package/dist/vega/{p-476cc642.entry.js → p-0b38a01f.entry.js} +1 -1
- package/dist/vega/{p-5e4fb663.entry.js → p-0bb3be0b.entry.js} +1 -1
- package/dist/vega/{p-e74c275a.entry.js → p-12d4488b.entry.js} +1 -1
- package/dist/vega/{p-5397648b.entry.js → p-13c6a04c.entry.js} +1 -1
- package/dist/vega/{p-b6c51409.entry.js → p-185dfdd4.entry.js} +1 -1
- package/dist/vega/{p-942fc9b9.js → p-199dc74b.js} +1 -1
- package/dist/vega/p-1bd5d806.entry.js +1 -0
- package/dist/vega/p-1eb5b772.entry.js +1 -0
- package/dist/vega/{p-2591f217.entry.js → p-1f061725.entry.js} +1 -1
- package/dist/vega/{p-64c281ec.entry.js → p-1f43f551.entry.js} +1 -1
- package/dist/vega/{p-1da54ff3.js → p-2033f86e.js} +1 -1
- package/dist/vega/{p-e513f041.js → p-228de113.js} +1 -1
- package/dist/vega/{p-f1436035.js → p-24cb0a7e.js} +1 -1
- package/dist/vega/{p-f92fc49b.entry.js → p-299e14b4.entry.js} +1 -1
- package/dist/vega/{p-da6369d4.entry.js → p-2d91799a.entry.js} +1 -1
- package/dist/vega/{p-0bc93777.entry.js → p-2f4f3744.entry.js} +1 -1
- package/dist/vega/{p-b32f7aac.entry.js → p-303efbfe.entry.js} +1 -1
- package/dist/vega/p-308aa2e3.js +1 -0
- package/dist/vega/{p-d15e70d7.entry.js → p-33837794.entry.js} +1 -1
- package/dist/vega/p-33c6fb3f.entry.js +1 -0
- package/dist/vega/{p-9b2d8516.entry.js → p-3494a5f1.entry.js} +1 -1
- package/dist/vega/{p-66199d68.js → p-378e5881.js} +1 -1
- package/dist/vega/{p-bf0ced3c.js → p-39482a1a.js} +1 -1
- package/dist/vega/p-39b4c838.js +1 -0
- package/dist/vega/{p-3be7bfee.entry.js → p-3b953a24.entry.js} +1 -1
- package/dist/vega/{p-2ee4def0.js → p-3c21b875.js} +1 -1
- package/dist/vega/p-43257678.js +1 -0
- package/dist/vega/{p-4c3075ef.js → p-45ead9fe.js} +1 -1
- package/dist/vega/{p-351405f2.entry.js → p-4897bedd.entry.js} +1 -1
- package/dist/vega/{p-02a4732a.js → p-4c192985.js} +1 -1
- package/dist/vega/{p-cc5a3a1b.entry.js → p-4dd6554e.entry.js} +1 -1
- package/dist/vega/{p-d4564bfd.js → p-521d1d07.js} +1 -1
- package/dist/vega/{p-57257de0.entry.js → p-5910be31.entry.js} +1 -1
- package/dist/vega/{p-9c309b85.entry.js → p-59d70a67.entry.js} +1 -1
- package/dist/vega/{p-20223e8e.entry.js → p-5cdcd08f.entry.js} +1 -1
- package/dist/vega/{p-589b7ea3.entry.js → p-5d36cc3f.entry.js} +1 -1
- package/dist/vega/{p-09cb98f3.entry.js → p-5e1c913d.entry.js} +1 -1
- package/dist/vega/p-5e2ef0b8.entry.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-81fbf18f.entry.js → p-5f854901.entry.js} +1 -1
- package/dist/vega/p-5fec05a2.js +1 -0
- package/dist/vega/p-63596567.entry.js +1 -0
- package/dist/vega/{p-92469fa1.entry.js → p-63a5bbf4.entry.js} +1 -1
- package/dist/vega/{p-89d2cf34.js → p-64c3d021.js} +1 -1
- package/dist/vega/{p-0b36f4ce.js → p-651fe4fc.js} +1 -1
- package/dist/vega/{p-26ef2066.entry.js → p-671afda4.entry.js} +1 -1
- package/dist/vega/{p-5970369e.entry.js → p-676bee73.entry.js} +1 -1
- package/dist/vega/{p-6180c1af.entry.js → p-6a4db686.entry.js} +1 -1
- package/dist/vega/{p-614e450a.entry.js → p-6ce1e9d4.entry.js} +1 -1
- package/dist/vega/{p-460429da.entry.js → p-6d371296.entry.js} +1 -1
- package/dist/vega/{p-bc0ae89a.entry.js → p-6f96dd01.entry.js} +1 -1
- package/dist/vega/{p-2d58cf34.entry.js → p-719354e7.entry.js} +1 -1
- package/dist/vega/{p-134ed822.entry.js → p-74e684fc.entry.js} +1 -1
- package/dist/vega/{p-969066d3.entry.js → p-78d607ca.entry.js} +1 -1
- package/dist/vega/p-7c594a9f.js +1 -0
- package/dist/vega/p-7cd2b93b.js +1 -0
- package/dist/vega/{p-8a484812.entry.js → p-833d81d0.entry.js} +1 -1
- package/dist/vega/{p-4f21faf1.js → p-840c09c7.js} +1 -1
- package/dist/vega/p-852fa2d2.entry.js +1 -0
- package/dist/vega/{p-4f5a2b0c.entry.js → p-85ad1c21.entry.js} +1 -1
- package/dist/vega/{p-b4d88fce.entry.js → p-8a5c123f.entry.js} +1 -1
- package/dist/vega/{p-5313d0bc.js → p-901ff5d3.js} +1 -1
- package/dist/vega/{p-2f88ba36.entry.js → p-9439077d.entry.js} +1 -1
- package/dist/vega/{p-c2377afa.js → p-99b1492c.js} +1 -1
- package/dist/vega/{p-40924882.entry.js → p-9d492a46.entry.js} +1 -1
- package/dist/vega/p-9e6db93d.entry.js +1 -0
- package/dist/vega/{p-427b2b55.entry.js → p-a082d41b.entry.js} +1 -1
- package/dist/vega/{p-27dfa896.js → p-a4912b85.js} +1 -1
- package/dist/vega/p-a528714c.js +1 -0
- package/dist/vega/{p-521ace2d.js → p-a5713178.js} +1 -1
- package/dist/vega/{p-7cd2fac8.entry.js → p-a6010b93.entry.js} +1 -1
- package/dist/vega/{p-b110b7bd.entry.js → p-a61e2108.entry.js} +1 -1
- package/dist/vega/{p-3fba9e77.entry.js → p-a69c9e42.entry.js} +1 -1
- package/dist/vega/{p-cfb2af9c.entry.js → p-ab3c4b43.entry.js} +1 -1
- package/dist/vega/{p-8175d8de.entry.js → p-ad2055f4.entry.js} +1 -1
- package/dist/vega/{p-0717073b.entry.js → p-ae598946.entry.js} +1 -1
- package/dist/vega/{p-743c5baf.js → p-b4c25109.js} +1 -1
- package/dist/vega/{p-2608b9fe.js → p-b510e4d7.js} +1 -1
- package/dist/vega/{p-2a1b3108.entry.js → p-b68a13df.entry.js} +1 -1
- package/dist/vega/{p-320cccc5.entry.js → p-ba24f7b9.entry.js} +1 -1
- package/dist/vega/{p-2b90fae6.js → p-bc9484a6.js} +1 -1
- package/dist/vega/{p-dcae53cf.entry.js → p-c12000ee.entry.js} +1 -1
- package/dist/vega/{p-25c831a4.entry.js → p-c1fa6088.entry.js} +2 -2
- package/dist/vega/{p-ab29f968.js → p-c241f615.js} +1 -1
- package/dist/vega/{p-6244b0ad.entry.js → p-c682d53c.entry.js} +1 -1
- package/dist/vega/{p-c61f8ca6.entry.js → p-c8a3fb7f.entry.js} +1 -1
- package/dist/vega/{p-0ec14fbc.entry.js → p-c96d28dc.entry.js} +1 -1
- package/dist/vega/p-cef9f638.js +1 -0
- package/dist/vega/{p-648134d2.entry.js → p-cf211582.entry.js} +1 -1
- package/dist/vega/p-d3137a6e.entry.js +1 -0
- package/dist/vega/p-d418ecc1.entry.js +1 -0
- package/dist/vega/p-d5d6dae6.js +1 -0
- package/dist/vega/p-d5ff8b7f.js +1 -0
- package/dist/vega/p-d9671d27.js +1 -0
- package/dist/vega/{p-7bad6577.entry.js → p-dabba918.entry.js} +1 -1
- package/dist/vega/{p-dadc6ab3.js → p-dc92fec6.js} +1 -1
- package/dist/vega/{p-36ae2dd3.entry.js → p-e5af5a4d.entry.js} +1 -1
- package/dist/vega/{p-b1054e18.entry.js → p-e853105a.entry.js} +1 -1
- package/dist/vega/{p-d72abacd.entry.js → p-e9b86dac.entry.js} +1 -1
- package/dist/vega/p-ebfc4323.entry.js +1 -0
- package/dist/vega/{p-81765b4b.entry.js → p-f83739d0.entry.js} +1 -1
- package/dist/vega/{p-6585cfd5.entry.js → p-fbc85265.entry.js} +1 -1
- package/dist/vega/{p-3ab20f9e.entry.js → p-fbd38139.entry.js} +1 -1
- package/dist/vega/{p-bdd9ef3b.js → p-fddca002.js} +1 -1
- package/dist/vega/{p-de1ee131.entry.js → p-fee972e6.entry.js} +1 -1
- package/dist/vega/{p-b73532c0.entry.js → p-fff13ed1.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/vega/p-02b29c18.js +0 -1
- package/dist/vega/p-079f5d94.entry.js +0 -1
- package/dist/vega/p-0e3cd270.entry.js +0 -1
- package/dist/vega/p-0e954b9b.js +0 -1
- package/dist/vega/p-10454aa5.entry.js +0 -1
- package/dist/vega/p-258f9603.js +0 -1
- package/dist/vega/p-51d40b0d.entry.js +0 -1
- package/dist/vega/p-56ff8559.entry.js +0 -1
- package/dist/vega/p-575235c8.js +0 -1
- package/dist/vega/p-657446a3.entry.js +0 -1
- package/dist/vega/p-6908117a.js +0 -1
- package/dist/vega/p-846ae5fb.js +0 -1
- package/dist/vega/p-893d5dfa.js +0 -1
- package/dist/vega/p-8a6b820a.entry.js +0 -1
- package/dist/vega/p-8a877e12.js +0 -1
- package/dist/vega/p-9ffd2a96.entry.js +0 -1
- package/dist/vega/p-bb61f015.js +0 -1
- package/dist/vega/p-c7726252.js +0 -1
- package/dist/vega/p-d85b0bfa.entry.js +0 -1
- package/dist/vega/p-d87c3058.entry.js +0 -1
- package/dist/vega/p-e0729c4d.entry.js +0 -1
- package/dist/vega/p-e5cd6521.js +0 -1
- /package/dist/vega/{p-48a58baf.js → p-6b2342e0.js} +0 -0
|
@@ -2,43 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
6
|
-
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-cc6e53a4.js');
|
|
5
|
+
const index = require('./index-58ea899e.js');
|
|
7
6
|
const changeManager = require('./change-manager-a297e4d2.js');
|
|
8
|
-
const
|
|
9
|
-
const staticSubjectTitle = require('./static-subject-title-85732e0f.js');
|
|
10
|
-
const array = require('./array-249289f2.js');
|
|
7
|
+
const staticSubjectTitle = require('./static-subject-title-5829a298.js');
|
|
11
8
|
const component = require('./component-1e352960.js');
|
|
12
|
-
const ui = require('./ui-4ce1fa08.js');
|
|
13
|
-
const immutableMap = require('./immutable-map-edf24b54.js');
|
|
14
9
|
const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
|
|
10
|
+
const placeholder = require('./placeholder-cb6d37ad.js');
|
|
15
11
|
const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-d10ace87.js');
|
|
16
|
-
const eventEmitSlimmer = require('./event-emit-slimmer-
|
|
17
|
-
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-
|
|
18
|
-
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
12
|
+
const eventEmitSlimmer = require('./event-emit-slimmer-3cefb326.js');
|
|
13
|
+
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-feb072c4.js');
|
|
14
|
+
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-56609e5a.js');
|
|
15
|
+
const subStateNotifySlimmer = require('./sub-state-notify-slimmer-066f2aa9.js');
|
|
16
|
+
const subStateObserverSlimmer = require('./sub-state-observer-slimmer-569e3297.js');
|
|
17
|
+
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-1e1123ea.js');
|
|
18
|
+
const tryGetDocument = require('./try-get-document-c0ebd39a.js');
|
|
19
|
+
const vegaInternalEventId = require('./vega-internal-event-id-6d4a2c53.js');
|
|
20
|
+
const observer = require('./observer-f49483e8.js');
|
|
21
|
+
const ui = require('./ui-9e181079.js');
|
|
22
|
+
const immutableMap = require('./immutable-map-edf24b54.js');
|
|
23
|
+
const childNodesNotifyObserverSlimmer = require('./child-nodes-notify-observer-slimmer-257fedb3.js');
|
|
24
|
+
const array = require('./array-249289f2.js');
|
|
25
|
+
require('./dynamic-slimmer-f31fdfd7.js');
|
|
26
|
+
require('./internal-vega-event-manager-9b503f1a.js');
|
|
27
|
+
require('./vega-env-manager-23b8b23c.js');
|
|
28
|
+
require('./feature-flag-controller-ce2162c8.js');
|
|
29
|
+
require('./index-4d7bce1a.js');
|
|
30
|
+
require('./_commonjsHelpers-537d719a.js');
|
|
23
31
|
require('./string-39438062.js');
|
|
24
32
|
require('./create-public-api-runtime-metrics-slimmer-e2e274e1.js');
|
|
25
|
-
require('./
|
|
26
|
-
require('./translation-cde4dce3.js');
|
|
33
|
+
require('./translation-f5adcb9f.js');
|
|
27
34
|
require('./page-resize-observer-slimmer-11937d6f.js');
|
|
28
35
|
require('./ui-32e69595.js');
|
|
29
36
|
require('./breakpoints-ebde4837.js');
|
|
30
|
-
require('./try-get-document-c0ebd39a.js');
|
|
31
37
|
require('./internal-form-field-validation-rule.abstract-07cdff46.js');
|
|
32
38
|
require('./mutation-observer-slimmer-749d5020.js');
|
|
33
39
|
require('./mutation-observer-filters-38cebc6d.js');
|
|
34
40
|
require('./number-4816603d.js');
|
|
35
|
-
require('./internal-vega-event-manager-28b957c8.js');
|
|
36
|
-
require('./vega-env-manager-23b8b23c.js');
|
|
37
|
-
require('./feature-flag-controller-ce2162c8.js');
|
|
38
|
-
require('./index-4d7bce1a.js');
|
|
39
|
-
require('./_commonjsHelpers-537d719a.js');
|
|
40
41
|
|
|
41
|
-
var __decorate$
|
|
42
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
42
43
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
43
44
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
44
45
|
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;
|
|
@@ -61,14 +62,14 @@ class VegaFormNestStateController extends subStateObserverSlimmer.SubStateObserv
|
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
__decorate$
|
|
65
|
+
__decorate$6([
|
|
65
66
|
globalSlimmerRegistry.MapToComponentField()
|
|
66
67
|
], VegaFormNestStateController.prototype, "host", void 0);
|
|
67
|
-
__decorate$
|
|
68
|
+
__decorate$6([
|
|
68
69
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
69
70
|
], VegaFormNestStateController.prototype, "disableBlurValidation", void 0);
|
|
70
71
|
|
|
71
|
-
var __decorate$
|
|
72
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
72
73
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
73
74
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
74
75
|
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;
|
|
@@ -138,12 +139,590 @@ class VegaFormFieldValidationStateController extends globalSlimmerRegistry.VegaS
|
|
|
138
139
|
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_ELEMENT_VALIDATE, { host: target, detail: isValid });
|
|
139
140
|
}
|
|
140
141
|
}
|
|
142
|
+
__decorate$5([
|
|
143
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
144
|
+
], VegaFormFieldValidationStateController.prototype, "host", void 0);
|
|
145
|
+
__decorate$5([
|
|
146
|
+
globalSlimmerRegistry.MapToComponentMethod('setValidationStates')
|
|
147
|
+
], VegaFormFieldValidationStateController.prototype, "setValidationStates", null);
|
|
148
|
+
|
|
149
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
150
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
151
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
152
|
+
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;
|
|
153
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* The native form renderer for vega form to render a native HTML form element.
|
|
157
|
+
*/
|
|
158
|
+
class NativeFormRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
159
|
+
getNativeFormRef() {
|
|
160
|
+
return this.nativeFormRef;
|
|
161
|
+
}
|
|
162
|
+
render() {
|
|
163
|
+
return (index.h("form", { action: this.action, method: this.method, ref: (ref) => {
|
|
164
|
+
if (ref) {
|
|
165
|
+
this.nativeFormRef = ref;
|
|
166
|
+
}
|
|
167
|
+
} },
|
|
168
|
+
index.h("slot", null)));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
__decorate$4([
|
|
172
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
173
|
+
], NativeFormRenderer.prototype, "method", void 0);
|
|
174
|
+
__decorate$4([
|
|
175
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
176
|
+
], NativeFormRenderer.prototype, "action", void 0);
|
|
177
|
+
|
|
178
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
179
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
180
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
181
|
+
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;
|
|
182
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Controller responsible for handling form submission in the VegaForm component.
|
|
186
|
+
*/
|
|
187
|
+
class VegaFormSubmitController extends globalSlimmerRegistry.VegaSlimmer {
|
|
188
|
+
/**
|
|
189
|
+
* Component lifecycle - [connectedCallback]
|
|
190
|
+
*/
|
|
191
|
+
connectedCallback() {
|
|
192
|
+
this.registerFormSubmitChangeManager();
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Component lifecycle - [disconnectedCallback]
|
|
196
|
+
*/
|
|
197
|
+
disconnectedCallback() {
|
|
198
|
+
this.unregisterFormSubmitChangeManager();
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Submits the form using native HTML form submission with all current field values.
|
|
202
|
+
*
|
|
203
|
+
* This method collects all form field values, creates hidden input elements for each field,
|
|
204
|
+
* appends them to a container inside the native form, and then triggers the native
|
|
205
|
+
* `requestSubmit()` method to submit the form.
|
|
206
|
+
*
|
|
207
|
+
* The method ensures that the form data is available in the native form for submission,
|
|
208
|
+
* which is useful when `useNativeForm` is enabled.
|
|
209
|
+
*
|
|
210
|
+
* @returns {Promise<void>} Resolves when the form submission process is complete.
|
|
211
|
+
*/
|
|
212
|
+
async submitWithFormData() {
|
|
213
|
+
if (!this.useNativeForm)
|
|
214
|
+
return;
|
|
215
|
+
const data = await this.host.getValue();
|
|
216
|
+
for (const dataKey in data) {
|
|
217
|
+
const hiddenInput = tryGetDocument.tryGetDocument().createElement('input');
|
|
218
|
+
hiddenInput.type = 'hidden';
|
|
219
|
+
hiddenInput.name = dataKey;
|
|
220
|
+
hiddenInput.value = data[dataKey];
|
|
221
|
+
this.nativeFormRenderer.getNativeFormRef().append(hiddenInput);
|
|
222
|
+
}
|
|
223
|
+
this.nativeFormRenderer.getNativeFormRef().requestSubmit();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Registers the form submit event observer with the ChangeManager.
|
|
227
|
+
*/
|
|
228
|
+
registerFormSubmitChangeManager() {
|
|
229
|
+
var _a;
|
|
230
|
+
this.formSubmitEventObserver = new observer.Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
|
|
231
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
232
|
+
changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormSubmit), this.formSubmitEventObserver);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Unregister the form submit event observer from the ChangeManager.
|
|
236
|
+
*/
|
|
237
|
+
unregisterFormSubmitChangeManager() {
|
|
238
|
+
var _a;
|
|
239
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
240
|
+
changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormSubmit), this.formSubmitEventObserver);
|
|
241
|
+
}
|
|
242
|
+
/*
|
|
243
|
+
* The below method is e2e-test covered in
|
|
244
|
+
* @see{module:vega-form-field-enter-to-submit-e2e}
|
|
245
|
+
*/
|
|
246
|
+
/* istanbul ignore next */
|
|
247
|
+
/**
|
|
248
|
+
* Can accept handler for FORM_SUBMIT.
|
|
249
|
+
*
|
|
250
|
+
* @param {FormEventsPayload} payload - The payload containing the host element that triggered the submit event.
|
|
251
|
+
* @returns {boolean} True if the host element is part of the current form, false otherwise.
|
|
252
|
+
*/
|
|
253
|
+
canAcceptFormSubmitEvent(payload) {
|
|
254
|
+
return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Handles the form submission process.
|
|
258
|
+
*
|
|
259
|
+
* @returns {Promise<void>} Resolves when the submission process is complete.
|
|
260
|
+
*/
|
|
261
|
+
async handleSubmitEvents() {
|
|
262
|
+
const valid = await this.host.valid();
|
|
263
|
+
if (valid.isValid) {
|
|
264
|
+
const formValue = await this.host.getValue();
|
|
265
|
+
const submitEvent = this.submitEventEmitter.emit(formValue);
|
|
266
|
+
if (!submitEvent.defaultPrevented) {
|
|
267
|
+
await this.submitWithFormData();
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
__decorate$3([
|
|
273
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
274
|
+
], VegaFormSubmitController.prototype, "host", void 0);
|
|
275
|
+
__decorate$3([
|
|
276
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
277
|
+
], VegaFormSubmitController.prototype, "useNativeForm", void 0);
|
|
278
|
+
__decorate$3([
|
|
279
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
280
|
+
], VegaFormSubmitController.prototype, "nativeFormRenderer", void 0);
|
|
281
|
+
__decorate$3([
|
|
282
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
283
|
+
], VegaFormSubmitController.prototype, "submitEventEmitter", void 0);
|
|
284
|
+
__decorate$3([
|
|
285
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
286
|
+
], VegaFormSubmitController.prototype, "vegaFormFieldController", void 0);
|
|
287
|
+
__decorate$3([
|
|
288
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
289
|
+
], VegaFormSubmitController.prototype, "connectedCallback", null);
|
|
290
|
+
__decorate$3([
|
|
291
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
292
|
+
], VegaFormSubmitController.prototype, "disconnectedCallback", null);
|
|
293
|
+
|
|
294
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
295
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
296
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
297
|
+
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;
|
|
298
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* The form field controller for vega form to manage the form field states.
|
|
302
|
+
*/
|
|
303
|
+
class VegaFormFieldController extends globalSlimmerRegistry.VegaSlimmer {
|
|
304
|
+
constructor() {
|
|
305
|
+
super(...arguments);
|
|
306
|
+
this.childNotifyObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALIDATE, (input) => this.updateInternalValidStatus(input));
|
|
307
|
+
this.childNodeValueChangeObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALUE_CHANGE, () => {
|
|
308
|
+
this.isTouched = true;
|
|
309
|
+
});
|
|
310
|
+
this._invalidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
311
|
+
this._invalidFieldPathMap = newMap;
|
|
312
|
+
this.updateIsValidFlag();
|
|
313
|
+
});
|
|
314
|
+
/**
|
|
315
|
+
* The form field element pending async valid map
|
|
316
|
+
*/
|
|
317
|
+
this._pendingValidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
318
|
+
this._pendingValidFieldPathMap = newMap;
|
|
319
|
+
this.updateIsValidFlag();
|
|
320
|
+
});
|
|
321
|
+
/**
|
|
322
|
+
* If the element is valid, remove it from the set of
|
|
323
|
+
* invalid elements. If the element is invalid,
|
|
324
|
+
* add it to the set of invalid elements.
|
|
325
|
+
*
|
|
326
|
+
* @param {NotifyObserverPayload<boolean>} payload - CustomEvent<boolean> the vegaValidate subject notify from child elements
|
|
327
|
+
*/
|
|
328
|
+
this.updateInternalValidStatus = (payload) => {
|
|
329
|
+
if (payload.host !== this.host) {
|
|
330
|
+
const target = payload.host;
|
|
331
|
+
const isElementValid = payload.detail;
|
|
332
|
+
if (formFieldControllerSlimmer.FormFieldControllerSlimmer.isValidFormField(target) &&
|
|
333
|
+
this.shouldVisitElement(target, false, false)) {
|
|
334
|
+
if (isElementValid) {
|
|
335
|
+
this.invalidFieldPathMap.delete(target);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
this.invalidFieldPathMap.set(target, target.dataset['vegaForm']);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Component lifecycle - [connectedCallback]
|
|
346
|
+
*/
|
|
347
|
+
connectedCallback() {
|
|
348
|
+
this.initFormFieldDisconnectedObserver();
|
|
349
|
+
this.registerFormFieldPendingValid();
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* When the vegaForm is deleted, it is necessary to notify the parent's vegaForm to update its isValid status.
|
|
353
|
+
*/
|
|
354
|
+
disconnectedCallback() {
|
|
355
|
+
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, { host: this.host });
|
|
356
|
+
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
357
|
+
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* @inheritDoc
|
|
361
|
+
*/
|
|
362
|
+
async getValue(option) {
|
|
363
|
+
const result = {};
|
|
364
|
+
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
365
|
+
const formFieldName = this.getFormFieldName(element);
|
|
366
|
+
if (isForm) {
|
|
367
|
+
result[formFieldName] = await element.getValue(option);
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
result[formFieldName] = this.getFormFieldValue(element);
|
|
371
|
+
}
|
|
372
|
+
}, option);
|
|
373
|
+
return (array.isObjectArrayLike(result) ? Object.values(result) : result);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* @inheritDoc
|
|
377
|
+
*/
|
|
378
|
+
async setValue(value, option) {
|
|
379
|
+
if (value) {
|
|
380
|
+
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
381
|
+
const formFieldName = this.getFormFieldName(element);
|
|
382
|
+
if (isForm) {
|
|
383
|
+
await element.setValue(value[formFieldName], option);
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
await element.componentOnReady(); // Link issue https://gethired.atlassian.net/browse/GHUI-385
|
|
387
|
+
if (value[formFieldName] !== undefined) {
|
|
388
|
+
// If element have setValue method, we will directly call this method, otherwise we set the value to value property.
|
|
389
|
+
typeof element['setValue'] === 'function'
|
|
390
|
+
? await element['setValue'](value[formFieldName])
|
|
391
|
+
: (element['value'] = value[formFieldName]);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}, option);
|
|
395
|
+
this.isTouched = false;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* @inheritDoc
|
|
400
|
+
*/
|
|
401
|
+
async valid(showError = true) {
|
|
402
|
+
const result = { isValid: true, invalidFields: [] };
|
|
403
|
+
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
404
|
+
if (typeof element['valid'] === 'function' && isForm) {
|
|
405
|
+
const nestedFormValidationResult = await element.valid(showError);
|
|
406
|
+
if (!nestedFormValidationResult.isValid) {
|
|
407
|
+
result.isValid = false;
|
|
408
|
+
result.invalidFields.push(...nestedFormValidationResult.invalidFields);
|
|
409
|
+
result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
|
|
414
|
+
if (!isValid) {
|
|
415
|
+
result.isValid = false;
|
|
416
|
+
result.invalidFields.push(this.getFormFieldName(element));
|
|
417
|
+
if (!result.invalidFieldsErrorMessages) {
|
|
418
|
+
result.invalidFieldsErrorMessages = {};
|
|
419
|
+
}
|
|
420
|
+
result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
return result;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* The getter for the {@link _invalidFieldPathMap}
|
|
428
|
+
*
|
|
429
|
+
* @returns {ImmutableMap<HTMLElement, string>} The map of invalid field elements and their paths
|
|
430
|
+
*/
|
|
431
|
+
get invalidFieldPathMap() {
|
|
432
|
+
return this._invalidFieldPathMap;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* The getter for the {@link _pendingValidFieldPathMap}
|
|
436
|
+
*
|
|
437
|
+
* @returns {ImmutableMap<HTMLElement, string>} The map of pending valid field elements and their paths
|
|
438
|
+
*/
|
|
439
|
+
get pendingValidFieldPathMap() {
|
|
440
|
+
return this._pendingValidFieldPathMap;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Set the isTouched property of the form.
|
|
444
|
+
*
|
|
445
|
+
* @param {boolean} isTouched - The new value for isTouched.
|
|
446
|
+
*/
|
|
447
|
+
setIsTouched(isTouched) {
|
|
448
|
+
this.isTouched = isTouched;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* It returns the value of data-vega-form that the given element is associated with.
|
|
452
|
+
*
|
|
453
|
+
* @param {HTMLElement} element - The element that is being validated.
|
|
454
|
+
* @returns {string} The name of the field.
|
|
455
|
+
*/
|
|
456
|
+
getFormFieldName(element) {
|
|
457
|
+
return element.dataset['vegaForm'];
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Check if the given element is part of the current form.
|
|
461
|
+
*
|
|
462
|
+
* @param {HTMLElement} element - The element to check.
|
|
463
|
+
* @returns {boolean} True if the element is part of the current form, false otherwise.
|
|
464
|
+
*/
|
|
465
|
+
isElementInCurrentForm(element) {
|
|
466
|
+
return this.invalidFieldPathMap.has(element) || ui.isParent(element, this.host);
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Navigate the immediate child node under current vega form element with the following strategy
|
|
470
|
+
* - if a matched vega field element found, will pass it to the visitor method passed in
|
|
471
|
+
* - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
|
|
472
|
+
* Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
|
|
473
|
+
*
|
|
474
|
+
* @param {(element: HTMLElement, isForm: boolean) => Promise<void>} visitor async callback method that will be invoked if a matched vega field element found
|
|
475
|
+
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
476
|
+
* @param {HTMLElement} [startElementNode=this.host] the element to start the navigation, default to current vega form host
|
|
477
|
+
* @returns {Promise<void>} return void wrapped with promise to notify the navigation is done
|
|
478
|
+
*/
|
|
479
|
+
async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
|
|
480
|
+
const promiseQueue = [];
|
|
481
|
+
Array.from(startElementNode.children).forEach((child) => {
|
|
482
|
+
if (formFieldControllerSlimmer.FormFieldControllerSlimmer.isValidFormField(child)) {
|
|
483
|
+
if (this.shouldVisitElement(child, option === null || option === void 0 ? void 0 : option.skipDisabled, option === null || option === void 0 ? void 0 : option.skipInvisible)) {
|
|
484
|
+
promiseQueue.push(visitor(child, child.tagName === 'VEGA-FORM'));
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
promiseQueue.push(this.navigateVegaFormChildren(visitor, option, child));
|
|
489
|
+
}
|
|
490
|
+
});
|
|
491
|
+
await Promise.all(promiseQueue);
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Update the {@link isValid} property value based on the size of {@link invalidFieldPathMap}
|
|
495
|
+
* If the number of invalid elements is zero, then the form is valid.
|
|
496
|
+
*/
|
|
497
|
+
updateIsValidFlag() {
|
|
498
|
+
this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Registers an observer with the ChangeManager that will be notified when a form field's pending validation state changes.
|
|
502
|
+
*/
|
|
503
|
+
registerFormFieldPendingValid() {
|
|
504
|
+
this.formFieldPendingValidObserver = new observer.Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
|
|
505
|
+
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Can accept handler for FORM_FIELD_PENDING_VALID_CHANGE.
|
|
509
|
+
*
|
|
510
|
+
* @param {PendingValidPayload} payload - The payload containing the host element that triggered the pending valid change event.
|
|
511
|
+
* @returns {boolean} True if the host element is part of the current form, false otherwise.
|
|
512
|
+
*/
|
|
513
|
+
canAcceptFormFieldPendingValid(payload) {
|
|
514
|
+
return this.isElementInCurrentForm(payload.host);
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Handles the pending valid state change for a form field.
|
|
518
|
+
*
|
|
519
|
+
* @param {PendingValidPayload} payload - The payload containing the host element and its pending valid state.
|
|
520
|
+
*/
|
|
521
|
+
handleFieldPendingValid(payload) {
|
|
522
|
+
if (typeof payload.detail === 'boolean') {
|
|
523
|
+
this.pendingValidFieldPathMap.delete(payload.host);
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* This function registers an observer with the ChangeManager that will be notified when an element
|
|
531
|
+
* delete operation is triggered
|
|
532
|
+
*/
|
|
533
|
+
initFormFieldDisconnectedObserver() {
|
|
534
|
+
this.formFieldDisconnectedObserver = new observer.Observer(this.canAcceptFormFieldDisconnectedOperation.bind(this), this.updateInvalidFieldPath.bind(this));
|
|
535
|
+
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* If the deleted element is a child or grandchild of current vegaForm, the isValid of all these vegaForms will be updated.
|
|
539
|
+
*
|
|
540
|
+
* @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
|
|
541
|
+
* @returns {boolean} A boolean value.
|
|
542
|
+
*/
|
|
543
|
+
canAcceptFormFieldDisconnectedOperation(payload) {
|
|
544
|
+
return this.invalidFieldPathMap.has(payload.host);
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
|
|
548
|
+
*
|
|
549
|
+
* @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
|
|
550
|
+
*/
|
|
551
|
+
async updateInvalidFieldPath(payload) {
|
|
552
|
+
this.invalidFieldPathMap.delete(payload.host);
|
|
553
|
+
this.pendingValidFieldPathMap.delete(payload.host);
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* 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.
|
|
557
|
+
*
|
|
558
|
+
* @param {HTMLElement} element - The HTMLElement to check.
|
|
559
|
+
* @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
|
|
560
|
+
* @param {boolean} skipInvisible - If true, only visible elements will be visited.
|
|
561
|
+
* @returns {boolean} a boolean value.
|
|
562
|
+
*/
|
|
563
|
+
shouldVisitElement(element, skipDisabled, skipInvisible) {
|
|
564
|
+
return (this.getFormFieldName(element) &&
|
|
565
|
+
(!skipDisabled || !element['disabled']) &&
|
|
566
|
+
(!skipInvisible || ui.isElementVisible(element)));
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* It retrieves the value of a form field element.
|
|
570
|
+
*
|
|
571
|
+
* @param {HTMLElement} element - The form field element.
|
|
572
|
+
* @returns {unknown} The value of the form field element.
|
|
573
|
+
*/
|
|
574
|
+
getFormFieldValue(element) {
|
|
575
|
+
return typeof element['value'] === 'undefined'
|
|
576
|
+
? // use element.getAttribute since the value property is not available in unit testing
|
|
577
|
+
element.getAttribute('value')
|
|
578
|
+
: element['value'];
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* It handles the validation of a child form field element.
|
|
582
|
+
*
|
|
583
|
+
* @param {HTMLElement} element - The form field element to validate.
|
|
584
|
+
* @param {boolean | 'rule'} showError - Whether to show error messages.
|
|
585
|
+
* @returns {Promise<EvaluateResultBase>} The validation result.
|
|
586
|
+
*/
|
|
587
|
+
async handleChildFormFieldElementValid(element, showError) {
|
|
588
|
+
const subject = domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(element, vegaInternalEventId.VegaInternalValid);
|
|
589
|
+
const { isValid, message } = await new Promise((resolve) => {
|
|
590
|
+
//This setTimeout method here to avoid the dom node subject observer not existing and blocks the promise status
|
|
591
|
+
const timerId = setTimeout(() => {
|
|
592
|
+
resolve({ isValid: true, message: '' });
|
|
593
|
+
}, 2000);
|
|
594
|
+
changeManager.ChangeManager.notify(subject, {
|
|
595
|
+
host: element,
|
|
596
|
+
message: showError,
|
|
597
|
+
promiseResolve: resolve,
|
|
598
|
+
timerId,
|
|
599
|
+
});
|
|
600
|
+
});
|
|
601
|
+
return { isValid, message };
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
__decorate$2([
|
|
605
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
606
|
+
], VegaFormFieldController.prototype, "host", void 0);
|
|
607
|
+
__decorate$2([
|
|
608
|
+
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
609
|
+
], VegaFormFieldController.prototype, "isValid", void 0);
|
|
610
|
+
__decorate$2([
|
|
611
|
+
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
612
|
+
], VegaFormFieldController.prototype, "isTouched", void 0);
|
|
613
|
+
__decorate$2([
|
|
614
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
615
|
+
], VegaFormFieldController.prototype, "childNotifyObserver", void 0);
|
|
616
|
+
__decorate$2([
|
|
617
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
618
|
+
], VegaFormFieldController.prototype, "childNodeValueChangeObserver", void 0);
|
|
619
|
+
__decorate$2([
|
|
620
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
621
|
+
], VegaFormFieldController.prototype, "connectedCallback", null);
|
|
622
|
+
__decorate$2([
|
|
623
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
624
|
+
], VegaFormFieldController.prototype, "disconnectedCallback", null);
|
|
625
|
+
__decorate$2([
|
|
626
|
+
globalSlimmerRegistry.MapToComponentMethod('getValue')
|
|
627
|
+
], VegaFormFieldController.prototype, "getValue", null);
|
|
628
|
+
__decorate$2([
|
|
629
|
+
globalSlimmerRegistry.MapToComponentMethod('setValue')
|
|
630
|
+
], VegaFormFieldController.prototype, "setValue", null);
|
|
631
|
+
__decorate$2([
|
|
632
|
+
globalSlimmerRegistry.MapToComponentMethod('valid')
|
|
633
|
+
], VegaFormFieldController.prototype, "valid", null);
|
|
634
|
+
|
|
635
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
636
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
637
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
638
|
+
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;
|
|
639
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
640
|
+
};
|
|
641
|
+
/**
|
|
642
|
+
* Reset controller for handling form reset events in the VegaForm component.
|
|
643
|
+
*/
|
|
644
|
+
class VegaFormResetController extends globalSlimmerRegistry.VegaSlimmer {
|
|
645
|
+
/**
|
|
646
|
+
* Component lifecycle - [connectedCallback]
|
|
647
|
+
*/
|
|
648
|
+
connectedCallback() {
|
|
649
|
+
this.registerFormResetChangeManager();
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* Component lifecycle - [disconnectedCallback]
|
|
653
|
+
*/
|
|
654
|
+
disconnectedCallback() {
|
|
655
|
+
this.unregisterFormResetChangeManager();
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* @inheritDoc
|
|
659
|
+
*/
|
|
660
|
+
async reset(defaultValueMap = {}, option) {
|
|
661
|
+
await this.vegaFormFieldController.navigateVegaFormChildren(async (element, isForm) => {
|
|
662
|
+
const formFieldName = this.vegaFormFieldController.getFormFieldName(element);
|
|
663
|
+
if (isForm) {
|
|
664
|
+
await element.reset(defaultValueMap[formFieldName] || {}, option);
|
|
665
|
+
}
|
|
666
|
+
}, option);
|
|
667
|
+
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_RESET_OPERATION_TRIGGERED, {
|
|
668
|
+
host: this.host,
|
|
669
|
+
defaultValueMap,
|
|
670
|
+
option,
|
|
671
|
+
});
|
|
672
|
+
this.vegaFormFieldController.setIsTouched(false);
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Registers the form reset event observer with the ChangeManager.
|
|
676
|
+
*/
|
|
677
|
+
registerFormResetChangeManager() {
|
|
678
|
+
var _a;
|
|
679
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
680
|
+
this.formResetEventObserver = new observer.Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
|
|
681
|
+
changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormReset), this.formResetEventObserver);
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Unregister the form reset event observer from the ChangeManager.
|
|
685
|
+
*/
|
|
686
|
+
unregisterFormResetChangeManager() {
|
|
687
|
+
var _a;
|
|
688
|
+
const outerForm = (_a = ui.findParent(this.host, 'vega-form', { outerMost: true })) !== null && _a !== void 0 ? _a : this.host;
|
|
689
|
+
changeManager.ChangeManager.unregister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(outerForm, vegaInternalEventId.VegaInternalFormReset), this.formResetEventObserver);
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Can accept form reset event.
|
|
693
|
+
*
|
|
694
|
+
* @param {FormEventsPayload} payload - The form events payload.
|
|
695
|
+
* @returns {boolean} True if the event can be accepted, false otherwise.
|
|
696
|
+
*/
|
|
697
|
+
canAcceptFormResetEvent(payload) {
|
|
698
|
+
return this.vegaFormFieldController.isElementInCurrentForm(payload.host);
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* Handles reset events by resetting the form and emitting a reset event.
|
|
702
|
+
*/
|
|
703
|
+
async handleResetEvents() {
|
|
704
|
+
await this.host.reset();
|
|
705
|
+
this.resetEventEmitter.emit();
|
|
706
|
+
}
|
|
707
|
+
}
|
|
141
708
|
__decorate$1([
|
|
142
709
|
globalSlimmerRegistry.MapToComponentField()
|
|
143
|
-
],
|
|
710
|
+
], VegaFormResetController.prototype, "host", void 0);
|
|
144
711
|
__decorate$1([
|
|
145
|
-
globalSlimmerRegistry.
|
|
146
|
-
],
|
|
712
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
713
|
+
], VegaFormResetController.prototype, "vegaFormFieldController", void 0);
|
|
714
|
+
__decorate$1([
|
|
715
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
716
|
+
], VegaFormResetController.prototype, "resetEventEmitter", void 0);
|
|
717
|
+
__decorate$1([
|
|
718
|
+
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
719
|
+
], VegaFormResetController.prototype, "connectedCallback", null);
|
|
720
|
+
__decorate$1([
|
|
721
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
722
|
+
], VegaFormResetController.prototype, "disconnectedCallback", null);
|
|
723
|
+
__decorate$1([
|
|
724
|
+
globalSlimmerRegistry.MapToComponentMethod('reset')
|
|
725
|
+
], VegaFormResetController.prototype, "reset", null);
|
|
147
726
|
|
|
148
727
|
const vegaFormCss = ":host{display:block}";
|
|
149
728
|
|
|
@@ -182,20 +761,12 @@ const VegaForm = class {
|
|
|
182
761
|
e.stopPropagation();
|
|
183
762
|
},
|
|
184
763
|
});
|
|
185
|
-
this.childNotifyObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALIDATE, (input) => this.updateInternalValidStatus(input));
|
|
186
|
-
this.childNodeValueChangeObserver = new childNodesNotifyObserverSlimmer.ChildNodesNotifyObserverSlimmer(staticSubjectTitle.FORM_ELEMENT_VALUE_CHANGE, () => this.updateInternalTouchedStatus());
|
|
187
764
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
|
|
188
765
|
this.vegaFormFieldValidationStateController = new VegaFormFieldValidationStateController();
|
|
189
|
-
this.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
// The form field element pending async valid map
|
|
194
|
-
this.pendingValidFieldPathMap = new immutableMap.ImmutableMap(new Map(), (newMap) => {
|
|
195
|
-
this.pendingValidFieldPathMap = newMap;
|
|
196
|
-
this.updateIsValidFlag();
|
|
197
|
-
});
|
|
198
|
-
this.controlledFieldPathSet = new Set();
|
|
766
|
+
this.nativeFormRenderer = new NativeFormRenderer();
|
|
767
|
+
this.vegaFormSubmitController = new VegaFormSubmitController();
|
|
768
|
+
this.vegaFormResetController = new VegaFormResetController();
|
|
769
|
+
this.vegaFormFieldController = new VegaFormFieldController();
|
|
199
770
|
/**
|
|
200
771
|
* Indicates whether the current form-controlled elements are valid.
|
|
201
772
|
*
|
|
@@ -232,6 +803,7 @@ const VegaForm = class {
|
|
|
232
803
|
*
|
|
233
804
|
* @vegaVersion 1.3.0
|
|
234
805
|
*/
|
|
806
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
235
807
|
this.isTouched = false;
|
|
236
808
|
/**
|
|
237
809
|
* Specifies whether form validation should be disabled on blur events of form elements.
|
|
@@ -246,27 +818,18 @@ const VegaForm = class {
|
|
|
246
818
|
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
247
819
|
this.disableBlurValidation = false;
|
|
248
820
|
/**
|
|
249
|
-
*
|
|
250
|
-
* invalid elements. If the element is invalid,
|
|
251
|
-
* add it to the set of invalid elements.
|
|
821
|
+
* Determines whether the `vega-form` content is wrapped in a native HTML <form> element.
|
|
252
822
|
*
|
|
253
|
-
* @
|
|
823
|
+
* @vegaVersion 2.64.0
|
|
254
824
|
*/
|
|
255
|
-
this.
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
this.invalidFieldPathMap.set(target, target.dataset['vegaForm']);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
};
|
|
825
|
+
this.useNativeForm = false;
|
|
826
|
+
/**
|
|
827
|
+
* Specifies the HTTP method used for form submission.
|
|
828
|
+
* This property takes effect only when {@link useNativeForm} is set to `true`.
|
|
829
|
+
*
|
|
830
|
+
* @vegaVersion 2.64.0
|
|
831
|
+
*/
|
|
832
|
+
this.method = 'get';
|
|
270
833
|
}
|
|
271
834
|
watchIsValid() {
|
|
272
835
|
this.validateEventEmitter.emit(this.isValid);
|
|
@@ -274,28 +837,6 @@ const VegaForm = class {
|
|
|
274
837
|
}
|
|
275
838
|
watchDisableBlurValidation() {
|
|
276
839
|
}
|
|
277
|
-
/**
|
|
278
|
-
* When the vegaForm is deleted, it is necessary to notify
|
|
279
|
-
* the parent's vegaForm to update its isValid status.
|
|
280
|
-
*/
|
|
281
|
-
async disconnectedCallback() {
|
|
282
|
-
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, {
|
|
283
|
-
host: this.host,
|
|
284
|
-
});
|
|
285
|
-
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
286
|
-
changeManager.ChangeManager.unregister(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
287
|
-
}
|
|
288
|
-
async componentDidLoad() {
|
|
289
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
290
|
-
if (!isForm) {
|
|
291
|
-
this.controlledFieldPathSet.add(this.getFormFieldName(element, true));
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
this.initFormFieldDisconnectedObserver();
|
|
295
|
-
this.registerFormSubmitChangeManager();
|
|
296
|
-
this.registerFormResetChangeManager();
|
|
297
|
-
this.registerFormFieldPendingValidChangeManager();
|
|
298
|
-
}
|
|
299
840
|
/**
|
|
300
841
|
* Invoke this method asynchronously to retrieve the validation result for
|
|
301
842
|
* all the vega field elements nested within the `vega-form`.
|
|
@@ -308,29 +849,7 @@ const VegaForm = class {
|
|
|
308
849
|
* @vegaVersion 1.3.0
|
|
309
850
|
*/
|
|
310
851
|
async valid(showError = true) {
|
|
311
|
-
|
|
312
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
313
|
-
if (typeof element['valid'] === 'function' && isForm) {
|
|
314
|
-
const nestedFormValidationResult = await element.valid(showError);
|
|
315
|
-
if (!nestedFormValidationResult.isValid) {
|
|
316
|
-
result.isValid = false;
|
|
317
|
-
result.invalidFields.push(...nestedFormValidationResult.invalidFields);
|
|
318
|
-
result.invalidFieldsErrorMessages = Object.assign(Object.assign({}, result.invalidFieldsErrorMessages), nestedFormValidationResult.invalidFieldsErrorMessages);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
const { isValid, message } = await this.handleChildFormFieldElementValid(element, showError);
|
|
323
|
-
if (!isValid) {
|
|
324
|
-
result.isValid = false;
|
|
325
|
-
result.invalidFields.push(this.getFormFieldName(element));
|
|
326
|
-
if (!result.invalidFieldsErrorMessages) {
|
|
327
|
-
result.invalidFieldsErrorMessages = {};
|
|
328
|
-
}
|
|
329
|
-
result.invalidFieldsErrorMessages[this.getFormFieldName(element)] = message;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
return result;
|
|
852
|
+
return placeholder.methodPlaceholder(showError);
|
|
334
853
|
}
|
|
335
854
|
/**
|
|
336
855
|
* Invoke this method asynchronously to retrieve the values for
|
|
@@ -341,17 +860,7 @@ const VegaForm = class {
|
|
|
341
860
|
* @vegaVersion 1.3.0
|
|
342
861
|
*/
|
|
343
862
|
async getValue(option) {
|
|
344
|
-
|
|
345
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
346
|
-
const formFieldName = this.getFormFieldName(element);
|
|
347
|
-
if (isForm) {
|
|
348
|
-
result[formFieldName] = await element.getValue(option);
|
|
349
|
-
}
|
|
350
|
-
else {
|
|
351
|
-
result[formFieldName] = VegaForm.getFormFieldValue(element);
|
|
352
|
-
}
|
|
353
|
-
}, option);
|
|
354
|
-
return (array.isObjectArrayLike(result) ? Object.values(result) : result);
|
|
863
|
+
return placeholder.methodPlaceholder(option);
|
|
355
864
|
}
|
|
356
865
|
/**
|
|
357
866
|
* Invoke this method to prefill the `vega-form` with the given value.
|
|
@@ -363,24 +872,6 @@ const VegaForm = class {
|
|
|
363
872
|
* @vegaVersion 1.3.0
|
|
364
873
|
*/
|
|
365
874
|
async setValue(value, option) {
|
|
366
|
-
if (value) {
|
|
367
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
368
|
-
const formFieldName = this.getFormFieldName(element);
|
|
369
|
-
if (isForm) {
|
|
370
|
-
await element.setValue(value[formFieldName], option);
|
|
371
|
-
}
|
|
372
|
-
else {
|
|
373
|
-
await element.componentOnReady(); // Link issue https://gethired.atlassian.net/browse/GHUI-385
|
|
374
|
-
if (value[formFieldName] !== undefined) {
|
|
375
|
-
// If element have setValue method, we will directly call this method, otherwise we set the value to value property.
|
|
376
|
-
typeof element['setValue'] === 'function'
|
|
377
|
-
? await element['setValue'](value[formFieldName])
|
|
378
|
-
: (element['value'] = value[formFieldName]);
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
}, option);
|
|
382
|
-
this.isTouched = false;
|
|
383
|
-
}
|
|
384
875
|
}
|
|
385
876
|
/**
|
|
386
877
|
* Invoke this method to reset the vega field elements in the form to
|
|
@@ -393,18 +884,6 @@ const VegaForm = class {
|
|
|
393
884
|
* @vegaVersion 1.3.0
|
|
394
885
|
*/
|
|
395
886
|
async reset(defaultValueMap = {}, option) {
|
|
396
|
-
await this.navigateVegaFormChildren(async (element, isForm) => {
|
|
397
|
-
const formFieldName = this.getFormFieldName(element);
|
|
398
|
-
if (isForm) {
|
|
399
|
-
await element.reset(defaultValueMap[formFieldName] || {}, option);
|
|
400
|
-
}
|
|
401
|
-
}, option);
|
|
402
|
-
changeManager.ChangeManager.notify(staticSubjectTitle.FORM_RESET_OPERATION_TRIGGERED, {
|
|
403
|
-
host: this.host,
|
|
404
|
-
defaultValueMap,
|
|
405
|
-
option,
|
|
406
|
-
});
|
|
407
|
-
this.isTouched = false;
|
|
408
887
|
}
|
|
409
888
|
/**
|
|
410
889
|
* Invoke this method to set validation states on specific form fields.
|
|
@@ -415,180 +894,8 @@ const VegaForm = class {
|
|
|
415
894
|
*/
|
|
416
895
|
async setValidationStates(states) {
|
|
417
896
|
}
|
|
418
|
-
static getFormFieldValue(element) {
|
|
419
|
-
return typeof element['value'] === 'undefined'
|
|
420
|
-
? // use element.getAttribute since the value property is not available in unit testing
|
|
421
|
-
element.getAttribute('value')
|
|
422
|
-
: element['value'];
|
|
423
|
-
}
|
|
424
897
|
render() {
|
|
425
|
-
return component.sanitizeVegaComponent(index.h(index.Host, null, index.h("slot", null)), this.host);
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* If the value of any child elements have changed,
|
|
429
|
-
* make 'isTouched' prop as false.
|
|
430
|
-
*/
|
|
431
|
-
updateInternalTouchedStatus() {
|
|
432
|
-
this.isTouched = true;
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Navigate the immediate child node under current vega form element with the following strategy
|
|
436
|
-
* - if a matched vega field element found, will pass it to the visitor method passed in
|
|
437
|
-
* - if a non-matched node found, it will call itself recursively and pass the node as the second parameter
|
|
438
|
-
* Once the navigation is finished, it will wait for all the pending visitor/self-invocation promise finished before return
|
|
439
|
-
*
|
|
440
|
-
* @param visitor async callback method that will be invoked if a matched vega field element found
|
|
441
|
-
* @param {FormControlOption} [option] form control option to skip disabled/invisible components
|
|
442
|
-
* @param [startElementNode] element node that the navigation will be started from, default is the current host element
|
|
443
|
-
* @return {Promise<void>} return void wrapped with promise to notify the navigation is done
|
|
444
|
-
*/
|
|
445
|
-
async navigateVegaFormChildren(visitor, option, startElementNode = this.host) {
|
|
446
|
-
const promiseQueue = [];
|
|
447
|
-
Array.from(startElementNode.children).forEach((child) => {
|
|
448
|
-
if (formFieldControllerSlimmer.FormFieldControllerSlimmer.isValidFormField(child)) {
|
|
449
|
-
if (this.shouldVisitElement(child, option === null || option === void 0 ? void 0 : option.skipDisabled, option === null || option === void 0 ? void 0 : option.skipInvisible)) {
|
|
450
|
-
promiseQueue.push(visitor(child, child.tagName === 'VEGA-FORM'));
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
else {
|
|
454
|
-
promiseQueue.push(this.navigateVegaFormChildren(visitor, option, child));
|
|
455
|
-
}
|
|
456
|
-
});
|
|
457
|
-
await Promise.all(promiseQueue);
|
|
458
|
-
}
|
|
459
|
-
/**
|
|
460
|
-
* Update the {@link isValid} property value based on the size of {@link invalidFieldPathSet}
|
|
461
|
-
* If the number of invalid elements is zero, then the form is valid.
|
|
462
|
-
*/
|
|
463
|
-
updateIsValidFlag() {
|
|
464
|
-
this.isValid = this.pendingValidFieldPathMap.size > 0 ? null : this.invalidFieldPathMap.size === 0;
|
|
465
|
-
}
|
|
466
|
-
/**
|
|
467
|
-
* 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
|
|
468
|
-
* 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.
|
|
469
|
-
*
|
|
470
|
-
* @param {HTMLElement} element - The element that is being validated.
|
|
471
|
-
* @param {boolean} [includePath] - If true, the field name will include the path to the field. For
|
|
472
|
-
* example, if the field is in a vega-form with the name "address", the field name will be "address ->
|
|
473
|
-
* street".
|
|
474
|
-
* @returns The name of the field.
|
|
475
|
-
*/
|
|
476
|
-
getFormFieldName(element, includePath) {
|
|
477
|
-
let fieldName = element.dataset['vegaForm'];
|
|
478
|
-
if (includePath) {
|
|
479
|
-
let currentVegaForm = ui.findParent(element, 'vega-form');
|
|
480
|
-
/**
|
|
481
|
-
* The below method is e2e-test covered in
|
|
482
|
-
* @see {module:nested-vega-form-isValid-should-be-as-expected-when-value-changed}
|
|
483
|
-
*/
|
|
484
|
-
/* istanbul ignore next */
|
|
485
|
-
while (currentVegaForm && currentVegaForm !== this.host) {
|
|
486
|
-
fieldName = currentVegaForm.dataset['vegaForm'] + ' -> ' + fieldName;
|
|
487
|
-
currentVegaForm = ui.findParent(currentVegaForm, 'vega-form');
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
return fieldName;
|
|
491
|
-
}
|
|
492
|
-
/**
|
|
493
|
-
* 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.
|
|
494
|
-
*
|
|
495
|
-
* @param {HTMLElement} element - The HTMLElement to check.
|
|
496
|
-
* @param {boolean} skipDisabled - If true, then disabled form fields will be skipped.
|
|
497
|
-
* @param {boolean} skipInvisible - If true, only visible elements will be visited.
|
|
498
|
-
* @returns a boolean value.
|
|
499
|
-
*/
|
|
500
|
-
shouldVisitElement(element, skipDisabled, skipInvisible) {
|
|
501
|
-
return (this.getFormFieldName(element) &&
|
|
502
|
-
(!skipDisabled || !element['disabled']) &&
|
|
503
|
-
(!skipInvisible || ui.isElementVisible(element)));
|
|
504
|
-
}
|
|
505
|
-
/**
|
|
506
|
-
* This function registers an observer with the ChangeManager that will be notified when a element
|
|
507
|
-
* delete operation is triggered
|
|
508
|
-
*/
|
|
509
|
-
initFormFieldDisconnectedObserver() {
|
|
510
|
-
this.formFieldDisconnectedObserver = new observer.Observer(this.canAcceptFormFieldDisconnectedOperation.bind(this), this.updateInvalidFieldPath.bind(this));
|
|
511
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_ELEMENT_DISCONNECTED, this.formFieldDisconnectedObserver);
|
|
512
|
-
}
|
|
513
|
-
/**
|
|
514
|
-
* If the deleted element is a child or grandchild of current vegaForm, the isValid of all these vegaForms will be updated.
|
|
515
|
-
*
|
|
516
|
-
* @param {DisconnectedElementOperationPayload} payload - the delete element and vegaForm array.
|
|
517
|
-
* @returns {boolean} A boolean value.
|
|
518
|
-
*/
|
|
519
|
-
canAcceptFormFieldDisconnectedOperation(payload) {
|
|
520
|
-
return this.invalidFieldPathMap.has(payload.host);
|
|
521
|
-
}
|
|
522
|
-
/**
|
|
523
|
-
* Get the fieldName of the deleted element in the current vegaForm, delete it from the invalidFieldPathSet array, and update isValid at the same time.
|
|
524
|
-
*/
|
|
525
|
-
async updateInvalidFieldPath(payload) {
|
|
526
|
-
this.invalidFieldPathMap.delete(payload.host);
|
|
527
|
-
this.pendingValidFieldPathMap.delete(payload.host);
|
|
528
|
-
}
|
|
529
|
-
registerFormSubmitChangeManager() {
|
|
530
|
-
this.formEventsObserver = new observer.Observer(this.canAcceptFormSubmitEvent.bind(this), this.handleSubmitEvents.bind(this));
|
|
531
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_SUBMIT, this.formEventsObserver);
|
|
532
|
-
}
|
|
533
|
-
/**
|
|
534
|
-
* The below method is e2e-test covered in
|
|
535
|
-
* @see{module:vega-form-field-enter-to-submit-e2e}
|
|
536
|
-
*/
|
|
537
|
-
/* istanbul ignore next */
|
|
538
|
-
canAcceptFormSubmitEvent(payload) {
|
|
539
|
-
return this.isElementInCurrentForm(payload.host);
|
|
540
|
-
}
|
|
541
|
-
async handleSubmitEvents() {
|
|
542
|
-
const valid = await this.valid();
|
|
543
|
-
if (valid.isValid) {
|
|
544
|
-
const formValue = await this.getValue();
|
|
545
|
-
this.submitEventEmitter.emit(formValue);
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
registerFormResetChangeManager() {
|
|
549
|
-
this.formEventsObserver = new observer.Observer(this.canAcceptFormResetEvent.bind(this), this.handleResetEvents.bind(this));
|
|
550
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_RESET, this.formEventsObserver);
|
|
551
|
-
}
|
|
552
|
-
canAcceptFormResetEvent(payload) {
|
|
553
|
-
return this.isElementInCurrentForm(payload.host);
|
|
554
|
-
}
|
|
555
|
-
async handleResetEvents() {
|
|
556
|
-
await this.reset();
|
|
557
|
-
this.resetEventEmitter.emit();
|
|
558
|
-
}
|
|
559
|
-
registerFormFieldPendingValidChangeManager() {
|
|
560
|
-
this.formFieldPendingValidObserver = new observer.Observer(this.canAcceptFormFieldPendingValid.bind(this), this.handleFieldPendingValid.bind(this));
|
|
561
|
-
changeManager.ChangeManager.register(staticSubjectTitle.FORM_FIELD_PENDING_VALID_CHANGE, this.formFieldPendingValidObserver);
|
|
562
|
-
}
|
|
563
|
-
canAcceptFormFieldPendingValid(payload) {
|
|
564
|
-
return this.isElementInCurrentForm(payload.host);
|
|
565
|
-
}
|
|
566
|
-
handleFieldPendingValid(payload) {
|
|
567
|
-
if (typeof payload.detail === 'boolean') {
|
|
568
|
-
this.pendingValidFieldPathMap.delete(payload.host);
|
|
569
|
-
}
|
|
570
|
-
else {
|
|
571
|
-
this.pendingValidFieldPathMap.set(payload.host, payload.host.dataset['vegaForm']);
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
isElementInCurrentForm(element) {
|
|
575
|
-
return this.invalidFieldPathMap.has(element) || ui.isParent(element, this.host);
|
|
576
|
-
}
|
|
577
|
-
async handleChildFormFieldElementValid(element, showError) {
|
|
578
|
-
const subject = domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(element, vegaInternalEventId.VegaInternalValid);
|
|
579
|
-
const { isValid, message } = await new Promise((resolve) => {
|
|
580
|
-
//This setTimeout method here to avoid the dom node subject observer not existing and blocks the promise status
|
|
581
|
-
const timerId = setTimeout(() => {
|
|
582
|
-
resolve({ isValid: true, message: '' });
|
|
583
|
-
}, 2000);
|
|
584
|
-
changeManager.ChangeManager.notify(subject, {
|
|
585
|
-
host: element,
|
|
586
|
-
message: showError,
|
|
587
|
-
promiseResolve: resolve,
|
|
588
|
-
timerId,
|
|
589
|
-
});
|
|
590
|
-
});
|
|
591
|
-
return { isValid, message };
|
|
898
|
+
return component.sanitizeVegaComponent(index.h(index.Host, null, this.useNativeForm ? this.nativeFormRenderer.render() : index.h("slot", null)), this.host);
|
|
592
899
|
}
|
|
593
900
|
get host() { return index.getElement(this); }
|
|
594
901
|
static get watchers() { return {
|
|
@@ -622,16 +929,22 @@ __decorate([
|
|
|
622
929
|
], VegaForm.prototype, "childFormValidateEventPrevent", void 0);
|
|
623
930
|
__decorate([
|
|
624
931
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
625
|
-
], VegaForm.prototype, "
|
|
932
|
+
], VegaForm.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
626
933
|
__decorate([
|
|
627
934
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
628
|
-
], VegaForm.prototype, "
|
|
935
|
+
], VegaForm.prototype, "vegaFormFieldValidationStateController", void 0);
|
|
629
936
|
__decorate([
|
|
630
937
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
631
|
-
], VegaForm.prototype, "
|
|
938
|
+
], VegaForm.prototype, "nativeFormRenderer", void 0);
|
|
632
939
|
__decorate([
|
|
633
940
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
634
|
-
], VegaForm.prototype, "
|
|
941
|
+
], VegaForm.prototype, "vegaFormSubmitController", void 0);
|
|
942
|
+
__decorate([
|
|
943
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
944
|
+
], VegaForm.prototype, "vegaFormResetController", void 0);
|
|
945
|
+
__decorate([
|
|
946
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
947
|
+
], VegaForm.prototype, "vegaFormFieldController", void 0);
|
|
635
948
|
VegaForm.style = vegaFormCss;
|
|
636
949
|
|
|
637
950
|
exports.vega_form = VegaForm;
|