@baloise/ds-core 16.0.3 → 16.1.0

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 (473) hide show
  1. package/components/all.d.ts +234 -0
  2. package/components/all.js +350 -0
  3. package/components/aria.js +3 -0
  4. package/components/bal-accordion-details.js +4 -4
  5. package/components/bal-card.js +2 -2
  6. package/components/bal-card2.js +3 -3
  7. package/components/bal-carousel2.js +1 -1
  8. package/components/bal-checkbox-button.js +6 -6
  9. package/components/bal-checkbox-group.js +1 -1
  10. package/components/bal-checkbox2.js +3 -2
  11. package/components/bal-close2.js +1 -1
  12. package/components/bal-content.js +4 -4
  13. package/components/bal-date-calendar-cell.js +2 -2
  14. package/components/bal-date-calendar-cell2.js +3 -3
  15. package/components/bal-date-calendar2.js +3 -3
  16. package/components/bal-datepicker.js +3 -3
  17. package/components/bal-divider.js +4 -4
  18. package/components/bal-dropdown.d.ts +11 -0
  19. package/components/bal-dropdown.js +710 -0
  20. package/components/bal-field.js +12 -2
  21. package/components/bal-file-upload.js +1 -1
  22. package/components/bal-footer.js +4 -4
  23. package/components/bal-input-slider.js +1 -1
  24. package/components/bal-label.js +2 -2
  25. package/components/bal-label2.js +5 -5
  26. package/components/bal-nav-link-grid-col.js +2 -2
  27. package/components/bal-nav-link-grid-col2.js +4 -4
  28. package/components/bal-nav-link-grid.js +2 -2
  29. package/components/bal-nav-link-grid2.js +4 -4
  30. package/components/bal-nav-link-group.js +4 -4
  31. package/components/bal-nav-link.js +2 -2
  32. package/components/bal-nav-link2.js +4 -4
  33. package/components/bal-nav.js +8 -8
  34. package/components/bal-notices.js +3 -3
  35. package/components/bal-number-input.js +31 -13
  36. package/components/bal-option-list.d.ts +11 -0
  37. package/components/bal-option-list.js +459 -0
  38. package/components/bal-option.d.ts +11 -0
  39. package/components/bal-option.js +171 -0
  40. package/components/bal-popup.js +1 -1
  41. package/components/bal-radio-button.js +5 -5
  42. package/components/bal-radio-group.js +1 -1
  43. package/components/bal-radio2.js +1 -1
  44. package/components/bal-select2.js +4 -4
  45. package/components/bal-spinner2.js +54 -6
  46. package/components/bal-stack.js +2 -2
  47. package/components/bal-stack2.js +4 -4
  48. package/components/bal-steps.js +1 -1
  49. package/components/bal-tabs2.js +2 -2
  50. package/components/bal-tag2.js +1 -1
  51. package/components/config.default.js +1 -0
  52. package/components/date.js +5 -1
  53. package/components/index.esm.js +1 -1
  54. package/components/index.js +9 -1
  55. package/components/option.js +46 -0
  56. package/components/tokens.esm.js +1 -1
  57. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  58. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  59. package/dist/baloise-design-system/index.esm.js +1 -1
  60. package/dist/baloise-design-system/p-013b4c72.system.js +1 -0
  61. package/dist/baloise-design-system/p-0639833837.system.entry.js +1 -0
  62. package/dist/baloise-design-system/{p-88852ce68d.system.entry.js → p-06e9a468fc.system.entry.js} +1 -1
  63. package/dist/baloise-design-system/p-0793c0159f.system.entry.js +1 -0
  64. package/dist/baloise-design-system/{p-720c90ea90.system.entry.js → p-0fed7a5f26.system.entry.js} +1 -1
  65. package/dist/baloise-design-system/p-10b8686d91.entry.js +1 -0
  66. package/dist/baloise-design-system/{p-e113196061.system.entry.js → p-126c79c9e9.system.entry.js} +1 -1
  67. package/dist/baloise-design-system/{p-bb2ec275bb.system.entry.js → p-12bb6ea3e7.system.entry.js} +1 -1
  68. package/dist/baloise-design-system/p-12bcc7da.js +1 -0
  69. package/dist/baloise-design-system/{p-762f45ff6f.entry.js → p-135c5759c5.entry.js} +1 -1
  70. package/dist/baloise-design-system/{p-62770d5d.system.js → p-14ae0709.system.js} +1 -1
  71. package/dist/baloise-design-system/{p-3bbf43bb.system.js → p-1509eaa7.system.js} +1 -1
  72. package/dist/baloise-design-system/{p-946e9e784d.system.entry.js → p-1659bb968c.system.entry.js} +1 -1
  73. package/dist/baloise-design-system/p-187f98a1.system.js +1 -0
  74. package/dist/baloise-design-system/p-18e2e391e0.system.entry.js +1 -0
  75. package/dist/baloise-design-system/p-1de6b20b1c.system.entry.js +1 -0
  76. package/dist/baloise-design-system/{p-1c2dee82c4.system.entry.js → p-222bc9b30e.system.entry.js} +1 -1
  77. package/dist/baloise-design-system/p-22b041a511.entry.js +1 -0
  78. package/dist/baloise-design-system/{p-f62222a85d.entry.js → p-25da216e4f.entry.js} +1 -1
  79. package/dist/baloise-design-system/p-25e0d82e89.system.entry.js +1 -0
  80. package/dist/baloise-design-system/p-2d82b78410.entry.js +1 -0
  81. package/dist/baloise-design-system/{p-a0db085f89.entry.js → p-2d8bd11634.entry.js} +1 -1
  82. package/dist/baloise-design-system/p-2db9030ad9.system.entry.js +1 -0
  83. package/dist/baloise-design-system/{p-8444cfcbed.system.entry.js → p-3128128969.system.entry.js} +1 -1
  84. package/dist/baloise-design-system/{p-9a5cb17cb9.entry.js → p-39bc49bc3d.entry.js} +1 -1
  85. package/dist/baloise-design-system/p-3bad0907.system.js +1 -0
  86. package/dist/baloise-design-system/{p-12786937.js → p-3f1c49d0.js} +1 -1
  87. package/dist/baloise-design-system/{p-33fca72859.entry.js → p-4aba4c66ee.entry.js} +1 -1
  88. package/dist/baloise-design-system/{p-9e4fcb76.js → p-54f81c32.js} +1 -1
  89. package/dist/baloise-design-system/{p-922fd809.system.js → p-55faac1d.system.js} +1 -1
  90. package/dist/baloise-design-system/p-5b571a9fb1.entry.js +1 -0
  91. package/dist/baloise-design-system/{p-671a986aff.entry.js → p-60e94f8144.entry.js} +1 -1
  92. package/dist/baloise-design-system/{p-06e959a11a.entry.js → p-6164f99bb8.entry.js} +1 -1
  93. package/dist/baloise-design-system/p-62ab1f0ae2.system.entry.js +1 -0
  94. package/dist/baloise-design-system/{p-6b80dee13f.system.entry.js → p-62b792a34b.system.entry.js} +1 -1
  95. package/dist/baloise-design-system/{p-8998eeb2a7.system.entry.js → p-74f4b9818b.system.entry.js} +1 -1
  96. package/dist/baloise-design-system/p-77f5e777e6.entry.js +1 -0
  97. package/dist/baloise-design-system/p-7c42a363f3.entry.js +1 -0
  98. package/dist/baloise-design-system/p-7cd815d3e8.entry.js +1 -0
  99. package/dist/baloise-design-system/p-80b45dd4d6.system.entry.js +1 -0
  100. package/dist/baloise-design-system/{p-af5b58ab1c.system.entry.js → p-8870e1f3e0.system.entry.js} +1 -1
  101. package/dist/baloise-design-system/{p-3cb83cf9.system.js → p-8a87b9a8.system.js} +1 -1
  102. package/dist/baloise-design-system/{p-a5568e05fb.system.entry.js → p-8c209ac52b.system.entry.js} +1 -1
  103. package/dist/baloise-design-system/p-8f77c423ad.entry.js +1 -0
  104. package/dist/baloise-design-system/{p-32bc2b926a.entry.js → p-8fe94b9e21.entry.js} +1 -1
  105. package/dist/baloise-design-system/{p-1b76afbf.js → p-94efe2aa.js} +1 -1
  106. package/dist/baloise-design-system/{p-0ce86357bd.entry.js → p-9658f4a66f.entry.js} +1 -1
  107. package/dist/baloise-design-system/p-9a0640d065.entry.js +1 -0
  108. package/dist/baloise-design-system/{p-c3bd665a8b.entry.js → p-9e167705ca.entry.js} +1 -1
  109. package/dist/baloise-design-system/p-9ecce014c2.system.entry.js +1 -0
  110. package/dist/baloise-design-system/p-a19d1e1d.js +1 -0
  111. package/dist/baloise-design-system/p-a7e5ee75e2.entry.js +1 -0
  112. package/dist/baloise-design-system/{p-9cc5ae9e5c.entry.js → p-a8022ee701.entry.js} +1 -1
  113. package/dist/baloise-design-system/p-a97cbb7dda.entry.js +1 -0
  114. package/dist/baloise-design-system/p-acb5cea0.system.js +1 -0
  115. package/dist/baloise-design-system/p-ae28b86fe5.entry.js +1 -0
  116. package/dist/baloise-design-system/p-b779742f50.entry.js +1 -0
  117. package/dist/baloise-design-system/{p-cee3cd08.js → p-b8d99064.js} +1 -1
  118. package/dist/baloise-design-system/p-b8f085f7b5.system.entry.js +1 -0
  119. package/dist/baloise-design-system/p-b97d9336a7.system.entry.js +1 -0
  120. package/dist/baloise-design-system/{p-b3a2290c0d.entry.js → p-b9f197815f.entry.js} +1 -1
  121. package/dist/baloise-design-system/{p-9e7610a20f.system.entry.js → p-bb3914c87a.system.entry.js} +1 -1
  122. package/dist/baloise-design-system/p-bb6304d0.system.js +1 -0
  123. package/dist/baloise-design-system/p-bcbb5b59f3.system.entry.js +1 -0
  124. package/dist/baloise-design-system/p-bcca1ed3.system.js +1 -0
  125. package/dist/baloise-design-system/{p-1cdfb98b54.entry.js → p-bcebf41b74.entry.js} +1 -1
  126. package/dist/baloise-design-system/p-bd5de78b2c.entry.js +1 -0
  127. package/dist/baloise-design-system/p-c304d5fa9c.entry.js +1 -0
  128. package/dist/baloise-design-system/{p-8177dec3.system.js → p-cc61fac8.system.js} +1 -1
  129. package/dist/baloise-design-system/{p-ac825842e4.system.entry.js → p-cd8e72d87f.system.entry.js} +1 -1
  130. package/dist/baloise-design-system/{p-a9300668b4.system.entry.js → p-d16557d133.system.entry.js} +1 -1
  131. package/dist/baloise-design-system/p-d7a758b3.js +1 -0
  132. package/dist/baloise-design-system/{p-33cd610840.system.entry.js → p-d919753ed0.system.entry.js} +1 -1
  133. package/dist/baloise-design-system/p-d9b38501.js +1 -0
  134. package/dist/baloise-design-system/p-d9d229a026.entry.js +1 -0
  135. package/dist/baloise-design-system/{p-13227d037a.system.entry.js → p-dbc2d22240.system.entry.js} +1 -1
  136. package/dist/baloise-design-system/{p-aacb0cee66.system.entry.js → p-dce3764ee5.system.entry.js} +1 -1
  137. package/dist/baloise-design-system/p-ddf9b2a289.entry.js +1 -0
  138. package/dist/baloise-design-system/{p-49a8bfb790.system.entry.js → p-e4de708de1.system.entry.js} +1 -1
  139. package/dist/baloise-design-system/p-e60c936359.system.entry.js +1 -0
  140. package/dist/baloise-design-system/p-e78a6409.js +1 -0
  141. package/dist/baloise-design-system/{p-f55c50abfa.system.entry.js → p-f076d1ed4f.system.entry.js} +1 -1
  142. package/dist/baloise-design-system/{p-b34e0daa6e.system.entry.js → p-f0b43f1452.system.entry.js} +1 -1
  143. package/dist/baloise-design-system/p-f12abda2db.entry.js +1 -0
  144. package/dist/baloise-design-system/{p-31d9c875c0.system.entry.js → p-f1b95d78af.system.entry.js} +1 -1
  145. package/dist/baloise-design-system/p-f56fb1a197.entry.js +1 -0
  146. package/dist/baloise-design-system/{p-681d41fc97.entry.js → p-f8974d743d.entry.js} +1 -1
  147. package/dist/baloise-design-system/p-f8a98657a1.entry.js +1 -0
  148. package/dist/cjs/{app-globals-d6bc7866.js → app-globals-ae3a8623.js} +1 -1
  149. package/dist/cjs/aria-c8955a5c.js +5 -0
  150. package/dist/cjs/bal-accordion_4.cjs.entry.js +4 -4
  151. package/dist/cjs/bal-card_6.cjs.entry.js +3 -3
  152. package/dist/cjs/bal-carousel_2.cjs.entry.js +5 -5
  153. package/dist/cjs/bal-checkbox-button.cjs.entry.js +6 -6
  154. package/dist/cjs/bal-checkbox_2.cjs.entry.js +4 -3
  155. package/dist/cjs/bal-close.cjs.entry.js +2 -2
  156. package/dist/cjs/bal-content.cjs.entry.js +4 -4
  157. package/dist/cjs/bal-date-calendar-cell.cjs.entry.js +2 -2
  158. package/dist/cjs/bal-date-calendar_2.cjs.entry.js +5 -5
  159. package/dist/cjs/bal-date.cjs.entry.js +2 -2
  160. package/dist/cjs/bal-datepicker.cjs.entry.js +7 -7
  161. package/dist/cjs/bal-divider.cjs.entry.js +4 -4
  162. package/dist/cjs/bal-dropdown.cjs.entry.js +660 -0
  163. package/dist/cjs/bal-field_5.cjs.entry.js +12 -2
  164. package/dist/cjs/bal-file-upload.cjs.entry.js +1 -1
  165. package/dist/cjs/bal-footer.cjs.entry.js +4 -4
  166. package/dist/cjs/bal-hint_3.cjs.entry.js +3 -3
  167. package/dist/cjs/bal-icon.cjs.entry.js +1 -1
  168. package/dist/cjs/bal-input-slider.cjs.entry.js +1 -1
  169. package/dist/cjs/bal-input-stepper.cjs.entry.js +1 -1
  170. package/dist/cjs/bal-label.cjs.entry.js +6 -6
  171. package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
  172. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  173. package/dist/cjs/bal-nav_8.cjs.entry.js +28 -28
  174. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  175. package/dist/cjs/bal-notices.cjs.entry.js +3 -3
  176. package/dist/cjs/bal-number-input.cjs.entry.js +32 -14
  177. package/dist/cjs/bal-option_2.cjs.entry.js +541 -0
  178. package/dist/cjs/bal-pagination.cjs.entry.js +4 -4
  179. package/dist/cjs/bal-popover_2.cjs.entry.js +3 -3
  180. package/dist/cjs/bal-progress-bar.cjs.entry.js +3 -3
  181. package/dist/cjs/bal-radio-button.cjs.entry.js +5 -5
  182. package/dist/cjs/bal-radio_2.cjs.entry.js +2 -2
  183. package/dist/cjs/bal-select_2.cjs.entry.js +3 -3
  184. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  185. package/dist/cjs/bal-spinner.cjs.entry.js +49 -4
  186. package/dist/cjs/bal-stack.cjs.entry.js +4 -4
  187. package/dist/cjs/bal-steps.cjs.entry.js +4 -4
  188. package/dist/cjs/bal-tab-item_2.cjs.entry.js +5 -5
  189. package/dist/cjs/bal-tag_2.cjs.entry.js +1 -1
  190. package/dist/cjs/bal-time-input.cjs.entry.js +1 -1
  191. package/dist/cjs/baloise-design-system.cjs.js +4 -4
  192. package/dist/cjs/{breakpoints.decorator-7f888011.js → breakpoints.decorator-47fd6060.js} +1 -1
  193. package/dist/cjs/{breakpoints.subject-28c980cd.js → breakpoints.subject-66093c8f.js} +1 -1
  194. package/dist/cjs/{config.default-32725178.js → config.default-5bdd6e3d.js} +1 -0
  195. package/dist/cjs/{date-df1d61a8.js → date-3e33b208.js} +5 -1
  196. package/dist/cjs/index.cjs.js +7 -5
  197. package/dist/cjs/{initialize-e38e7028.js → initialize-2a19d091.js} +9 -2
  198. package/dist/cjs/loader.cjs.js +4 -4
  199. package/dist/cjs/option-c33cf2b8.js +49 -0
  200. package/dist/cjs/{tokens.esm-89d0f18d.js → tokens.esm-bb0ef2db.js} +1 -1
  201. package/dist/collection/collection-manifest.json +14 -0
  202. package/dist/collection/components/bal-accordion/bal-accordion-details/bal-accordion-details.js +2 -2
  203. package/dist/collection/components/bal-card/bal-card.js +1 -1
  204. package/dist/collection/components/bal-carousel/controls/tab-control.js +1 -1
  205. package/dist/collection/components/bal-checkbox/bal-checkbox-button/bal-checkbox-button.css +1 -1
  206. package/dist/collection/components/bal-checkbox/bal-checkbox-button/bal-checkbox-button.js +3 -3
  207. package/dist/collection/components/bal-checkbox/bal-checkbox-group/bal-checkbox-group.js +1 -1
  208. package/dist/collection/components/bal-checkbox/bal-checkbox.js +2 -1
  209. package/dist/collection/components/bal-checkbox/radio-checkbox.css +1 -1
  210. package/dist/collection/components/bal-close/bal-close.js +1 -1
  211. package/dist/collection/components/bal-content/bal-content.js +2 -2
  212. package/dist/collection/components/bal-date/bal-date-calendar/components/bal-date-calendar__gird.js +1 -1
  213. package/dist/collection/components/bal-date/bal-date-calendar/components/bal-date-calendar__list.js +1 -1
  214. package/dist/collection/components/bal-date/bal-date-calendar-cell/bal-date-calendar-cell.js +1 -1
  215. package/dist/collection/components/bal-datepicker/bal-datepicker.js +3 -3
  216. package/dist/collection/components/bal-divider/bal-divider.js +2 -2
  217. package/dist/collection/components/bal-dropdown/bal-dropdown.css +1 -0
  218. package/dist/collection/components/bal-dropdown/bal-dropdown.interfaces.js +4 -0
  219. package/dist/collection/components/bal-dropdown/bal-dropdown.js +882 -0
  220. package/dist/collection/components/bal-field/bal-field.js +12 -2
  221. package/dist/collection/components/bal-file-upload/components/file-list.js +1 -1
  222. package/dist/collection/components/bal-footer/bal-footer.js +3 -3
  223. package/dist/collection/components/bal-input-slider/bal-input-slider.js +1 -1
  224. package/dist/collection/components/bal-label/bal-label.js +3 -3
  225. package/dist/collection/components/bal-nav/bal-nav-link/bal-nav-link.js +2 -2
  226. package/dist/collection/components/bal-nav/bal-nav-link-grid/bal-nav-link-grid.js +2 -2
  227. package/dist/collection/components/bal-nav/bal-nav-link-grid-col/bal-nav-link-grid-col.js +2 -2
  228. package/dist/collection/components/bal-nav/bal-nav-link-group/bal-nav-link-group.js +2 -2
  229. package/dist/collection/components/bal-nav/bal-nav.js +6 -6
  230. package/dist/collection/components/bal-nav/components/section-list.js +2 -2
  231. package/dist/collection/components/bal-nav/components/service-list.js +2 -2
  232. package/dist/collection/components/bal-notices/bal-notices.js +1 -1
  233. package/dist/collection/components/bal-number-input/bal-number-input.js +5 -0
  234. package/dist/collection/components/bal-number-input/bal-number-input.utils.js +27 -14
  235. package/dist/collection/components/bal-number-input/bal-number-input.utils.spec.js +82 -0
  236. package/dist/collection/components/bal-option/bal-option.css +1 -0
  237. package/dist/collection/components/bal-option/bal-option.interfaces.js +4 -0
  238. package/dist/collection/components/bal-option/bal-option.js +360 -0
  239. package/dist/collection/components/bal-option-list/bal-option-list.css +1 -0
  240. package/dist/collection/components/bal-option-list/bal-option-list.interfaces.js +4 -0
  241. package/dist/collection/components/bal-option-list/bal-option-list.js +939 -0
  242. package/dist/collection/components/bal-radio/bal-radio-button/bal-radio-button.js +3 -3
  243. package/dist/collection/components/bal-radio/bal-radio-group/bal-radio-group.js +1 -1
  244. package/dist/collection/components/bal-select/bal-select.js +4 -4
  245. package/dist/collection/components/bal-spinner/bal-spinner.css +1 -1
  246. package/dist/collection/components/bal-spinner/bal-spinner.interfaces.js +4 -0
  247. package/dist/collection/components/bal-spinner/bal-spinner.js +83 -4
  248. package/dist/collection/components/bal-stack/bal-stack.js +2 -2
  249. package/dist/collection/components/bal-steps/bal-steps.js +1 -1
  250. package/dist/collection/components/bal-tabs/components/tab-nav.js +1 -1
  251. package/dist/collection/components/bal-tabs/components/tab-select.js +1 -1
  252. package/dist/collection/components/bal-tag/bal-tag.css +1 -1
  253. package/dist/collection/index.js +1 -0
  254. package/dist/collection/utils/aria.js +1 -0
  255. package/dist/collection/utils/config/config.default.js +1 -0
  256. package/dist/collection/utils/config/config.js +7 -0
  257. package/dist/collection/utils/constants/version.constant.js +1 -1
  258. package/dist/collection/utils/date/date.js +5 -1
  259. package/dist/collection/utils/date/date.spec.js +11 -5
  260. package/dist/collection/utils/dropdown/auto-fill.js +38 -0
  261. package/dist/collection/utils/dropdown/component.js +1 -0
  262. package/dist/collection/utils/dropdown/dropdown.i18n.js +52 -0
  263. package/dist/collection/utils/dropdown/events.js +43 -0
  264. package/dist/collection/utils/dropdown/filters.js +10 -0
  265. package/dist/collection/utils/dropdown/focus.js +19 -0
  266. package/dist/collection/utils/dropdown/form-submit.js +35 -0
  267. package/dist/collection/utils/dropdown/icon.js +15 -0
  268. package/dist/collection/utils/dropdown/index.js +13 -0
  269. package/dist/collection/utils/dropdown/input.js +12 -0
  270. package/dist/collection/utils/dropdown/option-list.js +8 -0
  271. package/dist/collection/utils/dropdown/option.js +44 -0
  272. package/dist/collection/utils/dropdown/popup.js +45 -0
  273. package/dist/collection/utils/dropdown/value.js +103 -0
  274. package/dist/esm/{app-globals-89691d80.js → app-globals-b0dd0fc4.js} +1 -1
  275. package/dist/esm/aria-d5877698.js +3 -0
  276. package/dist/esm/bal-accordion_4.entry.js +4 -4
  277. package/dist/esm/bal-card_6.entry.js +3 -3
  278. package/dist/esm/bal-carousel_2.entry.js +5 -5
  279. package/dist/esm/bal-checkbox-button.entry.js +6 -6
  280. package/dist/esm/bal-checkbox_2.entry.js +5 -4
  281. package/dist/esm/bal-close.entry.js +2 -2
  282. package/dist/esm/bal-content.entry.js +4 -4
  283. package/dist/esm/bal-date-calendar-cell.entry.js +2 -2
  284. package/dist/esm/bal-date-calendar_2.entry.js +6 -6
  285. package/dist/esm/bal-date.entry.js +3 -3
  286. package/dist/esm/bal-datepicker.entry.js +8 -8
  287. package/dist/esm/bal-divider.entry.js +4 -4
  288. package/dist/esm/bal-dropdown.entry.js +656 -0
  289. package/dist/esm/bal-field_5.entry.js +12 -2
  290. package/dist/esm/bal-file-upload.entry.js +2 -2
  291. package/dist/esm/bal-footer.entry.js +5 -5
  292. package/dist/esm/bal-hint_3.entry.js +3 -3
  293. package/dist/esm/bal-icon.entry.js +1 -1
  294. package/dist/esm/bal-input-slider.entry.js +1 -1
  295. package/dist/esm/bal-input-stepper.entry.js +2 -2
  296. package/dist/esm/bal-label.entry.js +6 -6
  297. package/dist/esm/bal-list_8.entry.js +3 -3
  298. package/dist/esm/bal-logo.entry.js +3 -3
  299. package/dist/esm/bal-nav_8.entry.js +24 -24
  300. package/dist/esm/bal-navbar_5.entry.js +3 -3
  301. package/dist/esm/bal-notices.entry.js +3 -3
  302. package/dist/esm/bal-number-input.entry.js +33 -15
  303. package/dist/esm/bal-option_2.entry.js +536 -0
  304. package/dist/esm/bal-pagination.entry.js +4 -4
  305. package/dist/esm/bal-popover_2.entry.js +3 -3
  306. package/dist/esm/bal-popup.entry.js +1 -1
  307. package/dist/esm/bal-progress-bar.entry.js +3 -3
  308. package/dist/esm/bal-radio-button.entry.js +5 -5
  309. package/dist/esm/bal-radio_2.entry.js +3 -3
  310. package/dist/esm/bal-select_2.entry.js +4 -4
  311. package/dist/esm/bal-shape.entry.js +1 -1
  312. package/dist/esm/bal-spinner.entry.js +50 -5
  313. package/dist/esm/bal-stack.entry.js +4 -4
  314. package/dist/esm/bal-steps.entry.js +5 -5
  315. package/dist/esm/bal-tab-item_2.entry.js +6 -6
  316. package/dist/esm/bal-tag_2.entry.js +1 -1
  317. package/dist/esm/bal-time-input.entry.js +1 -1
  318. package/dist/esm/baloise-design-system.js +4 -4
  319. package/dist/esm/{breakpoints.decorator-52979d29.js → breakpoints.decorator-021fbaf0.js} +1 -1
  320. package/dist/esm/{breakpoints.subject-64327a3b.js → breakpoints.subject-ef464f89.js} +1 -1
  321. package/dist/esm/{config.default-79f94bf7.js → config.default-7efdc82d.js} +1 -0
  322. package/dist/esm/{date-db6afc26.js → date-38a0b208.js} +6 -2
  323. package/dist/esm/{index.esm-ec4cba26.js → index.esm-83b1f9c4.js} +1 -1
  324. package/dist/esm/index.js +8 -7
  325. package/dist/esm/{initialize-66615dde.js → initialize-e216cfe4.js} +9 -2
  326. package/dist/esm/loader.js +4 -4
  327. package/dist/esm/option-37cb0282.js +46 -0
  328. package/dist/esm/{tokens.esm-12daa3af.js → tokens.esm-aab9bd61.js} +1 -1
  329. package/dist/esm-es5/app-globals-b0dd0fc4.js +1 -0
  330. package/dist/esm-es5/aria-d5877698.js +1 -0
  331. package/dist/esm-es5/bal-accordion_4.entry.js +1 -1
  332. package/dist/esm-es5/bal-card_6.entry.js +1 -1
  333. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  334. package/dist/esm-es5/bal-checkbox-button.entry.js +1 -1
  335. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  336. package/dist/esm-es5/bal-close.entry.js +1 -1
  337. package/dist/esm-es5/bal-content.entry.js +1 -1
  338. package/dist/esm-es5/bal-date-calendar-cell.entry.js +1 -1
  339. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  340. package/dist/esm-es5/bal-date.entry.js +1 -1
  341. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  342. package/dist/esm-es5/bal-divider.entry.js +1 -1
  343. package/dist/esm-es5/bal-dropdown.entry.js +1 -0
  344. package/dist/esm-es5/bal-field_5.entry.js +1 -1
  345. package/dist/esm-es5/bal-file-upload.entry.js +1 -1
  346. package/dist/esm-es5/bal-footer.entry.js +1 -1
  347. package/dist/esm-es5/bal-hint_3.entry.js +1 -1
  348. package/dist/esm-es5/bal-icon.entry.js +1 -1
  349. package/dist/esm-es5/bal-input-slider.entry.js +1 -1
  350. package/dist/esm-es5/bal-input-stepper.entry.js +1 -1
  351. package/dist/esm-es5/bal-label.entry.js +1 -1
  352. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  353. package/dist/esm-es5/bal-logo.entry.js +1 -1
  354. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  355. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  356. package/dist/esm-es5/bal-notices.entry.js +1 -1
  357. package/dist/esm-es5/bal-number-input.entry.js +1 -1
  358. package/dist/esm-es5/bal-option_2.entry.js +1 -0
  359. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  360. package/dist/esm-es5/bal-popover_2.entry.js +1 -1
  361. package/dist/esm-es5/bal-popup.entry.js +1 -1
  362. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  363. package/dist/esm-es5/bal-radio-button.entry.js +1 -1
  364. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  365. package/dist/esm-es5/bal-select_2.entry.js +1 -1
  366. package/dist/esm-es5/bal-shape.entry.js +1 -1
  367. package/dist/esm-es5/bal-spinner.entry.js +1 -1
  368. package/dist/esm-es5/bal-stack.entry.js +1 -1
  369. package/dist/esm-es5/bal-steps.entry.js +1 -1
  370. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  371. package/dist/esm-es5/bal-tag_2.entry.js +1 -1
  372. package/dist/esm-es5/bal-time-input.entry.js +1 -1
  373. package/dist/esm-es5/baloise-design-system.js +1 -1
  374. package/dist/esm-es5/breakpoints.decorator-021fbaf0.js +1 -0
  375. package/dist/esm-es5/{breakpoints.subject-64327a3b.js → breakpoints.subject-ef464f89.js} +1 -1
  376. package/dist/esm-es5/{config.default-79f94bf7.js → config.default-7efdc82d.js} +1 -1
  377. package/dist/esm-es5/{date-db6afc26.js → date-38a0b208.js} +1 -1
  378. package/dist/esm-es5/{index.esm-ec4cba26.js → index.esm-83b1f9c4.js} +1 -1
  379. package/dist/esm-es5/index.js +1 -1
  380. package/dist/esm-es5/{initialize-66615dde.js → initialize-e216cfe4.js} +1 -1
  381. package/dist/esm-es5/loader.js +1 -1
  382. package/dist/esm-es5/option-37cb0282.js +1 -0
  383. package/dist/html.html-data.json +357 -0
  384. package/dist/types/components/bal-accordion/bal-accordion-details/bal-accordion-details.d.ts +1 -1
  385. package/dist/types/components/bal-card/bal-card.d.ts +1 -1
  386. package/dist/types/components/bal-checkbox/bal-checkbox-button/bal-checkbox-button.d.ts +1 -1
  387. package/dist/types/components/bal-content/bal-content.d.ts +1 -1
  388. package/dist/types/components/bal-date/bal-date-calendar-cell/bal-date-calendar-cell.d.ts +1 -1
  389. package/dist/types/components/bal-divider/bal-divider.d.ts +1 -1
  390. package/dist/types/components/bal-dropdown/bal-dropdown.d.ts +187 -0
  391. package/dist/types/components/bal-dropdown/bal-dropdown.interfaces.d.ts +14 -0
  392. package/dist/types/components/bal-field/bal-field.d.ts +1 -0
  393. package/dist/types/components/bal-label/bal-label.d.ts +1 -1
  394. package/dist/types/components/bal-nav/bal-nav-link/bal-nav-link.d.ts +1 -1
  395. package/dist/types/components/bal-nav/bal-nav-link-grid/bal-nav-link-grid.d.ts +1 -1
  396. package/dist/types/components/bal-nav/bal-nav-link-grid-col/bal-nav-link-grid-col.d.ts +1 -1
  397. package/dist/types/components/bal-nav/bal-nav-link-group/bal-nav-link-group.d.ts +1 -1
  398. package/dist/types/components/bal-nav/bal-nav.d.ts +1 -1
  399. package/dist/types/components/bal-notices/bal-notices.d.ts +1 -1
  400. package/dist/types/components/bal-number-input/bal-number-input.d.ts +1 -0
  401. package/dist/types/components/bal-number-input/bal-number-input.utils.d.ts +3 -1
  402. package/dist/types/components/bal-option/bal-option.d.ts +91 -0
  403. package/dist/types/components/bal-option/bal-option.interfaces.d.ts +19 -0
  404. package/dist/types/components/bal-option-list/bal-option-list.d.ts +168 -0
  405. package/dist/types/components/bal-option-list/bal-option-list.interfaces.d.ts +5 -0
  406. package/dist/types/components/bal-radio/bal-radio-button/bal-radio-button.d.ts +1 -1
  407. package/dist/types/components/bal-select/bal-select.d.ts +1 -1
  408. package/dist/types/components/bal-spinner/bal-spinner.d.ts +14 -2
  409. package/dist/types/components/bal-spinner/bal-spinner.interfaces.d.ts +6 -0
  410. package/dist/types/components/bal-stack/bal-stack.d.ts +1 -1
  411. package/dist/types/components.d.ts +451 -3
  412. package/dist/types/index.d.ts +1 -0
  413. package/dist/types/interfaces.d.ts +4 -0
  414. package/dist/types/utils/aria.d.ts +1 -0
  415. package/dist/types/utils/config/config.d.ts +2 -0
  416. package/dist/types/utils/config/config.types.d.ts +2 -0
  417. package/dist/types/utils/date/date.d.ts +1 -0
  418. package/dist/types/utils/dropdown/auto-fill.d.ts +8 -0
  419. package/dist/types/utils/dropdown/component.d.ts +34 -0
  420. package/dist/types/utils/dropdown/dropdown.i18n.d.ts +8 -0
  421. package/dist/types/utils/dropdown/events.d.ts +13 -0
  422. package/dist/types/utils/dropdown/filters.d.ts +2 -0
  423. package/dist/types/utils/dropdown/focus.d.ts +13 -0
  424. package/dist/types/utils/dropdown/form-submit.d.ts +22 -0
  425. package/dist/types/utils/dropdown/icon.d.ts +13 -0
  426. package/dist/types/utils/dropdown/index.d.ts +13 -0
  427. package/dist/types/utils/dropdown/input.d.ts +27 -0
  428. package/dist/types/utils/dropdown/option-list.d.ts +17 -0
  429. package/dist/types/utils/dropdown/option.d.ts +25 -0
  430. package/dist/types/utils/dropdown/popup.d.ts +9 -0
  431. package/dist/types/utils/dropdown/value.d.ts +28 -0
  432. package/package.json +8 -7
  433. package/dist/baloise-design-system/p-05b55c958d.system.entry.js +0 -1
  434. package/dist/baloise-design-system/p-0d30cbfab8.entry.js +0 -1
  435. package/dist/baloise-design-system/p-15ca43f2.system.js +0 -1
  436. package/dist/baloise-design-system/p-1e0e5892a3.system.entry.js +0 -1
  437. package/dist/baloise-design-system/p-2c3370fdbe.system.entry.js +0 -1
  438. package/dist/baloise-design-system/p-2d10e25c6b.entry.js +0 -1
  439. package/dist/baloise-design-system/p-2dda46c5f8.entry.js +0 -1
  440. package/dist/baloise-design-system/p-34a9557f.system.js +0 -1
  441. package/dist/baloise-design-system/p-34d1472a.system.js +0 -1
  442. package/dist/baloise-design-system/p-3990d97696.entry.js +0 -1
  443. package/dist/baloise-design-system/p-48a2de5d.js +0 -1
  444. package/dist/baloise-design-system/p-4e218ac923.system.entry.js +0 -1
  445. package/dist/baloise-design-system/p-4f4df156.js +0 -1
  446. package/dist/baloise-design-system/p-5eea406ac6.system.entry.js +0 -1
  447. package/dist/baloise-design-system/p-6496dcd5.js +0 -1
  448. package/dist/baloise-design-system/p-67f25817a6.entry.js +0 -1
  449. package/dist/baloise-design-system/p-6dd26958d2.system.entry.js +0 -1
  450. package/dist/baloise-design-system/p-7e180ac10f.system.entry.js +0 -1
  451. package/dist/baloise-design-system/p-8ea27b553e.system.entry.js +0 -1
  452. package/dist/baloise-design-system/p-90c4c1a5c0.system.entry.js +0 -1
  453. package/dist/baloise-design-system/p-99dcda2fcd.entry.js +0 -1
  454. package/dist/baloise-design-system/p-a9d8b71709.entry.js +0 -1
  455. package/dist/baloise-design-system/p-af8604cef2.entry.js +0 -1
  456. package/dist/baloise-design-system/p-b1c7ddc442.system.entry.js +0 -1
  457. package/dist/baloise-design-system/p-b1e3fc0bc8.entry.js +0 -1
  458. package/dist/baloise-design-system/p-bb291d6067.system.entry.js +0 -1
  459. package/dist/baloise-design-system/p-c0a3d422.system.js +0 -1
  460. package/dist/baloise-design-system/p-c34504aa32.entry.js +0 -1
  461. package/dist/baloise-design-system/p-c6900b09e7.entry.js +0 -1
  462. package/dist/baloise-design-system/p-cf6ccb4dd1.entry.js +0 -1
  463. package/dist/baloise-design-system/p-d4fd428711.entry.js +0 -1
  464. package/dist/baloise-design-system/p-d6fc0dd434.entry.js +0 -1
  465. package/dist/baloise-design-system/p-db3e6b861f.entry.js +0 -1
  466. package/dist/baloise-design-system/p-eba35b2adf.entry.js +0 -1
  467. package/dist/baloise-design-system/p-ec180f9bbf.entry.js +0 -1
  468. package/dist/baloise-design-system/p-f15b12d84f.entry.js +0 -1
  469. package/dist/esm-es5/app-globals-89691d80.js +0 -1
  470. package/dist/esm-es5/breakpoints.decorator-52979d29.js +0 -1
  471. /package/dist/baloise-design-system/{p-61eda028.system.js → p-03c136e2.system.js} +0 -0
  472. /package/dist/baloise-design-system/{p-979368af.js → p-7b9c33ba.js} +0 -0
  473. /package/dist/esm-es5/{tokens.esm-12daa3af.js → tokens.esm-aab9bd61.js} +0 -0
