@baloise/ds-core 19.2.0 → 19.3.0-nightly.20250627

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 (400) hide show
  1. package/components/all.d.ts +2 -0
  2. package/components/all.js +3 -0
  3. package/components/bal-accordion.js +1 -1
  4. package/components/bal-app.js +1 -93
  5. package/components/bal-app2.js +95 -0
  6. package/components/bal-carousel-item.js +1 -1
  7. package/components/bal-checkbox-group.js +3 -3
  8. package/components/bal-checkbox2.js +1 -1
  9. package/components/bal-date-calendar2.js +1 -1
  10. package/components/bal-date.js +1 -1
  11. package/components/bal-doc-app.d.ts +11 -0
  12. package/components/bal-doc-app.js +262 -0
  13. package/components/bal-dropdown.js +1 -1
  14. package/components/bal-field.js +1 -1
  15. package/components/bal-form.js +1 -1
  16. package/components/bal-modal.js +1 -1
  17. package/components/bal-nav-menu-flyout2.js +10 -3
  18. package/components/bal-nav-meta-bar2.js +4 -2
  19. package/components/bal-nav.js +155 -33
  20. package/components/bal-navbar-brand.js +1 -1
  21. package/components/bal-navbar-menu.js +1 -1
  22. package/components/bal-option-list.js +1 -1
  23. package/components/bal-radio-group.js +3 -3
  24. package/components/bal-radio2.js +1 -1
  25. package/components/bal-segment.js +3 -3
  26. package/components/bal-select2.js +7 -9
  27. package/components/bal-tab-item.js +4 -2
  28. package/components/bal-tabs2.js +5 -2
  29. package/components/focus.decorator.js +1 -1
  30. package/components/form-input.js +1 -1
  31. package/components/helpers.js +1 -1
  32. package/components/index.js +13 -320
  33. package/components/initialize.js +312 -0
  34. package/components/mutation.decorator.js +1 -1
  35. package/components/swiper.util.js +1 -1
  36. package/components/tokens.esm.js +1 -1
  37. package/components/visibility.decorator.js +1 -1
  38. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  39. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  40. package/dist/baloise-design-system/index.esm.js +1 -1
  41. package/dist/baloise-design-system/{p-863f4e4e.system.js → p-01cd830b.system.js} +1 -1
  42. package/dist/baloise-design-system/{p-1d4ea7e42b.system.entry.js → p-02509f2aa1.system.entry.js} +1 -1
  43. package/dist/baloise-design-system/{p-9c8bb7777c.system.entry.js → p-0317350487.system.entry.js} +1 -1
  44. package/dist/baloise-design-system/{p-8ebf048b7b.system.entry.js → p-04515987c7.system.entry.js} +1 -1
  45. package/dist/baloise-design-system/{p-5bb661c59b.entry.js → p-046c0b642c.entry.js} +1 -1
  46. package/dist/baloise-design-system/{p-dba2c7bb14.system.entry.js → p-05b9ef4994.system.entry.js} +1 -1
  47. package/dist/baloise-design-system/{p-5fcfbec540.system.entry.js → p-0783dc98dd.system.entry.js} +1 -1
  48. package/dist/baloise-design-system/{p-6bb4e22ace.system.entry.js → p-0aa6f3518b.system.entry.js} +1 -1
  49. package/dist/baloise-design-system/{p-c43a56b7.system.js → p-0ae449ae.system.js} +1 -1
  50. package/dist/baloise-design-system/{p-5638fe223b.entry.js → p-0b2b3dbe1b.entry.js} +1 -1
  51. package/dist/baloise-design-system/{p-4b3b969747.entry.js → p-0c336d76f5.entry.js} +1 -1
  52. package/dist/baloise-design-system/{p-237de03b.system.js → p-0c34ba75.system.js} +1 -1
  53. package/dist/baloise-design-system/p-0c352526.system.js +1 -0
  54. package/dist/baloise-design-system/{p-b147ff1ced.entry.js → p-1118211276.entry.js} +1 -1
  55. package/dist/baloise-design-system/{p-5b20afcac4.system.entry.js → p-11230944ba.system.entry.js} +1 -1
  56. package/dist/baloise-design-system/{p-b794110da2.system.entry.js → p-1272e3f9c5.system.entry.js} +1 -1
  57. package/dist/baloise-design-system/{p-06d14aacfc.system.entry.js → p-12b975fee6.system.entry.js} +1 -1
  58. package/dist/baloise-design-system/p-13d44256.system.js +1 -0
  59. package/dist/baloise-design-system/{p-748e3f7c7d.entry.js → p-14df54b760.entry.js} +1 -1
  60. package/dist/baloise-design-system/{p-f1052416.js → p-15f86fd2.js} +1 -1
  61. package/dist/baloise-design-system/{p-a7963df92a.entry.js → p-16f5c678f5.entry.js} +1 -1
  62. package/dist/baloise-design-system/{p-191cb463ef.entry.js → p-1cfbf3093b.entry.js} +1 -1
  63. package/dist/baloise-design-system/p-241cd947.system.js +1 -0
  64. package/dist/baloise-design-system/{p-7cbb14c480.entry.js → p-27b9d8e173.entry.js} +1 -1
  65. package/dist/baloise-design-system/{p-f52a27c1.system.js → p-2908a4b8.system.js} +1 -1
  66. package/dist/baloise-design-system/{p-ade9437f.system.js → p-2d3770e7.system.js} +1 -1
  67. package/dist/baloise-design-system/{p-654bc5873c.entry.js → p-2e18d162c7.entry.js} +1 -1
  68. package/dist/baloise-design-system/p-2ef1a60a7f.entry.js +1 -0
  69. package/dist/baloise-design-system/{p-5f32b4f3.system.js → p-3131f323.system.js} +1 -1
  70. package/dist/baloise-design-system/p-348a5769a3.system.entry.js +1 -0
  71. package/dist/baloise-design-system/{p-211a37e8.js → p-350a85a9.js} +1 -1
  72. package/dist/baloise-design-system/p-36c605b7ed.entry.js +1 -0
  73. package/dist/baloise-design-system/{p-a7de0bf339.system.entry.js → p-371f93bd95.system.entry.js} +1 -1
  74. package/dist/baloise-design-system/{p-c24c3e208f.entry.js → p-37433f4fd6.entry.js} +1 -1
  75. package/dist/baloise-design-system/{p-a7be57b6.js → p-3d3aa421.js} +1 -1
  76. package/dist/baloise-design-system/{p-6149950bb1.system.entry.js → p-3f6fcc1a25.system.entry.js} +1 -1
  77. package/dist/baloise-design-system/{p-72414b93ef.system.entry.js → p-3fcfe14a45.system.entry.js} +1 -1
  78. package/dist/baloise-design-system/{p-2a27350c.js → p-4191bdf0.js} +1 -1
  79. package/dist/baloise-design-system/{p-0c40a0d86b.entry.js → p-41ab9f8b73.entry.js} +1 -1
  80. package/dist/baloise-design-system/{p-e3fb1f185f.system.entry.js → p-42d1374d6f.system.entry.js} +1 -1
  81. package/dist/baloise-design-system/{p-6700e35d71.entry.js → p-4936cce309.entry.js} +1 -1
  82. package/dist/baloise-design-system/{p-8fc7e9ca.js → p-4a0012fa.js} +1 -1
  83. package/dist/baloise-design-system/{p-e2c982954d.entry.js → p-4ad57bd1ee.entry.js} +1 -1
  84. package/dist/baloise-design-system/{p-24fe64c5.js → p-4af5f1f9.js} +1 -1
  85. package/dist/baloise-design-system/{p-3913c6ae.js → p-4ca4dff6.js} +1 -1
  86. package/dist/baloise-design-system/{p-875de117.js → p-4d5477db.js} +1 -1
  87. package/dist/baloise-design-system/{p-2c909ec2ed.entry.js → p-4e8633942b.entry.js} +1 -1
  88. package/dist/baloise-design-system/{p-a86c09c64f.system.entry.js → p-4f1232cf16.system.entry.js} +1 -1
  89. package/dist/baloise-design-system/p-4fea94e0.js +1 -0
  90. package/dist/baloise-design-system/p-5420740f.system.js +1 -0
  91. package/dist/baloise-design-system/{p-6e85cd1a.js → p-548ca0b3.js} +1 -1
  92. package/dist/baloise-design-system/{p-c0173fff.js → p-55ebd30d.js} +1 -1
  93. package/dist/baloise-design-system/{p-2c5c5716e7.system.entry.js → p-576fea8fe0.system.entry.js} +1 -1
  94. package/dist/baloise-design-system/{p-41f36f7375.entry.js → p-584601ed8d.entry.js} +1 -1
  95. package/dist/baloise-design-system/{p-aee1b9619a.system.entry.js → p-5945d28f5a.system.entry.js} +1 -1
  96. package/dist/baloise-design-system/{p-72c837904a.system.entry.js → p-599fe1aecd.system.entry.js} +1 -1
  97. package/dist/baloise-design-system/{p-da804f45a6.system.entry.js → p-5aa8bc3088.system.entry.js} +1 -1
  98. package/dist/baloise-design-system/{p-ad14e9f9.js → p-5b163efa.js} +1 -1
  99. package/dist/baloise-design-system/{p-a64c7a3b82.system.entry.js → p-5c391c5415.system.entry.js} +1 -1
  100. package/dist/baloise-design-system/{p-1d7c3cf2.system.js → p-5d94ecd9.system.js} +1 -1
  101. package/dist/baloise-design-system/{p-a35a951800.entry.js → p-5e506fea89.entry.js} +1 -1
  102. package/dist/baloise-design-system/{p-eaed1f800c.entry.js → p-5fbe1e715b.entry.js} +1 -1
  103. package/dist/baloise-design-system/p-62817e8ac6.entry.js +1 -0
  104. package/dist/baloise-design-system/{p-ae3df5bebc.system.entry.js → p-64110b0bb5.system.entry.js} +1 -1
  105. package/dist/baloise-design-system/{p-3032d4ad66.entry.js → p-6461e0dc8c.entry.js} +1 -1
  106. package/dist/baloise-design-system/{p-abd6896e.system.js → p-659270e6.system.js} +1 -1
  107. package/dist/baloise-design-system/{p-32db85222c.entry.js → p-68f3a1d5de.entry.js} +1 -1
  108. package/dist/baloise-design-system/{p-088aef322b.system.entry.js → p-694808374d.system.entry.js} +1 -1
  109. package/dist/baloise-design-system/p-6abaa3f6.js +1 -0
  110. package/dist/baloise-design-system/{p-b50f4c4e.system.js → p-6c080ebc.system.js} +1 -1
  111. package/dist/baloise-design-system/{p-a8955719.system.js → p-6d05ba15.system.js} +1 -1
  112. package/dist/baloise-design-system/{p-1345eac467.system.entry.js → p-6d3d176967.system.entry.js} +1 -1
  113. package/dist/baloise-design-system/{p-9df176a81a.system.entry.js → p-6df2900b29.system.entry.js} +1 -1
  114. package/dist/baloise-design-system/p-6e3ed83858.entry.js +1 -0
  115. package/dist/baloise-design-system/{p-bdec7c17.system.js → p-6fea4b10.system.js} +1 -1
  116. package/dist/baloise-design-system/{p-5ce42985d4.system.entry.js → p-70a29a3cf9.system.entry.js} +1 -1
  117. package/dist/baloise-design-system/{p-afd41db0.js → p-77c7a0b0.js} +1 -1
  118. package/dist/baloise-design-system/{p-4f49822899.system.entry.js → p-7ace6bb2b2.system.entry.js} +1 -1
  119. package/dist/baloise-design-system/{p-47825fdf.system.js → p-835cf9d5.system.js} +1 -1
  120. package/dist/baloise-design-system/p-86621bd1a3.system.entry.js +1 -0
  121. package/dist/baloise-design-system/p-8b791b36.js +1 -0
  122. package/dist/baloise-design-system/p-913996fe90.system.entry.js +1 -0
  123. package/dist/baloise-design-system/{p-3c15fb83.system.js → p-924b576e.system.js} +1 -1
  124. package/dist/baloise-design-system/{p-3c39fe4b16.system.entry.js → p-9cf523ec81.system.entry.js} +1 -1
  125. package/dist/baloise-design-system/p-9d152de178.entry.js +1 -0
  126. package/dist/baloise-design-system/{p-0d3584a65f.system.entry.js → p-9fe6f3f427.system.entry.js} +1 -1
  127. package/dist/baloise-design-system/{p-19821082de.entry.js → p-a0800932bc.entry.js} +1 -1
  128. package/dist/baloise-design-system/p-a5567131.js +1 -0
  129. package/dist/baloise-design-system/p-a6cc1489f0.entry.js +1 -0
  130. package/dist/baloise-design-system/{p-848aa73224.entry.js → p-a6f19c8102.entry.js} +1 -1
  131. package/dist/baloise-design-system/{p-cb0ff37f.js → p-a7894ace.js} +1 -1
  132. package/dist/baloise-design-system/{p-3e0254a61f.entry.js → p-a7f480e29e.entry.js} +1 -1
  133. package/dist/baloise-design-system/{p-9df40521e4.system.entry.js → p-a82d082286.system.entry.js} +1 -1
  134. package/dist/baloise-design-system/{p-20eba37f.js → p-aae6003e.js} +1 -1
  135. package/dist/baloise-design-system/p-ab6510f1.system.js +1 -0
  136. package/dist/baloise-design-system/{p-de44e8a65c.entry.js → p-ad848b32cc.entry.js} +1 -1
  137. package/dist/baloise-design-system/{p-3ccf4ae8.js → p-aeddf40d.js} +1 -1
  138. package/dist/baloise-design-system/{p-fa5198a0.system.js → p-b0471793.system.js} +1 -1
  139. package/dist/baloise-design-system/{p-a255c9b3.js → p-b0cf4731.js} +1 -1
  140. package/dist/baloise-design-system/{p-9a5b77d8.system.js → p-b11947af.system.js} +1 -1
  141. package/dist/baloise-design-system/{p-00e36bd710.system.entry.js → p-b651c3be06.system.entry.js} +1 -1
  142. package/dist/baloise-design-system/{p-c1181d7258.entry.js → p-ba04f59382.entry.js} +1 -1
  143. package/dist/baloise-design-system/{p-83ac9b11.js → p-bb3d79e0.js} +1 -1
  144. package/dist/baloise-design-system/{p-fa4494e0.system.js → p-bd816cbc.system.js} +1 -1
  145. package/dist/baloise-design-system/{p-57b41c6504.system.entry.js → p-bdf651c552.system.entry.js} +1 -1
  146. package/dist/baloise-design-system/{p-f817eedc81.entry.js → p-c1df952485.entry.js} +1 -1
  147. package/dist/baloise-design-system/{p-38bca05d45.system.entry.js → p-c32da9e7b6.system.entry.js} +1 -1
  148. package/dist/baloise-design-system/{p-61b67b07b2.system.entry.js → p-c75b737789.system.entry.js} +1 -1
  149. package/dist/baloise-design-system/{p-659ecadc.system.js → p-c942d04f.system.js} +1 -1
  150. package/dist/baloise-design-system/{p-9577a33b58.entry.js → p-cb603b661e.entry.js} +1 -1
  151. package/dist/baloise-design-system/{p-da86fecd46.entry.js → p-cb9a61cf9f.entry.js} +1 -1
  152. package/dist/baloise-design-system/{p-b5b4c144a0.system.entry.js → p-ce0bb62f88.system.entry.js} +1 -1
  153. package/dist/baloise-design-system/{p-1bd08e1e63.system.entry.js → p-cfaa78f1a3.system.entry.js} +1 -1
  154. package/dist/baloise-design-system/{p-af1086f717.entry.js → p-d173afff50.entry.js} +1 -1
  155. package/dist/baloise-design-system/p-d4b9af3900.entry.js +1 -0
  156. package/dist/baloise-design-system/{p-301a6b23.js → p-d96b1ee9.js} +1 -1
  157. package/dist/baloise-design-system/{p-01f07b49.system.js → p-dac493c4.system.js} +1 -1
  158. package/dist/baloise-design-system/{p-97bb957512.entry.js → p-dc1f26ed82.entry.js} +1 -1
  159. package/dist/baloise-design-system/{p-7625d0abde.system.entry.js → p-ddfc39d563.system.entry.js} +1 -1
  160. package/dist/baloise-design-system/{p-d2b585ae74.entry.js → p-de214c5ded.entry.js} +1 -1
  161. package/dist/baloise-design-system/{p-b80f4f2be5.entry.js → p-e004afb272.entry.js} +1 -1
  162. package/dist/baloise-design-system/{p-b3a9499f8e.entry.js → p-e1daa037f5.entry.js} +1 -1
  163. package/dist/baloise-design-system/{p-34b6d66663.entry.js → p-e442bfd948.entry.js} +1 -1
  164. package/dist/baloise-design-system/{p-31baba8382.system.entry.js → p-e53cf246d6.system.entry.js} +1 -1
  165. package/dist/baloise-design-system/{p-78b209fdb3.system.entry.js → p-ea96959c66.system.entry.js} +1 -1
  166. package/dist/baloise-design-system/p-eb70745672.system.entry.js +1 -0
  167. package/dist/baloise-design-system/{p-ec375851.js → p-ec1863d2.js} +1 -1
  168. package/dist/baloise-design-system/{p-6b690346.system.js → p-eec38fbd.system.js} +1 -1
  169. package/dist/baloise-design-system/{p-79f6f58b.js → p-f19930db.js} +1 -1
  170. package/dist/baloise-design-system/p-f35f030868.system.entry.js +1 -0
  171. package/dist/baloise-design-system/{p-e87f91527f.entry.js → p-f8db562aa1.entry.js} +1 -1
  172. package/dist/baloise-design-system/p-fbce8119.system.js +1 -0
  173. package/dist/baloise-design-system/{p-20bc89d933.entry.js → p-fd273f8f1e.entry.js} +1 -1
  174. package/dist/baloise-design-system/{p-565f9976.system.js → p-fe2ef334.system.js} +1 -1
  175. package/dist/cjs/app-globals-f63c33e7.js +7 -0
  176. package/dist/cjs/bal-carousel_2.cjs.entry.js +3 -3
  177. package/dist/cjs/bal-checkbox_2.cjs.entry.js +2 -2
  178. package/dist/cjs/bal-doc-app.cjs.entry.js +233 -0
  179. package/dist/cjs/bal-hint_5.cjs.entry.js +3 -3
  180. package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
  181. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  182. package/dist/cjs/bal-nav_8.cjs.entry.js +167 -38
  183. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  184. package/dist/cjs/bal-pagination.cjs.entry.js +3 -3
  185. package/dist/cjs/bal-progress-bar.cjs.entry.js +4 -4
  186. package/dist/cjs/bal-radio_2.cjs.entry.js +2 -2
  187. package/dist/cjs/bal-segment_2.cjs.entry.js +7 -7
  188. package/dist/cjs/bal-select_2.cjs.entry.js +6 -8
  189. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  190. package/dist/cjs/bal-steps.cjs.entry.js +3 -3
  191. package/dist/cjs/bal-tab-item_2.cjs.entry.js +11 -6
  192. package/dist/cjs/baloise-design-system.cjs.js +3 -2
  193. package/dist/cjs/{breakpoints.decorator-e93836f7.js → breakpoints.decorator-5d7d7138.js} +1 -1
  194. package/dist/cjs/{breakpoints.subject-46e29594.js → breakpoints.subject-c585e3d2.js} +1 -1
  195. package/dist/cjs/{app-globals-0d8db19e.js → global-2a76769b.js} +2 -4
  196. package/dist/cjs/index.cjs.js +18 -18
  197. package/dist/cjs/initialize-2e8978a4.js +1 -1
  198. package/dist/cjs/loader.cjs.js +3 -2
  199. package/dist/cjs/{tokens.esm-b4bf229a.js → tokens.esm-93ea8ed2.js} +1 -1
  200. package/dist/cjs/{window-resize.decorator-6954c7a2.js → window-resize.decorator-a7daac9d.js} +1 -1
  201. package/dist/collection/collection-manifest.json +2 -1
  202. package/dist/collection/components/bal-checkbox/bal-checkbox-group/bal-checkbox-group.js +2 -2
  203. package/dist/collection/components/bal-nav/bal-nav-focus.util.js +87 -0
  204. package/dist/collection/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.js +40 -2
  205. package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.css +1 -1
  206. package/dist/collection/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.js +22 -1
  207. package/dist/collection/components/bal-nav/bal-nav.css +1 -1
  208. package/dist/collection/components/bal-nav/bal-nav.js +43 -8
  209. package/dist/collection/components/bal-nav/models/bal-nav-menu-link-item.js +6 -5
  210. package/dist/collection/components/bal-radio/bal-radio-group/bal-radio-group.js +2 -2
  211. package/dist/collection/components/bal-segment/bal-segment.js +3 -3
  212. package/dist/collection/components/bal-select/bal-select.js +6 -8
  213. package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +23 -2
  214. package/dist/collection/components/bal-tabs/components/tab-button.js +6 -3
  215. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +1 -0
  216. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +247 -0
  217. package/dist/collection/index.js +27 -21
  218. package/dist/collection/utils/constants/version.constant.js +1 -1
  219. package/dist/esm/{animation.decorator-49923a4a.js → animation.decorator-7fca988f.js} +1 -1
  220. package/dist/esm/app-globals-47f73608.js +5 -0
  221. package/dist/esm/bal-accordion_4.entry.js +5 -5
  222. package/dist/esm/bal-app.entry.js +2 -2
  223. package/dist/esm/bal-button_2.entry.js +2 -2
  224. package/dist/esm/bal-carousel_2.entry.js +14 -14
  225. package/dist/esm/bal-checkbox_2.entry.js +8 -8
  226. package/dist/esm/bal-close.entry.js +3 -3
  227. package/dist/esm/bal-date-calendar-cell.entry.js +3 -3
  228. package/dist/esm/bal-date-calendar_2.entry.js +8 -8
  229. package/dist/esm/bal-date.entry.js +7 -7
  230. package/dist/esm/bal-doc-app.entry.js +229 -0
  231. package/dist/esm/bal-dropdown.entry.js +6 -6
  232. package/dist/esm/bal-field_5.entry.js +3 -3
  233. package/dist/esm/bal-file-upload.entry.js +3 -3
  234. package/dist/esm/bal-footer.entry.js +4 -4
  235. package/dist/esm/bal-form.entry.js +2 -2
  236. package/dist/esm/bal-hint_5.entry.js +6 -6
  237. package/dist/esm/bal-icon.entry.js +3 -3
  238. package/dist/esm/bal-input-slider.entry.js +3 -3
  239. package/dist/esm/bal-input-stepper.entry.js +6 -6
  240. package/dist/esm/bal-input.entry.js +3 -3
  241. package/dist/esm/bal-label.entry.js +3 -3
  242. package/dist/esm/bal-list_8.entry.js +9 -9
  243. package/dist/esm/bal-logo.entry.js +6 -6
  244. package/dist/esm/bal-modal_3.entry.js +3 -3
  245. package/dist/esm/bal-nav_8.entry.js +173 -44
  246. package/dist/esm/bal-navbar_5.entry.js +7 -7
  247. package/dist/esm/bal-number-input.entry.js +6 -6
  248. package/dist/esm/bal-option_2.entry.js +4 -4
  249. package/dist/esm/bal-pagination.entry.js +7 -7
  250. package/dist/esm/bal-popup.entry.js +4 -4
  251. package/dist/esm/bal-progress-bar.entry.js +6 -6
  252. package/dist/esm/bal-radio_2.entry.js +8 -8
  253. package/dist/esm/bal-segment_2.entry.js +13 -13
  254. package/dist/esm/bal-select_2.entry.js +9 -11
  255. package/dist/esm/bal-shape.entry.js +1 -1
  256. package/dist/esm/bal-spinner.entry.js +4 -4
  257. package/dist/esm/bal-stage_6.entry.js +2 -2
  258. package/dist/esm/bal-steps.entry.js +7 -7
  259. package/dist/esm/bal-tab-item_2.entry.js +23 -18
  260. package/dist/esm/bal-textarea.entry.js +3 -3
  261. package/dist/esm/bal-time-input.entry.js +5 -5
  262. package/dist/esm/bal-tooltip.entry.js +3 -3
  263. package/dist/esm/baloise-design-system.js +7 -6
  264. package/dist/esm/{breakpoints.decorator-133a72bf.js → breakpoints.decorator-fff4bba9.js} +1 -1
  265. package/dist/esm/{breakpoints.subject-76dd4b56.js → breakpoints.subject-794d0e94.js} +2 -2
  266. package/dist/esm/{config.decorator-42dba864.js → config.decorator-6795d1fe.js} +1 -1
  267. package/dist/esm/{config.default-8e11a860.js → config.default-53a04699.js} +1 -1
  268. package/dist/esm/{config.utils-cd529084.js → config.utils-f3793464.js} +1 -1
  269. package/dist/esm/{date-a9304ff8.js → date-87bdb1d1.js} +1 -1
  270. package/dist/esm/{element-states.decorator-0688a178.js → element-states.decorator-d99dc83c.js} +1 -1
  271. package/dist/esm/{floating-ui-775ee3d1.js → floating-ui-8ffbc979.js} +1 -1
  272. package/dist/esm/{focus.decorator-5575312f.js → focus.decorator-988245d7.js} +1 -1
  273. package/dist/esm/{form-input-263e6f5b.js → form-input-1ebdb905.js} +1 -1
  274. package/dist/esm/global-85ac0fa5.js +7 -0
  275. package/dist/esm/{helpers-94c3fbac.js → helpers-51d51cc5.js} +2 -2
  276. package/dist/esm/index.js +15 -15
  277. package/dist/esm/{initialize-be160cc4.js → initialize-c00194b2.js} +4 -4
  278. package/dist/esm/loader.js +7 -6
  279. package/dist/esm/{mutation.decorator-e915d053.js → mutation.decorator-6a69cedb.js} +1 -1
  280. package/dist/esm/{number-d75635a2.js → number-ccf3fbd0.js} +2 -2
  281. package/dist/esm/{overlays-3f81f45d.js → overlays-cee3838b.js} +1 -1
  282. package/dist/esm/{resize.decorator-08f6286b.js → resize.decorator-3c8e5ee2.js} +1 -1
  283. package/dist/esm/{swipe.decorator-902c4936.js → swipe.decorator-3d3585e7.js} +1 -1
  284. package/dist/esm/{swipe.subject-fbdb665a.js → swipe.subject-26a9e5a5.js} +1 -1
  285. package/dist/esm/{swiper.util-5f92ac1c.js → swiper.util-8e17b8c4.js} +2 -2
  286. package/dist/esm/{tokens.esm-dc280d50.js → tokens.esm-628f0bc7.js} +1 -1
  287. package/dist/esm/{visibility.decorator-ee4b6682.js → visibility.decorator-5db91610.js} +1 -1
  288. package/dist/esm/{window-resize.decorator-aa625d55.js → window-resize.decorator-49ed4e99.js} +1 -1
  289. package/dist/esm-es5/{animation.decorator-49923a4a.js → animation.decorator-7fca988f.js} +1 -1
  290. package/dist/esm-es5/app-globals-47f73608.js +1 -0
  291. package/dist/esm-es5/bal-accordion_4.entry.js +1 -1
  292. package/dist/esm-es5/bal-app.entry.js +1 -1
  293. package/dist/esm-es5/bal-button_2.entry.js +1 -1
  294. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  295. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  296. package/dist/esm-es5/bal-close.entry.js +1 -1
  297. package/dist/esm-es5/bal-date-calendar-cell.entry.js +1 -1
  298. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  299. package/dist/esm-es5/bal-date.entry.js +1 -1
  300. package/dist/esm-es5/bal-doc-app.entry.js +1 -0
  301. package/dist/esm-es5/bal-dropdown.entry.js +1 -1
  302. package/dist/esm-es5/bal-field_5.entry.js +1 -1
  303. package/dist/esm-es5/bal-file-upload.entry.js +1 -1
  304. package/dist/esm-es5/bal-footer.entry.js +1 -1
  305. package/dist/esm-es5/bal-form.entry.js +1 -1
  306. package/dist/esm-es5/bal-hint_5.entry.js +1 -1
  307. package/dist/esm-es5/bal-icon.entry.js +1 -1
  308. package/dist/esm-es5/bal-input-slider.entry.js +1 -1
  309. package/dist/esm-es5/bal-input-stepper.entry.js +1 -1
  310. package/dist/esm-es5/bal-input.entry.js +1 -1
  311. package/dist/esm-es5/bal-label.entry.js +1 -1
  312. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  313. package/dist/esm-es5/bal-logo.entry.js +1 -1
  314. package/dist/esm-es5/bal-modal_3.entry.js +1 -1
  315. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  316. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  317. package/dist/esm-es5/bal-number-input.entry.js +1 -1
  318. package/dist/esm-es5/bal-option_2.entry.js +1 -1
  319. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  320. package/dist/esm-es5/bal-popup.entry.js +1 -1
  321. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  322. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  323. package/dist/esm-es5/bal-segment_2.entry.js +1 -1
  324. package/dist/esm-es5/bal-select_2.entry.js +1 -1
  325. package/dist/esm-es5/bal-shape.entry.js +1 -1
  326. package/dist/esm-es5/bal-spinner.entry.js +1 -1
  327. package/dist/esm-es5/bal-stage_6.entry.js +1 -1
  328. package/dist/esm-es5/bal-steps.entry.js +1 -1
  329. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  330. package/dist/esm-es5/bal-textarea.entry.js +1 -1
  331. package/dist/esm-es5/bal-time-input.entry.js +1 -1
  332. package/dist/esm-es5/bal-tooltip.entry.js +1 -1
  333. package/dist/esm-es5/baloise-design-system.js +1 -1
  334. package/dist/esm-es5/breakpoints.decorator-fff4bba9.js +1 -0
  335. package/dist/esm-es5/{breakpoints.subject-76dd4b56.js → breakpoints.subject-794d0e94.js} +1 -1
  336. package/dist/esm-es5/config.decorator-6795d1fe.js +1 -0
  337. package/dist/esm-es5/{config.default-8e11a860.js → config.default-53a04699.js} +1 -1
  338. package/dist/esm-es5/{config.utils-cd529084.js → config.utils-f3793464.js} +1 -1
  339. package/dist/esm-es5/{date-a9304ff8.js → date-87bdb1d1.js} +1 -1
  340. package/dist/esm-es5/{element-states.decorator-0688a178.js → element-states.decorator-d99dc83c.js} +1 -1
  341. package/dist/esm-es5/{floating-ui-775ee3d1.js → floating-ui-8ffbc979.js} +1 -1
  342. package/dist/esm-es5/{focus.decorator-5575312f.js → focus.decorator-988245d7.js} +1 -1
  343. package/dist/esm-es5/{form-input-263e6f5b.js → form-input-1ebdb905.js} +1 -1
  344. package/dist/esm-es5/global-85ac0fa5.js +1 -0
  345. package/dist/esm-es5/{helpers-94c3fbac.js → helpers-51d51cc5.js} +1 -1
  346. package/dist/esm-es5/index.js +1 -1
  347. package/dist/esm-es5/{initialize-be160cc4.js → initialize-c00194b2.js} +1 -1
  348. package/dist/esm-es5/loader.js +1 -1
  349. package/dist/esm-es5/{mutation.decorator-e915d053.js → mutation.decorator-6a69cedb.js} +1 -1
  350. package/dist/esm-es5/number-ccf3fbd0.js +1 -0
  351. package/dist/esm-es5/{overlays-3f81f45d.js → overlays-cee3838b.js} +1 -1
  352. package/dist/esm-es5/{resize.decorator-08f6286b.js → resize.decorator-3c8e5ee2.js} +1 -1
  353. package/dist/esm-es5/{swipe.decorator-902c4936.js → swipe.decorator-3d3585e7.js} +1 -1
  354. package/dist/esm-es5/{swipe.subject-fbdb665a.js → swipe.subject-26a9e5a5.js} +1 -1
  355. package/dist/esm-es5/{swiper.util-5f92ac1c.js → swiper.util-8e17b8c4.js} +1 -1
  356. package/dist/esm-es5/{visibility.decorator-ee4b6682.js → visibility.decorator-5db91610.js} +1 -1
  357. package/dist/esm-es5/{window-resize.decorator-aa625d55.js → window-resize.decorator-49ed4e99.js} +1 -1
  358. package/dist/html.html-data.json +4 -0
  359. package/dist/types/components/bal-checkbox/bal-checkbox-group/bal-checkbox-group.d.ts +2 -2
  360. package/dist/types/components/bal-nav/bal-nav-focus.util.d.ts +33 -0
  361. package/dist/types/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.d.ts +6 -1
  362. package/dist/types/components/bal-nav/bal-nav-meta-bar/bal-nav-meta-bar.d.ts +4 -0
  363. package/dist/types/components/bal-nav/bal-nav.interfaces.d.ts +7 -1
  364. package/dist/types/components/bal-nav/models/bal-nav-menu-link-item.d.ts +1 -0
  365. package/dist/types/components/bal-radio/bal-radio-group/bal-radio-group.d.ts +2 -2
  366. package/dist/types/components/bal-segment/bal-segment.d.ts +2 -2
  367. package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +5 -0
  368. package/dist/types/components/bal-tabs/bal-tab.type.d.ts +1 -0
  369. package/dist/types/components/bal-tabs/bal-tabs.interfaces.d.ts +2 -0
  370. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +21 -0
  371. package/dist/types/components.d.ts +69 -0
  372. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +82 -0
  373. package/dist/types/index.d.ts +25 -23
  374. package/package.json +6 -6
  375. package/dist/baloise-design-system/p-002d7bb9.js +0 -1
  376. package/dist/baloise-design-system/p-00c2788841.entry.js +0 -1
  377. package/dist/baloise-design-system/p-1a3fd0b20d.system.entry.js +0 -1
  378. package/dist/baloise-design-system/p-1f91745ab3.system.entry.js +0 -1
  379. package/dist/baloise-design-system/p-279dbfbe05.entry.js +0 -1
  380. package/dist/baloise-design-system/p-345aa92d.system.js +0 -1
  381. package/dist/baloise-design-system/p-38aa6fee.js +0 -1
  382. package/dist/baloise-design-system/p-456114b8.system.js +0 -1
  383. package/dist/baloise-design-system/p-48bee822ce.entry.js +0 -1
  384. package/dist/baloise-design-system/p-5298de0e.system.js +0 -1
  385. package/dist/baloise-design-system/p-6c1136af87.entry.js +0 -1
  386. package/dist/baloise-design-system/p-92964b4937.entry.js +0 -1
  387. package/dist/baloise-design-system/p-92b665e7.system.js +0 -1
  388. package/dist/baloise-design-system/p-9c3f458e6c.entry.js +0 -1
  389. package/dist/baloise-design-system/p-a397da94.system.js +0 -1
  390. package/dist/baloise-design-system/p-af0585f6.js +0 -1
  391. package/dist/baloise-design-system/p-c5fc0e842c.system.entry.js +0 -1
  392. package/dist/baloise-design-system/p-df94de7fb8.system.entry.js +0 -1
  393. package/dist/esm/app-globals-5dd5fe6b.js +0 -9
  394. package/dist/esm-es5/app-globals-5dd5fe6b.js +0 -1
  395. package/dist/esm-es5/breakpoints.decorator-133a72bf.js +0 -1
  396. package/dist/esm-es5/config.decorator-42dba864.js +0 -1
  397. package/dist/esm-es5/number-d75635a2.js +0 -1
  398. /package/dist/baloise-design-system/{p-f35655f3.js → p-57bcec5c.js} +0 -0
  399. /package/dist/baloise-design-system/{p-fd6073b5.system.js → p-7c271a2a.system.js} +0 -0
  400. /package/dist/esm-es5/{tokens.esm-dc280d50.js → tokens.esm-628f0bc7.js} +0 -0
