@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.
Files changed (268) hide show
  1. package/components/all.d.ts +2 -0
  2. package/components/all.js +3 -0
  3. package/components/bal-app.js +1 -93
  4. package/components/bal-app2.js +95 -0
  5. package/components/bal-carousel-item.js +23 -2
  6. package/components/bal-doc-app.d.ts +11 -0
  7. package/components/bal-doc-app.js +262 -0
  8. package/components/bal-icon2.js +1 -1350
  9. package/components/bal-input.js +20 -2
  10. package/components/bal-list-item-accordion-body2.js +6 -4
  11. package/components/bal-list-item-accordion-head2.js +10 -5
  12. package/components/bal-list-item2.js +4 -2
  13. package/components/bal-nav-menu-flyout2.js +10 -3
  14. package/components/bal-nav-meta-bar2.js +4 -2
  15. package/components/bal-nav.js +155 -33
  16. package/components/bal-popup2.js +5 -10
  17. package/components/bal-radio-group.js +1 -0
  18. package/components/bal-steps.js +1 -1
  19. package/components/bal-tab-item.js +4 -2
  20. package/components/bal-tabs2.js +4 -1
  21. package/components/focus-visible.js +1 -2
  22. package/components/index.js +7 -314
  23. package/components/initialize.js +312 -0
  24. package/components/overlays.js +2 -2
  25. package/components/purify.js +1353 -0
  26. package/components/tokens.esm.js +1 -1
  27. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  28. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  29. package/dist/baloise-design-system/index.esm.js +1 -1
  30. package/dist/baloise-design-system/{p-42b2e62411.system.entry.js → p-00dc0f84cc.system.entry.js} +1 -1
  31. package/dist/baloise-design-system/{p-14c507db.system.js → p-01493e9f.system.js} +1 -1
  32. package/dist/baloise-design-system/{p-68d7e929.system.js → p-02d76532.system.js} +1 -1
  33. package/dist/baloise-design-system/p-0c381481f3.system.entry.js +1 -0
  34. package/dist/baloise-design-system/p-12ec7e6d69.system.entry.js +1 -0
  35. package/dist/baloise-design-system/{p-df9bc850dc.system.entry.js → p-12f7a6a381.system.entry.js} +1 -1
  36. package/dist/baloise-design-system/p-16395ece.system.js +1 -0
  37. package/dist/baloise-design-system/{p-1e0a2263fb.entry.js → p-191cb463ef.entry.js} +1 -1
  38. package/dist/baloise-design-system/p-1e142b10.system.js +1 -0
  39. package/dist/baloise-design-system/p-24fe64c5.js +1 -0
  40. package/dist/baloise-design-system/p-294f38c2.js +1 -0
  41. package/dist/baloise-design-system/{p-290dfd0212.system.entry.js → p-31baba8382.system.entry.js} +1 -1
  42. package/dist/baloise-design-system/{p-8a9fb4619a.entry.js → p-32db85222c.entry.js} +1 -1
  43. package/dist/baloise-design-system/p-343cc097d4.entry.js +1 -0
  44. package/dist/baloise-design-system/p-3913c6ae.js +1 -1
  45. package/dist/baloise-design-system/{p-47eaccc384.system.entry.js → p-42238a1e1a.system.entry.js} +1 -1
  46. package/dist/baloise-design-system/p-42e66219.system.js +1 -0
  47. package/dist/baloise-design-system/p-47f0669a.js +1 -0
  48. package/dist/baloise-design-system/{p-7467605b28.entry.js → p-4b3b969747.entry.js} +1 -1
  49. package/dist/baloise-design-system/p-55591d77a6.entry.js +1 -0
  50. package/dist/baloise-design-system/p-56376785c2.entry.js +1 -0
  51. package/dist/baloise-design-system/{p-ac25ede4f4.entry.js → p-5638fe223b.entry.js} +1 -1
  52. package/dist/baloise-design-system/p-58e51d6a.js +1 -0
  53. package/dist/baloise-design-system/{p-63297f8b3b.system.entry.js → p-5b20afcac4.system.entry.js} +1 -1
  54. package/dist/baloise-design-system/p-5d80cd4f25.system.entry.js +1 -0
  55. package/dist/baloise-design-system/{p-b96e5a6c.js → p-5dc505fc.js} +1 -1
  56. package/dist/baloise-design-system/{p-390b2af6a5.system.entry.js → p-6149950bb1.system.entry.js} +1 -1
  57. package/dist/baloise-design-system/p-659ecadc.system.js +1 -1
  58. package/dist/baloise-design-system/p-65d4a9afab.entry.js +1 -0
  59. package/dist/baloise-design-system/{p-83d19315e3.entry.js → p-6700e35d71.entry.js} +1 -1
  60. package/dist/baloise-design-system/{p-363a7f7760.entry.js → p-673d489362.entry.js} +1 -1
  61. package/dist/baloise-design-system/{p-022af4f2.js → p-6b284c70.js} +1 -1
  62. package/dist/baloise-design-system/p-6bb4e22ace.system.entry.js +1 -0
  63. package/dist/baloise-design-system/{p-16ebe71517.entry.js → p-72a1dc6052.entry.js} +1 -1
  64. package/dist/baloise-design-system/p-7625d0abde.system.entry.js +1 -0
  65. package/dist/baloise-design-system/{p-702abad387.entry.js → p-7db52d587f.entry.js} +1 -1
  66. package/dist/baloise-design-system/{p-456114b8.system.js → p-83512f21.system.js} +1 -1
  67. package/dist/baloise-design-system/{p-8bd42bba68.entry.js → p-84a5fe83b0.entry.js} +1 -1
  68. package/dist/baloise-design-system/{p-24336e0fca.system.entry.js → p-8ebf048b7b.system.entry.js} +1 -1
  69. package/dist/baloise-design-system/p-96301206d3.system.entry.js +1 -0
  70. package/dist/baloise-design-system/{p-32bf71aa6c.entry.js → p-9b355b09ba.entry.js} +1 -1
  71. package/dist/baloise-design-system/{p-b9a4f3580b.entry.js → p-9c3f458e6c.entry.js} +1 -1
  72. package/dist/baloise-design-system/{p-99c12a1d83.system.entry.js → p-9df176a81a.system.entry.js} +1 -1
  73. package/dist/baloise-design-system/{p-e43b61e151.system.entry.js → p-a19a336dda.system.entry.js} +1 -1
  74. package/dist/baloise-design-system/p-a35a951800.entry.js +1 -0
  75. package/dist/baloise-design-system/p-a397da94.system.js +1 -0
  76. package/dist/baloise-design-system/p-a86c09c64f.system.entry.js +1 -0
  77. package/dist/baloise-design-system/{p-13ea819488.entry.js → p-ac238676b6.entry.js} +1 -1
  78. package/dist/baloise-design-system/{p-e453a2de.system.js → p-ad89304c.system.js} +1 -1
  79. package/dist/baloise-design-system/p-ade92c8b.js +2 -0
  80. package/dist/baloise-design-system/p-b3a9499f8e.entry.js +1 -0
  81. package/dist/baloise-design-system/p-b94e6946fc.entry.js +1 -0
  82. package/dist/baloise-design-system/{p-2367556371.system.entry.js → p-b9b086adc8.system.entry.js} +1 -1
  83. package/dist/baloise-design-system/{p-c89750c825.system.entry.js → p-ba30929ac8.system.entry.js} +1 -1
  84. package/dist/baloise-design-system/p-d0cee779.system.js +2 -0
  85. package/dist/baloise-design-system/{p-9d3935fbbc.entry.js → p-d18794e22b.entry.js} +1 -1
  86. package/dist/baloise-design-system/p-d4e5093b.js +1 -0
  87. package/dist/baloise-design-system/{p-35fde87c2a.system.entry.js → p-dfd6d34303.system.entry.js} +1 -1
  88. package/dist/baloise-design-system/p-e2c982954d.entry.js +1 -0
  89. package/dist/baloise-design-system/{p-39c2321045.system.entry.js → p-e3fb1f185f.system.entry.js} +1 -1
  90. package/dist/baloise-design-system/{p-490383ab.system.js → p-eaec547b.system.js} +1 -1
  91. package/dist/baloise-design-system/{p-131fd635ef.entry.js → p-f0506e5102.entry.js} +1 -1
  92. package/dist/baloise-design-system/{p-c5ac7b5d30.system.entry.js → p-f2784fb721.system.entry.js} +1 -1
  93. package/dist/baloise-design-system/p-f3c6e132ea.system.entry.js +1 -0
  94. package/dist/cjs/app-globals-f63c33e7.js +7 -0
  95. package/dist/cjs/bal-app.cjs.entry.js +1 -1
  96. package/dist/cjs/bal-carousel_2.cjs.entry.js +23 -5
  97. package/dist/cjs/bal-checkbox_2.cjs.entry.js +1 -1
  98. package/dist/cjs/bal-date.cjs.entry.js +1 -1
  99. package/dist/cjs/bal-doc-app.cjs.entry.js +233 -0
  100. package/dist/cjs/bal-dropdown.cjs.entry.js +1 -1
  101. package/dist/cjs/bal-hint_5.cjs.entry.js +3 -3
  102. package/dist/cjs/bal-icon.cjs.entry.js +2 -1351
  103. package/dist/cjs/bal-input.cjs.entry.js +20 -2
  104. package/dist/cjs/bal-list_8.cjs.entry.js +21 -12
  105. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  106. package/dist/cjs/bal-modal_3.cjs.entry.js +1 -1
  107. package/dist/cjs/bal-nav_8.cjs.entry.js +167 -38
  108. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  109. package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
  110. package/dist/cjs/bal-popup.cjs.entry.js +5 -10
  111. package/dist/cjs/bal-progress-bar.cjs.entry.js +4 -4
  112. package/dist/cjs/bal-radio_2.cjs.entry.js +2 -1
  113. package/dist/cjs/bal-segment_2.cjs.entry.js +5 -5
  114. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  115. package/dist/cjs/bal-steps.cjs.entry.js +4 -4
  116. package/dist/cjs/bal-tab-item_2.cjs.entry.js +11 -6
  117. package/dist/cjs/baloise-design-system.cjs.js +3 -2
  118. package/dist/cjs/{breakpoints.decorator-5086ec90.js → breakpoints.decorator-266b25a2.js} +1 -1
  119. package/dist/cjs/{breakpoints.subject-a1180187.js → breakpoints.subject-03f75770.js} +1 -1
  120. package/dist/cjs/{focus-visible-264bd9b8.js → focus-visible-a434c91f.js} +0 -2
  121. package/dist/cjs/{app-globals-0d8db19e.js → global-2a76769b.js} +2 -4
  122. package/dist/cjs/index.cjs.js +3 -3
  123. package/dist/cjs/initialize-2e8978a4.js +1 -1
  124. package/dist/cjs/loader.cjs.js +3 -2
  125. package/dist/cjs/{overlays-47b231bc.js → overlays-94ebb271.js} +2 -2
  126. package/dist/cjs/purify-b01229e2.js +1355 -0
  127. package/dist/cjs/{tokens.esm-263be70d.js → tokens.esm-c3cc508d.js} +1 -1
  128. package/dist/cjs/{window-resize.decorator-9a06680f.js → window-resize.decorator-9494cf0b.js} +1 -1
  129. package/dist/collection/collection-manifest.json +2 -1
  130. package/dist/collection/components/bal-carousel/bal-carousel-item/bal-carousel-item.js +44 -3
  131. package/dist/collection/components/bal-input/bal-input-util.js +1 -0
  132. package/dist/collection/components/bal-input/bal-input.js +22 -5
  133. package/dist/collection/components/bal-list/bal-list-item/bal-list-item.js +4 -2
  134. package/dist/collection/components/bal-list/bal-list-item-accordion-body/bal-list-item-accordion-body.js +7 -5
  135. package/dist/collection/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.js +13 -8
  136. package/dist/collection/components/bal-nav/bal-nav-focus.util.js +87 -0
  137. package/dist/collection/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.js +40 -2
  138. package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.css +1 -1
  139. package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.js +22 -1
  140. package/dist/collection/components/bal-nav/bal-nav.css +1 -1
  141. package/dist/collection/components/bal-nav/bal-nav.js +43 -8
  142. package/dist/collection/components/bal-nav/models/bal-nav-menu-link-item.js +6 -5
  143. package/dist/collection/components/bal-popup/bal-popup.js +8 -13
  144. package/dist/collection/components/bal-radio/bal-radio-group/bal-radio-group.js +1 -0
  145. package/dist/collection/components/bal-steps/bal-steps.css +1 -1
  146. package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +23 -2
  147. package/dist/collection/components/bal-tabs/components/tab-button.js +6 -3
  148. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +1 -0
  149. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +247 -0
  150. package/dist/collection/utils/constants/version.constant.js +1 -1
  151. package/dist/collection/utils/overlays/focus-trap.js +2 -2
  152. package/dist/esm/app-globals-1ecf000f.js +5 -0
  153. package/dist/esm/bal-app.entry.js +1 -1
  154. package/dist/esm/bal-carousel_2.entry.js +23 -5
  155. package/dist/esm/bal-checkbox_2.entry.js +1 -1
  156. package/dist/esm/bal-date.entry.js +1 -1
  157. package/dist/esm/bal-doc-app.entry.js +229 -0
  158. package/dist/esm/bal-dropdown.entry.js +1 -1
  159. package/dist/esm/bal-hint_5.entry.js +3 -3
  160. package/dist/esm/bal-icon.entry.js +1 -1350
  161. package/dist/esm/bal-input.entry.js +20 -2
  162. package/dist/esm/bal-list_8.entry.js +22 -13
  163. package/dist/esm/bal-logo.entry.js +3 -3
  164. package/dist/esm/bal-modal_3.entry.js +1 -1
  165. package/dist/esm/bal-nav_8.entry.js +168 -39
  166. package/dist/esm/bal-navbar_5.entry.js +3 -3
  167. package/dist/esm/bal-pagination.entry.js +3 -3
  168. package/dist/esm/bal-popup.entry.js +5 -10
  169. package/dist/esm/bal-progress-bar.entry.js +4 -4
  170. package/dist/esm/bal-radio_2.entry.js +2 -1
  171. package/dist/esm/bal-segment_2.entry.js +5 -5
  172. package/dist/esm/bal-shape.entry.js +1 -1
  173. package/dist/esm/bal-steps.entry.js +4 -4
  174. package/dist/esm/bal-tab-item_2.entry.js +11 -6
  175. package/dist/esm/baloise-design-system.js +3 -2
  176. package/dist/esm/{breakpoints.decorator-3666716a.js → breakpoints.decorator-ecda98cb.js} +1 -1
  177. package/dist/esm/{breakpoints.subject-1aa7be9a.js → breakpoints.subject-2897cae5.js} +1 -1
  178. package/dist/esm/{focus-visible-f0cdd043.js → focus-visible-c1d6b5b8.js} +1 -2
  179. package/dist/esm/{app-globals-5dd5fe6b.js → global-6e86728b.js} +2 -4
  180. package/dist/esm/index.js +4 -4
  181. package/dist/esm/initialize-be160cc4.js +1 -1
  182. package/dist/esm/loader.js +3 -2
  183. package/dist/esm/{overlays-4cc504b6.js → overlays-3f81f45d.js} +2 -2
  184. package/dist/esm/purify-8cb49f16.js +1353 -0
  185. package/dist/esm/{tokens.esm-a3abda33.js → tokens.esm-17500c90.js} +1 -1
  186. package/dist/esm/{window-resize.decorator-ef52bf33.js → window-resize.decorator-b914e5b9.js} +1 -1
  187. package/dist/esm-es5/app-globals-1ecf000f.js +1 -0
  188. package/dist/esm-es5/bal-app.entry.js +1 -1
  189. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  190. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  191. package/dist/esm-es5/bal-date.entry.js +1 -1
  192. package/dist/esm-es5/bal-doc-app.entry.js +1 -0
  193. package/dist/esm-es5/bal-dropdown.entry.js +1 -1
  194. package/dist/esm-es5/bal-hint_5.entry.js +1 -1
  195. package/dist/esm-es5/bal-icon.entry.js +1 -2
  196. package/dist/esm-es5/bal-input.entry.js +1 -1
  197. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  198. package/dist/esm-es5/bal-logo.entry.js +1 -1
  199. package/dist/esm-es5/bal-modal_3.entry.js +1 -1
  200. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  201. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  202. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  203. package/dist/esm-es5/bal-popup.entry.js +1 -1
  204. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  205. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  206. package/dist/esm-es5/bal-segment_2.entry.js +1 -1
  207. package/dist/esm-es5/bal-shape.entry.js +1 -1
  208. package/dist/esm-es5/bal-steps.entry.js +1 -1
  209. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  210. package/dist/esm-es5/baloise-design-system.js +1 -1
  211. package/dist/esm-es5/breakpoints.decorator-ecda98cb.js +1 -0
  212. package/dist/esm-es5/{breakpoints.subject-1aa7be9a.js → breakpoints.subject-2897cae5.js} +1 -1
  213. package/dist/esm-es5/focus-visible-c1d6b5b8.js +1 -0
  214. package/dist/esm-es5/global-6e86728b.js +1 -0
  215. package/dist/esm-es5/index.js +1 -1
  216. package/dist/esm-es5/initialize-be160cc4.js +1 -1
  217. package/dist/esm-es5/loader.js +1 -1
  218. package/dist/esm-es5/overlays-3f81f45d.js +1 -0
  219. package/dist/esm-es5/purify-8cb49f16.js +2 -0
  220. package/dist/esm-es5/{window-resize.decorator-ef52bf33.js → window-resize.decorator-b914e5b9.js} +1 -1
  221. package/dist/html.html-data.json +12 -1
  222. package/dist/types/components/bal-carousel/bal-carousel-item/bal-carousel-item.d.ts +8 -0
  223. package/dist/types/components/bal-input/bal-input-util.d.ts +1 -0
  224. package/dist/types/components/bal-input/bal-input.d.ts +1 -0
  225. package/dist/types/components/bal-input/bal-input.interfaces.d.ts +1 -1
  226. package/dist/types/components/bal-list/bal-list-item-accordion-body/bal-list-item-accordion-body.d.ts +1 -1
  227. package/dist/types/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.d.ts +3 -2
  228. package/dist/types/components/bal-nav/bal-nav-focus.util.d.ts +33 -0
  229. package/dist/types/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.d.ts +6 -1
  230. package/dist/types/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.d.ts +4 -0
  231. package/dist/types/components/bal-nav/bal-nav.interfaces.d.ts +7 -1
  232. package/dist/types/components/bal-nav/models/bal-nav-menu-link-item.d.ts +1 -0
  233. package/dist/types/components/bal-popup/bal-popup.d.ts +1 -1
  234. package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +5 -0
  235. package/dist/types/components/bal-tabs/bal-tab.type.d.ts +1 -0
  236. package/dist/types/components/bal-tabs/bal-tabs.interfaces.d.ts +2 -0
  237. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +21 -0
  238. package/dist/types/components.d.ts +79 -2
  239. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +82 -0
  240. package/package.json +6 -6
  241. package/dist/baloise-design-system/p-002d7bb9.js +0 -1
  242. package/dist/baloise-design-system/p-0f8973edc6.entry.js +0 -1
  243. package/dist/baloise-design-system/p-130b37bc.js +0 -1
  244. package/dist/baloise-design-system/p-1693fa7649.system.entry.js +0 -1
  245. package/dist/baloise-design-system/p-2fffe828ac.system.entry.js +0 -1
  246. package/dist/baloise-design-system/p-345aa92d.system.js +0 -1
  247. package/dist/baloise-design-system/p-53b2b718c5.entry.js +0 -1
  248. package/dist/baloise-design-system/p-58b1d6fa96.system.entry.js +0 -1
  249. package/dist/baloise-design-system/p-64916e34a4.entry.js +0 -1
  250. package/dist/baloise-design-system/p-967bdfab.js +0 -1
  251. package/dist/baloise-design-system/p-98cf514345.system.entry.js +0 -1
  252. package/dist/baloise-design-system/p-aa16fc7aa2.system.entry.js +0 -2
  253. package/dist/baloise-design-system/p-b52ad8d5.system.js +0 -1
  254. package/dist/baloise-design-system/p-c2f253d9fd.entry.js +0 -2
  255. package/dist/baloise-design-system/p-c917a3bc.system.js +0 -1
  256. package/dist/baloise-design-system/p-ca119357.js +0 -1
  257. package/dist/baloise-design-system/p-d09026edb1.system.entry.js +0 -1
  258. package/dist/baloise-design-system/p-dd2a76bd7c.system.entry.js +0 -1
  259. package/dist/baloise-design-system/p-f04cab5af1.entry.js +0 -1
  260. package/dist/baloise-design-system/p-f2cc4e63d4.entry.js +0 -1
  261. package/dist/baloise-design-system/p-f6b1d87619.entry.js +0 -1
  262. package/dist/esm-es5/app-globals-5dd5fe6b.js +0 -1
  263. package/dist/esm-es5/breakpoints.decorator-3666716a.js +0 -1
  264. package/dist/esm-es5/focus-visible-f0cdd043.js +0 -1
  265. package/dist/esm-es5/overlays-4cc504b6.js +0 -1
  266. /package/dist/baloise-design-system/{p-bccc3d48.system.js → p-d3480bd3.system.js} +0 -0
  267. /package/dist/baloise-design-system/{p-928bbc47.js → p-f9808768.js} +0 -0
  268. /package/dist/esm-es5/{tokens.esm-a3abda33.js → tokens.esm-17500c90.js} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * Do not edit directly
