@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/dist/cjs/{window-resize.decorator-9a06680f.js → window-resize.decorator-9494cf0b.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const breakpoints_subject = require('./breakpoints.subject-
|
|
3
|
+
const breakpoints_subject = require('./breakpoints.subject-03f75770.js');
|
|
4
4
|
const listener = require('./listener-52d2e5fd.js');
|
|
5
5
|
const browser = require('./browser-1d542d0f.js');
|
|
6
6
|
|
|
@@ -116,7 +116,8 @@
|
|
|
116
116
|
"components/bal-textarea/bal-textarea.js",
|
|
117
117
|
"components/bal-time-input/bal-time-input.js",
|
|
118
118
|
"components/bal-toast/bal-toast.js",
|
|
119
|
-
"components/bal-tooltip/bal-tooltip.js"
|
|
119
|
+
"components/bal-tooltip/bal-tooltip.js",
|
|
120
|
+
"components/docs/bal-doc-app/bal-doc-app.js"
|
|
120
121
|
],
|
|
121
122
|
"compiler": {
|
|
122
123
|
"name": "@stencil/core",
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { h, Host, } from "@stencil/core";
|
|
2
|
+
import DOMPurify from "dompurify";
|
|
3
|
+
import { inheritAttributes } from "../../../utils/attributes";
|
|
2
4
|
import { BEM } from "../../../utils/bem";
|
|
3
5
|
import { rOnLoad, waitAfterFramePaint } from "../../../utils/helpers";
|
|
4
|
-
import { inheritAttributes } from "../../../utils/attributes";
|
|
5
6
|
import { toKebabCase } from "../../../utils/string";
|
|
6
7
|
export class CarouselItem {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.imageInheritAttributes = {};
|
|
10
|
+
this.generateSvgContent = () => {
|
|
11
|
+
if (this.svg !== undefined && this.svg.length > 0) {
|
|
12
|
+
this.svgContent = DOMPurify.sanitize(this.svg) || '';
|
|
13
|
+
}
|
|
14
|
+
};
|
|
9
15
|
this.onClick = (ev) => {
|
|
10
16
|
if (this.href !== undefined) {
|
|
11
17
|
this.balNavigate.emit(ev);
|
|
@@ -19,8 +25,10 @@ export class CarouselItem {
|
|
|
19
25
|
};
|
|
20
26
|
this.isOnLoadEventDone = false;
|
|
21
27
|
this.containerId = '';
|
|
28
|
+
this.svgContent = '';
|
|
22
29
|
this.src = undefined;
|
|
23
30
|
this.label = '';
|
|
31
|
+
this.svg = '';
|
|
24
32
|
this.htmlRole = 'listitem';
|
|
25
33
|
this.elementType = 'button';
|
|
26
34
|
this.name = undefined;
|
|
@@ -31,10 +39,16 @@ export class CarouselItem {
|
|
|
31
39
|
this.download = undefined;
|
|
32
40
|
this.color = undefined;
|
|
33
41
|
}
|
|
42
|
+
svgChanged() {
|
|
43
|
+
this.generateSvgContent();
|
|
44
|
+
}
|
|
34
45
|
/**
|
|
35
46
|
* LIFECYCLE
|
|
36
47
|
* ------------------------------------------------------
|
|
37
48
|
*/
|
|
49
|
+
connectedCallback() {
|
|
50
|
+
this.generateSvgContent();
|
|
51
|
+
}
|
|
38
52
|
componentDidLoad() {
|
|
39
53
|
rOnLoad(() => {
|
|
40
54
|
this.isOnLoadEventDone = true;
|
|
@@ -77,7 +91,7 @@ export class CarouselItem {
|
|
|
77
91
|
rel,
|
|
78
92
|
target,
|
|
79
93
|
};
|
|
80
|
-
return (h(Host, { id: id, role: role, "aria-label": this.label, class: Object.assign({}, itemEl.class()) }, h(TagType, Object.assign({}, attrs, { class: Object.assign(Object.assign({}, button.class()), button.modifier(`color-${this.color}`).class()), part: "native", onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, ref: el => (this.buttonEl = el) }), this.isOnLoadEventDone && this.src !== undefined ? (h("img", Object.assign({ class: Object.assign({}, image.class()), draggable: false, onDragStart: () => false, "aria-hidden": "true", src: this.src }, this.imageInheritAttributes))) : (''), this.label !== undefined ? h("span", { class: Object.assign({}, label.class()) }, this.label) : '', h("slot", null))));
|
|
94
|
+
return (h(Host, { id: id, role: role, "aria-label": this.label, class: Object.assign({}, itemEl.class()) }, h(TagType, Object.assign({}, attrs, { class: Object.assign(Object.assign({}, button.class()), button.modifier(`color-${this.color}`).class()), part: "native", onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, ref: el => (this.buttonEl = el) }), this.isOnLoadEventDone && this.src !== undefined ? (h("img", Object.assign({ class: Object.assign({}, image.class()), draggable: false, onDragStart: () => false, "aria-hidden": "true", src: this.src }, this.imageInheritAttributes))) : this.isOnLoadEventDone && this.svgContent !== undefined ? (h("div", { class: Object.assign({}, image.class()), innerHTML: this.svgContent })) : (''), this.label !== undefined ? h("span", { class: Object.assign({}, label.class()) }, this.label) : '', h("slot", null))));
|
|
81
95
|
}
|
|
82
96
|
static get is() { return "bal-carousel-item"; }
|
|
83
97
|
static get properties() {
|
|
@@ -121,6 +135,26 @@ export class CarouselItem {
|
|
|
121
135
|
"reflect": true,
|
|
122
136
|
"defaultValue": "''"
|
|
123
137
|
},
|
|
138
|
+
"svg": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"mutable": false,
|
|
141
|
+
"complexType": {
|
|
142
|
+
"original": "string",
|
|
143
|
+
"resolved": "string",
|
|
144
|
+
"references": {}
|
|
145
|
+
},
|
|
146
|
+
"required": false,
|
|
147
|
+
"optional": false,
|
|
148
|
+
"docs": {
|
|
149
|
+
"tags": [],
|
|
150
|
+
"text": "Svg content."
|
|
151
|
+
},
|
|
152
|
+
"getter": false,
|
|
153
|
+
"setter": false,
|
|
154
|
+
"attribute": "svg",
|
|
155
|
+
"reflect": false,
|
|
156
|
+
"defaultValue": "''"
|
|
157
|
+
},
|
|
124
158
|
"htmlRole": {
|
|
125
159
|
"type": "string",
|
|
126
160
|
"mutable": false,
|
|
@@ -320,7 +354,8 @@ export class CarouselItem {
|
|
|
320
354
|
static get states() {
|
|
321
355
|
return {
|
|
322
356
|
"isOnLoadEventDone": {},
|
|
323
|
-
"containerId": {}
|
|
357
|
+
"containerId": {},
|
|
358
|
+
"svgContent": {}
|
|
324
359
|
};
|
|
325
360
|
}
|
|
326
361
|
static get events() {
|
|
@@ -408,4 +443,10 @@ export class CarouselItem {
|
|
|
408
443
|
};
|
|
409
444
|
}
|
|
410
445
|
static get elementRef() { return "el"; }
|
|
446
|
+
static get watchers() {
|
|
447
|
+
return [{
|
|
448
|
+
"propName": "svg",
|
|
449
|
+
"methodName": "svgChanged"
|
|
450
|
+
}];
|
|
451
|
+
}
|
|
411
452
|
}
|
|
@@ -119,6 +119,7 @@ export function formatBeIBAN(value) {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
export const MAX_LENGTH_CONTRACT_NUMBER = 10;
|
|
122
|
+
export const MAX_LENGTH_BASIC_CONTRACT_NUMBER = 9;
|
|
122
123
|
export const MAX_LENGTH_OFFER_NUMBER = 9;
|
|
123
124
|
export const MAX_LENGTH_CLAIM_NUMBER = 11;
|
|
124
125
|
export const MAX_LENGTH_BE_ENTERPRISE_NUMBER = 10;
|
|
@@ -3,7 +3,7 @@ import { h, Host, } from "@stencil/core";
|
|
|
3
3
|
import { debounceEvent } from "../../utils/helpers";
|
|
4
4
|
import { inheritAttributes } from "../../utils/attributes";
|
|
5
5
|
import { getInputTarget, inputHandleBlur, inputHandleChange, inputHandleClick, inputHandleFocus, inputHandleHostClick, inputHandleReset, inputListenOnClick, inputSetBlur, inputSetFocus, stopEventBubbling, } from "../../utils/form-input";
|
|
6
|
-
import { formatBeEnterpriseNumber, formatBeIBAN, formatClaim, formatOffer, formatPolicy, MAX_LENGTH_BE_ENTERPRISE_NUMBER, MAX_LENGTH_BE_IBAN, MAX_LENGTH_CLAIM_NUMBER, MAX_LENGTH_CONTRACT_NUMBER, MAX_LENGTH_OFFER_NUMBER, } from "./bal-input-util";
|
|
6
|
+
import { formatBeEnterpriseNumber, formatBeIBAN, formatClaim, formatOffer, formatPolicy, MAX_LENGTH_BE_ENTERPRISE_NUMBER, MAX_LENGTH_BE_IBAN, MAX_LENGTH_CLAIM_NUMBER, MAX_LENGTH_CONTRACT_NUMBER, MAX_LENGTH_OFFER_NUMBER, MAX_LENGTH_BASIC_CONTRACT_NUMBER, } from "./bal-input-util";
|
|
7
7
|
import isNil from "lodash.isnil";
|
|
8
8
|
import { ACTION_KEYS, isCtrlOrCommandKey, NUMBER_KEYS } from "../../utils/constants/keys.constant";
|
|
9
9
|
import { BEM } from "../../utils/bem";
|
|
@@ -35,11 +35,26 @@ export class Input {
|
|
|
35
35
|
switch (this.mask) {
|
|
36
36
|
case 'contract-number': {
|
|
37
37
|
inputValue = input.value.replace(/\D/g, '');
|
|
38
|
+
// Removing the leading zero if presented
|
|
39
|
+
if (inputValue.charAt(0) === '0') {
|
|
40
|
+
inputValue = inputValue.substring(1);
|
|
41
|
+
}
|
|
38
42
|
if (inputValue.length > MAX_LENGTH_CONTRACT_NUMBER) {
|
|
39
43
|
inputValue = inputValue.substring(0, MAX_LENGTH_CONTRACT_NUMBER);
|
|
40
44
|
}
|
|
41
45
|
return inputValue;
|
|
42
46
|
}
|
|
47
|
+
case 'basic-contract-number': {
|
|
48
|
+
inputValue = input.value.replace(/\D/g, '');
|
|
49
|
+
// Removing the leading zero if presented
|
|
50
|
+
if (inputValue.charAt(0) === '0') {
|
|
51
|
+
inputValue = inputValue.substring(1);
|
|
52
|
+
}
|
|
53
|
+
if (inputValue.length > MAX_LENGTH_BASIC_CONTRACT_NUMBER) {
|
|
54
|
+
inputValue = inputValue.substring(0, MAX_LENGTH_BASIC_CONTRACT_NUMBER);
|
|
55
|
+
}
|
|
56
|
+
return inputValue;
|
|
57
|
+
}
|
|
43
58
|
case 'offer-number': {
|
|
44
59
|
inputValue = input.value.replace(/\D/g, '');
|
|
45
60
|
if (inputValue.length > MAX_LENGTH_OFFER_NUMBER) {
|
|
@@ -103,7 +118,8 @@ export class Input {
|
|
|
103
118
|
if (input) {
|
|
104
119
|
if (input.value) {
|
|
105
120
|
switch (this.mask) {
|
|
106
|
-
case 'contract-number':
|
|
121
|
+
case 'contract-number':
|
|
122
|
+
case 'basic-contract-number': {
|
|
107
123
|
input.value = formatPolicy(this.inputValue);
|
|
108
124
|
if (cursorPositionStart < this.inputValue.length) {
|
|
109
125
|
input.setSelectionRange(cursorPositionStart, cursorPositionEnd);
|
|
@@ -283,6 +299,7 @@ export class Input {
|
|
|
283
299
|
if (this.mask !== undefined) {
|
|
284
300
|
switch (this.mask) {
|
|
285
301
|
case 'contract-number':
|
|
302
|
+
case 'basic-contract-number':
|
|
286
303
|
value = formatPolicy(value);
|
|
287
304
|
break;
|
|
288
305
|
case 'claim-number':
|
|
@@ -305,7 +322,7 @@ export class Input {
|
|
|
305
322
|
}
|
|
306
323
|
const block = BEM.block('input');
|
|
307
324
|
const id = this.ariaForm.controlId || this.inputId;
|
|
308
|
-
return (h(Host, { key: '
|
|
325
|
+
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: {
|
|
309
326
|
'input': true,
|
|
310
327
|
'is-disabled': this.disabled || this.readonly,
|
|
311
328
|
'is-danger': this.invalid,
|
|
@@ -886,7 +903,7 @@ export class Input {
|
|
|
886
903
|
"mutable": false,
|
|
887
904
|
"complexType": {
|
|
888
905
|
"original": "BalProps.BalInputMask",
|
|
889
|
-
"resolved": "\"be-enterprise-number\" | \"be-iban\" | \"claim-number\" | \"contract-number\" | \"offer-number\"",
|
|
906
|
+
"resolved": "\"basic-contract-number\" | \"be-enterprise-number\" | \"be-iban\" | \"claim-number\" | \"contract-number\" | \"offer-number\"",
|
|
890
907
|
"references": {
|
|
891
908
|
"BalProps": {
|
|
892
909
|
"location": "global",
|
|
@@ -898,7 +915,7 @@ export class Input {
|
|
|
898
915
|
"optional": true,
|
|
899
916
|
"docs": {
|
|
900
917
|
"tags": [],
|
|
901
|
-
"text": "Mask of the input field. It defines what the user can enter and how the format looks like. Currently, only for Switzerland formatted with addition of Belgian enterprisenumber and IBAN.\nFormatting for 'contract-number': '99/1.234.567-1'\nFormatting for 'claim-number': ('73/001217/16.9')\nFormatting for 'offer-number': ('98/7.654.321')\nFormatting for 'be-enterprise-number': ('1234.567.890')\nFormatting for 'be-iban': ('BE68 5390 0754 7034')"
|
|
918
|
+
"text": "Mask of the input field. It defines what the user can enter and how the format looks like. Currently, only for Switzerland formatted with addition of Belgian enterprisenumber and IBAN.\nFormatting for 'contract-number': '99/1.234.567-1'\nFormatting for 'basic-contract-number': '99/1.234.567'\nFormatting for 'claim-number': ('73/001217/16.9')\nFormatting for 'offer-number': ('98/7.654.321')\nFormatting for 'be-enterprise-number': ('1234.567.890')\nFormatting for 'be-iban': ('BE68 5390 0754 7034')"
|
|
902
919
|
},
|
|
903
920
|
"getter": false,
|
|
904
921
|
"setter": false,
|
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { h, Host, } from "@stencil/core";
|
|
3
3
|
import { BEM } from "../../../utils/bem";
|
|
4
4
|
import { ListenToConfig } from "../../../utils/config";
|
|
5
|
-
import { raf, transitionEndAsync } from "../../../utils/helpers";
|
|
5
|
+
import { raf, rIC, transitionEndAsync } from "../../../utils/helpers";
|
|
6
6
|
import { Logger } from "../../../utils/log";
|
|
7
7
|
export class ListItem {
|
|
8
8
|
constructor() {
|
|
@@ -176,7 +176,9 @@ export class ListItem {
|
|
|
176
176
|
}
|
|
177
177
|
componentDidLoad() {
|
|
178
178
|
if (this.accordion) {
|
|
179
|
-
|
|
179
|
+
rIC(() => {
|
|
180
|
+
this.addEventListenerAccordionChange();
|
|
181
|
+
});
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
184
|
disconnectedCallback() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { Host, h } from "@stencil/core";
|
|
3
|
+
import { ListenToBreakpoints, balBreakpoints } from "../../../utils/breakpoints";
|
|
3
4
|
import { debounce, raf } from "../../../utils/helpers";
|
|
4
5
|
import { Logger } from "../../../utils/log";
|
|
5
|
-
import { ListenToBreakpoints, balBreakpoints } from "../../../utils/breakpoints";
|
|
6
6
|
import { ListenToResize } from "../../../utils/resize";
|
|
7
7
|
export class ListItemAccordionBody {
|
|
8
8
|
constructor() {
|
|
@@ -69,7 +69,9 @@ export class ListItemAccordionBody {
|
|
|
69
69
|
* @internal
|
|
70
70
|
*/
|
|
71
71
|
async setAria(aria) {
|
|
72
|
-
|
|
72
|
+
if (aria.labelledby && aria.labelledby !== this.ariaState.labelledby) {
|
|
73
|
+
this.ariaState.labelledby = aria.labelledby;
|
|
74
|
+
}
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
75
77
|
* PRIVATE METHODS
|
|
@@ -86,15 +88,15 @@ export class ListItemAccordionBody {
|
|
|
86
88
|
* ------------------------------------------------------
|
|
87
89
|
*/
|
|
88
90
|
render() {
|
|
89
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: 'c09f940346dd1c179888f6e521febf25872e94cb', id: this.internalId, role: 'region', "aria-labelledby": this.ariaState.labelledby, class: {
|
|
90
92
|
'bal-list__item': true,
|
|
91
93
|
'bal-list__item__accordion-body': true,
|
|
92
94
|
'bal-list__item__accordion-body--grouped': this.accordionGroup !== undefined && this.accordionGroup !== '',
|
|
93
|
-
} }, h("div", { key: '
|
|
95
|
+
} }, h("div", { key: '07253229c2cec50a110f5ae37d526122928a7d48', class: {
|
|
94
96
|
'bal-list__item__accordion-body__content': true,
|
|
95
97
|
[`bal-list__item__accordion-body__content--${this.contentAlignment}`]: this.contentAlignment !== undefined,
|
|
96
98
|
[`bal-list__item__accordion-body__content--space-${this.contentSpace}`]: this.contentSpace !== undefined,
|
|
97
|
-
}, ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: '
|
|
99
|
+
}, ref: contentElWrapper => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'ff5f45b667f6e0448ee3b4b0d3306f1d4ab25b65' }))));
|
|
98
100
|
}
|
|
99
101
|
static get is() { return "bal-list-item-accordion-body"; }
|
|
100
102
|
static get properties() {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { Logger } from "../../../utils/log";
|
|
4
|
-
import { isEnterKey, isSpaceKey } from "../../../utils/keyboard";
|
|
5
|
-
import { stopEventBubbling } from "../../../utils/form-input";
|
|
2
|
+
import { h, Host, } from "@stencil/core";
|
|
6
3
|
import { ariaBooleanToString } from "../../../utils/aria";
|
|
7
|
-
import { i18nBalListItemAccordionHead } from "./bal-list-item-accordion-head.i18n";
|
|
8
4
|
import { defaultConfig, ListenToConfig } from "../../../utils/config";
|
|
5
|
+
import { stopEventBubbling } from "../../../utils/form-input";
|
|
6
|
+
import { isEnterKey, isSpaceKey } from "../../../utils/keyboard";
|
|
7
|
+
import { Logger } from "../../../utils/log";
|
|
8
|
+
import { i18nBalListItemAccordionHead } from "./bal-list-item-accordion-head.i18n";
|
|
9
9
|
export class ListItemAccordionHead {
|
|
10
10
|
constructor() {
|
|
11
11
|
this.internalId = `bal-list-item-accordion-head-${ListItemAccordionHeadIds++}`;
|
|
@@ -41,6 +41,9 @@ export class ListItemAccordionHead {
|
|
|
41
41
|
* LIFECYCLE
|
|
42
42
|
* ------------------------------------------------------
|
|
43
43
|
*/
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
this.accordionOpenHandler(this.accordionOpen, false);
|
|
46
|
+
}
|
|
44
47
|
componentDidRender() {
|
|
45
48
|
this.setLabelledby();
|
|
46
49
|
}
|
|
@@ -62,7 +65,9 @@ export class ListItemAccordionHead {
|
|
|
62
65
|
* @internal
|
|
63
66
|
*/
|
|
64
67
|
async setAria(aria) {
|
|
65
|
-
|
|
68
|
+
if (aria.controlId && aria.controlId !== this.ariaState.controlId) {
|
|
69
|
+
this.ariaState.controlId = aria.controlId;
|
|
70
|
+
}
|
|
66
71
|
}
|
|
67
72
|
/**
|
|
68
73
|
* PRIVATE METHODS
|
|
@@ -79,11 +84,11 @@ export class ListItemAccordionHead {
|
|
|
79
84
|
* ------------------------------------------------------
|
|
80
85
|
*/
|
|
81
86
|
render() {
|
|
82
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: 'fadfc7f646948cbf15bd825188e4eb539058b1ca', class: {
|
|
83
88
|
'bal-list__item': true,
|
|
84
89
|
'bal-list__item__accordion-head': true,
|
|
85
90
|
'bal-list__item__accordion-head--open': this.accordionOpen,
|
|
86
|
-
}, 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: '
|
|
91
|
+
}, 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
|
|
87
92
|
? i18nBalListItemAccordionHead[this.language].close
|
|
88
93
|
: i18nBalListItemAccordionHead[this.language].open }))));
|
|
89
94
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { isDescendant, rIC } from "../../utils/helpers";
|
|
2
|
+
/**
|
|
3
|
+
* Gathers information about the tabs in the navigation.
|
|
4
|
+
* This information are shared for the tab key down handling and the flyout focus out handling.
|
|
5
|
+
*/
|
|
6
|
+
export const gatherTabInformation = (detail) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const links = (_a = detail.linkItems.find(item => item.value === detail.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems;
|
|
9
|
+
// the selected tab in the main navigation
|
|
10
|
+
const indexOfActiveTab = links === null || links === void 0 ? void 0 : links.findIndex(link => link.value === detail.activeMenuLinkValue);
|
|
11
|
+
const indexOfNextTab = indexOfActiveTab + 1;
|
|
12
|
+
const indexOfPreviousTab = indexOfActiveTab - 1;
|
|
13
|
+
return {
|
|
14
|
+
tabs: links || [],
|
|
15
|
+
indexOfActiveTab,
|
|
16
|
+
indexOfNextTab,
|
|
17
|
+
indexOfPreviousTab,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
export const handleTabKeyDown = ({ tabs, indexOfNextTab, indexOfActiveTab }, detail) => {
|
|
21
|
+
// the current focused tab in the main navigation
|
|
22
|
+
const indexOfFocusedTab = tabs === null || tabs === void 0 ? void 0 : tabs.findIndex(link => link.value === detail.item.value);
|
|
23
|
+
// if last tab is focused and would leave the tab navigation, close the flyout
|
|
24
|
+
if (!detail.isBackwards && indexOfFocusedTab === tabs.length - 1) {
|
|
25
|
+
detail.stopEventBubbling();
|
|
26
|
+
detail.closeFlyout();
|
|
27
|
+
rIC(() => {
|
|
28
|
+
focusNextElement(document.activeElement, detail.el);
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// only change focus to the first link in the flyout when navigating from active tab to next tab
|
|
33
|
+
if (!detail.isBackwards && indexOfFocusedTab === indexOfActiveTab) {
|
|
34
|
+
const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
|
|
35
|
+
if (flyout) {
|
|
36
|
+
const firstLink = flyout.querySelector('a, button, [tabindex="0"]');
|
|
37
|
+
if (firstLink) {
|
|
38
|
+
detail.stopEventBubbling();
|
|
39
|
+
firstLink.focus({ preventScroll: true });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// only change focus to the last link in the flyout when navigating back from
|
|
44
|
+
// next tab (from the active tab) to active tab (has flyout open)
|
|
45
|
+
if (detail.isBackwards && indexOfFocusedTab === indexOfNextTab) {
|
|
46
|
+
const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
|
|
47
|
+
if (flyout) {
|
|
48
|
+
const flyoutLinks = flyout.querySelectorAll('a, button, [tabindex="0"]');
|
|
49
|
+
const lastLink = flyoutLinks[flyoutLinks.length - 1];
|
|
50
|
+
if (lastLink) {
|
|
51
|
+
detail.stopEventBubbling();
|
|
52
|
+
lastLink.focus({ preventScroll: true });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export const handleFlyoutFocusOut = (info, detail) => {
|
|
58
|
+
const targetItem = detail.isBackwards ? info.tabs[info.indexOfActiveTab] : info.tabs[info.indexOfNextTab];
|
|
59
|
+
if (targetItem) {
|
|
60
|
+
const tab = detail.el.querySelector(`button[data-value="${targetItem.value}"], a[data-value="${targetItem.value}"]`);
|
|
61
|
+
if (tab) {
|
|
62
|
+
tab.focus({ preventScroll: true });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Focuses the next focusable element after the current element outside of the bal-nav element.
|
|
68
|
+
*/
|
|
69
|
+
const focusNextElement = (current, balNavEl) => {
|
|
70
|
+
const focusableSelectors = [
|
|
71
|
+
'a[href]',
|
|
72
|
+
'button:not([disabled])',
|
|
73
|
+
'input:not([disabled]):not([type="hidden"])',
|
|
74
|
+
'select:not([disabled])',
|
|
75
|
+
'textarea:not([disabled])',
|
|
76
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
77
|
+
];
|
|
78
|
+
const focusableElements = Array.from(document.querySelectorAll(focusableSelectors.join(',')))
|
|
79
|
+
// visible elements only
|
|
80
|
+
.filter(el => el.offsetParent !== null)
|
|
81
|
+
// exclude elements inside the bal-nav
|
|
82
|
+
.filter(el => !isDescendant(balNavEl, el));
|
|
83
|
+
const index = focusableElements.indexOf(current);
|
|
84
|
+
const next = focusableElements[index + 1];
|
|
85
|
+
if (next)
|
|
86
|
+
next.focus();
|
|
87
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { h,
|
|
2
|
+
import { Host, h, } from "@stencil/core";
|
|
3
3
|
import { BEM } from "../../../utils/bem";
|
|
4
|
+
import { isDescendant } from "../../../utils/helpers";
|
|
4
5
|
import { Logger } from "../../../utils/log";
|
|
5
6
|
import { ListenToResize } from "../../../utils/resize";
|
|
6
7
|
import { BalScrollHandler } from "../../../utils/scroll";
|
|
@@ -27,6 +28,11 @@ export class NavMenuFlyout {
|
|
|
27
28
|
* LISTENERS
|
|
28
29
|
* ------------------------------------------------------
|
|
29
30
|
*/
|
|
31
|
+
onFocusLeave(event) {
|
|
32
|
+
if (this.el && event.relatedTarget && !isDescendant(this.el, event.relatedTarget)) {
|
|
33
|
+
this.balFocusOut.emit(event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
30
36
|
resizeListener() {
|
|
31
37
|
if (this.isFlyoutScrollable()) {
|
|
32
38
|
this.bodyScrollHandler.disable();
|
|
@@ -50,7 +56,7 @@ export class NavMenuFlyout {
|
|
|
50
56
|
render() {
|
|
51
57
|
const block = BEM.block('nav-menu-flyout');
|
|
52
58
|
const line = block.element('line');
|
|
53
|
-
return (h(Host, { key: '
|
|
59
|
+
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' }))));
|
|
54
60
|
}
|
|
55
61
|
static get is() { return "bal-nav-menu-flyout"; }
|
|
56
62
|
static get originalStyleUrls() {
|
|
@@ -92,7 +98,39 @@ export class NavMenuFlyout {
|
|
|
92
98
|
"isHidden": {}
|
|
93
99
|
};
|
|
94
100
|
}
|
|
101
|
+
static get events() {
|
|
102
|
+
return [{
|
|
103
|
+
"method": "balFocusOut",
|
|
104
|
+
"name": "balFocusOut",
|
|
105
|
+
"bubbles": true,
|
|
106
|
+
"cancelable": true,
|
|
107
|
+
"composed": true,
|
|
108
|
+
"docs": {
|
|
109
|
+
"tags": [],
|
|
110
|
+
"text": "Emitted when the flyout loses focus"
|
|
111
|
+
},
|
|
112
|
+
"complexType": {
|
|
113
|
+
"original": "BalEvents.BalNavFlyoutFocusOutDetail",
|
|
114
|
+
"resolved": "FocusEvent",
|
|
115
|
+
"references": {
|
|
116
|
+
"BalEvents": {
|
|
117
|
+
"location": "global",
|
|
118
|
+
"id": "global::BalEvents"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}];
|
|
123
|
+
}
|
|
95
124
|
static get elementRef() { return "el"; }
|
|
125
|
+
static get listeners() {
|
|
126
|
+
return [{
|
|
127
|
+
"name": "focusout",
|
|
128
|
+
"method": "onFocusLeave",
|
|
129
|
+
"target": undefined,
|
|
130
|
+
"capture": false,
|
|
131
|
+
"passive": false
|
|
132
|
+
}];
|
|
133
|
+
}
|
|
96
134
|
}
|
|
97
135
|
__decorate([
|
|
98
136
|
Logger('bal-nav-menu-flyout'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
: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:flex;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{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);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);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);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;transition: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{transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{transform:translateY(-5rem)}
|
|
1
|
+
: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:flex;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{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);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);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);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;transition: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{transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{transform:translateY(-5rem)}
|
|
@@ -8,6 +8,7 @@ export class NavMetaBar {
|
|
|
8
8
|
this.navMetaBarId = `bal-nav-meta-bar-${NavMetaBarIds++}`;
|
|
9
9
|
this.previousY = 0;
|
|
10
10
|
this.isHidden = false;
|
|
11
|
+
this.stayOnTopOfBackdrop = false;
|
|
11
12
|
this.variant = 'primary';
|
|
12
13
|
this.size = 'normal';
|
|
13
14
|
this.invisible = 'none';
|
|
@@ -57,7 +58,7 @@ export class NavMetaBar {
|
|
|
57
58
|
*/
|
|
58
59
|
render() {
|
|
59
60
|
const block = BEM.block('nav-meta-bar');
|
|
60
|
-
return (h(Host, { key: '
|
|
61
|
+
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' }))));
|
|
61
62
|
}
|
|
62
63
|
static get is() { return "bal-nav-meta-bar"; }
|
|
63
64
|
static get originalStyleUrls() {
|
|
@@ -72,6 +73,26 @@ export class NavMetaBar {
|
|
|
72
73
|
}
|
|
73
74
|
static get properties() {
|
|
74
75
|
return {
|
|
76
|
+
"stayOnTopOfBackdrop": {
|
|
77
|
+
"type": "boolean",
|
|
78
|
+
"mutable": false,
|
|
79
|
+
"complexType": {
|
|
80
|
+
"original": "boolean",
|
|
81
|
+
"resolved": "boolean",
|
|
82
|
+
"references": {}
|
|
83
|
+
},
|
|
84
|
+
"required": false,
|
|
85
|
+
"optional": false,
|
|
86
|
+
"docs": {
|
|
87
|
+
"tags": [],
|
|
88
|
+
"text": "Defines if the bar should stay on top of the backdrop"
|
|
89
|
+
},
|
|
90
|
+
"getter": false,
|
|
91
|
+
"setter": false,
|
|
92
|
+
"attribute": "stay-on-top-of-backdrop",
|
|
93
|
+
"reflect": false,
|
|
94
|
+
"defaultValue": "false"
|
|
95
|
+
},
|
|
75
96
|
"variant": {
|
|
76
97
|
"type": "string",
|
|
77
98
|
"mutable": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@media(hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{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{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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;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)}
|
|
1
|
+
@media(hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{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{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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;justify-content:space-between;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:flex;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)}
|