@baloise/ds-core 19.1.0 → 19.2.0-nightly.20250623
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/components/all.d.ts +2 -0
- package/components/all.js +3 -0
- package/components/bal-app.js +1 -93
- package/components/bal-app2.js +95 -0
- package/components/bal-carousel-item.js +23 -2
- package/components/bal-doc-app.d.ts +11 -0
- package/components/bal-doc-app.js +262 -0
- package/components/bal-icon2.js +1 -1350
- package/components/bal-input.js +20 -2
- package/components/bal-list-item-accordion-body2.js +6 -4
- package/components/bal-list-item-accordion-head2.js +10 -5
- package/components/bal-list-item2.js +4 -2
- package/components/bal-nav-menu-flyout2.js +10 -3
- package/components/bal-nav-meta-bar2.js +4 -2
- package/components/bal-nav.js +155 -33
- package/components/bal-popup2.js +5 -10
- package/components/bal-radio-group.js +1 -0
- package/components/bal-steps.js +1 -1
- package/components/bal-tab-item.js +4 -2
- package/components/bal-tabs2.js +4 -1
- package/components/focus-visible.js +1 -2
- package/components/index.js +7 -314
- package/components/initialize.js +312 -0
- package/components/overlays.js +2 -2
- package/components/purify.js +1353 -0
- package/components/tokens.esm.js +1 -1
- package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
- package/dist/baloise-design-system/baloise-design-system.js +1 -1
- package/dist/baloise-design-system/index.esm.js +1 -1
- package/dist/baloise-design-system/{p-42b2e62411.system.entry.js → p-00dc0f84cc.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-14c507db.system.js → p-01493e9f.system.js} +1 -1
- package/dist/baloise-design-system/{p-68d7e929.system.js → p-02d76532.system.js} +1 -1
- package/dist/baloise-design-system/p-0c381481f3.system.entry.js +1 -0
- package/dist/baloise-design-system/p-12ec7e6d69.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-df9bc850dc.system.entry.js → p-12f7a6a381.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-16395ece.system.js +1 -0
- package/dist/baloise-design-system/{p-1e0a2263fb.entry.js → p-191cb463ef.entry.js} +1 -1
- package/dist/baloise-design-system/p-1e142b10.system.js +1 -0
- package/dist/baloise-design-system/p-24fe64c5.js +1 -0
- package/dist/baloise-design-system/p-294f38c2.js +1 -0
- package/dist/baloise-design-system/{p-290dfd0212.system.entry.js → p-31baba8382.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-8a9fb4619a.entry.js → p-32db85222c.entry.js} +1 -1
- package/dist/baloise-design-system/p-343cc097d4.entry.js +1 -0
- package/dist/baloise-design-system/p-3913c6ae.js +1 -1
- package/dist/baloise-design-system/{p-47eaccc384.system.entry.js → p-42238a1e1a.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-42e66219.system.js +1 -0
- package/dist/baloise-design-system/p-47f0669a.js +1 -0
- package/dist/baloise-design-system/{p-7467605b28.entry.js → p-4b3b969747.entry.js} +1 -1
- package/dist/baloise-design-system/p-55591d77a6.entry.js +1 -0
- package/dist/baloise-design-system/p-56376785c2.entry.js +1 -0
- package/dist/baloise-design-system/{p-ac25ede4f4.entry.js → p-5638fe223b.entry.js} +1 -1
- package/dist/baloise-design-system/p-58e51d6a.js +1 -0
- package/dist/baloise-design-system/{p-63297f8b3b.system.entry.js → p-5b20afcac4.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-5d80cd4f25.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-b96e5a6c.js → p-5dc505fc.js} +1 -1
- package/dist/baloise-design-system/{p-390b2af6a5.system.entry.js → p-6149950bb1.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-659ecadc.system.js +1 -1
- package/dist/baloise-design-system/p-65d4a9afab.entry.js +1 -0
- package/dist/baloise-design-system/{p-83d19315e3.entry.js → p-6700e35d71.entry.js} +1 -1
- package/dist/baloise-design-system/{p-363a7f7760.entry.js → p-673d489362.entry.js} +1 -1
- package/dist/baloise-design-system/{p-022af4f2.js → p-6b284c70.js} +1 -1
- package/dist/baloise-design-system/p-6bb4e22ace.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-16ebe71517.entry.js → p-72a1dc6052.entry.js} +1 -1
- package/dist/baloise-design-system/p-7625d0abde.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-702abad387.entry.js → p-7db52d587f.entry.js} +1 -1
- package/dist/baloise-design-system/{p-456114b8.system.js → p-83512f21.system.js} +1 -1
- package/dist/baloise-design-system/{p-8bd42bba68.entry.js → p-84a5fe83b0.entry.js} +1 -1
- package/dist/baloise-design-system/{p-24336e0fca.system.entry.js → p-8ebf048b7b.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-96301206d3.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-32bf71aa6c.entry.js → p-9b355b09ba.entry.js} +1 -1
- package/dist/baloise-design-system/{p-b9a4f3580b.entry.js → p-9c3f458e6c.entry.js} +1 -1
- package/dist/baloise-design-system/{p-99c12a1d83.system.entry.js → p-9df176a81a.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-e43b61e151.system.entry.js → p-a19a336dda.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-a35a951800.entry.js +1 -0
- package/dist/baloise-design-system/p-a397da94.system.js +1 -0
- package/dist/baloise-design-system/p-a86c09c64f.system.entry.js +1 -0
- package/dist/baloise-design-system/{p-13ea819488.entry.js → p-ac238676b6.entry.js} +1 -1
- package/dist/baloise-design-system/{p-e453a2de.system.js → p-ad89304c.system.js} +1 -1
- package/dist/baloise-design-system/p-ade92c8b.js +2 -0
- package/dist/baloise-design-system/p-b3a9499f8e.entry.js +1 -0
- package/dist/baloise-design-system/p-b94e6946fc.entry.js +1 -0
- package/dist/baloise-design-system/{p-2367556371.system.entry.js → p-b9b086adc8.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-c89750c825.system.entry.js → p-ba30929ac8.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-d0cee779.system.js +2 -0
- package/dist/baloise-design-system/{p-9d3935fbbc.entry.js → p-d18794e22b.entry.js} +1 -1
- package/dist/baloise-design-system/p-d4e5093b.js +1 -0
- package/dist/baloise-design-system/{p-35fde87c2a.system.entry.js → p-dfd6d34303.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-e2c982954d.entry.js +1 -0
- package/dist/baloise-design-system/{p-39c2321045.system.entry.js → p-e3fb1f185f.system.entry.js} +1 -1
- package/dist/baloise-design-system/{p-490383ab.system.js → p-eaec547b.system.js} +1 -1
- package/dist/baloise-design-system/{p-131fd635ef.entry.js → p-f0506e5102.entry.js} +1 -1
- package/dist/baloise-design-system/{p-c5ac7b5d30.system.entry.js → p-f2784fb721.system.entry.js} +1 -1
- package/dist/baloise-design-system/p-f3c6e132ea.system.entry.js +1 -0
- package/dist/cjs/app-globals-f63c33e7.js +7 -0
- package/dist/cjs/bal-app.cjs.entry.js +1 -1
- package/dist/cjs/bal-carousel_2.cjs.entry.js +23 -5
- package/dist/cjs/bal-checkbox_2.cjs.entry.js +1 -1
- package/dist/cjs/bal-date.cjs.entry.js +1 -1
- package/dist/cjs/bal-doc-app.cjs.entry.js +233 -0
- package/dist/cjs/bal-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/bal-hint_5.cjs.entry.js +3 -3
- package/dist/cjs/bal-icon.cjs.entry.js +2 -1351
- package/dist/cjs/bal-input.cjs.entry.js +20 -2
- package/dist/cjs/bal-list_8.cjs.entry.js +21 -12
- package/dist/cjs/bal-logo.cjs.entry.js +3 -3
- package/dist/cjs/bal-modal_3.cjs.entry.js +1 -1
- package/dist/cjs/bal-nav_8.cjs.entry.js +167 -38
- package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
- package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
- package/dist/cjs/bal-popup.cjs.entry.js +5 -10
- package/dist/cjs/bal-progress-bar.cjs.entry.js +4 -4
- package/dist/cjs/bal-radio_2.cjs.entry.js +2 -1
- package/dist/cjs/bal-segment_2.cjs.entry.js +5 -5
- package/dist/cjs/bal-shape.cjs.entry.js +1 -1
- package/dist/cjs/bal-steps.cjs.entry.js +4 -4
- package/dist/cjs/bal-tab-item_2.cjs.entry.js +11 -6
- package/dist/cjs/baloise-design-system.cjs.js +3 -2
- package/dist/cjs/{breakpoints.decorator-5086ec90.js → breakpoints.decorator-266b25a2.js} +1 -1
- package/dist/cjs/{breakpoints.subject-a1180187.js → breakpoints.subject-03f75770.js} +1 -1
- package/dist/cjs/{focus-visible-264bd9b8.js → focus-visible-a434c91f.js} +0 -2
- package/dist/cjs/{app-globals-0d8db19e.js → global-2a76769b.js} +2 -4
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/initialize-2e8978a4.js +1 -1
- package/dist/cjs/loader.cjs.js +3 -2
- package/dist/cjs/{overlays-47b231bc.js → overlays-94ebb271.js} +2 -2
- package/dist/cjs/purify-b01229e2.js +1355 -0
- package/dist/cjs/{tokens.esm-263be70d.js → tokens.esm-c3cc508d.js} +1 -1
- package/dist/cjs/{window-resize.decorator-9a06680f.js → window-resize.decorator-9494cf0b.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/bal-carousel/bal-carousel-item/bal-carousel-item.js +44 -3
- package/dist/collection/components/bal-input/bal-input-util.js +1 -0
- package/dist/collection/components/bal-input/bal-input.js +22 -5
- package/dist/collection/components/bal-list/bal-list-item/bal-list-item.js +4 -2
- package/dist/collection/components/bal-list/bal-list-item-accordion-body/bal-list-item-accordion-body.js +7 -5
- package/dist/collection/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.js +13 -8
- package/dist/collection/components/bal-nav/bal-nav-focus.util.js +87 -0
- package/dist/collection/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.js +40 -2
- package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.css +1 -1
- package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.js +22 -1
- package/dist/collection/components/bal-nav/bal-nav.css +1 -1
- package/dist/collection/components/bal-nav/bal-nav.js +43 -8
- package/dist/collection/components/bal-nav/models/bal-nav-menu-link-item.js +6 -5
- package/dist/collection/components/bal-popup/bal-popup.js +8 -13
- package/dist/collection/components/bal-radio/bal-radio-group/bal-radio-group.js +1 -0
- package/dist/collection/components/bal-steps/bal-steps.css +1 -1
- package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +23 -2
- package/dist/collection/components/bal-tabs/components/tab-button.js +6 -3
- package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +1 -0
- package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +247 -0
- package/dist/collection/utils/constants/version.constant.js +1 -1
- package/dist/collection/utils/overlays/focus-trap.js +2 -2
- package/dist/esm/app-globals-1ecf000f.js +5 -0
- package/dist/esm/bal-app.entry.js +1 -1
- package/dist/esm/bal-carousel_2.entry.js +23 -5
- package/dist/esm/bal-checkbox_2.entry.js +1 -1
- package/dist/esm/bal-date.entry.js +1 -1
- package/dist/esm/bal-doc-app.entry.js +229 -0
- package/dist/esm/bal-dropdown.entry.js +1 -1
- package/dist/esm/bal-hint_5.entry.js +3 -3
- package/dist/esm/bal-icon.entry.js +1 -1350
- package/dist/esm/bal-input.entry.js +20 -2
- package/dist/esm/bal-list_8.entry.js +22 -13
- package/dist/esm/bal-logo.entry.js +3 -3
- package/dist/esm/bal-modal_3.entry.js +1 -1
- package/dist/esm/bal-nav_8.entry.js +168 -39
- package/dist/esm/bal-navbar_5.entry.js +3 -3
- package/dist/esm/bal-pagination.entry.js +3 -3
- package/dist/esm/bal-popup.entry.js +5 -10
- package/dist/esm/bal-progress-bar.entry.js +4 -4
- package/dist/esm/bal-radio_2.entry.js +2 -1
- package/dist/esm/bal-segment_2.entry.js +5 -5
- package/dist/esm/bal-shape.entry.js +1 -1
- package/dist/esm/bal-steps.entry.js +4 -4
- package/dist/esm/bal-tab-item_2.entry.js +11 -6
- package/dist/esm/baloise-design-system.js +3 -2
- package/dist/esm/{breakpoints.decorator-3666716a.js → breakpoints.decorator-ecda98cb.js} +1 -1
- package/dist/esm/{breakpoints.subject-1aa7be9a.js → breakpoints.subject-2897cae5.js} +1 -1
- package/dist/esm/{focus-visible-f0cdd043.js → focus-visible-c1d6b5b8.js} +1 -2
- package/dist/esm/{app-globals-5dd5fe6b.js → global-6e86728b.js} +2 -4
- package/dist/esm/index.js +4 -4
- package/dist/esm/initialize-be160cc4.js +1 -1
- package/dist/esm/loader.js +3 -2
- package/dist/esm/{overlays-4cc504b6.js → overlays-3f81f45d.js} +2 -2
- package/dist/esm/purify-8cb49f16.js +1353 -0
- package/dist/esm/{tokens.esm-a3abda33.js → tokens.esm-17500c90.js} +1 -1
- package/dist/esm/{window-resize.decorator-ef52bf33.js → window-resize.decorator-b914e5b9.js} +1 -1
- package/dist/esm-es5/app-globals-1ecf000f.js +1 -0
- package/dist/esm-es5/bal-app.entry.js +1 -1
- package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
- package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
- package/dist/esm-es5/bal-date.entry.js +1 -1
- package/dist/esm-es5/bal-doc-app.entry.js +1 -0
- package/dist/esm-es5/bal-dropdown.entry.js +1 -1
- package/dist/esm-es5/bal-hint_5.entry.js +1 -1
- package/dist/esm-es5/bal-icon.entry.js +1 -2
- package/dist/esm-es5/bal-input.entry.js +1 -1
- package/dist/esm-es5/bal-list_8.entry.js +1 -1
- package/dist/esm-es5/bal-logo.entry.js +1 -1
- package/dist/esm-es5/bal-modal_3.entry.js +1 -1
- package/dist/esm-es5/bal-nav_8.entry.js +1 -1
- package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
- package/dist/esm-es5/bal-pagination.entry.js +1 -1
- package/dist/esm-es5/bal-popup.entry.js +1 -1
- package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
- package/dist/esm-es5/bal-radio_2.entry.js +1 -1
- package/dist/esm-es5/bal-segment_2.entry.js +1 -1
- package/dist/esm-es5/bal-shape.entry.js +1 -1
- package/dist/esm-es5/bal-steps.entry.js +1 -1
- package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
- package/dist/esm-es5/baloise-design-system.js +1 -1
- package/dist/esm-es5/breakpoints.decorator-ecda98cb.js +1 -0
- package/dist/esm-es5/{breakpoints.subject-1aa7be9a.js → breakpoints.subject-2897cae5.js} +1 -1
- package/dist/esm-es5/focus-visible-c1d6b5b8.js +1 -0
- package/dist/esm-es5/global-6e86728b.js +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/initialize-be160cc4.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/overlays-3f81f45d.js +1 -0
- package/dist/esm-es5/purify-8cb49f16.js +2 -0
- package/dist/esm-es5/{window-resize.decorator-ef52bf33.js → window-resize.decorator-b914e5b9.js} +1 -1
- package/dist/html.html-data.json +12 -1
- package/dist/types/components/bal-carousel/bal-carousel-item/bal-carousel-item.d.ts +8 -0
- package/dist/types/components/bal-input/bal-input-util.d.ts +1 -0
- package/dist/types/components/bal-input/bal-input.d.ts +1 -0
- package/dist/types/components/bal-input/bal-input.interfaces.d.ts +1 -1
- package/dist/types/components/bal-list/bal-list-item-accordion-body/bal-list-item-accordion-body.d.ts +1 -1
- package/dist/types/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.d.ts +3 -2
- package/dist/types/components/bal-nav/bal-nav-focus.util.d.ts +33 -0
- package/dist/types/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.d.ts +6 -1
- package/dist/types/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.d.ts +4 -0
- package/dist/types/components/bal-nav/bal-nav.interfaces.d.ts +7 -1
- package/dist/types/components/bal-nav/models/bal-nav-menu-link-item.d.ts +1 -0
- package/dist/types/components/bal-popup/bal-popup.d.ts +1 -1
- package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +5 -0
- package/dist/types/components/bal-tabs/bal-tab.type.d.ts +1 -0
- package/dist/types/components/bal-tabs/bal-tabs.interfaces.d.ts +2 -0
- package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +21 -0
- package/dist/types/components.d.ts +79 -2
- package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +82 -0
- package/package.json +6 -6
- package/dist/baloise-design-system/p-002d7bb9.js +0 -1
- package/dist/baloise-design-system/p-0f8973edc6.entry.js +0 -1
- package/dist/baloise-design-system/p-130b37bc.js +0 -1
- package/dist/baloise-design-system/p-1693fa7649.system.entry.js +0 -1
- package/dist/baloise-design-system/p-2fffe828ac.system.entry.js +0 -1
- package/dist/baloise-design-system/p-345aa92d.system.js +0 -1
- package/dist/baloise-design-system/p-53b2b718c5.entry.js +0 -1
- package/dist/baloise-design-system/p-58b1d6fa96.system.entry.js +0 -1
- package/dist/baloise-design-system/p-64916e34a4.entry.js +0 -1
- package/dist/baloise-design-system/p-967bdfab.js +0 -1
- package/dist/baloise-design-system/p-98cf514345.system.entry.js +0 -1
- package/dist/baloise-design-system/p-aa16fc7aa2.system.entry.js +0 -2
- package/dist/baloise-design-system/p-b52ad8d5.system.js +0 -1
- package/dist/baloise-design-system/p-c2f253d9fd.entry.js +0 -2
- package/dist/baloise-design-system/p-c917a3bc.system.js +0 -1
- package/dist/baloise-design-system/p-ca119357.js +0 -1
- package/dist/baloise-design-system/p-d09026edb1.system.entry.js +0 -1
- package/dist/baloise-design-system/p-dd2a76bd7c.system.entry.js +0 -1
- package/dist/baloise-design-system/p-f04cab5af1.entry.js +0 -1
- package/dist/baloise-design-system/p-f2cc4e63d4.entry.js +0 -1
- package/dist/baloise-design-system/p-f6b1d87619.entry.js +0 -1
- package/dist/esm-es5/app-globals-5dd5fe6b.js +0 -1
- package/dist/esm-es5/breakpoints.decorator-3666716a.js +0 -1
- package/dist/esm-es5/focus-visible-f0cdd043.js +0 -1
- package/dist/esm-es5/overlays-4cc504b6.js +0 -1
- /package/dist/baloise-design-system/{p-bccc3d48.system.js → p-d3480bd3.system.js} +0 -0
- /package/dist/baloise-design-system/{p-928bbc47.js → p-f9808768.js} +0 -0
- /package/dist/esm-es5/{tokens.esm-a3abda33.js → tokens.esm-17500c90.js} +0 -0
package/components/bal-input.js
CHANGED
|
@@ -131,6 +131,7 @@ function formatBeIBAN(value) {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
const MAX_LENGTH_CONTRACT_NUMBER = 10;
|
|
134
|
+
const MAX_LENGTH_BASIC_CONTRACT_NUMBER = 9;
|
|
134
135
|
const MAX_LENGTH_OFFER_NUMBER = 9;
|
|
135
136
|
const MAX_LENGTH_CLAIM_NUMBER = 11;
|
|
136
137
|
const MAX_LENGTH_BE_ENTERPRISE_NUMBER = 10;
|
|
@@ -171,11 +172,26 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
171
172
|
switch (this.mask) {
|
|
172
173
|
case 'contract-number': {
|
|
173
174
|
inputValue = input.value.replace(/\D/g, '');
|
|
175
|
+
// Removing the leading zero if presented
|
|
176
|
+
if (inputValue.charAt(0) === '0') {
|
|
177
|
+
inputValue = inputValue.substring(1);
|
|
178
|
+
}
|
|
174
179
|
if (inputValue.length > MAX_LENGTH_CONTRACT_NUMBER) {
|
|
175
180
|
inputValue = inputValue.substring(0, MAX_LENGTH_CONTRACT_NUMBER);
|
|
176
181
|
}
|
|
177
182
|
return inputValue;
|
|
178
183
|
}
|
|
184
|
+
case 'basic-contract-number': {
|
|
185
|
+
inputValue = input.value.replace(/\D/g, '');
|
|
186
|
+
// Removing the leading zero if presented
|
|
187
|
+
if (inputValue.charAt(0) === '0') {
|
|
188
|
+
inputValue = inputValue.substring(1);
|
|
189
|
+
}
|
|
190
|
+
if (inputValue.length > MAX_LENGTH_BASIC_CONTRACT_NUMBER) {
|
|
191
|
+
inputValue = inputValue.substring(0, MAX_LENGTH_BASIC_CONTRACT_NUMBER);
|
|
192
|
+
}
|
|
193
|
+
return inputValue;
|
|
194
|
+
}
|
|
179
195
|
case 'offer-number': {
|
|
180
196
|
inputValue = input.value.replace(/\D/g, '');
|
|
181
197
|
if (inputValue.length > MAX_LENGTH_OFFER_NUMBER) {
|
|
@@ -239,7 +255,8 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
239
255
|
if (input) {
|
|
240
256
|
if (input.value) {
|
|
241
257
|
switch (this.mask) {
|
|
242
|
-
case 'contract-number':
|
|
258
|
+
case 'contract-number':
|
|
259
|
+
case 'basic-contract-number': {
|
|
243
260
|
input.value = formatPolicy(this.inputValue);
|
|
244
261
|
if (cursorPositionStart < this.inputValue.length) {
|
|
245
262
|
input.setSelectionRange(cursorPositionStart, cursorPositionEnd);
|
|
@@ -419,6 +436,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
419
436
|
if (this.mask !== undefined) {
|
|
420
437
|
switch (this.mask) {
|
|
421
438
|
case 'contract-number':
|
|
439
|
+
case 'basic-contract-number':
|
|
422
440
|
value = formatPolicy(value);
|
|
423
441
|
break;
|
|
424
442
|
case 'claim-number':
|
|
@@ -441,7 +459,7 @@ const Input = /*@__PURE__*/ proxyCustomElement(class Input extends HTMLElement {
|
|
|
441
459
|
}
|
|
442
460
|
const block = BEM.block('input');
|
|
443
461
|
const id = this.ariaForm.controlId || this.inputId;
|
|
444
|
-
return (h(Host, { key: '
|
|
462
|
+
return (h(Host, { key: 'c247683cd5ac331743d71c8872a59ccfacbcae83', onClick: this.handleClick, "aria-disabled": ariaBooleanToString(this.disabled), class: Object.assign({}, block.class()) }, h("input", Object.assign({ key: '992f567fd137664f50f73443fdc283ed7622297d', class: {
|
|
445
463
|
'input': true,
|
|
446
464
|
'is-disabled': this.disabled || this.readonly,
|
|
447
465
|
'is-danger': this.invalid,
|
|
@@ -72,7 +72,9 @@ const ListItemAccordionBody = /*@__PURE__*/ proxyCustomElement(class ListItemAcc
|
|
|
72
72
|
* @internal
|
|
73
73
|
*/
|
|
74
74
|
async setAria(aria) {
|
|
75
|
-
|
|
75
|
+
if (aria.labelledby && aria.labelledby !== this.ariaState.labelledby) {
|
|
76
|
+
this.ariaState.labelledby = aria.labelledby;
|
|
77
|
+
}
|
|
76
78
|
}
|
|
77
79
|
/**
|
|
78
80
|
* PRIVATE METHODS
|
|
@@ -89,15 +91,15 @@ const ListItemAccordionBody = /*@__PURE__*/ proxyCustomElement(class ListItemAcc
|
|
|
89
91
|
* ------------------------------------------------------
|
|
90
92
|
*/
|
|
91
93
|
render() {
|
|
92
|
-
return (h(Host, { key: '
|
|
94
|
+
return (h(Host, { key: 'c09f940346dd1c179888f6e521febf25872e94cb', id: this.internalId, role: 'region', "aria-labelledby": this.ariaState.labelledby, class: {
|
|
93
95
|
'bal-list__item': true,
|
|
94
96
|
'bal-list__item__accordion-body': true,
|
|
95
97
|
'bal-list__item__accordion-body--grouped': this.accordionGroup !== undefined && this.accordionGroup !== '',
|
|
96
|
-
} }, h("div", { key: '
|
|
98
|
+
} }, h("div", { key: '07253229c2cec50a110f5ae37d526122928a7d48', class: {
|
|
97
99
|
'bal-list__item__accordion-body__content': true,
|
|
98
100
|
[`bal-list__item__accordion-body__content--${this.contentAlignment}`]: this.contentAlignment !== undefined,
|
|
99
101
|
[`bal-list__item__accordion-body__content--space-${this.contentSpace}`]: this.contentSpace !== undefined,
|
|
100
|
-
}, ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: '
|
|
102
|
+
}, ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'ff5f45b667f6e0448ee3b4b0d3306f1d4ab25b65' }))));
|
|
101
103
|
}
|
|
102
104
|
get el() { return this; }
|
|
103
105
|
}, [4, "bal-list-item-accordion-body", {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { _ as __decorate, a as __metadata } from './tslib.es6.js';
|
|
3
|
-
import { L as Logger } from './log.js';
|
|
4
|
-
import { s as stopEventBubbling } from './form-input.js';
|
|
5
3
|
import { a as ariaBooleanToString } from './aria.js';
|
|
4
|
+
import { s as stopEventBubbling } from './form-input.js';
|
|
5
|
+
import { L as Logger } from './log.js';
|
|
6
6
|
import { d as defineCustomElement$2 } from './bal-icon2.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './bal-list-item-icon2.js';
|
|
8
8
|
import { a as isSpaceKey, i as isEnterKey } from './keyboard.helpers.js';
|
|
@@ -90,6 +90,9 @@ const ListItemAccordionHead = /*@__PURE__*/ proxyCustomElement(class ListItemAcc
|
|
|
90
90
|
* LIFECYCLE
|
|
91
91
|
* ------------------------------------------------------
|
|
92
92
|
*/
|
|
93
|
+
connectedCallback() {
|
|
94
|
+
this.accordionOpenHandler(this.accordionOpen, false);
|
|
95
|
+
}
|
|
93
96
|
componentDidRender() {
|
|
94
97
|
this.setLabelledby();
|
|
95
98
|
}
|
|
@@ -111,7 +114,9 @@ const ListItemAccordionHead = /*@__PURE__*/ proxyCustomElement(class ListItemAcc
|
|
|
111
114
|
* @internal
|
|
112
115
|
*/
|
|
113
116
|
async setAria(aria) {
|
|
114
|
-
|
|
117
|
+
if (aria.controlId && aria.controlId !== this.ariaState.controlId) {
|
|
118
|
+
this.ariaState.controlId = aria.controlId;
|
|
119
|
+
}
|
|
115
120
|
}
|
|
116
121
|
/**
|
|
117
122
|
* PRIVATE METHODS
|
|
@@ -128,11 +133,11 @@ const ListItemAccordionHead = /*@__PURE__*/ proxyCustomElement(class ListItemAcc
|
|
|
128
133
|
* ------------------------------------------------------
|
|
129
134
|
*/
|
|
130
135
|
render() {
|
|
131
|
-
return (h(Host, { key: '
|
|
136
|
+
return (h(Host, { key: 'fadfc7f646948cbf15bd825188e4eb539058b1ca', class: {
|
|
132
137
|
'bal-list__item': true,
|
|
133
138
|
'bal-list__item__accordion-head': true,
|
|
134
139
|
'bal-list__item__accordion-head--open': this.accordionOpen,
|
|
135
|
-
}, id: this.internalId, role: "button", tabindex: "0", "aria-expanded": ariaBooleanToString(this.accordionOpen), "aria-controls": this.ariaState.controlId, onClick: this.onClick, onKeyDown: this.onKeyDown }, h("slot", { key: '
|
|
140
|
+
}, id: this.internalId, role: "button", tabindex: "0", "aria-expanded": ariaBooleanToString(this.accordionOpen), "aria-controls": this.ariaState.controlId, onClick: this.onClick, onKeyDown: this.onKeyDown }, h("slot", { key: '4f8c16d3af44dcb8e14a4619b64e6f57c3c79128' }), h("bal-list-item-icon", { key: '6eb7ef4c6275c22ec4c65f424c04a0f62cdd88b8', right: true }, h("bal-icon", { key: '60cf159ca10b62349fab812aa649d7819ae980bb', class: "bal-list__item__accordion-head__icon", name: this.icon, size: "small", turn: this.accordionOpen, title: this.accordionOpen
|
|
136
141
|
? i18nBalListItemAccordionHead[this.language].close
|
|
137
142
|
: i18nBalListItemAccordionHead[this.language].open }))));
|
|
138
143
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { _ as __decorate, a as __metadata } from './tslib.es6.js';
|
|
3
3
|
import { B as BEM } from './bem.js';
|
|
4
|
-
import { n as raf, t as transitionEndAsync } from './helpers.js';
|
|
4
|
+
import { n as raf, t as transitionEndAsync, p as rIC } from './helpers.js';
|
|
5
5
|
import { L as Logger } from './log.js';
|
|
6
6
|
import { L as ListenToConfig } from './config.decorator.js';
|
|
7
7
|
|
|
@@ -183,7 +183,9 @@ const ListItem = /*@__PURE__*/ proxyCustomElement(class ListItem extends HTMLEle
|
|
|
183
183
|
}
|
|
184
184
|
componentDidLoad() {
|
|
185
185
|
if (this.accordion) {
|
|
186
|
-
|
|
186
|
+
rIC(() => {
|
|
187
|
+
this.addEventListenerAccordionChange();
|
|
188
|
+
});
|
|
187
189
|
}
|
|
188
190
|
}
|
|
189
191
|
disconnectedCallback() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { _ as __decorate, a as __metadata } from './tslib.es6.js';
|
|
3
3
|
import { B as BEM } from './bem.js';
|
|
4
|
+
import { j as isDescendant } from './helpers.js';
|
|
4
5
|
import { L as Logger } from './log.js';
|
|
5
6
|
import { B as BalScrollHandler } from './scroll.js';
|
|
6
7
|
import { L as ListenToResize } from './resize.decorator.js';
|
|
@@ -12,6 +13,7 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
|
|
|
12
13
|
constructor() {
|
|
13
14
|
super();
|
|
14
15
|
this.__registerHost();
|
|
16
|
+
this.balFocusOut = createEvent(this, "balFocusOut", 7);
|
|
15
17
|
this.bodyScrollHandler = new BalScrollHandler();
|
|
16
18
|
this.isHidden = false;
|
|
17
19
|
this.navId = `bal-nav-x${NavMenuFlyOutIds++}`;
|
|
@@ -33,6 +35,11 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
|
|
|
33
35
|
* LISTENERS
|
|
34
36
|
* ------------------------------------------------------
|
|
35
37
|
*/
|
|
38
|
+
onFocusLeave(event) {
|
|
39
|
+
if (this.el && event.relatedTarget && !isDescendant(this.el, event.relatedTarget)) {
|
|
40
|
+
this.balFocusOut.emit(event);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
36
43
|
resizeListener() {
|
|
37
44
|
if (this.isFlyoutScrollable()) {
|
|
38
45
|
this.bodyScrollHandler.disable();
|
|
@@ -56,14 +63,14 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
|
|
|
56
63
|
render() {
|
|
57
64
|
const block = BEM.block('nav-menu-flyout');
|
|
58
65
|
const line = block.element('line');
|
|
59
|
-
return (h(Host, { key: '
|
|
66
|
+
return (h(Host, { key: '24fa77703681dee08738a210a21b693eb5c53679', id: `${this.navId}-menu-flyout`, class: Object.assign({}, block.class()) }, h("div", { key: '12eb7c5a6d4b3b8d230f8cfbc6477e4cc47b5897', class: Object.assign({}, line.class()) }), h("div", { key: '07fe48098735ef75bce7116eabedfceb8c2903e5', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '00a8a2f20e211f8610830bd89a53e7b57bafede2' }))));
|
|
60
67
|
}
|
|
61
68
|
get el() { return this; }
|
|
62
69
|
static get style() { return BalNavMenuFlyoutStyle0; }
|
|
63
70
|
}, [4, "bal-nav-menu-flyout", {
|
|
64
71
|
"navId": [1, "nav-id"],
|
|
65
72
|
"isHidden": [32]
|
|
66
|
-
}]);
|
|
73
|
+
}, [[0, "focusout", "onFocusLeave"]]]);
|
|
67
74
|
__decorate([
|
|
68
75
|
Logger('bal-nav-menu-flyout'),
|
|
69
76
|
__metadata("design:type", Function),
|
|
@@ -4,7 +4,7 @@ import { B as BEM } from './bem.js';
|
|
|
4
4
|
import { L as Logger } from './log.js';
|
|
5
5
|
import { b as balBrowser } from './browser.js';
|
|
6
6
|
|
|
7
|
-
const balNavMetaBarCss = ":root{--bal-nav-meta-bar-variant-primary-background:var(--bal-color-primary);--bal-nav-meta-bar-variant-primary-shadow:none;--bal-nav-meta-bar-variant-white-background:var(--bal-color-white);--bal-nav-meta-bar-variant-white-shadow:0 5px 15px rgba(0,0,0,.1);--bal-nav-meta-bar-variant-grey-background:var(--bal-color-grey-2);--bal-nav-meta-bar-variant-grey-shadow:none}.bal-nav-meta-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-meta-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-meta-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-meta-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-meta-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav-meta-bar--size-normal{padding-top:.5rem;padding-bottom:.5rem;height:4rem;max-height:4rem}.bal-nav-meta-bar--size-small{min-height:3rem}.bal-nav-meta-bar--position-fixed-top{position:fixed;top:0;left:0;width:100%}.bal-nav-meta-bar--position-fixed-bottom{position:fixed;bottom:0;left:0;width:100%}.bal-nav-meta-bar--variant-primary{background:var(--bal-nav-meta-bar-variant-primary-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow);box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow)}.bal-nav-meta-bar--variant-grey{background:var(--bal-nav-meta-bar-variant-grey-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow);box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow)}.bal-nav-meta-bar--variant-white{background:var(--bal-nav-meta-bar-variant-white-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-white-shadow);box-shadow:var(--bal-nav-meta-bar-variant-white-shadow)}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-mobile{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}.bal-nav-meta-bar .button-label{word-break:keep-all !important}.bal-nav-meta-bar-transform{will-change:transition;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;position:fixed;display:block;width:100%;top:0;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar-transform-small{-webkit-transform:translateY(-3rem);transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{-webkit-transform:translateY(-5rem);transform:translateY(-5rem)}";
|
|
7
|
+
const balNavMetaBarCss = ":root{--bal-nav-meta-bar-variant-primary-background:var(--bal-color-primary);--bal-nav-meta-bar-variant-primary-shadow:none;--bal-nav-meta-bar-variant-white-background:var(--bal-color-white);--bal-nav-meta-bar-variant-white-shadow:0 5px 15px rgba(0,0,0,.1);--bal-nav-meta-bar-variant-grey-background:var(--bal-color-grey-2);--bal-nav-meta-bar-variant-grey-shadow:none}.bal-nav-meta-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-meta-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-meta-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-meta-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-meta-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav-meta-bar--size-normal{padding-top:.5rem;padding-bottom:.5rem;height:4rem;max-height:4rem}.bal-nav-meta-bar--size-small{min-height:3rem}.bal-nav-meta-bar--position-fixed-top{position:fixed;top:0;left:0;width:100%}.bal-nav-meta-bar--position-fixed-bottom{position:fixed;bottom:0;left:0;width:100%}.bal-nav-meta-bar--variant-primary{background:var(--bal-nav-meta-bar-variant-primary-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow);box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow)}.bal-nav-meta-bar--variant-grey{background:var(--bal-nav-meta-bar-variant-grey-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow);box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow)}.bal-nav-meta-bar--variant-white{background:var(--bal-nav-meta-bar-variant-white-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-white-shadow);box-shadow:var(--bal-nav-meta-bar-variant-white-shadow)}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-mobile{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav>.bal-nav-meta-bar--stay-on-top{z-index:calc(var(--bal-z-index-popup) + 1) !important}}.bal-nav-meta-bar .button-label{word-break:keep-all !important}.bal-nav-meta-bar-transform{will-change:transition;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;position:fixed;display:block;width:100%;top:0;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar-transform-small{-webkit-transform:translateY(-3rem);transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{-webkit-transform:translateY(-5rem);transform:translateY(-5rem)}";
|
|
8
8
|
const BalNavMetaBarStyle0 = balNavMetaBarCss;
|
|
9
9
|
|
|
10
10
|
const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTMLElement {
|
|
@@ -14,6 +14,7 @@ const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTM
|
|
|
14
14
|
this.navMetaBarId = `bal-nav-meta-bar-${NavMetaBarIds++}`;
|
|
15
15
|
this.previousY = 0;
|
|
16
16
|
this.isHidden = false;
|
|
17
|
+
this.stayOnTopOfBackdrop = false;
|
|
17
18
|
this.variant = 'primary';
|
|
18
19
|
this.size = 'normal';
|
|
19
20
|
this.invisible = 'none';
|
|
@@ -63,11 +64,12 @@ const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTM
|
|
|
63
64
|
*/
|
|
64
65
|
render() {
|
|
65
66
|
const block = BEM.block('nav-meta-bar');
|
|
66
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: '3c91c07a7d1b760ae2843b24003d4cebc2ec57d8', id: this.navMetaBarId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier(`variant-${this.variant}`).class()), block.modifier(`size-${this.size}`).class()), block.modifier(`position-${this.position}`).class(this.position !== 'none')), block.modifier(`hidden-mobile`).class(this.invisible === 'mobile')), block.modifier(`hidden-tablet`).class(this.invisible === 'tablet')), block.modifier(`stay-on-top`).class(this.stayOnTopOfBackdrop)) }, h("div", { key: '02333a87470f62b461875ceeae5a1b32381f4700', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '4d41ede2b111ee158255fbbc04b580695c8b1597' }))));
|
|
67
68
|
}
|
|
68
69
|
get el() { return this; }
|
|
69
70
|
static get style() { return BalNavMetaBarStyle0; }
|
|
70
71
|
}, [4, "bal-nav-meta-bar", {
|
|
72
|
+
"stayOnTopOfBackdrop": [4, "stay-on-top-of-backdrop"],
|
|
71
73
|
"variant": [1],
|
|
72
74
|
"size": [1],
|
|
73
75
|
"invisible": [1],
|
package/components/bal-nav.js
CHANGED
|
@@ -2,9 +2,11 @@ import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/
|
|
|
2
2
|
import { _ as __decorate, a as __metadata } from './tslib.es6.js';
|
|
3
3
|
import { B as BEM } from './bem.js';
|
|
4
4
|
import { b as balBrowser } from './browser.js';
|
|
5
|
-
import {
|
|
5
|
+
import { s as stopEventBubbling } from './form-input.js';
|
|
6
|
+
import { p as rIC, j as isDescendant, w as waitForComponent, d as waitAfterIdleCallback } from './helpers.js';
|
|
6
7
|
import { L as Logger } from './log.js';
|
|
7
8
|
import { B as BalScrollHandler } from './scroll.js';
|
|
9
|
+
import { b as isTabKey } from './keyboard.helpers.js';
|
|
8
10
|
import { d as defineCustomElement$t } from './bal-badge2.js';
|
|
9
11
|
import { d as defineCustomElement$s } from './bal-button2.js';
|
|
10
12
|
import { d as defineCustomElement$r } from './bal-checkbox2.js';
|
|
@@ -39,6 +41,93 @@ import { L as ListenToMutation } from './mutation.decorator.js';
|
|
|
39
41
|
import { L as ListenToBreakpoints } from './breakpoints.decorator.js';
|
|
40
42
|
import { L as ListenToConfig } from './config.decorator.js';
|
|
41
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Gathers information about the tabs in the navigation.
|
|
46
|
+
* This information are shared for the tab key down handling and the flyout focus out handling.
|
|
47
|
+
*/
|
|
48
|
+
const gatherTabInformation = (detail) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const links = (_a = detail.linkItems.find(item => item.value === detail.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems;
|
|
51
|
+
// the selected tab in the main navigation
|
|
52
|
+
const indexOfActiveTab = links === null || links === void 0 ? void 0 : links.findIndex(link => link.value === detail.activeMenuLinkValue);
|
|
53
|
+
const indexOfNextTab = indexOfActiveTab + 1;
|
|
54
|
+
const indexOfPreviousTab = indexOfActiveTab - 1;
|
|
55
|
+
return {
|
|
56
|
+
tabs: links || [],
|
|
57
|
+
indexOfActiveTab,
|
|
58
|
+
indexOfNextTab,
|
|
59
|
+
indexOfPreviousTab,
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const handleTabKeyDown = ({ tabs, indexOfNextTab, indexOfActiveTab }, detail) => {
|
|
63
|
+
// the current focused tab in the main navigation
|
|
64
|
+
const indexOfFocusedTab = tabs === null || tabs === void 0 ? void 0 : tabs.findIndex(link => link.value === detail.item.value);
|
|
65
|
+
// if last tab is focused and would leave the tab navigation, close the flyout
|
|
66
|
+
if (!detail.isBackwards && indexOfFocusedTab === tabs.length - 1) {
|
|
67
|
+
detail.stopEventBubbling();
|
|
68
|
+
detail.closeFlyout();
|
|
69
|
+
rIC(() => {
|
|
70
|
+
focusNextElement(document.activeElement, detail.el);
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// only change focus to the first link in the flyout when navigating from active tab to next tab
|
|
75
|
+
if (!detail.isBackwards && indexOfFocusedTab === indexOfActiveTab) {
|
|
76
|
+
const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
|
|
77
|
+
if (flyout) {
|
|
78
|
+
const firstLink = flyout.querySelector('a, button, [tabindex="0"]');
|
|
79
|
+
if (firstLink) {
|
|
80
|
+
detail.stopEventBubbling();
|
|
81
|
+
firstLink.focus({ preventScroll: true });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// only change focus to the last link in the flyout when navigating back from
|
|
86
|
+
// next tab (from the active tab) to active tab (has flyout open)
|
|
87
|
+
if (detail.isBackwards && indexOfFocusedTab === indexOfNextTab) {
|
|
88
|
+
const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
|
|
89
|
+
if (flyout) {
|
|
90
|
+
const flyoutLinks = flyout.querySelectorAll('a, button, [tabindex="0"]');
|
|
91
|
+
const lastLink = flyoutLinks[flyoutLinks.length - 1];
|
|
92
|
+
if (lastLink) {
|
|
93
|
+
detail.stopEventBubbling();
|
|
94
|
+
lastLink.focus({ preventScroll: true });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const handleFlyoutFocusOut = (info, detail) => {
|
|
100
|
+
const targetItem = detail.isBackwards ? info.tabs[info.indexOfActiveTab] : info.tabs[info.indexOfNextTab];
|
|
101
|
+
if (targetItem) {
|
|
102
|
+
const tab = detail.el.querySelector(`button[data-value="${targetItem.value}"], a[data-value="${targetItem.value}"]`);
|
|
103
|
+
if (tab) {
|
|
104
|
+
tab.focus({ preventScroll: true });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Focuses the next focusable element after the current element outside of the bal-nav element.
|
|
110
|
+
*/
|
|
111
|
+
const focusNextElement = (current, balNavEl) => {
|
|
112
|
+
const focusableSelectors = [
|
|
113
|
+
'a[href]',
|
|
114
|
+
'button:not([disabled])',
|
|
115
|
+
'input:not([disabled]):not([type="hidden"])',
|
|
116
|
+
'select:not([disabled])',
|
|
117
|
+
'textarea:not([disabled])',
|
|
118
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
119
|
+
];
|
|
120
|
+
const focusableElements = Array.from(document.querySelectorAll(focusableSelectors.join(',')))
|
|
121
|
+
// visible elements only
|
|
122
|
+
.filter(el => el.offsetParent !== null)
|
|
123
|
+
// exclude elements inside the bal-nav
|
|
124
|
+
.filter(el => !isDescendant(balNavEl, el));
|
|
125
|
+
const index = focusableElements.indexOf(current);
|
|
126
|
+
const next = focusableElements[index + 1];
|
|
127
|
+
if (next)
|
|
128
|
+
next.focus();
|
|
129
|
+
};
|
|
130
|
+
|
|
42
131
|
const i18nNavBars = {
|
|
43
132
|
de: {
|
|
44
133
|
mainNavigation: 'Hauptnavigation',
|
|
@@ -246,6 +335,28 @@ class NavMetaButton extends NavLinkItem {
|
|
|
246
335
|
}
|
|
247
336
|
let NavMetaButtonIDs = 0;
|
|
248
337
|
|
|
338
|
+
const AccordionButton = ({ id, label, level, open, link, href, rel, target, onClick, }) => {
|
|
339
|
+
const block = BEM.block('nav');
|
|
340
|
+
return link ? (h("a", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), href: href, rel: rel, target: target, onClick: ev => onClick(ev) },
|
|
341
|
+
h("span", null, label))) : (h("button", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), onClick: ev => onClick(ev) },
|
|
342
|
+
h("span", null, label),
|
|
343
|
+
h("bal-icon", { name: "nav-go-down", size: "small", turn: open })));
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
const OverviewLink = ({ item, isMenu, onClick, isVisible }) => {
|
|
347
|
+
const block = BEM.block('nav');
|
|
348
|
+
if (!item) {
|
|
349
|
+
return '';
|
|
350
|
+
}
|
|
351
|
+
return (h("a", { class: Object.assign(Object.assign(Object.assign({}, block.element('mobile-overview-link').class()), block.element('mobile-overview-link').modifier('menu').class(!!isMenu)), block
|
|
352
|
+
.element('mobile-overview-link')
|
|
353
|
+
.modifier('invisible')
|
|
354
|
+
.class(isVisible === false)), href: item.href, rel: item.rel, target: item.target, onClick: ev => onClick(ev) },
|
|
355
|
+
item.label,
|
|
356
|
+
" ",
|
|
357
|
+
item.label ? '➞' : ''));
|
|
358
|
+
};
|
|
359
|
+
|
|
249
360
|
class NavSectionLinkItem extends NavLinkItem {
|
|
250
361
|
constructor(item, observer) {
|
|
251
362
|
super(item, observer);
|
|
@@ -304,28 +415,6 @@ class NavServiceLinkItem extends NavLinkItem {
|
|
|
304
415
|
}
|
|
305
416
|
let NavServiceLinkItemIDs = 0;
|
|
306
417
|
|
|
307
|
-
const AccordionButton = ({ id, label, level, open, link, href, rel, target, onClick, }) => {
|
|
308
|
-
const block = BEM.block('nav');
|
|
309
|
-
return link ? (h("a", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), href: href, rel: rel, target: target, onClick: ev => onClick(ev) },
|
|
310
|
-
h("span", null, label))) : (h("button", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), onClick: ev => onClick(ev) },
|
|
311
|
-
h("span", null, label),
|
|
312
|
-
h("bal-icon", { name: "nav-go-down", size: "small", turn: open })));
|
|
313
|
-
};
|
|
314
|
-
|
|
315
|
-
const OverviewLink = ({ item, isMenu, onClick, isVisible }) => {
|
|
316
|
-
const block = BEM.block('nav');
|
|
317
|
-
if (!item) {
|
|
318
|
-
return '';
|
|
319
|
-
}
|
|
320
|
-
return (h("a", { class: Object.assign(Object.assign(Object.assign({}, block.element('mobile-overview-link').class()), block.element('mobile-overview-link').modifier('menu').class(!!isMenu)), block
|
|
321
|
-
.element('mobile-overview-link')
|
|
322
|
-
.modifier('invisible')
|
|
323
|
-
.class(isVisible === false)), href: item.href, rel: item.rel, target: item.target, onClick: ev => onClick(ev) },
|
|
324
|
-
item.label,
|
|
325
|
-
" ",
|
|
326
|
-
item.label ? '➞' : ''));
|
|
327
|
-
};
|
|
328
|
-
|
|
329
418
|
class NavMenuLinkItem extends NavLinkItem {
|
|
330
419
|
constructor(item, observer) {
|
|
331
420
|
super(item, observer);
|
|
@@ -360,9 +449,9 @@ class NavMenuLinkItem extends NavLinkItem {
|
|
|
360
449
|
render(context) {
|
|
361
450
|
const hasChildren = this.sectionLinkItems.length > 0 || this.serviceLinkItems.length > 0;
|
|
362
451
|
if (!hasChildren && this.isLink) {
|
|
363
|
-
return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, rel: this.rel, target: this.target, "no-panel": true }));
|
|
452
|
+
return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, rel: this.rel, target: this.target, onBalKeyDown: ev => isTabKey(ev.detail) && (context === null || context === void 0 ? void 0 : context.onTabPress(ev.detail)), "no-panel": true }));
|
|
364
453
|
}
|
|
365
|
-
return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalNavigate: ev => {
|
|
454
|
+
return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalKeyDown: ev => isTabKey(ev.detail) && (context === null || context === void 0 ? void 0 : context.onTabPress(ev.detail)), onBalNavigate: ev => {
|
|
366
455
|
context === null || context === void 0 ? void 0 : context.onClick();
|
|
367
456
|
if (this.onClick) {
|
|
368
457
|
this.onClick(ev.detail);
|
|
@@ -410,7 +499,7 @@ class NavMetaLinkItem extends NavLinkItem {
|
|
|
410
499
|
}
|
|
411
500
|
let NavMetaLinkItemIDs = 0;
|
|
412
501
|
|
|
413
|
-
const balNavCss = "@media (hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{-webkit-box-shadow:var(--bal-focus-shadow) !important;box-shadow:var(--bal-focus-shadow) !important}}:root{--bal-nav-background:var(--bal-color-primary);--bal-nav-service-background-grey:var(--bal-color-grey);--bal-nav-service-background-purple:var(--bal-color-purple);--bal-nav-service-background-red:var(--bal-color-red);--bal-nav-service-background-yellow:var(--bal-color-yellow);--bal-nav-service-background-green:var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar,.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-small);line-height:var(--bal-line-height-x-small)}.bal-nav__mobile-overview-link--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link--menu{padding:0 0 0 1rem}.bal-nav__line{background-color:var(--bal-color-border-grey-light);height:var(--bal-border-width-normal);border:none;display:block;border-radius:var(--bal-list-item-radius);width:100%;margin:0;padding:0}.bal-nav__mobile-links--clickable,.bal-nav__mobile-section-item--clickable,.bal-nav__mobile-service-item--clickable>a{cursor:pointer}.bal-nav__mobile-links--selected,.bal-nav__mobile-section-item--selected,.bal-nav__mobile-service-item--selected>a{text-decoration:underline}.bal-nav__mobile-service-item--color-grey{background:var(--bal-nav-service-background-grey)}.bal-nav__mobile-service-item--color-purple{background:var(--bal-nav-service-background-purple)}.bal-nav__mobile-service-item--color-red{background:var(--bal-nav-service-background-red)}.bal-nav__mobile-service-item--color-yellow{background:var(--bal-nav-service-background-yellow)}.bal-nav__mobile-service-item--color-green{background:var(--bal-nav-service-background-green)}";
|
|
502
|
+
const balNavCss = "@media (hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{-webkit-box-shadow:var(--bal-focus-shadow) !important;box-shadow:var(--bal-focus-shadow) !important}}:root{--bal-nav-background:var(--bal-color-primary);--bal-nav-service-background-grey:var(--bal-color-grey);--bal-nav-service-background-purple:var(--bal-color-purple);--bal-nav-service-background-red:var(--bal-color-red);--bal-nav-service-background-yellow:var(--bal-color-yellow);--bal-nav-service-background-green:var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar:not(.bal-nav-meta-bar--stay-on-top),.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-small);line-height:var(--bal-line-height-x-small)}.bal-nav__mobile-overview-link--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link--menu{padding:0 0 0 1rem}.bal-nav__line{background-color:var(--bal-color-border-grey-light);height:var(--bal-border-width-normal);border:none;display:block;border-radius:var(--bal-list-item-radius);width:100%;margin:0;padding:0}.bal-nav__mobile-links--clickable,.bal-nav__mobile-section-item--clickable,.bal-nav__mobile-service-item--clickable>a{cursor:pointer}.bal-nav__mobile-links--selected,.bal-nav__mobile-section-item--selected,.bal-nav__mobile-service-item--selected>a{text-decoration:underline}.bal-nav__mobile-service-item--color-grey{background:var(--bal-nav-service-background-grey)}.bal-nav__mobile-service-item--color-purple{background:var(--bal-nav-service-background-purple)}.bal-nav__mobile-service-item--color-red{background:var(--bal-nav-service-background-red)}.bal-nav__mobile-service-item--color-yellow{background:var(--bal-nav-service-background-yellow)}.bal-nav__mobile-service-item--color-green{background:var(--bal-nav-service-background-green)}";
|
|
414
503
|
const BalNavStyle0 = balNavCss;
|
|
415
504
|
|
|
416
505
|
const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
|
|
@@ -682,20 +771,53 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
|
|
|
682
771
|
const block = BEM.block('nav');
|
|
683
772
|
const flyoutBlock = block.element('flyout');
|
|
684
773
|
this.hasRenderedWithFlyoutActive = this.isFlyoutActive;
|
|
685
|
-
return (h(Host, { key: '
|
|
774
|
+
return (h(Host, { key: '6731ced264e30666493c9b66469f8656e3a632ee', id: this.navId, class: Object.assign({}, block.class()) }, h("div", { key: 'b8b36c81b079f727699a2d037c4f687084791cfa', class: {
|
|
686
775
|
'bal-nav-meta-bar-transform': true,
|
|
687
776
|
'bal-nav-meta-bar-transform-touch': this.isTouch,
|
|
688
|
-
} }, this.isDesktop ? (h("bal-nav-meta-bar", { variant: "primary", size: "small", position: "sticky-top", ref: metaBarEl => (this.metaBarEl = metaBarEl) }, h("bal-stack", { space: "auto" }, this.linkItems.length > 1 ? (h("bal-tabs", {
|
|
777
|
+
} }, this.isDesktop ? (h("bal-nav-meta-bar", { variant: "primary", size: "small", position: "sticky-top", ref: metaBarEl => (this.metaBarEl = metaBarEl) }, h("bal-stack", { space: "auto" }, this.linkItems.length > 1 ? (h("bal-tabs", { inverted: true, context: "meta", value: this.activeMetaLinkValue, "aria-label": i18nNavBars[this.language].mainNavigation, onBalChange: ev => this.onMetaBarTabChange(ev) }, this.linkItems.map(item => item.render({
|
|
689
778
|
flyoutId: `${this.navId}-menu-flyout`,
|
|
690
|
-
})))) : (h("span", null)), h("bal-stack", { id: "bal-nav__meta-buttons", space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtMetaBar()))))) : (''), this.isDesktop ? (h("bal-nav-menu-bar", { position: "fixed-top", ref: menuBarEl => (this.menuBarEl = menuBarEl) }, h("bal-stack", { space: "auto", "space-row": "none", "use-wrap": true }, this.renderLogo(), h("bal-tabs", { context: "navigation", accordion: true,
|
|
691
|
-
.find(item => item.value === this.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems.map(item => item.render({
|
|
779
|
+
})))) : (h("span", null)), h("bal-stack", { id: "bal-nav__meta-buttons", space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtMetaBar()))))) : (''), this.isDesktop ? (h("bal-nav-menu-bar", { position: "fixed-top", ref: menuBarEl => (this.menuBarEl = menuBarEl) }, h("bal-stack", { space: "auto", "space-row": "none", "use-wrap": true }, this.renderLogo(), h("bal-tabs", { context: "navigation", accordion: true, value: this.activeMenuLinkValue, "aria-label": i18nNavBars[this.language].navigation }, (_a = this.linkItems
|
|
780
|
+
.find(item => item.value === this.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems.map((item, index) => item.render({
|
|
692
781
|
flyoutId: `${this.navId}-menu-flyout`,
|
|
693
782
|
onClick: () => this.onMenuBarTabChange(item.value),
|
|
694
|
-
|
|
695
|
-
|
|
783
|
+
onTabPress: (ev) => {
|
|
784
|
+
if (this.isFlyoutActive) {
|
|
785
|
+
const isBackwards = ev.shiftKey;
|
|
786
|
+
const info = gatherTabInformation({
|
|
787
|
+
activeMetaLinkValue: this.activeMetaLinkValue,
|
|
788
|
+
activeMenuLinkValue: this.activeMenuLinkValue,
|
|
789
|
+
linkItems: this.linkItems,
|
|
790
|
+
});
|
|
791
|
+
handleTabKeyDown(info, {
|
|
792
|
+
el: this.el,
|
|
793
|
+
navId: this.navId,
|
|
794
|
+
isFlyoutActive: this.isFlyoutActive,
|
|
795
|
+
isBackwards,
|
|
796
|
+
item,
|
|
797
|
+
stopEventBubbling: () => stopEventBubbling(ev),
|
|
798
|
+
closeFlyout: () => this.closeFlyout(),
|
|
799
|
+
});
|
|
800
|
+
}
|
|
801
|
+
},
|
|
802
|
+
})))), this.isFlyoutActive ? (h("bal-nav-menu-flyout", { navId: this.navId, "aria-label": i18nNavBars[this.language].subNavigation, onBalFocusOut: (ev) => {
|
|
803
|
+
if (this.isFlyoutActive) {
|
|
804
|
+
stopEventBubbling(ev);
|
|
805
|
+
const info = gatherTabInformation({
|
|
806
|
+
activeMetaLinkValue: this.activeMetaLinkValue,
|
|
807
|
+
activeMenuLinkValue: this.activeMenuLinkValue,
|
|
808
|
+
linkItems: this.linkItems,
|
|
809
|
+
});
|
|
810
|
+
const isBackwards = isDescendant(this.el, ev.detail.relatedTarget);
|
|
811
|
+
handleFlyoutFocusOut(info, {
|
|
812
|
+
el: this.el,
|
|
813
|
+
isBackwards,
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
} }, h("bal-nav-link", { role: "listitem", variant: "overview", href: (_c = (_b = this.activeMenuLinkItem) === null || _b === void 0 ? void 0 : _b.overviewLink) === null || _c === void 0 ? void 0 : _c.href, target: (_e = (_d = this.activeMenuLinkItem) === null || _d === void 0 ? void 0 : _d.overviewLink) === null || _e === void 0 ? void 0 : _e.target, onClick: () => { var _a; return this.linkItemClickListener((_a = this.activeMenuLinkItem) === null || _a === void 0 ? void 0 : _a.overviewLink); } }, (_g = (_f = this.activeMenuLinkItem) === null || _f === void 0 ? void 0 : _f.overviewLink) === null || _g === void 0 ? void 0 :
|
|
817
|
+
_g.label, ' ', ((_j = (_h = this.activeMenuLinkItem) === null || _h === void 0 ? void 0 : _h.overviewLink) === null || _j === void 0 ? void 0 : _j.label) ? '➞' : ''), this.renderGridLinks(this.activeMenuLinkItem))) : (''))) : (''), h("div", { key: '66321dcac9fb856d8bba914283fc1fe0d4626d35' }, h("slot", { key: '1d89fec71d39cc81c491f2422312a733e103f016' }))), this.isTouch ? (h("bal-nav-meta-bar", { variant: "white", size: "normal" }, h("bal-stack", { space: "auto" }, this.renderLogo(), h("bal-stack", { space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtTouchTopMetaBar()), h("bal-button", { square: true, color: this.isFlyoutActive ? 'primary' : 'light', icon: this.isFlyoutActive ? 'close' : 'menu-bars', "aria-label": this.isFlyoutActive ? i18nNavBars[this.language].close : i18nNavBars[this.language].open, onClick: ev => this.onTouchToggleFlyout(ev) }))))) : (''), this.isTouch ? (h("div", { class: Object.assign(Object.assign({}, flyoutBlock.class()), flyoutBlock.modifier('visible').class(this.isFlyoutActive)) }, h("nav", { class: Object.assign({}, flyoutBlock.element('container').class()) }, h("ul", { class: Object.assign({}, block.element('mobile-meta-list').class()) }, this.linkItems.map(item => item.renderTouch({
|
|
696
818
|
activeMetaLinkValue: this.activeMetaLinkValue,
|
|
697
819
|
activeMenuLinkValue: this.activeMenuLinkValue,
|
|
698
|
-
})))))) : (''), this.isTouch && this.isFlyoutActive ? (h("bal-nav-meta-bar", { variant: "grey", size: "normal" }, h("bal-stack", { space: "x-small", align: "center" }, this.metaButtons.map(button => button.renderAtTouchBottomMetaBar())))) : ('')));
|
|
820
|
+
})))))) : (''), this.isTouch && this.isFlyoutActive ? (h("bal-nav-meta-bar", { stayOnTopOfBackdrop: true, variant: "grey", size: "normal" }, h("bal-stack", { space: "x-small", align: "center" }, this.metaButtons.map(button => button.renderAtTouchBottomMetaBar())))) : ('')));
|
|
699
821
|
}
|
|
700
822
|
renderGridLinks(linkItem) {
|
|
701
823
|
var _a, _b;
|
package/components/bal-popup2.js
CHANGED
|
@@ -5,7 +5,6 @@ import { b as balBrowser } from './browser.js';
|
|
|
5
5
|
import { s as stopEventBubbling } from './form-input.js';
|
|
6
6
|
import { k as debounce } from './helpers.js';
|
|
7
7
|
import { L as Logger } from './log.js';
|
|
8
|
-
import { f as focusableQueryString } from './focus-visible.js';
|
|
9
8
|
import { d as defineCustomElement$4 } from './bal-close2.js';
|
|
10
9
|
import { d as defineCustomElement$3 } from './bal-heading2.js';
|
|
11
10
|
import { d as defineCustomElement$2 } from './bal-icon2.js';
|
|
@@ -513,7 +512,7 @@ const Popup = /*@__PURE__*/ proxyCustomElement(class Popup extends HTMLElement {
|
|
|
513
512
|
const result = await this.getVariantRenderer().dismiss(this);
|
|
514
513
|
this.lastVariantRenderer = undefined;
|
|
515
514
|
if (this.lastFocus && this.lastFocus.focus) {
|
|
516
|
-
(_a = this.lastFocus) === null || _a === void 0 ? void 0 : _a.focus();
|
|
515
|
+
(_a = this.lastFocus) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
|
517
516
|
}
|
|
518
517
|
return result;
|
|
519
518
|
}
|
|
@@ -588,13 +587,9 @@ const Popup = /*@__PURE__*/ proxyCustomElement(class Popup extends HTMLElement {
|
|
|
588
587
|
}
|
|
589
588
|
}
|
|
590
589
|
focusFirstDescendant() {
|
|
591
|
-
const
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
firstInput.focus();
|
|
595
|
-
}
|
|
596
|
-
else {
|
|
597
|
-
el.focus();
|
|
590
|
+
const contentEl = this.contentEl;
|
|
591
|
+
if (contentEl) {
|
|
592
|
+
contentEl.focus({ preventScroll: true });
|
|
598
593
|
}
|
|
599
594
|
}
|
|
600
595
|
/**
|
|
@@ -609,7 +604,7 @@ const Popup = /*@__PURE__*/ proxyCustomElement(class Popup extends HTMLElement {
|
|
|
609
604
|
const innerBlock = block.element('inner');
|
|
610
605
|
const innerHeadBlock = innerBlock.element('head');
|
|
611
606
|
const innerContentBlock = innerBlock.element('content');
|
|
612
|
-
return (h(Host, { key: '
|
|
607
|
+
return (h(Host, { key: '4ad1ef7a26405280b668dc964e36e45b12523830', class: Object.assign({}, block.class()), role: "dialog", "aria-hidden": `${this.presented !== true}`, "aria-modal": `${this.presented === true}`, "aria-presented": `${this.presented === true}`, "aria-labelledby": `${this.popupId}-heading` }, h("div", { key: 'd9c7aa58b64ba58bdd73195b4c988698ddac0141', class: Object.assign({}, backdropBlock.class()), ref: backdropEl => (this.backdropEl = backdropEl) }), h("div", { key: 'e1aa90db041a2960e23aae4b4d49c89ebfaa777b', class: Object.assign(Object.assign({}, containerBlock.class()), containerBlock.modifier(`variant-${this.activeVariant}`).class()), ref: containerEl => (this.containerEl = containerEl), style: { minWidth: this.minContainerWidth } }, h("div", { key: 'b2bccd97aad258a0a3246293a8250be6207f0368', class: Object.assign({}, arrowBlock.class()), ref: arrowEl => (this.arrowEl = arrowEl) }), h("bal-stack", { key: 'f44ec75a2d463fd81f46c0c1d2175907747c4346', layout: "vertical", px: this.activeVariant === 'popover' ? 'medium' : 'none', py: "medium", class: Object.assign({}, innerBlock.class()) }, this.label ? (h("bal-stack", { space: "auto", class: Object.assign({}, innerHeadBlock.class()) }, h("bal-heading", { "data-test": "bal-popup-label", level: "span", "visual-level": "large", id: `${this.popupId}-heading` }, this.label), this.activeClosable ? (h("bal-close", { "data-test": "bal-popup-close", tabindex: -1, onClick: () => this.onCloseClick() })) : (''))) : (''), h("div", { key: 'bebd41411dcc4960ee1e0ab9e08a6494ede835bd', class: Object.assign({}, innerContentBlock.class()), ref: contentEl => (this.contentEl = contentEl), "data-test": "bal-popup-content", tabindex: "-1" }, h("slot", { key: '3f06f9d1303b4a785c358954fe79744f4daa019c' }))))));
|
|
613
608
|
}
|
|
614
609
|
get el() { return this; }
|
|
615
610
|
static get watchers() { return {
|
|
@@ -224,6 +224,7 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
|
|
|
224
224
|
// space bar on top of a selected radio
|
|
225
225
|
if (['Space'].includes(ev.code)) {
|
|
226
226
|
this.value = this.allowEmptySelection && this.value !== undefined ? undefined : current.value;
|
|
227
|
+
this.balChange.emit(this.value);
|
|
227
228
|
// Prevent browsers from jumping
|
|
228
229
|
// to the bottom of the screen
|
|
229
230
|
ev.preventDefault();
|