@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
@@ -0,0 +1,882 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { h, Host, } from "@stencil/core";
3
+ import { isArrowDownKey, isArrowUpKey, isEnterKey, isEscapeKey, isSpaceKey, } from "@baloise/web-app-utils";
4
+ import { BEM } from "../../utils/bem";
5
+ import { Logger } from "../../utils/log";
6
+ import { stopEventBubbling } from "../../utils/form-input";
7
+ import { inheritAttributes } from "../../utils/attributes";
8
+ import { DropdownEventsUtil, DropdownFormSubmitUtil, DropdownOptionUtil, DropdownPopupUtil, DropdownValueUtil, DropdownOptionList, DropdownFocusUtil, DropdownIcon, DropdownNativeSelect, DropdownInput, DropdownValue, DropdownAutoFillUtil, } from "../../utils/dropdown";
9
+ import { ListenToConfig, defaultConfig, } from "../../utils/config";
10
+ import { defaultBalAriaForm } from "../../utils/form";
11
+ import { waitAfterIdleCallback } from "../../utils/helpers";
12
+ export class Dropdown {
13
+ constructor() {
14
+ this.inputId = `bal-dropdown-${balDropdownIds++}`;
15
+ this.inheritedAttributes = {};
16
+ this.initialValue = [];
17
+ this.nativeOptions = [];
18
+ this.valueUtil = new DropdownValueUtil();
19
+ this.eventsUtil = new DropdownEventsUtil();
20
+ this.popupUtil = new DropdownPopupUtil();
21
+ this.optionUtil = new DropdownOptionUtil();
22
+ this.formSubmitUtil = new DropdownFormSubmitUtil();
23
+ this.focusUtil = new DropdownFocusUtil();
24
+ this.autoFillUtil = new DropdownAutoFillUtil();
25
+ /**
26
+ * EVENT BINDING
27
+ * ------------------------------------------------------
28
+ */
29
+ this.handleAutoFill = async (ev) => {
30
+ this.log('(handleAutoFill)', ev, this.nativeEl.value);
31
+ this.autoFillUtil.handleAutoFill(ev);
32
+ };
33
+ this.handleKeyDown = (ev) => {
34
+ var _a, _b, _c, _d, _e;
35
+ if (ev && ev.key) {
36
+ if (this.isExpanded) {
37
+ /**
38
+ * ⬇️ Arrow up key
39
+ */
40
+ if (isArrowDownKey(ev)) {
41
+ stopEventBubbling(ev);
42
+ (_a = this.listEl) === null || _a === void 0 ? void 0 : _a.focusNext();
43
+ /**
44
+ * ⬆️ Arrow up key
45
+ */
46
+ }
47
+ else if (isArrowUpKey(ev)) {
48
+ stopEventBubbling(ev);
49
+ (_b = this.listEl) === null || _b === void 0 ? void 0 : _b.focusPrevious();
50
+ /**
51
+ * Go to top of the list
52
+ */
53
+ }
54
+ else if (ev.key === 'Home' || ev.key === 'PageUp') {
55
+ stopEventBubbling(ev);
56
+ (_c = this.listEl) === null || _c === void 0 ? void 0 : _c.focusFirst();
57
+ /**
58
+ * Go to bottom of the list
59
+ */
60
+ }
61
+ else if (ev.key === 'End' || ev.key === 'PageDown') {
62
+ stopEventBubbling(ev);
63
+ (_d = this.listEl) === null || _d === void 0 ? void 0 : _d.focusLast();
64
+ /**
65
+ * Select focused option
66
+ */
67
+ }
68
+ else if (isEnterKey(ev)) {
69
+ stopEventBubbling(ev);
70
+ (_e = this.listEl) === null || _e === void 0 ? void 0 : _e.selectByFocus();
71
+ /**
72
+ * Close list
73
+ */
74
+ }
75
+ else if (ev.key === 'Tab' || isEscapeKey(ev)) {
76
+ this.popupUtil.collapseList();
77
+ /**
78
+ * Focus on label
79
+ */
80
+ }
81
+ else if (ev.key.length === 1) {
82
+ this.focusUtil.focusOptionByLabel(ev.key);
83
+ }
84
+ }
85
+ else {
86
+ /**
87
+ * Open list
88
+ */
89
+ if (isEnterKey(ev) || isSpaceKey(ev)) {
90
+ stopEventBubbling(ev);
91
+ this.popupUtil.expandList();
92
+ /**
93
+ * Focus on label
94
+ */
95
+ }
96
+ else if (ev.key.length === 1) {
97
+ this.focusUtil.focusOptionByLabel(ev.key, { select: true });
98
+ }
99
+ }
100
+ }
101
+ else {
102
+ // Close the popup on autofill
103
+ if (this.isExpanded) {
104
+ this.popupUtil.collapseList();
105
+ }
106
+ }
107
+ };
108
+ this.rawOptions = [];
109
+ this.choices = [];
110
+ this.rawValue = [];
111
+ this.hasFocus = false;
112
+ this.isExpanded = false;
113
+ this.isAutoFilled = false;
114
+ this.inputLabel = '';
115
+ this.ariaForm = defaultBalAriaForm;
116
+ this.language = defaultConfig.language;
117
+ this.region = defaultConfig.region;
118
+ this.httpFormSubmit = defaultConfig.httpFormSubmit;
119
+ this.labelToFocus = '';
120
+ this.autocomplete = 'off';
121
+ this.name = this.inputId;
122
+ this.placeholder = '';
123
+ this.icon = 'caret-down';
124
+ this.disabled = false;
125
+ this.readonly = false;
126
+ this.multiple = false;
127
+ this.chips = false;
128
+ this.clearable = false;
129
+ this.invalid = false;
130
+ this.required = false;
131
+ this.loading = false;
132
+ this.filter = 'includes';
133
+ this.contentHeight = 262;
134
+ this.inverted = false;
135
+ this.options = [];
136
+ this.value = [];
137
+ }
138
+ createLogger(log) {
139
+ this.log = log;
140
+ }
141
+ async optionChanged() {
142
+ this.optionUtil.optionChanged();
143
+ }
144
+ valueChanged(newValue, oldValue) {
145
+ this.valueUtil.valueChanged(newValue, oldValue);
146
+ }
147
+ /**
148
+ * LIFECYCLE
149
+ * ------------------------------------------------------
150
+ */
151
+ connectedCallback() {
152
+ this.eventsUtil.connectedCallback(this);
153
+ this.valueUtil.connectedCallback(this);
154
+ this.popupUtil.connectedCallback(this);
155
+ this.optionUtil.connectedCallback(this);
156
+ this.formSubmitUtil.connectedCallback(this);
157
+ this.focusUtil.connectedCallback(this);
158
+ this.autoFillUtil.connectedCallback(this);
159
+ }
160
+ async componentWillRender() {
161
+ this.inheritedAttributes = inheritAttributes(this.el, ['tabindex']);
162
+ await this.optionUtil.componentWillRender();
163
+ }
164
+ componentDidRender() {
165
+ this.formSubmitUtil.componentDidRender();
166
+ }
167
+ componentDidLoad() {
168
+ this.valueUtil.componentDidLoad();
169
+ }
170
+ /**
171
+ * LISTENERS
172
+ * ------------------------------------------------------
173
+ */
174
+ /**
175
+ * @internal define config for the component
176
+ */
177
+ async configChanged(state) {
178
+ this.language = state.language;
179
+ this.region = state.region;
180
+ this.httpFormSubmit = state.httpFormSubmit;
181
+ }
182
+ async listenToOptionChange(ev) {
183
+ this.optionUtil.listenToOptionChange(ev);
184
+ }
185
+ listenOnClickOutside(ev) {
186
+ this.eventsUtil.handleOutsideClick(ev);
187
+ }
188
+ resetHandler(ev) {
189
+ this.formSubmitUtil.handle(ev);
190
+ }
191
+ /**
192
+ * PUBLIC METHODS
193
+ * ------------------------------------------------------
194
+ */
195
+ /**
196
+ * Sets the focus on the input element
197
+ */
198
+ async setFocus() {
199
+ if (this.nativeEl && !this.valueUtil.isDisabled()) {
200
+ await waitAfterIdleCallback();
201
+ this.nativeEl.focus();
202
+ }
203
+ }
204
+ /**
205
+ * Returns the value of the component
206
+ */
207
+ async getValue() {
208
+ return this.rawValue;
209
+ }
210
+ /**
211
+ * Sets the value to `[]`, the input value to ´''´ and the focus index to ´0´.
212
+ */
213
+ async clear() {
214
+ this.valueUtil.updateRawValueBySelection([]);
215
+ }
216
+ /**
217
+ * Opens the popup with option list
218
+ */
219
+ async open() {
220
+ if (!this.valueUtil.isDisabled() && this.panelEl) {
221
+ await this.popupUtil.expandList();
222
+ }
223
+ }
224
+ /**
225
+ * Closes the popup with option list
226
+ */
227
+ async close() {
228
+ if (!this.valueUtil.isDisabled() && this.panelEl) {
229
+ await this.popupUtil.collapseList();
230
+ }
231
+ }
232
+ /**
233
+ * Select option by passed value
234
+ */
235
+ async select(newValue) {
236
+ const parsedNewValue = this.valueUtil.parseValueString(newValue);
237
+ this.valueUtil.updateRawValueBySelection(parsedNewValue);
238
+ }
239
+ /**
240
+ * @internal
241
+ */
242
+ async setAriaForm(ariaForm) {
243
+ this.ariaForm = Object.assign({}, ariaForm);
244
+ }
245
+ /**
246
+ * RENDER
247
+ * ------------------------------------------------------
248
+ */
249
+ render() {
250
+ const block = BEM.block('dropdown');
251
+ return (h(Host, { class: Object.assign({}, block.class()), tabindex: "-1", id: `${this.inputId}` }, h("div", { class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.element('root').class()), block.element('root').modifier('focused').class(this.hasFocus)), block.element('root').modifier('invalid').class(this.invalid)), block.element('root').modifier('disabled').class(this.valueUtil.isDisabled())), block.element('root').modifier('autofill').class(this.isAutoFilled)), "data-test": "bal-dropdown-trigger", onClick: ev => this.eventsUtil.handleClick(ev) }, h("span", { class: Object.assign(Object.assign(Object.assign({}, block.element('root').element('content').class()), block.element('root').element('content').modifier('disabled').class(this.valueUtil.isDisabled())), block.element('root').element('content').modifier('placeholder').class(!this.valueUtil.isFilled())) }, h(DropdownValue, { filled: this.valueUtil.isFilled(), chips: this.chips, placeholder: this.placeholder, choices: this.choices, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, onRemoveChip: option => this.valueUtil.removeOption(option) })), h(DropdownInput, { name: this.name, inputId: this.inputId, httpFormSubmit: this.httpFormSubmit, ariaForm: this.ariaForm, rawValue: this.rawValue, autocomplete: this.autocomplete, required: this.required, disabled: this.disabled, readonly: this.readonly, placeholder: this.placeholder, expanded: this.isExpanded, invalid: this.invalid, language: this.language, inputLabel: this.inputLabel, inheritedAttributes: this.inheritedAttributes, refInputEl: el => (this.nativeEl = el), onChange: ev => this.handleAutoFill(ev), onFocus: ev => this.eventsUtil.handleFocus(ev), onBlur: ev => this.eventsUtil.handleBlur(ev), onKeyDown: ev => this.handleKeyDown(ev) }), h(DropdownNativeSelect, { name: this.name, httpFormSubmit: this.httpFormSubmit, multiple: this.multiple, required: this.required, disabled: this.valueUtil.isDisabled(), rawValue: this.rawValue, refSelectEl: el => (this.selectEl = el) }), h(DropdownIcon, { icon: this.icon, language: this.language, loading: this.loading, clearable: this.clearable, invalid: this.invalid, expanded: this.isExpanded, filled: this.valueUtil.isFilled(), disabled: this.valueUtil.isDisabled() })), h(DropdownOptionList, { inputId: this.inputId, block: this.inputId, filter: this.filter, required: this.required, isExpanded: this.isExpanded, isDisabled: this.valueUtil.isDisabled(), hasPropOptions: this.optionUtil.hasPropOptions(), multiple: this.multiple, contentHeight: this.contentHeight, rawOptions: this.rawOptions, refPanelEl: el => (this.panelEl = el), refListEl: el => (this.listEl = el) }, h("slot", null))));
252
+ }
253
+ static get is() { return "bal-dropdown"; }
254
+ static get originalStyleUrls() {
255
+ return {
256
+ "$": ["bal-dropdown.sass"]
257
+ };
258
+ }
259
+ static get styleUrls() {
260
+ return {
261
+ "$": ["bal-dropdown.css"]
262
+ };
263
+ }
264
+ static get properties() {
265
+ return {
266
+ "autocomplete": {
267
+ "type": "string",
268
+ "mutable": false,
269
+ "complexType": {
270
+ "original": "BalProps.BalInputAutocomplete",
271
+ "resolved": "\"on\" | \"off\" | \"tel\" | \"url\" | \"email\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
272
+ "references": {
273
+ "BalProps": {
274
+ "location": "global",
275
+ "id": "global::BalProps"
276
+ }
277
+ }
278
+ },
279
+ "required": false,
280
+ "optional": false,
281
+ "docs": {
282
+ "tags": [],
283
+ "text": "Indicates whether the value of the control can be automatically completed by the browser."
284
+ },
285
+ "attribute": "autocomplete",
286
+ "reflect": false,
287
+ "defaultValue": "'off'"
288
+ },
289
+ "name": {
290
+ "type": "string",
291
+ "mutable": false,
292
+ "complexType": {
293
+ "original": "string",
294
+ "resolved": "string",
295
+ "references": {}
296
+ },
297
+ "required": false,
298
+ "optional": false,
299
+ "docs": {
300
+ "tags": [],
301
+ "text": "The name of the control, which is submitted with the form data."
302
+ },
303
+ "attribute": "name",
304
+ "reflect": false,
305
+ "defaultValue": "this.inputId"
306
+ },
307
+ "placeholder": {
308
+ "type": "string",
309
+ "mutable": false,
310
+ "complexType": {
311
+ "original": "string",
312
+ "resolved": "string",
313
+ "references": {}
314
+ },
315
+ "required": false,
316
+ "optional": false,
317
+ "docs": {
318
+ "tags": [],
319
+ "text": "Defines the placeholder of the component. Only shown when the value is empty"
320
+ },
321
+ "attribute": "placeholder",
322
+ "reflect": false,
323
+ "defaultValue": "''"
324
+ },
325
+ "icon": {
326
+ "type": "string",
327
+ "mutable": false,
328
+ "complexType": {
329
+ "original": "string",
330
+ "resolved": "string",
331
+ "references": {}
332
+ },
333
+ "required": false,
334
+ "optional": false,
335
+ "docs": {
336
+ "tags": [],
337
+ "text": "If `true` there will be on trigger icon visible"
338
+ },
339
+ "attribute": "icon",
340
+ "reflect": false,
341
+ "defaultValue": "'caret-down'"
342
+ },
343
+ "disabled": {
344
+ "type": "boolean",
345
+ "mutable": false,
346
+ "complexType": {
347
+ "original": "boolean",
348
+ "resolved": "boolean",
349
+ "references": {}
350
+ },
351
+ "required": false,
352
+ "optional": false,
353
+ "docs": {
354
+ "tags": [],
355
+ "text": "If `true`, the user cannot interact with the option."
356
+ },
357
+ "attribute": "disabled",
358
+ "reflect": false,
359
+ "defaultValue": "false"
360
+ },
361
+ "readonly": {
362
+ "type": "boolean",
363
+ "mutable": false,
364
+ "complexType": {
365
+ "original": "boolean",
366
+ "resolved": "boolean",
367
+ "references": {}
368
+ },
369
+ "required": false,
370
+ "optional": false,
371
+ "docs": {
372
+ "tags": [],
373
+ "text": "If `true` the element can not mutated, meaning the user can not edit the control."
374
+ },
375
+ "attribute": "readonly",
376
+ "reflect": false,
377
+ "defaultValue": "false"
378
+ },
379
+ "multiple": {
380
+ "type": "boolean",
381
+ "mutable": false,
382
+ "complexType": {
383
+ "original": "boolean",
384
+ "resolved": "boolean",
385
+ "references": {}
386
+ },
387
+ "required": false,
388
+ "optional": false,
389
+ "docs": {
390
+ "tags": [],
391
+ "text": "If `true`, the user can select multiple options."
392
+ },
393
+ "attribute": "multiple",
394
+ "reflect": false,
395
+ "defaultValue": "false"
396
+ },
397
+ "chips": {
398
+ "type": "boolean",
399
+ "mutable": false,
400
+ "complexType": {
401
+ "original": "boolean",
402
+ "resolved": "boolean",
403
+ "references": {}
404
+ },
405
+ "required": false,
406
+ "optional": false,
407
+ "docs": {
408
+ "tags": [],
409
+ "text": "If `true`, the selected options are shown as chips"
410
+ },
411
+ "attribute": "chips",
412
+ "reflect": false,
413
+ "defaultValue": "false"
414
+ },
415
+ "clearable": {
416
+ "type": "boolean",
417
+ "mutable": false,
418
+ "complexType": {
419
+ "original": "boolean",
420
+ "resolved": "boolean",
421
+ "references": {}
422
+ },
423
+ "required": false,
424
+ "optional": false,
425
+ "docs": {
426
+ "tags": [],
427
+ "text": "If `true`, a cross at the end is visible to clear the selection"
428
+ },
429
+ "attribute": "clearable",
430
+ "reflect": false,
431
+ "defaultValue": "false"
432
+ },
433
+ "invalid": {
434
+ "type": "boolean",
435
+ "mutable": false,
436
+ "complexType": {
437
+ "original": "boolean",
438
+ "resolved": "boolean",
439
+ "references": {}
440
+ },
441
+ "required": false,
442
+ "optional": false,
443
+ "docs": {
444
+ "tags": [],
445
+ "text": "If `true`, the component will be shown as invalid"
446
+ },
447
+ "attribute": "invalid",
448
+ "reflect": false,
449
+ "defaultValue": "false"
450
+ },
451
+ "required": {
452
+ "type": "boolean",
453
+ "mutable": false,
454
+ "complexType": {
455
+ "original": "boolean",
456
+ "resolved": "boolean",
457
+ "references": {}
458
+ },
459
+ "required": false,
460
+ "optional": false,
461
+ "docs": {
462
+ "tags": [],
463
+ "text": "If `true`, the user must fill in a value before submitting a form."
464
+ },
465
+ "attribute": "required",
466
+ "reflect": false,
467
+ "defaultValue": "false"
468
+ },
469
+ "loading": {
470
+ "type": "boolean",
471
+ "mutable": false,
472
+ "complexType": {
473
+ "original": "boolean",
474
+ "resolved": "boolean",
475
+ "references": {}
476
+ },
477
+ "required": false,
478
+ "optional": false,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": "Defines if the select is in a loading state."
482
+ },
483
+ "attribute": "loading",
484
+ "reflect": false,
485
+ "defaultValue": "false"
486
+ },
487
+ "filter": {
488
+ "type": "string",
489
+ "mutable": false,
490
+ "complexType": {
491
+ "original": "BalProps.BalOptionListFilter",
492
+ "resolved": "\"includes\" | \"starts-with\"",
493
+ "references": {
494
+ "BalProps": {
495
+ "location": "global",
496
+ "id": "global::BalProps"
497
+ }
498
+ }
499
+ },
500
+ "required": false,
501
+ "optional": false,
502
+ "docs": {
503
+ "tags": [],
504
+ "text": "Defines the filter logic of the list"
505
+ },
506
+ "attribute": "filter",
507
+ "reflect": false,
508
+ "defaultValue": "'includes'"
509
+ },
510
+ "contentHeight": {
511
+ "type": "number",
512
+ "mutable": false,
513
+ "complexType": {
514
+ "original": "number",
515
+ "resolved": "number",
516
+ "references": {}
517
+ },
518
+ "required": false,
519
+ "optional": false,
520
+ "docs": {
521
+ "tags": [],
522
+ "text": "Defines the max height of the list element"
523
+ },
524
+ "attribute": "content-height",
525
+ "reflect": false,
526
+ "defaultValue": "262"
527
+ },
528
+ "inverted": {
529
+ "type": "boolean",
530
+ "mutable": false,
531
+ "complexType": {
532
+ "original": "boolean",
533
+ "resolved": "boolean",
534
+ "references": {}
535
+ },
536
+ "required": false,
537
+ "optional": false,
538
+ "docs": {
539
+ "tags": [{
540
+ "name": "internal",
541
+ "text": "Set this to `true` when the component is placed on a dark background."
542
+ }],
543
+ "text": ""
544
+ },
545
+ "attribute": "inverted",
546
+ "reflect": false,
547
+ "defaultValue": "false"
548
+ },
549
+ "options": {
550
+ "type": "unknown",
551
+ "mutable": false,
552
+ "complexType": {
553
+ "original": "BalOption[]",
554
+ "resolved": "BalOption[]",
555
+ "references": {
556
+ "BalOption": {
557
+ "location": "import",
558
+ "path": "../../utils/dropdown",
559
+ "id": "src/utils/dropdown/index.ts::BalOption"
560
+ }
561
+ }
562
+ },
563
+ "required": false,
564
+ "optional": false,
565
+ "docs": {
566
+ "tags": [],
567
+ "text": "Steps can be passed as a property or through HTML markup."
568
+ },
569
+ "defaultValue": "[]"
570
+ },
571
+ "value": {
572
+ "type": "string",
573
+ "mutable": false,
574
+ "complexType": {
575
+ "original": "string | string[]",
576
+ "resolved": "string | string[]",
577
+ "references": {}
578
+ },
579
+ "required": false,
580
+ "optional": true,
581
+ "docs": {
582
+ "tags": [],
583
+ "text": "The value of the selected options."
584
+ },
585
+ "attribute": "value",
586
+ "reflect": false,
587
+ "defaultValue": "[]"
588
+ }
589
+ };
590
+ }
591
+ static get states() {
592
+ return {
593
+ "rawOptions": {},
594
+ "choices": {},
595
+ "rawValue": {},
596
+ "hasFocus": {},
597
+ "isExpanded": {},
598
+ "isAutoFilled": {},
599
+ "inputLabel": {},
600
+ "ariaForm": {},
601
+ "language": {},
602
+ "region": {},
603
+ "httpFormSubmit": {},
604
+ "labelToFocus": {}
605
+ };
606
+ }
607
+ static get events() {
608
+ return [{
609
+ "method": "balChange",
610
+ "name": "balChange",
611
+ "bubbles": true,
612
+ "cancelable": true,
613
+ "composed": true,
614
+ "docs": {
615
+ "tags": [],
616
+ "text": "Emitted when a option got selected."
617
+ },
618
+ "complexType": {
619
+ "original": "BalEvents.BalDropdownChangeDetail",
620
+ "resolved": "string | string[]",
621
+ "references": {
622
+ "BalEvents": {
623
+ "location": "global",
624
+ "id": "global::BalEvents"
625
+ }
626
+ }
627
+ }
628
+ }, {
629
+ "method": "balFocus",
630
+ "name": "balFocus",
631
+ "bubbles": true,
632
+ "cancelable": true,
633
+ "composed": true,
634
+ "docs": {
635
+ "tags": [],
636
+ "text": "Emitted when the input has focus."
637
+ },
638
+ "complexType": {
639
+ "original": "BalEvents.BalDropdownFocusDetail",
640
+ "resolved": "FocusEvent",
641
+ "references": {
642
+ "BalEvents": {
643
+ "location": "global",
644
+ "id": "global::BalEvents"
645
+ }
646
+ }
647
+ }
648
+ }, {
649
+ "method": "balBlur",
650
+ "name": "balBlur",
651
+ "bubbles": true,
652
+ "cancelable": true,
653
+ "composed": true,
654
+ "docs": {
655
+ "tags": [],
656
+ "text": "Emitted when the input loses focus."
657
+ },
658
+ "complexType": {
659
+ "original": "BalEvents.BalDropdownBlurDetail",
660
+ "resolved": "FocusEvent",
661
+ "references": {
662
+ "BalEvents": {
663
+ "location": "global",
664
+ "id": "global::BalEvents"
665
+ }
666
+ }
667
+ }
668
+ }];
669
+ }
670
+ static get methods() {
671
+ return {
672
+ "configChanged": {
673
+ "complexType": {
674
+ "signature": "(state: BalConfigState) => Promise<void>",
675
+ "parameters": [{
676
+ "name": "state",
677
+ "type": "BalConfigState",
678
+ "docs": ""
679
+ }],
680
+ "references": {
681
+ "Promise": {
682
+ "location": "global",
683
+ "id": "global::Promise"
684
+ },
685
+ "BalConfigState": {
686
+ "location": "import",
687
+ "path": "../../utils/config",
688
+ "id": "src/utils/config/index.ts::BalConfigState"
689
+ }
690
+ },
691
+ "return": "Promise<void>"
692
+ },
693
+ "docs": {
694
+ "text": "",
695
+ "tags": [{
696
+ "name": "internal",
697
+ "text": "define config for the component"
698
+ }]
699
+ }
700
+ },
701
+ "setFocus": {
702
+ "complexType": {
703
+ "signature": "() => Promise<void>",
704
+ "parameters": [],
705
+ "references": {
706
+ "Promise": {
707
+ "location": "global",
708
+ "id": "global::Promise"
709
+ }
710
+ },
711
+ "return": "Promise<void>"
712
+ },
713
+ "docs": {
714
+ "text": "Sets the focus on the input element",
715
+ "tags": []
716
+ }
717
+ },
718
+ "getValue": {
719
+ "complexType": {
720
+ "signature": "() => Promise<string[]>",
721
+ "parameters": [],
722
+ "references": {
723
+ "Promise": {
724
+ "location": "global",
725
+ "id": "global::Promise"
726
+ }
727
+ },
728
+ "return": "Promise<string[]>"
729
+ },
730
+ "docs": {
731
+ "text": "Returns the value of the component",
732
+ "tags": []
733
+ }
734
+ },
735
+ "clear": {
736
+ "complexType": {
737
+ "signature": "() => Promise<void>",
738
+ "parameters": [],
739
+ "references": {
740
+ "Promise": {
741
+ "location": "global",
742
+ "id": "global::Promise"
743
+ }
744
+ },
745
+ "return": "Promise<void>"
746
+ },
747
+ "docs": {
748
+ "text": "Sets the value to `[]`, the input value to \u00B4''\u00B4 and the focus index to \u00B40\u00B4.",
749
+ "tags": []
750
+ }
751
+ },
752
+ "open": {
753
+ "complexType": {
754
+ "signature": "() => Promise<void>",
755
+ "parameters": [],
756
+ "references": {
757
+ "Promise": {
758
+ "location": "global",
759
+ "id": "global::Promise"
760
+ }
761
+ },
762
+ "return": "Promise<void>"
763
+ },
764
+ "docs": {
765
+ "text": "Opens the popup with option list",
766
+ "tags": []
767
+ }
768
+ },
769
+ "close": {
770
+ "complexType": {
771
+ "signature": "() => Promise<void>",
772
+ "parameters": [],
773
+ "references": {
774
+ "Promise": {
775
+ "location": "global",
776
+ "id": "global::Promise"
777
+ }
778
+ },
779
+ "return": "Promise<void>"
780
+ },
781
+ "docs": {
782
+ "text": "Closes the popup with option list",
783
+ "tags": []
784
+ }
785
+ },
786
+ "select": {
787
+ "complexType": {
788
+ "signature": "(newValue: string | string[]) => Promise<void>",
789
+ "parameters": [{
790
+ "name": "newValue",
791
+ "type": "string | string[]",
792
+ "docs": ""
793
+ }],
794
+ "references": {
795
+ "Promise": {
796
+ "location": "global",
797
+ "id": "global::Promise"
798
+ }
799
+ },
800
+ "return": "Promise<void>"
801
+ },
802
+ "docs": {
803
+ "text": "Select option by passed value",
804
+ "tags": []
805
+ }
806
+ },
807
+ "setAriaForm": {
808
+ "complexType": {
809
+ "signature": "(ariaForm: BalAriaForm) => Promise<void>",
810
+ "parameters": [{
811
+ "name": "ariaForm",
812
+ "type": "BalAriaForm",
813
+ "docs": ""
814
+ }],
815
+ "references": {
816
+ "Promise": {
817
+ "location": "global",
818
+ "id": "global::Promise"
819
+ },
820
+ "BalAriaForm": {
821
+ "location": "import",
822
+ "path": "../../utils/form",
823
+ "id": "src/utils/form.ts::BalAriaForm"
824
+ }
825
+ },
826
+ "return": "Promise<void>"
827
+ },
828
+ "docs": {
829
+ "text": "",
830
+ "tags": [{
831
+ "name": "internal",
832
+ "text": undefined
833
+ }]
834
+ }
835
+ }
836
+ };
837
+ }
838
+ static get elementRef() { return "el"; }
839
+ static get watchers() {
840
+ return [{
841
+ "propName": "options",
842
+ "methodName": "optionChanged"
843
+ }, {
844
+ "propName": "value",
845
+ "methodName": "valueChanged"
846
+ }];
847
+ }
848
+ static get listeners() {
849
+ return [{
850
+ "name": "balOptionChange",
851
+ "method": "listenToOptionChange",
852
+ "target": undefined,
853
+ "capture": false,
854
+ "passive": false
855
+ }, {
856
+ "name": "click",
857
+ "method": "listenOnClickOutside",
858
+ "target": "document",
859
+ "capture": false,
860
+ "passive": false
861
+ }, {
862
+ "name": "reset",
863
+ "method": "resetHandler",
864
+ "target": "document",
865
+ "capture": true,
866
+ "passive": false
867
+ }];
868
+ }
869
+ }
870
+ __decorate([
871
+ Logger('bal-dropdown'),
872
+ __metadata("design:type", Function),
873
+ __metadata("design:paramtypes", [Function]),
874
+ __metadata("design:returntype", void 0)
875
+ ], Dropdown.prototype, "createLogger", null);
876
+ __decorate([
877
+ ListenToConfig(),
878
+ __metadata("design:type", Function),
879
+ __metadata("design:paramtypes", [Object]),
880
+ __metadata("design:returntype", Promise)
881
+ ], Dropdown.prototype, "configChanged", null);
882
+ let balDropdownIds = 0;