@otto-de/b2b-core-components 1.32.3 → 1.34.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 (418) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
  3. package/dist/b2b-core-components/icons-100/b2b_icon-clipboard-check.svg +3 -0
  4. package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.svg +3 -0
  5. package/dist/b2b-core-components/icons-100/b2b_icon-lock-open.svg +4 -0
  6. package/dist/b2b-core-components/icons-100/b2b_icon-person-wheelchair.svg +3 -0
  7. package/dist/b2b-core-components/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
  8. package/dist/b2b-core-components/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
  9. package/dist/b2b-core-components/icons-100/b2b_icon-universal-access.svg +3 -0
  10. package/dist/b2b-core-components/icons-100/b2b_icon-voice-sparkles.svg +3 -0
  11. package/dist/b2b-core-components/icons-100/b2b_icon-webhook.svg +3 -0
  12. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-left.svg +3 -0
  13. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-right.svg +3 -0
  14. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
  15. package/dist/b2b-core-components/icons-50/b2b_icon-arrow-return.svg +3 -0
  16. package/dist/b2b-core-components/icons-50/b2b_icon-callback.svg +10 -0
  17. package/dist/b2b-core-components/icons-50/b2b_icon-feedback.svg +3 -0
  18. package/dist/b2b-core-components/icons-50/b2b_icon-flag-chequered.svg +3 -0
  19. package/dist/b2b-core-components/icons-50/b2b_icon-flame.svg +3 -0
  20. package/dist/b2b-core-components/icons-50/b2b_icon-inplace-zoom.svg +3 -0
  21. package/dist/b2b-core-components/icons-50/b2b_icon-lock-closed.svg +3 -0
  22. package/dist/b2b-core-components/icons-50/b2b_icon-lock-open.svg +10 -0
  23. package/dist/b2b-core-components/icons-50/b2b_icon-notification.svg +3 -0
  24. package/dist/b2b-core-components/icons-50/b2b_icon-pending.svg +3 -0
  25. package/dist/b2b-core-components/icons-50/b2b_icon-phone.svg +3 -0
  26. package/dist/b2b-core-components/icons-50/b2b_icon-print.svg +3 -0
  27. package/dist/b2b-core-components/icons-50/b2b_icon-qr-code.svg +10 -0
  28. package/dist/b2b-core-components/icons-50/b2b_icon-skip-link.svg +3 -0
  29. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-angry.svg +13 -0
  30. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-happy.svg +10 -0
  31. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-negative.svg +10 -0
  32. package/dist/b2b-core-components/icons-50/b2b_icon-smiley-neutral.svg +10 -0
  33. package/dist/b2b-core-components/icons-50/b2b_icon-sparkles.svg +10 -0
  34. package/dist/b2b-core-components/icons-50/b2b_icon-voucher.svg +3 -0
  35. package/dist/b2b-core-components/{p-28a06853.entry.js → p-04ac661d.entry.js} +1 -1
  36. package/dist/b2b-core-components/{p-660c758b.entry.js → p-04f5748b.entry.js} +1 -1
  37. package/dist/b2b-core-components/{p-2d625559.entry.js → p-0648230f.entry.js} +1 -1
  38. package/dist/b2b-core-components/{p-0bd177d4.entry.js → p-0aa0c59a.entry.js} +1 -1
  39. package/dist/b2b-core-components/{p-7df12ddf.entry.js → p-0ab41eb5.entry.js} +1 -1
  40. package/dist/b2b-core-components/{p-e7590b6e.entry.js → p-13d37dec.entry.js} +1 -1
  41. package/dist/b2b-core-components/{p-bf9c8817.entry.js → p-17778cfc.entry.js} +1 -1
  42. package/dist/b2b-core-components/p-1af4d133.entry.js +1 -0
  43. package/dist/b2b-core-components/{p-fc431bbe.entry.js → p-2486830b.entry.js} +1 -1
  44. package/dist/b2b-core-components/p-2488ef54.entry.js +1 -0
  45. package/dist/b2b-core-components/{p-78b6ee25.entry.js → p-24c6aa56.entry.js} +1 -1
  46. package/dist/b2b-core-components/p-260dcc05.entry.js +1 -0
  47. package/dist/b2b-core-components/{p-797c85c2.entry.js → p-371df3f8.entry.js} +1 -1
  48. package/dist/b2b-core-components/p-3c3edafd.entry.js +1 -0
  49. package/dist/b2b-core-components/p-3d8e14e6.entry.js +1 -0
  50. package/dist/b2b-core-components/{p-521303c4.entry.js → p-433a3f3e.entry.js} +1 -1
  51. package/dist/b2b-core-components/{p-fb0338a8.entry.js → p-4b27240b.entry.js} +1 -1
  52. package/dist/b2b-core-components/p-4e0ed246.entry.js +1 -0
  53. package/dist/b2b-core-components/p-5dacf68a.entry.js +1 -0
  54. package/dist/b2b-core-components/p-5f3ba5e6.js +1 -0
  55. package/dist/b2b-core-components/{p-6749d668.entry.js → p-66c435c1.entry.js} +1 -1
  56. package/dist/b2b-core-components/p-703da47c.entry.js +1 -0
  57. package/dist/b2b-core-components/{p-db92de92.entry.js → p-79a01d0d.entry.js} +1 -1
  58. package/dist/b2b-core-components/{p-092855b3.entry.js → p-81cffff6.entry.js} +1 -1
  59. package/dist/b2b-core-components/p-89e817e9.entry.js +1 -0
  60. package/dist/b2b-core-components/{p-26755654.entry.js → p-8aba659a.entry.js} +1 -1
  61. package/dist/b2b-core-components/{p-0322b052.entry.js → p-8ae9c2fe.entry.js} +1 -1
  62. package/dist/b2b-core-components/p-953fc46b.js +1 -0
  63. package/dist/b2b-core-components/{p-16872771.entry.js → p-997a232e.entry.js} +1 -1
  64. package/dist/b2b-core-components/p-a46674a7.entry.js +1 -0
  65. package/dist/b2b-core-components/{p-848e4af7.entry.js → p-a9c9552f.entry.js} +1 -1
  66. package/dist/b2b-core-components/{p-1abe3f2f.entry.js → p-b175fb79.entry.js} +1 -1
  67. package/dist/b2b-core-components/{p-bade1cab.entry.js → p-b4310b58.entry.js} +1 -1
  68. package/dist/b2b-core-components/p-b481eb09.entry.js +1 -0
  69. package/dist/b2b-core-components/{p-40371f89.entry.js → p-b9a6ad5d.entry.js} +1 -1
  70. package/dist/b2b-core-components/{p-4dad7870.entry.js → p-bc2b17c6.entry.js} +1 -1
  71. package/dist/b2b-core-components/{p-01f46118.entry.js → p-c086532b.entry.js} +1 -1
  72. package/dist/b2b-core-components/{p-58e9953b.entry.js → p-c25832e1.entry.js} +1 -1
  73. package/dist/b2b-core-components/{p-ff6a0874.entry.js → p-c43e067a.entry.js} +1 -1
  74. package/dist/b2b-core-components/p-c8b5c7e2.entry.js +1 -0
  75. package/dist/b2b-core-components/{p-190a7350.entry.js → p-c8cc1797.entry.js} +1 -1
  76. package/dist/b2b-core-components/{p-ed5c6006.entry.js → p-d163d252.entry.js} +1 -1
  77. package/dist/b2b-core-components/{p-dcef84a5.entry.js → p-d2f4db88.entry.js} +1 -1
  78. package/dist/b2b-core-components/{p-fedefca2.entry.js → p-d62e615b.entry.js} +1 -1
  79. package/dist/b2b-core-components/p-d97a7119.entry.js +1 -0
  80. package/dist/b2b-core-components/p-dff37884.entry.js +1 -0
  81. package/dist/b2b-core-components/{p-b1191aa7.entry.js → p-e3877fc1.entry.js} +1 -1
  82. package/dist/b2b-core-components/{p-e2518c43.entry.js → p-e512628d.entry.js} +1 -1
  83. package/dist/b2b-core-components/p-e8151556.entry.js +1 -0
  84. package/dist/b2b-core-components/p-e90d3aba.entry.js +1 -0
  85. package/dist/b2b-core-components/{p-3a088f2b.entry.js → p-f3c0fe56.entry.js} +1 -1
  86. package/dist/b2b-core-components/p-f4f20944.entry.js +1 -0
  87. package/dist/b2b-core-components/{p-ef598009.entry.js → p-f9f9820a.entry.js} +1 -1
  88. package/dist/b2b-core-components/p-fea90226.entry.js +1 -0
  89. package/dist/cjs/b2b-button_2.cjs.entry.js +1 -1
  90. package/dist/cjs/b2b-checkbox-group.cjs.entry.js +5 -12
  91. package/dist/cjs/b2b-checkbox.cjs.entry.js +6 -4
  92. package/dist/cjs/b2b-chip-component_2.cjs.entry.js +4 -2
  93. package/dist/cjs/b2b-core-components.cjs.js +1 -1
  94. package/dist/cjs/b2b-custom-dropdown.cjs.entry.js +5 -5
  95. package/dist/cjs/{b2b-date-picker-days_5.cjs.entry.js → b2b-date-picker-days-header_4.cjs.entry.js} +30 -196
  96. package/dist/cjs/b2b-date-picker-days.cjs.entry.js +180 -0
  97. package/dist/cjs/b2b-date-picker.cjs.entry.js +10 -5
  98. package/dist/cjs/b2b-date-range-picker-days_2.cjs.entry.js +201 -0
  99. package/dist/cjs/b2b-date-range-picker.cjs.entry.js +159 -0
  100. package/dist/cjs/b2b-dropdown.cjs.entry.js +34 -29
  101. package/dist/cjs/b2b-flyout-menu-option.cjs.entry.js +1 -1
  102. package/dist/cjs/b2b-flyout-menu.cjs.entry.js +3 -3
  103. package/dist/cjs/b2b-grid-col.cjs.entry.js +1 -1
  104. package/dist/cjs/b2b-grid-row.cjs.entry.js +2 -2
  105. package/dist/cjs/b2b-grid.cjs.entry.js +1 -1
  106. package/dist/cjs/b2b-icon-100.cjs.entry.js +401 -392
  107. package/dist/cjs/b2b-icon-50.cjs.entry.js +57 -35
  108. package/dist/cjs/b2b-icon.cjs.entry.js +355 -356
  109. package/dist/cjs/b2b-input-group_2.cjs.entry.js +6 -13
  110. package/dist/cjs/b2b-input-label.cjs.entry.js +2 -2
  111. package/dist/cjs/b2b-input_2.cjs.entry.js +8 -10
  112. package/dist/cjs/b2b-label.cjs.entry.js +2 -2
  113. package/dist/cjs/b2b-modal.cjs.entry.js +2 -2
  114. package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +82 -55
  115. package/dist/cjs/b2b-pagination.cjs.entry.js +1 -1
  116. package/dist/cjs/b2b-progress-bar.cjs.entry.js +3 -3
  117. package/dist/cjs/b2b-radio-button.cjs.entry.js +2 -2
  118. package/dist/cjs/b2b-radio-group.cjs.entry.js +2 -2
  119. package/dist/cjs/b2b-required-separator.cjs.entry.js +1 -1
  120. package/dist/cjs/b2b-rounded-icon.cjs.entry.js +4 -4
  121. package/dist/cjs/b2b-scrollable-container.cjs.entry.js +1 -1
  122. package/dist/cjs/b2b-search.cjs.entry.js +1 -1
  123. package/dist/cjs/b2b-separator.cjs.entry.js +1 -1
  124. package/dist/cjs/b2b-shimmer.cjs.entry.js +1 -1
  125. package/dist/cjs/b2b-snackbar.cjs.entry.js +4 -4
  126. package/dist/cjs/b2b-tab-group.cjs.entry.js +1 -1
  127. package/dist/cjs/b2b-tab-panel.cjs.entry.js +1 -1
  128. package/dist/cjs/b2b-tab.cjs.entry.js +2 -2
  129. package/dist/cjs/b2b-table-cell_2.cjs.entry.js +3 -3
  130. package/dist/cjs/b2b-table-row.cjs.entry.js +2 -2
  131. package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +2 -2
  132. package/dist/cjs/b2b-table.cjs.entry.js +2 -2
  133. package/dist/cjs/b2b-textarea.cjs.entry.js +2 -2
  134. package/dist/cjs/b2b-toggle-button.cjs.entry.js +3 -3
  135. package/dist/cjs/b2b-toggle-chip.cjs.entry.js +3 -3
  136. package/dist/cjs/b2b-toggle-group.cjs.entry.js +2 -2
  137. package/dist/cjs/b2b-toggle-switch.cjs.entry.js +5 -5
  138. package/dist/cjs/b2b-tooltip.cjs.entry.js +3 -3
  139. package/dist/cjs/b2b-wizard-icon.cjs.entry.js +1 -1
  140. package/dist/cjs/b2b-wizard-step.cjs.entry.js +2 -2
  141. package/dist/cjs/b2b-wizard.cjs.entry.js +1 -1
  142. package/dist/cjs/date-range-picker-utils-f4b4f5bf.js +135 -0
  143. package/dist/cjs/index-668808fd.js +14 -6
  144. package/dist/cjs/loader.cjs.js +1 -1
  145. package/dist/cjs/{request-801c6ba1.js → request-a16ba589.js} +1 -1
  146. package/dist/collection/collection-manifest.json +3 -1
  147. package/dist/collection/components/checkbox/checkbox.js +6 -4
  148. package/dist/collection/components/checkbox-group/checkbox-group.js +5 -12
  149. package/dist/collection/components/custom-dropdown/custom-dropdown.js +6 -6
  150. package/dist/collection/components/date-picker/date-picker-months.js +38 -10
  151. package/dist/collection/components/date-picker/date-picker-years.js +35 -15
  152. package/dist/collection/components/date-picker/date-picker.css +3 -4
  153. package/dist/collection/components/date-picker/date-picker.js +11 -6
  154. package/dist/collection/components/date-picker/date-picker.stories.js +9 -3
  155. package/dist/collection/components/date-range-picker/date-range-picker-days.css +280 -0
  156. package/dist/collection/components/date-range-picker/date-range-picker-days.e2e.js +19 -0
  157. package/dist/collection/components/date-range-picker/date-range-picker-days.js +349 -0
  158. package/dist/collection/components/date-range-picker/date-range-picker-utils.js +126 -0
  159. package/dist/collection/components/date-range-picker/date-range-picker-utils.spec.js +189 -0
  160. package/dist/collection/components/date-range-picker/date-range-picker.css +327 -0
  161. package/dist/collection/components/date-range-picker/date-range-picker.e2e.js +45 -0
  162. package/dist/collection/components/date-range-picker/date-range-picker.js +466 -0
  163. package/dist/collection/components/date-range-picker/date-range-picker.spec.js +18 -0
  164. package/dist/collection/components/date-range-picker/date-range-picker.stories.js +131 -0
  165. package/dist/collection/components/dropdown/dropdown.css +4 -0
  166. package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
  167. package/dist/collection/components/dropdown/dropdown.js +56 -29
  168. package/dist/collection/components/dropdown/dropdown.stories.js +17 -4
  169. package/dist/collection/components/flyout-menu/flyout-menu-option.js +1 -1
  170. package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +7 -2
  171. package/dist/collection/components/flyout-menu/flyout-menu.js +3 -3
  172. package/dist/collection/components/grid/column.js +1 -1
  173. package/dist/collection/components/grid/grid.js +1 -1
  174. package/dist/collection/components/grid/row.js +2 -2
  175. package/dist/collection/components/icon/types.js +354 -355
  176. package/dist/collection/components/icon-100/icon-100.js +1 -1
  177. package/dist/collection/components/icon-100/icon-100.stories.js +1 -1
  178. package/dist/collection/components/icon-100/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
  179. package/dist/collection/components/icon-100/icons-100/b2b_icon-clipboard-check.svg +3 -0
  180. package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.svg +3 -0
  181. package/dist/collection/components/icon-100/icons-100/b2b_icon-lock-open.svg +4 -0
  182. package/dist/collection/components/icon-100/icons-100/b2b_icon-person-wheelchair.svg +3 -0
  183. package/dist/collection/components/icon-100/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
  184. package/dist/collection/components/icon-100/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
  185. package/dist/collection/components/icon-100/icons-100/b2b_icon-universal-access.svg +3 -0
  186. package/dist/collection/components/icon-100/icons-100/b2b_icon-voice-sparkles.svg +3 -0
  187. package/dist/collection/components/icon-100/icons-100/b2b_icon-webhook.svg +3 -0
  188. package/dist/collection/components/icon-100/types.js +400 -391
  189. package/dist/collection/components/icon-50/icon-50.js +1 -1
  190. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-left.svg +3 -0
  191. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-right.svg +3 -0
  192. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
  193. package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-return.svg +3 -0
  194. package/dist/collection/components/icon-50/icons-50/b2b_icon-callback.svg +10 -0
  195. package/dist/collection/components/icon-50/icons-50/b2b_icon-feedback.svg +3 -0
  196. package/dist/collection/components/icon-50/icons-50/b2b_icon-flag-chequered.svg +3 -0
  197. package/dist/collection/components/icon-50/icons-50/b2b_icon-flame.svg +3 -0
  198. package/dist/collection/components/icon-50/icons-50/b2b_icon-inplace-zoom.svg +3 -0
  199. package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-closed.svg +3 -0
  200. package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-open.svg +10 -0
  201. package/dist/collection/components/icon-50/icons-50/b2b_icon-notification.svg +3 -0
  202. package/dist/collection/components/icon-50/icons-50/b2b_icon-pending.svg +3 -0
  203. package/dist/collection/components/icon-50/icons-50/b2b_icon-phone.svg +3 -0
  204. package/dist/collection/components/icon-50/icons-50/b2b_icon-print.svg +3 -0
  205. package/dist/collection/components/icon-50/icons-50/b2b_icon-qr-code.svg +10 -0
  206. package/dist/collection/components/icon-50/icons-50/b2b_icon-skip-link.svg +3 -0
  207. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-angry.svg +13 -0
  208. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-happy.svg +10 -0
  209. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-negative.svg +10 -0
  210. package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-neutral.svg +10 -0
  211. package/dist/collection/components/icon-50/icons-50/b2b_icon-sparkles.svg +10 -0
  212. package/dist/collection/components/icon-50/icons-50/b2b_icon-voucher.svg +3 -0
  213. package/dist/collection/components/icon-50/types.js +56 -34
  214. package/dist/collection/components/input/input.js +7 -9
  215. package/dist/collection/components/input-group/input-group.js +4 -11
  216. package/dist/collection/components/input-label/input-label.js +2 -2
  217. package/dist/collection/components/input-list/input-list-option.js +1 -1
  218. package/dist/collection/components/input-list/input-list.js +2 -2
  219. package/dist/collection/components/label/label.js +2 -2
  220. package/dist/collection/components/modal/modal.js +2 -2
  221. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.e2e.js +15 -0
  222. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +121 -61
  223. package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.stories.js +44 -11
  224. package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +22 -3
  225. package/dist/collection/components/pagination/pagination.js +1 -1
  226. package/dist/collection/components/paragraph/paragraph.js +2 -2
  227. package/dist/collection/components/progress-bar/progress-bar.js +3 -3
  228. package/dist/collection/components/radio/radio.js +2 -2
  229. package/dist/collection/components/radio-group/radio-group.js +2 -2
  230. package/dist/collection/components/required-separator/required-separator.js +1 -1
  231. package/dist/collection/components/rounded-icon/rounded-icon.js +4 -4
  232. package/dist/collection/components/scrollable-container/scrollable-container.js +1 -1
  233. package/dist/collection/components/search/search.js +1 -1
  234. package/dist/collection/components/separator/separator.js +1 -1
  235. package/dist/collection/components/shimmer/shimmer.js +1 -1
  236. package/dist/collection/components/snackbar/snackbar.js +5 -5
  237. package/dist/collection/components/spinner/spinner.js +1 -1
  238. package/dist/collection/components/tab/tab.js +2 -2
  239. package/dist/collection/components/tab-group/tab-group.js +1 -1
  240. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  241. package/dist/collection/components/table/table-cell/table-cell.js +2 -2
  242. package/dist/collection/components/table/table-header/table-header.js +1 -1
  243. package/dist/collection/components/table/table-row/table-row.js +2 -2
  244. package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +2 -2
  245. package/dist/collection/components/table/table.js +2 -2
  246. package/dist/collection/components/textarea/textarea.js +2 -2
  247. package/dist/collection/components/toggle-button/toggle-button.js +3 -3
  248. package/dist/collection/components/toggle-chip/toggle-chip.js +3 -3
  249. package/dist/collection/components/toggle-group/toggle-group.js +2 -2
  250. package/dist/collection/components/toggle-switch/toggle-switch.css +1 -1
  251. package/dist/collection/components/toggle-switch/toggle-switch.js +4 -4
  252. package/dist/collection/components/toggle-switch/toggle-switch.stories.js +15 -9
  253. package/dist/collection/components/tooltip/tooltip.js +3 -3
  254. package/dist/collection/components/wizard/wizard-step.js +2 -2
  255. package/dist/collection/components/wizard/wizard.js +1 -1
  256. package/dist/collection/components/wizard-icon/wizard-icon.js +1 -1
  257. package/dist/collection/docs/config/utils.js +10 -7
  258. package/dist/collection/utils/icon/request.js +1 -1
  259. package/dist/components/b2b-checkbox-group.js +5 -12
  260. package/dist/components/b2b-custom-dropdown.js +5 -5
  261. package/dist/components/b2b-date-picker.js +10 -5
  262. package/dist/components/b2b-date-range-picker-days.d.ts +11 -0
  263. package/dist/components/b2b-date-range-picker-days.js +6 -0
  264. package/dist/components/b2b-date-range-picker.d.ts +11 -0
  265. package/dist/components/b2b-date-range-picker.js +246 -0
  266. package/dist/components/b2b-dropdown.js +36 -29
  267. package/dist/components/b2b-flyout-menu-option.js +1 -1
  268. package/dist/components/b2b-flyout-menu.js +3 -3
  269. package/dist/components/b2b-grid-col.js +1 -1
  270. package/dist/components/b2b-grid-row.js +2 -2
  271. package/dist/components/b2b-grid.js +1 -1
  272. package/dist/components/b2b-icon-50.js +56 -34
  273. package/dist/components/b2b-icon.js +354 -355
  274. package/dist/components/b2b-label.js +2 -2
  275. package/dist/components/b2b-modal.js +2 -2
  276. package/dist/components/b2b-multiselect-dropdown.js +85 -55
  277. package/dist/components/b2b-pagination.js +1 -1
  278. package/dist/components/b2b-paragraph.js +1 -51
  279. package/dist/components/b2b-progress-bar.js +3 -3
  280. package/dist/components/b2b-radio-button.js +2 -2
  281. package/dist/components/b2b-radio-group.js +2 -2
  282. package/dist/components/b2b-required-separator.js +1 -1
  283. package/dist/components/b2b-scrollable-container.js +1 -1
  284. package/dist/components/b2b-search.js +1 -1
  285. package/dist/components/b2b-shimmer.js +1 -1
  286. package/dist/components/b2b-snackbar.js +4 -4
  287. package/dist/components/b2b-tab-group.js +1 -1
  288. package/dist/components/b2b-tab-panel.js +1 -1
  289. package/dist/components/b2b-tab.js +2 -2
  290. package/dist/components/b2b-table-row.js +2 -2
  291. package/dist/components/b2b-table-rowgroup.js +2 -2
  292. package/dist/components/b2b-table.js +2 -2
  293. package/dist/components/b2b-textarea.js +2 -2
  294. package/dist/components/b2b-toggle-button.js +3 -3
  295. package/dist/components/b2b-toggle-chip.js +3 -3
  296. package/dist/components/b2b-toggle-group.js +2 -2
  297. package/dist/components/b2b-toggle-switch.js +5 -5
  298. package/dist/components/b2b-tooltip.js +3 -3
  299. package/dist/components/b2b-wizard-step.js +2 -2
  300. package/dist/components/b2b-wizard.js +1 -1
  301. package/dist/components/checkbox.js +6 -4
  302. package/dist/components/date-picker-months.js +16 -8
  303. package/dist/components/date-picker-years.js +14 -14
  304. package/dist/components/date-range-picker-days.js +316 -0
  305. package/dist/components/icon-100.js +400 -391
  306. package/dist/components/input-group.js +4 -11
  307. package/dist/components/input-label.js +2 -2
  308. package/dist/components/input-list-option.js +1 -1
  309. package/dist/components/input-list.js +2 -2
  310. package/dist/components/input.js +7 -9
  311. package/dist/components/multiselect-option.js +5 -2
  312. package/dist/{cjs/b2b-paragraph.cjs.entry.js → components/paragraph.js} +31 -13
  313. package/dist/components/request.js +1 -1
  314. package/dist/components/rounded-icon.js +4 -4
  315. package/dist/components/separator.js +1 -1
  316. package/dist/components/spinner.js +1 -1
  317. package/dist/components/table-cell.js +2 -2
  318. package/dist/components/table-header.js +1 -1
  319. package/dist/components/wizard-icon.js +1 -1
  320. package/dist/custom-elements.json +175 -2
  321. package/dist/esm/b2b-button_2.entry.js +1 -1
  322. package/dist/esm/b2b-checkbox-group.entry.js +5 -12
  323. package/dist/esm/b2b-checkbox.entry.js +6 -4
  324. package/dist/esm/b2b-chip-component_2.entry.js +4 -2
  325. package/dist/esm/b2b-core-components.js +1 -1
  326. package/dist/esm/b2b-custom-dropdown.entry.js +5 -5
  327. package/dist/esm/{b2b-date-picker-days_5.entry.js → b2b-date-picker-days-header_4.entry.js} +32 -197
  328. package/dist/esm/b2b-date-picker-days.entry.js +176 -0
  329. package/dist/esm/b2b-date-picker.entry.js +10 -5
  330. package/dist/esm/b2b-date-range-picker-days_2.entry.js +196 -0
  331. package/dist/esm/b2b-date-range-picker.entry.js +155 -0
  332. package/dist/esm/b2b-dropdown.entry.js +34 -29
  333. package/dist/esm/b2b-flyout-menu-option.entry.js +1 -1
  334. package/dist/esm/b2b-flyout-menu.entry.js +3 -3
  335. package/dist/esm/b2b-grid-col.entry.js +1 -1
  336. package/dist/esm/b2b-grid-row.entry.js +2 -2
  337. package/dist/esm/b2b-grid.entry.js +1 -1
  338. package/dist/esm/b2b-icon-100.entry.js +401 -392
  339. package/dist/esm/b2b-icon-50.entry.js +57 -35
  340. package/dist/esm/b2b-icon.entry.js +355 -356
  341. package/dist/esm/b2b-input-group_2.entry.js +6 -13
  342. package/dist/esm/b2b-input-label.entry.js +2 -2
  343. package/dist/esm/b2b-input_2.entry.js +8 -10
  344. package/dist/esm/b2b-label.entry.js +2 -2
  345. package/dist/esm/b2b-modal.entry.js +2 -2
  346. package/dist/esm/b2b-multiselect-dropdown.entry.js +82 -55
  347. package/dist/esm/b2b-pagination.entry.js +1 -1
  348. package/dist/esm/b2b-progress-bar.entry.js +3 -3
  349. package/dist/esm/b2b-radio-button.entry.js +2 -2
  350. package/dist/esm/b2b-radio-group.entry.js +2 -2
  351. package/dist/esm/b2b-required-separator.entry.js +1 -1
  352. package/dist/esm/b2b-rounded-icon.entry.js +4 -4
  353. package/dist/esm/b2b-scrollable-container.entry.js +1 -1
  354. package/dist/esm/b2b-search.entry.js +1 -1
  355. package/dist/esm/b2b-separator.entry.js +1 -1
  356. package/dist/esm/b2b-shimmer.entry.js +1 -1
  357. package/dist/esm/b2b-snackbar.entry.js +4 -4
  358. package/dist/esm/b2b-tab-group.entry.js +1 -1
  359. package/dist/esm/b2b-tab-panel.entry.js +1 -1
  360. package/dist/esm/b2b-tab.entry.js +2 -2
  361. package/dist/esm/b2b-table-cell_2.entry.js +3 -3
  362. package/dist/esm/b2b-table-row.entry.js +2 -2
  363. package/dist/esm/b2b-table-rowgroup.entry.js +2 -2
  364. package/dist/esm/b2b-table.entry.js +2 -2
  365. package/dist/esm/b2b-textarea.entry.js +2 -2
  366. package/dist/esm/b2b-toggle-button.entry.js +3 -3
  367. package/dist/esm/b2b-toggle-chip.entry.js +3 -3
  368. package/dist/esm/b2b-toggle-group.entry.js +2 -2
  369. package/dist/esm/b2b-toggle-switch.entry.js +5 -5
  370. package/dist/esm/b2b-tooltip.entry.js +3 -3
  371. package/dist/esm/b2b-wizard-icon.entry.js +1 -1
  372. package/dist/esm/b2b-wizard-step.entry.js +2 -2
  373. package/dist/esm/b2b-wizard.entry.js +1 -1
  374. package/dist/esm/date-range-picker-utils-92a5fb50.js +128 -0
  375. package/dist/esm/index-ab9eb36d.js +14 -6
  376. package/dist/esm/loader.js +1 -1
  377. package/dist/esm/{request-1d048f8a.js → request-6bb66f19.js} +1 -1
  378. package/dist/types/components/custom-dropdown/custom-dropdown.d.ts +5 -3
  379. package/dist/types/components/date-picker/date-picker-months.d.ts +7 -4
  380. package/dist/types/components/date-picker/date-picker-years.d.ts +6 -5
  381. package/dist/types/components/date-picker/date-picker.d.ts +4 -4
  382. package/dist/types/components/date-range-picker/date-range-picker-days.d.ts +57 -0
  383. package/dist/types/components/date-range-picker/date-range-picker-utils.d.ts +58 -0
  384. package/dist/types/components/date-range-picker/date-range-picker.d.ts +89 -0
  385. package/dist/types/components/date-range-picker/date-range-picker.stories.d.ts +23 -0
  386. package/dist/types/components/dropdown/dropdown.d.ts +4 -2
  387. package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -0
  388. package/dist/types/components/icon/types.d.ts +1 -1
  389. package/dist/types/components/icon-100/types.d.ts +2 -2
  390. package/dist/types/components/icon-50/types.d.ts +2 -2
  391. package/dist/types/components/multiselect-dropdown/multiselect-dropdown.d.ts +19 -9
  392. package/dist/types/components/multiselect-dropdown/multiselect-dropdown.stories.d.ts +23 -4
  393. package/dist/types/components/multiselect-dropdown/multiselect-option/multiselect-option.d.ts +3 -1
  394. package/dist/types/components/snackbar/snackbar.d.ts +2 -2
  395. package/dist/types/components/toggle-switch/toggle-switch.stories.d.ts +16 -4
  396. package/dist/types/components.d.ts +248 -10
  397. package/dist/types/docs/config/utils.d.ts +14 -0
  398. package/dist/types/utils/interfaces/form.interface.d.ts +6 -2
  399. package/dist/web-types.json +247 -15
  400. package/package.json +2 -2
  401. package/dist/b2b-core-components/p-0bf2c192.entry.js +0 -1
  402. package/dist/b2b-core-components/p-15df2a47.entry.js +0 -1
  403. package/dist/b2b-core-components/p-1d6f73dd.entry.js +0 -1
  404. package/dist/b2b-core-components/p-54eee61c.entry.js +0 -1
  405. package/dist/b2b-core-components/p-61b2a6ad.js +0 -1
  406. package/dist/b2b-core-components/p-639d68a2.entry.js +0 -1
  407. package/dist/b2b-core-components/p-67484ecc.entry.js +0 -1
  408. package/dist/b2b-core-components/p-6b291a01.entry.js +0 -1
  409. package/dist/b2b-core-components/p-6c60d337.entry.js +0 -1
  410. package/dist/b2b-core-components/p-6d64a994.entry.js +0 -1
  411. package/dist/b2b-core-components/p-82a2809e.entry.js +0 -1
  412. package/dist/b2b-core-components/p-a614bd46.entry.js +0 -1
  413. package/dist/b2b-core-components/p-ae7ec34a.entry.js +0 -1
  414. package/dist/b2b-core-components/p-b4d46a07.entry.js +0 -1
  415. package/dist/b2b-core-components/p-d88113f5.entry.js +0 -1
  416. package/dist/b2b-core-components/p-f661154c.entry.js +0 -1
  417. package/dist/b2b-core-components/p-f83dd748.entry.js +0 -1
  418. package/dist/esm/b2b-paragraph.entry.js +0 -31
