@otto-de/b2b-core-components 1.4.0 → 1.6.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 (398) hide show
  1. package/dist/b2b-core-components/b2b-core-components.css +1 -1
  2. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  3. package/dist/b2b-core-components/p-01fd54a1.entry.js +1 -0
  4. package/dist/b2b-core-components/p-04fc18cd.entry.js +1 -0
  5. package/dist/b2b-core-components/p-06aa96a8.entry.js +1 -0
  6. package/dist/b2b-core-components/p-077217b3.entry.js +1 -0
  7. package/dist/b2b-core-components/p-0965b990.entry.js +1 -0
  8. package/dist/b2b-core-components/p-0beabdb4.entry.js +1 -0
  9. package/dist/b2b-core-components/p-163466cf.entry.js +1 -0
  10. package/dist/b2b-core-components/{p-c2bcf0a8.entry.js → p-197c1a6d.entry.js} +1 -1
  11. package/dist/b2b-core-components/p-1d007eea.entry.js +1 -0
  12. package/dist/b2b-core-components/{p-400b3111.entry.js → p-1e2752b2.entry.js} +1 -1
  13. package/dist/b2b-core-components/p-2328144b.entry.js +1 -0
  14. package/dist/b2b-core-components/{p-9184036b.entry.js → p-2ad8bdb6.entry.js} +1 -1
  15. package/dist/b2b-core-components/p-2d01e68a.entry.js +1 -0
  16. package/dist/b2b-core-components/{p-34f6555e.entry.js → p-3c0671ef.entry.js} +1 -1
  17. package/dist/b2b-core-components/p-42e7f397.entry.js +1 -0
  18. package/dist/b2b-core-components/p-44ccd8f4.entry.js +1 -0
  19. package/dist/b2b-core-components/p-542a358a.entry.js +1 -0
  20. package/dist/b2b-core-components/p-54fd68eb.entry.js +1 -0
  21. package/dist/b2b-core-components/p-60badad5.entry.js +1 -0
  22. package/dist/b2b-core-components/p-6140304e.entry.js +1 -0
  23. package/dist/b2b-core-components/{p-f0aa5e83.entry.js → p-681d6880.entry.js} +1 -1
  24. package/dist/b2b-core-components/p-8ad1bb92.entry.js +1 -0
  25. package/dist/b2b-core-components/p-90a3ffed.entry.js +1 -0
  26. package/dist/b2b-core-components/p-97ef9805.entry.js +1 -0
  27. package/dist/b2b-core-components/{p-48d4d224.entry.js → p-a50ea33f.entry.js} +1 -1
  28. package/dist/b2b-core-components/p-b3ccfc58.entry.js +1 -0
  29. package/dist/b2b-core-components/p-b6a8a06f.entry.js +1 -0
  30. package/dist/b2b-core-components/p-b8049234.entry.js +1 -0
  31. package/dist/b2b-core-components/p-bb5e7c53.js +1 -0
  32. package/dist/b2b-core-components/p-c294dd0c.entry.js +1 -0
  33. package/dist/b2b-core-components/p-d07210e2.entry.js +1 -0
  34. package/dist/b2b-core-components/p-d7bb8aa1.entry.js +1 -0
  35. package/dist/b2b-core-components/p-d83c2084.entry.js +1 -0
  36. package/dist/b2b-core-components/p-db7d2ec3.entry.js +1 -0
  37. package/dist/b2b-core-components/{p-9facba86.entry.js → p-dd79ab5b.entry.js} +1 -1
  38. package/dist/b2b-core-components/p-e5b78075.entry.js +1 -0
  39. package/dist/b2b-core-components/p-e811411a.entry.js +1 -0
  40. package/dist/b2b-core-components/p-f190bf79.entry.js +1 -0
  41. package/dist/b2b-core-components/p-f24515bf.entry.js +1 -0
  42. package/dist/b2b-core-components/p-f3ce95bf.js +2 -0
  43. package/dist/b2b-core-components/p-f7e9f889.entry.js +1 -0
  44. package/dist/cjs/b2b-alert.cjs.entry.js +4 -4
  45. package/dist/cjs/b2b-anchor.cjs.entry.js +2 -2
  46. package/dist/cjs/b2b-button_2.cjs.entry.js +13 -9
  47. package/dist/cjs/b2b-card.cjs.entry.js +2 -2
  48. package/dist/cjs/b2b-checkbox-group.cjs.entry.js +7 -5
  49. package/dist/cjs/b2b-checkbox_3.cjs.entry.js +206 -0
  50. package/dist/cjs/b2b-core-components.cjs.js +3 -3
  51. package/dist/cjs/b2b-dropdown.cjs.entry.js +3 -3
  52. package/dist/cjs/b2b-grid-col.cjs.entry.js +1 -1
  53. package/dist/cjs/b2b-grid-row.cjs.entry.js +2 -2
  54. package/dist/cjs/b2b-grid.cjs.entry.js +1 -1
  55. package/dist/cjs/b2b-headline.cjs.entry.js +2 -2
  56. package/dist/cjs/b2b-icon.cjs.entry.js +4 -4
  57. package/dist/cjs/b2b-input-group_2.cjs.entry.js +12 -9
  58. package/dist/cjs/b2b-input-label.cjs.entry.js +1 -1
  59. package/dist/cjs/b2b-input_2.cjs.entry.js +8 -7
  60. package/dist/cjs/b2b-label.cjs.entry.js +2 -2
  61. package/dist/cjs/b2b-modal.cjs.entry.js +5 -5
  62. package/dist/cjs/b2b-pagination.cjs.entry.js +5 -5
  63. package/dist/cjs/b2b-paragraph.cjs.entry.js +5 -5
  64. package/dist/cjs/b2b-radio-button.cjs.entry.js +2 -2
  65. package/dist/cjs/b2b-radio-group.cjs.entry.js +2 -2
  66. package/dist/cjs/b2b-required-separator.cjs.entry.js +3 -3
  67. package/dist/cjs/b2b-rounded-icon.cjs.entry.js +4 -2
  68. package/dist/cjs/b2b-scrollable-container.cjs.entry.js +2 -2
  69. package/dist/cjs/b2b-search.cjs.entry.js +6 -1
  70. package/dist/cjs/b2b-separator.cjs.entry.js +2 -2
  71. package/dist/cjs/b2b-tab-group.cjs.entry.js +1 -1
  72. package/dist/cjs/b2b-tab-panel.cjs.entry.js +2 -2
  73. package/dist/cjs/b2b-tab.cjs.entry.js +2 -2
  74. package/dist/cjs/b2b-table-row.cjs.entry.js +78 -23
  75. package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +87 -26
  76. package/dist/cjs/b2b-table.cjs.entry.js +13 -13
  77. package/dist/cjs/b2b-textarea.cjs.entry.js +2 -2
  78. package/dist/cjs/b2b-toggle-button.cjs.entry.js +7 -7
  79. package/dist/cjs/b2b-toggle-group.cjs.entry.js +3 -3
  80. package/dist/cjs/b2b-tooltip.cjs.entry.js +4 -4
  81. package/dist/cjs/b2b-wizard-icon.cjs.entry.js +6 -4
  82. package/dist/cjs/b2b-wizard-step.cjs.entry.js +26 -0
  83. package/dist/cjs/b2b-wizard.cjs.entry.js +61 -0
  84. package/dist/cjs/{index-496aa5dd.js → index-04e07a00.js} +100 -35
  85. package/dist/cjs/loader.cjs.js +3 -3
  86. package/dist/cjs/{types-ef85a0bf.js → table.types-00c8228a.js} +4 -4
  87. package/dist/cjs/wizard.types-690c64bb.js +10 -0
  88. package/dist/collection/collection-manifest.json +4 -2
  89. package/dist/collection/components/alert/alert.css +8 -9
  90. package/dist/collection/components/alert/alert.e2e.js +67 -0
  91. package/dist/collection/components/alert/alert.js +2 -2
  92. package/dist/collection/components/anchor/anchor.css +3 -4
  93. package/dist/collection/components/anchor/anchor.spec.js +68 -0
  94. package/dist/collection/components/button/button.css +36 -41
  95. package/dist/collection/components/button/button.e2e.js +80 -0
  96. package/dist/collection/components/button/button.js +31 -6
  97. package/dist/collection/components/card/card.css +3 -4
  98. package/dist/collection/components/card/card.e2e.js +110 -0
  99. package/dist/collection/components/card/card.spec.js +32 -0
  100. package/dist/collection/components/checkbox/checkbox.css +36 -16
  101. package/dist/collection/components/checkbox/checkbox.e2e.js +30 -0
  102. package/dist/collection/components/checkbox/checkbox.js +81 -6
  103. package/dist/collection/components/checkbox/checkbox.spec.js +45 -0
  104. package/dist/collection/components/checkbox-group/checkbox-group.css +7 -8
  105. package/dist/collection/components/checkbox-group/checkbox-group.e2e.js +78 -0
  106. package/dist/collection/components/checkbox-group/checkbox-group.js +5 -3
  107. package/dist/collection/components/checkbox-group/checkbox-group.spec.js +38 -0
  108. package/dist/collection/components/dropdown/dropdown.css +9 -10
  109. package/dist/collection/components/dropdown/dropdown.e2e.js +48 -0
  110. package/dist/collection/components/dropdown/dropdown.js +1 -1
  111. package/dist/collection/components/dropdown/dropdown.spec.js +52 -0
  112. package/dist/collection/components/grid/grid.e2e.js +17 -0
  113. package/dist/collection/components/grid/row.js +1 -1
  114. package/dist/collection/components/headline/headline.css +3 -4
  115. package/dist/collection/components/headline/headline.e2e.js +13 -0
  116. package/dist/collection/components/headline/headline.spec.js +67 -0
  117. package/dist/collection/components/icon/icon.css +10 -11
  118. package/dist/collection/components/icon/icon.js +2 -2
  119. package/dist/collection/components/icon/icon.spec.js +21 -0
  120. package/dist/collection/components/input/input.css +16 -17
  121. package/dist/collection/components/input/input.e2e.js +43 -0
  122. package/dist/collection/components/input/input.js +26 -4
  123. package/dist/collection/components/input/input.spec.js +45 -0
  124. package/dist/collection/components/input-group/input-group.css +6 -7
  125. package/dist/collection/components/input-group/input-group.e2e.js +76 -0
  126. package/dist/collection/components/input-group/input-group.js +6 -4
  127. package/dist/collection/components/input-group/input-group.spec.js +56 -0
  128. package/dist/collection/components/input-label/input-label.e2e.js +10 -0
  129. package/dist/collection/components/input-list/input-list.css +8 -9
  130. package/dist/collection/components/input-list/input-list.e2e.js +227 -0
  131. package/dist/collection/components/input-list/input-list.js +24 -2
  132. package/dist/collection/components/label/label.css +4 -5
  133. package/dist/collection/components/label/label.e2e.js +17 -0
  134. package/dist/collection/components/label/label.spec.js +58 -0
  135. package/dist/collection/components/modal/modal.css +14 -20
  136. package/dist/collection/components/modal/modal.e2e.js +115 -0
  137. package/dist/collection/components/modal/modal.js +3 -3
  138. package/dist/collection/components/pagination/pagination.css +8 -9
  139. package/dist/collection/components/pagination/pagination.e2e.js +256 -0
  140. package/dist/collection/components/pagination/pagination.js +3 -3
  141. package/dist/collection/components/pagination/pagination.spec.js +104 -0
  142. package/dist/collection/components/paragraph/paragraph.css +11 -12
  143. package/dist/collection/components/paragraph/paragraph.e2e.js +13 -0
  144. package/dist/collection/components/paragraph/paragraph.js +3 -3
  145. package/dist/collection/components/radio/radio.css +4 -5
  146. package/dist/collection/components/radio/radio.e2e.js +36 -0
  147. package/dist/collection/components/radio/radio.spec.js +38 -0
  148. package/dist/collection/components/radio-group/radio-group.css +4 -5
  149. package/dist/collection/components/radio-group/radio-group.e2e.js +71 -0
  150. package/dist/collection/components/radio-group/radio-group.spec.js +31 -0
  151. package/dist/collection/components/required-separator/required-separator.css +5 -6
  152. package/dist/collection/components/required-separator/required-separator.e2e.js +17 -0
  153. package/dist/collection/components/required-separator/required-separator.js +1 -1
  154. package/dist/collection/components/rounded-icon/rounded-icon.css +4 -5
  155. package/dist/collection/components/rounded-icon/rounded-icon.js +19 -0
  156. package/dist/collection/components/scrollable-container/scrollable-container.css +3 -4
  157. package/dist/collection/components/search/search.e2e.js +97 -0
  158. package/dist/collection/components/search/search.js +14 -0
  159. package/dist/collection/components/separator/separator.css +3 -4
  160. package/dist/collection/components/separator/separator.e2e.js +22 -0
  161. package/dist/collection/components/spinner/spinner.css +3 -4
  162. package/dist/collection/components/spinner/spinner.e2e.js +12 -0
  163. package/dist/collection/components/spinner/spinner.spec.js +41 -0
  164. package/dist/collection/components/tab/tab.css +3 -4
  165. package/dist/collection/components/tab/tab.e2e.js +35 -0
  166. package/dist/collection/components/tab/tab.spec.js +31 -0
  167. package/dist/collection/components/tab-group/tab-group.e2e.js +98 -0
  168. package/dist/collection/components/tab-panel/tab-panel.css +3 -4
  169. package/dist/collection/components/tab-panel/tab-panel.e2e.js +12 -0
  170. package/dist/collection/components/tab-panel/tab-panel.spec.js +10 -0
  171. package/dist/collection/components/table/stories.data.js +6 -6
  172. package/dist/collection/components/table/table-cell/table-cell.css +3 -4
  173. package/dist/collection/components/table/table-cell/table-cell.js +4 -4
  174. package/dist/collection/components/table/table-header/table-header.css +18 -19
  175. package/dist/collection/components/table/table-header/table-header.js +7 -7
  176. package/dist/collection/components/table/table-row/table-row.css +4 -5
  177. package/dist/collection/components/table/table-row/table-row.js +187 -28
  178. package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +4 -5
  179. package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +119 -24
  180. package/dist/collection/components/table/table.css +3 -4
  181. package/dist/collection/components/table/table.e2e.js +370 -0
  182. package/dist/collection/components/table/table.js +10 -10
  183. package/dist/collection/components/table/table.stories.js +17 -8
  184. package/dist/collection/components/table/utils.js +18 -0
  185. package/dist/collection/components/textarea/textarea.css +4 -5
  186. package/dist/collection/components/textarea/textarea.e2e.js +91 -0
  187. package/dist/collection/components/toggle-button/toggle-button.css +10 -11
  188. package/dist/collection/components/toggle-button/toggle-button.e2e.js +44 -0
  189. package/dist/collection/components/toggle-button/toggle-button.js +5 -5
  190. package/dist/collection/components/toggle-group/toggle-group.css +4 -5
  191. package/dist/collection/components/toggle-group/toggle-group.e2e.js +65 -0
  192. package/dist/collection/components/toggle-group/toggle-group.js +1 -1
  193. package/dist/collection/components/tooltip/tooltip.css +16 -17
  194. package/dist/collection/components/tooltip/tooltip.e2e.js +64 -0
  195. package/dist/collection/components/tooltip/tooltip.js +2 -2
  196. package/dist/collection/components/wizard/wizard-step.js +95 -0
  197. package/dist/collection/components/wizard/wizard.css +240 -0
  198. package/dist/collection/components/wizard/wizard.e2e.js +149 -0
  199. package/dist/collection/components/wizard/wizard.js +125 -0
  200. package/dist/collection/components/wizard/wizard.stories.js +44 -0
  201. package/dist/collection/components/wizard-icon/wizard-icon.css +3 -4
  202. package/dist/collection/components/wizard-icon/wizard-icon.js +38 -8
  203. package/dist/collection/components/wizard-icon/wizard-icon.stories.js +14 -3
  204. package/dist/collection/docs/config/replace-prop-controls.spec.js +32 -0
  205. package/dist/collection/{components/table/types.js → utils/types/table.types.js} +7 -3
  206. package/dist/collection/utils/types/wizard.types.js +6 -0
  207. package/dist/collection/utils/utils.spec.js +15 -0
  208. package/dist/components/b2b-alert.js +4 -4
  209. package/dist/components/b2b-anchor.js +2 -2
  210. package/dist/components/b2b-card.js +2 -2
  211. package/dist/components/b2b-checkbox-group.js +7 -5
  212. package/dist/components/b2b-checkbox.js +1 -99
  213. package/dist/components/b2b-dropdown.js +3 -3
  214. package/dist/components/b2b-grid-col.js +1 -1
  215. package/dist/components/b2b-grid-row.js +2 -2
  216. package/dist/components/b2b-grid.js +1 -1
  217. package/dist/components/b2b-label.js +2 -2
  218. package/dist/components/b2b-modal.js +5 -5
  219. package/dist/components/b2b-pagination.js +5 -5
  220. package/dist/components/b2b-paragraph.js +5 -5
  221. package/dist/components/b2b-radio-button.js +2 -2
  222. package/dist/components/b2b-radio-group.js +2 -2
  223. package/dist/components/b2b-required-separator.js +3 -3
  224. package/dist/components/b2b-scrollable-container.js +2 -2
  225. package/dist/components/b2b-search.js +7 -2
  226. package/dist/components/b2b-tab-group.js +1 -1
  227. package/dist/components/b2b-tab-panel.js +2 -2
  228. package/dist/components/b2b-tab.js +2 -2
  229. package/dist/components/b2b-table-row.js +97 -26
  230. package/dist/components/b2b-table-rowgroup.js +91 -27
  231. package/dist/components/b2b-table.js +11 -11
  232. package/dist/components/b2b-textarea.js +2 -2
  233. package/dist/components/b2b-toggle-button.js +7 -7
  234. package/dist/components/b2b-toggle-group.js +3 -3
  235. package/dist/components/b2b-tooltip.js +4 -4
  236. package/dist/components/b2b-wizard-icon.js +1 -47
  237. package/dist/components/b2b-wizard-step.d.ts +11 -0
  238. package/dist/components/b2b-wizard-step.js +62 -0
  239. package/dist/components/b2b-wizard.d.ts +11 -0
  240. package/dist/components/b2b-wizard.js +79 -0
  241. package/dist/components/button.js +13 -8
  242. package/dist/components/checkbox.js +123 -0
  243. package/dist/components/headline.js +2 -2
  244. package/dist/components/icon.js +4 -4
  245. package/dist/components/input-group.js +8 -6
  246. package/dist/components/input-label.js +1 -1
  247. package/dist/components/input-list-option.js +2 -2
  248. package/dist/components/input-list.js +6 -4
  249. package/dist/components/input.js +8 -6
  250. package/dist/components/rounded-icon.js +5 -2
  251. package/dist/components/separator.js +2 -2
  252. package/dist/components/spinner.js +2 -2
  253. package/dist/components/table-cell.js +3 -3
  254. package/dist/components/table-header.js +7 -7
  255. package/dist/components/{types.js → table.types.js} +4 -4
  256. package/dist/components/wizard-icon.js +52 -0
  257. package/dist/components/wizard.types.js +8 -0
  258. package/dist/custom-elements.json +132 -13
  259. package/dist/esm/b2b-alert.entry.js +4 -4
  260. package/dist/esm/b2b-anchor.entry.js +2 -2
  261. package/dist/esm/b2b-button_2.entry.js +13 -9
  262. package/dist/esm/b2b-card.entry.js +2 -2
  263. package/dist/esm/b2b-checkbox-group.entry.js +7 -5
  264. package/dist/esm/b2b-checkbox_3.entry.js +200 -0
  265. package/dist/esm/b2b-core-components.js +4 -4
  266. package/dist/esm/b2b-dropdown.entry.js +3 -3
  267. package/dist/esm/b2b-grid-col.entry.js +1 -1
  268. package/dist/esm/b2b-grid-row.entry.js +2 -2
  269. package/dist/esm/b2b-grid.entry.js +1 -1
  270. package/dist/esm/b2b-headline.entry.js +2 -2
  271. package/dist/esm/b2b-icon.entry.js +4 -4
  272. package/dist/esm/b2b-input-group_2.entry.js +12 -9
  273. package/dist/esm/b2b-input-label.entry.js +1 -1
  274. package/dist/esm/b2b-input_2.entry.js +8 -7
  275. package/dist/esm/b2b-label.entry.js +2 -2
  276. package/dist/esm/b2b-modal.entry.js +5 -5
  277. package/dist/esm/b2b-pagination.entry.js +5 -5
  278. package/dist/esm/b2b-paragraph.entry.js +5 -5
  279. package/dist/esm/b2b-radio-button.entry.js +2 -2
  280. package/dist/esm/b2b-radio-group.entry.js +2 -2
  281. package/dist/esm/b2b-required-separator.entry.js +3 -3
  282. package/dist/esm/b2b-rounded-icon.entry.js +4 -2
  283. package/dist/esm/b2b-scrollable-container.entry.js +2 -2
  284. package/dist/esm/b2b-search.entry.js +6 -1
  285. package/dist/esm/b2b-separator.entry.js +2 -2
  286. package/dist/esm/b2b-tab-group.entry.js +1 -1
  287. package/dist/esm/b2b-tab-panel.entry.js +2 -2
  288. package/dist/esm/b2b-tab.entry.js +2 -2
  289. package/dist/esm/b2b-table-row.entry.js +77 -22
  290. package/dist/esm/b2b-table-rowgroup.entry.js +85 -24
  291. package/dist/esm/b2b-table.entry.js +11 -11
  292. package/dist/esm/b2b-textarea.entry.js +2 -2
  293. package/dist/esm/b2b-toggle-button.entry.js +7 -7
  294. package/dist/esm/b2b-toggle-group.entry.js +3 -3
  295. package/dist/esm/b2b-tooltip.entry.js +4 -4
  296. package/dist/esm/b2b-wizard-icon.entry.js +6 -4
  297. package/dist/esm/b2b-wizard-step.entry.js +22 -0
  298. package/dist/esm/b2b-wizard.entry.js +57 -0
  299. package/dist/esm/{index-026605c2.js → index-dfdbf4b9.js} +100 -35
  300. package/dist/esm/loader.js +4 -4
  301. package/dist/esm/{types-5aa59787.js → table.types-dd829d83.js} +4 -4
  302. package/dist/esm/wizard.types-2a03b8e0.js +8 -0
  303. package/dist/types/components/alert/alert.stories.d.ts +1 -1
  304. package/dist/types/components/anchor/anchor.stories.d.ts +1 -1
  305. package/dist/types/components/button/button.d.ts +2 -0
  306. package/dist/types/components/button/button.stories.d.ts +1 -1
  307. package/dist/types/components/card/card.stories.d.ts +1 -1
  308. package/dist/types/components/checkbox/checkbox.d.ts +8 -1
  309. package/dist/types/components/checkbox/checkbox.stories.d.ts +1 -1
  310. package/dist/types/components/checkbox-group/checkbox-group.stories.d.ts +1 -1
  311. package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -1
  312. package/dist/types/components/grid/grid.stories.d.ts +1 -1
  313. package/dist/types/components/headline/headline.stories.d.ts +1 -1
  314. package/dist/types/components/icon/icon.stories.d.ts +1 -1
  315. package/dist/types/components/input/input.d.ts +2 -0
  316. package/dist/types/components/input/input.stories.d.ts +1 -1
  317. package/dist/types/components/input-group/input-group.stories.d.ts +1 -1
  318. package/dist/types/components/input-list/input-list.d.ts +2 -0
  319. package/dist/types/components/input-list/input-list.stories.d.ts +1 -1
  320. package/dist/types/components/label/label.stories.d.ts +1 -1
  321. package/dist/types/components/modal/modal.stories.d.ts +1 -1
  322. package/dist/types/components/pagination/pagination.stories.d.ts +1 -1
  323. package/dist/types/components/paragraph/paragraph.stories.d.ts +1 -1
  324. package/dist/types/components/radio/radio.stories.d.ts +1 -1
  325. package/dist/types/components/radio-group/radio-group.stories.d.ts +1 -1
  326. package/dist/types/components/required-separator/required-separator.stories.d.ts +1 -1
  327. package/dist/types/components/rounded-icon/rounded-icon.d.ts +4 -0
  328. package/dist/types/components/rounded-icon/rounded-icon.stories.d.ts +1 -1
  329. package/dist/types/components/scrollable-container/scrollable-container.stories.d.ts +1 -1
  330. package/dist/types/components/search/search.d.ts +1 -0
  331. package/dist/types/components/search/search.stories.d.ts +1 -1
  332. package/dist/types/components/separator/separator.stories.d.ts +1 -1
  333. package/dist/types/components/spinner/spinner.stories.d.ts +1 -1
  334. package/dist/types/components/tab-group/tab-group.stories.d.ts +1 -1
  335. package/dist/types/components/table/table-cell/table-cell.d.ts +1 -1
  336. package/dist/types/components/table/table-header/table-header.d.ts +1 -1
  337. package/dist/types/components/table/table-row/table-row.d.ts +23 -7
  338. package/dist/types/components/table/table-rowgroup/table-rowgroup.d.ts +13 -3
  339. package/dist/types/components/table/table.d.ts +2 -2
  340. package/dist/types/components/table/table.stories.d.ts +2 -1
  341. package/dist/types/components/table/utils.d.ts +4 -0
  342. package/dist/types/components/textarea/textarea.stories.d.ts +1 -1
  343. package/dist/types/components/toggle-group/toggle-group.stories.d.ts +1 -1
  344. package/dist/types/components/tooltip/tooltip.stories.d.ts +1 -1
  345. package/dist/types/components/wizard/wizard-step.d.ts +11 -0
  346. package/dist/types/components/wizard/wizard.d.ts +19 -0
  347. package/dist/types/components/wizard/wizard.stories.d.ts +5 -0
  348. package/dist/types/components/wizard-icon/wizard-icon.d.ts +6 -2
  349. package/dist/types/components/wizard-icon/wizard-icon.stories.d.ts +3 -1
  350. package/dist/types/components.d.ts +167 -13
  351. package/dist/types/docs/tokens/color.stories.d.ts +1 -1
  352. package/dist/types/docs/tokens/font.stories.d.ts +1 -1
  353. package/dist/types/docs/tokens/size.stories.d.ts +1 -1
  354. package/dist/types/stencil-public-runtime.d.ts +3 -0
  355. package/dist/types/utils/interfaces/content.interface.d.ts +4 -0
  356. package/dist/types/utils/interfaces/form.interface.d.ts +1 -0
  357. package/dist/types/{components/table/types.d.ts → utils/types/table.types.d.ts} +7 -2
  358. package/dist/types/utils/types/wizard.types.d.ts +8 -0
  359. package/dist/web-types.json +184 -9
  360. package/loader/index.d.ts +1 -1
  361. package/package.json +5 -5
  362. package/dist/b2b-core-components/p-08a50b6c.entry.js +0 -1
  363. package/dist/b2b-core-components/p-10414c0b.entry.js +0 -1
  364. package/dist/b2b-core-components/p-144a3c59.entry.js +0 -1
  365. package/dist/b2b-core-components/p-1493f7df.entry.js +0 -1
  366. package/dist/b2b-core-components/p-14f1b674.entry.js +0 -1
  367. package/dist/b2b-core-components/p-15a499b0.entry.js +0 -1
  368. package/dist/b2b-core-components/p-22dab2b4.entry.js +0 -1
  369. package/dist/b2b-core-components/p-4b25559c.entry.js +0 -1
  370. package/dist/b2b-core-components/p-515eb49e.entry.js +0 -1
  371. package/dist/b2b-core-components/p-541ffefb.entry.js +0 -1
  372. package/dist/b2b-core-components/p-5572aab3.entry.js +0 -1
  373. package/dist/b2b-core-components/p-5c316460.entry.js +0 -1
  374. package/dist/b2b-core-components/p-686d6598.entry.js +0 -1
  375. package/dist/b2b-core-components/p-6e0e6acc.entry.js +0 -1
  376. package/dist/b2b-core-components/p-6e3b27cd.entry.js +0 -1
  377. package/dist/b2b-core-components/p-7af1b977.entry.js +0 -1
  378. package/dist/b2b-core-components/p-7ca9b704.entry.js +0 -1
  379. package/dist/b2b-core-components/p-81a52d1a.entry.js +0 -1
  380. package/dist/b2b-core-components/p-8970ae74.entry.js +0 -1
  381. package/dist/b2b-core-components/p-925e40af.entry.js +0 -1
  382. package/dist/b2b-core-components/p-965ae161.entry.js +0 -1
  383. package/dist/b2b-core-components/p-99f8cf34.entry.js +0 -1
  384. package/dist/b2b-core-components/p-a6248754.entry.js +0 -1
  385. package/dist/b2b-core-components/p-a7417890.js +0 -2
  386. package/dist/b2b-core-components/p-b6e0a6ea.entry.js +0 -1
  387. package/dist/b2b-core-components/p-ba74cde5.entry.js +0 -1
  388. package/dist/b2b-core-components/p-bf4c58dc.entry.js +0 -1
  389. package/dist/b2b-core-components/p-d6ce3259.entry.js +0 -1
  390. package/dist/b2b-core-components/p-da6a1f55.entry.js +0 -1
  391. package/dist/b2b-core-components/p-f0c565ef.entry.js +0 -1
  392. package/dist/b2b-core-components/p-fc639b29.entry.js +0 -1
  393. package/dist/b2b-core-components/p-ff49e330.entry.js +0 -1
  394. package/dist/cjs/b2b-checkbox.cjs.entry.js +0 -74
  395. package/dist/cjs/b2b-table-cell_2.cjs.entry.js +0 -119
  396. package/dist/esm/b2b-checkbox.entry.js +0 -70
  397. package/dist/esm/b2b-table-cell_2.entry.js +0 -114
  398. /package/dist/b2b-core-components/{p-4130f1ae.js → p-34eb99cb.js} +0 -0