@@ -7,7 +7,7 @@ import { FOCUS_KEYS } from "../../../utils/focus-visible";
7
7
  import { isDescendant } from "../../../utils/helpers";
8
8
  import { ListenToElementStates } from "../../../utils/element-states";
9
9
  import { BalElementStateListener } from "../../../utils/element-states/element-states.listener";
10
- export class BalRadioButton {
10
+ export class RadioButton {
11
11
  constructor() {
12
12
  this.keyboardMode = true;
13
13
  /**
@@ -458,10 +458,10 @@ __decorate([
458
458
  __metadata("design:type", Function),
459
459
  __metadata("design:paramtypes", [Function]),
460
460
  __metadata("design:returntype", void 0)
461
- ], BalRadioButton.prototype, "createLogger", null);
461
+ ], RadioButton.prototype, "createLogger", null);
462
462
  __decorate([
463
463
  ListenToElementStates(),
464
464
  __metadata("design:type", Function),
465
465
  __metadata("design:paramtypes", [Object]),
466
466
  __metadata("design:returntype", void 0)
467
- ], BalRadioButton.prototype, "elementStateListener", null);
467
+ ], RadioButton.prototype, "elementStateListener", null);
@@ -289,7 +289,7 @@ export class RadioGroup {
289
289
  }
290
290
  return option;
291
291
  });
292
- return (h(Host, Object.assign({ class: Object.assign({}, block.class()), role: "radiogroup", "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, "aria-disabled": this.disabled ? 'true' : null, onClick: this.onClick }, this.inheritedAttributes), h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, innerEl.class()), innerEl.modifier('vertical-mobile').class(this.verticalOnMobile)), innerEl.modifier('vertical').class(this.vertical)), innerEl.modifier('expanded').class(this.expanded)), innerEl.modifier('select-button').class(this.interface === 'select-button')) }, h("slot", null), options.map(option => (h("bal-radio", { name: option.name || this.name, value: option.value, labelHidden: option.labelHidden, flat: option.flat, interface: option.interface, disabled: option.disabled, readonly: option.readonly, required: option.required, nonSubmit: !!option.nonSubmit, invalid: option.invalid, innerHTML: option.html }))))));
292
+ return (h(Host, Object.assign({ class: Object.assign({}, block.class()), role: "radiogroup", "aria-labelledby": this.ariaForm.labelId, "aria-describedby": this.ariaForm.messageId, "aria-disabled": this.disabled ? 'true' : null, onClick: this.onClick }, this.inheritedAttributes), h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, innerEl.class()), innerEl.modifier('vertical-mobile').class(this.verticalOnMobile)), innerEl.modifier('vertical').class(this.vertical)), innerEl.modifier('expanded').class(this.expanded)), innerEl.modifier('select-button').class(this.interface === 'select-button')) }, h("slot", null), options.map(option => (h("bal-radio", { key: option.value, name: option.name || this.name, value: option.value, labelHidden: option.labelHidden, flat: option.flat, interface: option.interface, disabled: option.disabled, readonly: option.readonly, required: option.required, nonSubmit: !!option.nonSubmit, invalid: option.invalid, innerHTML: option.html }))))));
293
293
  }
294
294
  static get is() { return "bal-radio-group"; }
295
295
  static get properties() {
@@ -306,7 +306,7 @@ export class Select {
306
306
  }
307
307
  }
308
308
  /**
309
- * Sets the focus on the input element
309
+ * Returns the value of the component
310
310
  */
311
311
  async getValue() {
312
312
  return this.rawValue;
@@ -693,7 +693,7 @@ export class Select {
693
693
  const optionContentEl = optionEl.element('content');
694
694
  const optionContentCheckboxEl = optionContentEl.element('checkbox');
695
695
  const optionContentLabelEl = optionContentEl.element('label');
696
- return (h(Host, { role: "listbox", onClick: this.handleClick, "aria-disabled": this.disabled ? 'true' : null, "data-value": (_a = this.rawValue) === null || _a === void 0 ? void 0 : _a.map(v => findLabelByValue(this.options, v)).join(','), class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('disabled').class(this.disabled || this.readonly)), block.modifier('inverted').class(this.inverted)), block.modifier('inverted-footer').class(this.inverted)) }, h("select", { class: Object.assign({}, nativeEl.class()), name: this.name, multiple: this.multiple, required: this.required, tabindex: -1, ref: el => (this.nativeSelectEl = el) }, valuesArray.map((value) => (h("option", { value: value, selected: true }, value)))), h("bal-popover", { onBalChange: this.handlePopoverChange, ref: el => (this.popoverElement = el) }, h("div", { "bal-popover-trigger": true, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, controlEl.class()), controlEl.modifier('invalid').class(this.invalid)), controlEl.modifier('disabled').class(this.disabled || this.readonly)), controlEl.modifier('focused').class(this.isPopoverOpen)), controlEl.modifier('inverted-footer').class(this.inverted)) }, h("div", { class: Object.assign(Object.assign({}, controlSelectionsEl.class()), controlSelectionsEl
696
+ return (h(Host, { role: "listbox", onClick: this.handleClick, "aria-disabled": this.disabled ? 'true' : null, "data-value": (_a = this.rawValue) === null || _a === void 0 ? void 0 : _a.map(v => findLabelByValue(this.options, v)).join(','), class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('disabled').class(this.disabled || this.readonly)), block.modifier('inverted').class(this.inverted)), block.modifier('inverted-footer').class(this.inverted)) }, h("select", { class: Object.assign({}, nativeEl.class()), name: this.name, multiple: this.multiple, required: this.required, tabindex: -1, ref: el => (this.nativeSelectEl = el) }, valuesArray.map((value) => (h("option", { key: value, value: value, selected: true }, value)))), h("bal-popover", { onBalChange: this.handlePopoverChange, ref: el => (this.popoverElement = el) }, h("div", { "bal-popover-trigger": true, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, controlEl.class()), controlEl.modifier('invalid').class(this.invalid)), controlEl.modifier('disabled').class(this.disabled || this.readonly)), controlEl.modifier('focused').class(this.isPopoverOpen)), controlEl.modifier('inverted-footer').class(this.inverted)) }, h("div", { class: Object.assign(Object.assign({}, controlSelectionsEl.class()), controlSelectionsEl
697
697
  .modifier('clickable')
698
698
  .class(!this.isPopoverOpen && !this.disabled && !this.readonly)), onClick: this.handleInputClick, ref: el => (this.selectionEl = el) }, valuesArray
699
699
  .filter(_ => this.multiple)
@@ -703,7 +703,7 @@ export class Select {
703
703
  ? 'white'
704
704
  : this.invalid
705
705
  ? 'danger'
706
- : 'primary', turn: this.isPopoverOpen, onClick: ev => this.handleInputClick(ev, true), size: !this.inverted ? '' : 'x-small' })) : ('')), h("bal-popover-content", { class: Object.assign({}, popoverContentEl.class()), scrollable: this.scrollable, spaceless: true, expanded: true }, this.optionArray.map((option, index) => (h("button", { type: "button", role: "option", id: option.id, "data-value": option.value, "data-label": option.label, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, optionEl.class()), optionEl
706
+ : 'primary', turn: this.isPopoverOpen, onClick: ev => this.handleInputClick(ev, true), size: !this.inverted ? '' : 'x-small' })) : ('')), h("bal-popover-content", { class: Object.assign({}, popoverContentEl.class()), scrollable: this.scrollable, spaceless: true, expanded: true }, this.optionArray.map((option, index) => (h("button", { key: option.value, type: "button", role: "option", id: option.id, "data-value": option.value, "data-label": option.label, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, optionEl.class()), optionEl
707
707
  .modifier('selected')
708
708
  .class(valuesArray.includes(option.value) && !(this.typeahead && !this.multiple))), optionEl.modifier('focused').class(this.focusIndex === index)), optionEl.modifier('checkbox').class(this.multiple)), optionEl.modifier('disabled').class(option.disabled === true)), "data-testid": "bal-select-option", disabled: option.disabled, tabIndex: -1, onMouseEnter: () => this.handleOptionMouseEnter(index), onClick: () => this.optionSelected(option) }, h("div", { class: Object.assign({}, optionContentEl.class()) }, h("span", { class: Object.assign({}, optionContentCheckboxEl.class()), style: { display: this.multiple ? 'flex' : 'none' } }, h("bal-checkbox", { checked: valuesArray.includes(option.value), tabindex: -1, nonSubmit: true, flat: true, onBalChange: preventDefault })), h("span", { class: Object.assign({}, optionContentLabelEl.class()), innerHTML: option.innerHTML }))))), h("div", { class: Object.assign(Object.assign({}, popoverContentEmptyEl.class()), popoverContentEmptyEl
709
709
  .modifier('hidden')
@@ -1300,7 +1300,7 @@ export class Select {
1300
1300
  "return": "Promise<string[]>"
1301
1301
  },
1302
1302
  "docs": {
1303
- "text": "Sets the focus on the input element",
1303
+ "text": "Returns the value of the component",
1304
1304
  "tags": []
1305
1305
  }
1306
1306
  },
@@ -1 +1 @@
1
- bal-spinner,.bal-spinner{text-align:center;display:flex;justify-content:center;align-content:center}bal-spinner svg,.bal-spinner svg{transform:unset !important}
1
+ bal-spinner,.bal-spinner{text-align:center;display:flex;justify-content:center;align-content:center;width:4rem}bal-spinner svg,.bal-spinner svg{transform:unset !important}.bal-spinner--small{width:2rem}.bal-spinner--circle{margin:auto;border-width:.25rem;border-style:solid;border-color:var(--bal-color-grey);border-radius:50%;border-top-color:var(--bal-color-primary);width:1.5rem;height:1.5rem}.bal-spinner--circle.bal-spinner--small{width:1.125rem;height:1.125rem;border-width:.2rem}.bal-spinner--circle.bal-spinner--animated{animation:spinner 1.6s linear infinite}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@@ -0,0 +1,4 @@
1
+ /* eslint-disable no-unused-vars */
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
3
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference
4
+ /// <reference path="../../interfaces.d.ts" />
@@ -3,6 +3,8 @@ import { h, Host } from "@stencil/core";
3
3
  import { rIC } from "../../utils/helpers";
4
4
  import { Logger } from "../../utils/log";
5
5
  import { raf } from "../../utils/helpers";
6
+ import { BEM } from "../../utils/bem";
7
+ import { ListenToConfig, defaultConfig } from "../../utils/config";
6
8
  export class Spinner {
7
9
  constructor() {
8
10
  /**
@@ -10,6 +12,10 @@ export class Spinner {
10
12
  * ------------------------------------------------------
11
13
  */
12
14
  this.animate = async () => {
15
+ if (!this.animated) {
16
+ this.destroy();
17
+ return;
18
+ }
13
19
  await this.load();
14
20
  if (this.currentRaf !== undefined) {
15
21
  cancelAnimationFrame(this.currentRaf);
@@ -30,6 +36,9 @@ export class Spinner {
30
36
  this.el.innerHTML = '';
31
37
  };
32
38
  this.shouldAnimate = () => {
39
+ if (this.variation !== 'logo') {
40
+ return false;
41
+ }
33
42
  if (typeof window === 'undefined') {
34
43
  return false;
35
44
  }
@@ -55,10 +64,12 @@ export class Spinner {
55
64
  }
56
65
  });
57
66
  };
67
+ this.animated = defaultConfig.animated;
58
68
  this.inverted = false;
59
69
  this.deactivated = false;
60
70
  this.color = 'blue';
61
71
  this.small = false;
72
+ this.variation = 'logo';
62
73
  }
63
74
  createLogger(log) {
64
75
  this.log = log;
@@ -73,18 +84,43 @@ export class Spinner {
73
84
  }
74
85
  }
75
86
  }
87
+ variationWatcher(newValue, oldValue) {
88
+ if (newValue !== oldValue) {
89
+ if (this.variation === 'circle') {
90
+ this.destroy();
91
+ }
92
+ else {
93
+ this.animate();
94
+ }
95
+ }
96
+ }
76
97
  /**
77
98
  * LIFECYCLE
78
99
  * ------------------------------------------------------
79
100
  */
80
101
  componentDidLoad() {
81
- this.animate();
102
+ if (this.variation === 'logo') {
103
+ this.animate();
104
+ }
105
+ else {
106
+ this.destroy();
107
+ }
82
108
  }
83
109
  disconnectedCallback() {
84
110
  if (this.el && !this.el.isConnected) {
85
111
  this.destroy();
86
112
  }
87
113
  }
114
+ /**
115
+ * LISTENERS
116
+ * ------------------------------------------------------
117
+ */
118
+ configChanged(state) {
119
+ this.animated = state.animated;
120
+ if (state.animated === false) {
121
+ this.destroy();
122
+ }
123
+ }
88
124
  /**
89
125
  * GETTERS
90
126
  * ------------------------------------------------------
@@ -97,7 +133,8 @@ export class Spinner {
97
133
  * ------------------------------------------------------
98
134
  */
99
135
  render() {
100
- return h(Host, { role: "progressbar", "aria-hidden": "true", style: { width: this.small ? '32px' : '64px' } });
136
+ const block = BEM.block('spinner');
137
+ return (h(Host, { class: Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier('circle').class(this.variation === 'circle')), block.modifier('small').class(this.small)), block.modifier('animated').class(this.animated)), role: "progressbar", "aria-hidden": "true" }));
101
138
  }