@@ -5,7 +5,7 @@ import { L as Logger } from './log.js';
5
5
  import { s as stopEventBubbling } from './form-input.js';
6
6
  import { i as inheritAttributes } from './attributes.js';
7
7
  import { d as defaultBalAriaForm } from './form.js';
8
- import { p as rIC, b as waitAfterFramePaint, l as addEventListener, r as removeEventListener, d as waitAfterIdleCallback } from './helpers.js';
8
+ import { p as rIC, a as waitAfterFramePaint, l as addEventListener, r as removeEventListener, b as waitAfterIdleCallback } from './helpers.js';
9
9
  import { b as balBrowser } from './browser.js';
10
10
  import { a as areArraysEqual } from './array.js';
11
11
  import { l as lodash_isnil } from './index3.js';
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
- import { h as deepReady, b as waitAfterFramePaint } from './helpers.js';
3
+ import { d as deepReady, a as waitAfterFramePaint } from './helpers.js';
4
4
  import { d as defaultBalAriaForm } from './form.js';
5
5
  import { L as ListenToMutation } from './mutation.decorator.js';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { s as scrollToFirstInvalidField } from './form.js';
3
- import { d as waitAfterIdleCallback, b as waitAfterFramePaint } from './helpers.js';
3
+ import { b as waitAfterIdleCallback, a as waitAfterFramePaint } from './helpers.js';
4
4
 
