@baloise/ds-core 16.3.0 → 16.4.0-nightly.20240916

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 (419) hide show
  1. package/README.md +1 -1
  2. package/components/all.d.ts +6 -0
  3. package/components/all.js +9 -0
  4. package/components/bal-accordion-summary.js +12 -2
  5. package/components/bal-accordion-trigger.js +15 -2
  6. package/components/bal-app.js +1 -85
  7. package/components/bal-app2.js +87 -0
  8. package/components/bal-carousel-item2.js +13 -3
  9. package/components/bal-carousel2.js +50 -20
  10. package/components/bal-checkbox-group.js +1 -1
  11. package/components/bal-checkbox2.js +13 -2
  12. package/components/bal-close2.js +1 -6
  13. package/components/bal-content.js +1 -69
  14. package/{dist/esm/bal-content.entry.js → components/bal-content2.js} +31 -12
  15. package/components/bal-date.js +1 -1
  16. package/components/bal-datepicker.js +1 -1
  17. package/components/bal-doc-app.d.ts +11 -0
  18. package/components/bal-doc-app.js +260 -0
  19. package/components/bal-dropdown.js +3 -3
  20. package/components/bal-file-upload.js +1 -1
  21. package/components/bal-icon2.js +1 -1
  22. package/components/bal-label2.js +3 -2
  23. package/components/bal-list-item-accordion-head2.js +7 -1
  24. package/components/bal-nav-menu-bar2.js +1 -1
  25. package/components/bal-nav-menu-flyout2.js +3 -6
  26. package/components/bal-nav.js +11 -8
  27. package/components/bal-option-list.js +27 -2
  28. package/components/bal-pagination2.js +3 -3
  29. package/components/bal-progress-bar.js +27 -12
  30. package/components/bal-radio2.js +1 -1
  31. package/components/bal-segment-item.d.ts +11 -0
  32. package/components/bal-segment-item.js +203 -0
  33. package/components/bal-segment.d.ts +11 -0
  34. package/components/bal-segment.js +337 -0
  35. package/components/bal-select2.js +1 -1
  36. package/components/bal-stack2.js +1 -1
  37. package/components/bal-steps.js +8 -6
  38. package/components/bal-tab-item.js +10 -2
  39. package/components/bal-tabs2.js +149 -31
  40. package/components/breakpoints.subject.js +3 -3
  41. package/components/index.esm.js +25 -1
  42. package/components/index.js +5 -289
  43. package/components/initialize.js +288 -0
  44. package/components/option.js +4 -1
  45. package/components/tokens.esm.js +1 -1
  46. package/components/window-resize.decorator.js +46 -0
  47. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  48. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  49. package/dist/baloise-design-system/index.esm.js +1 -1
  50. package/dist/baloise-design-system/p-028b2074da.system.entry.js +1 -0
  51. package/dist/baloise-design-system/p-03dd9d77.js +1 -0
  52. package/dist/baloise-design-system/{p-ae28b86fe5.entry.js → p-0ab43941ba.entry.js} +1 -1
  53. package/dist/baloise-design-system/p-0b657bd621.entry.js +1 -0
  54. package/dist/baloise-design-system/p-0ffc64a85d.entry.js +1 -0
  55. package/dist/baloise-design-system/p-13b192fa66.system.entry.js +1 -0
  56. package/dist/baloise-design-system/p-1509eaa7.system.js +1 -1
  57. package/dist/baloise-design-system/{p-60f45a7b48.entry.js → p-18322c3982.entry.js} +1 -1
  58. package/dist/baloise-design-system/p-265f9d51c9.system.entry.js +1 -0
  59. package/dist/baloise-design-system/{p-6ceac3e144.system.entry.js → p-28620358f2.system.entry.js} +1 -1
  60. package/dist/baloise-design-system/{p-51c0348938.entry.js → p-2905abdfb8.entry.js} +1 -1
  61. package/dist/baloise-design-system/p-29ba4f9afe.system.entry.js +1 -0
  62. package/dist/baloise-design-system/p-29cc1f4f03.entry.js +1 -0
  63. package/dist/baloise-design-system/{p-f6599f64b7.entry.js → p-2db4ff4c5b.entry.js} +1 -1
  64. package/dist/baloise-design-system/p-2f5e34adb5.entry.js +1 -0
  65. package/dist/baloise-design-system/{p-39bc49bc3d.entry.js → p-33028eda8b.entry.js} +1 -1
  66. package/dist/baloise-design-system/p-357ad79a9f.system.entry.js +1 -0
  67. package/dist/baloise-design-system/p-360068a4.system.js +1 -0
  68. package/dist/baloise-design-system/p-376d065607.entry.js +1 -0
  69. package/dist/baloise-design-system/{p-330b875d9d.system.entry.js → p-3818fa189f.system.entry.js} +1 -1
  70. package/dist/baloise-design-system/p-381fe5557d.entry.js +1 -0
  71. package/dist/baloise-design-system/p-40b5ad07c5.system.entry.js +1 -0
  72. package/dist/baloise-design-system/p-41924c6dc6.entry.js +1 -0
  73. package/dist/baloise-design-system/{p-e60c936359.system.entry.js → p-43824ec17e.system.entry.js} +1 -1
  74. package/dist/baloise-design-system/p-44732905.system.js +1 -0
  75. package/dist/baloise-design-system/{p-4afba8511a.system.entry.js → p-47a8ad4d7a.system.entry.js} +1 -1
  76. package/dist/baloise-design-system/{p-976ed5bcf1.entry.js → p-488c4a8ce1.entry.js} +1 -1
  77. package/dist/baloise-design-system/{p-f9db454e37.entry.js → p-50bedf66b0.entry.js} +1 -1
  78. package/dist/baloise-design-system/{p-c572e259f4.system.entry.js → p-50e6507a04.system.entry.js} +1 -1
  79. package/dist/baloise-design-system/p-53e98a0f71.entry.js +1 -0
  80. package/dist/baloise-design-system/{p-cef24f8c62.entry.js → p-547aae9610.entry.js} +1 -1
  81. package/dist/baloise-design-system/p-54f81c32.js +1 -1
  82. package/dist/baloise-design-system/{p-6f4a362824.system.entry.js → p-5db0544e97.system.entry.js} +1 -1
  83. package/dist/baloise-design-system/p-5e2b47ce.system.js +1 -0
  84. package/dist/baloise-design-system/{p-b779742f50.entry.js → p-5f004add03.entry.js} +1 -1
  85. package/dist/baloise-design-system/{p-d319b257.system.js → p-688b402d.system.js} +1 -1
  86. package/dist/baloise-design-system/p-6b9abd0d.js +1 -0
  87. package/dist/baloise-design-system/{p-22b041a511.entry.js → p-6c2bf02eb3.entry.js} +1 -1
  88. package/dist/baloise-design-system/p-6d1b6215.js +1 -0
  89. package/dist/baloise-design-system/p-6e3a79cce0.system.entry.js +1 -0
  90. package/dist/baloise-design-system/p-71588db3.system.js +1 -0
  91. package/dist/baloise-design-system/p-7291766c.system.js +1 -0
  92. package/dist/baloise-design-system/p-72fc9f680b.system.entry.js +1 -0
  93. package/dist/baloise-design-system/{p-ba14aa7026.system.entry.js → p-8080a1192c.system.entry.js} +1 -1
  94. package/dist/baloise-design-system/{p-1be257c9cd.system.entry.js → p-8131896202.system.entry.js} +1 -1
  95. package/dist/baloise-design-system/p-814945e07a.system.entry.js +1 -0
  96. package/dist/baloise-design-system/p-8de1a12660.entry.js +1 -0
  97. package/dist/baloise-design-system/{p-8870e1f3e0.system.entry.js → p-8e17b76e7c.system.entry.js} +1 -1
  98. package/dist/baloise-design-system/{p-1de6b20b1c.system.entry.js → p-97d2dc2d80.system.entry.js} +1 -1
  99. package/dist/baloise-design-system/{p-12bcc7da.js → p-9b4da619.js} +1 -1
  100. package/dist/baloise-design-system/{p-b97d9336a7.system.entry.js → p-9bb8778cdc.system.entry.js} +1 -1
  101. package/dist/baloise-design-system/p-a507ff25cb.system.entry.js +1 -0
  102. package/dist/baloise-design-system/{p-ad00d94e7f.entry.js → p-a5ee486a2b.entry.js} +1 -1
  103. package/dist/baloise-design-system/{p-301e753d6f.system.entry.js → p-a6c5468187.system.entry.js} +1 -1
  104. package/dist/baloise-design-system/p-a78d1ca569.system.entry.js +1 -0
  105. package/dist/baloise-design-system/{p-cf0c50d42a.system.entry.js → p-aa10ce253b.system.entry.js} +1 -1
  106. package/dist/baloise-design-system/p-b51665840d.entry.js +1 -0
  107. package/dist/baloise-design-system/{p-982fa892e8.system.entry.js → p-b8251b8f68.system.entry.js} +1 -1
  108. package/dist/baloise-design-system/p-b87c29c80b.entry.js +1 -0
  109. package/dist/baloise-design-system/{p-80b45dd4d6.system.entry.js → p-bcb892a723.system.entry.js} +1 -1
  110. package/dist/baloise-design-system/p-bee13e834e.entry.js +1 -0
  111. package/dist/baloise-design-system/p-bfcaf2bb.js +1 -0
  112. package/dist/baloise-design-system/p-c0125be5ed.entry.js +1 -0
  113. package/dist/baloise-design-system/p-c2de2596d1.system.entry.js +1 -0
  114. package/dist/baloise-design-system/{p-f02ea04390.entry.js → p-c6339999ca.entry.js} +1 -1
  115. package/dist/baloise-design-system/p-c68cc06fbe.system.entry.js +1 -0
  116. package/dist/baloise-design-system/p-c6f79792ab.entry.js +1 -0
  117. package/dist/baloise-design-system/p-c957d4dada.entry.js +1 -0
  118. package/dist/baloise-design-system/{p-3f1c49d0.js → p-caec1f9e.js} +1 -1
  119. package/dist/baloise-design-system/{p-45e0c0783b.entry.js → p-cafe624e35.entry.js} +1 -1
  120. package/dist/baloise-design-system/p-cda868a6a5.entry.js +1 -0
  121. package/dist/baloise-design-system/{p-a52564d27f.system.entry.js → p-d059465399.system.entry.js} +1 -1
  122. package/dist/baloise-design-system/{p-7292c6e1a1.entry.js → p-dbab5242fb.entry.js} +1 -1
  123. package/dist/baloise-design-system/{p-3bad0907.system.js → p-de36076c.system.js} +1 -1
  124. package/dist/baloise-design-system/p-e137e273b7.system.entry.js +1 -0
  125. package/dist/baloise-design-system/{p-55faac1d.system.js → p-e187b9de.system.js} +1 -1
  126. package/dist/baloise-design-system/p-e8ffddeb.js +1 -0
  127. package/dist/baloise-design-system/{p-9e167705ca.entry.js → p-ecab0d67d5.entry.js} +1 -1
  128. package/dist/baloise-design-system/p-f33cfe7825.entry.js +1 -0
  129. package/dist/baloise-design-system/{p-94efe2aa.js → p-f5940253.js} +1 -1
  130. package/dist/baloise-design-system/{p-013b4c72.system.js → p-f959646a.system.js} +1 -1
  131. package/dist/baloise-design-system/{p-47b18581c7.system.entry.js → p-f9dba0b697.system.entry.js} +1 -1
  132. package/dist/baloise-design-system/{p-d0d06aa690.entry.js → p-fa8201fa9b.entry.js} +1 -1
  133. package/dist/baloise-design-system/{p-b7035c24.system.js → p-fb186fec.system.js} +1 -1
  134. package/dist/baloise-design-system/p-fd4bbaef5e.system.entry.js +1 -0
  135. package/dist/baloise-design-system/{p-692536f9ff.system.entry.js → p-fd5a78208f.system.entry.js} +1 -1
  136. package/dist/cjs/app-globals-5fd73c0c.js +7 -0
  137. package/dist/cjs/bal-accordion_4.cjs.entry.js +29 -4
  138. package/dist/cjs/bal-carousel_2.cjs.entry.js +60 -24
  139. package/dist/cjs/bal-checkbox_2.cjs.entry.js +12 -2
  140. package/dist/cjs/bal-close.cjs.entry.js +1 -6
  141. package/dist/cjs/{bal-label.cjs.entry.js → bal-content_2.cjs.entry.js} +48 -2
  142. package/dist/cjs/bal-date-calendar_2.cjs.entry.js +2 -2
  143. package/dist/cjs/bal-date.cjs.entry.js +2 -2
  144. package/dist/cjs/bal-datepicker.cjs.entry.js +4 -4
  145. package/dist/cjs/bal-doc-app.cjs.entry.js +231 -0
  146. package/dist/cjs/bal-dropdown.cjs.entry.js +4 -4
  147. package/dist/cjs/bal-file-upload.cjs.entry.js +1 -1
  148. package/dist/cjs/bal-footer.cjs.entry.js +1 -1
  149. package/dist/cjs/bal-hint_3.cjs.entry.js +3 -3
  150. package/dist/cjs/bal-icon.cjs.entry.js +1 -1
  151. package/dist/cjs/bal-input-stepper.cjs.entry.js +1 -1
  152. package/dist/cjs/bal-list_8.cjs.entry.js +12 -4
  153. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  154. package/dist/cjs/bal-nav_8.cjs.entry.js +17 -18
  155. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  156. package/dist/cjs/bal-number-input.cjs.entry.js +1 -1
  157. package/dist/cjs/bal-option_2.cjs.entry.js +26 -2
  158. package/dist/cjs/bal-pagination.cjs.entry.js +6 -6
  159. package/dist/cjs/bal-popover_2.cjs.entry.js +3 -3
  160. package/dist/cjs/bal-popup.cjs.entry.js +1 -1
  161. package/dist/cjs/bal-progress-bar.cjs.entry.js +30 -17
  162. package/dist/cjs/bal-radio_2.cjs.entry.js +1 -1
  163. package/dist/cjs/bal-segment-item.cjs.entry.js +156 -0
  164. package/dist/cjs/bal-segment.cjs.entry.js +319 -0
  165. package/dist/cjs/bal-select_2.cjs.entry.js +1 -1
  166. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  167. package/dist/cjs/bal-stack.cjs.entry.js +1 -1
  168. package/dist/cjs/bal-steps.cjs.entry.js +10 -9
  169. package/dist/cjs/bal-tab-item_2.cjs.entry.js +158 -34
  170. package/dist/cjs/baloise-design-system.cjs.js +3 -2
  171. package/dist/cjs/{breakpoints.decorator-47fd06b2.js → breakpoints.decorator-86a4414a.js} +1 -1
  172. package/dist/cjs/{breakpoints.subject-06716a68.js → breakpoints.subject-7294b174.js} +4 -4
  173. package/dist/cjs/{date-3e33b208.js → date-20be7524.js} +1 -1
  174. package/dist/cjs/{app-globals-ae3a8623.js → global-2562a984.js} +2 -4
  175. package/dist/cjs/index.cjs.js +5 -5
  176. package/dist/cjs/{index.esm-4587dbf0.js → index.esm-54a3d84e.js} +28 -0
  177. package/dist/cjs/initialize-2a19d091.js +1 -1
  178. package/dist/cjs/loader.cjs.js +3 -2
  179. package/dist/cjs/{option-c33cf2b8.js → option-4034ca7d.js} +4 -1
  180. package/dist/cjs/{tokens.esm-dc93a5d7.js → tokens.esm-cddf70ee.js} +1 -1
  181. package/dist/cjs/window-resize.decorator-ef87a6fc.js +48 -0
  182. package/dist/collection/collection-manifest.json +4 -1
  183. package/dist/collection/components/bal-accordion/bal-accordion-summary/bal-accordion-summary.css +1 -1
  184. package/dist/collection/components/bal-accordion/bal-accordion-summary/bal-accordion-summary.js +11 -1
  185. package/dist/collection/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.css +1 -1
  186. package/dist/collection/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.js +14 -1
  187. package/dist/collection/components/bal-carousel/bal-carousel-item/bal-carousel-item.js +45 -2
  188. package/dist/collection/components/bal-carousel/bal-carousel.js +76 -13
  189. package/dist/collection/components/bal-carousel/controls/dot-control.js +2 -2
  190. package/dist/collection/components/bal-carousel/controls/large-control.js +2 -2
  191. package/dist/collection/components/bal-carousel/controls/small-control.js +2 -2
  192. package/dist/collection/components/bal-carousel/controls/tab-control.js +2 -2
  193. package/dist/collection/components/bal-checkbox/bal-checkbox.js +13 -2
  194. package/dist/collection/components/bal-close/bal-close.js +1 -6
  195. package/dist/collection/components/bal-content/bal-content.css +1 -1
  196. package/dist/collection/components/bal-content/bal-content.js +1 -1
  197. package/dist/collection/components/bal-icon/bal-icon.css +1 -1
  198. package/dist/collection/components/bal-label/bal-label.js +20 -2
  199. package/dist/collection/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.js +7 -1
  200. package/dist/collection/components/bal-nav/bal-nav-menu-bar/bal-nav-menu-bar.css +1 -1
  201. package/dist/collection/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.js +24 -6
  202. package/dist/collection/components/bal-nav/bal-nav.css +1 -1
  203. package/dist/collection/components/bal-nav/bal-nav.js +5 -2
  204. package/dist/collection/components/bal-nav/models/bal-nav-menu-link-item.js +2 -2
  205. package/dist/collection/components/bal-nav/models/bal-nav-meta-link-item.js +3 -3
  206. package/dist/collection/components/bal-option-list/bal-option-list.js +43 -2
  207. package/dist/collection/components/bal-pagination/bal-pagination.js +3 -3
  208. package/dist/collection/components/bal-progress-bar/bal-progress-bar.css +1 -1
  209. package/dist/collection/components/bal-progress-bar/bal-progress-bar.js +49 -12
  210. package/dist/collection/components/bal-segment/bal-segment-item/bal-segment-item.css +1 -0
  211. package/dist/collection/components/bal-segment/bal-segment-item/bal-segment-item.js +332 -0
  212. package/dist/collection/components/bal-segment/bal-segment.css +1 -0
  213. package/dist/collection/components/bal-segment/bal-segment.interfaces.js +4 -0
  214. package/dist/collection/components/bal-segment/bal-segment.js +537 -0
  215. package/dist/collection/components/bal-segment/bal-segment.types.js +1 -0
  216. package/dist/collection/components/bal-stack/bal-stack.css +1 -1
  217. package/dist/collection/components/bal-steps/bal-steps.css +1 -1
  218. package/dist/collection/components/bal-steps/bal-steps.js +26 -2
  219. package/dist/collection/components/bal-steps/components/step-button.js +2 -2
  220. package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +47 -2
  221. package/dist/collection/components/bal-tabs/bal-tabs.js +124 -21
  222. package/dist/collection/components/bal-tabs/components/tab-button.js +18 -6
  223. package/dist/collection/components/bal-tabs/components/tab-nav.js +3 -3
  224. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +1 -0
  225. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +229 -0
  226. package/dist/collection/utils/constants/version.constant.js +1 -1
  227. package/dist/collection/utils/date/date.spec.js +0 -1
  228. package/dist/collection/utils/dropdown/option.js +4 -1
  229. package/dist/collection/utils/dropdown/popup.js +2 -2
  230. package/dist/collection/utils/resize/index.js +4 -1
  231. package/dist/collection/utils/resize/window-resize.decorator.js +20 -0
  232. package/dist/collection/utils/resize/window-resize.interfaces.js +1 -0
  233. package/dist/collection/utils/resize/window-resize.listener.js +3 -3
  234. package/dist/collection/utils/resize/window-resize.subject.js +23 -0
  235. package/dist/collection/utils/string.js +10 -0
  236. package/dist/collection/utils/string.spec.js +24 -0
  237. package/dist/esm/app-globals-970bab17.js +5 -0
  238. package/dist/esm/bal-accordion_4.entry.js +29 -4
  239. package/dist/esm/bal-carousel_2.entry.js +61 -25
  240. package/dist/esm/bal-checkbox_2.entry.js +12 -2
  241. package/dist/esm/bal-close.entry.js +1 -6
  242. package/dist/esm/{bal-label.entry.js → bal-content_2.entry.js} +48 -3
  243. package/dist/esm/bal-date-calendar_2.entry.js +2 -2
  244. package/dist/esm/bal-date.entry.js +2 -2
  245. package/dist/esm/bal-datepicker.entry.js +4 -4
  246. package/dist/esm/bal-doc-app.entry.js +227 -0
  247. package/dist/esm/bal-dropdown.entry.js +4 -4
  248. package/dist/esm/bal-file-upload.entry.js +1 -1
  249. package/dist/esm/bal-footer.entry.js +1 -1
  250. package/dist/esm/bal-hint_3.entry.js +3 -3
  251. package/dist/esm/bal-icon.entry.js +1 -1
  252. package/dist/esm/bal-input-stepper.entry.js +1 -1
  253. package/dist/esm/bal-list_8.entry.js +12 -4
  254. package/dist/esm/bal-logo.entry.js +3 -3
  255. package/dist/esm/bal-nav_8.entry.js +17 -18
  256. package/dist/esm/bal-navbar_5.entry.js +3 -3
  257. package/dist/esm/bal-number-input.entry.js +1 -1
  258. package/dist/esm/bal-option_2.entry.js +26 -2
  259. package/dist/esm/bal-pagination.entry.js +6 -6
  260. package/dist/esm/bal-popover_2.entry.js +3 -3
  261. package/dist/esm/bal-popup.entry.js +1 -1
  262. package/dist/esm/bal-progress-bar.entry.js +30 -17
  263. package/dist/esm/bal-radio_2.entry.js +1 -1
  264. package/dist/esm/bal-segment-item.entry.js +152 -0
  265. package/dist/esm/bal-segment.entry.js +315 -0
  266. package/dist/esm/bal-select_2.entry.js +1 -1
  267. package/dist/esm/bal-shape.entry.js +1 -1
  268. package/dist/esm/bal-stack.entry.js +1 -1
  269. package/dist/esm/bal-steps.entry.js +10 -9
  270. package/dist/esm/bal-tab-item_2.entry.js +159 -35
  271. package/dist/esm/baloise-design-system.js +3 -2
  272. package/dist/esm/{breakpoints.decorator-f979fe5c.js → breakpoints.decorator-35deac22.js} +1 -1
  273. package/dist/esm/{breakpoints.subject-9ea7074e.js → breakpoints.subject-23463a68.js} +4 -4
  274. package/dist/esm/{date-38a0b208.js → date-aba2d404.js} +1 -1
  275. package/dist/esm/{app-globals-b0dd0fc4.js → global-63f4bcec.js} +2 -4
  276. package/dist/esm/{index.esm-83b1f9c4.js → index.esm-76abd8e3.js} +25 -1
  277. package/dist/esm/index.js +6 -6
  278. package/dist/esm/initialize-e216cfe4.js +1 -1
  279. package/dist/esm/loader.js +3 -2
  280. package/dist/esm/{option-37cb0282.js → option-01553dab.js} +4 -1
  281. package/dist/esm/{tokens.esm-7d2734e1.js → tokens.esm-225678ae.js} +1 -1
  282. package/dist/esm/window-resize.decorator-fddb8221.js +46 -0
  283. package/dist/esm-es5/app-globals-970bab17.js +1 -0
  284. package/dist/esm-es5/bal-accordion_4.entry.js +1 -1
  285. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  286. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  287. package/dist/esm-es5/bal-close.entry.js +1 -1
  288. package/dist/esm-es5/bal-content_2.entry.js +1 -0
  289. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  290. package/dist/esm-es5/bal-date.entry.js +1 -1
  291. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  292. package/dist/esm-es5/bal-doc-app.entry.js +1 -0
  293. package/dist/esm-es5/bal-dropdown.entry.js +1 -1
  294. package/dist/esm-es5/bal-file-upload.entry.js +1 -1
  295. package/dist/esm-es5/bal-footer.entry.js +1 -1
  296. package/dist/esm-es5/bal-hint_3.entry.js +1 -1
  297. package/dist/esm-es5/bal-icon.entry.js +1 -1
  298. package/dist/esm-es5/bal-input-stepper.entry.js +1 -1
  299. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  300. package/dist/esm-es5/bal-logo.entry.js +1 -1
  301. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  302. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  303. package/dist/esm-es5/bal-number-input.entry.js +1 -1
  304. package/dist/esm-es5/bal-option_2.entry.js +1 -1
  305. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  306. package/dist/esm-es5/bal-popover_2.entry.js +1 -1
  307. package/dist/esm-es5/bal-popup.entry.js +1 -1
  308. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  309. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  310. package/dist/esm-es5/bal-segment-item.entry.js +1 -0
  311. package/dist/esm-es5/bal-segment.entry.js +1 -0
  312. package/dist/esm-es5/bal-select_2.entry.js +1 -1
  313. package/dist/esm-es5/bal-shape.entry.js +1 -1
  314. package/dist/esm-es5/bal-stack.entry.js +1 -1
  315. package/dist/esm-es5/bal-steps.entry.js +1 -1
  316. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  317. package/dist/esm-es5/baloise-design-system.js +1 -1
  318. package/dist/esm-es5/breakpoints.decorator-35deac22.js +1 -0
  319. package/dist/esm-es5/breakpoints.subject-23463a68.js +1 -0
  320. package/dist/esm-es5/{date-38a0b208.js → date-aba2d404.js} +1 -1
  321. package/dist/esm-es5/global-63f4bcec.js +1 -0
  322. package/dist/esm-es5/{index.esm-83b1f9c4.js → index.esm-76abd8e3.js} +1 -1
  323. package/dist/esm-es5/index.js +1 -1
  324. package/dist/esm-es5/initialize-e216cfe4.js +1 -1
  325. package/dist/esm-es5/loader.js +1 -1
  326. package/dist/esm-es5/option-01553dab.js +1 -0
  327. package/dist/esm-es5/window-resize.decorator-fddb8221.js +1 -0
  328. package/dist/html.html-data.json +161 -3
  329. package/dist/types/components/bal-accordion/bal-accordion-summary/bal-accordion-summary.d.ts +1 -0
  330. package/dist/types/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.d.ts +1 -0
  331. package/dist/types/components/bal-carousel/bal-carousel-item/bal-carousel-item.d.ts +6 -0
  332. package/dist/types/components/bal-carousel/bal-carousel.d.ts +11 -2
  333. package/dist/types/components/bal-carousel/controls/dot-control.d.ts +1 -0
  334. package/dist/types/components/bal-carousel/controls/large-control.d.ts +1 -0
  335. package/dist/types/components/bal-carousel/controls/small-control.d.ts +1 -0
  336. package/dist/types/components/bal-carousel/controls/tab-control.d.ts +1 -0
  337. package/dist/types/components/bal-checkbox/bal-checkbox.d.ts +5 -0
  338. package/dist/types/components/bal-close/bal-close.d.ts +0 -2
  339. package/dist/types/components/bal-content/bal-content.interfaces.d.ts +1 -1
  340. package/dist/types/components/bal-icon/bal-icon.interfaces.d.ts +1 -1
  341. package/dist/types/components/bal-label/bal-label.d.ts +4 -1
  342. package/dist/types/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.d.ts +1 -0
  343. package/dist/types/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.d.ts +4 -1
  344. package/dist/types/components/bal-nav/models/bal-nav-link-item.d.ts +1 -0
  345. package/dist/types/components/bal-nav/models/bal-nav-menu-link-item.d.ts +1 -0
  346. package/dist/types/components/bal-nav/models/bal-nav-meta-link-item.d.ts +3 -1
  347. package/dist/types/components/bal-option-list/bal-option-list.d.ts +5 -0
  348. package/dist/types/components/bal-progress-bar/bal-progress-bar.d.ts +8 -2
  349. package/dist/types/components/bal-progress-bar/bal-progress-bar.interfaces.d.ts +1 -0
  350. package/dist/types/components/bal-segment/bal-segment-item/bal-segment-item.d.ts +62 -0
  351. package/dist/types/components/bal-segment/bal-segment.d.ts +111 -0
  352. package/dist/types/components/bal-segment/bal-segment.interfaces.d.ts +20 -0
  353. package/dist/types/components/bal-segment/bal-segment.types.d.ts +1 -0
  354. package/dist/types/components/bal-steps/bal-steps.d.ts +4 -0
  355. package/dist/types/components/bal-steps/bal-steps.interfaces.d.ts +3 -1
  356. package/dist/types/components/bal-steps/components/step-button.d.ts +1 -0
  357. package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +10 -0
  358. package/dist/types/components/bal-tabs/bal-tab.type.d.ts +5 -3
  359. package/dist/types/components/bal-tabs/bal-tabs.d.ts +15 -3
  360. package/dist/types/components/bal-tabs/bal-tabs.interfaces.d.ts +3 -0
  361. package/dist/types/components/bal-tabs/components/tab-button.d.ts +1 -0
  362. package/dist/types/components/bal-tabs/components/tab-nav.d.ts +1 -0
  363. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +21 -0
  364. package/dist/types/components.d.ts +272 -10
  365. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +81 -0
  366. package/dist/types/interfaces.d.ts +1 -0
  367. package/dist/types/utils/dropdown/option.d.ts +1 -1
  368. package/dist/types/utils/dropdown/popup.d.ts +1 -1
  369. package/dist/types/utils/resize/index.d.ts +4 -1
  370. package/dist/types/utils/resize/window-resize.decorator.d.ts +3 -0
  371. package/dist/types/utils/resize/window-resize.interfaces.d.ts +5 -0
  372. package/dist/types/utils/resize/window-resize.listener.d.ts +1 -1
  373. package/dist/types/utils/resize/window-resize.subject.d.ts +9 -0
  374. package/dist/types/utils/string.d.ts +1 -0
  375. package/package.json +9 -9
  376. package/dist/baloise-design-system/p-0ab7aa0e.js +0 -1
  377. package/dist/baloise-design-system/p-126c79c9e9.system.entry.js +0 -1
  378. package/dist/baloise-design-system/p-1502fa2526.entry.js +0 -1
  379. package/dist/baloise-design-system/p-1e100fd83b.entry.js +0 -1
  380. package/dist/baloise-design-system/p-254b130be5.system.entry.js +0 -1
  381. package/dist/baloise-design-system/p-2d82b78410.entry.js +0 -1
  382. package/dist/baloise-design-system/p-2d8bd11634.entry.js +0 -1
  383. package/dist/baloise-design-system/p-2e2ed7a07f.entry.js +0 -1
  384. package/dist/baloise-design-system/p-2ebc8f9d0c.system.entry.js +0 -1
  385. package/dist/baloise-design-system/p-30fc270ec1.entry.js +0 -1
  386. package/dist/baloise-design-system/p-35aa7ecb24.entry.js +0 -1
  387. package/dist/baloise-design-system/p-4f3776ea4e.system.entry.js +0 -1
  388. package/dist/baloise-design-system/p-55f280cf33.system.entry.js +0 -1
  389. package/dist/baloise-design-system/p-63dfa27862.system.entry.js +0 -1
  390. package/dist/baloise-design-system/p-6cf5e22bb4.entry.js +0 -1
  391. package/dist/baloise-design-system/p-7047afd8.system.js +0 -1
  392. package/dist/baloise-design-system/p-7d498fc5.js +0 -1
  393. package/dist/baloise-design-system/p-87d9c24d45.system.entry.js +0 -1
  394. package/dist/baloise-design-system/p-8a87b9a8.system.js +0 -1
  395. package/dist/baloise-design-system/p-96c55b4f58.entry.js +0 -1
  396. package/dist/baloise-design-system/p-b22fa7966b.entry.js +0 -1
  397. package/dist/baloise-design-system/p-bcca1ed3.system.js +0 -1
  398. package/dist/baloise-design-system/p-c304d5fa9c.entry.js +0 -1
  399. package/dist/baloise-design-system/p-cee7a0dd73.system.entry.js +0 -1
  400. package/dist/baloise-design-system/p-cf47f1f53c.entry.js +0 -1
  401. package/dist/baloise-design-system/p-d585a3ad56.system.entry.js +0 -1
  402. package/dist/baloise-design-system/p-dbc2d22240.system.entry.js +0 -1
  403. package/dist/baloise-design-system/p-e71a27141c.entry.js +0 -1
  404. package/dist/baloise-design-system/p-e78a6409.js +0 -1
  405. package/dist/baloise-design-system/p-e7a4d97c51.entry.js +0 -1
  406. package/dist/baloise-design-system/p-e93d9571f5.system.entry.js +0 -1
  407. package/dist/baloise-design-system/p-ecd39e3bec.entry.js +0 -1
  408. package/dist/baloise-design-system/p-f076d1ed4f.system.entry.js +0 -1
  409. package/dist/baloise-design-system/p-f0ee1b670b.system.entry.js +0 -1
  410. package/dist/cjs/bal-content.cjs.entry.js +0 -56
  411. package/dist/esm-es5/app-globals-b0dd0fc4.js +0 -1
  412. package/dist/esm-es5/bal-content.entry.js +0 -1
  413. package/dist/esm-es5/bal-label.entry.js +0 -1
  414. package/dist/esm-es5/breakpoints.decorator-f979fe5c.js +0 -1
  415. package/dist/esm-es5/breakpoints.subject-9ea7074e.js +0 -1
  416. package/dist/esm-es5/option-37cb0282.js +0 -1
  417. /package/dist/baloise-design-system/{p-fc80aa3e.system.js → p-7b021f06.system.js} +0 -0
  418. /package/dist/baloise-design-system/{p-6b5343bd.js → p-f8552716.js} +0 -0
  419. /package/dist/esm-es5/{tokens.esm-7d2734e1.js → tokens.esm-225678ae.js} +0 -0
