@otto-de/b2b-core-components 1.30.0 → 1.31.1

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 (474) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/p-00666ca7.entry.js +1 -0
  3. package/dist/b2b-core-components/p-0a63f5f8.entry.js +1 -0
  4. package/dist/b2b-core-components/{p-9cfba835.entry.js → p-0bf05f33.entry.js} +1 -1
  5. package/dist/b2b-core-components/{p-68e07419.entry.js → p-0edac105.entry.js} +1 -1
  6. package/dist/b2b-core-components/p-0ffc90ee.entry.js +1 -0
  7. package/dist/b2b-core-components/p-168c8684.entry.js +1 -0
  8. package/dist/b2b-core-components/p-19392020.js +1 -0
  9. package/dist/b2b-core-components/p-1a908833.entry.js +1 -0
  10. package/dist/b2b-core-components/{p-a37d6cea.entry.js → p-1dff8b34.entry.js} +1 -1
  11. package/dist/b2b-core-components/p-2d5df8f7.entry.js +1 -0
  12. package/dist/b2b-core-components/p-2dc0c5c0.entry.js +1 -0
  13. package/dist/b2b-core-components/p-318eb15e.entry.js +1 -0
  14. package/dist/b2b-core-components/p-33c01bb2.entry.js +1 -0
  15. package/dist/b2b-core-components/p-375cefbd.entry.js +1 -0
  16. package/dist/b2b-core-components/p-383d0a10.entry.js +1 -0
  17. package/dist/b2b-core-components/{p-08577a40.entry.js → p-400fa973.entry.js} +1 -1
  18. package/dist/b2b-core-components/p-413729d1.entry.js +1 -0
  19. package/dist/b2b-core-components/p-4528e98c.entry.js +1 -0
  20. package/dist/b2b-core-components/p-49bafb74.entry.js +1 -0
  21. package/dist/b2b-core-components/{p-745ad406.entry.js → p-4bc0ec9a.entry.js} +1 -1
  22. package/dist/b2b-core-components/p-564c62d0.entry.js +1 -0
  23. package/dist/b2b-core-components/{p-6040dca2.entry.js → p-6025d667.entry.js} +1 -1
  24. package/dist/b2b-core-components/p-61b2a6ad.js +1 -0
  25. package/dist/b2b-core-components/{p-54d478b6.entry.js → p-661d0249.entry.js} +1 -1
  26. package/dist/b2b-core-components/p-6dd7fd7b.entry.js +1 -0
  27. package/dist/b2b-core-components/p-6ff5114b.entry.js +1 -0
  28. package/dist/b2b-core-components/p-742a18f1.entry.js +1 -0
  29. package/dist/b2b-core-components/{p-23acc468.entry.js → p-781611fb.entry.js} +1 -1
  30. package/dist/b2b-core-components/{p-0847e62e.entry.js → p-7bb6f06e.entry.js} +1 -1
  31. package/dist/b2b-core-components/p-7dd8f3cb.entry.js +1 -0
  32. package/dist/b2b-core-components/p-815d7a53.entry.js +1 -0
  33. package/dist/b2b-core-components/{p-5063e5b7.entry.js → p-850c8e01.entry.js} +1 -1
  34. package/dist/b2b-core-components/{p-e8b1fee4.entry.js → p-86ff8e6c.entry.js} +1 -1
  35. package/dist/b2b-core-components/{p-552f43c1.entry.js → p-9819f622.entry.js} +1 -1
  36. package/dist/b2b-core-components/{p-ccf78e23.entry.js → p-9dde1af0.entry.js} +1 -1
  37. package/dist/b2b-core-components/{p-24c94653.entry.js → p-9f88b476.entry.js} +1 -1
  38. package/dist/b2b-core-components/p-a155219a.entry.js +1 -0
  39. package/dist/b2b-core-components/p-a96c8ba0.entry.js +1 -0
  40. package/dist/b2b-core-components/p-b33059ab.entry.js +1 -0
  41. package/dist/b2b-core-components/p-b5fdf7df.entry.js +1 -0
  42. package/dist/b2b-core-components/p-b6a753e8.js +2 -0
  43. package/dist/b2b-core-components/p-bba0b41b.entry.js +1 -0
  44. package/dist/b2b-core-components/p-be93498d.entry.js +1 -0
  45. package/dist/b2b-core-components/p-bfbe4aff.entry.js +1 -0
  46. package/dist/b2b-core-components/p-c597637e.entry.js +1 -0
  47. package/dist/b2b-core-components/{p-eb01bb4f.entry.js → p-c67bcebc.entry.js} +1 -1
  48. package/dist/b2b-core-components/p-cb4cc427.entry.js +1 -0
  49. package/dist/b2b-core-components/{p-a63dfd99.entry.js → p-d1c8105b.entry.js} +1 -1
  50. package/dist/b2b-core-components/{p-2f9efe3f.entry.js → p-d26ec403.entry.js} +1 -1
  51. package/dist/b2b-core-components/p-d3204d75.entry.js +1 -0
  52. package/dist/b2b-core-components/p-d6457a1d.entry.js +1 -0
  53. package/dist/b2b-core-components/p-db205434.entry.js +1 -0
  54. package/dist/b2b-core-components/p-e1255160.js +1 -0
  55. package/dist/b2b-core-components/p-e520c7cf.entry.js +1 -0
  56. package/dist/b2b-core-components/p-f2fdce36.entry.js +1 -0
  57. package/dist/b2b-core-components/p-f5786cad.entry.js +1 -0
  58. package/dist/b2b-core-components/{p-58fb3508.entry.js → p-f5e9dbf4.entry.js} +1 -1
  59. package/dist/b2b-core-components/p-f9e278da.entry.js +1 -0
  60. package/dist/b2b-core-components/p-fa85955c.entry.js +1 -0
  61. package/dist/b2b-core-components/{p-eb78706f.entry.js → p-fae54521.entry.js} +1 -1
  62. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  63. package/dist/cjs/b2b-alert.cjs.entry.js +13 -15
  64. package/dist/cjs/b2b-anchor.cjs.entry.js +8 -10
  65. package/dist/cjs/b2b-background-box.cjs.entry.js +7 -10
  66. package/dist/cjs/b2b-breadcrumb-item.cjs.entry.js +10 -8
  67. package/dist/cjs/b2b-breadcrumb.cjs.entry.js +10 -9
  68. package/dist/cjs/b2b-button_2.cjs.entry.js +20 -25
  69. package/dist/cjs/b2b-card.cjs.entry.js +8 -8
  70. package/dist/cjs/b2b-checkbox-group.cjs.entry.js +15 -13
  71. package/dist/cjs/b2b-checkbox.cjs.entry.js +22 -19
  72. package/dist/cjs/b2b-chip-component_2.cjs.entry.js +24 -20
  73. package/dist/cjs/b2b-core-components.cjs.js +14 -13
  74. package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +50 -40
  75. package/dist/cjs/b2b-date-picker.cjs.entry.js +37 -36
  76. package/dist/cjs/b2b-dropdown.cjs.entry.js +26 -24
  77. package/dist/cjs/b2b-flyout-menu-option.cjs.entry.js +10 -8
  78. package/dist/cjs/b2b-flyout-menu.cjs.entry.js +9 -7
  79. package/dist/cjs/b2b-grid-col.cjs.entry.js +6 -4
  80. package/dist/cjs/b2b-grid-row.cjs.entry.js +5 -7
  81. package/dist/cjs/b2b-grid.cjs.entry.js +6 -4
  82. package/dist/cjs/b2b-headline.cjs.entry.js +5 -5
  83. package/dist/cjs/b2b-icon-100.cjs.entry.js +12 -12
  84. package/dist/cjs/b2b-icon-50.cjs.entry.js +10 -9
  85. package/dist/cjs/b2b-icon.cjs.entry.js +12 -12
  86. package/dist/cjs/b2b-input-group_2.cjs.entry.js +24 -24
  87. package/dist/cjs/b2b-input-label.cjs.entry.js +7 -6
  88. package/dist/cjs/b2b-input_2.cjs.entry.js +33 -33
  89. package/dist/cjs/b2b-label.cjs.entry.js +7 -5
  90. package/dist/cjs/b2b-modal.cjs.entry.js +16 -18
  91. package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +27 -24
  92. package/dist/cjs/b2b-pagination.cjs.entry.js +12 -13
  93. package/dist/cjs/b2b-paragraph.cjs.entry.js +7 -10
  94. package/dist/cjs/b2b-progress-bar.cjs.entry.js +12 -9
  95. package/dist/cjs/b2b-radio-button.cjs.entry.js +19 -15
  96. package/dist/cjs/b2b-radio-group.cjs.entry.js +17 -13
  97. package/dist/cjs/b2b-required-separator.cjs.entry.js +6 -4
  98. package/dist/cjs/b2b-rounded-icon.cjs.entry.js +10 -12
  99. package/dist/cjs/b2b-scrollable-container.cjs.entry.js +6 -3
  100. package/dist/cjs/b2b-search.cjs.entry.js +10 -9
  101. package/dist/cjs/b2b-separator.cjs.entry.js +6 -4
  102. package/dist/cjs/b2b-shimmer.cjs.entry.js +9 -3
  103. package/dist/cjs/b2b-snackbar.cjs.entry.js +19 -18
  104. package/dist/cjs/b2b-tab-group.cjs.entry.js +6 -6
  105. package/dist/cjs/b2b-tab-panel.cjs.entry.js +6 -3
  106. package/dist/cjs/b2b-tab.cjs.entry.js +8 -8
  107. package/dist/cjs/b2b-table-cell_2.cjs.entry.js +30 -37
  108. package/dist/cjs/b2b-table-row.cjs.entry.js +19 -17
  109. package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +16 -23
  110. package/dist/cjs/b2b-table.cjs.entry.js +10 -13
  111. package/dist/cjs/b2b-textarea.cjs.entry.js +23 -17
  112. package/dist/cjs/b2b-toggle-button.cjs.entry.js +14 -10
  113. package/dist/cjs/b2b-toggle-chip.cjs.entry.js +14 -10
  114. package/dist/cjs/b2b-toggle-group.cjs.entry.js +11 -7
  115. package/dist/cjs/b2b-toggle-switch.cjs.entry.js +15 -13
  116. package/dist/cjs/b2b-tooltip.cjs.entry.js +12 -11
  117. package/dist/cjs/b2b-wizard-icon.cjs.entry.js +9 -8
  118. package/dist/cjs/b2b-wizard-step.cjs.entry.js +8 -9
  119. package/dist/cjs/b2b-wizard.cjs.entry.js +10 -12
  120. package/dist/cjs/index-668808fd.js +2516 -0
  121. package/dist/cjs/loader.cjs.js +6 -3
  122. package/dist/cjs/{request-Dwsj-gbA.js → request-801c6ba1.js} +0 -2
  123. package/dist/cjs/{utils--ZrBSHVe.js → utils-499e9db5.js} +9 -2
  124. package/dist/collection/collection-manifest.json +2 -2
  125. package/dist/collection/components/alert/alert.e2e.js +67 -0
  126. package/dist/collection/components/alert/alert.js +12 -27
  127. package/dist/collection/components/anchor/anchor.js +9 -26
  128. package/dist/collection/components/anchor/anchor.spec.js +68 -0
  129. package/dist/collection/components/background-box/background-box.e2e.js +63 -0
  130. package/dist/collection/components/background-box/background-box.js +8 -26
  131. package/dist/collection/components/background-box/background-box.spec.js +64 -0
  132. package/dist/collection/components/breadcrumb/breadcrumb-item.js +7 -14
  133. package/dist/collection/components/breadcrumb/breadcrumb.e2e.js +50 -0
  134. package/dist/collection/components/breadcrumb/breadcrumb.js +6 -12
  135. package/dist/collection/components/button/button.e2e.js +80 -0
  136. package/dist/collection/components/button/button.js +23 -52
  137. package/dist/collection/components/card/card.e2e.js +110 -0
  138. package/dist/collection/components/card/card.js +5 -14
  139. package/dist/collection/components/card/card.spec.js +32 -0
  140. package/dist/collection/components/checkbox/checkbox.e2e.js +38 -0
  141. package/dist/collection/components/checkbox/checkbox.js +26 -50
  142. package/dist/collection/components/checkbox/checkbox.spec.js +45 -0
  143. package/dist/collection/components/checkbox-group/checkbox-group.e2e.js +83 -0
  144. package/dist/collection/components/checkbox-group/checkbox-group.js +16 -31
  145. package/dist/collection/components/checkbox-group/checkbox-group.spec.js +38 -0
  146. package/dist/collection/components/chip/chip.e2e.js +99 -0
  147. package/dist/collection/components/chip/chip.js +17 -30
  148. package/dist/collection/components/date-picker/date-picker-days-header.js +3 -6
  149. package/dist/collection/components/date-picker/date-picker-days.js +20 -44
  150. package/dist/collection/components/date-picker/date-picker-header.e2e.js +38 -0
  151. package/dist/collection/components/date-picker/date-picker-header.js +10 -15
  152. package/dist/collection/components/date-picker/date-picker-months.e2e.js +39 -0
  153. package/dist/collection/components/date-picker/date-picker-months.js +5 -9
  154. package/dist/collection/components/date-picker/date-picker-years.e2e.js +39 -0
  155. package/dist/collection/components/date-picker/date-picker-years.js +4 -5
  156. package/dist/collection/components/date-picker/date-picker.e2e.js +137 -0
  157. package/dist/collection/components/date-picker/date-picker.js +44 -76
  158. package/dist/collection/components/dropdown/dropdown.e2e.js +89 -0
  159. package/dist/collection/components/dropdown/dropdown.js +27 -46
  160. package/dist/collection/components/dropdown/dropdown.spec.js +52 -0
  161. package/dist/collection/components/flyout-menu/flyout-menu-option.js +7 -14
  162. package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +97 -0
  163. package/dist/collection/components/flyout-menu/flyout-menu.js +5 -8
  164. package/dist/collection/components/grid/column.js +5 -9
  165. package/dist/collection/components/grid/grid.e2e.js +17 -0
  166. package/dist/collection/components/grid/grid.js +2 -5
  167. package/dist/collection/components/grid/row.js +6 -18
  168. package/dist/collection/components/headline/headline.e2e.js +13 -0
  169. package/dist/collection/components/headline/headline.js +3 -12
  170. package/dist/collection/components/headline/headline.spec.js +67 -0
  171. package/dist/collection/components/icon/icon.js +11 -24
  172. package/dist/collection/components/icon/icon.spec.js +21 -0
  173. package/dist/collection/components/icon-100/icon-100.e2e.js +40 -0
  174. package/dist/collection/components/icon-100/icon-100.js +11 -24
  175. package/dist/collection/components/icon-50/icon-50.e2e.js +32 -0
  176. package/dist/collection/components/icon-50/icon-50.js +8 -18
  177. package/dist/collection/components/input/input.e2e.js +84 -0
  178. package/dist/collection/components/input/input.js +33 -64
  179. package/dist/collection/components/input/input.spec.js +45 -0
  180. package/dist/collection/components/input-group/input-group.e2e.js +77 -0
  181. package/dist/collection/components/input-group/input-group.js +9 -17
  182. package/dist/collection/components/input-group/input-group.spec.js +56 -0
  183. package/dist/collection/components/input-label/input-label.e2e.js +10 -0
  184. package/dist/collection/components/input-label/input-label.js +4 -10
  185. package/dist/collection/components/input-list/input-list-option.js +3 -4
  186. package/dist/collection/components/input-list/input-list.e2e.js +242 -0
  187. package/dist/collection/components/input-list/input-list.js +17 -36
  188. package/dist/collection/components/label/label.e2e.js +17 -0
  189. package/dist/collection/components/label/label.js +3 -6
  190. package/dist/collection/components/label/label.spec.js +58 -0
  191. package/dist/collection/components/modal/modal.e2e.js +115 -0
  192. package/dist/collection/components/modal/modal.js +14 -29
  193. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.e2e.js +74 -0
  194. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +33 -57
  195. package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +8 -15
  196. package/dist/collection/components/pagination/pagination.e2e.js +257 -0
  197. package/dist/collection/components/pagination/pagination.js +10 -22
  198. package/dist/collection/components/pagination/pagination.spec.js +103 -0
  199. package/dist/collection/components/paragraph/paragraph.e2e.js +13 -0
  200. package/dist/collection/components/paragraph/paragraph.js +8 -26
  201. package/dist/collection/components/progress-bar/progress-bar.e2e.js +43 -0
  202. package/dist/collection/components/progress-bar/progress-bar.js +11 -19
  203. package/dist/collection/components/radio/radio.e2e.js +45 -0
  204. package/dist/collection/components/radio/radio.js +20 -37
  205. package/dist/collection/components/radio/radio.spec.js +38 -0
  206. package/dist/collection/components/radio-group/radio-group.e2e.js +86 -0
  207. package/dist/collection/components/radio-group/radio-group.js +19 -34
  208. package/dist/collection/components/radio-group/radio-group.spec.js +31 -0
  209. package/dist/collection/components/required-separator/required-separator.e2e.js +17 -0
  210. package/dist/collection/components/required-separator/required-separator.js +2 -5
  211. package/dist/collection/components/rounded-icon/rounded-icon.js +8 -19
  212. package/dist/collection/components/scrollable-container/scrollable-container.js +1 -1
  213. package/dist/collection/components/search/search.e2e.js +98 -0
  214. package/dist/collection/components/search/search.js +9 -19
  215. package/dist/collection/components/separator/separator.e2e.js +22 -0
  216. package/dist/collection/components/separator/separator.js +2 -5
  217. package/dist/collection/components/shimmer/shimmer.e2e.js +18 -0
  218. package/dist/collection/components/shimmer/shimmer.js +9 -10
  219. package/dist/collection/components/shimmer/shimmer.spec.js +35 -0
  220. package/dist/collection/components/snackbar/snackbar.e2e.js +61 -0
  221. package/dist/collection/components/snackbar/snackbar.js +20 -38
  222. package/dist/collection/components/spinner/spinner.e2e.js +12 -0
  223. package/dist/collection/components/spinner/spinner.js +3 -9
  224. package/dist/collection/components/spinner/spinner.spec.js +41 -0
  225. package/dist/collection/components/tab/tab.e2e.js +35 -0
  226. package/dist/collection/components/tab/tab.js +5 -14
  227. package/dist/collection/components/tab/tab.spec.js +31 -0
  228. package/dist/collection/components/tab-group/tab-group.e2e.js +99 -0
  229. package/dist/collection/components/tab-group/tab-group.js +3 -7
  230. package/dist/collection/components/tab-panel/tab-panel.e2e.js +12 -0
  231. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  232. package/dist/collection/components/tab-panel/tab-panel.spec.js +10 -0
  233. package/dist/collection/components/table/table-cell/table-cell.js +17 -40
  234. package/dist/collection/components/table/table-header/table-header.js +19 -37
  235. package/dist/collection/components/table/table-row/table-row.js +18 -33
  236. package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +15 -37
  237. package/dist/collection/components/table/table.e2e.js +405 -0
  238. package/dist/collection/components/table/table.js +4 -12
  239. package/dist/collection/components/textarea/textarea.e2e.js +91 -0
  240. package/dist/collection/components/textarea/textarea.js +30 -52
  241. package/dist/collection/components/toggle-button/toggle-button.e2e.js +44 -0
  242. package/dist/collection/components/toggle-button/toggle-button.js +13 -22
  243. package/dist/collection/components/toggle-chip/toggle-chip.e2e.js +47 -0
  244. package/dist/collection/components/toggle-chip/toggle-chip.js +13 -22
  245. package/dist/collection/components/toggle-group/toggle-group.e2e.js +65 -0
  246. package/dist/collection/components/toggle-group/toggle-group.js +7 -10
  247. package/dist/collection/components/toggle-switch/toggle-switch.e2e.js +50 -0
  248. package/dist/collection/components/toggle-switch/toggle-switch.js +14 -25
  249. package/dist/collection/components/tooltip/tooltip.e2e.js +64 -0
  250. package/dist/collection/components/tooltip/tooltip.js +11 -21
  251. package/dist/collection/components/wizard/wizard-step.js +5 -15
  252. package/dist/collection/components/wizard/wizard.e2e.js +149 -0
  253. package/dist/collection/components/wizard/wizard.js +7 -18
  254. package/dist/collection/components/wizard-icon/wizard-icon.js +6 -14
  255. package/dist/collection/docs/config/replace-prop-controls.spec.js +32 -0
  256. package/dist/collection/utils/utils.spec.js +15 -0
  257. package/dist/components/b2b-alert.js +13 -17
  258. package/dist/components/b2b-anchor.js +7 -11
  259. package/dist/components/b2b-background-box.js +6 -11
  260. package/dist/components/b2b-breadcrumb-item.js +9 -9
  261. package/dist/components/b2b-breadcrumb.js +9 -10
  262. package/dist/components/b2b-button.js +1 -1
  263. package/dist/components/b2b-card.js +7 -9
  264. package/dist/components/b2b-checkbox-group.js +15 -15
  265. package/dist/components/b2b-checkbox.js +1 -1
  266. package/dist/components/b2b-chip-component.js +1 -1
  267. package/dist/components/b2b-date-picker-days-header.js +1 -1
  268. package/dist/components/b2b-date-picker-days.js +1 -1
  269. package/dist/components/b2b-date-picker-header.js +1 -1
  270. package/dist/components/b2b-date-picker-months.js +1 -1
  271. package/dist/components/b2b-date-picker-years.js +1 -1
  272. package/dist/components/b2b-date-picker.js +43 -44
  273. package/dist/components/b2b-dropdown.js +26 -26
  274. package/dist/components/b2b-flyout-menu-option.js +9 -9
  275. package/dist/components/b2b-flyout-menu.js +8 -8
  276. package/dist/components/b2b-grid-col.js +5 -5
  277. package/dist/components/b2b-grid-row.js +4 -8
  278. package/dist/components/b2b-grid.js +5 -5
  279. package/dist/components/b2b-headline.js +1 -1
  280. package/dist/components/b2b-icon-100.js +1 -1
  281. package/dist/components/b2b-icon-50.js +13 -11
  282. package/dist/components/b2b-icon.js +16 -15
  283. package/dist/components/b2b-input-group.js +1 -1
  284. package/dist/components/b2b-input-label.js +1 -1
  285. package/dist/components/b2b-input-list-option.js +1 -1
  286. package/dist/components/b2b-input-list.js +1 -1
  287. package/dist/components/b2b-input.js +1 -1
  288. package/dist/components/b2b-label.js +6 -6
  289. package/dist/components/b2b-modal.js +17 -21
  290. package/dist/components/b2b-multiselect-dropdown.js +31 -30
  291. package/dist/components/b2b-multiselect-option.js +1 -1
  292. package/dist/components/b2b-pagination.js +13 -16
  293. package/dist/components/b2b-paragraph.js +6 -11
  294. package/dist/components/b2b-progress-bar.js +11 -10
  295. package/dist/components/b2b-radio-button.js +19 -17
  296. package/dist/components/b2b-radio-group.js +17 -15
  297. package/dist/components/b2b-required-separator.js +6 -6
  298. package/dist/components/b2b-rounded-icon.js +1 -1
  299. package/dist/components/b2b-scrollable-container.js +5 -4
  300. package/dist/components/b2b-search.js +18 -19
  301. package/dist/components/b2b-separator.js +1 -1
  302. package/dist/components/b2b-shimmer.js +8 -4
  303. package/dist/components/b2b-snackbar.js +19 -20
  304. package/dist/components/b2b-spinner.js +1 -1
  305. package/dist/components/b2b-tab-group.js +6 -8
  306. package/dist/components/b2b-tab-panel.js +5 -4
  307. package/dist/components/b2b-tab.js +7 -9
  308. package/dist/components/b2b-table-cell.js +1 -1
  309. package/dist/components/b2b-table-header.js +1 -1
  310. package/dist/components/b2b-table-row.js +23 -23
  311. package/dist/components/b2b-table-rowgroup.js +15 -24
  312. package/dist/components/b2b-table.js +9 -14
  313. package/dist/components/b2b-textarea.js +23 -19
  314. package/dist/components/b2b-toggle-button.js +13 -11
  315. package/dist/components/b2b-toggle-chip.js +13 -11
  316. package/dist/components/b2b-toggle-group.js +10 -8
  317. package/dist/components/b2b-toggle-switch.js +14 -14
  318. package/dist/components/b2b-tooltip.js +11 -12
  319. package/dist/components/b2b-wizard-icon.js +1 -1
  320. package/dist/components/b2b-wizard-step.js +10 -13
  321. package/dist/components/b2b-wizard.js +9 -13
  322. package/dist/components/{p-CE7t2D9r.js → button.js} +17 -23
  323. package/dist/components/{p-CLYM9t6v.js → checkbox.js} +22 -21
  324. package/dist/components/{p-ClL49BcQ.js → chip.js} +15 -13
  325. package/dist/components/{p-FI-HbnMh.js → date-picker-days-header.js} +7 -7
  326. package/dist/components/{p-0Vy4494O.js → date-picker-days.js} +24 -21
  327. package/dist/components/{p-C_U38W4s.js → date-picker-header.js} +17 -15
  328. package/dist/components/{p-1ZoTG5p9.js → date-picker-months.js} +9 -8
  329. package/dist/components/{p-dMZsx2Fh.js → date-picker-years.js} +8 -6
  330. package/dist/components/{p-Bo-B8kdb.js → headline.js} +4 -6
  331. package/dist/components/{p-B9RvgUY3.js → icon-100.js} +15 -14
  332. package/dist/components/index.js +1 -1929
  333. package/dist/components/{p-TB2jJFV6.js → input-group.js} +9 -8
  334. package/dist/components/{p-Zg4AtKjq.js → input-label.js} +6 -7
  335. package/dist/components/{p-QTGqu3he.js → input-list-option.js} +7 -5
  336. package/dist/components/{p-BacBJzW_.js → input-list.js} +21 -24
  337. package/dist/components/{p-CuUquHzL.js → input.js} +28 -32
  338. package/dist/components/{p-B7bjXySI.js → multiselect-option.js} +12 -12
  339. package/dist/{esm/request-B8W50WyB.js → components/request.js} +5 -2
  340. package/dist/components/{p-i758rnm2.js → rounded-icon.js} +9 -13
  341. package/dist/components/{p-DO7N8IC0.js → separator.js} +5 -5
  342. package/dist/components/{p-3cu_Madt.js → spinner.js} +5 -6
  343. package/dist/components/{p-9OQH2pET.js → table-cell.js} +15 -23
  344. package/dist/components/{p-BVLpVPNb.js → table-header.js} +17 -18
  345. package/dist/{esm/utils-BA6KE1BD.js → components/utils.js} +10 -3
  346. package/dist/components/{p-N6d2-6pL.js → wizard-icon.js} +10 -11
  347. package/dist/custom-elements.json +0 -24
  348. package/dist/esm/app-globals-0f993ce5.js +3 -0
  349. package/dist/esm/b2b-alert.entry.js +11 -15
  350. package/dist/esm/b2b-anchor.entry.js +6 -10
  351. package/dist/esm/b2b-background-box.entry.js +5 -10
  352. package/dist/esm/b2b-breadcrumb-item.entry.js +8 -8
  353. package/dist/esm/b2b-breadcrumb.entry.js +8 -9
  354. package/dist/esm/b2b-button_2.entry.js +18 -25
  355. package/dist/esm/b2b-card.entry.js +6 -8
  356. package/dist/esm/b2b-checkbox-group.entry.js +13 -13
  357. package/dist/esm/b2b-checkbox.entry.js +20 -19
  358. package/dist/esm/b2b-chip-component_2.entry.js +22 -20
  359. package/dist/esm/b2b-core-components.js +12 -12
  360. package/dist/esm/b2b-date-picker-days_5.entry.js +48 -40
  361. package/dist/esm/b2b-date-picker.entry.js +35 -36
  362. package/dist/esm/b2b-dropdown.entry.js +24 -24
  363. package/dist/esm/b2b-flyout-menu-option.entry.js +8 -8
  364. package/dist/esm/b2b-flyout-menu.entry.js +7 -7
  365. package/dist/esm/b2b-grid-col.entry.js +4 -4
  366. package/dist/esm/b2b-grid-row.entry.js +3 -7
  367. package/dist/esm/b2b-grid.entry.js +4 -4
  368. package/dist/esm/b2b-headline.entry.js +3 -5
  369. package/dist/esm/b2b-icon-100.entry.js +10 -12
  370. package/dist/esm/b2b-icon-50.entry.js +8 -9
  371. package/dist/esm/b2b-icon.entry.js +10 -12
  372. package/dist/esm/b2b-input-group_2.entry.js +22 -24
  373. package/dist/esm/b2b-input-label.entry.js +5 -6
  374. package/dist/esm/b2b-input_2.entry.js +31 -33
  375. package/dist/esm/b2b-label.entry.js +5 -5
  376. package/dist/esm/b2b-modal.entry.js +14 -18
  377. package/dist/esm/b2b-multiselect-dropdown.entry.js +25 -24
  378. package/dist/esm/b2b-pagination.entry.js +10 -13
  379. package/dist/esm/b2b-paragraph.entry.js +5 -10
  380. package/dist/esm/b2b-progress-bar.entry.js +10 -9
  381. package/dist/esm/b2b-radio-button.entry.js +17 -15
  382. package/dist/esm/b2b-radio-group.entry.js +15 -13
  383. package/dist/esm/b2b-required-separator.entry.js +4 -4
  384. package/dist/esm/b2b-rounded-icon.entry.js +8 -12
  385. package/dist/esm/b2b-scrollable-container.entry.js +4 -3
  386. package/dist/esm/b2b-search.entry.js +8 -9
  387. package/dist/esm/b2b-separator.entry.js +4 -4
  388. package/dist/esm/b2b-shimmer.entry.js +7 -3
  389. package/dist/esm/b2b-snackbar.entry.js +17 -18
  390. package/dist/esm/b2b-tab-group.entry.js +4 -6
  391. package/dist/esm/b2b-tab-panel.entry.js +4 -3
  392. package/dist/esm/b2b-tab.entry.js +6 -8
  393. package/dist/esm/b2b-table-cell_2.entry.js +28 -37
  394. package/dist/esm/b2b-table-row.entry.js +17 -17
  395. package/dist/esm/b2b-table-rowgroup.entry.js +14 -23
  396. package/dist/esm/b2b-table.entry.js +8 -13
  397. package/dist/esm/b2b-textarea.entry.js +21 -17
  398. package/dist/esm/b2b-toggle-button.entry.js +12 -10
  399. package/dist/esm/b2b-toggle-chip.entry.js +12 -10
  400. package/dist/esm/b2b-toggle-group.entry.js +9 -7
  401. package/dist/esm/b2b-toggle-switch.entry.js +13 -13
  402. package/dist/esm/b2b-tooltip.entry.js +10 -11
  403. package/dist/esm/b2b-wizard-icon.entry.js +7 -8
  404. package/dist/esm/b2b-wizard-step.entry.js +6 -9
  405. package/dist/esm/b2b-wizard.entry.js +8 -12
  406. package/dist/esm/index-ab9eb36d.js +2487 -0
  407. package/dist/esm/loader.js +4 -3
  408. package/dist/esm/polyfills/core-js.js +11 -0
  409. package/dist/esm/polyfills/dom.js +79 -0
  410. package/dist/esm/polyfills/es5-html-element.js +1 -0
  411. package/dist/esm/polyfills/index.js +34 -0
  412. package/dist/esm/polyfills/system.js +6 -0
  413. package/dist/{components/p-CPfvpKl5.js → esm/request-1d048f8a.js} +0 -2
  414. package/dist/{components/p-BA6KE1BD.js → esm/utils-868299de.js} +10 -3
  415. package/dist/loader/cdn.js +3 -1
  416. package/dist/loader/index.cjs.js +3 -1
  417. package/dist/loader/index.d.ts +0 -3
  418. package/dist/loader/index.es2017.js +3 -1
  419. package/dist/loader/index.js +3 -1
  420. package/dist/loader/package.json +11 -0
  421. package/dist/types/components.d.ts +0 -413
  422. package/dist/types/stencil-public-runtime.d.ts +11 -32
  423. package/dist/web-types.json +8 -7
  424. package/package.json +10 -11
  425. package/dist/b2b-core-components/p-0002d8d5.entry.js +0 -1
  426. package/dist/b2b-core-components/p-0386f660.entry.js +0 -1
  427. package/dist/b2b-core-components/p-0a08e2c8.entry.js +0 -1
  428. package/dist/b2b-core-components/p-0d8cc4eb.entry.js +0 -1
  429. package/dist/b2b-core-components/p-197dc9c0.entry.js +0 -1
  430. package/dist/b2b-core-components/p-220b8c79.entry.js +0 -1
  431. package/dist/b2b-core-components/p-2933f053.entry.js +0 -1
  432. package/dist/b2b-core-components/p-3a9f7db8.entry.js +0 -1
  433. package/dist/b2b-core-components/p-3e0919b3.entry.js +0 -1
  434. package/dist/b2b-core-components/p-42d9f79d.entry.js +0 -1
  435. package/dist/b2b-core-components/p-4bb42493.entry.js +0 -1
  436. package/dist/b2b-core-components/p-4c550170.entry.js +0 -1
  437. package/dist/b2b-core-components/p-50559efd.entry.js +0 -1
  438. package/dist/b2b-core-components/p-55db3d57.entry.js +0 -1
  439. package/dist/b2b-core-components/p-6e7abebc.entry.js +0 -1
  440. package/dist/b2b-core-components/p-7b75a0a4.entry.js +0 -1
  441. package/dist/b2b-core-components/p-7cbe33ef.entry.js +0 -1
  442. package/dist/b2b-core-components/p-8544b7e1.entry.js +0 -1
  443. package/dist/b2b-core-components/p-88037ad2.entry.js +0 -1
  444. package/dist/b2b-core-components/p-930425a1.entry.js +0 -1
  445. package/dist/b2b-core-components/p-B9l4NfeG.js +0 -1
  446. package/dist/b2b-core-components/p-BA6KE1BD.js +0 -1
  447. package/dist/b2b-core-components/p-a1a4efd4.entry.js +0 -1
  448. package/dist/b2b-core-components/p-a61eecf7.entry.js +0 -1
  449. package/dist/b2b-core-components/p-ada918c2.entry.js +0 -1
  450. package/dist/b2b-core-components/p-bb020c1c.entry.js +0 -1
  451. package/dist/b2b-core-components/p-bbb4c6f3.entry.js +0 -1
  452. package/dist/b2b-core-components/p-c0af184a.entry.js +0 -1
  453. package/dist/b2b-core-components/p-c40f7176.entry.js +0 -1
  454. package/dist/b2b-core-components/p-c6043d6a.entry.js +0 -1
  455. package/dist/b2b-core-components/p-c649c112.entry.js +0 -1
  456. package/dist/b2b-core-components/p-c69e9220.entry.js +0 -1
  457. package/dist/b2b-core-components/p-d1b46208.entry.js +0 -1
  458. package/dist/b2b-core-components/p-d2d40ae5.entry.js +0 -1
  459. package/dist/b2b-core-components/p-e8e156a4.entry.js +0 -1
  460. package/dist/b2b-core-components/p-ebcc2cce.entry.js +0 -1
  461. package/dist/b2b-core-components/p-edea84cc.entry.js +0 -1
  462. package/dist/b2b-core-components/p-f831e483.entry.js +0 -1
  463. package/dist/b2b-core-components/p-fdfb094e.entry.js +0 -1
  464. package/dist/b2b-core-components/p-zl-jO_Vq.js +0 -2
  465. package/dist/cjs/index-CIrNIFXs.js +0 -2406
  466. package/dist/esm/index-zl-jO_Vq.js +0 -2378
  467. /package/dist/b2b-core-components/{p-B8geQC3V.js → p-48608c23.js} +0 -0
  468. /package/dist/b2b-core-components/{p-BgHEmQ44.js → p-c500d93c.js} +0 -0
  469. /package/dist/cjs/{date-picker-util-VbL9p5ie.js → date-picker-util-51276571.js} +0 -0
  470. /package/dist/cjs/{wizard.types-uAv3s7tK.js → wizard.types-40a1058c.js} +0 -0
  471. /package/dist/components/{p-BsfreBZY.js → date-picker.types.js} +0 -0
  472. /package/dist/components/{p-BgHEmQ44.js → wizard.types.js} +0 -0
  473. /package/dist/esm/{date-picker-util-B8geQC3V.js → date-picker-util-44201ca6.js} +0 -0
  474. /package/dist/esm/{wizard.types-BgHEmQ44.js → wizard.types-40ae9b73.js} +0 -0