5
5
  const balFormCss = ".bal-form{display:block;position:static}";
6
6
  const BalFormStyle0 = balFormCss;
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, writeTask, h, Host } from '@stencil/core/internal/client';
2
2
  import { p as prepareOverlay, d as dismiss, e as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays.js';
3
- import { c as componentOnReady, h as deepReady, i as wait } from './helpers.js';
3
+ import { c as componentOnReady, d as deepReady, w as wait } from './helpers.js';
4
4
  import { B as BalScrollHandler } from './scroll.js';
5
5
  import { b as balBrowser } from './browser.js';
6
6
 
@@ -1,6 +1,7 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
3
  import { B as BEM } from './bem.js';
4
+ import { i as isDescendant } from './helpers.js';
4
5
  import { L as Logger } from './log.js';
5
6
  import { B as BalScrollHandler } from './scroll.js';
6
7
  import { L as ListenToResize } from './resize.decorator.js';
@@ -12,6 +13,7 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
12
13
  constructor() {
13
14
  super();
14
15
  this.__registerHost();
16
+ this.balFocusOut = createEvent(this, "balFocusOut", 7);
15
17
  this.bodyScrollHandler = new BalScrollHandler();
16
18
  this.isHidden = false;
17
19
  this.navId = `bal-nav-x${NavMenuFlyOutIds++}`;
@@ -33,6 +35,11 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
33
35
  * LISTENERS
34
36
  * ------------------------------------------------------
35
37
  */
38
+ onFocusLeave(event) {
39
+ if (this.el && event.relatedTarget && !isDescendant(this.el, event.relatedTarget)) {
40
+ this.balFocusOut.emit(event);
41
+ }
42
+ }
36
43
  resizeListener() {
37
44
  if (this.isFlyoutScrollable()) {
38
45
  this.bodyScrollHandler.disable();
@@ -56,14 +63,14 @@ const NavMenuFlyout = /*@__PURE__*/ proxyCustomElement(class NavMenuFlyout exten
56
63
  render() {
57
64
  const block = BEM.block('nav-menu-flyout');
58
65
  const line = block.element('line');
59
- return (h(Host, { key: '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' }))));
66
+ return (h(Host, { key: '24fa77703681dee08738a210a21b693eb5c53679', id: `${this.navId}-menu-flyout`, class: Object.assign({}, block.class()) }, h("div", { key: '12eb7c5a6d4b3b8d230f8cfbc6477e4cc47b5897', class: Object.assign({}, line.class()) }), h("div", { key: '07fe48098735ef75bce7116eabedfceb8c2903e5', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '00a8a2f20e211f8610830bd89a53e7b57bafede2' }))));
60
67
  }
61
68
  get el() { return this; }
62
69
  static get style() { return BalNavMenuFlyoutStyle0; }
63
70
  }, [4, "bal-nav-menu-flyout", {
64
71
  "navId": [1, "nav-id"],
65
72
  "isHidden": [32]
66
- }]);
73
+ }, [[0, "focusout", "onFocusLeave"]]]);
67
74
  __decorate([
68
75
  Logger('bal-nav-menu-flyout'),
69
76
  __metadata("design:type", Function),
@@ -4,7 +4,7 @@ import { B as BEM } from './bem.js';
4
4
  import { L as Logger } from './log.js';
5
5
  import { b as balBrowser } from './browser.js';
6
6
 
7
- const balNavMetaBarCss = ":root{--bal-nav-meta-bar-variant-primary-background:var(--bal-color-primary);--bal-nav-meta-bar-variant-primary-shadow:none;--bal-nav-meta-bar-variant-white-background:var(--bal-color-white);--bal-nav-meta-bar-variant-white-shadow:0 5px 15px rgba(0,0,0,.1);--bal-nav-meta-bar-variant-grey-background:var(--bal-color-grey-2);--bal-nav-meta-bar-variant-grey-shadow:none}.bal-nav-meta-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-meta-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-meta-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-meta-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-meta-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav-meta-bar--size-normal{padding-top:.5rem;padding-bottom:.5rem;height:4rem;max-height:4rem}.bal-nav-meta-bar--size-small{min-height:3rem}.bal-nav-meta-bar--position-fixed-top{position:fixed;top:0;left:0;width:100%}.bal-nav-meta-bar--position-fixed-bottom{position:fixed;bottom:0;left:0;width:100%}.bal-nav-meta-bar--variant-primary{background:var(--bal-nav-meta-bar-variant-primary-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow);box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow)}.bal-nav-meta-bar--variant-grey{background:var(--bal-nav-meta-bar-variant-grey-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow);box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow)}.bal-nav-meta-bar--variant-white{background:var(--bal-nav-meta-bar-variant-white-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-white-shadow);box-shadow:var(--bal-nav-meta-bar-variant-white-shadow)}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-mobile{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}.bal-nav-meta-bar .button-label{word-break:keep-all !important}.bal-nav-meta-bar-transform{will-change:transition;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;position:fixed;display:block;width:100%;top:0;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar-transform-small{-webkit-transform:translateY(-3rem);transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{-webkit-transform:translateY(-5rem);transform:translateY(-5rem)}";
7
+ const balNavMetaBarCss = ":root{--bal-nav-meta-bar-variant-primary-background:var(--bal-color-primary);--bal-nav-meta-bar-variant-primary-shadow:none;--bal-nav-meta-bar-variant-white-background:var(--bal-color-white);--bal-nav-meta-bar-variant-white-shadow:0 5px 15px rgba(0,0,0,.1);--bal-nav-meta-bar-variant-grey-background:var(--bal-color-grey-2);--bal-nav-meta-bar-variant-grey-shadow:none}.bal-nav-meta-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-meta-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-meta-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-meta-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-meta-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-meta-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav-meta-bar--size-normal{padding-top:.5rem;padding-bottom:.5rem;height:4rem;max-height:4rem}.bal-nav-meta-bar--size-small{min-height:3rem}.bal-nav-meta-bar--position-fixed-top{position:fixed;top:0;left:0;width:100%}.bal-nav-meta-bar--position-fixed-bottom{position:fixed;bottom:0;left:0;width:100%}.bal-nav-meta-bar--variant-primary{background:var(--bal-nav-meta-bar-variant-primary-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow);box-shadow:var(--bal-nav-meta-bar-variant-primary-shadow)}.bal-nav-meta-bar--variant-grey{background:var(--bal-nav-meta-bar-variant-grey-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow);box-shadow:var(--bal-nav-meta-bar-variant-grey-shadow)}.bal-nav-meta-bar--variant-white{background:var(--bal-nav-meta-bar-variant-white-background);-webkit-box-shadow:var(--bal-nav-meta-bar-variant-white-shadow);box-shadow:var(--bal-nav-meta-bar-variant-white-shadow)}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-mobile{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-meta-bar--hidden-tablet{display:hidden !important;visibility:hidden !important}}@media screen and (max-width: 768px){.bal-nav>.bal-nav-meta-bar--stay-on-top{z-index:calc(var(--bal-z-index-popup) + 1) !important}}.bal-nav-meta-bar .button-label{word-break:keep-all !important}.bal-nav-meta-bar-transform{will-change:transition;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out, -webkit-transform .3s ease-in-out;position:fixed;display:block;width:100%;top:0;z-index:var(--bal-z-index-navigation)}.bal-nav-meta-bar-transform-small{-webkit-transform:translateY(-3rem);transform:translateY(-3rem)}.bal-nav-meta-bar-transform-normal{-webkit-transform:translateY(-5rem);transform:translateY(-5rem)}";
8
8
  const BalNavMetaBarStyle0 = balNavMetaBarCss;
9
9
 
10
10
  const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTMLElement {
@@ -14,6 +14,7 @@ const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTM
14
14
  this.navMetaBarId = `bal-nav-meta-bar-${NavMetaBarIds++}`;
15
15
  this.previousY = 0;
16
16
  this.isHidden = false;
17
+ this.stayOnTopOfBackdrop = false;
17
18
  this.variant = 'primary';
18
19
  this.size = 'normal';
19
20
  this.invisible = 'none';
@@ -63,11 +64,12 @@ const NavMetaBar = /*@__PURE__*/ proxyCustomElement(class NavMetaBar extends HTM
63
64
  */
64
65
  render() {
65
66
  const block = BEM.block('nav-meta-bar');
66
- return (h(Host, { key: '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' }))));
67
+ return (h(Host, { key: '3c91c07a7d1b760ae2843b24003d4cebc2ec57d8', id: this.navMetaBarId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier(`variant-${this.variant}`).class()), block.modifier(`size-${this.size}`).class()), block.modifier(`position-${this.position}`).class(this.position !== 'none')), block.modifier(`hidden-mobile`).class(this.invisible === 'mobile')), block.modifier(`hidden-tablet`).class(this.invisible === 'tablet')), block.modifier(`stay-on-top`).class(this.stayOnTopOfBackdrop)) }, h("div", { key: '02333a87470f62b461875ceeae5a1b32381f4700', class: Object.assign({}, block.element('container').class()) }, h("slot", { key: '4d41ede2b111ee158255fbbc04b580695c8b1597' }))));
67
68
  }