@@ -19,6 +19,7 @@ export class Carousel {
19
19
  constructor() {
20
20
  this.previousTransformValue = 0;
21
21
  this.carouselId = `bal-carousel-${CarouselIds++}`;
22
+ this.carouselContainerId = `bal-carousel-${CarouselIds++}-container`;
22
23
  this.mutationObserverActive = true;
23
24
  /**
24
25
  * EVENT BINDING
@@ -44,6 +45,7 @@ export class Carousel {
44
45
  this.steps = 1;
45
46
  this.itemsPerView = 1;
46
47
  this.controls = 'none';
48
+ this.htmlRole = 'list';
47
49
  this.controlsOverflow = false;
48
50
  this.inverted = false;
49
51
  this.fullHeight = false;
@@ -85,6 +87,18 @@ export class Carousel {
85
87
  resizeListener() {
86
88
  this.itemsChanged();
87
89
  }
90
+ listenToKeyDown(ev) {
91
+ if (this.htmlRole !== 'tablist') {
92
+ if (ev.code === 'Tab') {
93
+ if (ev.shiftKey) {
94
+ this.focusPreviousItem(ev);
95
+ }
96
+ else {
97
+ this.focusNextItem(ev);
98
+ }
99
+ }
100
+ }
101
+ }
88
102
  /**
89
103
  * @internal define config for the component
90
104
  */
@@ -103,16 +117,12 @@ export class Carousel {
103
117
  const activeSlide = await this.buildSlide(previousValue);
104
118
  if (activeSlide) {
105
119
  const didAnimate = await this.animate(activeSlide.transformActive, true);
106
- if (this.value > 0) {
120
+ if (didAnimate || this.value !== previousValue) {
107
121
  this.value = previousValue;
108
- if (!didAnimate) {
109
- this.previous();
110
- }
111
- else {
112
- this.balChange.emit(this.value);
113
- }
122
+ this.balChange.emit(this.value);
114
123
  }
115
124
  }
125
+ return activeSlide;
116
126
  }
117
127
  async next(steps = this.steps) {
118
128
  const items = this.getAllItemElements();
@@ -124,11 +134,12 @@ export class Carousel {
124
134
  const activeSlide = await this.buildSlide(nextValue);
125
135
  if (activeSlide) {
126
136
  const didAnimate = await this.animate(activeSlide.transformActive, true);
127
- if (didAnimate) {
137
+ if (didAnimate || this.value !== nextValue) {
128
138
  this.value = nextValue;
129
139
  this.balChange.emit(this.value);
130
140
  }
131
141
  }
142
+ return activeSlide;
132
143
  }
133
144
  /**
134
145
  * PRIVATE METHODS
@@ -211,6 +222,24 @@ export class Carousel {
211
222
  this.animate(activeSlide.transformActive, false);
212
223
  }
213
224
  }
225
+ async focusNextItem(ev) {
226
+ if (!this.isLast) {
227
+ const slide = await this.next(1);
228
+ if (slide && slide.el) {
229
+ stopEventBubbling(ev);
230
+ await slide.el.setFocus();
231
+ }
232
+ }
233
+ }
234
+ async focusPreviousItem(ev) {
235
+ if (!this.isFirst) {
236
+ const slide = await this.previous(1);
237
+ if (slide && slide.el) {
238
+ stopEventBubbling(ev);
239
+ await slide.el.setFocus();
240
+ }
241
+ }
242
+ }
214
243
  /**
215
244
  * GETTERS
216
245
  * ------------------------------------------------------
@@ -252,7 +281,7 @@ export class Carousel {
252
281
  const leftControlTitle = i18nControlLabel[this.language].left;
253
282
  const rightControlTitle = i18nControlLabel[this.language].right;
254
283
  const controlItems = this.getAllControlItems();
255
- return (h(Host, { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier(this.interface).class(this.interface !== '')), block.modifier(`full-height`).class(this.fullHeight)), block.modifier('controls-sticky').class(this.controlsSticky)), block.modifier(`controls-${this.controls}`).class()) }, this.controls === 'tabs' ? (h(TabControl, { value: this.value, items: controlItems, onControlChange: item => this.onControlChange(item.value) })) : (''), h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, inner.class()), inner.modifier(`items-per-view-${this.itemsPerView}`).class()), inner.modifier(`is-${this.aspectRatio}`).class()), inner.modifier(`inverted`).class(this.inverted)), inner.modifier(`full-height`).class(this.fullHeight)), inner.modifier(`shadow-left`).class(this.hasShadowLeft())), inner.modifier(`shadow-right`).class(this.hasShadowRight())), ref: el => (this.innerEl = el) }, h("div", { class: Object.assign(Object.assign(Object.assign({}, container.class()), container.modifier(`border`).class(this.border)), container.modifier(`is-${this.aspectRatio}`).class()), ref: el => (this.containerEl = el) }, h("slot", null), this.border ? (h("div", { id: `${this.carouselId}-border`, class: Object.assign(Object.assign({}, container.element('border').class()), container.element('border').modifier('inverted').class(this.inverted)), ref: el => (this.borderEl = el) })) : (''))), this.controls === 'dots' ? (h(DotControl, { value: this.value, items: controlItems, onControlChange: item => this.onControlChange(item.value) })) : (''), this.controls === 'large' ? (h(LargeControl, { isFirst: this.isFirst(), isLast: this.isLast(), inverted: this.inverted, areControlsHidden: !this.isMobile, leftControlTitle: leftControlTitle, rightControlTitle: rightControlTitle, onNextClick: () => this.onNextButtonClick(), onPreviousClick: () => this.onPreviousButtonClick() })) : (''), this.controls === 'small' ? (h(SmallControl, { isFirst: this.isFirst(), isLast: this.isLast(), inverted: this.inverted, leftControlTitle: leftControlTitle, rightControlTitle: rightControlTitle, onNextClick: () => this.onNextButtonClick(), onPreviousClick: () => this.onPreviousButtonClick() })) : ('')));
284
+ return (h(Host, { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier(this.interface).class(this.interface !== '')), block.modifier(`full-height`).class(this.fullHeight)), block.modifier('controls-sticky').class(this.controlsSticky)), block.modifier(`controls-${this.controls}`).class()) }, this.controls === 'tabs' ? (h(TabControl, { value: this.value, items: controlItems, containerId: this.carouselContainerId, onControlChange: item => this.onControlChange(item.value) })) : (''), h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, inner.class()), inner.modifier(`items-per-view-${this.itemsPerView}`).class()), inner.modifier(`is-${this.aspectRatio}`).class()), inner.modifier(`inverted`).class(this.inverted)), inner.modifier(`full-height`).class(this.fullHeight)), inner.modifier(`shadow-left`).class(this.hasShadowLeft())), inner.modifier(`shadow-right`).class(this.hasShadowRight())), ref: el => (this.innerEl = el) }, h("div", { role: this.htmlRole, "aria-live": this.htmlRole !== '' ? 'polite' : undefined, id: this.carouselContainerId, class: Object.assign(Object.assign(Object.assign({}, container.class()), container.modifier(`border`).class(this.border)), container.modifier(`is-${this.aspectRatio}`).class()), ref: el => (this.containerEl = el) }, h("slot", null), this.border ? (h("div", { id: `${this.carouselId}-border`, "aria-hidden": "true", class: Object.assign(Object.assign({}, container.element('border').class()), container.element('border').modifier('inverted').class(this.inverted)), ref: el => (this.borderEl = el) })) : (''))), this.controls === 'dots' ? (h(DotControl, { value: this.value, items: controlItems, containerId: this.carouselContainerId, onControlChange: item => this.onControlChange(item.value) })) : (''), this.controls === 'large' ? (h(LargeControl, { isFirst: this.isFirst(), isLast: this.isLast(), inverted: this.inverted, areControlsHidden: !this.isMobile, leftControlTitle: leftControlTitle, rightControlTitle: rightControlTitle, containerId: this.carouselContainerId, onNextClick: () => this.onNextButtonClick(), onPreviousClick: () => this.onPreviousButtonClick() })) : (''), this.controls === 'small' ? (h(SmallControl, { isFirst: this.isFirst(), isLast: this.isLast(), inverted: this.inverted, leftControlTitle: leftControlTitle, rightControlTitle: rightControlTitle, containerId: this.carouselContainerId, onNextClick: () => this.onNextButtonClick(), onPreviousClick: () => this.onPreviousButtonClick() })) : ('')));
256
285
  }
257
286
  static get is() { return "bal-carousel"; }
258
287
  static get originalStyleUrls() {
@@ -339,6 +368,24 @@ export class Carousel {
339
368
  "reflect": false,
340
369
  "defaultValue": "'none'"
341
370
  },
371
+ "htmlRole": {
372
+ "type": "string",
373
+ "mutable": false,
374
+ "complexType": {
375
+ "original": "'tablist' | 'list' | ''",
376
+ "resolved": "\"\" | \"list\" | \"tablist\"",
377
+ "references": {}
378
+ },
379
+ "required": false,
380
+ "optional": false,
381
+ "docs": {
382
+ "tags": [],
383
+ "text": "Defines the role of the carousel."
384
+ },
385
+ "attribute": "html-role",
386
+ "reflect": false,
387
+ "defaultValue": "'list'"
388
+ },
342
389
  "controlsOverflow": {
343
390
  "type": "boolean",
344
391
  "mutable": false,
@@ -548,7 +595,7 @@ export class Carousel {
548
595
  },
549
596
  "previous": {
550
597
  "complexType": {
551
- "signature": "(steps?: number) => Promise<void>",
598
+ "signature": "(steps?: number) => Promise<BalSlide | undefined>",
552
599
  "parameters": [{
553
600
  "name": "steps",
554
601
  "type": "number",
@@ -558,9 +605,14 @@ export class Carousel {
558
605
  "Promise": {
559
606
  "location": "global",
560
607
  "id": "global::Promise"
608
+ },
609
+ "BalSlide": {
610
+ "location": "import",
611
+ "path": "./bal-carousel.type",
612
+ "id": "src/components/bal-carousel/bal-carousel.type.ts::BalSlide"
561
613
  }
562
614
  },
563
- "return": "Promise<void>"
615
+ "return": "Promise<BalSlide>"
564
616
  },
565
617
  "docs": {
566
618
  "text": "PUBLIC METHODS\n------------------------------------------------------",
@@ -569,7 +621,7 @@ export class Carousel {
569
621
  },
570
622
  "next": {
571
623
  "complexType": {
572
- "signature": "(steps?: number) => Promise<void>",
624
+ "signature": "(steps?: number) => Promise<BalSlide | undefined>",
573
625
  "parameters": [{
574
626
  "name": "steps",
575
627
  "type": "number",
@@ -579,9 +631,14 @@ export class Carousel {
579
631
  "Promise": {
580
632
  "location": "global",
581
633
  "id": "global::Promise"
634
+ },
635
+ "BalSlide": {
636
+ "location": "import",
637
+ "path": "./bal-carousel.type",
638
+ "id": "src/components/bal-carousel/bal-carousel.type.ts::BalSlide"
582
639
  }
583
640
  },
584
- "return": "Promise<void>"
641
+ "return": "Promise<BalSlide>"
585
642
  },
586
643
  "docs": {
587
644
  "text": "",
@@ -598,6 +655,12 @@ export class Carousel {
598
655
  "target": "window",
599
656
  "capture": false,
600
657
  "passive": false
658
+ }, {
659
+ "name": "keydown",
660
+ "method": "listenToKeyDown",
661
+ "target": undefined,
662
+ "capture": false,
663
+ "passive": false
601
664
  }];
602
665
  }
603
666
  }
@@ -1,6 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { BEM } from "../../../utils/bem";
3
- export const DotControl = ({ value, items, onControlChange }) => {
3
+ export const DotControl = ({ value, items, containerId, onControlChange }) => {
4
4
  const block = BEM.block('carousel');
5
5
  const controls = block.element('controls');
6
6
  const onChange = (ev) => {
@@ -13,5 +13,5 @@ export const DotControl = ({ value, items, onControlChange }) => {
13
13
  }
14
14
  onControlChange(items[selectedValue]);
15
15
  };
16
- return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('tabs').class()) }, h("bal-pagination", { interface: "small", value: value + 1, totalPages: items.length, onBalChange: onChange })));
16
+ return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('tabs').class()) }, h("bal-pagination", { "aria-controls": containerId, interface: "small", value: value + 1, totalPages: items.length, onBalChange: onChange })));
17
17
  };
@@ -1,8 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { BEM } from "../../../utils/bem";
3
- export const LargeControl = ({ isFirst, isLast, inverted, areControlsHidden, onNextClick, onPreviousClick, leftControlTitle, rightControlTitle, }) => {
3
+ export const LargeControl = ({ isFirst, isLast, inverted, areControlsHidden, onNextClick, onPreviousClick, containerId, leftControlTitle, rightControlTitle, }) => {
4
4
  const block = BEM.block('carousel');
5
5
  const controls = block.element('controls');
6
6
  const button = controls.element('button');
7
- return (h("div", { "data-mutation": "false", class: Object.assign(Object.assign({}, controls.class()), controls.modifier('large').class()) }, h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('left').class()), button.modifier('hidden').class(isFirst && areControlsHidden)), square: true, icon: "nav-go-left", rounded: true, inverted: inverted, onClick: () => onPreviousClick(), disabled: isFirst, "aria-hidden": isFirst && areControlsHidden ? 'true' : null, "data-testid": "bal-carousel-control-left", title: leftControlTitle }), h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('right').class()), button.modifier('hidden').class(isLast && areControlsHidden)), square: true, icon: "nav-go-right", rounded: true, inverted: inverted, onClick: () => onNextClick(), disabled: isLast, "aria-hidden": isLast && areControlsHidden ? 'true' : null, "data-testid": "bal-carousel-control-right", title: rightControlTitle })));
7
+ return (h("div", { "data-mutation": "false", class: Object.assign(Object.assign({}, controls.class()), controls.modifier('large').class()) }, h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('left').class()), button.modifier('hidden').class(isFirst && areControlsHidden)), "aria-controls": containerId, square: true, icon: "nav-go-left", rounded: true, inverted: inverted, onClick: () => onPreviousClick(), disabled: isFirst, "aria-hidden": isFirst && areControlsHidden ? 'true' : null, "data-testid": "bal-carousel-control-left", title: leftControlTitle }), h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('right').class()), button.modifier('hidden').class(isLast && areControlsHidden)), "aria-controls": containerId, square: true, icon: "nav-go-right", rounded: true, inverted: inverted, onClick: () => onNextClick(), disabled: isLast, "aria-hidden": isLast && areControlsHidden ? 'true' : null, "data-testid": "bal-carousel-control-right", title: rightControlTitle })));
8
8
  };
@@ -1,8 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { BEM } from "../../../utils/bem";
3
- export const SmallControl = ({ isFirst, isLast, inverted, leftControlTitle, rightControlTitle, onNextClick, onPreviousClick, }) => {
3
+ export const SmallControl = ({ isFirst, isLast, inverted, leftControlTitle, rightControlTitle, containerId, onNextClick, onPreviousClick, }) => {
4
4
  const block = BEM.block('carousel');
5
5
  const controls = block.element('controls');
6
6
  const button = controls.element('button');
7
- return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('small').class()) }, h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('left').class()), button.modifier('hidden').class(isFirst)), square: true, size: "small", icon: "nav-go-left", rounded: true, inverted: inverted, onClick: () => onPreviousClick(), disabled: isFirst, "aria-hidden": isFirst ? 'true' : null, tabindex: "-1", "data-testid": "bal-carousel-control-left", title: leftControlTitle }), h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('right').class()), button.modifier('hidden').class(isLast)), square: true, size: "small", icon: "nav-go-right", rounded: true, inverted: inverted, onClick: () => onNextClick(), disabled: isLast, "aria-hidden": isLast ? 'true' : null, tabindex: "-1", "data-testid": "bal-carousel-control-right", title: rightControlTitle })));
7
+ return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('small').class()) }, h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('left').class()), button.modifier('hidden').class(isFirst)), "aria-controls": containerId, square: true, size: "small", icon: "nav-go-left", rounded: true, inverted: inverted, onClick: () => onPreviousClick(), disabled: isFirst, "aria-hidden": isFirst ? 'true' : null, tabindex: "-1", "data-testid": "bal-carousel-control-left", title: leftControlTitle }), h("bal-button", { class: Object.assign(Object.assign(Object.assign({}, button.class()), button.modifier('right').class()), button.modifier('hidden').class(isLast)), "aria-controls": containerId, square: true, size: "small", icon: "nav-go-right", rounded: true, inverted: inverted, onClick: () => onNextClick(), disabled: isLast, "aria-hidden": isLast ? 'true' : null, tabindex: "-1", "data-testid": "bal-carousel-control-right", title: rightControlTitle })));
8
8
  };
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { BEM } from "../../../utils/bem";
3
- export const TabControl = ({ value, items, onControlChange }) => {
3
+ export const TabControl = ({ value, items, containerId, onControlChange }) => {
4
4
  const block = BEM.block('carousel');
5
5
  const controls = block.element('controls');
6
- return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('tabs').class()) }, h("bal-card", null, h("bal-card-content", null, items.map(item => (h("bal-button", { key: item.value, expanded: true, color: value === item.value ? 'primary' : 'light', onClick: () => onControlChange(item) }, item.label)))))));
6
+ return (h("div", { class: Object.assign(Object.assign({}, controls.class()), controls.modifier('tabs').class()) }, h("bal-card", null, h("bal-card-content", null, items.map(item => (h("bal-button", { "aria-controls": containerId, key: item.value, expanded: true, color: value === item.value ? 'primary' : 'light', onClick: () => onControlChange(item) }, item.label)))))));
7
7
  };
@@ -36,6 +36,9 @@ export class Checkbox {
36
36
  if (element.href) {
37
37
  return;
38
38
  }
39
+ if (this.wasFocused) {
40
+ this.focused = true;
41
+ }
39
42
  if (element.nodeName !== 'INPUT' && !this.disabled && !this.readonly) {
40
43
  this.toggleChecked();
41
44
  (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.focus();
@@ -53,6 +56,7 @@ export class Checkbox {
53
56
  this.balFocus.emit(ev);
54
57
  if (this.keyboardMode) {
55
58
  this.focused = true;
59
+ this.wasFocused = true;
56
60
  }
57
61
  };
58
62
  this.onBlur = (ev) => {
@@ -63,11 +67,17 @@ export class Checkbox {
63
67
  this.focused = false;
64
68
  };
65
69
  this.onPointerDown = () => (this.keyboardMode = false);
66
- this.onKeydown = (ev) => (this.keyboardMode = FOCUS_KEYS.includes(ev.key));
70
+ this.onKeydown = (ev) => {
71
+ if (!isSpaceKey(ev)) {
72
+ this.wasFocused = false;
73
+ }
74
+ this.keyboardMode = FOCUS_KEYS.includes(ev.key);
75
+ };
67
76
  this.hasLabel = true;
68
77
  this.focused = false;
69
78
  this.buttonTabindex = undefined;
70
79
  this.ariaForm = defaultBalAriaForm;
80
+ this.wasFocused = false;
71
81
  this.name = this.inputId;
72
82
  this.label = '';
73
83
  this.invisible = false;
@@ -595,7 +605,8 @@ export class Checkbox {
595
605
  "hasLabel": {},
596
606
  "focused": {},
597
607
  "buttonTabindex": {},
598
- "ariaForm": {}
608
+ "ariaForm": {},
609
+ "wasFocused": {}
599
610
  };
600
611
  }
601
612
  static get events() {
@@ -1,20 +1,15 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { h, Host } from "@stencil/core";
3
- import { inheritAttributes } from "../../utils/attributes";
4
3
  import { BEM } from "../../utils/bem";
5
4
  import { ListenToConfig, defaultConfig } from "../../utils/config";
6
5
  import { i18nBalClose } from "./bal-close.i18n";
7
6
  export class Close {
8
7
  constructor() {
9
- this.inheritedAttributes = {};
10
8
  this.language = defaultConfig.language;
11
9
  this.region = defaultConfig.region;
12
10
  this.size = '';
13
11
  this.inverted = false;
14
12
  }
15
- componentWillRender() {
16
- this.inheritedAttributes = inheritAttributes(this.el, ['tabindex']);
17
- }
18
13
  /**
19
14
  * @internal define config for the component
20
15
  */
@@ -27,7 +22,7 @@ export class Close {
27
22
  const buttonEl = blockEl.element('button');
28
23
  const iconEl = buttonEl.element('icon');
29
24
  const label = i18nBalClose[this.language].close;
30
- return (h(Host, { class: Object.assign({}, blockEl.class()) }, h("button", Object.assign({ type: "button", "aria-label": label, title: label, tabindex: -1, class: Object.assign(Object.assign(Object.assign({}, buttonEl.class()), buttonEl.modifier('inverted').class(this.inverted)), buttonEl.modifier(`size-${this.size}`).class(this.size !== '')), "data-testid": "bal-close" }, this.inheritedAttributes), h("bal-icon", { name: "close", size: this.size === 'small' ? 'x-small' : this.size === 'medium' ? 'medium' : 'small', inverted: this.inverted, class: Object.assign({}, iconEl.class()) }))));
25
+ return (h(Host, { class: Object.assign({}, blockEl.class()) }, h("button", { type: "button", "aria-label": label, title: label, tabindex: "0", class: Object.assign(Object.assign(Object.assign({}, buttonEl.class()), buttonEl.modifier('inverted').class(this.inverted)), buttonEl.modifier(`size-${this.size}`).class(this.size !== '')), "data-testid": "bal-close" }, h("bal-icon", { name: "close", size: this.size === 'small' ? 'x-small' : this.size === 'medium' ? 'medium' : 'small', inverted: this.inverted, class: Object.assign({}, iconEl.class()) }))));
31
26
  }
32
27
  static get is() { return "bal-close"; }
33
28
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- .bal-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;text-align:left;gap:.25rem}.bal-content--align-center{align-items:center;text-align:center}.bal-content--align-end{align-items:flex-end;text-align:right}.bal-content--layout-horizontal{flex-direction:row}.bal-content--layout-vertical{flex-direction:column}.bal-content--space-xx-small{gap:.25rem}.bal-content--space-x-small{gap:.5rem}.bal-content--space-small{gap:.75rem}.bal-content--space-normal{gap:1rem}.bal-content>.bal-text{margin:0}
1
+ .bal-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;text-align:left;gap:.25rem}.bal-content--align-center{align-items:center;text-align:center}.bal-content--align-end{align-items:flex-end;text-align:right}.bal-content--layout-horizontal{flex-direction:row}.bal-content--layout-vertical{flex-direction:column}.bal-content--space-none{gap:0rem}.bal-content--space-xxx-small{gap:.125rem}.bal-content--space-xx-small{gap:.25rem}.bal-content--space-x-small{gap:.5rem}.bal-content--space-small{gap:.75rem}.bal-content--space-normal{gap:1rem}.bal-content>.bal-text{margin:0}
@@ -98,7 +98,7 @@ export class Content {
98
98
  "mutable": false,
99
99
  "complexType": {
100
100
  "original": "BalProps.BalContentSpace",
101
- "resolved": "\"\" | \"normal\" | \"small\" | \"x-small\" | \"xx-small\"",
101
+ "resolved": "\"\" | \"none\" | \"normal\" | \"small\" | \"x-small\" | \"xx-small\" | \"xxx-small\"",
102
102
  "references": {
103
103
  "BalProps": {
104
104
  "location": "global",
@@ -1 +1 @@
1
- :root,:host{--bal-icon-color-grey: var(--bal-color-grey-5);--bal-icon-color-grey-light: var(--bal-color-border-grey-dark);--bal-icon-color-success: var(--bal-color-success);--bal-icon-color-success-dark: var(--bal-color-success-5);--bal-icon-color-success-darker: var(--bal-color-success-6);--bal-icon-color-warning: var(--bal-color-warning);--bal-icon-color-warning-dark: var(--bal-color-warning-5);--bal-icon-color-warning-darker: var(--bal-color-warning-6);--bal-icon-color-danger: var(--bal-color-danger);--bal-icon-color-danger-dark: var(--bal-color-danger-5);--bal-icon-color-danger-darker: var(--bal-color-danger-6);--bal-icon-color-primary: var(--bal-color-primary);--bal-icon-color-primary-dark: var(--bal-color-primary-6);--bal-icon-color-blue: var(--bal-color-primary);--bal-icon-color-light-blue: var(--bal-color-light-blue-5);--bal-icon-color-primary-light: var(--bal-color-primary-3);--bal-icon-color-white: var(--bal-color-white)}.bal-icon{display:flex;justify-content:center;align-items:center;position:static;pointer-events:visible;width:1.125rem;max-height:1.125rem}.bal-icon--shadow svg{filter:drop-shadow(0px 0px 5rem rgba(0, 0, 0, 0.5))}.bal-icon--is-inline{display:inline-flex}.bal-icon__inner{display:block;position:static;transition:transform .2s ease-in-out;padding:.063rem;width:1.125rem;max-height:1.125rem}.bal-icon__inner--turn-plus{transform:rotate(225deg)}.bal-icon__inner--turn-caret-down,.bal-icon__inner--turn-caret-up{transform:rotate(180deg)}.bal-icon__inner--turn-nav-go-down{transform:rotate(180deg)}.bal-icon__inner>svg{vertical-align:top}.bal-icon--is-xsmall{width:.75rem;max-height:.75rem}.bal-icon--is-x-small{width:.75rem;max-height:.75rem}.bal-icon--is-small{width:.875rem;max-height:.875rem}.bal-icon--is-medium{width:1.625rem;max-height:1.625rem}.bal-icon--is-large{width:2.5rem;max-height:2.5rem;padding:0}.bal-icon--is-x-large{width:5rem;max-height:5rem;padding:0}.bal-icon--is-xx-large{width:11rem;max-height:11rem;padding:0}.bal-icon--is-grey svg,.bal-icon--is-grey g,.bal-icon--is-grey path,.bal-icon--is-grey circle{fill:var(--bal-icon-color-grey)}.bal-icon--is-grey-light svg,.bal-icon--is-grey-light g,.bal-icon--is-grey-light path,.bal-icon--is-grey-light circle{fill:var(--bal-icon-color-grey-light)}.bal-icon--is-success svg,.bal-icon--is-success g,.bal-icon--is-success path,.bal-icon--is-success circle{fill:var(--bal-icon-color-success)}.bal-icon--is-success-dark svg,.bal-icon--is-success-dark g,.bal-icon--is-success-dark path,.bal-icon--is-success-dark circle{fill:var(--bal-icon-color-success-dark)}.bal-icon--is-success-darker svg,.bal-icon--is-success-darker g,.bal-icon--is-success-darker path,.bal-icon--is-success-darker circle{fill:var(--bal-icon-color-success-darker)}.bal-icon--is-warning svg,.bal-icon--is-warning g,.bal-icon--is-warning path,.bal-icon--is-warning circle{fill:var(--bal-icon-color-warning)}.bal-icon--is-warning-dark svg,.bal-icon--is-warning-dark g,.bal-icon--is-warning-dark path,.bal-icon--is-warning-dark circle{fill:var(--bal-icon-color-warning-dark)}.bal-icon--is-warning-darker svg,.bal-icon--is-warning-darker g,.bal-icon--is-warning-darker path,.bal-icon--is-warning-darker circle{fill:var(--bal-icon-color-warning-darker)}.bal-icon--is-danger svg,.bal-icon--is-danger g,.bal-icon--is-danger path,.bal-icon--is-danger circle{fill:var(--bal-icon-color-danger)}.bal-icon--is-danger-dark svg,.bal-icon--is-danger-dark g,.bal-icon--is-danger-dark path,.bal-icon--is-danger-dark circle{fill:var(--bal-icon-color-danger-dark)}.bal-icon--is-danger-darker svg,.bal-icon--is-danger-darker g,.bal-icon--is-danger-darker path,.bal-icon--is-danger-darker circle{fill:var(--bal-icon-color-danger-darker)}.bal-icon--is-primary svg,.bal-icon--is-primary g,.bal-icon--is-primary path,.bal-icon--is-primary circle{fill:var(--bal-icon-color-primary)}.bal-icon--is-primary-dark svg,.bal-icon--is-primary-dark g,.bal-icon--is-primary-dark path,.bal-icon--is-primary-dark circle{fill:var(--bal-icon-color-primary-dark)}.bal-icon--is-blue svg,.bal-icon--is-blue g,.bal-icon--is-blue path,.bal-icon--is-blue circle{fill:var(--bal-icon-color-blue)}.bal-icon--is-light-blue svg,.bal-icon--is-light-blue g,.bal-icon--is-light-blue path,.bal-icon--is-light-blue circle{fill:var(--bal-icon-color-light-blue)}.bal-icon--is-primary-light svg,.bal-icon--is-primary-light g,.bal-icon--is-primary-light path,.bal-icon--is-primary-light circle{fill:var(--bal-icon-color-primary-light)}.bal-icon--is-white svg,.bal-icon--is-white g,.bal-icon--is-white path,.bal-icon--is-white circle,.bal-icon--is-inverted svg,.bal-icon--is-inverted g,.bal-icon--is-inverted path,.bal-icon--is-inverted circle{fill:var(--bal-icon-color-white)}.icon-text{align-items:center;color:inherit;display:inline-flex;vertical-align:top;flex-wrap:nowrap;word-break:break-word;line-height:1.5rem}.icon-text.is-small{line-height:1.75rem}.icon-text.is-medium{line-height:1.5rem}.icon-text.is-large{line-height:3rem}.icon-text.is-x-large{line-height:4rem}.icon-text.is-xlarge{line-height:4rem}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.5rem}.icon-text .icon:not(:first-child){margin-right:.5rem}div.icon-text{display:flex}
1
+ :root,:host{--bal-icon-color-grey: var(--bal-color-grey-5);--bal-icon-color-grey-light: var(--bal-color-border-grey-dark);--bal-icon-color-grey-dark: var(--bal-color-grey-dark);--bal-icon-color-success: var(--bal-color-success);--bal-icon-color-success-dark: var(--bal-color-success-5);--bal-icon-color-success-darker: var(--bal-color-success-6);--bal-icon-color-warning: var(--bal-color-warning);--bal-icon-color-warning-dark: var(--bal-color-warning-5);--bal-icon-color-warning-darker: var(--bal-color-warning-6);--bal-icon-color-danger: var(--bal-color-danger);--bal-icon-color-danger-dark: var(--bal-color-danger-5);--bal-icon-color-danger-darker: var(--bal-color-danger-6);--bal-icon-color-primary: var(--bal-color-primary);--bal-icon-color-primary-dark: var(--bal-color-primary-6);--bal-icon-color-blue: var(--bal-color-primary);--bal-icon-color-light-blue: var(--bal-color-light-blue-5);--bal-icon-color-primary-light: var(--bal-color-primary-3);--bal-icon-color-white: var(--bal-color-white)}.bal-icon{display:flex;justify-content:center;align-items:center;position:static;pointer-events:visible;width:1.125rem;max-height:1.125rem}.bal-icon--shadow svg{filter:drop-shadow(0px 0px 5rem rgba(0, 0, 0, 0.5))}.bal-icon--is-inline{display:inline-flex}.bal-icon__inner{display:block;position:static;transition:transform .2s ease-in-out;padding:.063rem;width:1.125rem;max-height:1.125rem}.bal-icon__inner--turn-plus{transform:rotate(225deg)}.bal-icon__inner--turn-caret-down,.bal-icon__inner--turn-caret-up{transform:rotate(180deg)}.bal-icon__inner--turn-nav-go-down{transform:rotate(180deg)}.bal-icon__inner>svg{vertical-align:top}.bal-icon--is-xsmall{width:.75rem;max-height:.75rem}.bal-icon--is-x-small{width:.75rem;max-height:.75rem}.bal-icon--is-small{width:.875rem;max-height:.875rem}.bal-icon--is-medium{width:1.625rem;max-height:1.625rem}.bal-icon--is-large{width:2.5rem;max-height:2.5rem;padding:0}.bal-icon--is-x-large{width:5rem;max-height:5rem;padding:0}.bal-icon--is-xx-large{width:11rem;max-height:11rem;padding:0}.bal-icon--is-grey svg,.bal-icon--is-grey g,.bal-icon--is-grey path,.bal-icon--is-grey circle{fill:var(--bal-icon-color-grey)}.bal-icon--is-grey-light svg,.bal-icon--is-grey-light g,.bal-icon--is-grey-light path,.bal-icon--is-grey-light circle{fill:var(--bal-icon-color-grey-light)}.bal-icon--is-grey-dark svg,.bal-icon--is-grey-dark g,.bal-icon--is-grey-dark path,.bal-icon--is-grey-dark circle{fill:var(--bal-icon-color-grey-dark)}.bal-icon--is-success svg,.bal-icon--is-success g,.bal-icon--is-success path,.bal-icon--is-success circle{fill:var(--bal-icon-color-success)}.bal-icon--is-success-dark svg,.bal-icon--is-success-dark g,.bal-icon--is-success-dark path,.bal-icon--is-success-dark circle{fill:var(--bal-icon-color-success-dark)}.bal-icon--is-success-darker svg,.bal-icon--is-success-darker g,.bal-icon--is-success-darker path,.bal-icon--is-success-darker circle{fill:var(--bal-icon-color-success-darker)}.bal-icon--is-warning svg,.bal-icon--is-warning g,.bal-icon--is-warning path,.bal-icon--is-warning circle{fill:var(--bal-icon-color-warning)}.bal-icon--is-warning-dark svg,.bal-icon--is-warning-dark g,.bal-icon--is-warning-dark path,.bal-icon--is-warning-dark circle{fill:var(--bal-icon-color-warning-dark)}.bal-icon--is-warning-darker svg,.bal-icon--is-warning-darker g,.bal-icon--is-warning-darker path,.bal-icon--is-warning-darker circle{fill:var(--bal-icon-color-warning-darker)}.bal-icon--is-danger svg,.bal-icon--is-danger g,.bal-icon--is-danger path,.bal-icon--is-danger circle{fill:var(--bal-icon-color-danger)}.bal-icon--is-danger-dark svg,.bal-icon--is-danger-dark g,.bal-icon--is-danger-dark path,.bal-icon--is-danger-dark circle{fill:var(--bal-icon-color-danger-dark)}.bal-icon--is-danger-darker svg,.bal-icon--is-danger-darker g,.bal-icon--is-danger-darker path,.bal-icon--is-danger-darker circle{fill:var(--bal-icon-color-danger-darker)}.bal-icon--is-primary svg,.bal-icon--is-primary g,.bal-icon--is-primary path,.bal-icon--is-primary circle{fill:var(--bal-icon-color-primary)}.bal-icon--is-primary-dark svg,.bal-icon--is-primary-dark g,.bal-icon--is-primary-dark path,.bal-icon--is-primary-dark circle{fill:var(--bal-icon-color-primary-dark)}.bal-icon--is-blue svg,.bal-icon--is-blue g,.bal-icon--is-blue path,.bal-icon--is-blue circle{fill:var(--bal-icon-color-blue)}.bal-icon--is-light-blue svg,.bal-icon--is-light-blue g,.bal-icon--is-light-blue path,.bal-icon--is-light-blue circle{fill:var(--bal-icon-color-light-blue)}.bal-icon--is-primary-light svg,.bal-icon--is-primary-light g,.bal-icon--is-primary-light path,.bal-icon--is-primary-light circle{fill:var(--bal-icon-color-primary-light)}.bal-icon--is-white svg,.bal-icon--is-white g,.bal-icon--is-white path,.bal-icon--is-white circle,.bal-icon--is-inverted svg,.bal-icon--is-inverted g,.bal-icon--is-inverted path,.bal-icon--is-inverted circle{fill:var(--bal-icon-color-white)}.icon-text{align-items:center;color:inherit;display:inline-flex;vertical-align:top;flex-wrap:nowrap;word-break:break-word;line-height:1.5rem}.icon-text.is-small{line-height:1.75rem}.icon-text.is-medium{line-height:1.5rem}.icon-text.is-large{line-height:3rem}.icon-text.is-x-large{line-height:4rem}.icon-text.is-xlarge{line-height:4rem}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.5rem}.icon-text .icon:not(:first-child){margin-right:.5rem}div.icon-text{display:flex}
@@ -7,11 +7,11 @@ import { i18nBalLabel } from "./bal-label.i18n";
7
7
  import { defaultBalAriaForm } from "../../utils/form";
8
8
  export class Label {
9
9
  constructor() {
10
- this.inputId = `bal-lbl-${labelIds++}`;
11
10
  this.language = defaultConfig.language;
12
11
  this.region = defaultConfig.region;
13
12
  this.ariaForm = defaultBalAriaForm;
14
13
  this.htmlFor = undefined;
14
+ this.htmlId = `bal-lbl-${labelIds++}`;
15
15
  this.required = true;
16
16
  this.noWrap = false;
17
17
  this.multiline = false;
@@ -64,7 +64,7 @@ export class Label {
64
64
  const xLarge = this.size === 'x-large';
65
65
  const xxLarge = this.size === 'xx-large';
66
66
  const xxxLarge = this.size === 'xxx-large';
67
- const id = this.ariaForm.labelId || this.inputId;
67
+ const id = this.ariaForm.labelId || this.htmlId;
68
68
  const htmlFor = this.htmlFor || this.ariaForm.controlId;
69
69
  return (h(Host, { class: Object.assign({}, block.class()) }, h("label", { id: id, htmlFor: htmlFor, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.element('native').class()), block.element('native').modifier('multiline').class(this.multiline)), block.element('native').modifier('no-wrap').class(this.noWrap)), block.element('native').modifier('disabled').class(disabled)), block.element('native').modifier('danger').class(danger)), block.element('native').modifier('success').class(success)), block.element('native').modifier('regular').class(regular)), block.element('native').modifier('small').class(small)), block.element('native').modifier('large').class(large)), block.element('native').modifier('x-large').class(xLarge)), block.element('native').modifier('xx-large').class(xxLarge)), block.element('native').modifier('xxx-large').class(xxxLarge)), block.element('native').modifier('hovered').class(this.hovered)), block.element('native').modifier('pressed').class(this.pressed)) }, h("slot", null), suffix)));