@@ -0,0 +1,466 @@
1
+ import { h, Host, } from "@stencil/core";
2
+ import { dateAsNumber, isDateRangeEqual, splitDate, toDate, toDateRange, toDateRangeString, } from "./date-range-picker-utils";
3
+ export class B2bDateRangePicker {
4
+ constructor() {
5
+ this.label = 'Zeitraum auswählen';
6
+ this.required = false;
7
+ this.dateRange = undefined;
8
+ this.disableDates = () => false;
9
+ this.presets = {};
10
+ this.invalid = false;
11
+ this.hint = undefined;
12
+ this.error = undefined;
13
+ this.language = 'de';
14
+ this.open = false;
15
+ this.tempDate = undefined;
16
+ this.internalDateRange = undefined;
17
+ this.highlightDateRange = undefined;
18
+ this.viewMode = "Days" /* DatePickerView.Days */;
19
+ this.viewedYear = undefined;
20
+ this.viewedMonth = undefined;
21
+ this.viewedDay = undefined;
22
+ }
23
+ updateDateRange(value) {
24
+ this.internalDateRange = toDateRange(value);
25
+ this.resetViewedDate();
26
+ }
27
+ // #endregion
28
+ // #region Logic
29
+ handleDatePickerViewChanged(event) {
30
+ this.viewMode = event.detail.value;
31
+ }
32
+ previousMonth() {
33
+ if (this.viewedMonth === 0) {
34
+ this.viewedMonth = 11;
35
+ this.viewedYear -= 1;
36
+ }
37
+ else {
38
+ this.viewedMonth -= 1;
39
+ }
40
+ }
41
+ nextMonth() {
42
+ if (this.viewedMonth === 11) {
43
+ this.viewedMonth = 0;
44
+ this.viewedYear += 1;
45
+ }
46
+ else {
47
+ this.viewedMonth += 1;
48
+ }
49
+ }
50
+ handleMonthSelected(event) {
51
+ this.viewedMonth = event.detail.value + 1;
52
+ this.viewMode = "Days" /* DatePickerView.Days */;
53
+ }
54
+ handleYearSelected(event) {
55
+ this.viewedYear = event.detail.value;
56
+ this.viewMode = "Days" /* DatePickerView.Days */;
57
+ }
58
+ handleEscapePress() {
59
+ this.toggleOpen(false);
60
+ }
61
+ handleDateSelected(event) {
62
+ event.preventDefault();
63
+ this.selectDate(event.detail.selectedDate);
64
+ }
65
+ selectDate(selected) {
66
+ if (this.tempDate == null) {
67
+ this.tempDate = splitDate(selected);
68
+ }
69
+ else if (dateAsNumber(selected) >= dateAsNumber(this.tempDate)) {
70
+ this.setDate([toDate(this.tempDate), toDate(selected)]);
71
+ }
72
+ else {
73
+ this.setDate([toDate(selected), toDate(this.tempDate)]);
74
+ }
75
+ }
76
+ setDate(selected) {
77
+ this.internalDateRange = selected;
78
+ this.toggleOpen(false);
79
+ if (selected == null) {
80
+ this.b2bClear.emit();
81
+ }
82
+ else {
83
+ this.b2bSelected.emit({ selected });
84
+ }
85
+ }
86
+ toggleOpen(open = !this.open) {
87
+ this.open = open;
88
+ if (!open) {
89
+ this.tempDate = undefined;
90
+ this.resetViewedDate();
91
+ }
92
+ }
93
+ resetViewedDate() {
94
+ var _a;
95
+ const startDate = (_a = this.internalDateRange) === null || _a === void 0 ? void 0 : _a[0];
96
+ if (startDate == null) {
97
+ const now = new Date();
98
+ this.viewedYear = now.getFullYear();
99
+ this.viewedMonth = now.getMonth() + 1;
100
+ this.viewedDay = now.getDate();
101
+ }
102
+ else {
103
+ const [year, month, day] = splitDate(startDate);
104
+ this.viewedYear = year;
105
+ this.viewedMonth = month;
106
+ this.viewedDay = day;
107
+ }
108
+ this.viewMode = "Days" /* DatePickerView.Days */;
109
+ }
110
+ // #endregion
111
+ // #region Component-Hooks
112
+ componentWillLoad() {
113
+ this.internalDateRange = toDateRange(this.dateRange);
114
+ this.resetViewedDate();
115
+ }
116
+ render() {
117
+ var _a, _b, _c, _d, _e, _f, _g;
118
+ return (h(Host, { key: '36a6fd2d45a9019e57dda728f47961cf54bf2535' }, h("div", { key: '26c3eca4579e092b68ddb76fdb72de3fb3e1d1a0', class: "b2b-date-range-picker" }, h("b2b-input-label", { key: 'c6324a8b0ec07dc719e44ae35ce6987a46e012e3', required: this.required }, this.label), h("div", { key: '3f27ec4c6054966866d1184e80c0b1a9b5c50178', class: {
119
+ 'b2b-date-range-picker-input-wrapper': true,
120
+ 'b2b-date-range-picker-input-wrapper--error': this.invalid,
121
+ 'b2b-date-range-picker-input-wrapper--open': this.open,
122
+ }, onClick: () => this.toggleOpen() }, h("b2b-paragraph", { key: '23690e8fc98fd82699dbc1319fa26308af7ce23f', margin: false }, toDateRangeString(this.internalDateRange, '')), h("div", { key: '6665672a212e59d228aaf56f53ab03b27df857ea', class: "b2b-icons" }, this.internalDateRange && (h("div", { tabIndex: 0, onClick: () => this.setDate(undefined), onKeyDown: (event) => {
123
+ if (event.key === 'Enter') {
124
+ this.setDate(undefined);
125
+ }
126
+ } }, h("b2b-icon-100", { icon: "b2b_icon-close", "aria-label": "clear input", clickable: true }))), h("div", { key: 'c87f07fb2e73d9c250c26a92b77d4802f4f0a72f', tabindex: 0, onClick: () => this.toggleOpen(), onKeyDown: event => {
127
+ if (event.key === 'Enter') {
128
+ this.toggleOpen();
129
+ }
130
+ }, class: "b2b-event-icon" }, h("b2b-icon-100", { key: 'cb2bdceb7a80747fd3e8efcf294189a7e7f0b6fb', "aria-label": this.open ? 'close date picker' : 'open date picker', icon: "b2b_icon-event", clickable: true }))))), h("div", { key: '84ba8c35eccb089f50a24134bcb5b9e447bdaa95', class: {
131
+ 'b2b-date-range-picker-body': true,
132
+ 'b2b-date-range-picker-body--hidden': !this.open,
133
+ } }, h("div", { key: '154bc92126a558f33be046de4a1e9cd0a2b3bfdb', class: "b2b-date-range-picker-body--calendar" }, this.viewMode === "Days" /* DatePickerView.Days */ && (h("div", null, h("b2b-date-picker-header", { language: this.language, selectedMonth: this.viewedMonth - 1, selectedYear: this.viewedYear }), h("b2b-date-picker-days-header", { language: this.language }), h("b2b-date-range-picker-days", { viewedDate: [this.viewedYear, this.viewedMonth, this.viewedDay], firstDate: (_c = (_b = (_a = this.highlightDateRange) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : this.tempDate) !== null && _c !== void 0 ? _c : (_d = this.internalDateRange) === null || _d === void 0 ? void 0 : _d[0], secondDate: (_f = (_e = this.highlightDateRange) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : (this.tempDate == null
134
+ ? (_g = this.internalDateRange) === null || _g === void 0 ? void 0 : _g[1]
135
+ : undefined), disableDates: day => this.disableDates(toDate([this.viewedYear, this.viewedMonth, day])), preview: this.highlightDateRange != null }))), this.viewMode === "Months" /* DatePickerView.Months */ && (h("b2b-date-picker-months", { language: this.language, selectedMonth: this.viewedMonth - 1 })), this.viewMode === "Years" /* DatePickerView.Years */ && (h("b2b-date-picker-years", { selectedYear: this.viewedYear }))), Object.keys(this.presets).length > 0 && (h("div", { class: "b2b-date-range-picker-body--presets" }, Object.entries(this.presets).map(([text, value]) => (h("b2b-paragraph", { class: {
136
+ 'b2b-date-range-picker-body--presets--selected': isDateRangeEqual(this.internalDateRange, value),
137
+ }, margin: false, onClick: () => this.setDate(value), onMouseOver: () => (this.highlightDateRange = value), onMouseOut: () => (this.highlightDateRange = undefined) }, text)))))), this.open && (h("div", { class: "b2b-date-range-picker--backdrop", onClick: () => this.toggleOpen(false) })), (this.error != null || this.hint != null) && (h("span", { class: {
138
+ 'b2b-date-range-picker-hint': true,
139
+ 'b2b-date-range-picker-hint--error': this.invalid,
140
+ } }, this.invalid ? this.error : this.hint))));
141
+ }
142
+ static get is() { return "b2b-date-range-picker"; }
143
+ static get encapsulation() { return "shadow"; }
144
+ static get originalStyleUrls() {
145
+ return {
146
+ "$": ["date-range-picker.scss"]
147
+ };
148
+ }
149
+ static get styleUrls() {
150
+ return {
151
+ "$": ["date-range-picker.css"]
152
+ };
153
+ }
154
+ static get properties() {
155
+ return {
156
+ "label": {
157
+ "type": "string",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "string",
161
+ "resolved": "string",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": false,
166
+ "docs": {
167
+ "tags": [{
168
+ "name": "default",
169
+ "text": "'Zeitraum ausw\u00E4hlen'"
170
+ }],
171
+ "text": "Label for the date range picker component."
172
+ },
173
+ "attribute": "label",
174
+ "reflect": false,
175
+ "defaultValue": "'Zeitraum ausw\u00E4hlen'"
176
+ },
177
+ "required": {
178
+ "type": "boolean",
179
+ "mutable": false,
180
+ "complexType": {
181
+ "original": "boolean",
182
+ "resolved": "boolean",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [{
189
+ "name": "default",
190
+ "text": "false"
191
+ }],
192
+ "text": "Adds an asterisk at the end of the label to signify that the field is required."
193
+ },
194
+ "attribute": "required",
195
+ "reflect": false,
196
+ "defaultValue": "false"
197
+ },
198
+ "dateRange": {
199
+ "type": "string",
200
+ "mutable": false,
201
+ "complexType": {
202
+ "original": "string | DatishRange",
203
+ "resolved": "readonly [Dateish, Dateish] | string",
204
+ "references": {
205
+ "DatishRange": {
206
+ "location": "import",
207
+ "path": "./date-range-picker-utils",
208
+ "id": "src/components/date-range-picker/date-range-picker-utils.ts::DatishRange"
209
+ }
210
+ }
211
+ },
212
+ "required": false,
213
+ "optional": true,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": "The start and the end date of the selected date range.\nFormat: `TT.MM.YYYY`"
217
+ },
218
+ "attribute": "date-range",
219
+ "reflect": false
220
+ },
221
+ "disableDates": {
222
+ "type": "unknown",
223
+ "mutable": false,
224
+ "complexType": {
225
+ "original": "(date: Date) => boolean",
226
+ "resolved": "(date: Date) => boolean",
227
+ "references": {
228
+ "Date": {
229
+ "location": "global",
230
+ "id": "global::Date"
231
+ }
232
+ }
233
+ },
234
+ "required": false,
235
+ "optional": false,
236
+ "docs": {
237
+ "tags": [{
238
+ "name": "param",
239
+ "text": "date The date to check. Format: `TT.MM.YYYY`"
240
+ }, {
241
+ "name": "returns",
242
+ "text": "True, if the date should be disabled. False otherwise."
243
+ }, {
244
+ "name": "default",
245
+ "text": "(date) => false"
246
+ }],
247
+ "text": "Function used to determine, whether a date should be disabled e.g. because it is in the past.\nThis is only used for the start and end dates, it is valid to have a disabled date in the range of start and end date."
248
+ },
249
+ "defaultValue": "() => false"
250
+ },
251
+ "presets": {
252
+ "type": "unknown",
253
+ "mutable": false,
254
+ "complexType": {
255
+ "original": "Record<string, DateRange>",
256
+ "resolved": "{ [x: string]: DateRange; }",
257
+ "references": {
258
+ "Record": {
259
+ "location": "global",
260
+ "id": "global::Record"
261
+ },
262
+ "DateRange": {
263
+ "location": "import",
264
+ "path": "./date-range-picker-utils",
265
+ "id": "src/components/date-range-picker/date-range-picker-utils.ts::DateRange"
266
+ }
267
+ }
268
+ },
269
+ "required": false,
270
+ "optional": false,
271
+ "docs": {
272
+ "tags": [{
273
+ "name": "default",
274
+ "text": "{}"
275
+ }],
276
+ "text": "A list of presets, that the user can click on to simplify time range selection."
277
+ },
278
+ "defaultValue": "{}"
279
+ },
280
+ "invalid": {
281
+ "type": "boolean",
282
+ "mutable": false,
283
+ "complexType": {
284
+ "original": "boolean",
285
+ "resolved": "boolean",
286
+ "references": {}
287
+ },
288
+ "required": false,
289
+ "optional": false,
290
+ "docs": {
291
+ "tags": [{
292
+ "name": "default",
293
+ "text": "false"
294
+ }],
295
+ "text": "Whether the input is currently invalid. If true, the input is rendered with error styles."
296
+ },
297
+ "attribute": "invalid",
298
+ "reflect": false,
299
+ "defaultValue": "false"
300
+ },
301
+ "hint": {
302
+ "type": "string",
303
+ "mutable": false,
304
+ "complexType": {
305
+ "original": "string",
306
+ "resolved": "string",
307
+ "references": {}
308
+ },
309
+ "required": false,
310
+ "optional": true,
311
+ "docs": {
312
+ "tags": [],
313
+ "text": "The hint text that appears underneath the input field."
314
+ },
315
+ "attribute": "hint",
316
+ "reflect": false
317
+ },
318
+ "error": {
319
+ "type": "string",
320
+ "mutable": false,
321
+ "complexType": {
322
+ "original": "string",
323
+ "resolved": "string",
324
+ "references": {}
325
+ },
326
+ "required": false,
327
+ "optional": true,
328
+ "docs": {
329
+ "tags": [],
330
+ "text": "The error message that is shown if the input is invalid."
331
+ },
332
+ "attribute": "error",
333
+ "reflect": false
334
+ },
335
+ "language": {
336
+ "type": "string",
337
+ "mutable": false,
338
+ "complexType": {
339
+ "original": "'de' | 'en'",
340
+ "resolved": "\"de\" | \"en\"",
341
+ "references": {}
342
+ },
343
+ "required": false,
344
+ "optional": false,
345
+ "docs": {
346
+ "tags": [{
347
+ "name": "default",
348
+ "text": "'de'"
349
+ }],
350
+ "text": "The language for month and the weekdays will be decided based on the given input.\nOne of `'de'` (German) or `'English'`."
351
+ },
352
+ "attribute": "language",
353
+ "reflect": false,
354
+ "defaultValue": "'de'"
355
+ }
356
+ };
357
+ }
358
+ static get states() {
359
+ return {
360
+ "open": {},
361
+ "tempDate": {},
362
+ "internalDateRange": {},
363
+ "highlightDateRange": {},
364
+ "viewMode": {},
365
+ "viewedYear": {},
366
+ "viewedMonth": {},
367
+ "viewedDay": {}
368
+ };
369
+ }
370
+ static get events() {
371
+ return [{
372
+ "method": "b2bSelected",
373
+ "name": "b2b-selected",
374
+ "bubbles": true,
375
+ "cancelable": true,
376
+ "composed": true,
377
+ "docs": {
378
+ "tags": [],
379
+ "text": "Emits the selected date range as tuple type."
380
+ },
381
+ "complexType": {
382
+ "original": "DateRangePickerEventDetail",
383
+ "resolved": "DateRangePickerEventDetail",
384
+ "references": {
385
+ "DateRangePickerEventDetail": {
386
+ "location": "import",
387
+ "path": "../../utils/interfaces/form.interface",
388
+ "id": "src/utils/interfaces/form.interface.d.ts::DateRangePickerEventDetail"
389
+ }
390
+ }
391
+ }
392
+ }, {
393
+ "method": "b2bClear",
394
+ "name": "b2b-clear",
395
+ "bubbles": true,
396
+ "cancelable": true,
397
+ "composed": true,
398
+ "docs": {
399
+ "tags": [],
400
+ "text": "Emits when the user clicks the clear button."
401
+ },
402
+ "complexType": {
403
+ "original": "DateClear",
404
+ "resolved": "DateClear",
405
+ "references": {
406
+ "DateClear": {
407
+ "location": "import",
408
+ "path": "../../utils/interfaces/form.interface",
409
+ "id": "src/utils/interfaces/form.interface.d.ts::DateClear"
410
+ }
411
+ }
412
+ }
413
+ }];
414
+ }
415
+ static get watchers() {
416
+ return [{
417
+ "propName": "dateRange",
418
+ "methodName": "updateDateRange"
419
+ }];
420
+ }
421
+ static get listeners() {
422
+ return [{
423
+ "name": "b2b-date-picker-view-changed",
424
+ "method": "handleDatePickerViewChanged",
425
+ "target": undefined,
426
+ "capture": false,
427
+ "passive": false
428
+ }, {
429
+ "name": "b2b-date-picker-previous-month",
430
+ "method": "previousMonth",
431
+ "target": undefined,
432
+ "capture": false,
433
+ "passive": false
434
+ }, {
435
+ "name": "b2b-date-picker-next-month",
436
+ "method": "nextMonth",
437
+ "target": undefined,
438
+ "capture": false,
439
+ "passive": false
440
+ }, {
441
+ "name": "b2b-date-picker-month-selected",
442
+ "method": "handleMonthSelected",
443
+ "target": undefined,
444
+ "capture": false,
445
+ "passive": false
446
+ }, {
447
+ "name": "b2b-date-picker-year-selected",
448
+ "method": "handleYearSelected",
449
+ "target": undefined,
450
+ "capture": false,
451
+ "passive": false
452
+ }, {
453
+ "name": "b2b-date-picker-escape",
454
+ "method": "handleEscapePress",
455
+ "target": undefined,
456
+ "capture": false,
457
+ "passive": false
458
+ }, {
459
+ "name": "b2b-date-selected",
460
+ "method": "handleDateSelected",
461
+ "target": undefined,
462
+ "capture": false,
463
+ "passive": false
464
+ }];
465
+ }
466
+ }
@@ -0,0 +1,18 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { h } from "@stencil/core";
3
+ import { B2bDateRangePicker } from "./date-range-picker";
4
+ import { ParagraphComponent } from "../paragraph/paragraph";
5
+ it('should render the date-range-picker', async () => {
6
+ const page = await newSpecPage({
7
+ components: [B2bDateRangePicker],
8
+ template: () => h("b2b-date-range-picker", null),
9
+ });
10
+ expect(page.root).toMatchSnapshot();
11
+ });
12
+ it('should display custom properties', async () => {
13
+ const page = await newSpecPage({
14
+ components: [B2bDateRangePicker, ParagraphComponent],
15
+ template: () => (h("b2b-date-range-picker", { label: "Test", hint: "Test", error: "Error" })),
16
+ });
17
+ expect(page.root).toMatchSnapshot();
18
+ });
@@ -0,0 +1,131 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s)
4
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { userEvent } from "@storybook/test";
14
+ import { getArgTypes } from "../../docs/config/utils";
15
+ function toHtmlAttribute(args, key) {
16
+ const value = args[key];
17
+ if (value == null || value === '') {
18
+ return '';
19
+ }
20
+ return `${key}=${JSON.stringify(value)}`;
21
+ }
22
+ const controls = {
23
+ dateRange: false,
24
+ presets: false,
25
+ disableDates: 'function',
26
+ hint: 'text',
27
+ error: 'text',
28
+ };
29
+ export default {
30
+ title: 'Components/Form/Date Range Picker',
31
+ component: 'b2b-date-range-picker',
32
+ args: {
33
+ label: 'Zeitraum auswählen',
34
+ required: false,
35
+ dateRange: undefined,
36
+ disableDates: undefined,
37
+ presets: {},
38
+ invalid: false,
39
+ hint: undefined,
40
+ error: undefined,
41
+ language: 'de',
42
+ },
43
+ argTypes: Object.assign({}, getArgTypes('b2b-date-range-picker', controls)),
44
+ render: (_a) => {
45
+ var args = __rest(_a, []);
46
+ return `<div style="margin-left: 2px; width: 300px">
47
+ <b2b-date-range-picker
48
+ ${toHtmlAttribute(args, 'label')}
49
+ ${toHtmlAttribute(args, 'required')}
50
+ ${toHtmlAttribute(args, 'dateRange')}
51
+ ${toHtmlAttribute(args, 'disableDates')}
52
+ ${toHtmlAttribute(args, 'presets')}
53
+ ${toHtmlAttribute(args, 'invalid')}
54
+ ${toHtmlAttribute(args, 'hint')}
55
+ ${toHtmlAttribute(args, 'error')}
56
+ ${toHtmlAttribute(args, 'language')} >
57
+ </b2b-date-range-picker>
58
+ </div>`;
59
+ },
60
+ };
61
+ function findDatePicker(canvasElement) {
62
+ return canvasElement.querySelector('b2b-date-range-picker');
63
+ }
64
+ async function open(datePicker) {
65
+ var _a;
66
+ const wrapper = (_a = datePicker.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.b2b-date-range-picker-input-wrapper');
67
+ await userEvent.click(wrapper);
68
+ }
69
+ const LOAD_DELAY = 500;
70
+ export const Default = {
71
+ play: async ({ canvasElement }) => {
72
+ setTimeout(async () => {
73
+ const datePicker = findDatePicker(canvasElement);
74
+ datePicker.dateRange = [new Date(2025, 0, 1), new Date(2025, 0, 1)];
75
+ await open(datePicker);
76
+ }, LOAD_DELAY);
77
+ },
78
+ };
79
+ export const AllProperties = {
80
+ args: {
81
+ label: 'Custom Label',
82
+ required: true,
83
+ invalid: false,
84
+ hint: 'Please Readme',
85
+ error: 'Sorry, but this is a test',
86
+ },
87
+ play: async ({ canvasElement }) => {
88
+ setTimeout(async () => {
89
+ const datePicker = findDatePicker(canvasElement);
90
+ datePicker.dateRange = [new Date(2025, 0, 1), new Date(2025, 1, 0)];
91
+ datePicker.disableDates = date => date.getDay() == 1;
92
+ datePicker.presets = {
93
+ 'Today': [new Date(), new Date()],
94
+ 'Feature Added': [new Date(2025, 8, 1), new Date(2025, 8, 23)],
95
+ };
96
+ await open(datePicker);
97
+ }, LOAD_DELAY);
98
+ },
99
+ };
100
+ export const PresetHover = {
101
+ play: async ({ canvasElement }) => {
102
+ setTimeout(async () => {
103
+ const datePicker = findDatePicker(canvasElement);
104
+ datePicker.dateRange = [new Date(2025, 8, 1), new Date(2025, 8, 1)];
105
+ datePicker.presets = {
106
+ 'Today': [new Date(), new Date()],
107
+ 'Feature Added': [new Date(2025, 8, 1), new Date(2025, 8, 23)],
108
+ };
109
+ setTimeout(async () => {
110
+ var _a;
111
+ const presets = (_a = datePicker.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.b2b-date-range-picker-body--presets');
112
+ const preset2 = presets === null || presets === void 0 ? void 0 : presets.children[1];
113
+ userEvent.hover(preset2);
114
+ }, 500);
115
+ await open(datePicker);
116
+ }, LOAD_DELAY);
117
+ },
118
+ };
119
+ export const PresetSelected = {
120
+ play: async ({ canvasElement }) => {
121
+ setTimeout(async () => {
122
+ const datePicker = findDatePicker(canvasElement);
123
+ datePicker.dateRange = [new Date(2025, 8, 1), new Date(2025, 8, 23)];
124
+ datePicker.presets = {
125
+ 'Today': [new Date(), new Date()],
126
+ 'Feature Added': [new Date(2025, 8, 1), new Date(2025, 8, 23)],
127
+ };
128
+ await open(datePicker);
129
+ }, LOAD_DELAY);
130
+ },
131
+ };
@@ -323,6 +323,10 @@
323
323
  background-color: var(--b2b-color-white-100);
324
324
  pointer-events: none;
325
325
  }
326
+ :host(.b2b-dropdown) .b2b-dropdown__option--selected {
327
+ background-color: var(--b2b-color-black-100);
328
+ color: var(--b2b-color-white-100);
329
+ }
326
330
  :host(.b2b-dropdown) b2b-input-label {
327
331
  display: block;
328
332
  margin-bottom: var(--b2b-size-5);
@@ -73,7 +73,7 @@ describe('B2B-Dropdown', () => {
73
73
  });
74
74
  const count = await page.evaluate(async () => {
75
75
  const dropdown = document.querySelector('b2b-dropdown');
76
- if (!dropdown)
76
+ if (dropdown == null)
77
77
  return -1;
78
78
  await new Promise(resolve => setTimeout(resolve, 2000));
79
79
  const options = dropdown.querySelectorAll('option');