5
- * Generated on Wed, 04 Jun 2025 08:46:09 GMT
5
+ * Generated on Mon, 23 Jun 2025 06:17:57 GMT
6
6
  */
7
7
  const balColorGreen3 = "#94e3d4";
8
8
  const balColorGreen6 = "#1b5951";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const breakpoints_subject = require('./breakpoints.subject-a1180187.js');
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: '448720fe0adbd7130be3148121f04bf456fe755b', onClick: this.handleClick, "aria-disabled": ariaBooleanToString(this.disabled), class: Object.assign({}, block.class()) }, h("input", Object.assign({ key: 'e3b94bfae57e7aaf10f04ebf7f316a6309e306b6', class: {
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
- this.addEventListenerAccordionChange();
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
- this.ariaState = Object.assign({}, aria);
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: '9f844655eaa797b1df2a9c1a51aa5959c1e1f82e', id: this.internalId, role: 'region', "aria-labelledby": this.ariaState.labelledby, class: {
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: 'c174c610fe9832eb84d32b31a97327da9ac393e3', class: {
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: '1c6cb9f879550e70ada7563d7d1758bdfd485e04' }))));
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 { Host, h, } from "@stencil/core";
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
- this.ariaState = Object.assign({}, aria);
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: 'a6d11324257afc12e220df8f370d440834d44118', class: {
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: '02735dbc43eb2a47becc83c1ddd2d7edfdfdc384' }), h("bal-list-item-icon", { key: 'f96747135e9f91523806cd6e08e34b9e98b1f4b7', right: true }, h("bal-icon", { key: '4f2a64815d96a4b0beae4a1a2b406d615e1c348f', class: "bal-list__item__accordion-head__icon", name: this.icon, size: "small", turn: this.accordionOpen, title: this.accordionOpen
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, Host } from "@stencil/core";
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: '9d0c52ef158adb1dcdddff70f32c0b4846696577', id: `${this.navId}-menu-flyout`, class: Object.assign({}, block.class()) }, h("div", { key: '3405126297ac245862a006b2fd83f147e615d001', class: Object.assign({}, line.class()) }), h("div", { key: '2a8707468c3e6886dd91e6cf792de8e0e0f97aa9', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '7c98fd49abc6e6f3ff3e2dffd49f4ec69df72788' }))));
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: 'c7aa3ccfe8e8b41e12c2e625eac9d23aba77ded3', id: this.navMetaBarId, class: 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')) }, h("div", { key: '0ad94b6ef1580bb8ae907d0ebe53721c32cee0f8', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '9cebb426b75f0d2cd743aa9e0efc26d1c584768c' }))));
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)}