70
70
  }
@@ -99,6 +99,24 @@ export class Label {
99
99
  "reflect": false,
100
100
  "defaultValue": "undefined"
101
101
  },
102
+ "htmlId": {
103
+ "type": "string",
104
+ "mutable": false,
105
+ "complexType": {
106
+ "original": "string",
107
+ "resolved": "string",
108
+ "references": {}
109
+ },
110
+ "required": false,
111
+ "optional": true,
112
+ "docs": {
113
+ "tags": [],
114
+ "text": "Define the id of the native label element"
115
+ },
116
+ "attribute": "html-id",
117
+ "reflect": false,
118
+ "defaultValue": "`bal-lbl-${labelIds++}`"
119
+ },
102
120
  "required": {
103
121
  "type": "boolean",
104
122
  "mutable": false,
@@ -1,6 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Host, h } from "@stencil/core";
3
3
  import { Logger } from "../../../utils/log";
4
+ import { isEnterKey, isSpaceKey } from "@baloise/web-app-utils";
4
5
  export class ListItemAccordionHead {
5
6
  constructor() {
6
7
  /**
@@ -12,6 +13,11 @@ export class ListItemAccordionHead {
12
13
  this.accordionOpen = !this.accordionOpen;
13
14
  }
14
15
  };
16
+ this.onKeyDown = (ev) => {
17
+ if (isSpaceKey(ev) || isEnterKey(ev)) {
18
+ this.onClick();
19
+ }
20
+ };
15
21
  this.accordionOpen = false;
16
22
  this.icon = 'plus';
17
23
  }
@@ -32,7 +38,7 @@ export class ListItemAccordionHead {
32
38
  'bal-list__item': true,
33
39
  'bal-list__item__accordion-head': true,
34
40
  'bal-list__item__accordion-head--open': this.accordionOpen,
35
- }, onClick: this.onClick }, h("slot", null), h("bal-list-item-icon", { right: true }, h("bal-icon", { class: "bal-list__item__accordion-head__icon", name: this.icon, size: "small", turn: this.accordionOpen }))));
41
+ }, role: "button", tabindex: "0", onClick: this.onClick, onKeyDown: this.onKeyDown }, h("slot", null), h("bal-list-item-icon", { right: true }, h("bal-icon", { class: "bal-list__item__accordion-head__icon", name: this.icon, size: "small", turn: this.accordionOpen }))));
36
42
  }
37
43
  static get is() { return "bal-list-item-accordion-head"; }
38
44
  static get properties() {
@@ -1 +1 @@
1
- :root{--bal-nav-menu-bar-background: var(--bal-color-white);--bal-nav-menu-bar-radius: var(--bal-radius-large);--bal-nav-menu-bar-shadow: 0 5px 15px rgba(0,0,0,.1)}.bal-nav-menu-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-menu-bar__container{flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-menu-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-menu-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-menu-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-menu-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-menu-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-menu-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}@media screen and (max-width: 768px){.bal-nav-menu-bar--hidden-mobile{display:hidden;visibility:hidden}}@media screen and (max-width: 768px){.bal-nav-menu-bar--hidden-tablet{display:hidden;visibility:hidden}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-menu-bar--hidden-tablet{display:hidden;visibility:hidden}}@media screen and (min-width: 1440px){.bal-nav-menu-bar{position:fixed;margin-top:1rem}}.bal-nav-menu-bar--position-fixed-top{position:fixed}.bal-nav-menu-bar__inner{background:var(--bal-nav-menu-bar-background);box-shadow:var(--bal-nav-menu-bar-shadow)}@media screen and (min-width: 1440px){.bal-nav-menu-bar__inner{background:rgba(0,0,0,0);box-shadow:none}}.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{min-height:64px}@media screen and (min-width: 1440px){.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{background:var(--bal-nav-menu-bar-background);border-radius:var(--bal-nav-menu-bar-radius);box-shadow:var(--bal-nav-menu-bar-shadow);min-height:80px}}@media screen and (min-width: 1440px)and (max-width: 1539px){.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{background:rgba(0,0,0,0);box-shadow:none;min-height:80px}.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container::before{position:absolute;content:"";height:100%;top:0;left:1rem;right:1rem;background:var(--bal-nav-menu-bar-background);border-radius:var(--bal-nav-menu-bar-radius);box-shadow:var(--bal-nav-menu-bar-shadow)}}.bal-nav-menu-bar .bal-nav__logo{align-self:flex-start;z-index:1;height:auto;padding-top:.8em}@media screen and (min-width: 1024px){.bal-nav-menu-bar .bal-nav__logo{padding-top:1rem}}@media screen and (min-width: 1440px){.bal-nav-menu-bar .bal-nav__logo{padding-top:1.5rem}}.bal-nav-menu-bar-body-padding{padding-top:1rem}@media screen and (min-width: 1440px){.bal-nav-menu-bar-body-padding{padding-top:7rem}}.bal-nav-menu-bar-body-margin{margin-top:1rem}@media screen and (min-width: 1440px){.bal-nav-menu-bar-body-margin{margin-top:7rem}}.bal-nav-menu-bar-fixed-body-padding{padding-top:8rem}.bal-nav-menu-bar-fixed-body-margin{margin-top:8rem}
1
+ :root{--bal-nav-menu-bar-background: var(--bal-color-white);--bal-nav-menu-bar-radius: var(--bal-radius-large);--bal-nav-menu-bar-shadow: 0 5px 15px rgba(0,0,0,.1)}.bal-nav-menu-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;z-index:var(--bal-z-index-navigation)}.bal-nav-menu-bar__container{flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav-menu-bar__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav-menu-bar__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav-menu-bar__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav-menu-bar__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav-menu-bar__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav-menu-bar__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}@media screen and (max-width: 768px){.bal-nav-menu-bar--hidden-mobile{display:hidden;visibility:hidden}}@media screen and (max-width: 768px){.bal-nav-menu-bar--hidden-tablet{display:hidden;visibility:hidden}}@media screen and (min-width: 769px)and (max-width: 1023px){.bal-nav-menu-bar--hidden-tablet{display:hidden;visibility:hidden}}@media screen and (min-width: 1440px){.bal-nav-menu-bar{position:fixed;margin-top:1rem}}.bal-nav-menu-bar--position-fixed-top{position:fixed}.bal-nav-menu-bar__inner{background:var(--bal-nav-menu-bar-background);box-shadow:var(--bal-nav-menu-bar-shadow)}@media screen and (min-width: 1440px){.bal-nav-menu-bar__inner{background:rgba(0,0,0,0);box-shadow:none}}.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{min-height:64px}@media screen and (min-width: 1440px){.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{background:var(--bal-nav-menu-bar-background);border-radius:var(--bal-nav-menu-bar-radius);box-shadow:var(--bal-nav-menu-bar-shadow);min-height:80px}}@media screen and (min-width: 1440px)and (max-width: 1539px){.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container{background:rgba(0,0,0,0);box-shadow:none;min-height:80px}.bal-nav-menu-bar__inner>.bal-nav-menu-bar__container::before{position:absolute;content:"";height:100%;top:0;left:1rem;right:1rem;background:var(--bal-nav-menu-bar-background);border-radius:var(--bal-nav-menu-bar-radius);box-shadow:var(--bal-nav-menu-bar-shadow)}}.bal-nav-menu-bar .bal-nav__logo{align-self:flex-start;z-index:1;height:auto;margin-top:.8em}@media screen and (min-width: 1024px){.bal-nav-menu-bar .bal-nav__logo{margin-top:1rem}}@media screen and (min-width: 1440px){.bal-nav-menu-bar .bal-nav__logo{margin-top:1.5rem}}.bal-nav-menu-bar-body-padding{padding-top:1rem}@media screen and (min-width: 1440px){.bal-nav-menu-bar-body-padding{padding-top:7rem}}.bal-nav-menu-bar-body-margin{margin-top:1rem}@media screen and (min-width: 1440px){.bal-nav-menu-bar-body-margin{margin-top:7rem}}.bal-nav-menu-bar-fixed-body-padding{padding-top:8rem}.bal-nav-menu-bar-fixed-body-margin{margin-top:8rem}
@@ -6,17 +6,13 @@ import { ListenToResize } from "../../../utils/resize";
6
6
  import { BalScrollHandler } from "../../../utils/scroll";
7
7
  export class NavMenuFlyout {
8
8
  constructor() {
9
- this.navMenuFlyoutId = `bal-nav-menu-flyout-${NavMenuFlyOutIds++}`;
10
9
  this.bodyScrollHandler = new BalScrollHandler();
11
10
  this.isHidden = false;
11
+ this.navId = `bal-nav-x${NavMenuFlyOutIds++}`;
12
12
  }
13
13
  createLogger(log) {
14
14
  this.log = log;
15
15
  }
16
- /**
17
- * PUBLIC PROPERTY API
18
- * ------------------------------------------------------
19
- */
20
16
  /**
21
17
  * LIFECYCLE
22
18
  * ------------------------------------------------------
@@ -54,7 +50,7 @@ export class NavMenuFlyout {
54
50
  render() {
55
51
  const block = BEM.block('nav-menu-flyout');
56
52
  const line = block.element('line');
57
- return (h(Host, { id: this.navMenuFlyoutId, class: Object.assign({}, block.class()) }, h("div", { class: Object.assign({}, line.class()) }), h("div", { class: Object.assign({}, block.element('container').class()) }, h("slot", null))));
53
+ return (h(Host, { id: `${this.navId}-menu-flyout`, class: Object.assign({}, block.class()) }, h("div", { class: Object.assign({}, line.class()) }), h("div", { class: Object.assign({}, block.element('container').class()) }, h("slot", null))));
58
54
  }
59
55
  static get is() { return "bal-nav-menu-flyout"; }
60
56
  static get originalStyleUrls() {
@@ -67,6 +63,28 @@ export class NavMenuFlyout {
67
63
  "$": ["bal-nav-menu-flyout.css"]
68
64
  };
69
65
  }
66
+ static get properties() {
67
+ return {
68
+ "navId": {
69
+ "type": "string",
70
+ "mutable": false,
71
+ "complexType": {
72
+ "original": "string",
73
+ "resolved": "string",
74
+ "references": {}
75
+ },
76
+ "required": false,
77
+ "optional": false,
78
+ "docs": {
79
+ "tags": [],
80
+ "text": "This is used to connect the flyout to the aria controls"
81
+ },
82
+ "attribute": "nav-id",
83
+ "reflect": false,
84
+ "defaultValue": "`bal-nav-x${NavMenuFlyOutIds++}`"
85
+ }
86
+ };
87
+ }
70
88
  static get states() {
71
89
  return {
72
90
  "isHidden": {}
@@ -1 +1 @@
1
- :root{--bal-nav-background: var(--bal-color-primary);--bal-nav-service-background-grey: var(--bal-color-grey);--bal-nav-service-background-purple: var(--bal-color-purple);--bal-nav-service-background-red: var(--bal-color-red);--bal-nav-service-background-yellow: var(--bal-color-yellow);--bal-nav-service-background-green: var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar,.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:flex;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-x-small);line-height:var(--bal-line-height-x-small)}.bal-nav__mobile-overview-link--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link--menu{padding:0 0 0 1rem}.bal-nav__line{background-color:var(--bal-color-border-grey-light);height:var(--bal-border-width-normal);border:none;display:block;border-radius:var(--bal-list-item-radius);width:100%;margin:0;padding:0}.bal-nav__mobile-links--clickable,.bal-nav__mobile-section-item--clickable,.bal-nav__mobile-service-item--clickable>a{cursor:pointer}.bal-nav__mobile-links--selected,.bal-nav__mobile-section-item--selected,.bal-nav__mobile-service-item--selected>a{text-decoration:underline}.bal-nav__mobile-service-item--color-grey{background:var(--bal-nav-service-background-grey)}.bal-nav__mobile-service-item--color-purple{background:var(--bal-nav-service-background-purple)}.bal-nav__mobile-service-item--color-red{background:var(--bal-nav-service-background-red)}.bal-nav__mobile-service-item--color-yellow{background:var(--bal-nav-service-background-yellow)}.bal-nav__mobile-service-item--color-green{background:var(--bal-nav-service-background-green)}
1
+ @media(hover: hover)and (pointer: fine){.bal-nav__logo:focus-visible{box-shadow:var(--bal-focus-shadow) !important}}:root{--bal-nav-background: var(--bal-color-primary);--bal-nav-service-background-grey: var(--bal-color-grey);--bal-nav-service-background-purple: var(--bal-color-purple);--bal-nav-service-background-red: var(--bal-color-red);--bal-nav-service-background-yellow: var(--bal-color-yellow);--bal-nav-service-background-green: var(--bal-color-green)}.bal-nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%}.bal-nav__flyout{background:var(--bal-color-white);scroll-padding-top:1rem;padding-top:1rem;padding-bottom:1rem;height:calc(var(--bal-app-height, 100%) - 4rem - 4rem);overflow-y:auto}@media screen and (min-width: 1024px){.bal-nav__flyout{display:none;visibility:hidden}}.bal-nav__flyout__container{flex-grow:1;margin:0 auto;position:relative;width:auto;width:100% !important;padding-left:var(--bal-container-space);padding-right:var(--bal-container-space)}.bal-nav__flyout__container--fluid{max-width:var(--bal-container-size-fluid) !important}.bal-nav__flyout__container--detail-page{max-width:var(--bal-container-size-detail-page) !important}.bal-nav__flyout__container--compact{max-width:var(--bal-container-size-compact) !important}.bal-nav__flyout__container--blog-page{max-width:var(--bal-container-size-blog-page) !important}@media screen and (min-width: 769px),print{.bal-nav__flyout__container{padding-left:var(--bal-container-space-tablet);padding-right:var(--bal-container-space-tablet)}}@media screen and (min-width: 1024px){.bal-nav__flyout__container{padding-left:var(--bal-container-space-desktop);padding-right:var(--bal-container-space-desktop);max-width:var(--bal-container-size-normal)}}.bal-nav__flyout:not(.bal-nav__flyout--visible){position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav .bal-nav-meta-bar,.bal-nav .bal-nav-menu-bar{z-index:auto !important}.bal-list__item__accordion-head:after{background:rgba(0,0,0,0) !important}.bal-nav-meta-bar-transform-touch{z-index:var(--bal-z-index-popup);position:relative}.bal-nav__mobile-meta-item{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;padding:0;margin:0;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-x-large);line-height:var(--bal-line-heigh-x-large);cursor:pointer}.bal-nav__mobile-menu-item{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:3rem;border:none;margin:0;padding:0 0 0 1rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-large);line-height:var(--bal-line-heigh-large);cursor:pointer}.bal-nav__mobile-section-item,.bal-nav__mobile-service-item>a{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-title);font-weight:var(--bal-weight-bold);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-links{display:flex;justify-content:space-between;align-items:center;text-align:start;width:100%;min-height:2rem;border:none;margin:0;padding:0 2rem 0 2rem;gap:var(--bal-space-normal);background:rgba(0,0,0,0);font-family:var(--bal-font-family-text);font-size:var(--bal-size-normal);line-height:var(--bal-line-heigh-normal)}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li,.bal-nav__mobile-menu-list,.bal-nav__mobile-menu-list>li,.bal-nav__mobile-section-list,.bal-nav__mobile-service-list,.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li,.bal-nav__mobile-links-list{display:flex;flex-direction:column}.bal-nav__mobile-meta-list,.bal-nav__mobile-meta-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list{gap:var(--bal-space-normal)}.bal-nav__mobile-menu-list>li{gap:var(--bal-space-normal)}.bal-nav__mobile-section-list,.bal-nav__mobile-service-list{gap:var(--bal-space-x-large)}.bal-nav__mobile-section-list>li,.bal-nav__mobile-service-list>li{gap:var(--bal-space-xx-small)}.bal-nav__mobile-links-list{gap:var(--bal-space-xx-small)}.bal-nav__mobile-section-list{padding-top:1rem}.bal-nav__mobile-service-list>li{border-radius:var(--bal-radius-normal);padding-top:1rem;padding-bottom:1rem}.bal-nav__mobile-section-list--invisible,.bal-nav__mobile-service-list--invisible{position:absolute !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;border:none !important;white-space:nowrap !important;clip:rect(1px 1px 1px 1px) !important;clip:rect(1px, 1px, 1px, 1px) !important}.bal-nav__mobile-overview-link{font-family:var(--bal-font-family-text);font-weight:var(--bal-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)}
@@ -280,10 +280,13 @@ export class Nav {
280
280
  return (h(Host, { id: this.navId, class: Object.assign({}, block.class()) }, h("div", { class: {
281
281
  'bal-nav-meta-bar-transform': true,
282
282
  'bal-nav-meta-bar-transform-touch': this.isTouch,
283
- } }, 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, onBalChange: ev => this.onMetaBarTabChange(ev) }, this.linkItems.map(item => item.render()))) : (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 }, (_a = this.linkItems
283
+ } }, 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, onBalChange: ev => this.onMetaBarTabChange(ev) }, this.linkItems.map(item => item.render({
284
+ flyoutId: `${this.navId}-menu-flyout`,
285
+ })))) : (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 }, (_a = this.linkItems
284
286
  .find(item => item.value === this.activeMetaLinkValue)) === null || _a === void 0 ? void 0 : _a.mainLinkItems.map(item => item.render({
287
+ flyoutId: `${this.navId}-menu-flyout`,
285
288
  onClick: () => this.onMenuBarTabChange(item.value),
286
- })))), this.isFlyoutActive ? (h("bal-nav-menu-flyout", null, 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 :
289
+ })))), this.isFlyoutActive ? (h("bal-nav-menu-flyout", { navId: this.navId }, 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 :
287
290
  _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", null, h("slot", null))), 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({
288
291
  activeMetaLinkValue: this.activeMetaLinkValue,
289
292
  activeMenuLinkValue: this.activeMenuLinkValue,
@@ -35,9 +35,9 @@ export class NavMenuLinkItem extends NavLinkItem {
35
35
  render(context) {
36
36
  const hasChildren = this.sectionLinkItems.length > 0 || this.serviceLinkItems.length > 0;
37
37
  if (!hasChildren && this.isLink) {
38
- return h("bal-tab-item", { label: this.label, value: this.value, href: this.href, target: this.target });
38
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, target: this.target, "no-panel": true }));
39
39
  }
40
- return (h("bal-tab-item", { label: this.label, value: this.value, onBalNavigate: ev => {
40
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalNavigate: ev => {
41
41
  context === null || context === void 0 ? void 0 : context.onClick();
42
42
  if (this.onClick) {
43
43
  this.onClick(ev.detail);
@@ -24,11 +24,11 @@ export class NavMetaLinkItem extends NavLinkItem {
24
24
  activeMenuLinkValue: context.activeMenuLinkValue,
25
25
  })))) : (''), h("hr", { class: Object.assign({}, block.element('line').class()) })));
26
26
  }
27
- render() {
27
+ render(context) {
28
28
  if (this.isLink) {
29
- return h("bal-tab-item", { label: this.label, value: this.value, href: this.href, target: this.target });
29
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, href: this.href, target: this.target, "no-panel": true }));
30
30
  }
31
- return (h("bal-tab-item", { label: this.label, value: this.value, onBalNavigate: ev => {
31
+ return (h("bal-tab-item", { aria: { controls: context.flyoutId }, label: this.label, value: this.value, "no-panel": true, onBalNavigate: ev => {
32
32
  if (this.onClick) {
33
33
  this.onClick(ev.detail);
34
34
  }