68
69
  get el() { return this; }
69
70
  static get style() { return BalNavMetaBarStyle0; }
70
71
  }, [4, "bal-nav-meta-bar", {
72
+ "stayOnTopOfBackdrop": [4, "stay-on-top-of-backdrop"],
71
73
  "variant": [1],
72
74
  "size": [1],
73
75
  "invisible": [1],
@@ -2,9 +2,11 @@ import { h, proxyCustomElement, HTMLElement, createEvent, Host } from '@stencil/
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
3
  import { B as BEM } from './bem.js';
4
4
  import { b as balBrowser } from './browser.js';
5
- import { w as waitForComponent, d as waitAfterIdleCallback } from './helpers.js';
5
+ import { s as stopEventBubbling } from './form-input.js';
6
+ import { p as rIC, i as isDescendant, f as waitForComponent, b as waitAfterIdleCallback } from './helpers.js';
6
7
  import { L as Logger } from './log.js';
7
8
  import { B as BalScrollHandler } from './scroll.js';
9
+ import { b as isTabKey } from './keyboard.helpers.js';
8
10
  import { d as defineCustomElement$t } from './bal-badge2.js';
9
11
  import { d as defineCustomElement$s } from './bal-button2.js';
10
12
  import { d as defineCustomElement$r } from './bal-checkbox2.js';
@@ -39,6 +41,93 @@ import { L as ListenToMutation } from './mutation.decorator.js';
39
41
  import { L as ListenToBreakpoints } from './breakpoints.decorator.js';
40
42
  import { L as ListenToConfig } from './config.decorator.js';
41
43
 
44
+ /**
45
+ * Gathers information about the tabs in the navigation.
46
+ * This information are shared for the tab key down handling and the flyout focus out handling.
47
+ */
48
+ const gatherTabInformation = (detail) => {
49
+ var _a;
50
+ const links = (_a = detail.linkItems.find(item => item.value === detail.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems;
51
+ // the selected tab in the main navigation
52
+ const indexOfActiveTab = links === null || links === void 0 ? void 0 : links.findIndex(link => link.value === detail.activeMenuLinkValue);
53
+ const indexOfNextTab = indexOfActiveTab + 1;
54
+ const indexOfPreviousTab = indexOfActiveTab - 1;
55
+ return {
56
+ tabs: links || [],
57
+ indexOfActiveTab,
58
+ indexOfNextTab,
59
+ indexOfPreviousTab,
60
+ };
61
+ };
62
+ const handleTabKeyDown = ({ tabs, indexOfNextTab, indexOfActiveTab }, detail) => {
63
+ // the current focused tab in the main navigation
64
+ const indexOfFocusedTab = tabs === null || tabs === void 0 ? void 0 : tabs.findIndex(link => link.value === detail.item.value);
65
+ // if last tab is focused and would leave the tab navigation, close the flyout
66
+ if (!detail.isBackwards && indexOfFocusedTab === tabs.length - 1) {
67
+ detail.stopEventBubbling();
68
+ detail.closeFlyout();
69
+ rIC(() => {
70
+ focusNextElement(document.activeElement, detail.el);
71
+ });
72
+ return;
73
+ }
74
+ // only change focus to the first link in the flyout when navigating from active tab to next tab
75
+ if (!detail.isBackwards && indexOfFocusedTab === indexOfActiveTab) {
76
+ const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
77
+ if (flyout) {
78
+ const firstLink = flyout.querySelector('a, button, [tabindex="0"]');
79
+ if (firstLink) {
80
+ detail.stopEventBubbling();
81
+ firstLink.focus({ preventScroll: true });
82
+ }
83
+ }
84
+ }
85
+ // only change focus to the last link in the flyout when navigating back from
86
+ // next tab (from the active tab) to active tab (has flyout open)
87
+ if (detail.isBackwards && indexOfFocusedTab === indexOfNextTab) {
88
+ const flyout = detail.el.querySelector(`#${detail.navId}-menu-flyout`);
89
+ if (flyout) {
90
+ const flyoutLinks = flyout.querySelectorAll('a, button, [tabindex="0"]');
91
+ const lastLink = flyoutLinks[flyoutLinks.length - 1];
92
+ if (lastLink) {
93
+ detail.stopEventBubbling();
94
+ lastLink.focus({ preventScroll: true });
95
+ }
96
+ }
97
+ }
98
+ };
99
+ const handleFlyoutFocusOut = (info, detail) => {
100
+ const targetItem = detail.isBackwards ? info.tabs[info.indexOfActiveTab] : info.tabs[info.indexOfNextTab];
101
+ if (targetItem) {
102
+ const tab = detail.el.querySelector(`button[data-value="${targetItem.value}"], a[data-value="${targetItem.value}"]`);
103
+ if (tab) {
104
+ tab.focus({ preventScroll: true });
105
+ }
106
+ }
107
+ };
108
+ /**
109
+ * Focuses the next focusable element after the current element outside of the bal-nav element.
110
+ */
111
+ const focusNextElement = (current, balNavEl) => {
112
+ const focusableSelectors = [
113
+ 'a[href]',
114
+ 'button:not([disabled])',
115
+ 'input:not([disabled]):not([type="hidden"])',
116
+ 'select:not([disabled])',
117
+ 'textarea:not([disabled])',
118
+ '[tabindex]:not([tabindex="-1"])',
119
+ ];
120
+ const focusableElements = Array.from(document.querySelectorAll(focusableSelectors.join(',')))
121
+ // visible elements only
122
+ .filter(el => el.offsetParent !== null)
123
+ // exclude elements inside the bal-nav
124
+ .filter(el => !isDescendant(balNavEl, el));
125
+ const index = focusableElements.indexOf(current);
126
+ const next = focusableElements[index + 1];
127
+ if (next)
128
+ next.focus();
129
+ };
130
+
42
131
  const i18nNavBars = {
43
132
  de: {
44
133
  mainNavigation: 'Hauptnavigation',
@@ -246,6 +335,28 @@ class NavMetaButton extends NavLinkItem {
246
335
  }
247
336
  let NavMetaButtonIDs = 0;
248
337
 
338
+ const AccordionButton = ({ id, label, level, open, link, href, rel, target, onClick, }) => {
339
+ const block = BEM.block('nav');
340
+ return link ? (h("a", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), href: href, rel: rel, target: target, onClick: ev => onClick(ev) },
341
+ h("span", null, label))) : (h("button", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), onClick: ev => onClick(ev) },
342
+ h("span", null, label),
343
+ h("bal-icon", { name: "nav-go-down", size: "small", turn: open })));
344
+ };
345
+
346
+ const OverviewLink = ({ item, isMenu, onClick, isVisible }) => {
347
+ const block = BEM.block('nav');
348
+ if (!item) {
349
+ return '';
350
+ }
351
+ return (h("a", { class: Object.assign(Object.assign(Object.assign({}, block.element('mobile-overview-link').class()), block.element('mobile-overview-link').modifier('menu').class(!!isMenu)), block
352
+ .element('mobile-overview-link')
353
+ .modifier('invisible')
354
+ .class(isVisible === false)), href: item.href, rel: item.rel, target: item.target, onClick: ev => onClick(ev) },
355
+ item.label,
356
+ " ",
357
+ item.label ? '➞' : ''));
358
+ };
359
+
249
360
  class NavSectionLinkItem extends NavLinkItem {
250
361
  constructor(item, observer) {
251
362
  super(item, observer);
@@ -304,28 +415,6 @@ class NavServiceLinkItem extends NavLinkItem {
304
415
  }
305
416
  let NavServiceLinkItemIDs = 0;
306
417
 
307
- const AccordionButton = ({ id, label, level, open, link, href, rel, target, onClick, }) => {
308
- const block = BEM.block('nav');
309
- return link ? (h("a", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), href: href, rel: rel, target: target, onClick: ev => onClick(ev) },
310
- h("span", null, label))) : (h("button", { id: id, class: Object.assign({}, block.element(`mobile-${level}-item`).class()), onClick: ev => onClick(ev) },
311
- h("span", null, label),
312
- h("bal-icon", { name: "nav-go-down", size: "small", turn: open })));
313
- };
314
-
315
- const OverviewLink = ({ item, isMenu, onClick, isVisible }) => {
316
- const block = BEM.block('nav');
317
- if (!item) {
318
- return '';
319
- }
320
- return (h("a", { class: Object.assign(Object.assign(Object.assign({}, block.element('mobile-overview-link').class()), block.element('mobile-overview-link').modifier('menu').class(!!isMenu)), block
321
- .element('mobile-overview-link')
322
- .modifier('invisible')
323
- .class(isVisible === false)), href: item.href, rel: item.rel, target: item.target, onClick: ev => onClick(ev) },
324
- item.label,
325
- " ",
326
- item.label ? '➞' : ''));
327
- };
328
-
329
418
  class NavMenuLinkItem extends NavLinkItem {
330
419
  constructor(item, observer) {
331
420
  super(item, observer);
@@ -360,9 +449,9 @@ class NavMenuLinkItem extends NavLinkItem {
360
449
  render(context) {
361
450
  const hasChildren = this.sectionLinkItems.length > 0 || this.serviceLinkItems.length > 0;
362
451
  if (!hasChildren && this.isLink) {
363
- return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, rel: this.rel, target: this.target, "no-panel": true }));
452
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, rel: this.rel, target: this.target, onBalKeyDown: ev => isTabKey(ev.detail) && (context === null || context === void 0 ? void 0 : context.onTabPress(ev.detail)), "no-panel": true }));
364
453
  }