@@ -8,7 +8,6 @@ const keys = {
8
8
  };
9
9
  export class B2bDatePickerYears {
10
10
  constructor() {
11
- this.yearsRange = [];
12
11
  this.getAllYears = () => {
13
12
  return Array.from(this.host.shadowRoot.querySelectorAll('.b2b-date-picker-year'));
14
13
  };
@@ -50,6 +49,8 @@ export class B2bDatePickerYears {
50
49
  }
51
50
  return years;
52
51
  };
52
+ this.selectedYear = undefined;
53
+ this.yearsRange = [];
53
54
  }
54
55
  handleKeyDown(event) {
55
56
  event.preventDefault();
@@ -97,7 +98,7 @@ export class B2bDatePickerYears {
97
98
  }
98
99
  }
99
100
  render() {
100
- return (h(Host, { key: 'ab8b76cb602c06d1e915f3cbe00101cf3ac0e9e0' }, h("div", { key: '6f6b1506b6e7a96eb1f07cb55b6228cc6e1ff7fd', class: "b2b-date-picker-years" }, this.renderDatePickerYears())));
101
+ return (h(Host, { key: '04068ca8f7b6604a6f2861f0b8892f03a1e21df3' }, h("div", { key: '8fa5bd3484d9d5766ce12f8e3e354f8beab88c56', class: "b2b-date-picker-years" }, this.renderDatePickerYears())));
101
102
  }