@@ -0,0 +1,38 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { CheckboxGroupComponent } from './checkbox-group';
4
+ it('should render the checkbox group and not show a hint or an error unless specified', async () => {
5
+ const page = await newSpecPage({
6
+ components: [CheckboxGroupComponent],
7
+ template: () => h("b2b-checkbox-group", { label: "test" }),
8
+ });
9
+ expect(page.root).toMatchSnapshot();
10
+ });
11
+ it('should render a group hint if a hint string is specified', async () => {
12
+ const page = await newSpecPage({
13
+ components: [CheckboxGroupComponent],
14
+ template: () => (h("b2b-checkbox-group", { label: "test", hint: "this is a test hint" })),
15
+ });
16
+ expect(page.root).toMatchSnapshot();
17
+ });
18
+ it('should not render a group hint if a hint string and an error are specified and the group is set to invalid', async () => {
19
+ const page = await newSpecPage({
20
+ components: [CheckboxGroupComponent],
21
+ template: () => (h("b2b-checkbox-group", { label: "test", hint: "this is a test hint", error: "this is a test error", invalid: true })),
22
+ });
23
+ expect(page.root).toMatchSnapshot();
24
+ });
25
+ it('should render a hint if invalid and disabled are true at the same time', async () => {
26
+ const page = await newSpecPage({
27
+ components: [CheckboxGroupComponent],
28
+ template: () => (h("b2b-checkbox-group", { label: "test", hint: "this is a test hint", error: "this is a test error", invalid: true, disabled: true })),
29
+ });
30
+ expect(page.root).toMatchSnapshot();
31
+ });
32
+ it('should align the checkboxes horizontally if set to horizontal', async () => {
33
+ const page = await newSpecPage({
34
+ components: [CheckboxGroupComponent],
35
+ template: () => (h("b2b-checkbox-group", { label: "test", alignment: "horizontal" })),
36
+ });
37
+ expect(page.root).toMatchSnapshot();
38
+ });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
3
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -76,8 +76,7 @@
76
76
  --b2b-size-copy-200: var(--b2b-size-45);
