@globalpayments/vega 2.28.1 → 2.30.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-512d84f4.js → app-globals-391d9a14.js} +9 -8
- package/dist/cjs/{array-6e559cde.js → array-5adef7b2.js} +13 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e383a914.js → child-nodes-event-prevent-slimmer-bed95a1b.js} +2 -2
- package/dist/cjs/{create-public-api-runtime-metrics-slimmer-7510221b.js → create-public-api-runtime-metrics-slimmer-5cc88124.js} +1 -0
- package/dist/cjs/{design-token-17b8e4d8.js → design-token-92906579.js} +1 -1
- package/dist/cjs/{element-appender-slimmer-bf5ecbd8.js → element-appender-slimmer-415d261a.js} +726 -537
- package/dist/cjs/{event-emit-slimmer-8f51adaa.js → event-emit-slimmer-b321e3f5.js} +1 -1
- package/dist/cjs/{feature-flag-controller-078da332.js → feature-flag-controller-f0619cc7.js} +5 -0
- package/dist/cjs/{form-field-controller-slimmer-223f8ee3.js → form-field-controller-slimmer-a4231b97.js} +6 -6
- package/dist/cjs/{icon-manager-5a2b67cf.js → icon-manager-3787af39.js} +1 -1
- package/dist/cjs/index-09acd3c9.js +8 -0
- package/dist/cjs/index-d6bf3435.js +15 -0
- package/dist/cjs/index.cjs.js +16 -15
- package/dist/cjs/{internal-icon-manager-858baff1.js → internal-icon-manager-2ff58050.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-627b1328.js → internal-vega-event-manager-9ffb3ed1.js} +13 -3
- package/dist/cjs/{internal-vega-z-index-manager-23051df4.js → internal-vega-z-index-manager-f03ddb37.js} +1 -1
- package/dist/cjs/{legend-input-processor-6ab8782a.js → legend-input-processor-d0b3f621.js} +1 -1
- package/dist/cjs/loader.cjs.js +15 -14
- package/dist/cjs/{min-number-rule-84f21ad9.js → min-number-rule-115c5a3b.js} +1 -1
- package/dist/cjs/{mutation-observer-filters-79b60f28.js → mutation-observer-filters-e5a7f85a.js} +1 -1
- package/dist/cjs/{number-459031f7.js → number-4816603d.js} +11 -0
- package/dist/cjs/{responsive-format-facade-7bc51a43.js → responsive-format-facade-ad2f67bf.js} +1 -1
- package/dist/cjs/{static-subject-title-3599787e.js → static-subject-title-471e1793.js} +2 -0
- package/dist/cjs/{style-formatter-a0829641.js → style-formatter-68f3a5f8.js} +1 -1
- package/dist/cjs/sub-state-notify-slimmer-c729699e.js +81 -0
- package/dist/cjs/{sub-state-observer-slimmer-36660092.js → sub-state-observer-slimmer-c1332b19.js} +3 -73
- package/dist/cjs/{translation-0dd74433.js → translation-42c1b2c8.js} +2 -2
- package/dist/cjs/{translation-slimmer-83577cfd.js → translation-slimmer-32aa13e7.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-8d8f04f1.js → valid-credit-card-number-rule-4a9ae5d9.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +10 -10
- package/dist/cjs/vega-app-header-button.cjs.entry.js +11 -11
- package/dist/cjs/vega-banner.cjs.entry.js +7 -7
- package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -4
- package/dist/cjs/vega-box.cjs.entry.js +4 -4
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-group_2.cjs.entry.js +11 -10
- package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
- package/dist/cjs/vega-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-calendar_3.cjs.entry.js +18 -17
- package/dist/cjs/vega-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-carousel.cjs.entry.js +5 -5
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-chip.cjs.entry.js +8 -8
- package/dist/cjs/vega-color-picker.cjs.entry.js +19 -13
- package/dist/cjs/vega-combo-box.cjs.entry.js +367 -183
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +23 -20
- package/dist/cjs/{vega-dialog-controller-6a8525b3.js → vega-dialog-controller-dce8cdaf.js} +1 -1
- package/dist/cjs/vega-dialog_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-divider.cjs.entry.js +3 -3
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +47 -32
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{vega-event-id-e40ac8f0.js → vega-event-id-419d36a8.js} +2 -0
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +14 -14
- package/dist/cjs/vega-flex.cjs.entry.js +5 -5
- package/dist/cjs/vega-font.cjs.entry.js +3 -3
- package/dist/cjs/vega-form.cjs.entry.js +13 -13
- package/dist/cjs/vega-grid.cjs.entry.js +3 -3
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +16 -16
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +16 -16
- package/dist/cjs/vega-input-numeric.cjs.entry.js +410 -0
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -15
- package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
- package/dist/cjs/vega-input-select.cjs.entry.js +30 -18
- package/dist/cjs/vega-input.cjs.entry.js +218 -25
- package/dist/cjs/{vega-internal-event-id-c98e9a7d.js → vega-internal-event-id-99cc22e1.js} +2 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +13 -13
- package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +12 -12
- package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +19 -18
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +18 -17
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +1006 -0
- package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
- package/dist/cjs/{vega-skeleton-loader-controller-e886dc58.js → vega-skeleton-loader-controller-4a016b04.js} +4 -14
- package/dist/cjs/vega-stepper.cjs.entry.js +14 -14
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-table_8.cjs.entry.js +29 -28
- package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +11 -11
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +15 -14
- package/dist/cjs/{y-axis-input-processor-cc6e9196.js → y-axis-input-processor-a0df5e74.js} +2 -2
- package/dist/collection/collection-manifest.json +16 -0
- package/dist/collection/components/vega-color-picker/vega-color-picker.css +8 -8
- package/dist/collection/components/vega-color-picker/vega-color-picker.js +30 -3
- package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.js +114 -0
- package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.js +23 -0
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +147 -0
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.js +50 -0
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +30 -177
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +2 -0
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +19 -5
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +55 -9
- package/dist/collection/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.js +118 -0
- package/dist/collection/components/vega-input/slimmers/controllers/vega-input-state-controller.js +46 -0
- package/dist/collection/components/vega-input/vega-input.css +104 -0
- package/dist/collection/components/vega-input/vega-input.js +44 -2
- package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.js +79 -0
- package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.js +45 -0
- package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +72 -0
- package/dist/collection/components/vega-input-numeric/vega-input-numeric.css +9 -0
- package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +606 -0
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +7 -1
- package/dist/collection/components/vega-input-select/vega-input-select.js +55 -2
- package/dist/collection/components/vega-sidenav/icons/chevron-right.js +4 -0
- package/dist/collection/components/vega-sidenav/icons/toggle-button-bg.js +3 -0
- package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.js +101 -0
- package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.js +316 -0
- package/dist/collection/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.js +79 -0
- package/dist/collection/components/vega-sidenav/test/test.helper.js +68 -0
- package/dist/collection/components/vega-sidenav/utils/index.js +9 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.js +28 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.css +172 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +152 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.js +28 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.css +136 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +264 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav.css +300 -0
- package/dist/collection/components/vega-sidenav/vega-sidenav.js +422 -0
- package/dist/collection/constants/ui.js +1 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -3
- package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
- package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
- package/dist/collection/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.js +13 -0
- package/dist/collection/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.js → body-positioned-wrapper/position-relative-to-wrapper.js} +23 -21
- package/dist/collection/helpers/slimmers/element-appender-container/{vega-modal-wrapper.js → body-positioned-wrapper/vega-modal-wrapper.js} +18 -15
- package/dist/collection/helpers/slimmers/element-appender-container/{vega-popover-wrapper.js → body-positioned-wrapper/vega-popover-wrapper.js} +20 -19
- package/dist/collection/helpers/slimmers/element-appender-container/default-wrapper.js +19 -19
- package/dist/collection/helpers/slimmers/element-appender-container/element-appender-container-controller.js +3 -3
- package/dist/collection/helpers/slimmers/element-appender-slimmer.js +10 -0
- package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +345 -0
- package/dist/collection/helpers/slimmers/position-calculation/body-position-calculation-strategy.js +66 -0
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +121 -0
- package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +59 -0
- package/dist/collection/{utils/test/position.test.js → helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js} +135 -45
- package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +113 -0
- package/dist/collection/helpers/slimmers/sub-state/sub-state-notify-slimmer.js +8 -5
- package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +24 -0
- package/dist/collection/helpers/ui/element-appender.js +21 -70
- package/dist/collection/helpers/ui/test/element-appender.test.js +53 -0
- package/dist/collection/utils/number.js +10 -0
- package/dist/collection/utils/pagination.js +2 -2
- package/dist/collection/utils/test/number.test.js +5 -1
- package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
- package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
- package/dist/esm/{app-globals-41797af8.js → app-globals-00a57fbe.js} +8 -7
- package/dist/esm/{array-506b88b9.js → array-b668466e.js} +13 -2
- package/dist/esm/{child-nodes-event-prevent-slimmer-345c46c5.js → child-nodes-event-prevent-slimmer-db288af1.js} +2 -2
- package/dist/esm/{create-public-api-runtime-metrics-slimmer-928ad7f0.js → create-public-api-runtime-metrics-slimmer-cc1164bb.js} +1 -1
- package/dist/esm/{design-token-3671ce60.js → design-token-2a527af3.js} +1 -1
- package/dist/esm/{element-appender-slimmer-1172e2ea.js → element-appender-slimmer-48d826b2.js} +720 -531
- package/dist/esm/{event-emit-slimmer-eee9fd41.js → event-emit-slimmer-44cb4573.js} +1 -1
- package/dist/esm/{feature-flag-controller-10780eeb.js → feature-flag-controller-297c4b9b.js} +5 -0
- package/dist/esm/{form-field-controller-slimmer-edbaaf7c.js → form-field-controller-slimmer-a64c679c.js} +6 -6
- package/dist/esm/{icon-manager-0f030f8a.js → icon-manager-1ee2c968.js} +1 -1
- package/dist/esm/index-187f71d1.js +8 -0
- package/dist/esm/index-fda6b5ee.js +13 -0
- package/dist/esm/index.js +15 -14
- package/dist/esm/{internal-icon-manager-9671142a.js → internal-icon-manager-7004584d.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-722461c1.js → internal-vega-event-manager-8154661e.js} +13 -3
- package/dist/esm/{internal-vega-z-index-manager-0553458e.js → internal-vega-z-index-manager-7d2b54c3.js} +1 -1
- package/dist/esm/{legend-input-processor-abb0b4f4.js → legend-input-processor-0cef3ebe.js} +1 -1
- package/dist/esm/loader.js +15 -14
- package/dist/esm/{min-number-rule-8f643dbd.js → min-number-rule-31d48b22.js} +1 -1
- package/dist/esm/{mutation-observer-filters-9086b5cc.js → mutation-observer-filters-1035b064.js} +1 -1
- package/dist/esm/{number-e2519d1c.js → number-4398f2e1.js} +11 -1
- package/dist/esm/{responsive-format-facade-5a1329a7.js → responsive-format-facade-3dc84e41.js} +1 -1
- package/dist/esm/{static-subject-title-6987a80b.js → static-subject-title-500cf2a3.js} +2 -1
- package/dist/esm/{style-formatter-2fa5ce09.js → style-formatter-ccb2da0d.js} +1 -1
- package/dist/esm/sub-state-notify-slimmer-be5bcc4e.js +79 -0
- package/dist/esm/{sub-state-observer-slimmer-8eff5559.js → sub-state-observer-slimmer-cd7adab1.js} +5 -74
- package/dist/esm/{translation-0fa7cf77.js → translation-4eb3cf85.js} +2 -2
- package/dist/esm/{translation-slimmer-79f9a9c9.js → translation-slimmer-9d07a0ff.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-232f2986.js → valid-credit-card-number-rule-2aef3ad5.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +10 -10
- package/dist/esm/vega-app-header-button.entry.js +11 -11
- package/dist/esm/vega-banner.entry.js +7 -7
- package/dist/esm/vega-bar-chart.entry.js +4 -4
- package/dist/esm/vega-box.entry.js +4 -4
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +8 -7
- package/dist/esm/vega-button-link.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +8 -8
- package/dist/esm/vega-calendar_3.entry.js +16 -15
- package/dist/esm/vega-card.entry.js +3 -3
- package/dist/esm/vega-carousel.entry.js +5 -5
- package/dist/esm/vega-checkbox_2.entry.js +13 -13
- package/dist/esm/vega-chip.entry.js +8 -8
- package/dist/esm/vega-color-picker.entry.js +20 -14
- package/dist/esm/vega-combo-box.entry.js +370 -186
- package/dist/esm/vega-date-picker_2.entry.js +23 -20
- package/dist/esm/{vega-dialog-controller-3b905672.js → vega-dialog-controller-8b343a17.js} +1 -1
- package/dist/esm/vega-dialog_2.entry.js +9 -9
- package/dist/esm/vega-divider.entry.js +3 -3
- package/dist/esm/vega-dropdown_5.entry.js +43 -28
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-7465a011.js → vega-event-id-b1655cbc.js} +2 -1
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +14 -14
- package/dist/esm/vega-flex.entry.js +5 -5
- package/dist/esm/vega-font.entry.js +3 -3
- package/dist/esm/vega-form.entry.js +13 -13
- package/dist/esm/vega-grid.entry.js +3 -3
- package/dist/esm/vega-icon.entry.js +5 -5
- package/dist/esm/vega-image-uploader.entry.js +16 -16
- package/dist/esm/vega-input-credit-card.entry.js +16 -16
- package/dist/esm/vega-input-numeric.entry.js +406 -0
- package/dist/esm/vega-input-phone-number.entry.js +15 -15
- package/dist/esm/vega-input-range.entry.js +14 -14
- package/dist/esm/vega-input-select.entry.js +30 -18
- package/dist/esm/vega-input.entry.js +219 -26
- package/dist/esm/{vega-internal-event-id-7e05cf4a.js → vega-internal-event-id-c8507b85.js} +2 -1
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +13 -13
- package/dist/esm/vega-line-chart.entry.js +4 -4
- package/dist/esm/vega-loader-wrapper_2.entry.js +2 -2
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +12 -12
- package/dist/esm/vega-pie-chart.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +9 -9
- package/dist/esm/vega-progress-tracker.entry.js +4 -4
- package/dist/esm/vega-radio_2.entry.js +13 -13
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +16 -15
- package/dist/esm/vega-selection-tile_2.entry.js +15 -14
- package/dist/esm/vega-sidenav_3.entry.js +1000 -0
- package/dist/esm/vega-signature-capture.entry.js +16 -16
- package/dist/esm/{vega-skeleton-loader-controller-6fb25f3b.js → vega-skeleton-loader-controller-cec6753f.js} +4 -14
- package/dist/esm/vega-stepper.entry.js +14 -14
- package/dist/esm/vega-tab-group_2.entry.js +6 -6
- package/dist/esm/vega-table_8.entry.js +19 -18
- package/dist/esm/vega-textarea.entry.js +13 -13
- package/dist/esm/vega-time-picker_2.entry.js +17 -17
- package/dist/esm/vega-toggle-switch.entry.js +11 -11
- package/dist/esm/vega-tooltip_2.entry.js +7 -7
- package/dist/esm/vega.js +15 -14
- package/dist/esm/{y-axis-input-processor-08c89594.js → y-axis-input-processor-a4d6aa50.js} +2 -2
- package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +6 -0
- package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.d.ts +29 -0
- package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.d.ts +14 -0
- package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +41 -0
- package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.d.ts +17 -0
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +8 -48
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/types.d.ts +5 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +21 -1
- package/dist/types/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.d.ts +47 -0
- package/dist/types/components/vega-input/slimmers/controllers/vega-input-state-controller.d.ts +13 -0
- package/dist/types/components/vega-input/vega-input.d.ts +18 -6
- package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.d.ts +18 -0
- package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.d.ts +20 -0
- package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +19 -0
- package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +169 -0
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +1 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +20 -0
- package/dist/types/components/vega-sidenav/icons/chevron-right.d.ts +3 -0
- package/dist/types/components/vega-sidenav/icons/toggle-button-bg.d.ts +3 -0
- package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.d.ts +42 -0
- package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.d.ts +94 -0
- package/dist/types/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.d.ts +31 -0
- package/dist/types/components/vega-sidenav/test/test.helper.d.ts +6 -0
- package/dist/types/components/vega-sidenav/types.d.ts +24 -0
- package/dist/types/components/vega-sidenav/utils/index.d.ts +7 -0
- package/dist/types/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.d.ts +10 -0
- package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +47 -0
- package/dist/types/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.d.ts +10 -0
- package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +80 -0
- package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +137 -0
- package/dist/types/components.d.ts +407 -1
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
- package/dist/types/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.d.ts +15 -0
- package/dist/types/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.d.ts → body-positioned-wrapper/position-relative-to-wrapper.d.ts} +5 -5
- package/dist/types/helpers/slimmers/element-appender-container/{vega-modal-wrapper.d.ts → body-positioned-wrapper/vega-modal-wrapper.d.ts} +5 -5
- package/dist/types/helpers/slimmers/element-appender-container/{vega-popover-wrapper.d.ts → body-positioned-wrapper/vega-popover-wrapper.d.ts} +5 -5
- package/dist/types/helpers/slimmers/element-appender-container/default-wrapper.d.ts +2 -2
- package/dist/types/helpers/slimmers/element-appender-container/element-appender-container-controller.d.ts +3 -3
- package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
- package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +138 -0
- package/dist/types/helpers/slimmers/position-calculation/body-position-calculation-strategy.d.ts +34 -0
- package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +54 -0
- package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +34 -0
- package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +15 -0
- package/dist/types/helpers/slimmers/sub-state/sub-state-notify-slimmer.d.ts +1 -1
- package/dist/types/helpers/ui/element-appender.d.ts +9 -24
- package/dist/types/types/components.type.d.ts +7 -0
- package/dist/types/utils/number.d.ts +7 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-d4c85e4e.entry.js → p-00c5aee5.entry.js} +1 -1
- package/dist/vega/{p-573948c2.js → p-04215e74.js} +1 -1
- package/dist/vega/p-042b4b3f.entry.js +1 -0
- package/dist/vega/{p-fd929ab5.entry.js → p-07a8cf89.entry.js} +1 -1
- package/dist/vega/p-0abe1ade.entry.js +1 -0
- package/dist/vega/p-0f0e4198.entry.js +1 -0
- package/dist/vega/{p-b86e8c8b.entry.js → p-11786565.entry.js} +1 -1
- package/dist/vega/{p-063c3ba6.entry.js → p-14f5a9ad.entry.js} +1 -1
- package/dist/vega/p-15023bad.entry.js +1 -0
- package/dist/vega/p-1be2fd46.entry.js +1 -0
- package/dist/vega/p-1bfcb6b7.entry.js +1 -0
- package/dist/vega/p-20d9c07c.entry.js +1 -0
- package/dist/vega/p-2306c736.js +1 -0
- package/dist/vega/p-262ec334.js +1 -0
- package/dist/vega/{p-a5f80d35.js → p-2d5a9f66.js} +1 -1
- package/dist/vega/{p-83af8ed7.js → p-302e7589.js} +1 -1
- package/dist/vega/p-32f651f7.js +1 -0
- package/dist/vega/p-34710a3c.entry.js +1 -0
- package/dist/vega/p-3903ce7a.entry.js +1 -0
- package/dist/vega/{p-b2053fa8.entry.js → p-4022f395.entry.js} +1 -1
- package/dist/vega/{p-51cd2a39.entry.js → p-438caeb3.entry.js} +1 -1
- package/dist/vega/{p-1ea57951.js → p-4d25df7d.js} +1 -1
- package/dist/vega/{p-319efe6c.js → p-4ffd7493.js} +1 -1
- package/dist/vega/p-5440344e.js +1 -0
- package/dist/vega/{p-fc746bae.entry.js → p-57d9bde6.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-5fbac513.js +1 -0
- package/dist/vega/{p-d686dd96.entry.js → p-623fe226.entry.js} +1 -1
- package/dist/vega/{p-be26b334.entry.js → p-63bee4f1.entry.js} +1 -1
- package/dist/vega/{p-40f6add9.entry.js → p-64ff6318.entry.js} +1 -1
- package/dist/vega/{p-9e6934fb.js → p-68ad953c.js} +1 -1
- package/dist/vega/{p-7a1df282.entry.js → p-69e63d21.entry.js} +1 -1
- package/dist/vega/{p-ac0ab38b.js → p-6a8f1251.js} +1 -1
- package/dist/vega/{p-9a4ffc2c.entry.js → p-72ecc510.entry.js} +1 -1
- package/dist/vega/{p-a2169994.entry.js → p-7372cd79.entry.js} +1 -1
- package/dist/vega/{p-7b40ac07.js → p-74958b1a.js} +1 -1
- package/dist/vega/{p-3fc59fd3.entry.js → p-760283d1.entry.js} +1 -1
- package/dist/vega/{p-152393dd.js → p-781fd6e0.js} +1 -1
- package/dist/vega/p-79019d08.js +1 -0
- package/dist/vega/p-7941701a.entry.js +1 -0
- package/dist/vega/{p-8fd6775a.entry.js → p-799cb0a4.entry.js} +1 -1
- package/dist/vega/{p-34545d2d.entry.js → p-7a6a0740.entry.js} +1 -1
- package/dist/vega/{p-a59c221b.entry.js → p-7df3aa44.entry.js} +1 -1
- package/dist/vega/p-80785fcf.entry.js +1 -0
- package/dist/vega/{p-8c72aa56.entry.js → p-83ef4c13.entry.js} +1 -1
- package/dist/vega/{p-1e33c6e3.entry.js → p-87640a4d.entry.js} +1 -1
- package/dist/vega/{p-1bbc62ef.entry.js → p-87cd0d6a.entry.js} +1 -1
- package/dist/vega/{p-22a85055.entry.js → p-8cfe4027.entry.js} +1 -1
- package/dist/vega/{p-056f448c.entry.js → p-9281cdb2.entry.js} +1 -1
- package/dist/vega/p-95b25b97.entry.js +1 -0
- package/dist/vega/p-9b45e5dc.entry.js +1 -0
- package/dist/vega/{p-4bc042ec.entry.js → p-9b9c0afb.entry.js} +1 -1
- package/dist/vega/{p-128fbe13.entry.js → p-9ba68531.entry.js} +2 -2
- package/dist/vega/{p-be784f53.js → p-9f3b1d77.js} +1 -1
- package/dist/vega/p-a66ea015.entry.js +1 -0
- package/dist/vega/p-a67748c6.entry.js +1 -0
- package/dist/vega/{p-33366630.entry.js → p-a6e1d9bc.entry.js} +1 -1
- package/dist/vega/{p-38d81bde.js → p-a9354a5c.js} +1 -1
- package/dist/vega/p-ab983e7d.js +1 -0
- package/dist/vega/p-ae3fd67e.js +1 -0
- package/dist/vega/p-b0502d01.js +1 -0
- package/dist/vega/{p-8b0533c4.entry.js → p-b1a249ef.entry.js} +1 -1
- package/dist/vega/{p-bccacf42.js → p-b347f967.js} +1 -1
- package/dist/vega/p-b3e754da.entry.js +1 -0
- package/dist/vega/{p-ddc70a7b.js → p-b62f0454.js} +1 -1
- package/dist/vega/{p-26d0d411.entry.js → p-b6e49ee9.entry.js} +1 -1
- package/dist/vega/{p-a901494d.entry.js → p-bb6f8b70.entry.js} +1 -1
- package/dist/vega/{p-456416ea.js → p-bdb94242.js} +1 -1
- package/dist/vega/{p-5d231a82.entry.js → p-be6041fc.entry.js} +1 -1
- package/dist/vega/{p-0dd750b0.entry.js → p-bf38199b.entry.js} +1 -1
- package/dist/vega/p-bf3fbb9b.js +1 -0
- package/dist/vega/p-c06e7880.js +1 -0
- package/dist/vega/{p-51622ace.entry.js → p-c3c2890e.entry.js} +1 -1
- package/dist/vega/{p-6874d6a1.entry.js → p-c6ed1982.entry.js} +1 -1
- package/dist/vega/{p-33596687.js → p-c7d70786.js} +1 -1
- package/dist/vega/p-cdebfee7.entry.js +1 -0
- package/dist/vega/p-cea70476.entry.js +1 -0
- package/dist/vega/{p-d550fc66.entry.js → p-d3c07efa.entry.js} +1 -1
- package/dist/vega/p-d71f968e.entry.js +1 -0
- package/dist/vega/{p-365c340d.entry.js → p-e165c9f1.entry.js} +1 -1
- package/dist/vega/{p-5dc98104.js → p-e5d7b4b8.js} +1 -1
- package/dist/vega/p-e6f91767.entry.js +1 -0
- package/dist/vega/p-e731976a.js +1 -0
- package/dist/vega/p-ed237efc.js +1 -0
- package/dist/vega/{p-cbeda6ca.entry.js → p-f2685ec5.entry.js} +1 -1
- package/dist/vega/{p-115e5967.js → p-f2851f16.js} +1 -1
- package/dist/vega/p-f5b0ce61.js +1 -0
- package/dist/vega/{p-a57eed48.entry.js → p-f64fb740.entry.js} +1 -1
- package/dist/vega/{p-80c0f98c.entry.js → p-fb3233db.entry.js} +1 -1
- package/dist/vega/{p-8f60c3ee.entry.js → p-ff22a95f.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +7 -3
- package/dist/collection/utils/position.js +0 -373
- package/dist/types/utils/position.d.ts +0 -17
- package/dist/vega/p-0120ce7a.js +0 -1
- package/dist/vega/p-0395e791.entry.js +0 -1
- package/dist/vega/p-048a97d1.entry.js +0 -1
- package/dist/vega/p-1f38eef6.entry.js +0 -1
- package/dist/vega/p-1fc5373a.entry.js +0 -1
- package/dist/vega/p-344ee7cb.js +0 -1
- package/dist/vega/p-3f5e44c1.js +0 -1
- package/dist/vega/p-41784db1.js +0 -1
- package/dist/vega/p-6168c1e7.js +0 -1
- package/dist/vega/p-64e8bb64.js +0 -1
- package/dist/vega/p-657df167.entry.js +0 -1
- package/dist/vega/p-68055c2d.entry.js +0 -1
- package/dist/vega/p-6d015656.entry.js +0 -1
- package/dist/vega/p-6e3cc7f0.entry.js +0 -1
- package/dist/vega/p-880f91fb.js +0 -1
- package/dist/vega/p-8843226a.entry.js +0 -1
- package/dist/vega/p-a10074a8.entry.js +0 -1
- package/dist/vega/p-a454acc4.entry.js +0 -1
- package/dist/vega/p-a8b1f19c.entry.js +0 -1
- package/dist/vega/p-acf8b473.js +0 -1
- package/dist/vega/p-d0a83562.entry.js +0 -1
- package/dist/vega/p-d4fb2264.entry.js +0 -1
- package/dist/vega/p-da86ba01.js +0 -1
- package/dist/vega/p-ead1a647.js +0 -1
- package/dist/vega/p-ead9a2b9.entry.js +0 -1
- package/dist/vega/p-ee68920f.js +0 -1
- package/dist/vega/p-f0ad06bd.entry.js +0 -1
- package/dist/vega/p-f2019f70.entry.js +0 -1
- package/dist/vega/p-f948debe.entry.js +0 -1
- package/dist/vega/p-fb6c90d6.js +0 -1
- /package/dist/types/{utils/test/position.test.d.ts → helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.d.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField } from 'vega-slimmer/core';
|
|
8
|
+
import { BasePositionCalculationStrategy } from './base-position-calculation-strategy';
|
|
9
|
+
/**
|
|
10
|
+
* calculate position by screen container
|
|
11
|
+
*/
|
|
12
|
+
export class ScreenPositionCalculationStrategy extends BasePositionCalculationStrategy {
|
|
13
|
+
/**
|
|
14
|
+
* Get the position of the element in the container according to the target element and the placement
|
|
15
|
+
* If give a translocation, it will apply the translocation to the result.
|
|
16
|
+
*
|
|
17
|
+
* @param {boolean} usePreviousPlacement - Should keep use previous placement and alignment.
|
|
18
|
+
* @returns {ElementPositionBox} A function that takes in a container, element, target, placement, and translocation and
|
|
19
|
+
* returns an ElementPositionBox.
|
|
20
|
+
*/
|
|
21
|
+
getPosition(usePreviousPlacement) {
|
|
22
|
+
const positionBox = usePreviousPlacement
|
|
23
|
+
? this.getPositionBox([this.previousPositionBox.placement], [this.previousPositionBox.alignment])
|
|
24
|
+
: this.getPositionBox();
|
|
25
|
+
this.previousPositionBox = positionBox;
|
|
26
|
+
return positionBox;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* It returns the position of an element relative to its container and also includes the scroll height of container.
|
|
30
|
+
*
|
|
31
|
+
* @returns {ElementBoundBox} An object with the properties width, height, top, and left.
|
|
32
|
+
*/
|
|
33
|
+
getTargetBoundBox() {
|
|
34
|
+
const targetRect = this.showConfig.target.getBoundingClientRect();
|
|
35
|
+
return {
|
|
36
|
+
width: targetRect.width,
|
|
37
|
+
height: targetRect.height,
|
|
38
|
+
top: targetRect.top,
|
|
39
|
+
left: targetRect.left,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* "Get the width and height of an element."
|
|
44
|
+
*
|
|
45
|
+
* The function takes a single parameter, a container element, and returns an object with two
|
|
46
|
+
* properties: width and height
|
|
47
|
+
*
|
|
48
|
+
* @returns {ElementScrollDimension} An object with two properties: width and height.
|
|
49
|
+
*/
|
|
50
|
+
getElementScrollDimension() {
|
|
51
|
+
return {
|
|
52
|
+
width: window.innerWidth,
|
|
53
|
+
height: window.innerHeight,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
__decorate([
|
|
58
|
+
MapToComponentField()
|
|
59
|
+
], ScreenPositionCalculationStrategy.prototype, "showConfig", void 0);
|
|
@@ -1,13 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { InjectVegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { LogUtility } from '../../../../utils/log';
|
|
9
|
+
import { PositionCalculationController } from '../position-calculation-controller';
|
|
10
|
+
import { ElementAppenderContainerController } from '../../element-appender-container/element-appender-container-controller';
|
|
11
|
+
export class PositionCalculationMockedComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.elementAppenderContainerController = new ElementAppenderContainerController();
|
|
14
|
+
this.positionCalculationController = new PositionCalculationController();
|
|
15
|
+
this.isScreenPosition = false;
|
|
16
|
+
this.setHtml();
|
|
17
|
+
}
|
|
18
|
+
setIsScreenPosition(isScreenPosition) {
|
|
19
|
+
this.isScreenPosition = isScreenPosition;
|
|
20
|
+
}
|
|
21
|
+
getPositionBox(container, element, target, placement, alignment, translocation = { X: 0, Y: 0 }) {
|
|
22
|
+
this.container = container;
|
|
23
|
+
this.showConfig = {
|
|
24
|
+
target: target,
|
|
25
|
+
appendableElement: element,
|
|
26
|
+
placement: placement,
|
|
27
|
+
alignment: alignment,
|
|
28
|
+
translocation: translocation,
|
|
29
|
+
isScreenPosition: this.isScreenPosition,
|
|
30
|
+
};
|
|
31
|
+
this.positionCalculationController.setCalculationStrategy();
|
|
32
|
+
this.positionCalculationController.adjustPosition();
|
|
33
|
+
let placementResult;
|
|
34
|
+
let alignmentResult;
|
|
35
|
+
element.className.split(' ').forEach((item) => {
|
|
36
|
+
if (item.includes('vega-placement')) {
|
|
37
|
+
placementResult = item.replace('vega-placement-', '');
|
|
38
|
+
}
|
|
39
|
+
if (item.includes('vega-alignment')) {
|
|
40
|
+
alignmentResult = item.replace('vega-alignment-', '');
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
top: Number(element.style.top.replace('px', '')),
|
|
45
|
+
left: Number(element.style.left.replace('px', '')),
|
|
46
|
+
placement: placementResult,
|
|
47
|
+
alignment: alignmentResult,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
setHtml() {
|
|
51
|
+
document.body.innerHTML = `
|
|
52
|
+
<vega-modal>
|
|
53
|
+
<div class='target'> test target </div>
|
|
54
|
+
</vega-modal>
|
|
55
|
+
<div class='element'>test element</div>
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
__decorate([
|
|
60
|
+
InjectVegaSlimmer()
|
|
61
|
+
], PositionCalculationMockedComponent.prototype, "elementAppenderContainerController", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
InjectVegaSlimmer()
|
|
64
|
+
], PositionCalculationMockedComponent.prototype, "positionCalculationController", void 0);
|
|
65
|
+
describe('component.getPositionBox', () => {
|
|
66
|
+
const component = new PositionCalculationMockedComponent();
|
|
11
67
|
const element = document.querySelector('.element');
|
|
12
68
|
const target = document.querySelector('.target');
|
|
13
69
|
const container = document.querySelector('vega-modal');
|
|
@@ -32,7 +88,7 @@ describe('getPositionBox', () => {
|
|
|
32
88
|
width: 100,
|
|
33
89
|
height: 100,
|
|
34
90
|
});
|
|
35
|
-
getPositionBox(container, element, target);
|
|
91
|
+
component.getPositionBox(container, element, target);
|
|
36
92
|
expect(LogUtility.warn).toHaveBeenCalledWith(`Calculate position should make container as 'position: relative', otherwise the result might not be accurate.`);
|
|
37
93
|
});
|
|
38
94
|
describe('directions', () => {
|
|
@@ -48,7 +104,7 @@ describe('getPositionBox', () => {
|
|
|
48
104
|
top: 100,
|
|
49
105
|
left: 100,
|
|
50
106
|
});
|
|
51
|
-
const positionBox = getPositionBox(container, element, target, [
|
|
107
|
+
const positionBox = component.getPositionBox(container, element, target, [
|
|
52
108
|
'left',
|
|
53
109
|
'bottom',
|
|
54
110
|
'right',
|
|
@@ -63,7 +119,7 @@ describe('getPositionBox', () => {
|
|
|
63
119
|
top: 100,
|
|
64
120
|
left: 100,
|
|
65
121
|
});
|
|
66
|
-
const positionBox = getPositionBox(container, element, target);
|
|
122
|
+
const positionBox = component.getPositionBox(container, element, target);
|
|
67
123
|
expect(positionBox).toEqual({ top: 50, left: 100, placement: 'top', alignment: 'start' });
|
|
68
124
|
});
|
|
69
125
|
test('return result as expected when with single placement', () => {
|
|
@@ -75,13 +131,13 @@ describe('getPositionBox', () => {
|
|
|
75
131
|
left: 100,
|
|
76
132
|
});
|
|
77
133
|
let positionBox;
|
|
78
|
-
positionBox = getPositionBox(container, element, target, 'left');
|
|
134
|
+
positionBox = component.getPositionBox(container, element, target, 'left');
|
|
79
135
|
expect(positionBox).toEqual({ top: 100, left: 50, placement: 'left', alignment: 'start' });
|
|
80
|
-
positionBox = getPositionBox(container, element, target, 'top');
|
|
136
|
+
positionBox = component.getPositionBox(container, element, target, 'top');
|
|
81
137
|
expect(positionBox).toEqual({ top: 50, left: 100, placement: 'top', alignment: 'start' });
|
|
82
|
-
positionBox = getPositionBox(container, element, target, 'right');
|
|
138
|
+
positionBox = component.getPositionBox(container, element, target, 'right');
|
|
83
139
|
expect(positionBox).toEqual({ top: 100, left: 200, placement: 'right', alignment: 'start' });
|
|
84
|
-
positionBox = getPositionBox(container, element, target, 'bottom');
|
|
140
|
+
positionBox = component.getPositionBox(container, element, target, 'bottom');
|
|
85
141
|
expect(positionBox).toEqual({ top: 200, left: 100, placement: 'bottom', alignment: 'start' });
|
|
86
142
|
});
|
|
87
143
|
test('return result as expected when container scroll', () => {
|
|
@@ -95,13 +151,13 @@ describe('getPositionBox', () => {
|
|
|
95
151
|
let positionBox;
|
|
96
152
|
container.scrollTop = 20;
|
|
97
153
|
container.scrollLeft = 20;
|
|
98
|
-
positionBox = getPositionBox(container, element, target, 'left');
|
|
154
|
+
positionBox = component.getPositionBox(container, element, target, 'left');
|
|
99
155
|
expect(positionBox).toEqual({ top: 100, left: 50, placement: 'left', alignment: 'start' });
|
|
100
|
-
positionBox = getPositionBox(container, element, target, 'top');
|
|
156
|
+
positionBox = component.getPositionBox(container, element, target, 'top');
|
|
101
157
|
expect(positionBox).toEqual({ top: 50, left: 100, placement: 'top', alignment: 'start' });
|
|
102
|
-
positionBox = getPositionBox(container, element, target, 'right');
|
|
158
|
+
positionBox = component.getPositionBox(container, element, target, 'right');
|
|
103
159
|
expect(positionBox).toEqual({ top: 100, left: 200, placement: 'right', alignment: 'start' });
|
|
104
|
-
positionBox = getPositionBox(container, element, target, 'bottom');
|
|
160
|
+
positionBox = component.getPositionBox(container, element, target, 'bottom');
|
|
105
161
|
expect(positionBox).toEqual({ top: 200, left: 100, placement: 'bottom', alignment: 'start' });
|
|
106
162
|
});
|
|
107
163
|
test('return result as expected when top have not enough placement', () => {
|
|
@@ -112,7 +168,7 @@ describe('getPositionBox', () => {
|
|
|
112
168
|
top: 100,
|
|
113
169
|
left: 100,
|
|
114
170
|
});
|
|
115
|
-
const positionBox = getPositionBox(container, element, target, 'top');
|
|
171
|
+
const positionBox = component.getPositionBox(container, element, target, 'top');
|
|
116
172
|
expect(positionBox).toEqual({ top: 100, left: 50, placement: 'left', alignment: 'start' });
|
|
117
173
|
});
|
|
118
174
|
test('return result as expected when top have not enough placement and with translocation', () => {
|
|
@@ -123,7 +179,7 @@ describe('getPositionBox', () => {
|
|
|
123
179
|
top: 100,
|
|
124
180
|
left: 100,
|
|
125
181
|
});
|
|
126
|
-
const positionBox = getPositionBox(container, element, target, 'top', undefined, {
|
|
182
|
+
const positionBox = component.getPositionBox(container, element, target, 'top', undefined, {
|
|
127
183
|
X: 10,
|
|
128
184
|
Y: 20,
|
|
129
185
|
});
|
|
@@ -137,7 +193,7 @@ describe('getPositionBox', () => {
|
|
|
137
193
|
top: 100,
|
|
138
194
|
left: 100,
|
|
139
195
|
});
|
|
140
|
-
const positionBox = getPositionBox(container, element, target, 'top');
|
|
196
|
+
const positionBox = component.getPositionBox(container, element, target, 'top');
|
|
141
197
|
expect(positionBox).toEqual({ top: 200, left: 100, placement: 'bottom', alignment: 'start' });
|
|
142
198
|
});
|
|
143
199
|
test('return result as expected when top, left and bottom have not enough placement', () => {
|
|
@@ -148,7 +204,7 @@ describe('getPositionBox', () => {
|
|
|
148
204
|
top: 100,
|
|
149
205
|
left: 100,
|
|
150
206
|
});
|
|
151
|
-
const positionBox = getPositionBox(container, element, target, 'top');
|
|
207
|
+
const positionBox = component.getPositionBox(container, element, target, 'top');
|
|
152
208
|
expect(positionBox).toEqual({ top: 100, left: 200, placement: 'right', alignment: 'start' });
|
|
153
209
|
});
|
|
154
210
|
test('return result as expected when container scrollHeight/scrollWidth is big than body scrollHeight/scrollWidth', () => {
|
|
@@ -161,12 +217,12 @@ describe('getPositionBox', () => {
|
|
|
161
217
|
top: 200,
|
|
162
218
|
left: 200,
|
|
163
219
|
});
|
|
164
|
-
const positionBox = getPositionBox(container, element, target, [
|
|
220
|
+
const positionBox = component.getPositionBox(container, element, target, [
|
|
165
221
|
'bottom',
|
|
166
222
|
'top',
|
|
167
223
|
]);
|
|
168
224
|
expect(positionBox).toEqual({ top: 400, left: 200, placement: 'bottom', alignment: 'start' });
|
|
169
|
-
const positionBox1 = getPositionBox(container, element, target, [
|
|
225
|
+
const positionBox1 = component.getPositionBox(container, element, target, [
|
|
170
226
|
'right',
|
|
171
227
|
'left',
|
|
172
228
|
]);
|
|
@@ -182,9 +238,43 @@ describe('getPositionBox', () => {
|
|
|
182
238
|
Object.assign(target, { offsetTop: 0 });
|
|
183
239
|
Object.assign(target, { offsetLeft: 0 });
|
|
184
240
|
spyOn(LogUtility, 'warn');
|
|
185
|
-
getPositionBox(container, target, element);
|
|
241
|
+
component.getPositionBox(container, target, element);
|
|
186
242
|
expect(LogUtility.warn).toBeCalled();
|
|
187
243
|
});
|
|
244
|
+
test('return result as expected when top center have enough placement', () => {
|
|
245
|
+
Object.assign(container, { scrollHeight: 530 });
|
|
246
|
+
Object.assign(container, { scrollWidth: 530 });
|
|
247
|
+
mockElementReturn(element, 'getBoundingClientRect', { width: 200, height: 200 });
|
|
248
|
+
mockElementReturn(target, 'getBoundingClientRect', {
|
|
249
|
+
width: 100,
|
|
250
|
+
height: 100,
|
|
251
|
+
top: 300,
|
|
252
|
+
left: 80,
|
|
253
|
+
});
|
|
254
|
+
expect(component.getPositionBox(container, element, target, ['top', 'left'], ['center', 'start'])).toEqual({
|
|
255
|
+
top: 100,
|
|
256
|
+
left: 30,
|
|
257
|
+
placement: 'top',
|
|
258
|
+
alignment: 'center',
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
test('return result as expected when left center have enough placement', () => {
|
|
262
|
+
Object.assign(container, { scrollHeight: 530 });
|
|
263
|
+
Object.assign(container, { scrollWidth: 530 });
|
|
264
|
+
mockElementReturn(element, 'getBoundingClientRect', { width: 200, height: 200 });
|
|
265
|
+
mockElementReturn(target, 'getBoundingClientRect', {
|
|
266
|
+
width: 100,
|
|
267
|
+
height: 100,
|
|
268
|
+
top: 80,
|
|
269
|
+
left: 300,
|
|
270
|
+
});
|
|
271
|
+
expect(component.getPositionBox(container, element, target, ['left', 'top'], ['center', 'start'])).toEqual({
|
|
272
|
+
top: 30,
|
|
273
|
+
left: 100,
|
|
274
|
+
placement: 'left',
|
|
275
|
+
alignment: 'center',
|
|
276
|
+
});
|
|
277
|
+
});
|
|
188
278
|
});
|
|
189
279
|
describe('with translocation', () => {
|
|
190
280
|
beforeAll(() => {
|
|
@@ -197,17 +287,17 @@ describe('getPositionBox', () => {
|
|
|
197
287
|
});
|
|
198
288
|
});
|
|
199
289
|
test('return result as expected when container not scrolled', () => {
|
|
200
|
-
const positionBox = getPositionBox(container, element, target, 'top', undefined, {
|
|
290
|
+
const positionBox = component.getPositionBox(container, element, target, 'top', undefined, {
|
|
201
291
|
X: 100,
|
|
202
292
|
Y: 100,
|
|
203
293
|
});
|
|
204
294
|
expect(positionBox).toEqual({ top: -60, left: 200, placement: 'top', alignment: 'start' });
|
|
205
|
-
const positionBox1 = getPositionBox(container, element, target, 'right', undefined, {
|
|
295
|
+
const positionBox1 = component.getPositionBox(container, element, target, 'right', undefined, {
|
|
206
296
|
X: 100,
|
|
207
297
|
Y: 100,
|
|
208
298
|
});
|
|
209
299
|
expect(positionBox1).toEqual({ top: 200, left: 300, placement: 'right', alignment: 'start' });
|
|
210
|
-
const positionBox2 = getPositionBox(container, element, target, 'left', undefined, {
|
|
300
|
+
const positionBox2 = component.getPositionBox(container, element, target, 'left', undefined, {
|
|
211
301
|
X: 100,
|
|
212
302
|
Y: 100,
|
|
213
303
|
});
|
|
@@ -216,46 +306,46 @@ describe('getPositionBox', () => {
|
|
|
216
306
|
test('return result as expected when container scrolled', () => {
|
|
217
307
|
container.scrollTop = 20;
|
|
218
308
|
container.scrollLeft = 20;
|
|
219
|
-
const positionBox = getPositionBox(container, element, target, 'top', undefined, {
|
|
309
|
+
const positionBox = component.getPositionBox(container, element, target, 'top', undefined, {
|
|
220
310
|
X: 100,
|
|
221
311
|
Y: 100,
|
|
222
312
|
});
|
|
223
313
|
expect(positionBox).toEqual({ top: -40, left: 220, placement: 'top', alignment: 'start' });
|
|
224
|
-
const positionBox1 = getPositionBox(container, element, target, 'right', undefined, {
|
|
314
|
+
const positionBox1 = component.getPositionBox(container, element, target, 'right', undefined, {
|
|
225
315
|
X: 100,
|
|
226
316
|
Y: 100,
|
|
227
317
|
});
|
|
228
318
|
expect(positionBox1).toEqual({ top: 220, left: 320, placement: 'right', alignment: 'start' });
|
|
229
319
|
});
|
|
230
320
|
test('return result as expected when alignment set', () => {
|
|
231
|
-
const positionBox1 = getPositionBox(container, element, target, 'bottom', 'start');
|
|
321
|
+
const positionBox1 = component.getPositionBox(container, element, target, 'bottom', 'start');
|
|
232
322
|
expect(positionBox1).toEqual({ top: 200, left: 100, placement: 'bottom', alignment: 'start' });
|
|
233
|
-
const positionBox2 = getPositionBox(container, element, target, 'bottom', 'center');
|
|
323
|
+
const positionBox2 = component.getPositionBox(container, element, target, 'bottom', 'center');
|
|
234
324
|
expect(positionBox2).toEqual({
|
|
235
325
|
top: 200,
|
|
236
326
|
left: 120,
|
|
237
327
|
placement: 'bottom',
|
|
238
328
|
alignment: 'center',
|
|
239
329
|
});
|
|
240
|
-
const positionBox3 = getPositionBox(container, element, target, 'bottom', 'end');
|
|
330
|
+
const positionBox3 = component.getPositionBox(container, element, target, 'bottom', 'end');
|
|
241
331
|
expect(positionBox3).toEqual({ top: 200, left: 140, placement: 'bottom', alignment: 'end' });
|
|
242
|
-
const positionBox4 = getPositionBox(container, element, target, 'top', 'start');
|
|
332
|
+
const positionBox4 = component.getPositionBox(container, element, target, 'top', 'start');
|
|
243
333
|
expect(positionBox4).toEqual({ top: 40, left: 100, placement: 'top', alignment: 'start' });
|
|
244
|
-
const positionBox5 = getPositionBox(container, element, target, 'top', 'center');
|
|
334
|
+
const positionBox5 = component.getPositionBox(container, element, target, 'top', 'center');
|
|
245
335
|
expect(positionBox5).toEqual({ top: 40, left: 120, placement: 'top', alignment: 'center' });
|
|
246
|
-
const positionBox6 = getPositionBox(container, element, target, 'top', 'end');
|
|
336
|
+
const positionBox6 = component.getPositionBox(container, element, target, 'top', 'end');
|
|
247
337
|
expect(positionBox6).toEqual({ top: 40, left: 140, placement: 'top', alignment: 'end' });
|
|
248
|
-
const positionBox7 = getPositionBox(container, element, target, 'left', 'start');
|
|
338
|
+
const positionBox7 = component.getPositionBox(container, element, target, 'left', 'start');
|
|
249
339
|
expect(positionBox7).toEqual({ top: 100, left: 40, placement: 'left', alignment: 'start' });
|
|
250
|
-
const positionBox8 = getPositionBox(container, element, target, 'left', 'center');
|
|
340
|
+
const positionBox8 = component.getPositionBox(container, element, target, 'left', 'center');
|
|
251
341
|
expect(positionBox8).toEqual({ top: 120, left: 40, placement: 'left', alignment: 'center' });
|
|
252
|
-
const positionBox9 = getPositionBox(container, element, target, 'left', 'end', undefined);
|
|
342
|
+
const positionBox9 = component.getPositionBox(container, element, target, 'left', 'end', undefined);
|
|
253
343
|
expect(positionBox9).toEqual({ top: 140, left: 40, placement: 'left', alignment: 'end' });
|
|
254
|
-
const positionBox10 = getPositionBox(container, element, target, 'right', 'start');
|
|
344
|
+
const positionBox10 = component.getPositionBox(container, element, target, 'right', 'start');
|
|
255
345
|
expect(positionBox10).toEqual({ top: 100, left: 200, placement: 'right', alignment: 'start' });
|
|
256
|
-
const positionBox11 = getPositionBox(container, element, target, 'right', 'center');
|
|
346
|
+
const positionBox11 = component.getPositionBox(container, element, target, 'right', 'center');
|
|
257
347
|
expect(positionBox11).toEqual({ top: 120, left: 200, placement: 'right', alignment: 'center' });
|
|
258
|
-
const positionBox12 = getPositionBox(container, element, target, 'right', 'end');
|
|
348
|
+
const positionBox12 = component.getPositionBox(container, element, target, 'right', 'end');
|
|
259
349
|
expect(positionBox12).toEqual({ top: 140, left: 200, placement: 'right', alignment: 'end' });
|
|
260
350
|
});
|
|
261
351
|
});
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { PositionCalculationMockedComponent } from './body-position-calculation-strategy.test';
|
|
2
|
+
describe('BodyPositionCalculationStrategy.getPositionBox', () => {
|
|
3
|
+
const component = new PositionCalculationMockedComponent();
|
|
4
|
+
component.setIsScreenPosition(true);
|
|
5
|
+
const innerHTML = `
|
|
6
|
+
<div class='container'>
|
|
7
|
+
<div class='target'> test target </div>
|
|
8
|
+
<div class='element'>test element</div>
|
|
9
|
+
</div>
|
|
10
|
+
`;
|
|
11
|
+
document.body.innerHTML = innerHTML;
|
|
12
|
+
const element = document.querySelector('.element');
|
|
13
|
+
const target = document.querySelector('.target');
|
|
14
|
+
const container = document.querySelector('.container');
|
|
15
|
+
function mockElementReturn(element, method, value) {
|
|
16
|
+
spyOn(element, method).and.returnValue(value);
|
|
17
|
+
}
|
|
18
|
+
beforeAll(() => {
|
|
19
|
+
Object.assign(window, { innerWidth: 500 });
|
|
20
|
+
Object.assign(window, { innerHeight: 500 });
|
|
21
|
+
});
|
|
22
|
+
describe('directions', () => {
|
|
23
|
+
beforeAll(() => {
|
|
24
|
+
mockElementReturn(element, 'getBoundingClientRect', { width: 50, height: 50 });
|
|
25
|
+
mockElementReturn(target, 'getBoundingClientRect', {
|
|
26
|
+
width: 100,
|
|
27
|
+
height: 100,
|
|
28
|
+
top: 100,
|
|
29
|
+
left: 100,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
test('return result as expected in top', () => {
|
|
33
|
+
expect(component.getPositionBox(container, element, target, ['top'], ['start'])).toEqual({
|
|
34
|
+
top: 50,
|
|
35
|
+
left: 100,
|
|
36
|
+
placement: 'top',
|
|
37
|
+
alignment: 'start',
|
|
38
|
+
});
|
|
39
|
+
expect(component.getPositionBox(container, element, target, ['top'], ['center'])).toEqual({
|
|
40
|
+
top: 50,
|
|
41
|
+
left: 125,
|
|
42
|
+
placement: 'top',
|
|
43
|
+
alignment: 'center',
|
|
44
|
+
});
|
|
45
|
+
expect(component.getPositionBox(container, element, target, ['top'], ['end'])).toEqual({
|
|
46
|
+
top: 50,
|
|
47
|
+
left: 150,
|
|
48
|
+
placement: 'top',
|
|
49
|
+
alignment: 'end',
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
test('return result as expected in left', () => {
|
|
53
|
+
expect(component.getPositionBox(container, element, target, ['left'], ['start'])).toEqual({
|
|
54
|
+
top: 100,
|
|
55
|
+
left: 50,
|
|
56
|
+
placement: 'left',
|
|
57
|
+
alignment: 'start',
|
|
58
|
+
});
|
|
59
|
+
expect(component.getPositionBox(container, element, target, ['left'], ['center'])).toEqual({
|
|
60
|
+
top: 125,
|
|
61
|
+
left: 50,
|
|
62
|
+
placement: 'left',
|
|
63
|
+
alignment: 'center',
|
|
64
|
+
});
|
|
65
|
+
expect(component.getPositionBox(container, element, target, ['left'], ['end'])).toEqual({
|
|
66
|
+
top: 150,
|
|
67
|
+
left: 50,
|
|
68
|
+
placement: 'left',
|
|
69
|
+
alignment: 'end',
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
test('return result as expected in bottom', () => {
|
|
73
|
+
expect(component.getPositionBox(container, element, target, ['bottom'], ['start'])).toEqual({
|
|
74
|
+
top: 200,
|
|
75
|
+
left: 100,
|
|
76
|
+
placement: 'bottom',
|
|
77
|
+
alignment: 'start',
|
|
78
|
+
});
|
|
79
|
+
expect(component.getPositionBox(container, element, target, ['bottom'], ['center'])).toEqual({
|
|
80
|
+
top: 200,
|
|
81
|
+
left: 125,
|
|
82
|
+
placement: 'bottom',
|
|
83
|
+
alignment: 'center',
|
|
84
|
+
});
|
|
85
|
+
expect(component.getPositionBox(container, element, target, ['bottom'], ['end'])).toEqual({
|
|
86
|
+
top: 200,
|
|
87
|
+
left: 150,
|
|
88
|
+
placement: 'bottom',
|
|
89
|
+
alignment: 'end',
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
test('return result as expected in right', () => {
|
|
93
|
+
expect(component.getPositionBox(container, element, target, ['right'], ['start'])).toEqual({
|
|
94
|
+
top: 100,
|
|
95
|
+
left: 200,
|
|
96
|
+
placement: 'right',
|
|
97
|
+
alignment: 'start',
|
|
98
|
+
});
|
|
99
|
+
expect(component.getPositionBox(container, element, target, ['right'], ['center'])).toEqual({
|
|
100
|
+
top: 125,
|
|
101
|
+
left: 200,
|
|
102
|
+
placement: 'right',
|
|
103
|
+
alignment: 'center',
|
|
104
|
+
});
|
|
105
|
+
expect(component.getPositionBox(container, element, target, ['right'], ['end'])).toEqual({
|
|
106
|
+
top: 150,
|
|
107
|
+
left: 200,
|
|
108
|
+
placement: 'right',
|
|
109
|
+
alignment: 'end',
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -9,14 +9,17 @@ import { SubStateNotifySlimmerBase } from './sub-state-notify-slimmer-base';
|
|
|
9
9
|
* @returns {SubStateNotifySlimmerBase} - SubState notify slimmer
|
|
10
10
|
*/
|
|
11
11
|
export function createSubStateNotifySlimmer(mapFromClass, propName, watchMethodName) {
|
|
12
|
+
const methodsMap = [
|
|
13
|
+
{ mapFrom: 'connectedCallback', mapTo: 'connectedCallback' },
|
|
14
|
+
{ mapFrom: 'disconnectedCallback', mapTo: 'disconnectedCallback' },
|
|
15
|
+
];
|
|
16
|
+
if (watchMethodName) {
|
|
17
|
+
methodsMap.push({ mapFrom: watchMethodName, mapTo: 'subStateNotify' });
|
|
18
|
+
}
|
|
12
19
|
return createDynamicSlimmer(mapFromClass, SubStateNotifySlimmerBase, [
|
|
13
20
|
{ mapFrom: 'host', mapTo: 'host' },
|
|
14
21
|
{ mapFrom: propName, mapTo: 'propValue' },
|
|
15
|
-
], [
|
|
16
|
-
{ mapFrom: watchMethodName, mapTo: 'subStateNotify' },
|
|
17
|
-
{ mapFrom: 'connectedCallback', mapTo: 'connectedCallback' },
|
|
18
|
-
{ mapFrom: 'disconnectedCallback', mapTo: 'disconnectedCallback' },
|
|
19
|
-
], [
|
|
22
|
+
], methodsMap, [
|
|
20
23
|
{
|
|
21
24
|
propName: propName,
|
|
22
25
|
},
|
|
@@ -21,9 +21,11 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
21
21
|
this.parentState = 'parent only';
|
|
22
22
|
// Mock component @State by using protected
|
|
23
23
|
this.name = 'parent name';
|
|
24
|
+
this.staticState = true;
|
|
24
25
|
this.nameNotifySlimmer = createSubStateNotifySlimmer(MockedParentComponent, 'name', 'watchName');
|
|
25
26
|
this.ageNotifySlimmer = createSubStateNotifySlimmer(MockedParentComponent, 'age', 'watchAge');
|
|
26
27
|
this.parentStateNotifySlimmer = createSubStateNotifySlimmer(MockedParentComponent, 'parentState', 'watchParentState');
|
|
28
|
+
this.staticStateNotifySlimmer = createSubStateNotifySlimmer(MockedParentComponent, 'staticState');
|
|
27
29
|
}
|
|
28
30
|
connectedCallback() {
|
|
29
31
|
jest.fn();
|
|
@@ -53,6 +55,9 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
53
55
|
__decorate([
|
|
54
56
|
InjectVegaSlimmer()
|
|
55
57
|
], MockedParentComponent.prototype, "parentStateNotifySlimmer", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
InjectVegaSlimmer()
|
|
60
|
+
], MockedParentComponent.prototype, "staticStateNotifySlimmer", void 0);
|
|
56
61
|
class ChildStateSlimmer extends SubStateObserverSlimmer {
|
|
57
62
|
constructor(entry) {
|
|
58
63
|
super({
|
|
@@ -69,6 +74,10 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
69
74
|
this.age = value - 1;
|
|
70
75
|
},
|
|
71
76
|
},
|
|
77
|
+
{
|
|
78
|
+
subStateName: 'staticState',
|
|
79
|
+
parentStateName: 'staticState',
|
|
80
|
+
},
|
|
72
81
|
],
|
|
73
82
|
pullStatesWhenReattached: entry && entry.pullStatesWhenReattached,
|
|
74
83
|
});
|
|
@@ -83,6 +92,9 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
83
92
|
__decorate([
|
|
84
93
|
MapToComponentField({ writable: true })
|
|
85
94
|
], ChildStateSlimmer.prototype, "age", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
MapToComponentField({ writable: true })
|
|
97
|
+
], ChildStateSlimmer.prototype, "staticState", void 0);
|
|
86
98
|
class ChildComponent {
|
|
87
99
|
constructor(childStateSlimmerEntry) {
|
|
88
100
|
this.host = child;
|
|
@@ -108,6 +120,9 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
108
120
|
getChildState() {
|
|
109
121
|
return this.childState;
|
|
110
122
|
}
|
|
123
|
+
getStaticState() {
|
|
124
|
+
return this.staticState;
|
|
125
|
+
}
|
|
111
126
|
}
|
|
112
127
|
__decorate([
|
|
113
128
|
InjectVegaSlimmer()
|
|
@@ -201,4 +216,13 @@ describe('SubStateObserverSlimmer', () => {
|
|
|
201
216
|
childComponent.connectedCallback();
|
|
202
217
|
expect(childComponent.getName()).toEqual('parent name');
|
|
203
218
|
});
|
|
219
|
+
it('should subscribe parent static value as expected', () => {
|
|
220
|
+
const parentComponent = new MockedParentComponent();
|
|
221
|
+
const childComponent = new ChildComponent();
|
|
222
|
+
parentComponent.connectedCallback();
|
|
223
|
+
parentComponent.componentWillLoad();
|
|
224
|
+
childComponent.connectedCallback();
|
|
225
|
+
childComponent.componentWillLoad();
|
|
226
|
+
expect(childComponent.getStaticState()).toEqual(true);
|
|
227
|
+
});
|
|
204
228
|
});
|