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

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 +9 -3
  11. package/components/bal-checkbox2.js +23 -5
  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 +2 -2
  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-03c0e702.js +1 -0
  51. package/dist/baloise-design-system/{p-1de6b20b1c.system.entry.js → p-06e93c033b.system.entry.js} +1 -1
  52. package/dist/baloise-design-system/{p-ae28b86fe5.entry.js → p-0ab43941ba.entry.js} +1 -1
  53. package/dist/baloise-design-system/p-120f1513.js +1 -0
  54. package/dist/baloise-design-system/p-1509eaa7.system.js +1 -1
  55. package/dist/baloise-design-system/p-17660ffea0.entry.js +1 -0
  56. package/dist/baloise-design-system/{p-f02ea04390.entry.js → p-17f2b2e25a.entry.js} +1 -1
  57. package/dist/baloise-design-system/p-18af339b1e.system.entry.js +1 -0
  58. package/dist/baloise-design-system/p-19d582fb4a.entry.js +1 -0
  59. package/dist/baloise-design-system/p-1e31a7e4d2.system.entry.js +1 -0
  60. package/dist/baloise-design-system/{p-b7035c24.system.js → p-261968b2.system.js} +1 -1
  61. package/dist/baloise-design-system/p-265f9d51c9.system.entry.js +1 -0
  62. package/dist/baloise-design-system/{p-51c0348938.entry.js → p-2905abdfb8.entry.js} +1 -1
  63. package/dist/baloise-design-system/p-29ba4f9afe.system.entry.js +1 -0
  64. package/dist/baloise-design-system/p-2a700c21ae.system.entry.js +1 -0
  65. package/dist/baloise-design-system/{p-f6599f64b7.entry.js → p-2db4ff4c5b.entry.js} +1 -1
  66. package/dist/baloise-design-system/{p-39bc49bc3d.entry.js → p-33028eda8b.entry.js} +1 -1
  67. package/dist/baloise-design-system/{p-692536f9ff.system.entry.js → p-3558e7a64b.system.entry.js} +1 -1
  68. package/dist/baloise-design-system/p-360068a4.system.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-f9db454e37.entry.js → p-396898cf27.entry.js} +1 -1
  72. package/dist/baloise-design-system/{p-1be257c9cd.system.entry.js → p-3bc2f95cf3.system.entry.js} +1 -1
  73. package/dist/baloise-design-system/{p-47b18581c7.system.entry.js → p-40628589e1.system.entry.js} +1 -1
  74. package/dist/baloise-design-system/p-40b5ad07c5.system.entry.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-4cdec4da61.system.entry.js +1 -0
  78. package/dist/baloise-design-system/p-4e8fff8409.entry.js +1 -0
  79. package/dist/baloise-design-system/p-4f1afa9be1.system.entry.js +1 -0
  80. package/dist/baloise-design-system/{p-d319b257.system.js → p-509b566d.system.js} +1 -1
  81. package/dist/baloise-design-system/{p-b779742f50.entry.js → p-53c92c2d21.entry.js} +1 -1
  82. package/dist/baloise-design-system/p-53e98a0f71.entry.js +1 -0
  83. package/dist/baloise-design-system/{p-cef24f8c62.entry.js → p-547aae9610.entry.js} +1 -1
  84. package/dist/baloise-design-system/p-54f81c32.js +1 -1
  85. package/dist/baloise-design-system/{p-6f4a362824.system.entry.js → p-5db0544e97.system.entry.js} +1 -1
  86. package/dist/baloise-design-system/{p-d0d06aa690.entry.js → p-6c038bb4ff.entry.js} +1 -1
  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-6e88e337.system.js +1 -0
  91. package/dist/baloise-design-system/p-71588db3.system.js +1 -0
  92. package/dist/baloise-design-system/p-7291766c.system.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-80c011874c.entry.js +1 -0
  95. package/dist/baloise-design-system/{p-6ceac3e144.system.entry.js → p-8a2f9c316c.system.entry.js} +1 -1
  96. package/dist/baloise-design-system/p-8b998a54aa.entry.js +1 -0
  97. package/dist/baloise-design-system/{p-60f45a7b48.entry.js → p-8c2be8bc00.entry.js} +1 -1
  98. package/dist/baloise-design-system/p-8de1a12660.entry.js +1 -0
  99. package/dist/baloise-design-system/{p-8870e1f3e0.system.entry.js → p-8e17b76e7c.system.entry.js} +1 -1
  100. package/dist/baloise-design-system/{p-12bcc7da.js → p-9b4da619.js} +1 -1
  101. package/dist/baloise-design-system/{p-b97d9336a7.system.entry.js → p-9bb8778cdc.system.entry.js} +1 -1
  102. package/dist/baloise-design-system/p-9d051b6527.entry.js +1 -0
  103. package/dist/baloise-design-system/p-a507ff25cb.system.entry.js +1 -0
  104. package/dist/baloise-design-system/p-a53f45fab6.entry.js +1 -0
  105. package/dist/baloise-design-system/{p-ad00d94e7f.entry.js → p-a5ee486a2b.entry.js} +1 -1
  106. package/dist/baloise-design-system/p-a78d1ca569.system.entry.js +1 -0
  107. package/dist/baloise-design-system/p-ac800c3208.entry.js +1 -0
  108. package/dist/baloise-design-system/{p-cf0c50d42a.system.entry.js → p-b0bb64b2b8.system.entry.js} +1 -1
  109. package/dist/baloise-design-system/p-b51665840d.entry.js +1 -0
  110. package/dist/baloise-design-system/{p-c572e259f4.system.entry.js → p-b570b77884.system.entry.js} +1 -1
  111. package/dist/baloise-design-system/{p-982fa892e8.system.entry.js → p-b8251b8f68.system.entry.js} +1 -1
  112. package/dist/baloise-design-system/p-b87c29c80b.entry.js +1 -0
  113. package/dist/baloise-design-system/{p-80b45dd4d6.system.entry.js → p-bcb892a723.system.entry.js} +1 -1
  114. package/dist/baloise-design-system/{p-301e753d6f.system.entry.js → p-be0a0f5f7e.system.entry.js} +1 -1
  115. package/dist/baloise-design-system/p-bee13e834e.entry.js +1 -0
  116. package/dist/baloise-design-system/p-c240ee50bb.entry.js +1 -0
  117. package/dist/baloise-design-system/p-c2de2596d1.system.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-cd66014bd1.entry.js +1 -0
  121. package/dist/baloise-design-system/p-cda868a6a5.entry.js +1 -0
  122. package/dist/baloise-design-system/{p-a52564d27f.system.entry.js → p-d059465399.system.entry.js} +1 -1
  123. package/dist/baloise-design-system/{p-e60c936359.system.entry.js → p-d1c43680a0.system.entry.js} +1 -1
  124. package/dist/baloise-design-system/p-d539c1cf.js +1 -0
  125. package/dist/baloise-design-system/p-d908780376.system.entry.js +1 -0
  126. package/dist/baloise-design-system/p-dae1f687.system.js +1 -0
  127. package/dist/baloise-design-system/{p-3bad0907.system.js → p-de36076c.system.js} +1 -1
  128. package/dist/baloise-design-system/p-e137e273b7.system.entry.js +1 -0
  129. package/dist/baloise-design-system/{p-55faac1d.system.js → p-e187b9de.system.js} +1 -1
  130. package/dist/baloise-design-system/{p-7292c6e1a1.entry.js → p-e542aaeb27.entry.js} +1 -1
  131. package/dist/baloise-design-system/p-e8ffddeb.js +1 -0
  132. package/dist/baloise-design-system/{p-9e167705ca.entry.js → p-ecab0d67d5.entry.js} +1 -1
  133. package/dist/baloise-design-system/{p-94efe2aa.js → p-f5940253.js} +1 -1
  134. package/dist/baloise-design-system/p-f66ea0e663.system.entry.js +1 -0
  135. package/dist/baloise-design-system/{p-013b4c72.system.js → p-f959646a.system.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 +15 -4
  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 +2 -2
  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-77a3b464.js} +1 -1
  172. package/dist/cjs/{breakpoints.subject-06716a68.js → breakpoints.subject-ae73ae55.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-15025c39.js} +1 -1
  181. package/dist/cjs/window-resize.decorator-5b9c08d1.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 +15 -3
  194. package/dist/collection/components/bal-checkbox/radio-checkbox.css +1 -1
  195. package/dist/collection/components/bal-close/bal-close.js +1 -6
  196. package/dist/collection/components/bal-content/bal-content.css +1 -1
  197. package/dist/collection/components/bal-content/bal-content.js +1 -1
  198. package/dist/collection/components/bal-icon/bal-icon.css +1 -1
  199. package/dist/collection/components/bal-label/bal-label.js +20 -2
  200. package/dist/collection/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.js +7 -1
  201. package/dist/collection/components/bal-nav/bal-nav-menu-bar/bal-nav-menu-bar.css +1 -1
  202. package/dist/collection/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.js +24 -6
  203. package/dist/collection/components/bal-nav/bal-nav.css +1 -1
  204. package/dist/collection/components/bal-nav/bal-nav.js +5 -2
  205. package/dist/collection/components/bal-nav/models/bal-nav-menu-link-item.js +2 -2
  206. package/dist/collection/components/bal-nav/models/bal-nav-meta-link-item.js +3 -3
  207. package/dist/collection/components/bal-option-list/bal-option-list.js +43 -2
  208. package/dist/collection/components/bal-pagination/bal-pagination.js +3 -3
  209. package/dist/collection/components/bal-progress-bar/bal-progress-bar.css +1 -1
  210. package/dist/collection/components/bal-progress-bar/bal-progress-bar.js +49 -12
  211. package/dist/collection/components/bal-segment/bal-segment-item/bal-segment-item.css +1 -0
  212. package/dist/collection/components/bal-segment/bal-segment-item/bal-segment-item.js +332 -0
  213. package/dist/collection/components/bal-segment/bal-segment.css +1 -0
  214. package/dist/collection/components/bal-segment/bal-segment.interfaces.js +4 -0
  215. package/dist/collection/components/bal-segment/bal-segment.js +537 -0
  216. package/dist/collection/components/bal-segment/bal-segment.types.js +1 -0
  217. package/dist/collection/components/bal-stack/bal-stack.css +1 -1
  218. package/dist/collection/components/bal-steps/bal-steps.css +1 -1
  219. package/dist/collection/components/bal-steps/bal-steps.js +26 -2
  220. package/dist/collection/components/bal-steps/components/step-button.js +2 -2
  221. package/dist/collection/components/bal-tabs/bal-tab-item/bal-tab-item.js +47 -2
  222. package/dist/collection/components/bal-tabs/bal-tabs.js +124 -21
  223. package/dist/collection/components/bal-tabs/components/tab-button.js +18 -6
  224. package/dist/collection/components/bal-tabs/components/tab-nav.js +3 -3
  225. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +1 -0
  226. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +229 -0
  227. package/dist/collection/utils/constants/version.constant.js +1 -1
  228. package/dist/collection/utils/date/date.spec.js +0 -1
  229. package/dist/collection/utils/dropdown/option.js +4 -1
  230. package/dist/collection/utils/dropdown/popup.js +2 -2
  231. package/dist/collection/utils/resize/index.js +4 -1
  232. package/dist/collection/utils/resize/window-resize.decorator.js +20 -0
  233. package/dist/collection/utils/resize/window-resize.interfaces.js +1 -0
  234. package/dist/collection/utils/resize/window-resize.listener.js +3 -3
  235. package/dist/collection/utils/resize/window-resize.subject.js +23 -0
  236. package/dist/collection/utils/string.js +10 -0
  237. package/dist/collection/utils/string.spec.js +24 -0
  238. package/dist/esm/app-globals-970bab17.js +5 -0
  239. package/dist/esm/bal-accordion_4.entry.js +29 -4
  240. package/dist/esm/bal-carousel_2.entry.js +61 -25
  241. package/dist/esm/bal-checkbox_2.entry.js +15 -4
  242. package/dist/esm/bal-close.entry.js +1 -6
  243. package/dist/esm/{bal-label.entry.js → bal-content_2.entry.js} +48 -3
  244. package/dist/esm/bal-date-calendar_2.entry.js +2 -2
  245. package/dist/esm/bal-date.entry.js +2 -2
  246. package/dist/esm/bal-datepicker.entry.js +4 -4
  247. package/dist/esm/bal-doc-app.entry.js +227 -0
  248. package/dist/esm/bal-dropdown.entry.js +4 -4
  249. package/dist/esm/bal-file-upload.entry.js +1 -1
  250. package/dist/esm/bal-footer.entry.js +1 -1
  251. package/dist/esm/bal-hint_3.entry.js +3 -3
  252. package/dist/esm/bal-icon.entry.js +1 -1
  253. package/dist/esm/bal-input-stepper.entry.js +1 -1
  254. package/dist/esm/bal-list_8.entry.js +12 -4
  255. package/dist/esm/bal-logo.entry.js +3 -3
  256. package/dist/esm/bal-nav_8.entry.js +17 -18
  257. package/dist/esm/bal-navbar_5.entry.js +3 -3
  258. package/dist/esm/bal-number-input.entry.js +1 -1
  259. package/dist/esm/bal-option_2.entry.js +26 -2
  260. package/dist/esm/bal-pagination.entry.js +6 -6
  261. package/dist/esm/bal-popover_2.entry.js +3 -3
  262. package/dist/esm/bal-popup.entry.js +1 -1
  263. package/dist/esm/bal-progress-bar.entry.js +30 -17
  264. package/dist/esm/bal-radio_2.entry.js +2 -2
  265. package/dist/esm/bal-segment-item.entry.js +152 -0
  266. package/dist/esm/bal-segment.entry.js +315 -0
  267. package/dist/esm/bal-select_2.entry.js +1 -1
  268. package/dist/esm/bal-shape.entry.js +1 -1
  269. package/dist/esm/bal-stack.entry.js +1 -1
  270. package/dist/esm/bal-steps.entry.js +10 -9
  271. package/dist/esm/bal-tab-item_2.entry.js +159 -35
  272. package/dist/esm/baloise-design-system.js +3 -2
  273. package/dist/esm/{breakpoints.decorator-f979fe5c.js → breakpoints.decorator-d55790da.js} +1 -1
  274. package/dist/esm/{breakpoints.subject-9ea7074e.js → breakpoints.subject-ee89b4ec.js} +4 -4
  275. package/dist/esm/{date-38a0b208.js → date-aba2d404.js} +1 -1
  276. package/dist/esm/{app-globals-b0dd0fc4.js → global-63f4bcec.js} +2 -4
  277. package/dist/esm/{index.esm-83b1f9c4.js → index.esm-76abd8e3.js} +25 -1
  278. package/dist/esm/index.js +6 -6
  279. package/dist/esm/initialize-e216cfe4.js +1 -1
  280. package/dist/esm/loader.js +3 -2
  281. package/dist/esm/{option-37cb0282.js → option-01553dab.js} +4 -1
  282. package/dist/esm/{tokens.esm-7d2734e1.js → tokens.esm-769d0c71.js} +1 -1
  283. package/dist/esm/window-resize.decorator-dec8dd72.js +46 -0
  284. package/dist/esm-es5/app-globals-970bab17.js +1 -0
  285. package/dist/esm-es5/bal-accordion_4.entry.js +1 -1
  286. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  287. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  288. package/dist/esm-es5/bal-close.entry.js +1 -1
  289. package/dist/esm-es5/bal-content_2.entry.js +1 -0
  290. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  291. package/dist/esm-es5/bal-date.entry.js +1 -1
  292. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  293. package/dist/esm-es5/bal-doc-app.entry.js +1 -0
  294. package/dist/esm-es5/bal-dropdown.entry.js +1 -1
  295. package/dist/esm-es5/bal-file-upload.entry.js +1 -1
  296. package/dist/esm-es5/bal-footer.entry.js +1 -1
  297. package/dist/esm-es5/bal-hint_3.entry.js +1 -1
  298. package/dist/esm-es5/bal-icon.entry.js +1 -1
  299. package/dist/esm-es5/bal-input-stepper.entry.js +1 -1
  300. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  301. package/dist/esm-es5/bal-logo.entry.js +1 -1
  302. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  303. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  304. package/dist/esm-es5/bal-number-input.entry.js +1 -1
  305. package/dist/esm-es5/bal-option_2.entry.js +1 -1
  306. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  307. package/dist/esm-es5/bal-popover_2.entry.js +1 -1
  308. package/dist/esm-es5/bal-popup.entry.js +1 -1
  309. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  310. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  311. package/dist/esm-es5/bal-segment-item.entry.js +1 -0
  312. package/dist/esm-es5/bal-segment.entry.js +1 -0
  313. package/dist/esm-es5/bal-select_2.entry.js +1 -1
  314. package/dist/esm-es5/bal-shape.entry.js +1 -1
  315. package/dist/esm-es5/bal-stack.entry.js +1 -1
  316. package/dist/esm-es5/bal-steps.entry.js +1 -1
  317. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  318. package/dist/esm-es5/baloise-design-system.js +1 -1
  319. package/dist/esm-es5/{breakpoints.decorator-f979fe5c.js → breakpoints.decorator-d55790da.js} +1 -1
  320. package/dist/esm-es5/breakpoints.subject-ee89b4ec.js +1 -0
  321. package/dist/esm-es5/{date-38a0b208.js → date-aba2d404.js} +1 -1
  322. package/dist/esm-es5/global-63f4bcec.js +1 -0
  323. package/dist/esm-es5/{index.esm-83b1f9c4.js → index.esm-76abd8e3.js} +1 -1
  324. package/dist/esm-es5/index.js +1 -1
  325. package/dist/esm-es5/initialize-e216cfe4.js +1 -1
  326. package/dist/esm-es5/loader.js +1 -1
  327. package/dist/esm-es5/option-01553dab.js +1 -0
  328. package/dist/esm-es5/window-resize.decorator-dec8dd72.js +1 -0
  329. package/dist/html.html-data.json +161 -3
  330. package/dist/types/components/bal-accordion/bal-accordion-summary/bal-accordion-summary.d.ts +1 -0
  331. package/dist/types/components/bal-accordion/bal-accordion-trigger/bal-accordion-trigger.d.ts +1 -0
  332. package/dist/types/components/bal-carousel/bal-carousel-item/bal-carousel-item.d.ts +6 -0
  333. package/dist/types/components/bal-carousel/bal-carousel.d.ts +11 -2
  334. package/dist/types/components/bal-carousel/controls/dot-control.d.ts +1 -0
  335. package/dist/types/components/bal-carousel/controls/large-control.d.ts +1 -0
  336. package/dist/types/components/bal-carousel/controls/small-control.d.ts +1 -0
  337. package/dist/types/components/bal-carousel/controls/tab-control.d.ts +1 -0
  338. package/dist/types/components/bal-checkbox/bal-checkbox.d.ts +5 -0
  339. package/dist/types/components/bal-close/bal-close.d.ts +0 -2
  340. package/dist/types/components/bal-content/bal-content.interfaces.d.ts +1 -1
  341. package/dist/types/components/bal-icon/bal-icon.interfaces.d.ts +1 -1
  342. package/dist/types/components/bal-label/bal-label.d.ts +4 -1
  343. package/dist/types/components/bal-list/bal-list-item-accordion-head/bal-list-item-accordion-head.d.ts +1 -0
  344. package/dist/types/components/bal-nav/bal-nav-menu-flyout/bal-nav-menu-flyout.d.ts +4 -1
  345. package/dist/types/components/bal-nav/models/bal-nav-link-item.d.ts +1 -0
  346. package/dist/types/components/bal-nav/models/bal-nav-menu-link-item.d.ts +1 -0
  347. package/dist/types/components/bal-nav/models/bal-nav-meta-link-item.d.ts +3 -1
  348. package/dist/types/components/bal-option-list/bal-option-list.d.ts +5 -0
  349. package/dist/types/components/bal-progress-bar/bal-progress-bar.d.ts +8 -2
  350. package/dist/types/components/bal-progress-bar/bal-progress-bar.interfaces.d.ts +1 -0
  351. package/dist/types/components/bal-segment/bal-segment-item/bal-segment-item.d.ts +62 -0
  352. package/dist/types/components/bal-segment/bal-segment.d.ts +111 -0
  353. package/dist/types/components/bal-segment/bal-segment.interfaces.d.ts +20 -0
  354. package/dist/types/components/bal-segment/bal-segment.types.d.ts +1 -0
  355. package/dist/types/components/bal-steps/bal-steps.d.ts +4 -0
  356. package/dist/types/components/bal-steps/bal-steps.interfaces.d.ts +3 -1
  357. package/dist/types/components/bal-steps/components/step-button.d.ts +1 -0
  358. package/dist/types/components/bal-tabs/bal-tab-item/bal-tab-item.d.ts +10 -0
  359. package/dist/types/components/bal-tabs/bal-tab.type.d.ts +5 -3
  360. package/dist/types/components/bal-tabs/bal-tabs.d.ts +15 -3
  361. package/dist/types/components/bal-tabs/bal-tabs.interfaces.d.ts +3 -0
  362. package/dist/types/components/bal-tabs/components/tab-button.d.ts +1 -0
  363. package/dist/types/components/bal-tabs/components/tab-nav.d.ts +1 -0
  364. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +21 -0
  365. package/dist/types/components.d.ts +272 -10
  366. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +81 -0
  367. package/dist/types/interfaces.d.ts +1 -0
  368. package/dist/types/utils/dropdown/option.d.ts +1 -1
  369. package/dist/types/utils/dropdown/popup.d.ts +1 -1
  370. package/dist/types/utils/resize/index.d.ts +4 -1
  371. package/dist/types/utils/resize/window-resize.decorator.d.ts +3 -0
  372. package/dist/types/utils/resize/window-resize.interfaces.d.ts +5 -0
  373. package/dist/types/utils/resize/window-resize.listener.d.ts +1 -1
  374. package/dist/types/utils/resize/window-resize.subject.d.ts +9 -0
  375. package/dist/types/utils/string.d.ts +1 -0
  376. package/package.json +9 -9
  377. package/dist/baloise-design-system/p-0ab7aa0e.js +0 -1
  378. package/dist/baloise-design-system/p-126c79c9e9.system.entry.js +0 -1
  379. package/dist/baloise-design-system/p-1502fa2526.entry.js +0 -1
  380. package/dist/baloise-design-system/p-1e100fd83b.entry.js +0 -1
  381. package/dist/baloise-design-system/p-254b130be5.system.entry.js +0 -1
  382. package/dist/baloise-design-system/p-2d82b78410.entry.js +0 -1
  383. package/dist/baloise-design-system/p-2d8bd11634.entry.js +0 -1
  384. package/dist/baloise-design-system/p-2e2ed7a07f.entry.js +0 -1
  385. package/dist/baloise-design-system/p-2ebc8f9d0c.system.entry.js +0 -1
  386. package/dist/baloise-design-system/p-30fc270ec1.entry.js +0 -1
  387. package/dist/baloise-design-system/p-35aa7ecb24.entry.js +0 -1
  388. package/dist/baloise-design-system/p-4f3776ea4e.system.entry.js +0 -1
  389. package/dist/baloise-design-system/p-55f280cf33.system.entry.js +0 -1
  390. package/dist/baloise-design-system/p-63dfa27862.system.entry.js +0 -1
  391. package/dist/baloise-design-system/p-6cf5e22bb4.entry.js +0 -1
  392. package/dist/baloise-design-system/p-7047afd8.system.js +0 -1
  393. package/dist/baloise-design-system/p-7d498fc5.js +0 -1
  394. package/dist/baloise-design-system/p-87d9c24d45.system.entry.js +0 -1
  395. package/dist/baloise-design-system/p-8a87b9a8.system.js +0 -1
  396. package/dist/baloise-design-system/p-96c55b4f58.entry.js +0 -1
  397. package/dist/baloise-design-system/p-b22fa7966b.entry.js +0 -1
  398. package/dist/baloise-design-system/p-bcca1ed3.system.js +0 -1
  399. package/dist/baloise-design-system/p-c304d5fa9c.entry.js +0 -1
  400. package/dist/baloise-design-system/p-cee7a0dd73.system.entry.js +0 -1
  401. package/dist/baloise-design-system/p-cf47f1f53c.entry.js +0 -1
  402. package/dist/baloise-design-system/p-d585a3ad56.system.entry.js +0 -1
  403. package/dist/baloise-design-system/p-dbc2d22240.system.entry.js +0 -1
  404. package/dist/baloise-design-system/p-e71a27141c.entry.js +0 -1
  405. package/dist/baloise-design-system/p-e78a6409.js +0 -1
  406. package/dist/baloise-design-system/p-e7a4d97c51.entry.js +0 -1
  407. package/dist/baloise-design-system/p-e93d9571f5.system.entry.js +0 -1
  408. package/dist/baloise-design-system/p-ecd39e3bec.entry.js +0 -1
  409. package/dist/baloise-design-system/p-f076d1ed4f.system.entry.js +0 -1
  410. package/dist/baloise-design-system/p-f0ee1b670b.system.entry.js +0 -1
  411. package/dist/cjs/bal-content.cjs.entry.js +0 -56
  412. package/dist/esm-es5/app-globals-b0dd0fc4.js +0 -1
  413. package/dist/esm-es5/bal-content.entry.js +0 -1
  414. package/dist/esm-es5/bal-label.entry.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-1a742a5b.system.js} +0 -0
  418. /package/dist/baloise-design-system/{p-6b5343bd.js → p-3f4bb3a8.js} +0 -0
  419. /package/dist/esm-es5/{tokens.esm-7d2734e1.js → tokens.esm-769d0c71.js} +0 -0