77
77
  --b2b-size-copy-125: var(--b2b-size-40);
78
78
  --b2b-size-copy-100: var(--b2b-size-35);
79
- --b2b-size-copy-75: var(--b2b-size-30);
80
- --b2b-size-copy-50: var(--b2b-size-25);
79
+ --b2b-size-copy-50: var(--b2b-size-30);
81
80
  --b2b-size-border-no-radius-bottom: var(--b2b-size-7) var(--b2b-size-7) 0 0;
82
81
  --b2b-size-border-no-radius-top: 0 0 var(--b2b-size-7) var(--b2b-size-7);
83
82
  --b2b-size-border-no-radius-right: var(--b2b-size-7) 0 0 var(--b2b-size-7);
@@ -123,7 +122,7 @@
123
122
  }
124
123
  /**
125
124
  * Do not edit directly
126
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
127
126
  */
128
127
  :root [data-theme="dark"] {
129
128
  --b2b-size-200: 5rem; /* 80px */
@@ -223,7 +222,7 @@
223
222
  font-family: var(--b2b-font-family-default);
224
223
  font-size: var(--b2b-size-copy-100);
225
224
  }
226
- :host(.b2b-dropdown) .b2b-dropdown-select {
225
+ :host(.b2b-dropdown) .b2b-dropdown__select {
227
226
  font-family: var(--b2b-font-family-default);
228
227
  font-size: var(--b2b-size-copy-100);
229
228
  appearance: none;
@@ -244,7 +243,7 @@
244
243
  box-sizing: border-box;
245
244
  position: relative;
246
245
  }
247
- :host(.b2b-dropdown) .b2b-dropdown-select:focus-visible {
246
+ :host(.b2b-dropdown) .b2b-dropdown__select:focus-visible {
248
247
  outline: 2px solid Highlight;
249
248
  outline: 2px solid -webkit-focus-ring-color;
250
249
  border-radius: var(--b2b-border-radius);
@@ -259,23 +258,23 @@
259
258
  display: block;
260
259
  color: var(--b2b-color-grey-300);
261
260
  margin-top: var(--b2b-size-10);
262
- font-size: var(--b2b-size-copy-75);
261
+ font-size: var(--b2b-size-copy-50);
263
262
  line-height: var(--b2b-size-copy-line-height-75);
264
263
  }
265
- :host(.b2b-dropdown--error) .b2b-dropdown-select {
264
+ :host(.b2b-dropdown--error) .b2b-dropdown__select {
266
265
  background-color: var(--b2b-color-error-50);
267
266
  border: 1px solid var(--b2b-color-error-100);
268
267
  border-right: var(--b2b-border-right);
269
268
  border-color: var(--b2b-color-error-100);
270
269
  }
271
- :host(.b2b-dropdown--error) .b2b-dropdown-select:focus {
270
+ :host(.b2b-dropdown--error) .b2b-dropdown__select:focus {
272
271
  outline: 2px solid var(--b2b-color-error-100);
273
272
  outline-offset: -1px;
274
273
  }
275
274
  :host(.b2b-dropdown--error) span {
276
275
  color: var(--b2b-color-error-100);
277
276
  }
278
- :host(.b2b-dropdown--disabled) .b2b-dropdown-select {
277
+ :host(.b2b-dropdown--disabled) .b2b-dropdown__select {
279
278
  background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" fill="grey" viewBox="0 0 32 32"><path d="M27.748 12.017l-11.333 9.01a.666.666 0 0 1-.829 0l-11.333-9a.665.665 0 1 1 .829-1.044l10.919 8.671 10.919-8.68a.663.663 0 0 1 .936.107.667.667 0 0 1-.107.937z"/></svg>');
280
279
  background-color: var(--b2b-color-grey-25);
281
280
  color: var(--b2b-color-grey-250);
@@ -0,0 +1,48 @@
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
+ const element = await page.find('b2b-dropdown');
36
+ expect(element).not.toHaveClass('b2b-dropdown--disabled');
37
+ element.setProperty('disabled', true);
38
+ await page.waitForChanges();
39
+ expect(element).toHaveClass('b2b-dropdown--disabled');
40
+ });
41
+ it('should set the select to invalid when the property is specified', async () => {
42
+ const element = await page.find('b2b-dropdown');
43
+ expect(element).not.toHaveClass('b2b-dropdown--error');
44
+ element.setProperty('invalid', true);
45
+ await page.waitForChanges();
46
+ expect(element).toHaveClass('b2b-dropdown--error');
47
+ });
48
+ });
@@ -47,7 +47,7 @@ export class DropdownComponent {
47
47
  'b2b-dropdown': true,
48
48
  'b2b-dropdown--error': this.invalid && !this.disabled,
49
49
  'b2b-dropdown--disabled': this.disabled,
50
- } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("select", { class: "b2b-dropdown-select", "aria-labelledby": this.name, name: this.name, disabled: this.disabled, onChange: this.onSelect, onFocus: this.onFocus, onBlur: this.onBlur }), (this.hint !== undefined && !this.invalid) ||
50
+ } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("select", { class: "b2b-dropdown__select", "aria-labelledby": this.name, name: this.name, disabled: this.disabled, onChange: this.onSelect, onFocus: this.onFocus, onBlur: this.onBlur }), (this.hint !== undefined && !this.invalid) ||
51
51
  (this.hint !== undefined && this.disabled) ? (h("span", null, this.hint)) : (''), this.error !== undefined && this.invalid && !this.disabled ? (h("span", null, this.error)) : ('')));