102
139
  static get is() { return "bal-spinner"; }
103
140
  static get originalStyleUrls() {
@@ -152,9 +189,14 @@ export class Spinner {
152
189
  "type": "string",
153
190
  "mutable": false,
154
191
  "complexType": {
155
- "original": "'blue' | 'white'",
192
+ "original": "BalProps.BalSpinnerColor",
156
193
  "resolved": "\"blue\" | \"white\"",
157
- "references": {}
194
+ "references": {
195
+ "BalProps": {
196
+ "location": "global",
197
+ "id": "global::BalProps"
198
+ }
199
+ }
158
200
  },
159
201
  "required": false,
160
202
  "optional": false,
@@ -183,14 +225,45 @@ export class Spinner {
183
225
  "attribute": "small",
184
226
  "reflect": false,
185
227
  "defaultValue": "false"
228
+ },
229
+ "variation": {
230
+ "type": "string",
231
+ "mutable": false,
232
+ "complexType": {
233
+ "original": "BalProps.BalSpinnerVariation",
234
+ "resolved": "\"circle\" | \"logo\"",
235
+ "references": {
236
+ "BalProps": {
237
+ "location": "global",
238
+ "id": "global::BalProps"
239
+ }
240
+ }
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": "Defines the look of the spinner"
247
+ },
248
+ "attribute": "variation",
249
+ "reflect": false,
250
+ "defaultValue": "'logo'"
186
251
  }
187
252
  };
188
253
  }
