@baloise/ds-core 16.0.3-nightly.20240417 → 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 (363) hide show
  1. package/components/all.d.ts +6 -2
  2. package/components/all.js +9 -3
  3. package/components/aria.js +3 -0
  4. package/components/bal-app.js +85 -1
  5. package/components/bal-checkbox-button.js +1 -1
  6. package/components/bal-checkbox2.js +3 -2
  7. package/components/bal-close2.js +1 -1
  8. package/components/bal-date-calendar2.js +1 -1
  9. package/components/bal-dropdown.d.ts +11 -0
  10. package/components/bal-dropdown.js +710 -0
  11. package/components/bal-field.js +12 -2
  12. package/components/bal-footer.js +1 -1
  13. package/components/bal-option-list.d.ts +11 -0
  14. package/components/bal-option-list.js +459 -0
  15. package/components/{bal-doc-app.d.ts → bal-option.d.ts} +4 -4
  16. package/components/bal-option.js +171 -0
  17. package/components/bal-popup.js +1 -1
  18. package/components/bal-radio2.js +1 -1
  19. package/components/bal-select2.js +3 -3
  20. package/components/bal-spinner2.js +54 -6
  21. package/components/bal-tag2.js +1 -1
  22. package/components/config.default.js +1 -0
  23. package/components/index.esm.js +1 -1
  24. package/components/index.js +290 -5
  25. package/components/option.js +46 -0
  26. package/components/tokens.esm.js +1 -1
  27. package/dist/baloise-design-system/baloise-design-system.esm.js +1 -1
  28. package/dist/baloise-design-system/baloise-design-system.js +1 -1
  29. package/dist/baloise-design-system/index.esm.js +1 -1
  30. package/dist/baloise-design-system/p-013b4c72.system.js +1 -0
  31. package/dist/baloise-design-system/p-0639833837.system.entry.js +1 -0
  32. package/dist/baloise-design-system/{p-0cd70cd814.system.entry.js → p-06e9a468fc.system.entry.js} +1 -1
  33. package/dist/baloise-design-system/p-0793c0159f.system.entry.js +1 -0
  34. package/dist/baloise-design-system/{p-45de4b9eab.system.entry.js → p-0fed7a5f26.system.entry.js} +1 -1
  35. package/dist/baloise-design-system/{p-f2de9458ad.entry.js → p-10b8686d91.entry.js} +1 -1
  36. package/dist/baloise-design-system/{p-e113196061.system.entry.js → p-126c79c9e9.system.entry.js} +1 -1
  37. package/dist/baloise-design-system/p-12bcc7da.js +1 -0
  38. package/dist/baloise-design-system/{p-3bd244cda7.entry.js → p-135c5759c5.entry.js} +1 -1
  39. package/dist/baloise-design-system/{p-88c086f8.system.js → p-14ae0709.system.js} +1 -1
  40. package/dist/baloise-design-system/{p-3bbf43bb.system.js → p-1509eaa7.system.js} +1 -1
  41. package/dist/baloise-design-system/{p-946e9e784d.system.entry.js → p-1659bb968c.system.entry.js} +1 -1
  42. package/dist/baloise-design-system/p-187f98a1.system.js +1 -0
  43. package/dist/baloise-design-system/{p-a620678fd4.system.entry.js → p-18e2e391e0.system.entry.js} +1 -1
  44. package/dist/baloise-design-system/p-1de6b20b1c.system.entry.js +1 -0
  45. package/dist/baloise-design-system/{p-1c2dee82c4.system.entry.js → p-222bc9b30e.system.entry.js} +1 -1
  46. package/dist/baloise-design-system/{p-0af6ae59f5.entry.js → p-22b041a511.entry.js} +1 -1
  47. package/dist/baloise-design-system/{p-45fe099fab.entry.js → p-25da216e4f.entry.js} +1 -1
  48. package/dist/baloise-design-system/{p-3f8e5df9c5.system.entry.js → p-25e0d82e89.system.entry.js} +1 -1
  49. package/dist/baloise-design-system/p-2d82b78410.entry.js +1 -0
  50. package/dist/baloise-design-system/{p-a0db085f89.entry.js → p-2d8bd11634.entry.js} +1 -1
  51. package/dist/baloise-design-system/p-2db9030ad9.system.entry.js +1 -0
  52. package/dist/baloise-design-system/{p-7d6318e4f1.system.entry.js → p-3128128969.system.entry.js} +1 -1
  53. package/dist/baloise-design-system/{p-9a5cb17cb9.entry.js → p-39bc49bc3d.entry.js} +1 -1
  54. package/dist/baloise-design-system/p-3bad0907.system.js +1 -0
  55. package/dist/baloise-design-system/{p-0545b101.js → p-3f1c49d0.js} +1 -1
  56. package/dist/baloise-design-system/{p-2e717f00bb.entry.js → p-4aba4c66ee.entry.js} +1 -1
  57. package/dist/baloise-design-system/{p-9e4fcb76.js → p-54f81c32.js} +1 -1
  58. package/dist/baloise-design-system/{p-7c5868cc.system.js → p-55faac1d.system.js} +1 -1
  59. package/dist/baloise-design-system/{p-34ee3721dd.entry.js → p-5b571a9fb1.entry.js} +1 -1
  60. package/dist/baloise-design-system/{p-a8f6447224.entry.js → p-60e94f8144.entry.js} +1 -1
  61. package/dist/baloise-design-system/{p-06e959a11a.entry.js → p-6164f99bb8.entry.js} +1 -1
  62. package/dist/baloise-design-system/{p-6608061443.system.entry.js → p-62ab1f0ae2.system.entry.js} +1 -1
  63. package/dist/baloise-design-system/{p-053d572047.system.entry.js → p-62b792a34b.system.entry.js} +1 -1
  64. package/dist/baloise-design-system/{p-118e15f5f2.system.entry.js → p-74f4b9818b.system.entry.js} +1 -1
  65. package/dist/baloise-design-system/{p-439518e5ed.entry.js → p-77f5e777e6.entry.js} +1 -1
  66. package/dist/baloise-design-system/{p-6ddfa58338.entry.js → p-7c42a363f3.entry.js} +1 -1
  67. package/dist/baloise-design-system/p-7cd815d3e8.entry.js +1 -0
  68. package/dist/baloise-design-system/p-80b45dd4d6.system.entry.js +1 -0
  69. package/dist/baloise-design-system/{p-af5b58ab1c.system.entry.js → p-8870e1f3e0.system.entry.js} +1 -1
  70. package/dist/baloise-design-system/{p-3cb83cf9.system.js → p-8a87b9a8.system.js} +1 -1
  71. package/dist/baloise-design-system/{p-99e5872214.system.entry.js → p-8c209ac52b.system.entry.js} +1 -1
  72. package/dist/baloise-design-system/p-8f77c423ad.entry.js +1 -0
  73. package/dist/baloise-design-system/{p-de726703ce.entry.js → p-8fe94b9e21.entry.js} +1 -1
  74. package/dist/baloise-design-system/{p-1b76afbf.js → p-94efe2aa.js} +1 -1
  75. package/dist/baloise-design-system/{p-0ce86357bd.entry.js → p-9658f4a66f.entry.js} +1 -1
  76. package/dist/baloise-design-system/{p-4112f1cc6e.entry.js → p-9a0640d065.entry.js} +1 -1
  77. package/dist/baloise-design-system/{p-c3bd665a8b.entry.js → p-9e167705ca.entry.js} +1 -1
  78. package/dist/baloise-design-system/{p-e619be36b2.system.entry.js → p-9ecce014c2.system.entry.js} +1 -1
  79. package/dist/baloise-design-system/p-a19d1e1d.js +1 -0
  80. package/dist/baloise-design-system/{p-115c7e47bd.entry.js → p-a8022ee701.entry.js} +1 -1
  81. package/dist/baloise-design-system/{p-9038dd3550.entry.js → p-a97cbb7dda.entry.js} +1 -1
  82. package/dist/baloise-design-system/p-acb5cea0.system.js +1 -0
  83. package/dist/baloise-design-system/p-ae28b86fe5.entry.js +1 -0
  84. package/dist/baloise-design-system/p-b779742f50.entry.js +1 -0
  85. package/dist/baloise-design-system/{p-bda509c8.js → p-b8d99064.js} +1 -1
  86. package/dist/baloise-design-system/p-b8f085f7b5.system.entry.js +1 -0
  87. package/dist/baloise-design-system/{p-7ca7b4dad9.system.entry.js → p-b97d9336a7.system.entry.js} +1 -1
  88. package/dist/baloise-design-system/{p-2b27e981ed.entry.js → p-b9f197815f.entry.js} +1 -1
  89. package/dist/baloise-design-system/{p-afe91abbd5.system.entry.js → p-bb3914c87a.system.entry.js} +1 -1
  90. package/dist/baloise-design-system/p-bb6304d0.system.js +1 -0
  91. package/dist/baloise-design-system/p-bcbb5b59f3.system.entry.js +1 -0
  92. package/dist/baloise-design-system/p-bcca1ed3.system.js +1 -0
  93. package/dist/baloise-design-system/{p-b89bb101d7.entry.js → p-bcebf41b74.entry.js} +1 -1
  94. package/dist/baloise-design-system/p-bd5de78b2c.entry.js +1 -0
  95. package/dist/baloise-design-system/p-c304d5fa9c.entry.js +1 -0
  96. package/dist/baloise-design-system/{p-4e7e0fe4.system.js → p-cc61fac8.system.js} +1 -1
  97. package/dist/baloise-design-system/{p-f9c9ec626c.system.entry.js → p-cd8e72d87f.system.entry.js} +1 -1
  98. package/dist/baloise-design-system/{p-e4f6e3047f.system.entry.js → p-d16557d133.system.entry.js} +1 -1
  99. package/dist/baloise-design-system/p-d7a758b3.js +1 -0
  100. package/dist/baloise-design-system/{p-29f7274983.system.entry.js → p-d919753ed0.system.entry.js} +1 -1
  101. package/dist/baloise-design-system/p-d9b38501.js +1 -0
  102. package/dist/baloise-design-system/p-d9d229a026.entry.js +1 -0
  103. package/dist/baloise-design-system/{p-13227d037a.system.entry.js → p-dbc2d22240.system.entry.js} +1 -1
  104. package/dist/baloise-design-system/{p-a9e5eba8c9.system.entry.js → p-dce3764ee5.system.entry.js} +1 -1
  105. package/dist/baloise-design-system/{p-1eeee9a37e.entry.js → p-ddf9b2a289.entry.js} +1 -1
  106. package/dist/baloise-design-system/{p-03ec11adc1.system.entry.js → p-e4de708de1.system.entry.js} +1 -1
  107. package/dist/baloise-design-system/p-e60c936359.system.entry.js +1 -0
  108. package/dist/baloise-design-system/p-e78a6409.js +1 -0
  109. package/dist/baloise-design-system/{p-f55c50abfa.system.entry.js → p-f076d1ed4f.system.entry.js} +1 -1
  110. package/dist/baloise-design-system/{p-283d037ce7.system.entry.js → p-f0b43f1452.system.entry.js} +1 -1
  111. package/dist/baloise-design-system/{p-d78eeb433a.entry.js → p-f12abda2db.entry.js} +1 -1
  112. package/dist/baloise-design-system/{p-f3ea10dd64.system.entry.js → p-f1b95d78af.system.entry.js} +1 -1
  113. package/dist/baloise-design-system/{p-ef373ed3db.entry.js → p-f56fb1a197.entry.js} +1 -1
  114. package/dist/baloise-design-system/{p-b213175c21.entry.js → p-f8974d743d.entry.js} +1 -1
  115. package/dist/baloise-design-system/p-f8a98657a1.entry.js +1 -0
  116. package/dist/cjs/app-globals-ae3a8623.js +11 -0
  117. package/dist/cjs/aria-c8955a5c.js +5 -0
  118. package/dist/cjs/bal-carousel_2.cjs.entry.js +4 -4
  119. package/dist/cjs/bal-checkbox-button.cjs.entry.js +1 -1
  120. package/dist/cjs/bal-checkbox_2.cjs.entry.js +3 -2
  121. package/dist/cjs/bal-close.cjs.entry.js +2 -2
  122. package/dist/cjs/bal-date-calendar_2.cjs.entry.js +2 -2
  123. package/dist/cjs/bal-date.cjs.entry.js +1 -1
  124. package/dist/cjs/bal-datepicker.cjs.entry.js +4 -4
  125. package/dist/cjs/bal-dropdown.cjs.entry.js +660 -0
  126. package/dist/cjs/bal-field_5.cjs.entry.js +12 -2
  127. package/dist/cjs/bal-footer.cjs.entry.js +1 -1
  128. package/dist/cjs/bal-hint_3.cjs.entry.js +3 -3
  129. package/dist/cjs/bal-icon.cjs.entry.js +1 -1
  130. package/dist/cjs/bal-input-stepper.cjs.entry.js +1 -1
  131. package/dist/cjs/bal-label.cjs.entry.js +1 -1
  132. package/dist/cjs/bal-list_8.cjs.entry.js +3 -3
  133. package/dist/cjs/bal-logo.cjs.entry.js +3 -3
  134. package/dist/cjs/bal-nav_8.cjs.entry.js +4 -4
  135. package/dist/cjs/bal-navbar_5.cjs.entry.js +3 -3
  136. package/dist/cjs/bal-number-input.cjs.entry.js +1 -1
  137. package/dist/cjs/bal-option_2.cjs.entry.js +541 -0
  138. package/dist/cjs/bal-pagination.cjs.entry.js +4 -4
  139. package/dist/cjs/bal-popover_2.cjs.entry.js +3 -3
  140. package/dist/cjs/bal-progress-bar.cjs.entry.js +3 -3
  141. package/dist/cjs/bal-radio_2.cjs.entry.js +1 -1
  142. package/dist/cjs/bal-select_2.cjs.entry.js +2 -2
  143. package/dist/cjs/bal-shape.cjs.entry.js +1 -1
  144. package/dist/cjs/bal-spinner.cjs.entry.js +49 -4
  145. package/dist/cjs/bal-steps.cjs.entry.js +3 -3
  146. package/dist/cjs/bal-tab-item_2.cjs.entry.js +3 -3
  147. package/dist/cjs/bal-tag_2.cjs.entry.js +1 -1
  148. package/dist/cjs/bal-time-input.cjs.entry.js +1 -1
  149. package/dist/cjs/baloise-design-system.cjs.js +4 -5
  150. package/dist/cjs/{breakpoints.decorator-5a45d298.js → breakpoints.decorator-47fd6060.js} +1 -1
  151. package/dist/cjs/{breakpoints.subject-ee6b98cd.js → breakpoints.subject-66093c8f.js} +1 -1
  152. package/dist/cjs/{config.default-32725178.js → config.default-5bdd6e3d.js} +1 -0
  153. package/dist/cjs/index.cjs.js +6 -4
  154. package/dist/cjs/{initialize-e38e7028.js → initialize-2a19d091.js} +9 -2
  155. package/dist/cjs/loader.cjs.js +4 -5
  156. package/dist/cjs/option-c33cf2b8.js +49 -0
  157. package/dist/cjs/{tokens.esm-b37c935b.js → tokens.esm-bb0ef2db.js} +1 -1
  158. package/dist/collection/collection-manifest.json +15 -2
  159. package/dist/collection/components/bal-checkbox/bal-checkbox-button/bal-checkbox-button.css +1 -1
  160. package/dist/collection/components/bal-checkbox/bal-checkbox.js +2 -1
  161. package/dist/collection/components/bal-checkbox/radio-checkbox.css +1 -1
  162. package/dist/collection/components/bal-close/bal-close.js +1 -1
  163. package/dist/collection/components/bal-date/bal-date-calendar/components/bal-date-calendar__list.js +1 -1
  164. package/dist/collection/components/bal-dropdown/bal-dropdown.css +1 -0
  165. package/dist/collection/components/bal-dropdown/bal-dropdown.interfaces.js +4 -0
  166. package/dist/collection/components/bal-dropdown/bal-dropdown.js +882 -0
  167. package/dist/collection/components/bal-field/bal-field.js +12 -2
  168. package/dist/collection/components/bal-option/bal-option.css +1 -0
  169. package/dist/collection/components/bal-option/bal-option.interfaces.js +4 -0
  170. package/dist/collection/components/bal-option/bal-option.js +360 -0
  171. package/dist/collection/components/bal-option-list/bal-option-list.css +1 -0
  172. package/dist/collection/components/bal-option-list/bal-option-list.interfaces.js +4 -0
  173. package/dist/collection/components/bal-option-list/bal-option-list.js +939 -0
  174. package/dist/collection/components/bal-select/bal-select.js +3 -3
  175. package/dist/collection/components/bal-spinner/bal-spinner.css +1 -1
  176. package/dist/collection/components/bal-spinner/bal-spinner.interfaces.js +4 -0
  177. package/dist/collection/components/bal-spinner/bal-spinner.js +83 -4
  178. package/dist/collection/components/bal-tag/bal-tag.css +1 -1
  179. package/dist/collection/index.js +1 -0
  180. package/dist/collection/utils/aria.js +1 -0
  181. package/dist/collection/utils/config/config.default.js +1 -0
  182. package/dist/collection/utils/config/config.js +7 -0
  183. package/dist/collection/utils/constants/version.constant.js +1 -1
  184. package/dist/collection/utils/dropdown/auto-fill.js +38 -0
  185. package/dist/collection/utils/dropdown/component.js +1 -0
  186. package/dist/collection/utils/dropdown/dropdown.i18n.js +52 -0
  187. package/dist/collection/utils/dropdown/events.js +43 -0
  188. package/dist/collection/utils/dropdown/filters.js +10 -0
  189. package/dist/collection/utils/dropdown/focus.js +19 -0
  190. package/dist/collection/utils/dropdown/form-submit.js +35 -0
  191. package/dist/collection/utils/dropdown/icon.js +15 -0
  192. package/dist/collection/utils/dropdown/index.js +13 -0
  193. package/dist/collection/utils/dropdown/input.js +12 -0
  194. package/dist/collection/utils/dropdown/option-list.js +8 -0
  195. package/dist/collection/utils/dropdown/option.js +44 -0
  196. package/dist/collection/utils/dropdown/popup.js +45 -0
  197. package/dist/collection/utils/dropdown/value.js +103 -0
  198. package/dist/esm/app-globals-b0dd0fc4.js +9 -0
  199. package/dist/esm/aria-d5877698.js +3 -0
  200. package/dist/esm/bal-carousel_2.entry.js +4 -4
  201. package/dist/esm/bal-checkbox-button.entry.js +1 -1
  202. package/dist/esm/bal-checkbox_2.entry.js +4 -3
  203. package/dist/esm/bal-close.entry.js +2 -2
  204. package/dist/esm/bal-date-calendar_2.entry.js +4 -4
  205. package/dist/esm/bal-date.entry.js +3 -3
  206. package/dist/esm/bal-datepicker.entry.js +5 -5
  207. package/dist/esm/bal-dropdown.entry.js +656 -0
  208. package/dist/esm/bal-field_5.entry.js +12 -2
  209. package/dist/esm/bal-file-upload.entry.js +1 -1
  210. package/dist/esm/bal-footer.entry.js +2 -2
  211. package/dist/esm/bal-hint_3.entry.js +3 -3
  212. package/dist/esm/bal-icon.entry.js +1 -1
  213. package/dist/esm/bal-input-stepper.entry.js +2 -2
  214. package/dist/esm/bal-label.entry.js +1 -1
  215. package/dist/esm/bal-list_8.entry.js +3 -3
  216. package/dist/esm/bal-logo.entry.js +3 -3
  217. package/dist/esm/bal-nav_8.entry.js +4 -4
  218. package/dist/esm/bal-navbar_5.entry.js +3 -3
  219. package/dist/esm/bal-number-input.entry.js +2 -2
  220. package/dist/esm/bal-option_2.entry.js +536 -0
  221. package/dist/esm/bal-pagination.entry.js +4 -4
  222. package/dist/esm/bal-popover_2.entry.js +3 -3
  223. package/dist/esm/bal-popup.entry.js +1 -1
  224. package/dist/esm/bal-progress-bar.entry.js +3 -3
  225. package/dist/esm/bal-radio_2.entry.js +2 -2
  226. package/dist/esm/bal-select_2.entry.js +3 -3
  227. package/dist/esm/bal-shape.entry.js +1 -1
  228. package/dist/esm/bal-spinner.entry.js +50 -5
  229. package/dist/esm/bal-steps.entry.js +4 -4
  230. package/dist/esm/bal-tab-item_2.entry.js +4 -4
  231. package/dist/esm/bal-tag_2.entry.js +1 -1
  232. package/dist/esm/bal-time-input.entry.js +1 -1
  233. package/dist/esm/baloise-design-system.js +4 -5
  234. package/dist/esm/{breakpoints.decorator-1a7b0912.js → breakpoints.decorator-021fbaf0.js} +1 -1
  235. package/dist/esm/{breakpoints.subject-c5f9de1c.js → breakpoints.subject-ef464f89.js} +1 -1
  236. package/dist/esm/{config.default-79f94bf7.js → config.default-7efdc82d.js} +1 -0
  237. package/dist/esm/{date-f02fdb08.js → date-38a0b208.js} +1 -1
  238. package/dist/esm/{index.esm-ec4cba26.js → index.esm-83b1f9c4.js} +1 -1
  239. package/dist/esm/index.js +8 -7
  240. package/dist/esm/{initialize-66615dde.js → initialize-e216cfe4.js} +9 -2
  241. package/dist/esm/loader.js +4 -5
  242. package/dist/esm/option-37cb0282.js +46 -0
  243. package/dist/esm/{tokens.esm-99101350.js → tokens.esm-aab9bd61.js} +1 -1
  244. package/dist/esm-es5/app-globals-b0dd0fc4.js +1 -0
  245. package/dist/esm-es5/aria-d5877698.js +1 -0
  246. package/dist/esm-es5/bal-carousel_2.entry.js +1 -1
  247. package/dist/esm-es5/bal-checkbox-button.entry.js +1 -1
  248. package/dist/esm-es5/bal-checkbox_2.entry.js +1 -1
  249. package/dist/esm-es5/bal-close.entry.js +1 -1
  250. package/dist/esm-es5/bal-date-calendar_2.entry.js +1 -1
  251. package/dist/esm-es5/bal-date.entry.js +1 -1
  252. package/dist/esm-es5/bal-datepicker.entry.js +1 -1
  253. package/dist/esm-es5/bal-dropdown.entry.js +1 -0
  254. package/dist/esm-es5/bal-field_5.entry.js +1 -1
  255. package/dist/esm-es5/bal-file-upload.entry.js +1 -1
  256. package/dist/esm-es5/bal-footer.entry.js +1 -1
  257. package/dist/esm-es5/bal-hint_3.entry.js +1 -1
  258. package/dist/esm-es5/bal-icon.entry.js +1 -1
  259. package/dist/esm-es5/bal-input-stepper.entry.js +1 -1
  260. package/dist/esm-es5/bal-label.entry.js +1 -1
  261. package/dist/esm-es5/bal-list_8.entry.js +1 -1
  262. package/dist/esm-es5/bal-logo.entry.js +1 -1
  263. package/dist/esm-es5/bal-nav_8.entry.js +1 -1
  264. package/dist/esm-es5/bal-navbar_5.entry.js +1 -1
  265. package/dist/esm-es5/bal-number-input.entry.js +1 -1
  266. package/dist/esm-es5/bal-option_2.entry.js +1 -0
  267. package/dist/esm-es5/bal-pagination.entry.js +1 -1
  268. package/dist/esm-es5/bal-popover_2.entry.js +1 -1
  269. package/dist/esm-es5/bal-popup.entry.js +1 -1
  270. package/dist/esm-es5/bal-progress-bar.entry.js +1 -1
  271. package/dist/esm-es5/bal-radio_2.entry.js +1 -1
  272. package/dist/esm-es5/bal-select_2.entry.js +1 -1
  273. package/dist/esm-es5/bal-shape.entry.js +1 -1
  274. package/dist/esm-es5/bal-spinner.entry.js +1 -1
  275. package/dist/esm-es5/bal-steps.entry.js +1 -1
  276. package/dist/esm-es5/bal-tab-item_2.entry.js +1 -1
  277. package/dist/esm-es5/bal-tag_2.entry.js +1 -1
  278. package/dist/esm-es5/bal-time-input.entry.js +1 -1
  279. package/dist/esm-es5/baloise-design-system.js +1 -1
  280. package/dist/esm-es5/{breakpoints.decorator-1a7b0912.js → breakpoints.decorator-021fbaf0.js} +1 -1
  281. package/dist/esm-es5/{breakpoints.subject-c5f9de1c.js → breakpoints.subject-ef464f89.js} +1 -1
  282. package/dist/esm-es5/{config.default-79f94bf7.js → config.default-7efdc82d.js} +1 -1
  283. package/dist/esm-es5/{date-f02fdb08.js → date-38a0b208.js} +1 -1
  284. package/dist/esm-es5/{index.esm-ec4cba26.js → index.esm-83b1f9c4.js} +1 -1
  285. package/dist/esm-es5/index.js +1 -1
  286. package/dist/esm-es5/{initialize-66615dde.js → initialize-e216cfe4.js} +1 -1
  287. package/dist/esm-es5/loader.js +1 -1
  288. package/dist/esm-es5/option-37cb0282.js +1 -0
  289. package/dist/html.html-data.json +357 -0
  290. package/dist/types/components/bal-dropdown/bal-dropdown.d.ts +187 -0
  291. package/dist/types/components/bal-dropdown/bal-dropdown.interfaces.d.ts +14 -0
  292. package/dist/types/components/bal-field/bal-field.d.ts +1 -0
  293. package/dist/types/components/bal-option/bal-option.d.ts +91 -0
  294. package/dist/types/components/bal-option/bal-option.interfaces.d.ts +19 -0
  295. package/dist/types/components/bal-option-list/bal-option-list.d.ts +168 -0
  296. package/dist/types/components/bal-option-list/bal-option-list.interfaces.d.ts +5 -0
  297. package/dist/types/components/bal-select/bal-select.d.ts +1 -1
  298. package/dist/types/components/bal-spinner/bal-spinner.d.ts +14 -2
  299. package/dist/types/components/bal-spinner/bal-spinner.interfaces.d.ts +6 -0
  300. package/dist/types/components.d.ts +443 -32
  301. package/dist/types/index.d.ts +1 -0
  302. package/dist/types/interfaces.d.ts +4 -0
  303. package/dist/types/utils/aria.d.ts +1 -0
  304. package/dist/types/utils/config/config.d.ts +2 -0
  305. package/dist/types/utils/config/config.types.d.ts +2 -0
  306. package/dist/types/utils/dropdown/auto-fill.d.ts +8 -0
  307. package/dist/types/utils/dropdown/component.d.ts +34 -0
  308. package/dist/types/utils/dropdown/dropdown.i18n.d.ts +8 -0
  309. package/dist/types/utils/dropdown/events.d.ts +13 -0
  310. package/dist/types/utils/dropdown/filters.d.ts +2 -0
  311. package/dist/types/utils/dropdown/focus.d.ts +13 -0
  312. package/dist/types/utils/dropdown/form-submit.d.ts +22 -0
  313. package/dist/types/utils/dropdown/icon.d.ts +13 -0
  314. package/dist/types/utils/dropdown/index.d.ts +13 -0
  315. package/dist/types/utils/dropdown/input.d.ts +27 -0
  316. package/dist/types/utils/dropdown/option-list.d.ts +17 -0
  317. package/dist/types/utils/dropdown/option.d.ts +25 -0
  318. package/dist/types/utils/dropdown/popup.d.ts +9 -0
  319. package/dist/types/utils/dropdown/value.d.ts +28 -0
  320. package/package.json +7 -7
  321. package/components/bal-app2.js +0 -87
  322. package/components/bal-doc-app.js +0 -260
  323. package/components/initialize.js +0 -281
  324. package/dist/baloise-design-system/p-1e0e5892a3.system.entry.js +0 -1
  325. package/dist/baloise-design-system/p-2ae9656e.system.js +0 -1
  326. package/dist/baloise-design-system/p-2dda46c5f8.entry.js +0 -1
  327. package/dist/baloise-design-system/p-320dd651.js +0 -1
  328. package/dist/baloise-design-system/p-4e218ac923.system.entry.js +0 -1
  329. package/dist/baloise-design-system/p-4f4df156.js +0 -1
  330. package/dist/baloise-design-system/p-87067c24.js +0 -1
  331. package/dist/baloise-design-system/p-8ea27b553e.system.entry.js +0 -1
  332. package/dist/baloise-design-system/p-96647117d9.entry.js +0 -1
  333. package/dist/baloise-design-system/p-9d114fae.js +0 -1
  334. package/dist/baloise-design-system/p-9ee6326d8f.entry.js +0 -1
  335. package/dist/baloise-design-system/p-a4d60ac8af.system.entry.js +0 -1
  336. package/dist/baloise-design-system/p-a8d19cb362.system.entry.js +0 -1
  337. package/dist/baloise-design-system/p-b0870e2498.system.entry.js +0 -1
  338. package/dist/baloise-design-system/p-b1c7ddc442.system.entry.js +0 -1
  339. package/dist/baloise-design-system/p-b1e3fc0bc8.entry.js +0 -1
  340. package/dist/baloise-design-system/p-c0a3d422.system.js +0 -1
  341. package/dist/baloise-design-system/p-c34504aa32.entry.js +0 -1
  342. package/dist/baloise-design-system/p-d6fc0dd434.entry.js +0 -1
  343. package/dist/baloise-design-system/p-db3e6b861f.entry.js +0 -1
  344. package/dist/baloise-design-system/p-e960037ef1.entry.js +0 -1
  345. package/dist/baloise-design-system/p-f15be367.system.js +0 -1
  346. package/dist/baloise-design-system/p-f8c2d916.system.js +0 -1
  347. package/dist/baloise-design-system/p-fa8f56c6.system.js +0 -1
  348. package/dist/cjs/app-globals-1a8f18e4.js +0 -7
  349. package/dist/cjs/bal-doc-app.cjs.entry.js +0 -231
  350. package/dist/cjs/global-6ea60588.js +0 -9
  351. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.css +0 -1
  352. package/dist/collection/components/docs/bal-doc-app/bal-doc-app.js +0 -229
  353. package/dist/esm/app-globals-e3e23c19.js +0 -5
  354. package/dist/esm/bal-doc-app.entry.js +0 -227
  355. package/dist/esm/global-d54e7c09.js +0 -7
  356. package/dist/esm-es5/app-globals-e3e23c19.js +0 -1
  357. package/dist/esm-es5/bal-doc-app.entry.js +0 -1
  358. package/dist/esm-es5/global-d54e7c09.js +0 -1
  359. package/dist/types/components/docs/bal-doc-app/bal-doc-app.d.ts +0 -21
  360. package/dist/types/home/runner/work/design-system/design-system/packages/core/.stencil/packages/icons/src/index.d.ts +0 -81
  361. /package/dist/baloise-design-system/{p-8f430e01.system.js → p-03c136e2.system.js} +0 -0
  362. /package/dist/baloise-design-system/{p-2b04a8d8.js → p-7b9c33ba.js} +0 -0
  363. /package/dist/esm-es5/{tokens.esm-99101350.js → tokens.esm-aab9bd61.js} +0 -0