@@ -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
  }
@@ -61,6 +61,21 @@ export class OptionList {
61
61
  * PUBLIC METHODS
62
62
  * ------------------------------------------------------
63
63
  */
64
+ /**
65
+ * Focus the selected visible option in the list, if no option is selected it selects the first one
66
+ */
67
+ async focusSelected() {
68
+ const options = this.options;
69
+ const indexToFocus = this.getSelectedOptionIndex(options);
70
+ if (indexToFocus > 0) {
71
+ this.updateFocus(options, indexToFocus);
72
+ await waitAfterFramePaint();
73
+ return indexToFocus;
74
+ }
75
+ else {
76
+ return await this.focusFirst();
77
+ }
78
+ }
64
79
  /**
65
80
  * Focus the first visible option in the list
66
81
  * @returns focusIndex
@@ -324,10 +339,19 @@ export class OptionList {
324
339
  }
325
340
  return undefined;
326
341
  }
342
+ getSelectedOptionIndex(options) {
343
+ for (let index = 0; index < options.length; index++) {
344
+ const option = options[index];
345
+ if (option.selected && !option.hidden) {
346
+ return index;
347
+ }
348
+ }
349
+ return this.focusIndex;
350
+ }
327
351
  getFirstOptionIndex(options) {
328
352
  for (let index = 0; index < options.length; index++) {
329
353
  const option = options[index];
330
- if (!option.disabled) {
354
+ if (!option.disabled && !option.hidden) {
331
355
  return index;
332
356
  }
333
357
  }
@@ -390,7 +414,7 @@ export class OptionList {
390
414
  render() {
391
415
  const block = BEM.block('option-list');
392
416
  const labelledby = this.labelledby || this.ariaForm.labelId;
393
- return (h(Host, { class: Object.assign({}, block.class()), id: this.inputId, tabIndex: -1 }, h("div", Object.assign({ role: "listbox", "aria-labelledby": labelledby, "aria-disabled": this.disabled, class: Object.assign({}, block.element('container').class()) }, this.inheritAttributes), h("slot", null))));
417
+ return (h(Host, { class: Object.assign({}, block.class()), id: this.inputId }, h("div", Object.assign({ role: "listbox", "aria-labelledby": labelledby, "aria-disabled": this.disabled, class: Object.assign({}, block.element('container').class()) }, this.inheritAttributes), h("slot", null))));
394
418
  }
395
419
  static get is() { return "bal-option-list"; }
396
420
  static get originalStyleUrls() {
@@ -544,6 +568,23 @@ export class OptionList {
544
568
  }
545
569
  static get methods() {
546
570
  return {
571
+ "focusSelected": {
572
+ "complexType": {
573
+ "signature": "() => Promise<number>",
574
+ "parameters": [],
575
+ "references": {
576
+ "Promise": {
577
+ "location": "global",
578
+ "id": "global::Promise"
579
+ }
580
+ },
581
+ "return": "Promise<number>"
582
+ },
583
+ "docs": {
584
+ "text": "Focus the selected visible option in the list, if no option is selected it selects the first one",
585
+ "tags": []
586
+ }
587
+ },
547
588
  "focusFirst": {
548
589
  "complexType": {
549
590
  "signature": "() => Promise<number>",
@@ -76,15 +76,15 @@ export class Pagination {
76
76
  }
77
77
  renderEllipsisElement() {
78
78
  const more = BEM.block('pagination').element('nav').element('pagination-list').modifier('more');
79
- return (h("li", null, h("div", { class: Object.assign({}, more.class()) }, h("bal-text", { bold: true, heading: true, inline: true, space: "none" }, "\u2026"))));
79
+ return (h("li", { "aria-hidden": 'true' }, h("div", { class: Object.assign({}, more.class()) }, h("bal-text", { bold: true, heading: true, inline: true, space: "none" }, "\u2026"))));
80
80
  }
81
81
  renderPageElement(pageNumber) {
82
82
  const isActive = this._value === pageNumber;
83
83
  const dot = BEM.block('pagination').element('nav').element('pagination-list').element('dot');
84
84
  if (this.interface === 'small') {
85
- return (h("li", null, h("span", { class: Object.assign(Object.assign(Object.assign({}, dot.class()), dot.modifier('active').class(isActive)), dot.modifier('inactive').class(!isActive)), onClick: () => this.selectPage(pageNumber) })));
85
+ return (h("li", null, h("span", { role: "button", "aria-current": isActive ? 'true' : undefined, class: Object.assign(Object.assign(Object.assign({}, dot.class()), dot.modifier('active').class(isActive)), dot.modifier('inactive').class(!isActive)), "aria-label": pageNumber, onClick: () => this.selectPage(pageNumber) })));
86
86
  }
87
- return (h("li", null, h("bal-button", { square: true, color: isActive ? 'primary' : 'text', onClick: () => this.selectPage(pageNumber), "data-testid": "bal-pagination-page-number", size: this.isMobile || this.size === 'small' ? 'small' : '' }, pageNumber)));
87
+ return (h("li", null, h("bal-button", { square: true, color: isActive ? 'primary' : 'text', "aria-current": isActive ? 'true' : undefined, onClick: () => this.selectPage(pageNumber), "data-testid": "bal-pagination-page-number", size: this.isMobile || this.size === 'small' ? 'small' : '' }, pageNumber)));
88
88
  }
89
89
  render() {
90
90
  const mobileItems = this.getItems(1);
@@ -1 +1 @@
1
- :root{--bal-progress-bar-background-white: var(--bal-color-white);--bal-progress-bar-background-grey: var(--bal-color-grey-3);--bal-progress-bar-line-background: var(--bal-color-primary);--bal-progress-bar-line-radius: var(--bal-radius-rounded)}.bal-progress-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;min-width:0;height:.25rem}.bal-progress-bar--background-white{background:var(--bal-progress-bar-background-white)}.bal-progress-bar--background-grey{background:var(--bal-progress-bar-background-grey)}.bal-progress-bar__line{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;height:.25rem;width:0;background:var(--bal-progress-bar-line-background);border-top-right-radius:var(--bal-progress-bar-line-radius);border-bottom-right-radius:var(--bal-progress-bar-line-radius)}.bal-progress-bar__line--animated{will-change:width;transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-progress-bar__line--full{border-top-right-radius:0;border-bottom-right-radius:0}
1
+ :root{--bal-progress-bar-background-white: var(--bal-color-white);--bal-progress-bar-background-grey: var(--bal-color-grey-3);--bal-progress-bar-background-purple: var(--bal-color-purple-2);--bal-progress-bar-background-yellow: var(--bal-color-yellow-2);--bal-progress-bar-background-red: var(--bal-color-red-2);--bal-progress-bar-background-green: var(--bal-color-green-2);--bal-progress-bar-line-color-primary: var(--bal-color-primary);--bal-progress-bar-line-color-purple: var(--bal-color-purple-6);--bal-progress-bar-line-color-yellow: var(--bal-color-yellow-6);--bal-progress-bar-line-color-red: var(--bal-color-red-6);--bal-progress-bar-line-color-green: var(--bal-color-green-6);--bal-progress-bar-line-radius: var(--bal-radius-rounded)}.bal-progress-bar{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;min-width:0;height:.25rem}.bal-progress-bar--background-white-of-primary,.bal-progress-bar--background-white-of-purple,.bal-progress-bar--background-white-of-red,.bal-progress-bar--background-white-of-green,.bal-progress-bar--background-white-of-yellow{background:var(--bal-progress-bar-background-white)}.bal-progress-bar--background-grey-of-primary{background:var(--bal-progress-bar-background-grey)}.bal-progress-bar--background-grey-of-purple{background:var(--bal-progress-bar-background-purple)}.bal-progress-bar--background-grey-of-red{background:var(--bal-progress-bar-background-red)}.bal-progress-bar--background-grey-of-green{background:var(--bal-progress-bar-background-green)}.bal-progress-bar--background-grey-of-yellow{background:var(--bal-progress-bar-background-yellow)}.bal-progress-bar__line{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;height:.25rem;width:0;background:var(--bal-progress-bar-line-color-primary);border-top-right-radius:var(--bal-progress-bar-line-radius);border-bottom-right-radius:var(--bal-progress-bar-line-radius)}.bal-progress-bar__line--animated{will-change:width;transition:all var(--bal-animation-transition-duration) var(--bal-animation-transition-easing)}.bal-progress-bar__line--full{border-top-right-radius:0;border-bottom-right-radius:0}.bal-progress-bar__line--color-purple{background:var(--bal-progress-bar-line-color-purple)}.bal-progress-bar__line--color-yellow{background:var(--bal-progress-bar-line-color-yellow)}.bal-progress-bar__line--color-red{background:var(--bal-progress-bar-line-color-red)}.bal-progress-bar__line--color-green{background:var(--bal-progress-bar-line-color-green)}
@@ -2,12 +2,15 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { h, Host } from "@stencil/core";
3
3
  import { BEM } from "../../utils/bem";
4
4
  import { ListenToBreakpoints, balBreakpoints } from "../../utils/breakpoints";
5
+ import { ListenToWindowResize, } from "../../utils/resize";
6
+ import { raf } from "../../utils/helpers";
5
7
  export class ProgressBar {
6
8
  constructor() {
7
9
  this.animated = true;
8
10
  this.isTouch = balBreakpoints.isTouch; // need this part to improve a none side effect import
9
11
  this.value = 0;
10
12
  this.background = 'white';
13
+ this.color = 'primary';
11
14
  }
12
15
  /**
13
16
  * LIFECYCLE
@@ -23,6 +26,9 @@ export class ProgressBar {
23
26
  breakpointListener(_breakpoints) {
24
27
  this.updateProgress();
25
28
  }
29
+ windowResizeListener() {
30
+ this.updateProgress();
31
+ }
26
32
  async configChanged(state) {
27
33
  this.animated = state.animated;
28
34
  }
@@ -32,16 +38,18 @@ export class ProgressBar {
32
38
  */
33
39
  updateProgress() {
34
40
  if (this.lineEl) {
35
- const maxWidth = this.el.clientWidth;
36
- const value = Math.max(0, Math.min(100, this.value));
37
- const lineWidth = (maxWidth / 100) * value;
38
- this.lineEl.style.width = `${lineWidth}px`;
39
- if (value === 100) {
40
- this.lineEl.classList.add('bal-progress-bar__line--full');
41
- }
42
- else {
43
- this.lineEl.classList.remove('bal-progress-bar__line--full');
44
- }
41
+ raf(() => {
42
+ const maxWidth = this.el.clientWidth;
43
+ const value = Math.max(0, Math.min(100, this.value));
44
+ const lineWidth = (maxWidth / 100) * value;
45
+ this.lineEl.style.width = `${lineWidth}px`;
46
+ if (value === 100) {
47
+ this.lineEl.classList.add('bal-progress-bar__line--full');
48
+ }
49
+ else {
50
+ this.lineEl.classList.remove('bal-progress-bar__line--full');
51
+ }
52
+ });
45
53
  }
46
54
  }
47
55
  /**
@@ -51,7 +59,7 @@ export class ProgressBar {
51
59
  render() {
52
60
  const block = BEM.block('progress-bar');
53
61
  const bemLineEl = block.element('line');
54
- return (h(Host, { "aria-hidden": "true", class: Object.assign(Object.assign({}, block.class()), block.modifier(`background-${this.background}`).class()) }, h("div", { class: Object.assign(Object.assign({}, bemLineEl.class()), bemLineEl.modifier(`animated`).class(this.animated)), ref: lineEl => (this.lineEl = lineEl) })));
62
+ return (h(Host, { "aria-hidden": "true", class: Object.assign(Object.assign({}, block.class()), block.modifier(`background-${this.background}-of-${this.color}`).class()) }, h("div", { class: Object.assign(Object.assign(Object.assign({}, bemLineEl.class()), bemLineEl.modifier(`color-${this.color}`).class()), bemLineEl.modifier(`animated`).class(this.animated)), ref: lineEl => (this.lineEl = lineEl) })));
55
63
  }
56
64
  static get is() { return "bal-progress-bar"; }
57
65
  static get originalStyleUrls() {
@@ -101,11 +109,34 @@ export class ProgressBar {
101
109
  "optional": false,
102
110
  "docs": {
103
111
  "tags": [],
104
- "text": "The shape color"
112
+ "text": "The background color"
105
113
  },
106
114
  "attribute": "background",
107
115
  "reflect": false,
108
116
  "defaultValue": "'white'"
117
+ },
118
+ "color": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "BalProps.BalProgressBarColor",
123
+ "resolved": "\"green\" | \"primary\" | \"purple\" | \"red\" | \"yellow\"",
124
+ "references": {
125
+ "BalProps": {
126
+ "location": "global",
127
+ "id": "global::BalProps"
128
+ }
129
+ }
130
+ },
131
+ "required": false,
132
+ "optional": false,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": "The progress bar color"
136
+ },
137
+ "attribute": "color",
138
+ "reflect": false,
139
+ "defaultValue": "'primary'"
109
140
  }
110
141
  };
111
142
  }
@@ -147,3 +178,9 @@ __decorate([
147
178
  __metadata("design:paramtypes", [Object]),
148
179
  __metadata("design:returntype", void 0)
149
180
  ], ProgressBar.prototype, "breakpointListener", null);
181
+ __decorate([
182
+ ListenToWindowResize(),
183
+ __metadata("design:type", Function),
184
+ __metadata("design:paramtypes", []),
185
+ __metadata("design:returntype", void 0)
186
+ ], ProgressBar.prototype, "windowResizeListener", null);
@@ -0,0 +1 @@
1
+ :root{--bal-segment-background: var(--bal-color-grey-2);--bal-segment-background-invalid: var(--bal-color-danger-1);--bal-segment-item-focus-border: var(--bal-color-border-primary);--bal-segment-item-text-color: var(--bal-color-text-primary);--bal-segment-item-text-color-checked: var(--bal-color-text-primary);--bal-segment-item-text-color-checked-hovered: var(--bal-color-text-primary-hovered);--bal-segment-item-text-color-checked-pressed: var(--bal-color-text-primary-pressed);--bal-segment-item-text-color-invalid: var(--bal-color-text-danger);--bal-segment-item-text-color-invalid-hovered: var(--bal-color-text-danger-hovered);--bal-segment-item-text-color-invalid-pressed: var(--bal-color-text-danger-pressed);--bal-segment-item-text-color-disabled: var(--bal-color-text-grey);--bal-segment-item-text-color-disabled-checked: var(--bal-color-text-grey-dark);--bal-segment-item-divider-background: var(--bal-color-grey);--bal-segment-item-divider-background-invalid: var(--bal-color-danger-2);--bal-segment-item-indicator-background: var(--bal-color-purple-2);--bal-segment-item-indicator-background-invalid: var(--bal-color-danger-4);--bal-segment-item-indicator-background-disabled: var(--bal-color-grey-3)}.bal-segment-item{display:block;position:relative;height:auto;text-decoration:none;text-overflow:ellipsis;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;grid-row:1;font-kerning:none}.bal-segment-item--disabled{cursor:default !important;pointer-events:none !important}.bal-segment-item__button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:2.5rem;min-width:3rem;display:flex;align-items:center;justify-content:center;flex-grow:1;padding-top:.375rem;padding-bottom:.375rem;padding-left:20px;padding-right:20px;outline:none;border-color:rgba(0,0,0,0);border-width:var(--bal-border-width-normal);border-style:solid;border-radius:var(--bal-radius-normal);background:rgba(0,0,0,0);font-size:var(--bal-text-size-normal);font-weight:var(--bal-font-weight-bold);color:var(--bal-segment-item-text-color);overflow:hidden;position:relative;contain:content;pointer-events:none;cursor:pointer;z-index:2}.bal-segment-item__button--vertical{padding-left:.75rem;padding-right:.75rem}.bal-segment-item__button span{font-size:var(--bal-text-size-small);font-weight:var(--bal-font-weight-regular)}.bal-segment-item__button{will-change:color,padding;transition:color 160ms cubic-bezier(0.4, 0, 0.2, 1);transition:padding 160ms cubic-bezier(0.4, 0, 0.2, 1)}.bal-segment-item:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{content:"";position:absolute;background:var(--bal-segment-item-divider-background);border-radius:var(--bal-radius-normal)}.bal-segment-item:not(.bal-segment-item--vertical):not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{top:2px;bottom:2px;right:-1px;width:2px}.bal-segment-item.bal-segment-item--vertical:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{left:2px;right:2px;bottom:-1px;height:2px}.bal-segment-item--invalid:not(.bal-segment-item--checked):not(.bal-segment-item--last):not(.bal-segment-item--before-checked)::after{background:var(--bal-segment-item-divider-background-invalid)}.bal-segment-item__indicator{transform-origin:left;position:absolute;opacity:0;box-sizing:border-box;pointer-events:none;border-radius:var(--bal-radius-normal);background:var(--bal-segment-item-indicator-background);top:0;left:0}.bal-segment-item__indicator--vertical{transform-origin:top}.bal-segment-item__indicator--invalid{background:var(--bal-segment-item-indicator-background-invalid)}.bal-segment-item__indicator--background{min-width:100%;min-height:100%;transform:none;pointer-events:none}.bal-segment-item__indicator--animated{will-change:transform,opacity,top,bottom,left,right,min-width,min-heigth;transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1),min-width 100ms ease,min-height 100ms ease,top 100ms ease,left 100ms ease,bottom 100ms ease,right 100ms ease}.bal-segment-item__indicator--checked{opacity:1}.bal-segment-item:active .bal-segment-item__indicator{min-width:calc(100% - 4px);min-height:calc(100% - 4px);top:2px !important;bottom:2px !important;left:2px !important;right:2px !important}.bal-segment-item__button__icon{position:absolute !important;opacity:0;width:0 !important;transform:translateX(0.1rem);pointer-events:none !important;cursor:inherit;will-change:transform,opacity}.bal-segment-item__button__icon:not(.bal-segment-item__button__icon--vertical){left:10px}.bal-segment-item__button__icon--vertical{right:10px}.bal-segment-item__button__icon--animated{opacity:1;width:.875rem !important;transform:translateX(-4px);transition:opacity 260ms cubic-bezier(0.4, 0, 0.2, 1),transform 260ms cubic-bezier(0.4, 0, 0.2, 1)}.bal-segment-item__button--checked{color:var(--bal-segment-item-text-color-checked);padding-right:40px}.bal-segment-item__button--checked:not(.bal-segment-item__button--vertical){padding-left:26px;padding-right:12px}@media(hover: hover)and (pointer: fine){.bal-segment-item:not(.bal-segment-item--disabled):hover .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-checked-hovered)}}.bal-segment-item:not(.bal-segment-item--disabled):active .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-checked-pressed)}.bal-segment--keyboard .bal-segment-item__button:not(.bal-segment-item__button--disabled):focus-visible,.bal-segment--keyboard .bal-segment-item__button--focused:not(.bal-segment-item__button--disabled){border-color:var(--bal-segment-item-focus-border);border-width:var(--bal-border-width-normal);border-style:solid;transition:border 300ms ease-in-out}.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled) .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid)}@media(hover: hover)and (pointer: fine){.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled):hover .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid-hovered)}}.bal-segment-item.bal-segment-item--invalid:not(.bal-segment-item--disabled):active .bal-segment-item__button:not(.bal-segment-item__button--checked){color:var(--bal-segment-item-text-color-invalid-pressed)}.bal-segment-item__button--invalid.bal-segment-item__button--checked{color:var(--bal-color-text-white)}.bal-segment-item__button--disabled{background:rgba(0,0,0,0);color:var(--bal-segment-item-text-color-disabled)}.bal-segment-item__button--disabled.bal-segment-item__button--checked{background:var(--bal-segment-item-indicator-background-disabled);color:var(--bal-segment-item-text-color-disabled-checked)}.bal-segment-item__button__slot--hidden{display:none !important}