102
103
  static get is() { return "b2b-date-picker-years"; }
103
104
  static get encapsulation() { return "shadow"; }
@@ -115,7 +116,6 @@ export class B2bDatePickerYears {
115
116
  return {
116
117
  "selectedYear": {
117
118
  "type": "number",
118
- "attribute": "selected-year",
119
119
  "mutable": false,
120
120
  "complexType": {
121
121
  "original": "number",
@@ -128,8 +128,7 @@ export class B2bDatePickerYears {
128
128
  "tags": [],
129
129
  "text": "Internal selected year"
130
130
  },
131
- "getter": false,
132
- "setter": false,
131
+ "attribute": "selected-year",
133
132
  "reflect": false
134
133
  }
135
134
  };
@@ -0,0 +1,137 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ //ToDo Rewrite the tests so that the next, previous button and date selection scenarios are also tested
3
+ describe('B2B-Date-Picker', () => {
4
+ let page;
5
+ beforeEach(async () => {
6
+ page = await newE2EPage();
7
+ await page.setContent(`<b2b-date-picker></b2b-date-picker>`);
8
+ });
9
+ it('should render the date picker component', async () => {
10
+ const datePicker = await page.find('b2b-date-picker');
11
+ const clickableInputComponent = await page.find('b2b-date-picker >>> div.b2b-date-picker-input-wrapper');
12
+ expect(clickableInputComponent).not.toBeNull();
13
+ expect(datePicker).not.toBeNull();
14
+ });
15
+ it('should render the datepicker component when date picker icon is clicked', async () => {
16
+ const datePicker = await page.find('b2b-date-picker');
17
+ const clickableInputComponent = await page.find('b2b-date-picker >>> div.b2b-date-picker-input-wrapper');
18
+ await clickableInputComponent.click();
19
+ await page.waitForChanges();
20
+ const datePickerComponent = await page.find('b2b-date-picker >>> .b2b-date-picker-body');
21
+ const datePickerHeader = await page.find('b2b-date-picker >>> .b2b-date-picker-body >>> b2b-date-picker-header');
22
+ const datePickerDays = await page.find('b2b-date-picker >>> .b2b-date-picker-body >>> b2b-date-picker-days');
23
+ expect(clickableInputComponent).not.toBeNull();
24
+ expect(datePicker).not.toBeNull();
25
+ expect(datePickerComponent).not.toBeNull();
26
+ expect(datePickerHeader).not.toBeNull();
27
+ expect(datePickerDays).not.toBeNull();
28
+ expect(await datePickerComponent.isVisible()).toBe(true);
29
+ expect(await datePickerHeader.isVisible()).toBe(true);
30
+ expect(await datePickerDays.isVisible()).toBe(true);
31
+ });
32
+ it('should disable past dates', async () => {
33
+ page = await newE2EPage();
34
+ await page.setContent(`<b2b-date-picker disable-past-dates=true></b2b-date-picker>`);
35
+ const today = new Date(2024, 2, 30);
36
+ const yesterday = new Date(today);
37
+ yesterday.setDate(today.getDate() - 1);
38
+ const prevDay = yesterday.getDate();
39
+ console.log('prevDay :', prevDay);
40
+ if (prevDay > 0 && prevDay >= 31) {
41
+ const prevDayElement = await page.find({ text: prevDay.toString() });
42
+ expect(prevDayElement.className).toBe('b2b-date-picker-day b2b-date-picker-day--disabled');
43
+ }
44
+ });
45
+ it('should disable future dates', async () => {
46
+ page = await newE2EPage();
47
+ await page.setContent(`<b2b-date-picker disable-future-dates=true></b2b-date-picker>`);
48
+ const today = new Date();
49
+ const tomorrow = new Date(today);
50
+ tomorrow.setDate(today.getDate() + 1);
51
+ const nextDay = tomorrow.getDate();
52
+ if (nextDay > 0 && nextDay !== 1) {
53
+ const nextDayElement = await page.find({ text: nextDay.toString() });
54
+ expect(nextDayElement.className).toBe('b2b-date-picker-day b2b-date-picker-day--disabled');
55
+ }
56
+ });
57
+ it('should disable weekends dates', async () => {
58
+ page = await newE2EPage();
59
+ await page.setContent(`<b2b-date-picker disable-weekends=true></b2b-date-picker>`);
60
+ const previousSunday = new Date().getDate() - (new Date().getDay() % 0);
61
+ if (previousSunday > 0) {
62
+ const prevDayElement = await page.find({
63
+ text: previousSunday.toString(),
64
+ });
65
+ expect(prevDayElement.className).toBe('b2b-date-picker-day b2b-date-picker-day--disabled');
66
+ }
67
+ });
68
+ describe('B2B-Date-Picker Input Field', () => {
69
+ let page;
70
+ beforeEach(async () => {
71
+ page = await newE2EPage();
72
+ await page.setContent(`<b2b-date-picker></b2b-date-picker>`);
73
+ });
74
+ it('should allow entering a date via the input field', async () => {
75
+ const inputField = await page.find('b2b-date-picker >>> input.b2b-date-picker-input');
76
+ expect(inputField).not.toBeNull();
77
+ await inputField.press('2');
78
+ await inputField.press('6');
79
+ await inputField.press('.');
80
+ await inputField.press('1');
81
+ await inputField.press('1');
82
+ await inputField.press('.');
83
+ await inputField.press('2');
84
+ await inputField.press('0');
85
+ await inputField.press('2');
86
+ await inputField.press('8');
87
+ await page.waitForChanges();
88
+ const inputValue = await inputField.getProperty('value');
89
+ expect(inputValue).toBe('26.11.2028');
90
+ });
91
+ it('should show error state when invalid date is entered', async () => {
92
+ const inputField = await page.find('b2b-date-picker >>> input.b2b-date-picker-input');
93
+ await inputField.press('3');
94
+ await inputField.press('2');
95
+ await inputField.press('.');
96
+ await inputField.press('.');
97
+ await inputField.press('.');
98
+ await inputField.press('.');
99
+ await inputField.press('2');
100
+ await inputField.press('0');
101
+ await inputField.press('2');
102
+ await inputField.press('4');
103
+ await page.waitForChanges();
104
+ const inputValue = await inputField.getProperty('value');
105
+ expect(inputValue).toBe('32....2024');
106
+ const errorHint = await page.find('b2b-date-picker >>> span.b2b-date-picker-hint--error');
107
+ expect(errorHint).not.toBeNull();
108
+ });
109
+ it('should handle keyboard input and clear invalid date', async () => {
110
+ const inputField = await page.find('b2b-date-picker >>> input.b2b-date-picker-input');
111
+ await inputField.press('3');
112
+ await inputField.press('2');
113
+ await inputField.press('.');
114
+ await inputField.press('1');
115
+ await inputField.press('1');
116
+ await inputField.press('.');
117
+ await inputField.press('2');
118
+ await inputField.press('0');
119
+ await inputField.press('2');
120
+ await inputField.press('4');
121
+ await page.waitForChanges();
122
+ await inputField.press('Backspace');
123
+ await inputField.press('Backspace');
124
+ await inputField.press('Backspace');
125
+ await inputField.press('Backspace');
126
+ await inputField.press('Backspace');
127
+ await inputField.press('Backspace');
128
+ await inputField.press('Backspace');
129
+ await inputField.press('Backspace');
130
+ await inputField.press('Backspace');
131
+ await inputField.press('Backspace');
132
+ await page.waitForChanges();
133
+ const clearedInputValue = await inputField.getProperty('value');
134
+ expect(clearedInputValue).toBe('');
135
+ });
136
+ });
137
+ });
@@ -2,39 +2,8 @@ import { h, Host, } from "@stencil/core";
2
2
  import { DateUtils } from "../../utils/datepicker/date-picker-util";
3
3
  export class B2bDatePicker {
4
4
  constructor() {
5
- /** The dates that are part of this array are disabled. By default, this is an empty array. */
6
- this.disableDates = [];
7
- /** Label for the date picker component. */
8
- this.label = 'Zeitpunkt auswählen';
9
- /** Adds an asterisk at the end of the label to signify that the field is required. */
10
- this.required = false;
11
- /** Default date picker date*/
12
- this.preSelectedDate = undefined;
13
- /** Whether to show hint message or not. */
14
- this.showHint = true;
15
- /** The width of the input field of the date picker in pixel. Minimum is 250, maximum is 600px. */
16
- this.width = 300;
17
- /** Disable the days of the week specified here. */
18
- this.disableDays = [];
19
- /** Hint text that should be displayed when showHint is true */
20
- this.hint = 'Format: TT.MM.JJJJ';
21
- /** The placeholder shown in the date picker. */
22
- this.placeholder = null;
23
- /** The language for month and the weekdays will be decided based on the given input. By default, this will be de which is german */
24
- this.language = 'de';
25
5
  this.DISABLED_DATE_ERROR_MESSAGE = 'Auswahl nicht möglich, bitte gültiges Datum auswählen.';
26
6
  this.FORMATTING_ERROR_MESSAGE = 'Format beachten: TT.MM.JJJJ.';
27
- this.showDatePicker = false;
28
- this.focused = false;
29
- this.datePickerView = "Days" /* DatePickerView.Days */;
30
- this.selectedMonth = new Date().getMonth();
31
- this.selectedYear = new Date().getFullYear();
32
- this.selectedDate = undefined;
33
- this.userInputDate = '';
34
- this.invalid = false;
35
- this.errorMessage = this.FORMATTING_ERROR_MESSAGE;
36
- this.datesToBeDisabled = [];
37
- this.normalizedDisableEvery = [];
38
7
  this.today = new Date();
39
8
  this.todayWithoutTime = new Date(this.today.getFullYear(), this.today.getMonth(), this.today.getDate());
40
9
  this.handleInputChange = (event) => {
@@ -112,6 +81,35 @@ export class B2bDatePicker {
112
81
  this.handleBackdropDismiss = () => {
113
82
  this.showDatePicker = false;
114
83
  };
84
+ this.disablePastDates = undefined;
85
+ this.disableFutureDates = undefined;
86
+ this.disableWeekends = undefined;
87
+ this.disableDates = [];
88
+ this.label = 'Zeitpunkt auswählen';
89
+ this.required = false;
90
+ this.preSelectedDate = undefined;
91
+ this.showHint = true;
92
+ this.width = 300;
93
+ this.disableDays = [];
94
+ this.disableDatesUntil = undefined;
95
+ this.disableDatesFrom = undefined;
96
+ this.hint = 'Format: TT.MM.JJJJ';
97
+ this.placeholder = null;
98
+ this.language = 'de';
99
+ this.showDatePicker = false;
100
+ this.focused = false;
101
+ this.datePickerView = "Days" /* DatePickerView.Days */;
102
+ this.selectedMonth = new Date().getMonth();
103
+ this.selectedYear = new Date().getFullYear();
104
+ this.selectedDay = undefined;
105
+ this.selectedDate = undefined;
106
+ this.userInputDate = '';
107
+ this.invalid = false;
108
+ this.errorMessage = this.FORMATTING_ERROR_MESSAGE;
109
+ this.datesToBeDisabled = [];
110
+ this.normalizedDisableEvery = [];
111
+ this.normalizedDisableDatesUntil = undefined;
112
+ this.normalizedDisableDatesFrom = undefined;
115
113
  }
116
114
  isWithWithinLimit() {
117
115
  return this.width >= 300 && this.width <= 600;
@@ -423,7 +421,6 @@ export class B2bDatePicker {
423
421
  return {
424
422
  "disablePastDates": {
425
423
  "type": "boolean",
426
- "attribute": "disable-past-dates",
427
424
  "mutable": false,
428
425
  "complexType": {
429
426
  "original": "boolean",
@@ -436,13 +433,11 @@ export class B2bDatePicker {
436
433
  "tags": [],
437
434
  "text": "Whether the previous dates from the current date are disabled. By default, this is true."
438
435
  },
439
- "getter": false,
440
- "setter": false,
436
+ "attribute": "disable-past-dates",
441
437
  "reflect": false
442
438
  },
443
439
  "disableFutureDates": {
444
440
  "type": "boolean",
445
- "attribute": "disable-future-dates",
446
441
  "mutable": false,
447
442
  "complexType": {
448
443
  "original": "boolean",
@@ -455,13 +450,11 @@ export class B2bDatePicker {
455
450
  "tags": [],
456
451
  "text": "Whether the dates after the current date are disabled. By default, this is false."
457
452
  },
458
- "getter": false,
459
- "setter": false,
453
+ "attribute": "disable-future-dates",
460
454
  "reflect": false
461
455
  },
462
456
  "disableWeekends": {
463
457
  "type": "boolean",
464
- "attribute": "disable-weekends",
465
458
  "mutable": false,
466
459
  "complexType": {
467
460
  "original": "boolean",
@@ -474,13 +467,11 @@ export class B2bDatePicker {
474
467
  "tags": [],
475
468
  "text": "Whether the dates that fall on the weekend are disabled. By default, this is false."
476
469
  },
477
- "getter": false,
478
- "setter": false,
470
+ "attribute": "disable-weekends",
479
471
  "reflect": false
480
472
  },
481
473
  "disableDates": {
482
474
  "type": "string",
483
- "attribute": "disable-dates",
484
475
  "mutable": false,
485
476
  "complexType": {
486
477
  "original": "string | string[]",
@@ -493,14 +484,12 @@ export class B2bDatePicker {
493
484
  "tags": [],
494
485
  "text": "The dates that are part of this array are disabled. By default, this is an empty array."
495
486
  },
496
- "getter": false,
497
- "setter": false,
487
+ "attribute": "disable-dates",
498
488
  "reflect": false,
499
489
  "defaultValue": "[]"
500
490
  },
501
491
  "label": {
502
492
  "type": "string",
503
- "attribute": "label",
504
493
  "mutable": false,
505
494
  "complexType": {
506
495
  "original": "string",
@@ -513,14 +502,12 @@ export class B2bDatePicker {
513
502
  "tags": [],
514
503
  "text": "Label for the date picker component."
515
504
  },
516
- "getter": false,
517
- "setter": false,
505
+ "attribute": "label",
518
506
  "reflect": false,
519
507
  "defaultValue": "'Zeitpunkt ausw\u00E4hlen'"
520
508
  },
521
509
  "required": {
522
510
  "type": "boolean",
523
- "attribute": "required",
524
511
  "mutable": false,
525
512
  "complexType": {
526
513
  "original": "boolean",
@@ -533,14 +520,12 @@ export class B2bDatePicker {
533
520
  "tags": [],
534
521
  "text": "Adds an asterisk at the end of the label to signify that the field is required."
535
522
  },
536
- "getter": false,
537
- "setter": false,
523
+ "attribute": "required",
538
524
  "reflect": true,
539
525
  "defaultValue": "false"
540
526
  },
541
527
  "preSelectedDate": {
542
528
  "type": "string",
543
- "attribute": "pre-selected-date",
544
529
  "mutable": false,
545
530
  "complexType": {
546
531
  "original": "string",
@@ -553,14 +538,12 @@ export class B2bDatePicker {
553
538
  "tags": [],
554
539
  "text": "Default date picker date"
555
540
  },
556
- "getter": false,
557
- "setter": false,
541
+ "attribute": "pre-selected-date",
558
542
  "reflect": false,
559
543
  "defaultValue": "undefined"
560
544
  },
561
545
  "showHint": {
562
546
  "type": "boolean",
563
- "attribute": "show-hint",
564
547
  "mutable": false,
565
548
  "complexType": {
566
549
  "original": "boolean",
@@ -573,14 +556,12 @@ export class B2bDatePicker {
573
556
  "tags": [],
574
557
  "text": "Whether to show hint message or not."
575
558
  },
576
- "getter": false,
577
- "setter": false,
559
+ "attribute": "show-hint",
578
560
  "reflect": false,
579
561
  "defaultValue": "true"
580
562
  },
581
563
  "width": {
582
564
  "type": "number",
583
- "attribute": "width",
584
565
  "mutable": false,
585
566
  "complexType": {
586
567
  "original": "number",
@@ -593,14 +574,12 @@ export class B2bDatePicker {
593
574
  "tags": [],
594
575
  "text": "The width of the input field of the date picker in pixel. Minimum is 250, maximum is 600px."
595
576
  },
596
- "getter": false,
597
- "setter": false,
577
+ "attribute": "width",
598
578
  "reflect": false,
599
579
  "defaultValue": "300"
600
580
  },
601
581
  "disableDays": {
602
582
  "type": "string",
603
- "attribute": "disable-days",
604
583
  "mutable": false,
605
584
  "complexType": {
606
585
  "original": "| 'Mo'\n | 'Di'\n | 'Mi'\n | 'Do'\n | 'Fr'\n | 'Sa'\n | 'So'\n | 'Tu'\n | 'We'\n | 'Th'\n | 'Su'\n | string\n | string[]",
@@ -613,14 +592,12 @@ export class B2bDatePicker {
613
592
  "tags": [],
614
593
  "text": "Disable the days of the week specified here."
615
594
  },
616
- "getter": false,
617
- "setter": false,
595
+ "attribute": "disable-days",
618
596
  "reflect": false,
619
597
  "defaultValue": "[]"
620
598
  },
621
599
  "disableDatesUntil": {
622
600
  "type": "string",
623
- "attribute": "disable-dates-until",
624
601
  "mutable": false,
625
602
  "complexType": {
626
603
  "original": "string",
@@ -633,13 +610,11 @@ export class B2bDatePicker {
633
610
  "tags": [],
634
611
  "text": "All the dates until the given specified date will be disabled."
635
612
  },
636
- "getter": false,
637
- "setter": false,
613
+ "attribute": "disable-dates-until",
638
614
  "reflect": false
639
615
  },
640
616
  "disableDatesFrom": {
641
617
  "type": "string",
642
- "attribute": "disable-dates-from",
643
618
  "mutable": false,
644
619
  "complexType": {
645
620
  "original": "string",
@@ -652,13 +627,11 @@ export class B2bDatePicker {
652
627
  "tags": [],
653
628
  "text": "All the dates until the given specified date will be disabled."
654
629
  },
655
- "getter": false,
656
- "setter": false,
630
+ "attribute": "disable-dates-from",
657
631
  "reflect": false
658
632
  },
659
633
  "hint": {
660
634
  "type": "string",
661
- "attribute": "hint",
662
635
  "mutable": false,
663
636
  "complexType": {
664
637
  "original": "string",
@@ -671,14 +644,12 @@ export class B2bDatePicker {
671
644
  "tags": [],
672
645
  "text": "Hint text that should be displayed when showHint is true"
673
646
  },
674
- "getter": false,
675
- "setter": false,
647
+ "attribute": "hint",
676
648
  "reflect": false,
677
649
  "defaultValue": "'Format: TT.MM.JJJJ'"
678
650
  },
679
651
  "placeholder": {
680
652
  "type": "string",
681
- "attribute": "placeholder",
682
653
  "mutable": false,
683
654
  "complexType": {
684
655
  "original": "string",
@@ -691,14 +662,12 @@ export class B2bDatePicker {
691
662
  "tags": [],
692
663
  "text": "The placeholder shown in the date picker."
693
664
  },
694
- "getter": false,
695
- "setter": false,
665
+ "attribute": "placeholder",
696
666
  "reflect": true,
697
667
  "defaultValue": "null"
698
668
  },
699
669
  "language": {
700
670
  "type": "string",
701
- "attribute": "language",
702
671
  "mutable": false,
703
672
  "complexType": {
704
673
  "original": "'de' | 'en'",
@@ -711,8 +680,7 @@ export class B2bDatePicker {
711
680
  "tags": [],
712
681
  "text": "The language for month and the weekdays will be decided based on the given input. By default, this will be de which is german"
713
682
  },
714
- "getter": false,
715
- "setter": false,
683
+ "attribute": "language",
716
684
  "reflect": false,
717
685
  "defaultValue": "'de'"
718
686
  }
@@ -0,0 +1,89 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe('B2B-Dropdown', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent(`
7
+ <b2b-dropdown label="Test Dropdown">
8
+ <option value="option-1" selected id="option-1">Option 1</option>
9
+ <option value="option-2" id="option-2">Option 2</option>
10
+ </b2b-dropdown>
11
+ `);
12
+ });
13
+ it('should render the dropdown component', async () => {
14
+ const element = await page.find('b2b-dropdown');
15
+ expect(element).not.toBeNull();
16
+ });
17
+ it('should receive a custom event when an option is selected', async () => {
18
+ const element = await page.find('b2b-dropdown');
19
+ const b2bChange = await page.spyOnEvent('b2b-change');
20
+ element.triggerEvent('b2b-change');
21
+ await page.waitForChanges();
22
+ expect(b2bChange).toHaveReceivedEvent();
23
+ });
24
+ // TODO: reimplement this test with new testing framework
25
+ // it('should emit the selected value when an option is clicked', async () => {
26
+ // const b2bChange = await page.spyOnEvent('b2b-change');
27
+ //
28
+ // page.select('b2b-dropdown', 'option-2');
29
+ //
30
+ // await page.waitForChanges();
31
+ //
32
+ // expect(b2bChange).toHaveReceivedEventDetail('option-2');
33
+ // });
34
+ it('should disable the select when the property is specified', async () => {
35
+ let element = await page.find('b2b-dropdown');
36
+ expect(element).not.toHaveClass('b2b-dropdown--disabled');
37
+ element.setProperty('disabled', true);
38
+ await page.waitForChanges();
39
+ element = await page.find('b2b-dropdown');
40
+ expect(element).toHaveClass('b2b-dropdown--disabled');
41
+ });
42
+ it('should set the select to invalid when the property is specified', async () => {
43
+ let element = await page.find('b2b-dropdown');
44
+ expect(element).not.toHaveClass('b2b-dropdown--error');
45
+ element.setProperty('invalid', true);
46
+ await page.waitForChanges();
47
+ element = await page.find('b2b-dropdown');
48
+ expect(element).toHaveClass('b2b-dropdown--error');
49
+ });
50
+ it('should clear the selection and reset to placeholder', async () => {
51
+ let dropdown = await page.find('b2b-dropdown');
52
+ await dropdown.callMethod('clearSelection');
53
+ await page.waitForChanges();
54
+ dropdown = await page.find('b2b-dropdown');
55
+ const selectedTextElementAfter = await dropdown.shadowRoot.querySelector('.b2b-dropdown__select');
56
+ expect(selectedTextElementAfter).not.toBeNull();
57
+ expect(selectedTextElementAfter.textContent).toBe('Select an option...');
58
+ });
59
+ it('should render dynamically added <option> elements using MutationObserver', async () => {
60
+ const page = await newE2EPage({
61
+ html: `<b2b-dropdown label="Fruits"></b2b-dropdown>`,
62
+ });
63
+ await page.evaluate(() => {
64
+ const dropdown = document.querySelector('b2b-dropdown');
65
+ const opt1 = document.createElement('option');
66
+ opt1.value = 'apple';
67
+ opt1.textContent = 'Apple';
68
+ const opt2 = document.createElement('option');
69
+ opt2.value = 'banana';
70
+ opt2.textContent = 'Banana';
71
+ dropdown.appendChild(opt1);
72
+ dropdown.appendChild(opt2);
73
+ });
74
+ const count = await page.evaluate(async () => {
75
+ const dropdown = document.querySelector('b2b-dropdown');
76
+ if (!dropdown)
77
+ return -1;
78
+ await new Promise(resolve => setTimeout(resolve, 2000));
79
+ const options = dropdown.querySelectorAll('option');
80
+ return options.length;
81
+ });
82
+ expect(count).toBe(2);
83
+ const dropdownPage = await page.$('b2b-dropdown');
84
+ const renderedOptions = await dropdownPage.$$('option');
85
+ const texts = await Promise.all(renderedOptions.map(opt => opt.evaluate(el => { var _a; return (_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim(); })));
86
+ expect(texts).toContain('Apple');
87
+ expect(texts).toContain('Banana');
88
+ });
89
+ });