365
- return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalNavigate: ev => {
454
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalKeyDown: ev => isTabKey(ev.detail) && (context === null || context === void 0 ? void 0 : context.onTabPress(ev.detail)), onBalNavigate: ev => {
366
455
  context === null || context === void 0 ? void 0 : context.onClick();
367
456
  if (this.onClick) {
368
457
  this.onClick(ev.detail);
@@ -410,7 +499,7 @@ class NavMetaLinkItem extends NavLinkItem {
410
499
  }
411
500
  let NavMetaLinkItemIDs = 0;
412
501
 
413
- const balNavCss = "@media (hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{-webkit-box-shadow:var(--bal-focus-shadow) !important;box-shadow:var(--bal-focus-shadow) !important}}:root{--bal-nav-background:var(--bal-color-primary);--bal-nav-service-background-grey:var(--bal-color-grey);--bal-nav-service-background-purple:var(--bal-color-purple);--bal-nav-service-background-red:var(--bal-color-red);--bal-nav-service-background-yellow:var(--bal-color-yellow);--bal-nav-service-background-green:var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar,.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-small);line-height:var(--bal-line-height-x-small)}.bal-nav__mobile-overview-link--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link--menu{padding:0 0 0 1rem}.bal-nav__line{background-color:var(--bal-color-border-grey-light);height:var(--bal-border-width-normal);border:none;display:block;border-radius:var(--bal-list-item-radius);width:100%;margin:0;padding:0}.bal-nav__mobile-links--clickable,.bal-nav__mobile-section-item--clickable,.bal-nav__mobile-service-item--clickable>a{cursor:pointer}.bal-nav__mobile-links--selected,.bal-nav__mobile-section-item--selected,.bal-nav__mobile-service-item--selected>a{text-decoration:underline}.bal-nav__mobile-service-item--color-grey{background:var(--bal-nav-service-background-grey)}.bal-nav__mobile-service-item--color-purple{background:var(--bal-nav-service-background-purple)}.bal-nav__mobile-service-item--color-red{background:var(--bal-nav-service-background-red)}.bal-nav__mobile-service-item--color-yellow{background:var(--bal-nav-service-background-yellow)}.bal-nav__mobile-service-item--color-green{background:var(--bal-nav-service-background-green)}";
502
+ const balNavCss = "@media (hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{-webkit-box-shadow:var(--bal-focus-shadow) !important;box-shadow:var(--bal-focus-shadow) !important}}:root{--bal-nav-background:var(--bal-color-primary);--bal-nav-service-background-grey:var(--bal-color-grey);--bal-nav-service-background-purple:var(--bal-color-purple);--bal-nav-service-background-red:var(--bal-color-red);--bal-nav-service-background-yellow:var(--bal-color-yellow);--bal-nav-service-background-green:var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{-ms-flex-positive:1;flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar:not(.bal-nav-meta-bar--stay-on-top),.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-size-x-small);line-height:var(--bal-line-height-x-small)}.bal-nav__mobile-overview-link--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link--menu{padding:0 0 0 1rem}.bal-nav__line{background-color:var(--bal-color-border-grey-light);height:var(--bal-border-width-normal);border:none;display:block;border-radius:var(--bal-list-item-radius);width:100%;margin:0;padding:0}.bal-nav__mobile-links--clickable,.bal-nav__mobile-section-item--clickable,.bal-nav__mobile-service-item--clickable>a{cursor:pointer}.bal-nav__mobile-links--selected,.bal-nav__mobile-section-item--selected,.bal-nav__mobile-service-item--selected>a{text-decoration:underline}.bal-nav__mobile-service-item--color-grey{background:var(--bal-nav-service-background-grey)}.bal-nav__mobile-service-item--color-purple{background:var(--bal-nav-service-background-purple)}.bal-nav__mobile-service-item--color-red{background:var(--bal-nav-service-background-red)}.bal-nav__mobile-service-item--color-yellow{background:var(--bal-nav-service-background-yellow)}.bal-nav__mobile-service-item--color-green{background:var(--bal-nav-service-background-green)}";
414
503
  const BalNavStyle0 = balNavCss;
415
504
 
416
505
  const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
@@ -682,20 +771,53 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
682
771
  const block = BEM.block('nav');
683
772
  const flyoutBlock = block.element('flyout');
684
773
  this.hasRenderedWithFlyoutActive = this.isFlyoutActive;
685
- return (h(Host, { key: 'c384e25a9962ec11739b7594114d2ad19fd07937', id: this.navId, class: Object.assign({}, block.class()) }, h("div", { key: '06cf6bb549c278c98b41ef3d176ac58dfe95bacc', class: {
774
+ return (h(Host, { key: '6731ced264e30666493c9b66469f8656e3a632ee', id: this.navId, class: Object.assign({}, block.class()) }, h("div", { key: 'b8b36c81b079f727699a2d037c4f687084791cfa', class: {
686
775
  'bal-nav-meta-bar-transform': true,
687
776
  'bal-nav-meta-bar-transform-touch': this.isTouch,
688
- } }, this.isDesktop ? (h("bal-nav-meta-bar", { variant: "primary", size: "small", position: "sticky-top", ref: metaBarEl => (this.metaBarEl = metaBarEl) }, h("bal-stack", { space: "auto" }, this.linkItems.length > 1 ? (h("bal-tabs", { spaceless: true, inverted: true, context: "meta", value: this.activeMetaLinkValue, "aria-label": i18nNavBars[this.language].mainNavigation, onBalChange: ev => this.onMetaBarTabChange(ev) }, this.linkItems.map(item => item.render({
777
+ } }, this.isDesktop ? (h("bal-nav-meta-bar", { variant: "primary", size: "small", position: "sticky-top", ref: metaBarEl => (this.metaBarEl = metaBarEl) }, h("bal-stack", { space: "auto" }, this.linkItems.length > 1 ? (h("bal-tabs", { inverted: true, context: "meta", value: this.activeMetaLinkValue, "aria-label": i18nNavBars[this.language].mainNavigation, onBalChange: ev => this.onMetaBarTabChange(ev) }, this.linkItems.map(item => item.render({
689
778
  flyoutId: `${this.navId}-menu-flyout`,
690
- })))) : (h("span", null)), h("bal-stack", { id: "bal-nav__meta-buttons", space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtMetaBar()))))) : (''), this.isDesktop ? (h("bal-nav-menu-bar", { position: "fixed-top", ref: menuBarEl => (this.menuBarEl = menuBarEl) }, h("bal-stack", { space: "auto", "space-row": "none", "use-wrap": true }, this.renderLogo(), h("bal-tabs", { context: "navigation", accordion: true, spaceless: true, value: this.activeMenuLinkValue, "aria-label": i18nNavBars[this.language].navigation }, (_a = this.linkItems
691
- .find(item => item.value === this.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems.map(item => item.render({
779
+ })))) : (h("span", null)), h("bal-stack", { id: "bal-nav__meta-buttons", space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtMetaBar()))))) : (''), this.isDesktop ? (h("bal-nav-menu-bar", { position: "fixed-top", ref: menuBarEl => (this.menuBarEl = menuBarEl) }, h("bal-stack", { space: "auto", "space-row": "none", "use-wrap": true }, this.renderLogo(), h("bal-tabs", { context: "navigation", accordion: true, value: this.activeMenuLinkValue, "aria-label": i18nNavBars[this.language].navigation }, (_a = this.linkItems
780
+ .find(item => item.value === this.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems.map((item, index) => item.render({
692
781
  flyoutId: `${this.navId}-menu-flyout`,
693
782
  onClick: () => this.onMenuBarTabChange(item.value),
694
- })))), this.isFlyoutActive ? (h("bal-nav-menu-flyout", { navId: this.navId, "aria-label": i18nNavBars[this.language].subNavigation }, h("bal-nav-link", { role: "listitem", variant: "overview", href: (_c = (_b = this.activeMenuLinkItem) === null || _b === void 0 ? void 0 : _b.overviewLink) === null || _c === void 0 ? void 0 : _c.href, target: (_e = (_d = this.activeMenuLinkItem) === null || _d === void 0 ? void 0 : _d.overviewLink) === null || _e === void 0 ? void 0 : _e.target, onClick: () => { var _a; return this.linkItemClickListener((_a = this.activeMenuLinkItem) === null || _a === void 0 ? void 0 : _a.overviewLink); } }, (_g = (_f = this.activeMenuLinkItem) === null || _f === void 0 ? void 0 : _f.overviewLink) === null || _g === void 0 ? void 0 :
695
- _g.label, ' ', ((_j = (_h = this.activeMenuLinkItem) === null || _h === void 0 ? void 0 : _h.overviewLink) === null || _j === void 0 ? void 0 : _j.label) ? '➞' : ''), this.renderGridLinks(this.activeMenuLinkItem))) : (''))) : (''), h("div", { key: '7b17b61ea275f90fb5016d8ec0d26dece26caa4f' }, h("slot", { key: '8ae80d7fdacd29e171f136bfe3ace823290ff068' }))), this.isTouch ? (h("bal-nav-meta-bar", { variant: "white", size: "normal" }, h("bal-stack", { space: "auto" }, this.renderLogo(), h("bal-stack", { space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtTouchTopMetaBar()), h("bal-button", { square: true, color: this.isFlyoutActive ? 'primary' : 'light', icon: this.isFlyoutActive ? 'close' : 'menu-bars', "aria-label": this.isFlyoutActive ? i18nNavBars[this.language].close : i18nNavBars[this.language].open, onClick: ev => this.onTouchToggleFlyout(ev) }))))) : (''), this.isTouch ? (h("div", { class: Object.assign(Object.assign({}, flyoutBlock.class()), flyoutBlock.modifier('visible').class(this.isFlyoutActive)) }, h("nav", { class: Object.assign({}, flyoutBlock.element('container').class()) }, h("ul", { class: Object.assign({}, block.element('mobile-meta-list').class()) }, this.linkItems.map(item => item.renderTouch({
783
+ onTabPress: (ev) => {
784
+ if (this.isFlyoutActive) {
785
+ const isBackwards = ev.shiftKey;
786
+ const info = gatherTabInformation({
787
+ activeMetaLinkValue: this.activeMetaLinkValue,
788
+ activeMenuLinkValue: this.activeMenuLinkValue,
789
+ linkItems: this.linkItems,
790
+ });
791
+ handleTabKeyDown(info, {
792
+ el: this.el,
793
+ navId: this.navId,
794
+ isFlyoutActive: this.isFlyoutActive,
795
+ isBackwards,
796
+ item,
797
+ stopEventBubbling: () => stopEventBubbling(ev),
798
+ closeFlyout: () => this.closeFlyout(),
799
+ });
800
+ }
801
+ },
802
+ })))), this.isFlyoutActive ? (h("bal-nav-menu-flyout", { navId: this.navId, "aria-label": i18nNavBars[this.language].subNavigation, onBalFocusOut: (ev) => {
803
+ if (this.isFlyoutActive) {
804
+ stopEventBubbling(ev);
805
+ const info = gatherTabInformation({
806
+ activeMetaLinkValue: this.activeMetaLinkValue,
807
+ activeMenuLinkValue: this.activeMenuLinkValue,
808
+ linkItems: this.linkItems,
809
+ });
810
+ const isBackwards = isDescendant(this.el, ev.detail.relatedTarget);
811
+ handleFlyoutFocusOut(info, {
812
+ el: this.el,
813
+ isBackwards,
814
+ });
815
+ }
816
+ } }, h("bal-nav-link", { role: "listitem", variant: "overview", href: (_c = (_b = this.activeMenuLinkItem) === null || _b === void 0 ? void 0 : _b.overviewLink) === null || _c === void 0 ? void 0 : _c.href, target: (_e = (_d = this.activeMenuLinkItem) === null || _d === void 0 ? void 0 : _d.overviewLink) === null || _e === void 0 ? void 0 : _e.target, onClick: () => { var _a; return this.linkItemClickListener((_a = this.activeMenuLinkItem) === null || _a === void 0 ? void 0 : _a.overviewLink); } }, (_g = (_f = this.activeMenuLinkItem) === null || _f === void 0 ? void 0 : _f.overviewLink) === null || _g === void 0 ? void 0 :
817
+ _g.label, ' ', ((_j = (_h = this.activeMenuLinkItem) === null || _h === void 0 ? void 0 : _h.overviewLink) === null || _j === void 0 ? void 0 : _j.label) ? '➞' : ''), this.renderGridLinks(this.activeMenuLinkItem))) : (''))) : (''), h("div", { key: '66321dcac9fb856d8bba914283fc1fe0d4626d35' }, h("slot", { key: '1d89fec71d39cc81c491f2422312a733e103f016' }))), this.isTouch ? (h("bal-nav-meta-bar", { variant: "white", size: "normal" }, h("bal-stack", { space: "auto" }, this.renderLogo(), h("bal-stack", { space: "x-small", "fit-content": true }, this.metaButtons.map(button => button.renderAtTouchTopMetaBar()), h("bal-button", { square: true, color: this.isFlyoutActive ? 'primary' : 'light', icon: this.isFlyoutActive ? 'close' : 'menu-bars', "aria-label": this.isFlyoutActive ? i18nNavBars[this.language].close : i18nNavBars[this.language].open, onClick: ev => this.onTouchToggleFlyout(ev) }))))) : (''), this.isTouch ? (h("div", { class: Object.assign(Object.assign({}, flyoutBlock.class()), flyoutBlock.modifier('visible').class(this.isFlyoutActive)) }, h("nav", { class: Object.assign({}, flyoutBlock.element('container').class()) }, h("ul", { class: Object.assign({}, block.element('mobile-meta-list').class()) }, this.linkItems.map(item => item.renderTouch({
696
818
  activeMetaLinkValue: this.activeMetaLinkValue,
697
819
  activeMenuLinkValue: this.activeMenuLinkValue,
698
- })))))) : (''), this.isTouch && this.isFlyoutActive ? (h("bal-nav-meta-bar", { variant: "grey", size: "normal" }, h("bal-stack", { space: "x-small", align: "center" }, this.metaButtons.map(button => button.renderAtTouchBottomMetaBar())))) : ('')));
820
+ })))))) : (''), this.isTouch && this.isFlyoutActive ? (h("bal-nav-meta-bar", { stayOnTopOfBackdrop: true, variant: "grey", size: "normal" }, h("bal-stack", { space: "x-small", align: "center" }, this.metaButtons.map(button => button.renderAtTouchBottomMetaBar())))) : ('')));
699
821
  }
700
822
  renderGridLinks(linkItem) {
701
823
  var _a, _b;
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
3
  import { B as BEM } from './bem.js';
4
4
  import { b as balBrowser } from './browser.js';
5
- import { i as wait } from './helpers.js';
5
+ import { w as wait } from './helpers.js';
6
6
  import { B as BalScrollHandler } from './scroll.js';
7
7
  import { d as defineCustomElement$5 } from './bal-button2.js';
8
8
  import { d as defineCustomElement$4 } from './bal-icon2.js';
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
- import { h as deepReady } from './helpers.js';
3
+ import { d as deepReady } from './helpers.js';
4
4
  import { B as BEM } from './bem.js';
5
5
  import { b as balBreakpoints } from './breakpoints.subject.js';
6
6
  import { L as ListenToBreakpoints } from './breakpoints.decorator.js';
@@ -3,7 +3,7 @@ import { _ as __decorate, a as __metadata } from './tslib.es6.js';
3
3
  import { l as lodash_isnil } from './index3.js';
4
4
  import { i as inheritAttributes } from './attributes.js';
5
5
  import { B as BEM } from './bem.js';
6
- import { b as waitAfterFramePaint, n as raf } from './helpers.js';
6
+ import { a as waitAfterFramePaint, n as raf } from './helpers.js';
7
7
  import { L as Logger } from './log.js';
8
8
  import { s as startsWith, i as includes } from './utils.js';
9
9
  import { d as defaultBalAriaForm } from './form.js';
@@ -5,7 +5,7 @@ import { i as inheritAttributes } from './attributes.js';
5
5
  import { B as BEM } from './bem.js';
6
6
  import { d as defaultBalAriaForm } from './form.js';
7
7
  import { s as stopEventBubbling } from './form-input.js';
8
- import { j as isDescendant, q as hasTagName } from './helpers.js';
8
+ import { i as isDescendant, q as hasTagName } from './helpers.js';
9
9
  import { L as Logger } from './log.js';
10
10
  import { d as defineCustomElement$3 } from './bal-radio2.js';
11
11
  import { d as defineCustomElement$2 } from './bal-radio-icon2.js';
@@ -343,13 +343,13 @@ __decorate([
343
343
  __decorate([
344
344
  ListenToFocus(),
345
345
  __metadata("design:type", Function),
346
- __metadata("design:paramtypes", [FocusEvent]),
346
+ __metadata("design:paramtypes", [Object]),
347
347
  __metadata("design:returntype", void 0)
348
348
  ], RadioGroup.prototype, "focusInListener", null);
349
349
  __decorate([
350
350
  ListenToFocus(),
351
351
  __metadata("design:type", Function),
352
- __metadata("design:paramtypes", [FocusEvent]),
352
+ __metadata("design:paramtypes", [Object]),
353
353
  __metadata("design:returntype", void 0)
354
354
  ], RadioGroup.prototype, "focusOutListener", null);
355
355
  __decorate([
@@ -7,7 +7,7 @@ import { B as BEM } from './bem.js';
7
7
  import { F as FOCUS_KEYS } from './focus-visible.js';
8
8
  import { d as defaultBalAriaForm } from './form.js';
9
9
  import { s as stopEventBubbling, i as inputSetFocus, a as inputSetBlur } from './form-input.js';
10
- import { j as isDescendant } from './helpers.js';
10
+ import { i as isDescendant } from './helpers.js';
11
11
  import { L as Logger } from './log.js';
12
12
  import { d as defineCustomElement$1 } from './bal-radio-icon2.js';
13
13
  import { L as ListenToElementStates } from './element-states.decorator.js';
@@ -324,7 +324,7 @@ const Segment = /*@__PURE__*/ proxyCustomElement(class Segment extends HTMLEleme
324
324
  render() {
325
325
  const { invalid, isVertical, scrollable, keyboardMode, expanded, isMobile, disabled } = this;
326
326
  const block = BEM.block('segment');
327
- return (h(Host, { key: 'd374c489107b4f4cea5994673d396392b4db7d6d', role: "radiogroup", id: this.ariaForm.controlId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('invalid').class(invalid)), block.modifier('vertical').class(isVertical)), block.modifier('scrollable').class(scrollable)), block.modifier('keyboard').class(keyboardMode)), block.modifier('disabled').class(disabled)), block.modifier('expanded').class((expanded || isMobile) && !isVertical)), onClick: this.onClick }, h("slot", { key: 'e42649f221772809d983d614fc76738174e514b7', onSlotchange: this.onSlottedItemsChange })));
327
+ return (h(Host, { key: 'ec42c94d1b582b721dbde28c5e555283826641bb', role: "radiogroup", id: this.ariaForm.controlId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('invalid').class(invalid)), block.modifier('vertical').class(isVertical)), block.modifier('scrollable').class(scrollable)), block.modifier('keyboard').class(keyboardMode)), block.modifier('disabled').class(disabled)), block.modifier('expanded').class((expanded || isMobile) && !isVertical)), onClick: this.onClick }, h("slot", { key: '334921cd162900655d920e7b701140bb5899377b', onSlotchange: this.onSlottedItemsChange })));
328
328
  }