254
+ static get states() {
255
+ return {
256
+ "animated": {}
257
+ };
258
+ }
189
259
  static get elementRef() { return "el"; }
190
260
  static get watchers() {
191
261
  return [{
192
262
  "propName": "deactivated",
193
263
  "methodName": "deactivatedWatcher"
264
+ }, {
265
+ "propName": "variation",
266
+ "methodName": "variationWatcher"
194
267
  }];
195
268
  }
196
269
  }
@@ -200,3 +273,9 @@ __decorate([
200
273
  __metadata("design:paramtypes", [Function]),
201
274
  __metadata("design:returntype", void 0)
202
275
  ], Spinner.prototype, "createLogger", null);
276
+ __decorate([
277
+ ListenToConfig(),
278
+ __metadata("design:type", Function),
279
+ __metadata("design:paramtypes", [Object]),
280
+ __metadata("design:returntype", void 0)
281
+ ], Spinner.prototype, "configChanged", null);
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { h, Host } from "@stencil/core";
3
3
  import { BEM } from "../../utils/bem";
4
4
  import { Logger } from "../../utils/log";
5
- export class BalStack {
5
+ export class Stack {
6
6
  constructor() {
7
7
  this.layout = 'horizontal';
8
8
  this.align = '';
@@ -314,4 +314,4 @@ __decorate([
314
314
  __metadata("design:type", Function),
315
315
  __metadata("design:paramtypes", [Function]),
316
316
  __metadata("design:returntype", void 0)
317
- ], BalStack.prototype, "createLogger", null);
317
+ ], Stack.prototype, "createLogger", null);
@@ -178,7 +178,7 @@ export class Steps {
178
178
  .map(t => t.label)
179
179
  .join(',') }, h("nav", { role: "tablist", class: Object.assign({}, bemStepsNav.class()) }, h("bal-carousel", { class: Object.assign({}, bemStepsNav.element('carousel').class()), onBalChange: stopEventBubbling, controls: "small", "items-per-view": "auto", steps: 3 }, steps
180
180
  .filter(step => !step.invisible)
181
- .map(step => (h("bal-carousel-item", { class: Object.assign(Object.assign({}, bemStepsNav.element('carousel').element('item').class()), bemStepsNav.element('carousel').element('item').modifier('passed').class(step.passed)) }, h(StepButton, { item: step, isMobile: this.isMobile, clickable: this.clickable && !step.disabled, onSelectTab: this.onSelectTab })))))), h("div", { id: this.stepsId, class: Object.assign({}, block.element('steps__content').class()) }, h("slot", null))));
181
+ .map(step => (h("bal-carousel-item", { key: step.value, class: Object.assign(Object.assign({}, bemStepsNav.element('carousel').element('item').class()), bemStepsNav.element('carousel').element('item').modifier('passed').class(step.passed)) }, h(StepButton, { item: step, isMobile: this.isMobile, clickable: this.clickable && !step.disabled, onSelectTab: this.onSelectTab })))))), h("div", { id: this.stepsId, class: Object.assign({}, block.element('steps__content').class()) }, h("slot", null))));
182
182
  }