52
52
  }
53
53
  static get is() { return "b2b-dropdown"; }
@@ -0,0 +1,52 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { DropdownComponent } from './dropdown';
4
+ it('should render the dropdown', async () => {
5
+ const page = await newSpecPage({
6
+ components: [DropdownComponent],
7
+ template: () => h("b2b-dropdown", { label: "test" }),
8
+ });
9
+ expect(page.root).toMatchSnapshot();
10
+ });
11
+ it('should render the dropdown with options', async () => {
12
+ const page = await newSpecPage({
13
+ components: [DropdownComponent],
14
+ template: () => (h("b2b-dropdown", { label: "test" }, h("option", null, "An option"))),
15
+ });
16
+ expect(page.root).toMatchSnapshot();
17
+ });
18
+ it('should render a hint if a hint string is specified', async () => {
19
+ const page = await newSpecPage({
20
+ components: [DropdownComponent],
21
+ template: () => (h("b2b-dropdown", { label: "test", hint: "This is a test hint" })),
22
+ });
23
+ expect(page.root).toMatchSnapshot();
24
+ });
25
+ it('should disable the dropdown', async () => {
26
+ const page = await newSpecPage({
27
+ components: [DropdownComponent],
28
+ template: () => h("b2b-dropdown", { label: "test", disabled: true }),
29
+ });
30
+ expect(page.root).toMatchSnapshot();
31
+ });
32
+ it('should apply an error style to the host element if an error is specified and the select is set to invalid', async () => {
33
+ const page = await newSpecPage({
34
+ components: [DropdownComponent],
35
+ template: () => (h("b2b-dropdown", { label: "test", error: "This is a test error", invalid: true })),
36
+ });
37
+ expect(page.root).toMatchSnapshot();
38
+ });
39
+ it('should render an error message if an error is specified and the select is set to invalid', async () => {
40
+ const page = await newSpecPage({
41
+ components: [DropdownComponent],
42
+ template: () => (h("b2b-dropdown", { label: "test", error: "This is a test error", invalid: true })),
43
+ });
44
+ expect(page.root).toMatchSnapshot();
45
+ });
46
+ it('should render a hint if invalid and disabled are true at the same time', async () => {
47
+ const page = await newSpecPage({
48
+ components: [DropdownComponent],
49
+ template: () => (h("b2b-dropdown", { label: "test", error: "This is a test error", hint: "this is a test hint", invalid: true, disabled: true })),
50
+ });
51
+ expect(page.root).toMatchSnapshot();
52
+ });
@@ -0,0 +1,17 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('B2B Grid', () => {
3
+ it('should render the grid and children', async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent(`<b2b-grid>
6
+ <b2b-grid-row>
7
+ <b2b-grid-col></b2b-grid-col>
8
+ </b2b-grid-row>
9
+ </b2b-grid>`);
10
+ const grid = await page.find('b2b-grid');
11
+ expect(grid).not.toBeNull();
12
+ const row = await page.find('b2b-grid-row');
13
+ expect(row).not.toBeNull();
14
+ const col = await page.find('b2b-grid-col');
15
+ expect(col).not.toBeNull();
16
+ });
17
+ });
@@ -15,7 +15,7 @@ export class B2bGridRowComponent {
15
15
  ['display']: 'flex',
16
16
  ['flex-wrap']: 'wrap',
17
17
  ['box-sizing']: 'border-box',
18
- }, class: "b2b-grid--row" }, h("slot", null)));
18
+ } }, h("slot", null)));
19
19
  }