329
329
  get el() { return this; }
330
330
  static get watchers() { return {
@@ -362,13 +362,13 @@ __decorate([
362
362
  __decorate([
363
363
  ListenToFocus(),
364
364
  __metadata("design:type", Function),
365
- __metadata("design:paramtypes", [FocusEvent]),
365
+ __metadata("design:paramtypes", [Object]),
366
366
  __metadata("design:returntype", void 0)
367
367
  ], Segment.prototype, "focusInListener", null);
368
368
  __decorate([
369
369
  ListenToFocus(),
370
370
  __metadata("design:type", Function),
371
- __metadata("design:paramtypes", [FocusEvent]),
371
+ __metadata("design:paramtypes", [Object]),
372
372
  __metadata("design:returntype", void 0)
373
373
  ], Segment.prototype, "focusOutListener", null);
374
374
  __decorate([
@@ -6,7 +6,7 @@ import { a as areArraysEqual } from './array.js';
6
6
  import { B as BEM } from './bem.js';
7
7
  import { d as defaultBalAriaForm } from './form.js';
8
8
  import { s as stopEventBubbling } from './form-input.js';
9
- import { p as rIC, d as waitAfterIdleCallback, h as deepReady, j as isDescendant, k as debounce } from './helpers.js';
9
+ import { p as rIC, b as waitAfterIdleCallback, d as deepReady, i as isDescendant, k as debounce } from './helpers.js';
10
10
  import { L as Logger } from './log.js';
11
11
  import { r as removeValue, p as preventDefault, l as length, g as getValues, i as includes, s as startsWith, a as addValue, f as findLabelByValue, b as findOptionByLabel, v as validateAfterBlur } from './utils.js';
12
12
  import { d as defineCustomElement$6 } from './bal-checkbox2.js';
@@ -407,9 +407,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
407
407
  await deepReady(this.el);
408
408
  const hasOptions = this.options.size > 0;
409
409
  if (hasOptions) {
410
- if (!this.remote) {
411
- this.syncRawValue(isNotHuman);
412
- }
410
+ this.syncRawValue(isNotHuman);
413
411
  }
414
412
  else {
415
413
  this.waitForOptionsAndThenUpdateRawValuesTimer = setTimeout(() => this.waitForOptionsAndThenUpdateRawValues(), 10);
@@ -722,7 +720,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
722
720
  */
723
721
  render() {
724
722
  var _a;
725
- const Chip = (props) => (h("bal-tag", { key: 'a348dae32f7f0638b66dc2ceda8a26763fe18c07', size: "", closable: !this.disabled, disabled: this.disabled, invalid: this.invalid, tabindex: -1, onBalCloseClick: _ => this.removeValue(props.value), "data-testid": "bal-select-chip" }, findLabelByValue(this.options, props.value) || props.value));
723
+ const Chip = (props) => (h("bal-tag", { key: '69e00b5d661f1917fb6cbcf8919a8ce9670a25dd', size: "", closable: !this.disabled, disabled: this.disabled, invalid: this.invalid, tabindex: -1, onBalCloseClick: _ => this.removeValue(props.value), "data-testid": "bal-select-chip" }, findLabelByValue(this.options, props.value) || props.value));
726
724
  const valuesArray = getValues(this.rawValue);
727
725
  const block = BEM.block('select');
728
726
  const nativeEl = block.element('native');
@@ -736,19 +734,19 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
736
734
  const optionContentEl = optionEl.element('content');
737
735
  const optionContentCheckboxEl = optionContentEl.element('checkbox');
738
736
  const optionContentLabelEl = optionContentEl.element('label');
739
- return (h(Host, { key: '126edf5ce107f3bd0c1e98ca7ec51382f5f93a8b', role: "listbox", onClick: this.handleClick, "aria-disabled": ariaBooleanToString(this.disabled), "data-value": (_a = this.rawValue) === null || _a === void 0 ? void 0 : _a.map(v => findLabelByValue(this.options, v)).join(','), class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('disabled').class(this.disabled || this.readonly)), block.modifier('inverted').class(this.inverted)), block.modifier('inverted-footer').class(this.inverted)) }, h("select", { key: '561e175063c2886f99fdef91d0e11c1c38affb4b', class: Object.assign({}, nativeEl.class()), name: this.name, multiple: this.multiple, required: this.required, tabindex: -1, ref: el => (this.nativeSelectEl = el) }, valuesArray.map((value) => (h("option", { key: value, value: value, selected: true }, value)))), h("bal-popover", { key: '5ce86ac980b73f01227edaba951299f2c7caa1a3', onBalChange: this.handlePopoverChange, ref: el => (this.popoverElement = el) }, h("div", { key: '7fdaed7cbf590c937e67de98bf5c54e0ca62083a', "bal-popover-trigger": true, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, controlEl.class()), controlEl.modifier('invalid').class(this.invalid)), controlEl.modifier('disabled').class(this.disabled || this.readonly)), controlEl.modifier('focused').class(this.isPopoverOpen)), controlEl.modifier('inverted-footer').class(this.inverted)) }, h("div", { key: '3837bb760eaba758fe087195e9ca80ec298ae3f6', class: Object.assign(Object.assign({}, controlSelectionsEl.class()), controlSelectionsEl
737
+ return (h(Host, { key: '3d670b9aa3467ee96c65e2b1a98beda836cac095', role: "listbox", onClick: this.handleClick, "aria-disabled": ariaBooleanToString(this.disabled), "data-value": (_a = this.rawValue) === null || _a === void 0 ? void 0 : _a.map(v => findLabelByValue(this.options, v)).join(','), class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('disabled').class(this.disabled || this.readonly)), block.modifier('inverted').class(this.inverted)), block.modifier('inverted-footer').class(this.inverted)) }, h("select", { key: '1d438d1034af395d0f99bed2443bb66de288bb0a', class: Object.assign({}, nativeEl.class()), name: this.name, multiple: this.multiple, required: this.required, tabindex: -1, ref: el => (this.nativeSelectEl = el) }, valuesArray.map((value) => (h("option", { key: value, value: value, selected: true }, value)))), h("bal-popover", { key: '8dc177324409d7bfdd75e3f375acd00c41ac11e8', onBalChange: this.handlePopoverChange, ref: el => (this.popoverElement = el) }, h("div", { key: 'eaa30ce518119e5ced60fc093e887167c4e83c69', "bal-popover-trigger": true, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, controlEl.class()), controlEl.modifier('invalid').class(this.invalid)), controlEl.modifier('disabled').class(this.disabled || this.readonly)), controlEl.modifier('focused').class(this.isPopoverOpen)), controlEl.modifier('inverted-footer').class(this.inverted)) }, h("div", { key: '4c6b0c807a1c25712d128216909e137af0d3cbf8', class: Object.assign(Object.assign({}, controlSelectionsEl.class()), controlSelectionsEl
740
738
  .modifier('clickable')
741
739
  .class(!this.isPopoverOpen && !this.disabled && !this.readonly)), onClick: this.handleInputClick, ref: el => (this.selectionEl = el) }, valuesArray
742
740
  .filter(_ => this.multiple)
743
- .map((value) => (h(Chip, { value: value }))), h("input", { key: 'd1134c3c0459c89b0952e47f5fac67e3753f3c75', type: "text", class: Object.assign(Object.assign({}, controlInputEl.class()), { 'input': true, 'is-inverted': this.inverted, 'is-danger': this.invalid, 'is-disabled': this.disabled || this.readonly, 'is-clickable': !this.isPopoverOpen && !this.disabled && !this.readonly, 'data-test-select-input': true }), id: this.ariaForm.controlId || this.inputId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, "aria-invalid": this.invalid === true ? 'true' : 'false', "aria-disabled": ariaBooleanToString(this.disabled), "data-testid": "bal-select-input", autocomplete: this.autocomplete, "aria-autocomplete": this.autocomplete === 'off' ? 'none' : null, placeholder: this.inputPlaceholder, readonly: !this.typeahead || this.disabled || this.readonly, contentEditable: this.typeahead, disabled: this.disabled, maxLength: this.maxLength, tabindex: this.balTabindex, onInput: this.handleInput, onClick: this.handleInputClick, onChange: this.handleInputChange, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onKeyPress: this.handleKeyPress, ref: el => (this.inputElement = el) })), !this.freeSolo && !this.loading ? (h("bal-icon", { class: Object.assign(Object.assign(Object.assign({}, controlIconEl.class()), controlIconEl.modifier('loading').class(this.loading)), controlIconEl.modifier('clickable').class(!this.disabled && !this.readonly)), name: !this.inverted ? 'caret-down' : 'caret-up', color: this.disabled || this.readonly
741
+ .map((value) => (h(Chip, { value: value }))), h("input", { key: '1d7fb70f81b7c0ae5fad2f77089ba2a8b04da050', type: "text", class: Object.assign(Object.assign({}, controlInputEl.class()), { 'input': true, 'is-inverted': this.inverted, 'is-danger': this.invalid, 'is-disabled': this.disabled || this.readonly, 'is-clickable': !this.isPopoverOpen && !this.disabled && !this.readonly, 'data-test-select-input': true }), id: this.ariaForm.controlId || this.inputId, "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, "aria-invalid": this.invalid === true ? 'true' : 'false', "aria-disabled": ariaBooleanToString(this.disabled), "data-testid": "bal-select-input", autocomplete: this.autocomplete, "aria-autocomplete": this.autocomplete === 'off' ? 'none' : null, placeholder: this.inputPlaceholder, readonly: !this.typeahead || this.disabled || this.readonly, contentEditable: this.typeahead, disabled: this.disabled, maxLength: this.maxLength, tabindex: this.balTabindex, onInput: this.handleInput, onClick: this.handleInputClick, onChange: this.handleInputChange, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onKeyPress: this.handleKeyPress, ref: el => (this.inputElement = el) })), !this.freeSolo && !this.loading ? (h("bal-icon", { class: Object.assign(Object.assign(Object.assign({}, controlIconEl.class()), controlIconEl.modifier('loading').class(this.loading)), controlIconEl.modifier('clickable').class(!this.disabled && !this.readonly)), name: !this.inverted ? 'caret-down' : 'caret-up', color: this.disabled || this.readonly
744
742
  ? 'grey-light'
745
743
  : this.inverted
746
744
  ? 'white'
747
745
  : this.invalid
748
746
  ? 'danger'
749
- : 'primary', turn: this.isPopoverOpen, onClick: ev => this.handleInputClick(ev, true), size: !this.inverted ? '' : 'x-small' })) : ('')), h("bal-popover-content", { key: '36cdae574c4b7588c1f8c2816b0b872a9c4cc2bd', class: Object.assign({}, popoverContentEl.class()), scrollable: this.scrollable, spaceless: true, expanded: true }, this.optionArray.map((option, index) => (h("button", { key: option.value, type: "button", role: "option", id: option.id, "data-value": option.value, "data-label": option.label, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, optionEl.class()), optionEl
747
+ : 'primary', turn: this.isPopoverOpen, onClick: ev => this.handleInputClick(ev, true), size: !this.inverted ? '' : 'x-small' })) : ('')), h("bal-popover-content", { key: '756cb6d1ff62300a2b7b7d6c1250195da8fa3849', class: Object.assign({}, popoverContentEl.class()), scrollable: this.scrollable, spaceless: true, expanded: true }, this.optionArray.map((option, index) => (h("button", { key: option.value, type: "button", role: "option", id: option.id, "data-value": option.value, "data-label": option.label, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, optionEl.class()), optionEl
750
748
  .modifier('selected')
751
- .class(valuesArray.includes(option.value) && !(this.typeahead && !this.multiple))), optionEl.modifier('focused').class(this.focusIndex === index)), optionEl.modifier('checkbox').class(this.multiple)), optionEl.modifier('disabled').class(option.disabled === true)), "data-testid": "bal-select-option", disabled: option.disabled, tabIndex: -1, onMouseEnter: () => this.handleOptionMouseEnter(index), onClick: () => this.optionSelected(option) }, h("div", { class: Object.assign({}, optionContentEl.class()) }, h("span", { class: Object.assign({}, optionContentCheckboxEl.class()), style: { display: this.multiple ? 'flex' : 'none' } }, h("bal-checkbox", { checked: valuesArray.includes(option.value), tabindex: -1, nonSubmit: true, flat: true, onBalChange: preventDefault })), h("span", { class: Object.assign({}, optionContentLabelEl.class()), innerHTML: option.innerHTML }))))), h("div", { key: '70eb78a2d378401f173ee8e62f37fbc602827fba', class: Object.assign(Object.assign({}, popoverContentEmptyEl.class()), popoverContentEmptyEl
749
+ .class(valuesArray.includes(option.value) && !(this.typeahead && !this.multiple))), optionEl.modifier('focused').class(this.focusIndex === index)), optionEl.modifier('checkbox').class(this.multiple)), optionEl.modifier('disabled').class(option.disabled === true)), "data-testid": "bal-select-option", disabled: option.disabled, tabIndex: -1, onMouseEnter: () => this.handleOptionMouseEnter(index), onClick: () => this.optionSelected(option) }, h("div", { class: Object.assign({}, optionContentEl.class()) }, h("span", { class: Object.assign({}, optionContentCheckboxEl.class()), style: { display: this.multiple ? 'flex' : 'none' } }, h("bal-checkbox", { checked: valuesArray.includes(option.value), tabindex: -1, nonSubmit: true, flat: true, onBalChange: preventDefault })), h("span", { class: Object.assign({}, optionContentLabelEl.class()), innerHTML: option.innerHTML }))))), h("div", { key: '7f49f62da3e7a1edd769f41e43fddda83a50f52b', class: Object.assign(Object.assign({}, popoverContentEmptyEl.class()), popoverContentEmptyEl
752
750
  .modifier('hidden')
753
751
  .class(this.noDataLabel === undefined || this.hasOptions() || !this.typeahead || this.selectionOptional)) }, this.noDataLabel)))));