183
183
  static get is() { return "bal-steps"; }
184
184
  static get originalStyleUrls() {
@@ -7,5 +7,5 @@ export const TabNav = ({ items, tabsId, hasCarousel, isVertical, inNavbar, isMob
7
7
  const tabs = items.filter(tab => !tab.invisible);
8
8
  const isFullHeight = inNavbar && !isTouch;
9
9
  const Button = ({ item, index }) => (h(TabButton, { item: item, tabsId: tabsId, isFirst: index === 0, isLast: index === tabs.length - 1, isMobile: isMobile, isVertical: isVertical, iconPosition: iconPosition, spaceless: spaceless, inverted: inverted, accordion: accordion, isAccordionOpen: isAccordionOpen, context: context, expanded: expanded, clickable: clickable && !item.disabled, onSelectTab: onSelectTab }));
10
- return (h("div", { role: "tablist", id: `${tabsId}-nav`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier(`full-height`).class(isFullHeight)), bemEl.modifier(`border`).class(border)), bemEl.modifier(`animated`).class(animated)), bemEl.modifier(`vertical`).class(isVertical)), bemEl.modifier(`expanded`).class(expanded && !isVertical)), bemEl.modifier(`vertical-col-${verticalColSize}`).class(isVertical)) }, hasCarousel ? (h("bal-carousel", { id: `${tabsId}-carousel`, class: Object.assign({}, bemEl.element('carousel').class()), fullHeight: isFullHeight, border: border, inverted: inverted, controls: "small", "items-per-view": "auto", steps: 3, onBalChange: stopEventBubbling }, tabs.map((tab, index) => (h("bal-carousel-item", { class: Object.assign(Object.assign({}, bemEl.element('carousel').element('item').class()), bemEl.element('carousel').element('item').modifier('expanded').class(expanded)) }, h(Button, { item: tab, index: index })))), h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) }))) : (tabs.map((tab, index) => h(Button, { item: tab, index: index }))), !hasCarousel ? (h("div", { id: `${tabsId}-border`, class: Object.assign(Object.assign(Object.assign({}, bemEl.element('border').class()), bemEl.element('border').modifier(`inverted`).class(inverted)), bemEl.element('border').modifier(`vertical`).class(isVertical)) })) : (''), !hasCarousel ? (h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) })) : ('')));
10
+ return (h("div", { role: "tablist", id: `${tabsId}-nav`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.class()), bemEl.modifier(`full-height`).class(isFullHeight)), bemEl.modifier(`border`).class(border)), bemEl.modifier(`animated`).class(animated)), bemEl.modifier(`vertical`).class(isVertical)), bemEl.modifier(`expanded`).class(expanded && !isVertical)), bemEl.modifier(`vertical-col-${verticalColSize}`).class(isVertical)) }, hasCarousel ? (h("bal-carousel", { id: `${tabsId}-carousel`, class: Object.assign({}, bemEl.element('carousel').class()), fullHeight: isFullHeight, border: border, inverted: inverted, controls: "small", "items-per-view": "auto", steps: 3, onBalChange: stopEventBubbling }, tabs.map((tab, index) => (h("bal-carousel-item", { key: tab.value, class: Object.assign(Object.assign({}, bemEl.element('carousel').element('item').class()), bemEl.element('carousel').element('item').modifier('expanded').class(expanded)) }, h(Button, { item: tab, index: index })))), h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) }))) : (tabs.map((tab, index) => h(Button, { item: tab, index: index }))), !hasCarousel ? (h("div", { id: `${tabsId}-border`, class: Object.assign(Object.assign(Object.assign({}, bemEl.element('border').class()), bemEl.element('border').modifier(`inverted`).class(inverted)), bemEl.element('border').modifier(`vertical`).class(isVertical)) })) : (''), !hasCarousel ? (h("div", { id: `${tabsId}-line`, class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, bemEl.element('line').class()), bemEl.element('line').modifier(`active`).class(lineActive)), bemEl.element('line').modifier(`inverted`).class(inverted)), bemEl.element('line').modifier(`animated`).class(animated)), bemEl.element('line').modifier(`vertical`).class(isVertical)) })) : ('')));
11
11
  };