20
20
  static get is() { return "b2b-grid-row"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
3
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -76,8 +76,7 @@
76
76
  --b2b-size-copy-200: var(--b2b-size-45);
77
77
  --b2b-size-copy-125: var(--b2b-size-40);
78
78
  --b2b-size-copy-100: var(--b2b-size-35);
79
- --b2b-size-copy-75: var(--b2b-size-30);
80
- --b2b-size-copy-50: var(--b2b-size-25);
79
+ --b2b-size-copy-50: var(--b2b-size-30);
81
80
  --b2b-size-border-no-radius-bottom: var(--b2b-size-7) var(--b2b-size-7) 0 0;
82
81
  --b2b-size-border-no-radius-top: 0 0 var(--b2b-size-7) var(--b2b-size-7);
83
82
  --b2b-size-border-no-radius-right: var(--b2b-size-7) 0 0 var(--b2b-size-7);
@@ -123,7 +122,7 @@
123
122
  }
124
123
  /**
125
124
  * Do not edit directly
126
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
127
126
  */
128
127
  :root [data-theme="dark"] {
129
128
  --b2b-size-200: 5rem; /* 80px */
@@ -0,0 +1,13 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('B2B-Headline', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent(`<b2b-headline>Headline</b2b-headline>`);
7
+ });
8
+ it('should render headline component', async () => {
9
+ const element = await page.find('b2b-headline');
10
+ expect(element).not.toBeNull();
11
+ expect(element).toEqualText('Headline');
12
+ });
13
+ });
@@ -0,0 +1,67 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { HeadlineComponent } from './headline';
4
+ it('should use h1 tag with headline 400 size', async () => {
5
+ const page = await newSpecPage({
6
+ components: [HeadlineComponent],
7
+ template: () => (h("b2b-headline", { size: "400" }, "This is a h1 Headline")),
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <b2b-headline>
11
+ <mock:shadow-root>
12
+ <h1 class="b2b-headline--400 b2b-headline--left">
13
+ <slot></slot>
14
+ </h1>
15
+ </mock:shadow-root>
16
+ This is a h1 Headline
17
+ </b2b-headline>
18
+ `);
19
+ });
20
+ it('should use h2 tag with headline 200 size', async () => {
21
+ const page = await newSpecPage({
22
+ components: [HeadlineComponent],
23
+ template: () => (h("b2b-headline", { size: "200" }, "This is a h2 Headline")),
24
+ });
25
+ expect(page.root).toEqualHtml(`
26
+ <b2b-headline>
27
+ <mock:shadow-root>
28
+ <h2 class="b2b-headline--200 b2b-headline--left">
29
+ <slot></slot>
30
+ </h2>
31
+ </mock:shadow-root>
32
+ This is a h2 Headline
33
+ </b2b-headline>
34
+ `);
35
+ });
36
+ it('should use h3 tag with headline 100 size', async () => {
37
+ const page = await newSpecPage({
38
+ components: [HeadlineComponent],
39
+ template: () => (h("b2b-headline", { size: "100" }, "This is a h3 Headline")),
40
+ });
41
+ expect(page.root).toEqualHtml(`
42
+ <b2b-headline>
43
+ <mock:shadow-root>
44
+ <h3 class="b2b-headline--100 b2b-headline--left">
45
+ <slot></slot>
46
+ </h3>
47
+ </mock:shadow-root>
48
+ This is a h3 Headline
49
+ </b2b-headline>
50
+ `);
51
+ });
52
+ it('should use h1 tag as default size', async () => {
53
+ const page = await newSpecPage({
54
+ components: [HeadlineComponent],
55
+ template: () => h("b2b-headline", null, "This is a h3 Headline"),
56
+ });
57
+ expect(page.root).toEqualHtml(`
58
+ <b2b-headline>
59
+ <mock:shadow-root>
60
+ <h1 class="b2b-headline--400 b2b-headline--left">
61
+ <slot></slot>
62
+ </h1>
63
+ </mock:shadow-root>
64
+ This is a h3 Headline
65
+ </b2b-headline>
66
+ `);
67
+ });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
3
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -76,8 +76,7 @@
76
76
  --b2b-size-copy-200: var(--b2b-size-45);
77
77
  --b2b-size-copy-125: var(--b2b-size-40);
78
78
  --b2b-size-copy-100: var(--b2b-size-35);
79
- --b2b-size-copy-75: var(--b2b-size-30);
80
- --b2b-size-copy-50: var(--b2b-size-25);
79
+ --b2b-size-copy-50: var(--b2b-size-30);
81
80
  --b2b-size-border-no-radius-bottom: var(--b2b-size-7) var(--b2b-size-7) 0 0;
82
81
  --b2b-size-border-no-radius-top: 0 0 var(--b2b-size-7) var(--b2b-size-7);
83
82
  --b2b-size-border-no-radius-right: var(--b2b-size-7) 0 0 var(--b2b-size-7);
@@ -123,7 +122,7 @@
123
122
  }
124
123
  /**
125
124
  * Do not edit directly
126
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
127
126
  */
128
127
  :root [data-theme="dark"] {
129
128
  --b2b-size-200: 5rem; /* 80px */
@@ -227,27 +226,27 @@
227
226
  :host .b2b-icon--clickable {
228
227
  cursor: pointer;
229
228
  }
230
- :host .b2b-icon.icon-50 {
229
+ :host .b2b-icon.b2b-icon--50 {
231
230
  width: var(--b2b-size-40);
232
231
  height: var(--b2b-size-40);
233
232
  }
234
- :host .b2b-icon.icon-100 {
233
+ :host .b2b-icon.b2b-icon--100 {
235
234
  width: var(--b2b-size-60);
236
235
  height: var(--b2b-size-60);
237
236
  }
238
- :host .b2b-icon.icon-200 {
237
+ :host .b2b-icon.b2b-icon--200 {
239
238
  width: var(--b2b-size-80);
240
239
  height: var(--b2b-size-80);
241
240
  }
242
- :host .b2b-icon.primary {
241
+ :host .b2b-icon.b2b-icon--primary {
243
242
  fill: var(--b2b-color-black-100);
244
243
  }
245
- :host .b2b-icon.secondary {
244
+ :host .b2b-icon.b2b-icon--secondary {
246
245
  fill: var(--b2b-color-grey-200);
247
246
  }
248
- :host .b2b-icon.inverse {
247
+ :host .b2b-icon.b2b-icon--inverse {
249
248
  fill: var(--b2b-color-white-100);
250
249
  }
251
- :host .b2b-icon.inherit {
250
+ :host .b2b-icon.b2b-icon--inherit {
252
251
  fill: currentcolor;
253
252
  }
@@ -20,8 +20,8 @@ export class B2bIcon {
20
20
  return null;
21
21
  return (h(Host, null, h("div", { class: {
22
22
  'b2b-icon': true,
23
- [`icon-${this.size}`]: true,
24
- [this.color]: true,
23
+ [`b2b-icon--${this.size}`]: true,
24
+ [`b2b-icon--${this.color}`]: true,
25
25
  'b2b-icon--clickable': this.clickable,
26
26
  }, innerHTML: this.pathData })));
27
27
  }
@@ -0,0 +1,21 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { B2bIcon } from './icon';
4
+ it('should render the icon with default values', async () => {
5
+ const page = await newSpecPage({
6
+ components: [B2bIcon],
7
+ template: () => h("b2b-icon", { icon: "b2b_icon-search" }),
8
+ });
9
+ expect(page.root).toMatchSnapshot();
10
+ });
11
+ it('should gracefully fail if icon name is not found by not rendering icon and emitting a warning', async () => {
12
+ // @ts-ignore
13
+ global.console.warn = jest.fn();
14
+ const page = await newSpecPage({
15
+ components: [B2bIcon],
16
+ // @ts-ignore
17
+ template: () => h("b2b-icon", { icon: "b2b_some-typo" }),
18
+ });
19
+ expect(page.root).toMatchSnapshot();
20
+ expect(console.warn).toBeCalled();
21
+ });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
3
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
4
4
  */
5
5
  :root, :host {
6
6
  --b2b-size-200: 5rem; /* 80px */
@@ -76,8 +76,7 @@
76
76
  --b2b-size-copy-200: var(--b2b-size-45);
77
77
  --b2b-size-copy-125: var(--b2b-size-40);
78
78
  --b2b-size-copy-100: var(--b2b-size-35);
79
- --b2b-size-copy-75: var(--b2b-size-30);
80
- --b2b-size-copy-50: var(--b2b-size-25);
79
+ --b2b-size-copy-50: var(--b2b-size-30);
81
80
  --b2b-size-border-no-radius-bottom: var(--b2b-size-7) var(--b2b-size-7) 0 0;
82
81
  --b2b-size-border-no-radius-top: 0 0 var(--b2b-size-7) var(--b2b-size-7);
83
82
  --b2b-size-border-no-radius-right: var(--b2b-size-7) 0 0 var(--b2b-size-7);
@@ -123,7 +122,7 @@
123
122
  }
124
123
  /**
125
124
  * Do not edit directly
126
- * Generated on Tue, 13 Jun 2023 14:44:02 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
127
126
  */
128
127
  :root [data-theme="dark"] {
129
128
  --b2b-size-200: 5rem; /* 80px */
@@ -222,7 +221,7 @@
222
221
  min-width: var(--b2b-size-200);
223
222
  font-family: var(--b2b-font-family-default);
224
223
  }
225
- :host(.b2b-input) .input-wrapper {
224
+ :host(.b2b-input) .b2b-input__wrapper {
226
225
  display: flex;
227
226
  align-items: center;
228
227
  height: var(--b2b-size-60);
@@ -234,26 +233,26 @@
234
233
  color: var(--b2b-color-black-100);
235
234
  position: relative;
236
235
  }
237
- :host(.b2b-input) .input-wrapper--focused {
236
+ :host(.b2b-input) .b2b-input__wrapper--focused {
238
237
  outline: 2px solid Highlight;
239
238
  outline: 2px solid -webkit-focus-ring-color;
240
239
  outline-offset: -1px;
241
240
  border-radius: var(--b2b-border-radius);
242
241
  z-index: 9999;
243
242
  }
244
- :host(.b2b-input) .input-wrapper--disabled {
243
+ :host(.b2b-input) .b2b-input__wrapper--disabled {
245
244
  color: var(--b2b-color-grey-250);
246
245
  background-color: var(--b2b-color-grey-25);
247
246
  }
248
- :host(.b2b-input) .input-wrapper--disabled .native-input {
247
+ :host(.b2b-input) .b2b-input__wrapper--disabled .b2b-input__native-input {
249
248
  background-color: var(--b2b-color-grey-25);
250
249
  }
251
- :host(.b2b-input) .input-wrapper .border {
250
+ :host(.b2b-input) .b2b-input__wrapper .border {
252
251
  border-left: 1px solid var(--b2b-color-grey-300);
253
252
  height: 100%;
254
253
  margin: 0 12px;
255
254
  }
256
- :host(.b2b-input) .input-wrapper .native-input {
255
+ :host(.b2b-input) .b2b-input__wrapper .b2b-input__native-input {
257
256
  font-family: var(--b2b-font-family-default);
258
257
  font-size: var(--b2b-size-copy-100);
259
258
  line-height: var(--b2b-size-copy-line-height-100);
@@ -265,7 +264,7 @@
265
264
  flex: 1 1 auto;
266
265
  width: 0;
267
266
  }
268
- :host(.b2b-input) .input-wrapper .native-input::placeholder {
267
+ :host(.b2b-input) .b2b-input__wrapper .b2b-input__native-input::placeholder {
269
268
  color: var(--b2b-color-grey-300);
270
269
  }
271
270
  :host(.b2b-input) b2b-input-label {
@@ -273,25 +272,25 @@
273
272
  margin-bottom: var(--b2b-size-10);
274
273
  }
275
274
  :host(.b2b-input) span {
276
- font-size: var(--b2b-size-copy-75);
275
+ font-size: var(--b2b-size-copy-50);
277
276
  line-height: var(--b2b-size-copy-line-height-75);
278
277
  display: block;
279
278
  margin-top: var(--b2b-size-10);
280
279
  color: var(--b2b-color-grey-300);
281
280
  }
282
- :host(.b2b-input--error) .input-wrapper,
283
- :host(.b2b-input--error) .native-input {
281
+ :host(.b2b-input--error) .b2b-input__wrapper,
282
+ :host(.b2b-input--error) .b2b-input__native-input {
284
283
  background-color: var(--b2b-color-error-50);
285
284
  border: 1px solid var(--b2b-color-error-100);
286
285
  border-right: var(--b2b-border-right);
287
286
  border-color: var(--b2b-color-error-100);
288
287
  color: var(--b2b-color-copy-default);
289
288
  }
290
- :host(.b2b-input--error) .input-wrapper::placeholder,
291
- :host(.b2b-input--error) .native-input::placeholder {
289
+ :host(.b2b-input--error) .b2b-input__wrapper::placeholder,
290
+ :host(.b2b-input--error) .b2b-input__native-input::placeholder {
292
291
  color: var(--b2b-color-copy-default);
293
292
  }
294
- :host(.b2b-input--error) .input-wrapper--focused {
293
+ :host(.b2b-input--error) .b2b-input__input-wrapper--focused {
295
294
  outline: 2px solid var(--b2b-color-error-100);
296
295
  outline-offset: -1px;
297
296
  }
@@ -0,0 +1,43 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('B2B-Input', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent(`
7
+ <b2b-input></b2b-input>
8
+ `);
9
+ });
10
+ it('should register input text when enabled', async () => {
11
+ const inputElement = await page.find('b2b-input');
12
+ const nativeInput = await page.find('b2b-input >>> input');
13
+ await nativeInput.type('a value');
14
+ let inputValue = inputElement.getAttribute('value');
15
+ expect(inputValue).toBe('a value');
16
+ });
17
+ it('should not receive input text when disabled', async () => {
18
+ const inputElement = await page.find('b2b-input');
19
+ inputElement.setAttribute('disabled', true);
20
+ await page.waitForChanges();
21
+ const nativeInput = await page.find('b2b-input >>> input');
22
+ await nativeInput.type('a value');
23
+ let inputValue = inputElement.getAttribute('value');
24
+ expect(inputValue).toBe(null);
25
+ });
26
+ it('should clear input when cleared called', async () => {
27
+ const inputElement = await page.find('b2b-input');
28
+ const nativeInput = await page.find('b2b-input >>> input');
29
+ await nativeInput.type('a value');
30
+ let inputValue = inputElement.getAttribute('value');
31
+ expect(inputValue).toBe('a value');
32
+ await inputElement.callMethod('clearInput');
33
+ await page.waitForChanges();
34
+ inputValue = inputElement.getAttribute('value');
35
+ expect(inputValue).toBe('');
36
+ });
37
+ it('should emit an empty value when cleared', async () => {
38
+ const onInputEventSpy = await page.spyOnEvent('b2b-input');
39
+ const inputElement = await page.find('b2b-input');
40
+ await inputElement.callMethod('clearInput');
41
+ expect(onInputEventSpy).toHaveReceivedEventDetail({ value: '' });
42
+ });
43
+ });
@@ -50,6 +50,7 @@ export class InputComponent {
50
50
  this.hint = undefined;
51
51
  this.error = undefined;
52
52
  this.autofocus = false;
53
+ this.groupDisabled = false;
53
54
  this.hasFocus = false;
54
55
  this.hasTextPrefix = false;
55
56
  this.hasTextSuffix = false;
@@ -78,10 +79,10 @@ export class InputComponent {
78
79
  'b2b-input': true,
79
80
  'b2b-input--error': this.invalid && !this.disabled,
80
81
  } }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { class: {
81
- 'input-wrapper': true,
82
- 'input-wrapper--focused': this.hasFocus,
83
- 'input-wrapper--disabled': this.disabled,
84
- } }, h("slot", { name: "start" }), this.hasTextPrefix && h("div", { class: "border" }), h("input", { class: "native-input", "aria-labelledby": this.name, type: this.type, placeholder: this.placeholder, value: this.value, name: this.name, disabled: this.disabled, autoFocus: this.autofocus, onFocus: this.onFocus, onBlur: this.onBlur, onInput: this.onInput, ref: el => (this.focusableElement = el) }), this.hasTextSuffix && h("div", { class: "border" }), h("slot", { name: "end" })), (this.hint !== undefined && !this.invalid) ||
82
+ 'b2b-input__wrapper': true,
83
+ 'b2b-input__wrapper--focused': this.hasFocus,
84
+ 'b2b-input__wrapper--disabled': this.disabled || this.groupDisabled,
85
+ } }, h("slot", { name: "start" }), this.hasTextPrefix && h("div", { class: "border" }), h("input", { class: "b2b-input__native-input", "aria-labelledby": this.name, type: this.type, placeholder: this.placeholder, value: this.value, name: this.name, disabled: this.disabled || this.groupDisabled, autoFocus: this.autofocus, onFocus: this.onFocus, onBlur: this.onBlur, onInput: this.onInput, ref: el => (this.focusableElement = el) }), this.hasTextSuffix && h("div", { class: "border" }), h("slot", { name: "end" })), (this.hint !== undefined && !this.invalid) ||
85
86
  (this.hint !== undefined && this.disabled) ? (h("span", null, this.hint)) : (''), this.error !== undefined && this.invalid && !this.disabled ? (h("span", null, this.error)) : ('')));
86
87
  }
87
88
  static get is() { return "b2b-input"; }
@@ -291,6 +292,27 @@ export class InputComponent {
291
292
  "attribute": "autofocus",
292
293
  "reflect": false,
293
294
  "defaultValue": "false"
295
+ },
296
+ "groupDisabled": {
297
+ "type": "boolean",
298
+ "mutable": false,
299
+ "complexType": {
300
+ "original": "boolean",
301
+ "resolved": "boolean",
302
+ "references": {}
303
+ },
304
+ "required": false,
305
+ "optional": false,
306
+ "docs": {
307
+ "tags": [{
308
+ "name": "internal",
309
+ "text": "Whether the parent input group is disabled. Per default, it is false."
310
+ }],
311
+ "text": ""
312
+ },
313
+ "attribute": "group-disabled",
314
+ "reflect": false,
315
+ "defaultValue": "false"
294
316
  }
295
317
  };
296
318
  }