@@ -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;
@@ -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", { key: option.id, 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);
@@ -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-nightly.20240417';
2
+ export const VERSION = '16.1.0';
@@ -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
+ };
@@ -0,0 +1,15 @@
1
+ import { h } from "@stencil/core";
2
+ import { BEM } from "../bem";
3
+ import { i18nBalDropdown } from "./dropdown.i18n";
4
+ export const DropdownIcon = ({ icon, language, loading, clearable, invalid, filled, expanded, disabled, }) => {
5
+ const block = BEM.block('dropdown');
6
+ if (loading) {
7
+ return h("bal-spinner", { class: Object.assign({}, block.element('rear').class()), small: true, variation: "circle" });
8
+ }
9
+ else if (clearable && filled && !disabled) {
10
+ return (h("button", { title: i18nBalDropdown[language].clearable, class: Object.assign(Object.assign(Object.assign({}, block.element('rear').class()), block.element('clear').class()), block.element('clear').modifier('invalid').class(invalid)) }, h("bal-icon", { class: Object.assign({}, block.element('rear').class()), name: 'close-circle', size: "", color: 'grey' })));
11
+ }
12
+ else {
13
+ return (h("bal-icon", { class: Object.assign({}, block.element('rear').class()), name: icon, turn: expanded, color: disabled ? 'grey' : invalid ? 'danger' : 'primary' }));
14
+ }
15
+ };
@@ -0,0 +1,13 @@
1
+ export * from './auto-fill';
2
+ export * from './component';
3
+ export * from './dropdown.i18n';
4
+ export * from './events';
5
+ export * from './filters';
6
+ export * from './focus';
7
+ export * from './form-submit';
8
+ export * from './icon';
9
+ export * from './option';
10
+ export * from './option-list';
11
+ export * from './popup';
12
+ export * from './value';
13
+ export * from './input';
@@ -0,0 +1,12 @@
1
+ import { h } from "@stencil/core";
2
+ import { BEM } from "../bem";
3
+ import { i18nBalDropdown } from "./dropdown.i18n";
4
+ import { ariaBooleanToString } from "../aria";
5
+ export const DropdownInput = ({ name, inputId, httpFormSubmit, ariaForm, rawValue, autocomplete, required, disabled, readonly, placeholder, expanded, invalid, language, inputLabel, inheritedAttributes, refInputEl, onChange, onFocus, onBlur, onKeyDown, }) => {
6
+ const block = BEM.block('dropdown');
7
+ const Input = () => (h("input", Object.assign({ id: ariaForm.controlId || `${inputId}-ctrl`, class: Object.assign({}, block.element('root').element('input').class()), type: "text", size: 1, inputmode: "none", tabindex: "0", name: name, autoComplete: autocomplete, value: rawValue.join(','), required: required, disabled: disabled, readonly: readonly, placeholder: placeholder, title: expanded ? i18nBalDropdown[language].close : i18nBalDropdown[language].open, "aria-label": expanded ? i18nBalDropdown[language].close : i18nBalDropdown[language].open, "aria-owns": `${inputId}-menu`, "aria-invalid": ariaBooleanToString(invalid), "aria-disabled": ariaBooleanToString(disabled || readonly), "aria-labelledby": ariaForm.labelId, "aria-describedby": ariaForm.messageId, "aria-haspopup": 'listbox', "data-native": true, "data-label": inputLabel, "data-value": rawValue.join(','), ref: el => refInputEl(el), onChange: ev => onChange(ev), onFocus: ev => onFocus(ev), onBlur: ev => onBlur(ev), onKeyDown: ev => onKeyDown(ev) }, inheritedAttributes)));
8
+ if (httpFormSubmit) {
9
+ return h(Input, null);
10
+ }
11
+ return (h("form", { novalidate: true }, h(Input, null)));
12
+ };
@@ -0,0 +1,8 @@
1
+ import { h } from "@stencil/core";
2
+ import { BEM } from "../bem";
3
+ export const DropdownOptionList = ({ inputId, isExpanded, rawOptions, isDisabled, hasPropOptions, required, filter, multiple, contentHeight, refPanelEl, refListEl, }) => {
4
+ const block = BEM.block('dropdown');
5
+ return (h("div", { id: `${inputId}-menu`, class: Object.assign(Object.assign({}, block.element('list').class()), block.element('list').modifier('expanded').class(isExpanded)), ref: refPanelEl }, h("bal-option-list", { multiple: multiple, disabled: isDisabled, filter: filter, required: required, contentHeight: contentHeight, ref: refListEl }, h("slot", null), hasPropOptions
6
+ ? rawOptions.map(option => (h("bal-option", { key: option.value, value: option.value, label: option.label, disabled: option.disabled, multiline: option.multiline, invalid: option.invalid, hidden: option.hidden, selected: option.selected, focused: option.focused }, option.label)))
7
+ : '')));
8
+ };
@@ -0,0 +1,44 @@
1
+ export const newBalOption = (option, options) => {
2
+ const data = Object.assign(Object.assign({}, option), { disabled: false, invalid: false, selected: false, focused: false, hidden: false, multiline: false });
3
+ if (options) {
4
+ data.disabled = options.disabled === undefined ? data.disabled : options.disabled;
5
+ data.invalid = options.invalid === undefined ? data.invalid : options.invalid;
6
+ data.selected = options.selected === undefined ? data.selected : options.selected;
7
+ data.focused = options.focused === undefined ? data.focused : options.focused;
8
+ data.hidden = options.hidden === undefined ? data.hidden : options.hidden;
9
+ data.multiline = options.multiline === undefined ? data.multiline : options.multiline;
10
+ }
11
+ return data;
12
+ };
13
+ export const mapOption = (option) => {
14
+ return newBalOption({
15
+ value: option.value,
16
+ label: option.label,
17
+ }, option);
18
+ };
19
+ export class DropdownOptionUtil {
20
+ connectedCallback(component) {
21
+ this.component = component;
22
+ this.optionChanged();
23
+ }
24
+ async componentWillRender() {
25
+ if (this.component.listEl) {
26
+ this.component.nativeOptions = await this.component.listEl.getValues();
27
+ }
28
+ }
29
+ hasPropOptions() {
30
+ return this.component.options && this.component.options.length > 0;
31
+ }
32
+ async optionChanged() {
33
+ this.component.rawOptions = this.component.options.map(mapOption);
34
+ await this.component.valueUtil.updateInputContent();
35
+ }
36
+ async listenToOptionChange(_ev) {
37
+ var _a;
38
+ const newSelectedValues = (await ((_a = this.component.listEl) === null || _a === void 0 ? void 0 : _a.getSelectedValues())) || [];
39
+ this.component.valueUtil.updateRawValueBySelection(newSelectedValues);
40
+ if (!this.component.multiple) {
41
+ this.component.popupUtil.collapseList();
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,45 @@
1
+ import { autoUpdate, computePosition, flip, shift } from "@floating-ui/dom";
2
+ export class DropdownPopupUtil {
3
+ constructor() {
4
+ this.updatePanelPosition = (referenceEl, floatingEl) => () => {
5
+ computePosition(referenceEl, floatingEl, {
6
+ placement: 'bottom-start',
7
+ middleware: [flip(), shift()],
8
+ }).then(({ x, y }) => {
9
+ Object.assign(floatingEl.style, {
10
+ left: `${x}px`,
11
+ top: `${y}px`,
12
+ });
13
+ });
14
+ };
15
+ }
16
+ connectedCallback(component) {
17
+ this.component = component;
18
+ }
19
+ toggleList() {
20
+ if (!this.component.valueUtil.isDisabled()) {
21
+ if (this.component.isExpanded) {
22
+ this.collapseList();
23
+ }
24
+ else {
25
+ this.expandList();
26
+ }
27
+ }
28
+ }
29
+ expandList() {
30
+ var _a;
31
+ if (this.component.panelEl) {
32
+ this.component.panelCleanup = autoUpdate(this.component.el, this.component.panelEl, this.updatePanelPosition(this.component.el, this.component.panelEl));
33
+ }
34
+ this.component.isExpanded = true;
35
+ (_a = this.component.listEl) === null || _a === void 0 ? void 0 : _a.focusFirst();
36
+ }
37
+ collapseList() {
38
+ var _a;
39
+ this.component.isExpanded = false;
40
+ (_a = this.component.listEl) === null || _a === void 0 ? void 0 : _a.resetFocus();
41
+ if (this.component.panelCleanup) {
42
+ this.component.panelCleanup();
43
+ }
44
+ }
45
+ }