754
752
  }
@@ -6,6 +6,7 @@ const TabItem = /*@__PURE__*/ proxyCustomElement(class TabItem extends HTMLEleme
6
6
  super();
7
7
  this.__registerHost();
8
8
  this.balNavigate = createEvent(this, "balNavigate", 7);
9
+ this.balKeyDown = createEvent(this, "balKeyDown", 7);
9
10
  this.inheritAttributes = {};
10
11
  this.tabPanelID = `bal-tab-panel-id-${panelID++}`;
11
12
  this.isActive = false;
@@ -63,6 +64,7 @@ const TabItem = /*@__PURE__*/ proxyCustomElement(class TabItem extends HTMLEleme
63
64
  passed: false,
64
65
  prevent: this.prevent,
65
66
  navigate: this.balNavigate,
67
+ keyDown: this.balKeyDown,
66
68
  trackingData: this.inheritAttributes,
67
69
  noPanel: this.noPanel,
68
70
  aria: this.aria,
@@ -73,10 +75,10 @@ const TabItem = /*@__PURE__*/ proxyCustomElement(class TabItem extends HTMLEleme
73
75
  render() {
74
76
  const hasPanel = !this.noPanel;
75
77
  const noPanelOrInactive = !this.isActive || this.noPanel;
76
- return (h(Host, { key: 'fb75a99fe41ccd8bbac4e1d8c0c8bf8a116e3121', id: this.tabPanelID, class: {
78
+ return (h(Host, { key: 'dff521c2768c6f6363c40f464d7a1c4b755ed56f', id: this.tabPanelID, class: {
77
79
  'bal-tab-item': true,
78
80
  'bal-tab-item--active': this.isActive,
79
- }, role: hasPanel ? 'tabpanel' : undefined, "aria-hidden": noPanelOrInactive ? 'true' : 'false', "aria-labelledby": this.tabsId ? `${this.tabsId}-button-${this.value}` : undefined, tabindex: noPanelOrInactive ? '-1' : undefined, hidden: noPanelOrInactive ? true : undefined }, h("slot", { key: '5e8e7ce04a22af2fce844c4604c3a3277dbccce5' })));
81
+ }, role: hasPanel ? 'tabpanel' : undefined, "aria-hidden": noPanelOrInactive ? 'true' : 'false', "aria-labelledby": this.tabsId ? `${this.tabsId}-button-${this.value}` : undefined, tabindex: noPanelOrInactive ? '-1' : undefined, hidden: noPanelOrInactive ? true : undefined }, h("slot", { key: '3a98e9f46657921751ba7d625ae45cf0eef46025' })));
80
82
  }
81
83
  get el() { return this; }
82
84
  }, [4, "bal-tab-item", {