@@ -17,5 +17,5 @@ export const TabSelect = ({ items, value, onSelectTab }) => {
17
17
  };
18
18
  return (h("bal-select", { class: Object.assign({}, bemEl.class()), value: value, onBalChange: event => onChange(event) }, items
19
19
  .filter(tab => !tab.disabled && !tab.invisible)
20
- .map(tab => (h("bal-select-option", { label: tab.label, value: tab.value }, tab.label)))));
20
+ .map(tab => (h("bal-select-option", { key: tab.value, label: tab.label, value: tab.value }, tab.label)))));
21
21
  };
@@ -1 +1 @@
1
- :root{--bal-tag-background: var(--bal-color-grey);--bal-tag-background-primary: var(--bal-color-primary);--bal-tag-background-grey: var(--bal-color-grey);--bal-tag-background-success: var(--bal-color-success-4);--bal-tag-background-info: var(--bal-color-info-4);--bal-tag-background-warning: var(--bal-color-warning-4);--bal-tag-background-danger: var(--bal-color-danger-4);--bal-tag-background-purple: var(--bal-color-purple-5);--bal-tag-background-red: var(--bal-color-red-5);--bal-tag-background-yellow: var(--bal-color-yellow-4);--bal-tag-background-green: var(--bal-color-green-4);--bal-tag-background-purple-light: var(--bal-color-purple-2);--bal-tag-background-red-light: var(--bal-color-red-2);--bal-tag-background-yellow-light: var(--bal-color-yellow-2);--bal-tag-background-green-light: var(--bal-color-green-2);--bal-tag-background-invalid: var(--bal-color-border-danger);--bal-tag-background-disabled: var(--bal-color-border-grey-dark);--bal-tag-radius: var(--bal-radius-rounded);--bal-tag-border-disabled-color: var(--bal-color-border-grey-dark);--bal-tag-text: var(--bal-color-primary);--bal-tag-text-primary: var(--bal-color-white);--bal-tag-text-grey: var(--bal-color-primary);--bal-tag-text-success: var(--bal-color-white);--bal-tag-text-info: var(--bal-color-white);--bal-tag-text-warning: var(--bal-color-primary);--bal-tag-text-danger: var(--bal-color-white);--bal-tag-text-purple: var(--bal-color-white);--bal-tag-text-red: var(--bal-color-white);--bal-tag-text-yellow: var(--bal-color-primary);--bal-tag-text-green: var(--bal-color-primary);--bal-tag-text-purple-light: var(--bal-color-primary);--bal-tag-text-red-light: var(--bal-color-primary);--bal-tag-text-yellow-light: var(--bal-color-primary);--bal-tag-text-green-light: var(--bal-color-primary);--bal-tag-text-invalid: var(--bal-color-text-white);--bal-tag-text-disabled: var(--bal-color-text-white)}.bal-tag{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:static;display:inline-flex;align-items:center;justify-content:center;min-height:2rem;line-height:1.5rem;padding:.25rem .75rem .25rem .75rem;background-color:var(--bal-tag-background);border-radius:var(--bal-tag-radius)}.bal-tag--is-small{padding:0 .75rem 0 .75rem;min-height:1.5rem}.bal-tag--is-medium{min-height:2.5rem;padding:.5rem 1rem .5rem 1rem}.bal-tag--is-large{min-height:3rem;padding:.75rem 1.5rem .75rem 1.5rem}.bal-tag--is-primary{background:var(--bal-tag-background-primary)}.bal-tag--is-grey{background:var(--bal-tag-background-grey)}.bal-tag--is-success{background:var(--bal-tag-background-success)}.bal-tag--is-info{background:var(--bal-tag-background-info)}.bal-tag--is-warning{background:var(--bal-tag-background-warning)}.bal-tag--is-danger{background:var(--bal-tag-background-danger)}.bal-tag--is-purple{background:var(--bal-tag-background-purple)}.bal-tag--is-red{background:var(--bal-tag-background-red)}.bal-tag--is-yellow{background:var(--bal-tag-background-yellow)}.bal-tag--is-green{background:var(--bal-tag-background-green)}.bal-tag--is-purple-light{background:var(--bal-tag-background-purple-light)}.bal-tag--is-red-light{background:var(--bal-tag-background-red-light)}.bal-tag--is-yellow-light{background:var(--bal-tag-background-yellow-light)}.bal-tag--is-green-light{background:var(--bal-tag-background-green-light)}.bal-tag--is-invalid{background:var(--bal-tag-background-invalid);color:var(--bal-color-text-white)}.bal-tag__label{font-family:var(--bal-font-family-text);color:var(--bal-tag-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-text-size-normal) !important;hyphens:auto;display:inline-flex;align-items:center;gap:.25rem}.bal-tag__label--is-small{font-size:var(--bal-text-size-small) !important;font-weight:var(--bal-font-weight-regular) !important}.bal-tag__label--is-medium{font-size:var(--bal-text-size-medium) !important}.bal-tag__label--is-large{font-size:var(--bal-text-size-medium) !important}.bal-tag__label--is-primary{color:var(--bal-tag-text-primary)}.bal-tag__label--is-grey{color:var(--bal-tag-text-grey)}.bal-tag__label--is-success{color:var(--bal-tag-text-success)}.bal-tag__label--is-info{color:var(--bal-tag-text-info)}.bal-tag__label--is-warning{color:var(--bal-tag-text-warning)}.bal-tag__label--is-danger{color:var(--bal-tag-text-danger)}.bal-tag__label--is-purple{color:var(--bal-tag-text-purple)}.bal-tag__label--is-red{color:var(--bal-tag-text-red)}.bal-tag__label--is-yellow{color:var(--bal-tag-text-yellow)}.bal-tag__label--is-green{color:var(--bal-tag-text-green)}.bal-tag__label--is-purple-light{color:var(--bal-tag-text-purple-light)}.bal-tag__label--is-red-light{color:var(--bal-tag-text-red-light)}.bal-tag__label--is-yellow-light{color:var(--bal-tag-text-yellow-light)}.bal-tag__label--is-green-light{color:var(--bal-tag-text-green-light)}.bal-tag__label--is-invalid{background:var(--bal-color-border-danger);color:var(--bal-tag-text-invalid)}.bal-tag__label--is-disabled{background-color:var(--bal-tag-background-disabled);border-color:var(--bal-tag-border-disabled-color)}.bal-tag--is-disabled{cursor:default;pointer-events:none;user-select:none;background-color:var(--bal-tag-background-disabled);border-color:var(--bal-tag-border-disabled-color);box-shadow:none;color:var(--bal-tag-text-disabled)}.bal-tag--is-disabled>span{color:var(--bal-tag-text-disabled)}.bal-tag__close{margin-left:.25rem;margin-right:-0.5rem}.bal-tag-group{display:flex;gap:.25rem}
1
+ :root{--bal-tag-background: var(--bal-color-grey);--bal-tag-background-primary: var(--bal-color-primary);--bal-tag-background-grey: var(--bal-color-grey);--bal-tag-background-success: var(--bal-color-success-4);--bal-tag-background-info: var(--bal-color-info-4);--bal-tag-background-warning: var(--bal-color-warning-4);--bal-tag-background-danger: var(--bal-color-danger-4);--bal-tag-background-purple: var(--bal-color-purple-5);--bal-tag-background-red: var(--bal-color-red-5);--bal-tag-background-yellow: var(--bal-color-yellow-4);--bal-tag-background-green: var(--bal-color-green-4);--bal-tag-background-purple-light: var(--bal-color-purple-2);--bal-tag-background-red-light: var(--bal-color-red-2);--bal-tag-background-yellow-light: var(--bal-color-yellow-2);--bal-tag-background-green-light: var(--bal-color-green-2);--bal-tag-background-invalid: var(--bal-color-border-danger);--bal-tag-background-disabled: var(--bal-color-border-grey-dark);--bal-tag-radius: var(--bal-radius-rounded);--bal-tag-border-disabled-color: var(--bal-color-border-grey-dark);--bal-tag-text: var(--bal-color-primary);--bal-tag-text-primary: var(--bal-color-white);--bal-tag-text-grey: var(--bal-color-primary);--bal-tag-text-success: var(--bal-color-white);--bal-tag-text-info: var(--bal-color-white);--bal-tag-text-warning: var(--bal-color-primary);--bal-tag-text-danger: var(--bal-color-white);--bal-tag-text-purple: var(--bal-color-white);--bal-tag-text-red: var(--bal-color-white);--bal-tag-text-yellow: var(--bal-color-primary);--bal-tag-text-green: var(--bal-color-primary);--bal-tag-text-purple-light: var(--bal-color-primary);--bal-tag-text-red-light: var(--bal-color-primary);--bal-tag-text-yellow-light: var(--bal-color-primary);--bal-tag-text-green-light: var(--bal-color-primary);--bal-tag-text-invalid: var(--bal-color-text-white);--bal-tag-text-disabled: var(--bal-color-text-white);--bal-tag-size-small-font-size: var(--bal-text-size-small);--bal-tag-size-small-font-weight: var(--bal-font-weight-regular)}.bal-tag{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:static;display:inline-flex;align-items:center;justify-content:center;min-height:2rem;line-height:1.5rem;padding:.25rem .75rem .25rem .75rem;background-color:var(--bal-tag-background);border-radius:var(--bal-tag-radius)}.bal-tag--is-small{padding:0 .75rem 0 .75rem;min-height:1.5rem}.bal-tag--is-medium{min-height:2.5rem;padding:.5rem 1rem .5rem 1rem}.bal-tag--is-large{min-height:3rem;padding:.75rem 1.5rem .75rem 1.5rem}.bal-tag--is-primary{background:var(--bal-tag-background-primary)}.bal-tag--is-grey{background:var(--bal-tag-background-grey)}.bal-tag--is-success{background:var(--bal-tag-background-success)}.bal-tag--is-info{background:var(--bal-tag-background-info)}.bal-tag--is-warning{background:var(--bal-tag-background-warning)}.bal-tag--is-danger{background:var(--bal-tag-background-danger)}.bal-tag--is-purple{background:var(--bal-tag-background-purple)}.bal-tag--is-red{background:var(--bal-tag-background-red)}.bal-tag--is-yellow{background:var(--bal-tag-background-yellow)}.bal-tag--is-green{background:var(--bal-tag-background-green)}.bal-tag--is-purple-light{background:var(--bal-tag-background-purple-light)}.bal-tag--is-red-light{background:var(--bal-tag-background-red-light)}.bal-tag--is-yellow-light{background:var(--bal-tag-background-yellow-light)}.bal-tag--is-green-light{background:var(--bal-tag-background-green-light)}.bal-tag--is-invalid{background:var(--bal-tag-background-invalid);color:var(--bal-color-text-white)}.bal-tag__label{font-family:var(--bal-font-family-text);color:var(--bal-tag-text);font-weight:var(--bal-font-weight-bold);font-size:var(--bal-text-size-normal) !important;hyphens:auto;display:inline-flex;align-items:center;gap:.25rem}.bal-tag__label--is-small{font-size:var(--bal-tag-size-small-font-size) !important;font-weight:var(--bal-tag-size-small-font-weight) !important}.bal-tag__label--is-medium{font-size:var(--bal-text-size-medium) !important}.bal-tag__label--is-large{font-size:var(--bal-text-size-medium) !important}.bal-tag__label--is-primary{color:var(--bal-tag-text-primary)}.bal-tag__label--is-grey{color:var(--bal-tag-text-grey)}.bal-tag__label--is-success{color:var(--bal-tag-text-success)}.bal-tag__label--is-info{color:var(--bal-tag-text-info)}.bal-tag__label--is-warning{color:var(--bal-tag-text-warning)}.bal-tag__label--is-danger{color:var(--bal-tag-text-danger)}.bal-tag__label--is-purple{color:var(--bal-tag-text-purple)}.bal-tag__label--is-red{color:var(--bal-tag-text-red)}.bal-tag__label--is-yellow{color:var(--bal-tag-text-yellow)}.bal-tag__label--is-green{color:var(--bal-tag-text-green)}.bal-tag__label--is-purple-light{color:var(--bal-tag-text-purple-light)}.bal-tag__label--is-red-light{color:var(--bal-tag-text-red-light)}.bal-tag__label--is-yellow-light{color:var(--bal-tag-text-yellow-light)}.bal-tag__label--is-green-light{color:var(--bal-tag-text-green-light)}.bal-tag__label--is-invalid{background:var(--bal-color-border-danger);color:var(--bal-tag-text-invalid)}.bal-tag__label--is-disabled{background-color:var(--bal-tag-background-disabled);border-color:var(--bal-tag-border-disabled-color)}.bal-tag--is-disabled{cursor:default;pointer-events:none;user-select:none;background-color:var(--bal-tag-background-disabled);border-color:var(--bal-tag-border-disabled-color);box-shadow:none;color:var(--bal-tag-text-disabled)}.bal-tag--is-disabled>span{color:var(--bal-tag-text-disabled)}.bal-tag__close{margin-left:.25rem;margin-right:-0.5rem}.bal-tag-group{display:flex;gap:.25rem}
@@ -26,6 +26,7 @@ export * from './components/bal-label/bal-label.i18n';
26
26
  * Utils
