@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,1000 @@
|
|
|
1
|
+
import { h, r as registerInstance, c as createEvent, F as Fragment, H as Host, g as getElement } from './index-187f71d1.js';
|
|
2
|
+
import { e as flattenChildren } from './array-b668466e.js';
|
|
3
|
+
import { s as sanitizeVegaComponent } from './component-cae24190.js';
|
|
4
|
+
import { a as isObjectEmpty } from './create-public-api-runtime-metrics-slimmer-cc1164bb.js';
|
|
5
|
+
import { c as MapToComponentField, V as VegaSlimmer, M as MapToComponentMethod, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
|
|
6
|
+
import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-b3f6ac79.js';
|
|
7
|
+
import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-7d2b54c3.js';
|
|
8
|
+
import { g as getCurrentBreakpoint } from './breakpoints-36a3ed69.js';
|
|
9
|
+
import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
|
|
10
|
+
import { V as VegaInternalIconManager } from './internal-icon-manager-7004584d.js';
|
|
11
|
+
import { V as VegaIconManager } from './icon-manager-1ee2c968.js';
|
|
12
|
+
import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-be5bcc4e.js';
|
|
13
|
+
import { e as executeAfterTransition } from './effect-8efd2c3c.js';
|
|
14
|
+
import { R as ResponsiveFormatFacade } from './responsive-format-facade-3dc84e41.js';
|
|
15
|
+
import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-994c1e1b.js';
|
|
16
|
+
import { D as DomNodeSubjectObserverFactory, d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-9461cd67.js';
|
|
17
|
+
import { j as VegaInternalSidenavLinkClick } from './vega-internal-event-id-c8507b85.js';
|
|
18
|
+
import { c as createEventEmitSlimmer } from './event-emit-slimmer-44cb4573.js';
|
|
19
|
+
import { D as VegaStateUpdate, a as VegaClick } from './vega-event-id-b1655cbc.js';
|
|
20
|
+
import { C as ChangeManager } from './change-manager-6a7eb88c.js';
|
|
21
|
+
import { O as Observer } from './observer-3959f9dd.js';
|
|
22
|
+
import { j as SIDENAV_LINK_SELECTED_TOPIC } from './static-subject-title-500cf2a3.js';
|
|
23
|
+
import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-cd7adab1.js';
|
|
24
|
+
import { f as findParent } from './ui-0132dbb5.js';
|
|
25
|
+
import { i as internalVegaEventManager } from './internal-vega-event-manager-8154661e.js';
|
|
26
|
+
import './number-4398f2e1.js';
|
|
27
|
+
import './dynamic-slimmer-90b8af32.js';
|
|
28
|
+
import './ui-8424715a.js';
|
|
29
|
+
import './type-guard-63caf78b.js';
|
|
30
|
+
import './regex-dfe11abf.js';
|
|
31
|
+
import './typography-a8fc4764.js';
|
|
32
|
+
import './pixel-f32c07ce.js';
|
|
33
|
+
|
|
34
|
+
var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
35
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
37
|
+
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;
|
|
38
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
39
|
+
};
|
|
40
|
+
/** Manages the visibility and z-index of a backdrop element for a side navigation menu. */
|
|
41
|
+
class VegaSidenavBackdropController extends VegaSlimmer {
|
|
42
|
+
constructor() {
|
|
43
|
+
super(...arguments);
|
|
44
|
+
this.backdropRef = null;
|
|
45
|
+
}
|
|
46
|
+
/*
|
|
47
|
+
* The below method is e2e-test covered in
|
|
48
|
+
* @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
|
|
49
|
+
* @see{module:vega-sidenav-e2e-vega-resize-with-desktop-to-mobile}
|
|
50
|
+
*/
|
|
51
|
+
/* istanbul ignore next */
|
|
52
|
+
/**
|
|
53
|
+
* create or remove the sidenav backdrop element.
|
|
54
|
+
*
|
|
55
|
+
* @param {ResponsiveBehavior} responsiveBehavior The sidenav config
|
|
56
|
+
*/
|
|
57
|
+
updateBackdropAvailability(responsiveBehavior) {
|
|
58
|
+
if (this.openState === 'open' && (responsiveBehavior === null || responsiveBehavior === void 0 ? void 0 : responsiveBehavior.showBackdrop)) {
|
|
59
|
+
this.append();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.removeZIndex('base');
|
|
63
|
+
this.remove();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The function sets the z-index of an element using a specified level.
|
|
68
|
+
*
|
|
69
|
+
* @param {ZIndexLevelType} [level] - The zindex level
|
|
70
|
+
*/
|
|
71
|
+
setZIndex(level) {
|
|
72
|
+
InternalVegaZIndexManager.setZIndex(this.backdropRef, level);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The function removes a specified Z index level from a backdrop element using an internal Vega Z index manager.
|
|
76
|
+
*
|
|
77
|
+
* @param {ZIndexLevelType} [level] - The zindex level
|
|
78
|
+
*/
|
|
79
|
+
removeZIndex(level) {
|
|
80
|
+
InternalVegaZIndexManager.removeZIndex(this.backdropRef, level);
|
|
81
|
+
}
|
|
82
|
+
/*
|
|
83
|
+
* The below method is e2e-test covered in
|
|
84
|
+
* @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
|
|
85
|
+
*/
|
|
86
|
+
/* istanbul ignore next */
|
|
87
|
+
/**
|
|
88
|
+
* Appends a backdrop element to the body of the document and sets its visibility based on a breakpoint.
|
|
89
|
+
*/
|
|
90
|
+
append() {
|
|
91
|
+
let backdrop = document.querySelector(`vega-backdrop.${VegaSidenavBackdropController.backdropClassName}`);
|
|
92
|
+
if (!backdrop) {
|
|
93
|
+
backdrop = document.createElement('vega-backdrop');
|
|
94
|
+
backdrop.classList.add(VegaSidenavBackdropController.backdropClassName);
|
|
95
|
+
document.querySelector('body').append(backdrop);
|
|
96
|
+
}
|
|
97
|
+
backdrop.visible = this.getBackdropVisibleByBreakpoint();
|
|
98
|
+
this.backdropRef = backdrop;
|
|
99
|
+
}
|
|
100
|
+
/*
|
|
101
|
+
* The below method is e2e-test covered in
|
|
102
|
+
* @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
|
|
103
|
+
*/
|
|
104
|
+
/* istanbul ignore next */
|
|
105
|
+
/**
|
|
106
|
+
* Sets the visibility of the `backdropRef` to false.
|
|
107
|
+
*/
|
|
108
|
+
remove() {
|
|
109
|
+
if (this.backdropRef) {
|
|
110
|
+
this.backdropRef.remove();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/*
|
|
114
|
+
* The below method is e2e-test covered in
|
|
115
|
+
* @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
|
|
116
|
+
*/
|
|
117
|
+
/* istanbul ignore next */
|
|
118
|
+
/**
|
|
119
|
+
* Determines if the backdrop is visible based on the current breakpoint.
|
|
120
|
+
*
|
|
121
|
+
* @returns {boolean} A boolean value based on the current breakpoint. It returns `true` if the current breakpoint is either 'S' or 'M', and `false` otherwise.
|
|
122
|
+
*/
|
|
123
|
+
getBackdropVisibleByBreakpoint() {
|
|
124
|
+
const breakpoint = getCurrentBreakpoint();
|
|
125
|
+
return breakpoint === 'S' || breakpoint === 'M' ? true : false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
VegaSidenavBackdropController.backdropClassName = 'vega-sidenav-backdrop';
|
|
129
|
+
__decorate$7([
|
|
130
|
+
MapToComponentField()
|
|
131
|
+
], VegaSidenavBackdropController.prototype, "openState", void 0);
|
|
132
|
+
|
|
133
|
+
const sidenavChevronRight = {
|
|
134
|
+
icon: `<svg width="26" height="43" viewBox="0 0 26 43" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.7444 22.3536L10.6711 28.4268C10.3782 28.7197 9.90333 28.7197 9.61045 28.4268L8.90211 27.7184C8.6097 27.426 8.60914 26.9521 8.90086 26.659L13.714 21.8232L8.90086 16.9874C8.60914 16.6943 8.6097 16.2204 8.90211 15.928L9.61045 15.2197C9.90336 14.9268 10.3782 14.9268 10.6711 15.2197L16.7443 21.2929C17.0372 21.5858 17.0372 22.0606 16.7444 22.3536Z" fill="currentColor"/></svg>`,
|
|
135
|
+
autoSize: true,
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const sidenavToggleButtonBg = {
|
|
139
|
+
icon: `<svg width="26" height="43" viewBox="0 0 26 43" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 12C0 9.79086 1.79086 8 4 8H8V0L12.4853 4.48528C14.7357 6.73572 17.788 8 20.9706 8H22C24.2091 8 26 9.79086 26 12V31C26 33.2091 24.2091 35 22 35H20.9706C17.788 35 14.7357 36.2643 12.4853 38.5147L8 43V35H4C1.79086 35 0 33.2091 0 31V12Z" fill="currentColor"/></svg>`,
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
143
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
144
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
145
|
+
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;
|
|
146
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
147
|
+
};
|
|
148
|
+
/** Renders a collapsible button for a sidebar with specific functionality and styling. */
|
|
149
|
+
class VegaSidenavCollapseButtonRenderer extends VegaSlimmer {
|
|
150
|
+
constructor() {
|
|
151
|
+
super(...arguments);
|
|
152
|
+
this.collapseButtonRef = null;
|
|
153
|
+
/**
|
|
154
|
+
* The below method is e2e-test covered in
|
|
155
|
+
* @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
|
|
156
|
+
* @see{module:vega-sidenav-desktop-click-icon-change-position}
|
|
157
|
+
*/
|
|
158
|
+
/* istanbul ignore next */
|
|
159
|
+
this.handleClickSidebarIcon = async () => {
|
|
160
|
+
await this.host.toggle();
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/*
|
|
164
|
+
* The below method is e2e-test covered in
|
|
165
|
+
* @see{module:vega-sidenav-e2e-openByDefault-resize-screen-size}
|
|
166
|
+
*/
|
|
167
|
+
/* istanbul ignore next */
|
|
168
|
+
/**
|
|
169
|
+
* Update the visibility of the collapse button base on the property canCollapseSidenav
|
|
170
|
+
*
|
|
171
|
+
* @param {boolean} canCollapseSidenav The component could collapse or not
|
|
172
|
+
*/
|
|
173
|
+
updateHandlerIconAvailability(canCollapseSidenav) {
|
|
174
|
+
if (this.collapseButtonRef) {
|
|
175
|
+
if (!canCollapseSidenav) {
|
|
176
|
+
this.collapseButtonRef.classList.add('disable-collapse');
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.collapseButtonRef.classList.remove('disable-collapse');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Render an action button, the button has a special background and chevron left or right icon.
|
|
185
|
+
*
|
|
186
|
+
* @returns {HTMLElement} The button element
|
|
187
|
+
*/
|
|
188
|
+
render() {
|
|
189
|
+
const maskImageStyle = this.getButtonMaskImage();
|
|
190
|
+
return (h("i", { role: 'button', onClick: this.handleClickSidebarIcon, onKeyDown: createEnterKeyHandlerToTriggerClick(), class: "vega-handler-icon", tabIndex: 0, "aria-label": "Handle Sidebar Icon", ref: (node) => (this.collapseButtonRef = node) },
|
|
191
|
+
h("style", null, maskImageStyle),
|
|
192
|
+
h("vega-icon", { size: "size-16", icon: VegaInternalIconManager.getIconKey('sidenav-chevron-right') })));
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Generating a CSS `mask-image` property value using an SVG icon retrieved from the `VegaIconManager` and`VegaInternalIconManager`.
|
|
196
|
+
*
|
|
197
|
+
* @returns {string} The svg content string after encode
|
|
198
|
+
*/
|
|
199
|
+
getButtonMaskImage() {
|
|
200
|
+
const svg = VegaIconManager.getIcon(VegaInternalIconManager.getIconKey('sidenav-toggle-button-bg')).icon;
|
|
201
|
+
const svgUrl = `url(data:image/svg+xml,${globalThis.encodeURIComponent(svg)})`;
|
|
202
|
+
return `.vega-handler-icon{-webkit-mask-image:${svgUrl};mask-image:${svgUrl}}`;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
(() => {
|
|
206
|
+
VegaInternalIconManager.register({
|
|
207
|
+
'sidenav-chevron-right': sidenavChevronRight,
|
|
208
|
+
'sidenav-toggle-button-bg': sidenavToggleButtonBg,
|
|
209
|
+
});
|
|
210
|
+
})();
|
|
211
|
+
__decorate$6([
|
|
212
|
+
MapToComponentField()
|
|
213
|
+
], VegaSidenavCollapseButtonRenderer.prototype, "host", void 0);
|
|
214
|
+
|
|
215
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
216
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
217
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
218
|
+
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;
|
|
219
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
220
|
+
};
|
|
221
|
+
/** Manages the open status of a side navigation component, handling toggling, updating status based on screen size, and other related functionalities. */
|
|
222
|
+
class VegaSidenavOpenStatusController extends PageResizeObserverSlimmer {
|
|
223
|
+
/*
|
|
224
|
+
* The below method is e2e-test covered in
|
|
225
|
+
* @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
|
|
226
|
+
*/
|
|
227
|
+
/**
|
|
228
|
+
* Register the callback function to page resize observer slimmer
|
|
229
|
+
*/
|
|
230
|
+
constructor() {
|
|
231
|
+
super({
|
|
232
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
233
|
+
callback: /* istanbul ignore next */ () => {
|
|
234
|
+
this.responsiveBehavior = this.getSidenavResponsiveBehavior();
|
|
235
|
+
this.backdropController.updateBackdropAvailability(this.responsiveBehavior);
|
|
236
|
+
this.updateOverflowAvailability();
|
|
237
|
+
this.updateStatusOpenByDefault(true);
|
|
238
|
+
this.collapseButtonRenderer.updateHandlerIconAvailability(this.canCollapseSidenav());
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
/* The below method is e2e-test covered in
|
|
243
|
+
* @see{module:vega-sidenav-toggle-and-vegaStateUpdate}
|
|
244
|
+
* @see{module:vega-sidenav-phone-call-toggle-method-change-position}
|
|
245
|
+
*/
|
|
246
|
+
/* istanbul ignore next */
|
|
247
|
+
/**
|
|
248
|
+
* Toggle the open state of a side navigation based on certain conditions.
|
|
249
|
+
*/
|
|
250
|
+
toggleSidenav() {
|
|
251
|
+
if (this.canCollapseSidenav()) {
|
|
252
|
+
switch (this.openState) {
|
|
253
|
+
case 'open':
|
|
254
|
+
this.setSideNavOpenStatus('clickClose');
|
|
255
|
+
break;
|
|
256
|
+
case 'close':
|
|
257
|
+
this.setSideNavOpenStatus('clickOpen');
|
|
258
|
+
break;
|
|
259
|
+
case 'hoverOpen':
|
|
260
|
+
this.setSideNavOpenStatus('hoverClose');
|
|
261
|
+
break;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* The function `setSidenavRef` sets the sidebar reference.
|
|
267
|
+
*
|
|
268
|
+
* @param {HTMLDivElement} sidebarRef - A reference to the sidebar element in the HTML document.
|
|
269
|
+
*/
|
|
270
|
+
setSidenavRef(sidebarRef) {
|
|
271
|
+
this.sidebar = sidebarRef;
|
|
272
|
+
}
|
|
273
|
+
/*
|
|
274
|
+
* The below method is e2e-test covered in
|
|
275
|
+
* @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
|
|
276
|
+
*/
|
|
277
|
+
/* istanbul ignore next */
|
|
278
|
+
/**
|
|
279
|
+
* Toggles the open/close status of a side navigation based on different input flags.
|
|
280
|
+
*
|
|
281
|
+
* @param {'hoverOpen' | 'hoverClose' | 'clickOpen' | 'clickClose'} statusFlag - A string literal type that can have one of the
|
|
282
|
+
* following values: 'hoverOpen', 'hoverClose', 'clickOpen', or 'clickClose'.
|
|
283
|
+
*/
|
|
284
|
+
setSideNavOpenStatus(statusFlag) {
|
|
285
|
+
let updated = false;
|
|
286
|
+
switch (statusFlag) {
|
|
287
|
+
case 'clickOpen':
|
|
288
|
+
if (this.openState === 'close') {
|
|
289
|
+
this.openState = 'open';
|
|
290
|
+
this.host.classList.add('open');
|
|
291
|
+
this.sidebar.classList.add('open');
|
|
292
|
+
updated = true;
|
|
293
|
+
}
|
|
294
|
+
break;
|
|
295
|
+
case 'clickClose':
|
|
296
|
+
if (this.openState === 'hoverOpen' || this.openState === 'open') {
|
|
297
|
+
this.openState = 'close';
|
|
298
|
+
this.host.classList.remove('open');
|
|
299
|
+
this.sidebar.classList.remove('open');
|
|
300
|
+
updated = true;
|
|
301
|
+
}
|
|
302
|
+
break;
|
|
303
|
+
case 'hoverOpen':
|
|
304
|
+
if (this.openState === 'close') {
|
|
305
|
+
this.openState = 'hoverOpen';
|
|
306
|
+
this.host.classList.add('open');
|
|
307
|
+
this.sidebar.classList.add('open');
|
|
308
|
+
updated = true;
|
|
309
|
+
}
|
|
310
|
+
break;
|
|
311
|
+
case 'hoverClose':
|
|
312
|
+
if (this.openState === 'hoverOpen') {
|
|
313
|
+
this.openState = 'close';
|
|
314
|
+
this.host.classList.remove('open');
|
|
315
|
+
this.sidebar.classList.remove('open');
|
|
316
|
+
updated = true;
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
320
|
+
if (updated) {
|
|
321
|
+
this.backdropController.updateBackdropAvailability(this.responsiveBehavior);
|
|
322
|
+
this.updateOverflowAvailability();
|
|
323
|
+
this.updateZIndex();
|
|
324
|
+
this.stateUpdateEmitter.emit(this.openState);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Update the sidenav status when component did load
|
|
329
|
+
*/
|
|
330
|
+
initOpenStatus() {
|
|
331
|
+
this.responsiveBehavior = this.getSidenavResponsiveBehavior();
|
|
332
|
+
this.updateStatusOpenByDefault();
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Update sidenav status when the property value change
|
|
336
|
+
*/
|
|
337
|
+
updateOpenStatus() {
|
|
338
|
+
this.updateStatusOpenByDefault();
|
|
339
|
+
this.collapseButtonRenderer.updateHandlerIconAvailability(this.canCollapseSidenav());
|
|
340
|
+
}
|
|
341
|
+
/*
|
|
342
|
+
* It will hide the sidenav when clicking the link in the sidenav on mobile terminal default.
|
|
343
|
+
* If link set showSideBarOnClickLink is true that will don't hide the sidenav..
|
|
344
|
+
* The below method is e2e-test covered in
|
|
345
|
+
* @see{module:vega-sidenav-e2e-vega-click-handler-mobile}
|
|
346
|
+
* @see{module:vega-sidenav-e2e-vega-click-handler-not-close-sidenav-mobile}
|
|
347
|
+
*/
|
|
348
|
+
/* istanbul ignore next */
|
|
349
|
+
/**
|
|
350
|
+
* Add an observer to a DOM node for a specific event and handles the event payload to determine whether to close the sidebar.
|
|
351
|
+
*/
|
|
352
|
+
registerSidenavLinkClickObserver() {
|
|
353
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, VegaInternalSidenavLinkClick, (payload) => {
|
|
354
|
+
// payload.detail = VegaSidenavLink.showSideBarOnClickLink
|
|
355
|
+
if (!this.responsiveBehavior.showSideBarOnClickLink && !payload.detail) {
|
|
356
|
+
this.setSideNavOpenStatus('clickClose');
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Remove the observer when the component remove from page
|
|
362
|
+
*/
|
|
363
|
+
unregisterSidenavLinkClickObserver() {
|
|
364
|
+
DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, VegaInternalSidenavLinkClick);
|
|
365
|
+
}
|
|
366
|
+
/*
|
|
367
|
+
* Please refer to the documentation for this part of the logic: vega-stencil/docs/sidenav-responsive-support-spec.md
|
|
368
|
+
* The below method is e2e-test covered in
|
|
369
|
+
* @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
|
|
370
|
+
*/
|
|
371
|
+
/* istanbul ignore next */
|
|
372
|
+
/**
|
|
373
|
+
* Returns different responsive behaviors based on the screen size.
|
|
374
|
+
*
|
|
375
|
+
* @returns {ResponsiveBehavior} Object
|
|
376
|
+
*/
|
|
377
|
+
getSidenavResponsiveBehavior() {
|
|
378
|
+
if (this.isLargeScreen()) {
|
|
379
|
+
return {
|
|
380
|
+
showSideBar: true,
|
|
381
|
+
showBackdrop: false,
|
|
382
|
+
canBeScrolled: true,
|
|
383
|
+
showSideBarOnClickLink: true,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
return {
|
|
388
|
+
showSideBar: false,
|
|
389
|
+
showBackdrop: true,
|
|
390
|
+
canBeScrolled: false,
|
|
391
|
+
showSideBarOnClickLink: false,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
/*
|
|
396
|
+
* The below method is e2e-test covered in
|
|
397
|
+
* @see{module:vega-sidenav-e2e-z-index}
|
|
398
|
+
* @see{module:vega-sidenav-e2e-z-index-in-mobile}
|
|
399
|
+
*/
|
|
400
|
+
/* istanbul ignore next */
|
|
401
|
+
/**
|
|
402
|
+
* Set or remove the sidenav and backdrop style z-index
|
|
403
|
+
*/
|
|
404
|
+
updateZIndex() {
|
|
405
|
+
if (['hoverOpen', 'open'].includes(this.openState)) {
|
|
406
|
+
this.backdropController.setZIndex('base');
|
|
407
|
+
InternalVegaZIndexManager.setZIndex(this.sidebar, 'base');
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
executeAfterTransition(() => {
|
|
411
|
+
this.backdropController.removeZIndex('base');
|
|
412
|
+
InternalVegaZIndexManager.removeZIndex(this.sidebar, 'base');
|
|
413
|
+
}, this.sidebar, 300);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Determines whether the sidenav can be collapsed based on the current open by default setting and screen size.
|
|
418
|
+
*
|
|
419
|
+
* @returns {boolean} The method `canCollapseSidenav()` returns a boolean value.
|
|
420
|
+
*/
|
|
421
|
+
canCollapseSidenav() {
|
|
422
|
+
const openByDefault = this.getCurrentOpenByDefault();
|
|
423
|
+
return openByDefault !== 'disableCollapse' || !this.isLargeScreen();
|
|
424
|
+
}
|
|
425
|
+
/*
|
|
426
|
+
* The below method is e2e-test covered in
|
|
427
|
+
* @see{module:vega-sidenav-e2e-vega-hidden-overflow-with-desktop-to-mobile}
|
|
428
|
+
*/
|
|
429
|
+
/* istanbul ignore next */
|
|
430
|
+
/**
|
|
431
|
+
* Update the body style overflow
|
|
432
|
+
*/
|
|
433
|
+
updateOverflowAvailability() {
|
|
434
|
+
var _a;
|
|
435
|
+
const bodyElement = document.querySelector('body');
|
|
436
|
+
if (!((_a = this.responsiveBehavior) === null || _a === void 0 ? void 0 : _a.canBeScrolled) && this.openState === 'open') {
|
|
437
|
+
bodyElement.style['overflow'] = 'hidden';
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
bodyElement.style['overflow'] = null;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/*
|
|
444
|
+
* The below method is e2e-test covered in
|
|
445
|
+
* @see{module:vega-sidenav-e2e-openByDefault-resize-screen-size}
|
|
446
|
+
*/
|
|
447
|
+
/* istanbul ignore next */
|
|
448
|
+
/**
|
|
449
|
+
*
|
|
450
|
+
*
|
|
451
|
+
* @param triggerByResize
|
|
452
|
+
*/
|
|
453
|
+
/**
|
|
454
|
+
* Determines whether to open or close a side navigation based on certain conditions.
|
|
455
|
+
*
|
|
456
|
+
* @param {boolean} [triggerByResize=false] - The `updateStatusOpenByDefault` method was triggered by a resize event
|
|
457
|
+
*/
|
|
458
|
+
updateStatusOpenByDefault(triggerByResize = false) {
|
|
459
|
+
const openByDefault = this.getCurrentOpenByDefault();
|
|
460
|
+
const canCollapseSidenav = this.canCollapseSidenav();
|
|
461
|
+
if (!triggerByResize) {
|
|
462
|
+
if (openByDefault == 'open' || !canCollapseSidenav) {
|
|
463
|
+
this.setSideNavOpenStatus('clickOpen');
|
|
464
|
+
}
|
|
465
|
+
else if (openByDefault == 'close' ||
|
|
466
|
+
(openByDefault == 'disableCollapse' && canCollapseSidenav)) {
|
|
467
|
+
this.setSideNavOpenStatus('clickClose');
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
else if (!canCollapseSidenav) {
|
|
471
|
+
this.setSideNavOpenStatus('clickOpen');
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Returns true if the current breakpoint is 'L' or 'XL'.
|
|
476
|
+
*
|
|
477
|
+
* @returns {boolean} Determine if the screen is considered large.
|
|
478
|
+
*/
|
|
479
|
+
isLargeScreen() {
|
|
480
|
+
const currentBreakpoint = getCurrentBreakpoint();
|
|
481
|
+
return currentBreakpoint == 'L' || currentBreakpoint == 'XL';
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* TReturns the current openByDefault value formatted using ResponsiveFormatFacade.
|
|
485
|
+
*
|
|
486
|
+
* @param {ResponsiveType<OpenByDefaultType>} input - parameter
|
|
487
|
+
* @returns {OpenByDefaultType} The formatted value of the `input` parameter, which is of type `OpenByDefaultType`.
|
|
488
|
+
*/
|
|
489
|
+
getCurrentOpenByDefault(input = this.openByDefault) {
|
|
490
|
+
return ResponsiveFormatFacade.formatCustom(input);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
__decorate$5([
|
|
494
|
+
MapToComponentField({ writable: true })
|
|
495
|
+
], VegaSidenavOpenStatusController.prototype, "openState", void 0);
|
|
496
|
+
__decorate$5([
|
|
497
|
+
MapToComponentField()
|
|
498
|
+
], VegaSidenavOpenStatusController.prototype, "openByDefault", void 0);
|
|
499
|
+
__decorate$5([
|
|
500
|
+
MapToComponentField()
|
|
501
|
+
], VegaSidenavOpenStatusController.prototype, "host", void 0);
|
|
502
|
+
__decorate$5([
|
|
503
|
+
MapToComponentField()
|
|
504
|
+
], VegaSidenavOpenStatusController.prototype, "stateUpdateEmitter", void 0);
|
|
505
|
+
__decorate$5([
|
|
506
|
+
MapToComponentField()
|
|
507
|
+
], VegaSidenavOpenStatusController.prototype, "backdropController", void 0);
|
|
508
|
+
__decorate$5([
|
|
509
|
+
MapToComponentField()
|
|
510
|
+
], VegaSidenavOpenStatusController.prototype, "collapseButtonRenderer", void 0);
|
|
511
|
+
__decorate$5([
|
|
512
|
+
MapToComponentMethod('componentDidLoad')
|
|
513
|
+
], VegaSidenavOpenStatusController.prototype, "initOpenStatus", null);
|
|
514
|
+
__decorate$5([
|
|
515
|
+
MapToComponentMethod('watchOpenByDefaultChange')
|
|
516
|
+
], VegaSidenavOpenStatusController.prototype, "updateOpenStatus", null);
|
|
517
|
+
__decorate$5([
|
|
518
|
+
MapToComponentMethod('connectedCallback')
|
|
519
|
+
], VegaSidenavOpenStatusController.prototype, "registerSidenavLinkClickObserver", null);
|
|
520
|
+
__decorate$5([
|
|
521
|
+
MapToComponentMethod('disconnectedCallback')
|
|
522
|
+
], VegaSidenavOpenStatusController.prototype, "unregisterSidenavLinkClickObserver", null);
|
|
523
|
+
|
|
524
|
+
const vegaSidenavCss = ":host{height:100%;width:0px;min-height:100vh;display:flex;align-items:stretch;text-align:left;top:0px;right:0px;bottom:0px;left:0px}:host .vega-sidebar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;box-sizing:border-box;position:relative;padding-left:0px;padding-right:0px;display:flex;align-items:stretch;width:0px;transition-duration:300ms}:host .vega-sidebar .header-placeholder{margin-top:24px}:host .vega-sidebar .vega-sidebar-content-container{width:100%;overflow:hidden;display:flex;flex-direction:column}:host .vega-sidebar .vega-sidebar-content-container>.vega-nav-list{padding-left:8px;padding-right:8px}:host .vega-sidebar .vega-nav-list{padding:0px;margin:0px;flex:1 1 0%;list-style-type:none}:host .vega-sidebar .vega-nav-list::-webkit-scrollbar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));width:4px}:host .vega-sidebar .vega-nav-list::-webkit-scrollbar-thumb{background-color:rgba(var(--v-bg-status-info, 205, 209, 211, 1));border-radius:9999px}:host .vega-sidebar .vega-sidebar-header{position:relative}:host .vega-sidebar .vega-sidebar-header>div{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:300ms}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{display:flex;justify-content:center;align-items:center;flex-shrink:0;height:56px;position:absolute;pointer-events:none;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));display:none;padding-top:24px;padding-left:12px;padding-right:12px;padding-bottom:32px;top:0;left:0;opacity:1}@media (min-width: 1024px){:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{display:flex}}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container image{max-width:100%;max-height:48px}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container{color:rgba(var(--v-text-white, 252, 252, 252, 1));overflow:hidden;box-sizing:border-box;padding-left:24px;padding-right:24px;padding-top:24px;padding-bottom:32px;width:100%;opacity:0}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container>vega-icon{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1))}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container img{max-height:80px;max-width:100%}:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{overflow-wrap:break-word;font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px;margin-top:8px;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;max-height:25px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}:host .vega-sidebar .vega-handler-icon{cursor:pointer;position:absolute;background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));right:-18px;-webkit-mask-size:cover;mask-size:cover;width:26px;height:43px;top:24px}@media (min-width: 320px){:host .vega-sidebar .vega-handler-icon{display:none}}@media (min-width: 1024px){:host .vega-sidebar .vega-handler-icon{display:block}}:host .vega-sidebar .vega-handler-icon vega-icon{cursor:pointer;position:absolute;display:block;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));left:0px;top:0px;width:100%;height:100%;transform-origin:center}:host .vega-sidebar .vega-nav-footer{padding-top:16px;padding-bottom:16px;padding-left:24px;padding-right:24px}:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media (min-width: 1024px){:host{width:72px}:host .vega-sidebar{width:72px}}:host(.open){width:auto}:host(.open) .vega-sidebar{top:0px;right:0px;bottom:0px;left:0px;position:fixed;width:300px}@media (min-width: 768px){:host(.open) .vega-sidebar{width:240px}}@media (min-width: 1024px){:host(.open) .vega-sidebar{position:relative}}:host(.open) .vega-sidebar .vega-nav-list{overflow-y:auto;overflow-x:hidden}@media (min-width: 320px){:host(.open) .vega-sidebar .vega-handler-icon{display:block}}:host(.open) .vega-sidebar .vega-handler-icon vega-icon{transform:rotate(180deg)}@media (min-width: 320px){:host(.open) .vega-sidebar .vega-handler-icon.disable-collapse{display:block}}@media (min-width: 1024px){:host(.open) .vega-sidebar .vega-handler-icon.disable-collapse{display:none}}:host(.open) .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{opacity:1;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-delay:100ms}:host(.open) .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container{opacity:1}:host(.open) .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{opacity:0}:host(.open) .vega-sidebar .vega-nav-footer .vega-nav-footnote{opacity:1;transition-delay:100ms}";
|
|
525
|
+
|
|
526
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
527
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
528
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
529
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
530
|
+
else
|
|
531
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
532
|
+
if (d = decorators[i])
|
|
533
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
534
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
535
|
+
};
|
|
536
|
+
const VegaSidenav = class {
|
|
537
|
+
constructor(hostRef) {
|
|
538
|
+
registerInstance(this, hostRef);
|
|
539
|
+
this.vegaStateUpdate = createEvent(this, "vegaStateUpdate", 7);
|
|
540
|
+
this.stateUpdate = createEvent(this, "stateUpdate", 7);
|
|
541
|
+
this.globalSlimmers = {};
|
|
542
|
+
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
543
|
+
this.openStateNotifySlimmer = createSubStateNotifySlimmer(VegaSidenav, 'openState', 'watchOpenState');
|
|
544
|
+
this.backdropController = new VegaSidenavBackdropController();
|
|
545
|
+
this.collapseButtonRenderer = new VegaSidenavCollapseButtonRenderer();
|
|
546
|
+
this.openStatusController = new VegaSidenavOpenStatusController();
|
|
547
|
+
this.stateUpdateEmitter = createEventEmitSlimmer(VegaSidenav, VegaStateUpdate);
|
|
548
|
+
this.openState = 'close';
|
|
549
|
+
/**
|
|
550
|
+
* Provides additional information or context in the form of
|
|
551
|
+
* a footnote in the side nav footer.
|
|
552
|
+
*
|
|
553
|
+
* @vegaVersion 1, v2.29.0
|
|
554
|
+
*/
|
|
555
|
+
this.footnote = '';
|
|
556
|
+
/**
|
|
557
|
+
* Specifies the configuration for the header of the side nav,
|
|
558
|
+
* allowing customization of the logo and headline.
|
|
559
|
+
*
|
|
560
|
+
* @vegaVersion 1, v2.29.0
|
|
561
|
+
*/
|
|
562
|
+
this.headerConfig = {};
|
|
563
|
+
/**
|
|
564
|
+
* Specifies the default open behavior for the side nav across
|
|
565
|
+
* different screen sizes and disables collapse for
|
|
566
|
+
* large screens.
|
|
567
|
+
*
|
|
568
|
+
* @vegaVersion 1, v2.29.0
|
|
569
|
+
*/
|
|
570
|
+
this.openByDefault = 'close';
|
|
571
|
+
/**
|
|
572
|
+
* The below method is e2e-test covered in
|
|
573
|
+
* @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
|
|
574
|
+
*/
|
|
575
|
+
/* istanbul ignore next */
|
|
576
|
+
this.attachMouseEventToContent = () => {
|
|
577
|
+
this.content.addEventListener('mouseenter', (e) => {
|
|
578
|
+
e.stopPropagation();
|
|
579
|
+
this.openStatusController.setSideNavOpenStatus('hoverOpen');
|
|
580
|
+
});
|
|
581
|
+
this.content.addEventListener('mouseleave', (e) => {
|
|
582
|
+
e.stopPropagation();
|
|
583
|
+
this.openStatusController.setSideNavOpenStatus('hoverClose');
|
|
584
|
+
});
|
|
585
|
+
};
|
|
586
|
+
/**
|
|
587
|
+
* The below method is e2e-test covered in
|
|
588
|
+
* @see{module:vega-sidenav-e2e-with-source-with-child}
|
|
589
|
+
* @see{module:vega-sidenav-e2e-with-source-without-child}
|
|
590
|
+
*/
|
|
591
|
+
/* istanbul ignore next */
|
|
592
|
+
this.renderSideBarListBySource = () => {
|
|
593
|
+
var _a;
|
|
594
|
+
return (h(Fragment, null, (_a = this.source) === null || _a === void 0 ? void 0 : _a.map((item, index) => {
|
|
595
|
+
if (item === null || item === void 0 ? void 0 : item.children) {
|
|
596
|
+
return (h("vega-sidenav-group", { key: index, icon: item.icon || 'globe', label: item.name }, item.children.map((child, childIndex) => (h("vega-sidenav-link", { key: `${index}_${childIndex}`, url: child.url, selected: child.selected }, child.name)))));
|
|
597
|
+
}
|
|
598
|
+
else {
|
|
599
|
+
return (h("vega-sidenav-link", { key: index, icon: item.icon || 'globe', url: item.url, selected: item.selected }, item.name));
|
|
600
|
+
}
|
|
601
|
+
})));
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* The method to used notify the sub state the parent state value changed
|
|
606
|
+
*/
|
|
607
|
+
watchOpenState() {
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* clear inner content in `div.vega-nav-list` if previousSource is empty.
|
|
611
|
+
* to avoid untracked sidenav items (render by slot) keeping existed while source updated.
|
|
612
|
+
* The below method is e2e-test covered in
|
|
613
|
+
* @see{module:vega-sidenav-e2e-with-source-with-child}
|
|
614
|
+
*/
|
|
615
|
+
/* istanbul ignore next */
|
|
616
|
+
watchSourceChange(currentSource, previousSource) {
|
|
617
|
+
if (currentSource) {
|
|
618
|
+
this.validSource();
|
|
619
|
+
}
|
|
620
|
+
if (!(previousSource === null || previousSource === void 0 ? void 0 : previousSource.length)) {
|
|
621
|
+
this.host
|
|
622
|
+
.querySelectorAll('vega-sidenav-link, vega-sidenav-group')
|
|
623
|
+
.forEach((el) => el.remove());
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
watchOpenByDefaultChange() {
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* The below method is e2e-test covered in
|
|
630
|
+
* @see{module:vega-sidenav-e2e-with-source-with-duplicated-selected}
|
|
631
|
+
* @see{module:vega-sidenav-e2e-with-source-without-child}
|
|
632
|
+
*/
|
|
633
|
+
/* istanbul ignore next */
|
|
634
|
+
componentWillLoad() {
|
|
635
|
+
this.source && this.validSource();
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* The below method is e2e-test covered in
|
|
639
|
+
* @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
|
|
640
|
+
* @see{module:vega-sidenav-e2e-vega-resize-with-desktop-to-mobile}
|
|
641
|
+
*/
|
|
642
|
+
/* istanbul ignore next */
|
|
643
|
+
componentDidLoad() {
|
|
644
|
+
this.attachMouseEventToContent();
|
|
645
|
+
}
|
|
646
|
+
/**
|
|
647
|
+
* The below method is e2e-test covered in
|
|
648
|
+
* @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
|
|
649
|
+
*/
|
|
650
|
+
/* istanbul ignore next */
|
|
651
|
+
collapseSidenavByBackDropClick(e) {
|
|
652
|
+
const target = e.target;
|
|
653
|
+
if (target.classList.contains(VegaSidenavBackdropController.backdropClassName)) {
|
|
654
|
+
this.openStatusController.setSideNavOpenStatus('clickClose');
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
/* The below method is e2e-test covered in
|
|
658
|
+
* @see{module:vega-sidenav-toggle-and-vegaStateUpdate}
|
|
659
|
+
* @see{module:vega-sidenav-phone-call-toggle-method-change-position}
|
|
660
|
+
*/
|
|
661
|
+
/* istanbul ignore next */
|
|
662
|
+
/**
|
|
663
|
+
* Invoke this method to toggle the side navigation menu.
|
|
664
|
+
*
|
|
665
|
+
* @vegaVersion 1, v2.29.0
|
|
666
|
+
*/
|
|
667
|
+
async toggle() {
|
|
668
|
+
this.openStatusController.toggleSidenav();
|
|
669
|
+
}
|
|
670
|
+
/**
|
|
671
|
+
* The below method is e2e-test covered in
|
|
672
|
+
* @see{module:vega-sidenav-desktop-not-show-backdrop}
|
|
673
|
+
* @see{module:vega-sidenav-mobile-show-backdrop}
|
|
674
|
+
*/
|
|
675
|
+
render() {
|
|
676
|
+
return sanitizeVegaComponent(h(Host, null, h("div", { class: "vega-sidebar", ref: (el) => this.openStatusController.setSidenavRef(el) }, h("div", { class: "vega-sidebar-content-container", ref: (el) => (this.content = el) }, h(Fragment, null, !isObjectEmpty(this.headerConfig) && this.renderSideBarHeader(), this.renderSideBarList(), this.renderSideBarFooter())), this.collapseButtonRenderer.render())), this.host);
|
|
677
|
+
}
|
|
678
|
+
/**
|
|
679
|
+
* The below method is e2e-test covered in
|
|
680
|
+
* @see{module:vega-sidenav-e2e-with-source-with-duplicated-selected}
|
|
681
|
+
* @see{module:vega-sidenav-e2e-with-source-without-child}
|
|
682
|
+
*/
|
|
683
|
+
/* istanbul ignore next */
|
|
684
|
+
validSource() {
|
|
685
|
+
const selectedItems = flattenChildren(this.source).filter((item) => item.selected);
|
|
686
|
+
if (selectedItems.length > 1) {
|
|
687
|
+
throw new Error('There should be only one item selected at the same time.');
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* The current div uses a named slot and has a sibling above it, if you skip rendering this whole element by checking a variable,
|
|
692
|
+
* it will cause the slot's position to move into the sibling.
|
|
693
|
+
* For specific examples, see the documentation of stencil_slot_bug.md
|
|
694
|
+
* The below method is e2e-test covered in
|
|
695
|
+
* @see{module:vega-sidenav-e2e-with-source-with-child}
|
|
696
|
+
* @see{module:vega-sidenav-e2e-with-source-without-length}
|
|
697
|
+
*/
|
|
698
|
+
/* istanbul ignore next */
|
|
699
|
+
renderSideBarList() {
|
|
700
|
+
var _a;
|
|
701
|
+
return (h(Fragment, null, isObjectEmpty(this.headerConfig) ? h("div", { class: "header-placeholder" }) : null, h("slot", { name: "before-list-slot" }), h("div", { class: "vega-nav-list" }, ((_a = this.source) === null || _a === void 0 ? void 0 : _a.length) ? this.renderSideBarListBySource() : h("slot", null))));
|
|
702
|
+
}
|
|
703
|
+
renderSideBarHeader() {
|
|
704
|
+
const { collapseLogo, expandLogo, headline } = this.headerConfig;
|
|
705
|
+
return (h("div", { class: "vega-sidebar-header" }, h("div", { class: "vega-sidebar-header-collapse-container" }, collapseLogo && h("img", { src: collapseLogo, alt: 'collapse logo' })), h("div", { class: "vega-sidebar-header-expand-container" }, expandLogo && h("img", { src: expandLogo, alt: 'expand logo' }), headline && h("div", { class: "vega-sidebar-headline" }, headline))));
|
|
706
|
+
}
|
|
707
|
+
renderSideBarFooter() {
|
|
708
|
+
return (this.footnote && (h("div", { class: "vega-nav-footer" }, h("div", { class: "vega-nav-footnote" }, this.footnote))));
|
|
709
|
+
}
|
|
710
|
+
get host() { return getElement(this); }
|
|
711
|
+
static get watchers() { return {
|
|
712
|
+
"openState": ["watchOpenState"],
|
|
713
|
+
"source": ["watchSourceChange"],
|
|
714
|
+
"openByDefault": ["watchOpenByDefaultChange"]
|
|
715
|
+
}; }
|
|
716
|
+
};
|
|
717
|
+
__decorate$4([
|
|
718
|
+
InjectVegaGlobalSlimmer()
|
|
719
|
+
], VegaSidenav.prototype, "globalSlimmers", void 0);
|
|
720
|
+
__decorate$4([
|
|
721
|
+
InjectVegaSlimmer()
|
|
722
|
+
], VegaSidenav.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
723
|
+
__decorate$4([
|
|
724
|
+
InjectVegaSlimmer()
|
|
725
|
+
], VegaSidenav.prototype, "openStateNotifySlimmer", void 0);
|
|
726
|
+
__decorate$4([
|
|
727
|
+
InjectVegaSlimmer()
|
|
728
|
+
], VegaSidenav.prototype, "backdropController", void 0);
|
|
729
|
+
__decorate$4([
|
|
730
|
+
InjectVegaSlimmer()
|
|
731
|
+
], VegaSidenav.prototype, "collapseButtonRenderer", void 0);
|
|
732
|
+
__decorate$4([
|
|
733
|
+
InjectVegaSlimmer()
|
|
734
|
+
], VegaSidenav.prototype, "openStatusController", void 0);
|
|
735
|
+
__decorate$4([
|
|
736
|
+
InjectVegaSlimmer()
|
|
737
|
+
], VegaSidenav.prototype, "stateUpdateEmitter", void 0);
|
|
738
|
+
VegaSidenav.style = vegaSidenavCss;
|
|
739
|
+
|
|
740
|
+
var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
741
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
742
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
743
|
+
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;
|
|
744
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
745
|
+
};
|
|
746
|
+
/** The class `VegaSidenavGroupSubStateController` is a TypeScript class that observes and manages sub-states for a sidenav group component. */
|
|
747
|
+
class VegaSidenavGroupSubStateController extends SubStateObserverSlimmer {
|
|
748
|
+
/**
|
|
749
|
+
* The constructor function initializes a sidenav with specified subStates in TypeScript.
|
|
750
|
+
*/
|
|
751
|
+
constructor() {
|
|
752
|
+
super({
|
|
753
|
+
parent: 'vega-sidenav',
|
|
754
|
+
subStates: [
|
|
755
|
+
{
|
|
756
|
+
subStateName: 'openState',
|
|
757
|
+
parentStateName: 'openState',
|
|
758
|
+
},
|
|
759
|
+
],
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
__decorate$3([
|
|
764
|
+
MapToComponentField({ writable: true })
|
|
765
|
+
], VegaSidenavGroupSubStateController.prototype, "openState", void 0);
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* `isHTMLVegaSidenavLinkElement` returns `true` if the input is an `HTMLVegaSidenavLinkElement` and `false` otherwise
|
|
769
|
+
*
|
|
770
|
+
* @param {unknown} input - The input to check.
|
|
771
|
+
* @returns {boolean} indicating if the input is type of {@link HTMLVegaSidenavLinkElement}
|
|
772
|
+
*/
|
|
773
|
+
const isHTMLVegaSidenavLinkElement = (input) => {
|
|
774
|
+
return input instanceof HTMLElement && input['tagName'] === 'VEGA-SIDENAV-LINK';
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
const vegaSidenavGroupCss = ":host{display:block;margin-top:4px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;width:100%;box-sizing:border-box}:host a{display:flex;align-items:center;width:100%;height:100%;position:relative;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;overflow:hidden;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1));cursor:pointer;text-decoration:none;border-radius:8px;box-sizing:border-box;outline:2px solid transparent;outline-offset:2px}:host .vega-nav-list{padding:0px;margin:0px;flex:1 1 0%;list-style-type:none}:host .vega-li-main.sidenav-open .vega-nav-list{overflow-y:auto;overflow-x:hidden}:host .vega-nav-list::-webkit-scrollbar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));width:4px}:host .vega-nav-list::-webkit-scrollbar-thumb{background-color:rgba(var(--v-bg-status-info, 205, 209, 211, 1));border-radius:9999px}:host a.sub-selected{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1))}:host .vega-li-main.sidenav-open a:focus{border-color:rgba(var(--v-border-color-sidebar-item-focus, 19, 98, 226, 1))}:host .vega-li-main.sidenav-open a:not(.selected):hover{background-color:rgba(var(--v-bg-sidebar-item-hover, 252, 252, 252, 1));color:rgba(var(--v-text-sidebar-link-hover, 18, 18, 39, 1))}:host .vega-links-icon{padding:8px;box-sizing:border-box}:host a .vega-links-icon>div{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;height:100%;width:100%}:host .vega-links-icon .prefix-icon{width:40px;height:40px}:host .vega-nav-list-sub .vega-links-icon{height:auto;width:auto}:host a .vega-links-name{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;pointer-events:none;overflow:hidden;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px;flex:1 1 0%;padding-top:8px;padding-bottom:8px;transition-duration:300ms}@media screen and (min-width: 768px) and (max-width: 1023px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}:host .vega-li-main.sidenav-open a .vega-links-name{opacity:1;pointer-events:auto;overflow-wrap:break-word}:host .suffix-icons{padding-right:16px;padding-left:8px;width:12px}:host .suffix-icons vega-icon{pointer-events:auto;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;position:absolute;right:16px;top:50%;transform:translateY(-50%)}:host .vega-li-main.sidenav-open .suffix-icons vega-icon,:host .vega-li-main.sidenav-open.open>a>.suffix-icons vega-icon:first-of-type{opacity:0}:host .vega-li-main.sidenav-open .suffix-icons vega-icon:first-of-type,:host .vega-li-main.sidenav-open.open>a>.suffix-icons vega-icon:last-of-type{opacity:1}:host .vega-nav-list-sub{display:none}:host .vega-li-main.sidenav-open.open>.vega-nav-list-sub{display:block}:host ::slotted(vega-sidenav-group){padding-left:48px}:host ::slotted(vega-sidenav-link){padding-left:48px}@media (min-width: 768px){:host{width:224px}}";
|
|
778
|
+
|
|
779
|
+
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
780
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
781
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
782
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
783
|
+
else
|
|
784
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
785
|
+
if (d = decorators[i])
|
|
786
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
787
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
788
|
+
};
|
|
789
|
+
const VegaSidenavGroup = class {
|
|
790
|
+
constructor(hostRef) {
|
|
791
|
+
registerInstance(this, hostRef);
|
|
792
|
+
this.subStateObserverSlimmer = new VegaSidenavGroupSubStateController();
|
|
793
|
+
this.globalSlimmers = {};
|
|
794
|
+
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
795
|
+
this.openState = 'close';
|
|
796
|
+
/**
|
|
797
|
+
* Specifies the text that serves as the label or title
|
|
798
|
+
* for the side navigation group in the sidebar.
|
|
799
|
+
*
|
|
800
|
+
* @vegaVersion 1, v2.29.0
|
|
801
|
+
*/
|
|
802
|
+
this.label = '';
|
|
803
|
+
/**
|
|
804
|
+
* The below method is e2e-test covered in
|
|
805
|
+
* @see{module:vega-sidenav-group-toggle}
|
|
806
|
+
*/
|
|
807
|
+
this.handleClick = (e) => {
|
|
808
|
+
const currentTarget = e.currentTarget;
|
|
809
|
+
if (currentTarget && currentTarget.dataset.root === '$1') {
|
|
810
|
+
e.preventDefault();
|
|
811
|
+
currentTarget.closest('.vega-li-main').classList.toggle('open');
|
|
812
|
+
}
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* The below method is e2e-test covered in
|
|
817
|
+
* @see{module:vega-sidenav-group-e2e-disconnected}
|
|
818
|
+
*/
|
|
819
|
+
/* istanbul ignore next */
|
|
820
|
+
disconnectedCallback() {
|
|
821
|
+
ChangeManager.unregister(SIDENAV_LINK_SELECTED_TOPIC, this.observer);
|
|
822
|
+
}
|
|
823
|
+
componentWillLoad() {
|
|
824
|
+
this.observer = new Observer(isHTMLVegaSidenavLinkElement, this.observerListener.bind(this));
|
|
825
|
+
ChangeManager.register(SIDENAV_LINK_SELECTED_TOPIC, this.observer);
|
|
826
|
+
}
|
|
827
|
+
render() {
|
|
828
|
+
return sanitizeVegaComponent(h(Host, null, h("div", { class: { 'vega-li-main': true, 'sidenav-open': this.openState !== 'close' }, ref: (ref) => (this.groupContainer = ref) }, h("a", { href: `#${this.label}`, role: 'button', tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), "data-root": "$1", onClick: this.handleClick, "aria-label": this.label || 'No label defined' }, h("div", { class: "vega-links-icon" }, h("div", { class: "prefix-icon" }, h("vega-icon", { icon: this.icon, size: "size-24" }))), h("span", { class: "vega-links-name" }, this.label), h("div", { class: "suffix-icons" }, h("vega-icon", { icon: "chevron-down", size: "size-12" }), h("vega-icon", { icon: "chevron-up", size: "size-12" }))), h("div", { class: "vega-nav-list vega-nav-list-sub" }, h("slot", null)))), this.host);
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* The below method is e2e-test covered in
|
|
832
|
+
* @see{module:vega-sidenav-group-observer-with-selected}
|
|
833
|
+
*/
|
|
834
|
+
/* istanbul ignore next */
|
|
835
|
+
observerListener(castInput) {
|
|
836
|
+
const hasSelectedLinkItem = this.host.contains(castInput);
|
|
837
|
+
if (hasSelectedLinkItem) {
|
|
838
|
+
this.groupContainer.querySelector('a').classList.add('sub-selected');
|
|
839
|
+
this.groupContainer.classList.add('open');
|
|
840
|
+
}
|
|
841
|
+
else {
|
|
842
|
+
this.groupContainer.querySelector('a').classList.remove('sub-selected');
|
|
843
|
+
this.groupContainer.classList.remove('open');
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
get host() { return getElement(this); }
|
|
847
|
+
};
|
|
848
|
+
__decorate$2([
|
|
849
|
+
InjectVegaSlimmer()
|
|
850
|
+
], VegaSidenavGroup.prototype, "subStateObserverSlimmer", void 0);
|
|
851
|
+
__decorate$2([
|
|
852
|
+
InjectVegaGlobalSlimmer()
|
|
853
|
+
], VegaSidenavGroup.prototype, "globalSlimmers", void 0);
|
|
854
|
+
__decorate$2([
|
|
855
|
+
InjectVegaSlimmer()
|
|
856
|
+
], VegaSidenavGroup.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
857
|
+
VegaSidenavGroup.style = vegaSidenavGroupCss;
|
|
858
|
+
|
|
859
|
+
var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
860
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
861
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
862
|
+
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;
|
|
863
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
864
|
+
};
|
|
865
|
+
/** The class `VegaSidenavLinkSubStateController` is a TypeScript class that observes and manages sub-states for a sidenav link component. */
|
|
866
|
+
class VegaSidenavLinkSubStateController extends SubStateObserverSlimmer {
|
|
867
|
+
/**
|
|
868
|
+
* The constructor function initializes a sidenav with specified subStates in TypeScript.
|
|
869
|
+
*/
|
|
870
|
+
constructor() {
|
|
871
|
+
super({
|
|
872
|
+
parent: 'vega-sidenav',
|
|
873
|
+
subStates: [
|
|
874
|
+
{
|
|
875
|
+
subStateName: 'openState',
|
|
876
|
+
parentStateName: 'openState',
|
|
877
|
+
},
|
|
878
|
+
],
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
__decorate$1([
|
|
883
|
+
MapToComponentField({ writable: true })
|
|
884
|
+
], VegaSidenavLinkSubStateController.prototype, "openState", void 0);
|
|
885
|
+
|
|
886
|
+
const vegaSidenavLinkCss = ":host{display:block;margin-top:4px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;width:100%;box-sizing:border-box}:host a{display:flex;align-items:center;width:100%;height:100%;position:relative;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;overflow:hidden;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1));cursor:pointer;text-decoration:none;border-radius:8px;box-sizing:border-box;outline:2px solid transparent;outline-offset:2px}:host a.selected{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1));background:transparent}:host .vega-links-icon{padding:8px;box-sizing:border-box}:host a.selected .vega-links-icon{border-radius:8px;background-color:rgba(var(--v-bg-sidebar-item-selected, 19, 98, 226, 0.4))}:host a .vega-links-icon>div{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;height:100%;width:100%}:host a.selected .vega-links-icon>div{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1))}:host .vega-links-icon .prefix-icon{width:40px;height:40px}:host a .vega-links-name{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;pointer-events:none;overflow:hidden;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px;flex:1 1 0%;padding-top:8px;padding-bottom:8px;transition-duration:300ms}@media screen and (min-width: 768px) and (max-width: 1023px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.has-group-parent:not([icon])) .vega-links-name{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}:host(.sidenav-open) a:focus{border-color:rgba(var(--v-border-color-sidebar-item-focus, 19, 98, 226, 1))}:host(.sidenav-open) a:not(.selected):hover{background-color:rgba(var(--v-bg-sidebar-item-hover, 252, 252, 252, 1));color:rgba(var(--v-text-sidebar-link-hover, 18, 18, 39, 1))}:host(.sidenav-open) a.selected{background-color:rgba(var(--v-bg-sidebar-item-selected, 19, 98, 226, 0.4))}:host(.sidenav-open) a.selected .vega-links-icon{background:transparent}:host(.sidenav-open) a .vega-links-name{opacity:1;pointer-events:auto;overflow-wrap:break-word}@media (min-width: 768px){:host{width:224px}}";
|
|
887
|
+
|
|
888
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
889
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
890
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
891
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
892
|
+
else
|
|
893
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
894
|
+
if (d = decorators[i])
|
|
895
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
896
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
897
|
+
};
|
|
898
|
+
const VegaSidenavLink = class {
|
|
899
|
+
constructor(hostRef) {
|
|
900
|
+
registerInstance(this, hostRef);
|
|
901
|
+
this.vegaClick = createEvent(this, "vegaClick", 7);
|
|
902
|
+
this.click = createEvent(this, "click", 7);
|
|
903
|
+
this.globalSlimmers = {};
|
|
904
|
+
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
905
|
+
this.subStateObserverSlimmer = new VegaSidenavLinkSubStateController();
|
|
906
|
+
this.clickEventEmitter = createEventEmitSlimmer(VegaSidenavLink, VegaClick);
|
|
907
|
+
this.openState = 'close';
|
|
908
|
+
/**
|
|
909
|
+
* Indicates whether the link item is selected.
|
|
910
|
+
*
|
|
911
|
+
* @vegaVersion 1, v2.29.0
|
|
912
|
+
*/
|
|
913
|
+
this.selected = false;
|
|
914
|
+
/**
|
|
915
|
+
* Determines if the side nav should stay open when the
|
|
916
|
+
* sidenav-link element is clicked.
|
|
917
|
+
*
|
|
918
|
+
* @vegaVersion 1, v2.29.0
|
|
919
|
+
*/
|
|
920
|
+
this.showSideBarOnClickLink = false;
|
|
921
|
+
/**
|
|
922
|
+
* The below method is e2e-test covered in
|
|
923
|
+
* @see{module:vega-sidenav-link-click-event}
|
|
924
|
+
*/
|
|
925
|
+
/* istanbul ignore next */
|
|
926
|
+
this.handleClick = (e) => {
|
|
927
|
+
if (!this.selected) {
|
|
928
|
+
this.selected = true;
|
|
929
|
+
}
|
|
930
|
+
this.clickEventEmitter.emit();
|
|
931
|
+
this.notifyParentSidenavClick();
|
|
932
|
+
if (internalVegaEventManager.getSemantics(this.host).namespace === 'native') {
|
|
933
|
+
e.stopPropagation();
|
|
934
|
+
}
|
|
935
|
+
};
|
|
936
|
+
}
|
|
937
|
+
/**
|
|
938
|
+
* The below method is e2e-test covered in
|
|
939
|
+
* @see{module:vega-sidenav-link-e2e-disconnected}
|
|
940
|
+
*/
|
|
941
|
+
/* istanbul ignore next */
|
|
942
|
+
disconnectedCallback() {
|
|
943
|
+
ChangeManager.unregister(SIDENAV_LINK_SELECTED_TOPIC, this.observer);
|
|
944
|
+
}
|
|
945
|
+
componentWillLoad() {
|
|
946
|
+
const parent = findParent(this.host, 'vega-sidenav-group');
|
|
947
|
+
if (parent) {
|
|
948
|
+
this.host.classList.add('has-group-parent');
|
|
949
|
+
}
|
|
950
|
+
this.observer = new Observer(isHTMLVegaSidenavLinkElement, this.observerListener.bind(this));
|
|
951
|
+
ChangeManager.register(SIDENAV_LINK_SELECTED_TOPIC, this.observer);
|
|
952
|
+
}
|
|
953
|
+
componentDidRender() {
|
|
954
|
+
if (this.selected) {
|
|
955
|
+
ChangeManager.notify(SIDENAV_LINK_SELECTED_TOPIC, this.host);
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
render() {
|
|
959
|
+
const url = this.url || 'javascript:void(0);';
|
|
960
|
+
return sanitizeVegaComponent(h(Host, { class: { 'sidenav-open': this.openState !== 'close' } }, h("a", { href: url, onClick: this.handleClick, class: { selected: this.selected === true } }, this.icon ? (h("div", { class: "vega-links-icon" }, h("div", { class: "prefix-icon" }, h("vega-icon", { icon: this.icon, size: "size-24" })))) : null, h("span", { class: "vega-links-name" }, h("slot", null)))), this.host);
|
|
961
|
+
}
|
|
962
|
+
/**
|
|
963
|
+
* The below method is e2e-test covered in
|
|
964
|
+
* @see{module:vega-sidenav-link-observer-with-click}
|
|
965
|
+
*/
|
|
966
|
+
/* istanbul ignore next */
|
|
967
|
+
observerListener(castInput) {
|
|
968
|
+
if (castInput !== this.host) {
|
|
969
|
+
this.selected = false;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* Notify the parent sidenav element the child link has been clicked
|
|
974
|
+
*/
|
|
975
|
+
notifyParentSidenavClick() {
|
|
976
|
+
const sidenav = findParent(this.host, 'vega-sidenav');
|
|
977
|
+
if (sidenav) {
|
|
978
|
+
ChangeManager.notify(domNodeSubjectFactory.getSubject(sidenav, VegaInternalSidenavLinkClick), {
|
|
979
|
+
host: this.host,
|
|
980
|
+
detail: this.showSideBarOnClickLink,
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
get host() { return getElement(this); }
|
|
985
|
+
};
|
|
986
|
+
__decorate([
|
|
987
|
+
InjectVegaGlobalSlimmer()
|
|
988
|
+
], VegaSidenavLink.prototype, "globalSlimmers", void 0);
|
|
989
|
+
__decorate([
|
|
990
|
+
InjectVegaSlimmer()
|
|
991
|
+
], VegaSidenavLink.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
992
|
+
__decorate([
|
|
993
|
+
InjectVegaSlimmer()
|
|
994
|
+
], VegaSidenavLink.prototype, "subStateObserverSlimmer", void 0);
|
|
995
|
+
__decorate([
|
|
996
|
+
InjectVegaSlimmer()
|
|
997
|
+
], VegaSidenavLink.prototype, "clickEventEmitter", void 0);
|
|
998
|
+
VegaSidenavLink.style = vegaSidenavLinkCss;
|
|
999
|
+
|
|
1000
|
+
export { VegaSidenav as vega_sidenav, VegaSidenavGroup as vega_sidenav_group, VegaSidenavLink as vega_sidenav_link };
|