27
27
  */
28
28
  export { initializeBaloiseDesignSystem as initialize, initializeBaloiseDesignSystem } from './initialize';
29
+ export { newBalOption } from './utils/dropdown/option';
29
30
  export { newBalStepOption } from './components/bal-steps/bal-step.util';
30
31
  export { newBalTabOption } from './components/bal-tabs/bal-tab.util';
31
32
  export { newBalCheckboxOption } from './components/bal-checkbox/utils/bal-checkbox.util';
@@ -0,0 +1 @@
1
+ export const ariaBooleanToString = (bool) => (!!bool ? 'true' : 'false');
@@ -37,5 +37,6 @@ export const defaultConfig = {
37
37
  fallbackLanguage: 'de',
38
38
  logger: defaultLoggerConfig,
39
39
  animated: true,
40
+ httpFormSubmit: true,
40
41
  };
41
42
  export const defaultLocale = `${defaultConfig.language}-${defaultConfig.region}`;
@@ -63,6 +63,13 @@ export class Config {
63
63
  this._config.animated = animated;
64
64
  this._notify();
65
65
  }
66
+ get httpFormSubmit() {
67
+ return this._config.httpFormSubmit;
68
+ }
69
+ set httpFormSubmit(httpFormSubmit) {
70
+ this._config.httpFormSubmit = httpFormSubmit;
71
+ this._notify();
72
+ }
66
73
  attach(observer) {
67
74
  const isExist = this._observers.includes(observer);
68
75
  if (isExist) {
@@ -1,2 +1,2 @@
1
1
  // generated by .build/version.js
2
- export const VERSION = '16.0.3';
2
+ export const VERSION = '16.1.0';
@@ -1,7 +1,10 @@
1
- import { DateTime, Info } from "luxon";
1
+ import { DateTime, Info, Settings } from "luxon";
2
2
  import { useBalConfig } from "../config";
3
3
  import { dateSeparator } from "@baloise/web-app-utils";
4
4
  export class BalDate {
5
+ static setTwoDigitCutoffYear(cutoff = 10) {
6
+ Settings.twoDigitCutoffYear = (new Date().getFullYear() % 100) + cutoff;
7
+ }
5
8
  static fromAnyFormat(value) {
6
9
  const separator = value.replace(/[0-9]/g, '').charAt(0);
7
10
  const config = useBalConfig();
@@ -109,3 +112,4 @@ export class BalDate {
109
112
  return undefined;
110
113
  }
111
114
  }
115
+ BalDate.setTwoDigitCutoffYear();
@@ -60,15 +60,21 @@ describe('balDate', () => {
60
60
  expect(BalDate.fromAnyFormat('1.02.1988').toISODate()).toStrictEqual('1988-02-01');
61
61
  expect(BalDate.fromAnyFormat('01.2.1988').toISODate()).toStrictEqual('1988-02-01');
62
62
  expect(BalDate.fromAnyFormat('1.2.1988').toISODate()).toStrictEqual('1988-02-01');
63
- expect(BalDate.fromAnyFormat('1.2.88').toISODate()).toStrictEqual('1988-02-01');
64
- expect(BalDate.fromAnyFormat('1.2.01').toISODate()).toStrictEqual('2001-02-01');
65
- expect(BalDate.fromAnyFormat('1.2.00').toISODate()).toStrictEqual('2000-02-01');
66
- expect(BalDate.fromAnyFormat('1.2.0').toISODate()).toStrictEqual('2000-02-01');
67
- expect(BalDate.fromAnyFormat('12.12.1').toISODate()).toStrictEqual('2001-12-12');
63
+ });
64
+ test('should parse to todays year', () => {
68
65
  const year = new Date().getFullYear();
69
66
  expect(BalDate.fromAnyFormat('1.2.').toISODate()).toStrictEqual(`${year}-02-01`);
70
67
  expect(BalDate.fromAnyFormat('1.2').toISODate()).toStrictEqual(`${year}-02-01`);
71
68
  });
69
+ test('should fill up with the year correctly by the cutoff year', () => {
70
+ const year = new Date().getFullYear();
71
+ const cutoff = year + 10;
72
+ const cutoffTwoDigits = cutoff % 100;
73
+ console.log('cutoff', cutoff);
74
+ expect(BalDate.fromAnyFormat(`1.1.${cutoffTwoDigits}`).toISODate()).toStrictEqual(`20${cutoffTwoDigits}-01-01`);
75
+ expect(BalDate.fromAnyFormat(`1.1.${cutoffTwoDigits - 1}`).toISODate()).toStrictEqual(`20${cutoffTwoDigits - 1}-01-01`);
76
+ expect(BalDate.fromAnyFormat(`1.1.${cutoffTwoDigits + 1}`).toISODate()).toStrictEqual(`19${cutoffTwoDigits + 1}-01-01`);
77
+ });
72
78
  test('should parse all supported number formats', () => {
73
79
  expect(BalDate.fromAnyFormat('20021988').toISODate()).toStrictEqual('1988-02-20');
74
80
  });
@@ -0,0 +1,38 @@
1
+ import { areArraysEqual } from "@baloise/web-app-utils";
2
+ import { stopEventBubbling } from "../form-input";
3
+ export class DropdownAutoFillUtil {
4
+ constructor() {
5
+ this.handleAutoFill = async (ev) => {
6
+ stopEventBubbling(ev);
7
+ if (this.isAutoFillAllowed()) {
8
+ this.component.isAutoFilled = true;
9
+ const autoFillValue = this.component.nativeEl.value;
10
+ const newValue = await this.parseAutoFillValueWithOptions(autoFillValue);
11
+ if (newValue === undefined) {
12
+ this.component.isAutoFilled = false;
13
+ return;
14
+ }
15
+ if (!areArraysEqual(newValue, this.component.rawValue)) {
16
+ this.component.valueUtil.updateRawValueBySelection(newValue, true);
17
+ }
18
+ }
19
+ };
20
+ }
21
+ connectedCallback(component) {
22
+ this.component = component;
23
+ }
24
+ isAutoFillAllowed() {
25
+ return !this.component.multiple;
26
+ }
27
+ async parseAutoFillValueWithOptions(autoFillValue) {
28
+ const options = await this.component.listEl.getOptions();
29
+ const value = undefined;
30
+ for (let index = 0; index < options.length; index++) {
31
+ const option = options[index];
32
+ if (option.value === autoFillValue || option.label === autoFillValue) {
33
+ return [option.value];
34
+ }
35
+ }
36
+ return value;
37
+ }
38
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ export const i18nBalDropdown = {
2
+ de: {
3
+ clearable: 'Löschen',
4
+ open: 'Öffnen',
5
+ close: 'Schließen',
6
+ },
7
+ en: {
8
+ clearable: 'clear',
9
+ open: 'Open',
10
+ close: 'Close',
11
+ },
12
+ fr: {
13
+ clearable: 'Effacer',
14
+ open: 'Ouvrir',
15
+ close: 'Fermer',
16
+ },
17
+ it: {
18
+ clearable: 'Cancellare',
19
+ open: 'Apri',
20
+ close: 'Chiudi',
21
+ },
22
+ nl: {
23
+ clearable: 'Wissen',
24
+ open: 'Open',
25
+ close: 'Sluiten',
26
+ },
27
+ es: {
28
+ clearable: 'Limpiar',
29
+ open: 'Abrir',
30
+ close: 'Cerrar',
31
+ },
32
+ pl: {
33
+ clearable: 'Wyczyść',
34
+ open: 'Otwórz',
35
+ close: 'Zamknij',
36
+ },
37
+ pt: {
38
+ clearable: 'Limpar',
39
+ open: 'Abrir',
40
+ close: 'Fechar',
41
+ },
42
+ sv: {
43
+ clearable: 'Rensa',
44
+ open: 'Öppna',
45
+ close: 'Stäng',
46
+ },
47
+ fi: {
48
+ clearable: 'Tyhjennä',
49
+ open: 'Avaa',
50
+ close: 'Sulje',
51
+ },
52
+ };
@@ -0,0 +1,43 @@
1
+ export class DropdownEventsUtil {
2
+ connectedCallback(component) {
3
+ this.component = component;
4
+ }
5
+ handleFocus(ev) {
6
+ this.component.hasFocus = true;
7
+ this.component.balFocus.emit(ev);
8
+ }
9
+ handleBlur(ev) {
10
+ this.component.hasFocus = false;
11
+ this.component.balBlur.emit(ev);
12
+ }
13
+ handleClick(ev) {
14
+ if (!this.component.valueUtil.isDisabled()) {
15
+ if (this.component.chips) {
16
+ const targetEl = ev.target;
17
+ const closeEl = targetEl.closest('bal-close');
18
+ if (closeEl) {
19
+ return;
20
+ }
21
+ }
22
+ if (this.component.clearable) {
23
+ const targetEl = ev.target;
24
+ const clearEl = targetEl.closest('.bal-dropdown__clear');
25
+ if (clearEl) {
26
+ this.component.valueUtil.updateRawValueBySelection([]);
27
+ return;
28
+ }
29
+ }
30
+ this.component.popupUtil.toggleList();
31
+ }
32
+ }
33
+ // @Listen('click', { target: 'document' })
34
+ handleOutsideClick(ev) {
35
+ var _a;
36
+ if (this.component.isExpanded) {
37
+ if (!this.component.el.contains(ev.target)) {
38
+ this.component.isExpanded = false;
39
+ (_a = this.component.listEl) === null || _a === void 0 ? void 0 : _a.resetFocus();
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,10 @@
1
+ export function startsWith(text, input) {
2
+ const content = text.trim().toLowerCase();
3
+ const value = input.trim().toLowerCase();
4
+ return content.startsWith(value);
5
+ }
6
+ export function includes(text, input) {
7
+ const content = text.trim().toLowerCase();
8
+ const value = input.trim().toLowerCase();
9
+ return content.includes(value);
10
+ }
@@ -0,0 +1,19 @@
1
+ export class DropdownFocusUtil {
2
+ connectedCallback(component) {
3
+ this.component = component;
4
+ }
5
+ focusOptionByLabel(key, options = {}) {
6
+ this.component.labelToFocus = (this.component.labelToFocus + key).trim();
7
+ if (this.component.labelToFocus.length > 0) {
8
+ clearTimeout(this.keyHitTimeout);
9
+ this.keyHitTimeout = setTimeout(() => {
10
+ var _a;
11
+ (_a = this.component.listEl) === null || _a === void 0 ? void 0 : _a.focusByLabel(this.component.labelToFocus, options);
12
+ }, 100);
13
+ clearTimeout(this.timeout);
14
+ this.timeout = setTimeout(async () => {
15
+ this.component.labelToFocus = '';
16
+ }, 1000);
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,35 @@
1
+ import { h } from "@stencil/core";
2
+ import { BEM } from "../bem";
3
+ export class DropdownFormSubmitUtil {
4
+ connectedCallback(component) {
5
+ this.component = component;
6
+ this.component.initialValue = this.component.value;
7
+ }
8
+ componentDidRender() {
9
+ if (this.component.selectEl) {
10
+ const options = this.component.selectEl.querySelectorAll('option');
11
+ options.forEach(option => {
12
+ if (this.component.rawValue.includes(option.value)) {
13
+ option.selected = true;
14
+ }
15
+ });
16
+ }
17
+ }
18
+ // @Listen('reset', { capture: true, target: 'document' })
19
+ handle(ev) {
20
+ const formElement = ev.target;
21
+ if (formElement === null || formElement === void 0 ? void 0 : formElement.contains(this.component.el)) {
22
+ if (this.resetHandlerTimer) {
23
+ clearTimeout(this.resetHandlerTimer);
24
+ }
25
+ this.resetHandlerTimer = setTimeout(() => {
26
+ const newRawValue = this.component.valueUtil.parseValueString(this.component.initialValue);
27
+ this.component.valueUtil.updateRawValueBySelection(newRawValue);
28
+ }, 0);
29
+ }
30
+ }
31
+ }
32
+ export const DropdownNativeSelect = ({ name, httpFormSubmit, multiple, required, disabled, rawValue, refSelectEl, }) => {
33
+ const block = BEM.block('dropdown');
34
+ return httpFormSubmit ? (h("select", { class: Object.assign({}, block.element('root').element('select').class()), "aria-hidden": "true", name: name, multiple: multiple, required: required, disabled: disabled, tabindex: -1, ref: refSelectEl }, rawValue.map((value) => (h("option", { key: value, value: value, selected: true }, value))))) : ('');
35
+ };