@otto-de/b2b-core-components 1.5.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 (357) hide show
  1. package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
  2. package/dist/b2b-core-components/p-01fd54a1.entry.js +1 -0
  3. package/dist/b2b-core-components/{p-b95089a7.entry.js → p-04fc18cd.entry.js} +1 -1
  4. package/dist/b2b-core-components/p-06aa96a8.entry.js +1 -0
  5. package/dist/b2b-core-components/{p-c20baf90.entry.js → p-077217b3.entry.js} +1 -1
  6. package/dist/b2b-core-components/{p-03beebf5.entry.js → p-0965b990.entry.js} +1 -1
  7. package/dist/b2b-core-components/p-0beabdb4.entry.js +1 -0
  8. package/dist/b2b-core-components/p-163466cf.entry.js +1 -0
  9. package/dist/b2b-core-components/p-197c1a6d.entry.js +1 -0
  10. package/dist/b2b-core-components/{p-75f84f53.entry.js → p-1d007eea.entry.js} +1 -1
  11. package/dist/b2b-core-components/{p-6997ceb0.entry.js → p-1e2752b2.entry.js} +1 -1
  12. package/dist/b2b-core-components/{p-06ef4c5e.entry.js → p-2328144b.entry.js} +1 -1
  13. package/dist/b2b-core-components/{p-9184036b.entry.js → p-2ad8bdb6.entry.js} +1 -1
  14. package/dist/b2b-core-components/p-2d01e68a.entry.js +1 -0
  15. package/dist/b2b-core-components/{p-60c7f6f7.entry.js → p-3c0671ef.entry.js} +1 -1
  16. package/dist/b2b-core-components/p-42e7f397.entry.js +1 -0
  17. package/dist/b2b-core-components/{p-163fe245.entry.js → p-44ccd8f4.entry.js} +1 -1
  18. package/dist/b2b-core-components/{p-38791fb9.entry.js → p-542a358a.entry.js} +1 -1
  19. package/dist/b2b-core-components/p-54fd68eb.entry.js +1 -0
  20. package/dist/b2b-core-components/p-60badad5.entry.js +1 -0
  21. package/dist/b2b-core-components/{p-e1622cb8.entry.js → p-6140304e.entry.js} +1 -1
  22. package/dist/b2b-core-components/{p-f0aa5e83.entry.js → p-681d6880.entry.js} +1 -1
  23. package/dist/b2b-core-components/{p-bcf36531.entry.js → p-8ad1bb92.entry.js} +1 -1
  24. package/dist/b2b-core-components/p-90a3ffed.entry.js +1 -0
  25. package/dist/b2b-core-components/p-97ef9805.entry.js +1 -0
  26. package/dist/b2b-core-components/{p-48d4d224.entry.js → p-a50ea33f.entry.js} +1 -1
  27. package/dist/b2b-core-components/{p-c8294029.entry.js → p-b3ccfc58.entry.js} +1 -1
  28. package/dist/b2b-core-components/{p-2b3a67db.entry.js → p-b6a8a06f.entry.js} +1 -1
  29. package/dist/b2b-core-components/{p-5c2db521.entry.js → p-b8049234.entry.js} +1 -1
  30. package/dist/b2b-core-components/p-c294dd0c.entry.js +1 -0
  31. package/dist/b2b-core-components/{p-5d7866e8.entry.js → p-d07210e2.entry.js} +1 -1
  32. package/dist/b2b-core-components/p-d7bb8aa1.entry.js +1 -0
  33. package/dist/b2b-core-components/{p-76e240f8.entry.js → p-d83c2084.entry.js} +1 -1
  34. package/dist/b2b-core-components/{p-dcd80266.entry.js → p-db7d2ec3.entry.js} +1 -1
  35. package/dist/b2b-core-components/{p-9facba86.entry.js → p-dd79ab5b.entry.js} +1 -1
  36. package/dist/b2b-core-components/{p-bda69b9a.entry.js → p-e5b78075.entry.js} +1 -1
  37. package/dist/b2b-core-components/{p-7b04f40b.entry.js → p-e811411a.entry.js} +1 -1
  38. package/dist/b2b-core-components/p-f190bf79.entry.js +1 -0
  39. package/dist/b2b-core-components/{p-1e1bdb50.entry.js → p-f24515bf.entry.js} +1 -1
  40. package/dist/b2b-core-components/p-f3ce95bf.js +2 -0
  41. package/dist/b2b-core-components/p-f7e9f889.entry.js +1 -0
  42. package/dist/cjs/b2b-alert.cjs.entry.js +4 -4
  43. package/dist/cjs/b2b-anchor.cjs.entry.js +1 -1
  44. package/dist/cjs/b2b-button_2.cjs.entry.js +12 -8
  45. package/dist/cjs/b2b-card.cjs.entry.js +1 -1
  46. package/dist/cjs/b2b-checkbox-group.cjs.entry.js +7 -5
  47. package/dist/cjs/{b2b-table-cell_2.cjs.entry.js → b2b-checkbox_3.cjs.entry.js} +94 -7
  48. package/dist/cjs/b2b-core-components.cjs.js +3 -3
  49. package/dist/cjs/b2b-dropdown.cjs.entry.js +3 -3
  50. package/dist/cjs/b2b-grid-col.cjs.entry.js +1 -1
  51. package/dist/cjs/b2b-grid-row.cjs.entry.js +2 -2
  52. package/dist/cjs/b2b-grid.cjs.entry.js +1 -1
  53. package/dist/cjs/b2b-headline.cjs.entry.js +1 -1
  54. package/dist/cjs/b2b-icon.cjs.entry.js +4 -4
  55. package/dist/cjs/b2b-input-group_2.cjs.entry.js +10 -21
  56. package/dist/cjs/b2b-input-label.cjs.entry.js +1 -1
  57. package/dist/cjs/b2b-input_2.cjs.entry.js +8 -7
  58. package/dist/cjs/b2b-label.cjs.entry.js +1 -1
  59. package/dist/cjs/b2b-modal.cjs.entry.js +5 -5
  60. package/dist/cjs/b2b-pagination.cjs.entry.js +5 -5
  61. package/dist/cjs/b2b-paragraph.cjs.entry.js +5 -5
  62. package/dist/cjs/b2b-radio-button.cjs.entry.js +1 -1
  63. package/dist/cjs/b2b-radio-group.cjs.entry.js +1 -1
  64. package/dist/cjs/b2b-required-separator.cjs.entry.js +3 -3
  65. package/dist/cjs/b2b-rounded-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/b2b-scrollable-container.cjs.entry.js +1 -1
  67. package/dist/cjs/b2b-search.cjs.entry.js +1 -1
  68. package/dist/cjs/b2b-separator.cjs.entry.js +1 -1
  69. package/dist/cjs/b2b-tab-group.cjs.entry.js +1 -1
  70. package/dist/cjs/b2b-tab-panel.cjs.entry.js +1 -1
  71. package/dist/cjs/b2b-tab.cjs.entry.js +1 -1
  72. package/dist/cjs/b2b-table-row.cjs.entry.js +77 -21
  73. package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +85 -24
  74. package/dist/cjs/b2b-table.cjs.entry.js +10 -10
  75. package/dist/cjs/b2b-textarea.cjs.entry.js +1 -1
  76. package/dist/cjs/b2b-toggle-button.cjs.entry.js +7 -7
  77. package/dist/cjs/b2b-toggle-group.cjs.entry.js +3 -3
  78. package/dist/cjs/b2b-tooltip.cjs.entry.js +4 -4
  79. package/dist/cjs/b2b-wizard-icon.cjs.entry.js +1 -1
  80. package/dist/cjs/b2b-wizard-step.cjs.entry.js +4 -4
  81. package/dist/cjs/b2b-wizard.cjs.entry.js +2 -2
  82. package/dist/cjs/{index-496aa5dd.js → index-04e07a00.js} +88 -31
  83. package/dist/cjs/loader.cjs.js +3 -3
  84. package/dist/cjs/{table.types-bb0926c7.js → table.types-00c8228a.js} +2 -2
  85. package/dist/collection/collection-manifest.json +2 -2
  86. package/dist/collection/components/alert/alert.css +7 -7
  87. package/dist/collection/components/alert/alert.e2e.js +67 -0
  88. package/dist/collection/components/alert/alert.js +2 -2
  89. package/dist/collection/components/anchor/anchor.css +2 -2
  90. package/dist/collection/components/anchor/anchor.spec.js +68 -0
  91. package/dist/collection/components/button/button.css +35 -39
  92. package/dist/collection/components/button/button.e2e.js +80 -0
  93. package/dist/collection/components/button/button.js +31 -6
  94. package/dist/collection/components/card/card.css +2 -2
  95. package/dist/collection/components/card/card.e2e.js +110 -0
  96. package/dist/collection/components/card/card.spec.js +32 -0
  97. package/dist/collection/components/checkbox/checkbox.css +34 -13
  98. package/dist/collection/components/checkbox/checkbox.e2e.js +30 -0
  99. package/dist/collection/components/checkbox/checkbox.js +81 -6
  100. package/dist/collection/components/checkbox/checkbox.spec.js +45 -0
  101. package/dist/collection/components/checkbox-group/checkbox-group.css +5 -5
  102. package/dist/collection/components/checkbox-group/checkbox-group.e2e.js +78 -0
  103. package/dist/collection/components/checkbox-group/checkbox-group.js +5 -3
  104. package/dist/collection/components/checkbox-group/checkbox-group.spec.js +38 -0
  105. package/dist/collection/components/dropdown/dropdown.css +7 -7
  106. package/dist/collection/components/dropdown/dropdown.e2e.js +48 -0
  107. package/dist/collection/components/dropdown/dropdown.js +1 -1
  108. package/dist/collection/components/dropdown/dropdown.spec.js +52 -0
  109. package/dist/collection/components/grid/grid.e2e.js +17 -0
  110. package/dist/collection/components/grid/row.js +1 -1
  111. package/dist/collection/components/headline/headline.css +2 -2
  112. package/dist/collection/components/headline/headline.e2e.js +13 -0
  113. package/dist/collection/components/headline/headline.spec.js +67 -0
  114. package/dist/collection/components/icon/icon.css +9 -9
  115. package/dist/collection/components/icon/icon.js +2 -2
  116. package/dist/collection/components/icon/icon.spec.js +21 -0
  117. package/dist/collection/components/input/input.css +14 -14
  118. package/dist/collection/components/input/input.e2e.js +43 -0
  119. package/dist/collection/components/input/input.js +26 -4
  120. package/dist/collection/components/input/input.spec.js +45 -0
  121. package/dist/collection/components/input-group/input-group.css +4 -4
  122. package/dist/collection/components/input-group/input-group.e2e.js +76 -0
  123. package/dist/collection/components/input-group/input-group.js +4 -21
  124. package/dist/collection/components/input-group/input-group.spec.js +56 -0
  125. package/dist/collection/components/input-label/input-label.e2e.js +10 -0
  126. package/dist/collection/components/input-list/input-list.css +7 -7
  127. package/dist/collection/components/input-list/input-list.e2e.js +227 -0
  128. package/dist/collection/components/input-list/input-list.js +24 -2
  129. package/dist/collection/components/label/label.css +2 -2
  130. package/dist/collection/components/label/label.e2e.js +17 -0
  131. package/dist/collection/components/label/label.spec.js +58 -0
  132. package/dist/collection/components/modal/modal.css +13 -18
  133. package/dist/collection/components/modal/modal.e2e.js +115 -0
  134. package/dist/collection/components/modal/modal.js +3 -3
  135. package/dist/collection/components/pagination/pagination.css +7 -7
  136. package/dist/collection/components/pagination/pagination.e2e.js +256 -0
  137. package/dist/collection/components/pagination/pagination.js +3 -3
  138. package/dist/collection/components/pagination/pagination.spec.js +104 -0
  139. package/dist/collection/components/paragraph/paragraph.css +9 -9
  140. package/dist/collection/components/paragraph/paragraph.e2e.js +13 -0
  141. package/dist/collection/components/paragraph/paragraph.js +3 -3
  142. package/dist/collection/components/radio/radio.css +2 -2
  143. package/dist/collection/components/radio/radio.e2e.js +36 -0
  144. package/dist/collection/components/radio/radio.spec.js +38 -0
  145. package/dist/collection/components/radio-group/radio-group.css +2 -2
  146. package/dist/collection/components/radio-group/radio-group.e2e.js +71 -0
  147. package/dist/collection/components/radio-group/radio-group.spec.js +31 -0
  148. package/dist/collection/components/required-separator/required-separator.css +4 -4
  149. package/dist/collection/components/required-separator/required-separator.e2e.js +17 -0
  150. package/dist/collection/components/required-separator/required-separator.js +1 -1
  151. package/dist/collection/components/rounded-icon/rounded-icon.css +2 -2
  152. package/dist/collection/components/scrollable-container/scrollable-container.css +2 -2
  153. package/dist/collection/components/search/search.e2e.js +97 -0
  154. package/dist/collection/components/separator/separator.css +2 -2
  155. package/dist/collection/components/separator/separator.e2e.js +22 -0
  156. package/dist/collection/components/spinner/spinner.css +2 -2
  157. package/dist/collection/components/spinner/spinner.e2e.js +12 -0
  158. package/dist/collection/components/spinner/spinner.spec.js +41 -0
  159. package/dist/collection/components/tab/tab.css +2 -2
  160. package/dist/collection/components/tab/tab.e2e.js +35 -0
  161. package/dist/collection/components/tab/tab.spec.js +31 -0
  162. package/dist/collection/components/tab-group/tab-group.e2e.js +98 -0
  163. package/dist/collection/components/tab-panel/tab-panel.css +2 -2
  164. package/dist/collection/components/tab-panel/tab-panel.e2e.js +12 -0
  165. package/dist/collection/components/tab-panel/tab-panel.spec.js +10 -0
  166. package/dist/collection/components/table/stories.data.js +6 -6
  167. package/dist/collection/components/table/table-cell/table-cell.css +2 -2
  168. package/dist/collection/components/table/table-header/table-header.css +17 -17
  169. package/dist/collection/components/table/table-header/table-header.js +4 -4
  170. package/dist/collection/components/table/table-row/table-row.css +3 -3
  171. package/dist/collection/components/table/table-row/table-row.js +185 -25
  172. package/dist/collection/components/table/table-rowgroup/table-rowgroup.css +3 -3
  173. package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +118 -23
  174. package/dist/collection/components/table/table.css +2 -2
  175. package/dist/collection/components/table/table.e2e.js +370 -0
  176. package/dist/collection/components/table/table.js +8 -8
  177. package/dist/collection/components/table/table.stories.js +16 -7
  178. package/dist/collection/components/table/utils.js +18 -0
  179. package/dist/collection/components/textarea/textarea.css +2 -2
  180. package/dist/collection/components/textarea/textarea.e2e.js +91 -0
  181. package/dist/collection/components/toggle-button/toggle-button.css +9 -9
  182. package/dist/collection/components/toggle-button/toggle-button.e2e.js +44 -0
  183. package/dist/collection/components/toggle-button/toggle-button.js +5 -5
  184. package/dist/collection/components/toggle-group/toggle-group.css +3 -3
  185. package/dist/collection/components/toggle-group/toggle-group.e2e.js +65 -0
  186. package/dist/collection/components/toggle-group/toggle-group.js +1 -1
  187. package/dist/collection/components/tooltip/tooltip.css +14 -14
  188. package/dist/collection/components/tooltip/tooltip.e2e.js +64 -0
  189. package/dist/collection/components/tooltip/tooltip.js +2 -2
  190. package/dist/collection/components/wizard/wizard-step.js +2 -2
  191. package/dist/collection/components/wizard/wizard.css +3 -3
  192. package/dist/collection/components/wizard/wizard.e2e.js +149 -0
  193. package/dist/collection/components/wizard-icon/wizard-icon.css +2 -2
  194. package/dist/collection/docs/config/replace-prop-controls.spec.js +32 -0
  195. package/dist/collection/utils/types/table.types.js +5 -1
  196. package/dist/collection/utils/utils.spec.js +15 -0
  197. package/dist/components/b2b-alert.js +4 -4
  198. package/dist/components/b2b-anchor.js +1 -1
  199. package/dist/components/b2b-card.js +1 -1
  200. package/dist/components/b2b-checkbox-group.js +7 -5
  201. package/dist/components/b2b-checkbox.js +1 -99
  202. package/dist/components/b2b-dropdown.js +3 -3
  203. package/dist/components/b2b-grid-col.js +1 -1
  204. package/dist/components/b2b-grid-row.js +2 -2
  205. package/dist/components/b2b-grid.js +1 -1
  206. package/dist/components/b2b-label.js +1 -1
  207. package/dist/components/b2b-modal.js +5 -5
  208. package/dist/components/b2b-pagination.js +5 -5
  209. package/dist/components/b2b-paragraph.js +5 -5
  210. package/dist/components/b2b-radio-button.js +1 -1
  211. package/dist/components/b2b-radio-group.js +1 -1
  212. package/dist/components/b2b-required-separator.js +3 -3
  213. package/dist/components/b2b-scrollable-container.js +1 -1
  214. package/dist/components/b2b-search.js +1 -1
  215. package/dist/components/b2b-tab-group.js +1 -1
  216. package/dist/components/b2b-tab-panel.js +1 -1
  217. package/dist/components/b2b-tab.js +1 -1
  218. package/dist/components/b2b-table-row.js +97 -25
  219. package/dist/components/b2b-table-rowgroup.js +91 -27
  220. package/dist/components/b2b-table.js +9 -9
  221. package/dist/components/b2b-textarea.js +1 -1
  222. package/dist/components/b2b-toggle-button.js +7 -7
  223. package/dist/components/b2b-toggle-group.js +3 -3
  224. package/dist/components/b2b-tooltip.js +4 -4
  225. package/dist/components/b2b-wizard-step.js +4 -4
  226. package/dist/components/b2b-wizard.js +2 -2
  227. package/dist/components/button.js +13 -8
  228. package/dist/{esm/b2b-checkbox.entry.js → components/checkbox.js} +66 -13
  229. package/dist/components/headline.js +1 -1
  230. package/dist/components/icon.js +4 -4
  231. package/dist/components/input-group.js +7 -20
  232. package/dist/components/input-label.js +1 -1
  233. package/dist/components/input-list-option.js +2 -2
  234. package/dist/components/input-list.js +6 -4
  235. package/dist/components/input.js +8 -6
  236. package/dist/components/rounded-icon.js +1 -1
  237. package/dist/components/separator.js +1 -1
  238. package/dist/components/spinner.js +1 -1
  239. package/dist/components/table-cell.js +1 -1
  240. package/dist/components/table-header.js +6 -6
  241. package/dist/components/table.types.js +2 -2
  242. package/dist/components/wizard-icon.js +1 -1
  243. package/dist/custom-elements.json +22 -13
  244. package/dist/esm/b2b-alert.entry.js +4 -4
  245. package/dist/esm/b2b-anchor.entry.js +1 -1
  246. package/dist/esm/b2b-button_2.entry.js +12 -8
  247. package/dist/esm/b2b-card.entry.js +1 -1
  248. package/dist/esm/b2b-checkbox-group.entry.js +7 -5
  249. package/dist/esm/{b2b-table-cell_2.entry.js → b2b-checkbox_3.entry.js} +94 -8
  250. package/dist/esm/b2b-core-components.js +4 -4
  251. package/dist/esm/b2b-dropdown.entry.js +3 -3
  252. package/dist/esm/b2b-grid-col.entry.js +1 -1
  253. package/dist/esm/b2b-grid-row.entry.js +2 -2
  254. package/dist/esm/b2b-grid.entry.js +1 -1
  255. package/dist/esm/b2b-headline.entry.js +1 -1
  256. package/dist/esm/b2b-icon.entry.js +4 -4
  257. package/dist/esm/b2b-input-group_2.entry.js +10 -21
  258. package/dist/esm/b2b-input-label.entry.js +1 -1
  259. package/dist/esm/b2b-input_2.entry.js +8 -7
  260. package/dist/esm/b2b-label.entry.js +1 -1
  261. package/dist/esm/b2b-modal.entry.js +5 -5
  262. package/dist/esm/b2b-pagination.entry.js +5 -5
  263. package/dist/esm/b2b-paragraph.entry.js +5 -5
  264. package/dist/esm/b2b-radio-button.entry.js +1 -1
  265. package/dist/esm/b2b-radio-group.entry.js +1 -1
  266. package/dist/esm/b2b-required-separator.entry.js +3 -3
  267. package/dist/esm/b2b-rounded-icon.entry.js +1 -1
  268. package/dist/esm/b2b-scrollable-container.entry.js +1 -1
  269. package/dist/esm/b2b-search.entry.js +1 -1
  270. package/dist/esm/b2b-separator.entry.js +1 -1
  271. package/dist/esm/b2b-tab-group.entry.js +1 -1
  272. package/dist/esm/b2b-tab-panel.entry.js +1 -1
  273. package/dist/esm/b2b-tab.entry.js +1 -1
  274. package/dist/esm/b2b-table-row.entry.js +77 -21
  275. package/dist/esm/b2b-table-rowgroup.entry.js +85 -24
  276. package/dist/esm/b2b-table.entry.js +10 -10
  277. package/dist/esm/b2b-textarea.entry.js +1 -1
  278. package/dist/esm/b2b-toggle-button.entry.js +7 -7
  279. package/dist/esm/b2b-toggle-group.entry.js +3 -3
  280. package/dist/esm/b2b-tooltip.entry.js +4 -4
  281. package/dist/esm/b2b-wizard-icon.entry.js +1 -1
  282. package/dist/esm/b2b-wizard-step.entry.js +4 -4
  283. package/dist/esm/b2b-wizard.entry.js +2 -2
  284. package/dist/esm/{index-026605c2.js → index-dfdbf4b9.js} +88 -31
  285. package/dist/esm/loader.js +4 -4
  286. package/dist/esm/{table.types-9943c937.js → table.types-dd829d83.js} +2 -2
  287. package/dist/types/components/alert/alert.stories.d.ts +1 -1
  288. package/dist/types/components/anchor/anchor.stories.d.ts +1 -1
  289. package/dist/types/components/button/button.d.ts +2 -0
  290. package/dist/types/components/button/button.stories.d.ts +1 -1
  291. package/dist/types/components/card/card.stories.d.ts +1 -1
  292. package/dist/types/components/checkbox/checkbox.d.ts +8 -1
  293. package/dist/types/components/checkbox/checkbox.stories.d.ts +1 -1
  294. package/dist/types/components/checkbox-group/checkbox-group.stories.d.ts +1 -1
  295. package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -1
  296. package/dist/types/components/grid/grid.stories.d.ts +1 -1
  297. package/dist/types/components/headline/headline.stories.d.ts +1 -1
  298. package/dist/types/components/icon/icon.stories.d.ts +1 -1
  299. package/dist/types/components/input/input.d.ts +2 -0
  300. package/dist/types/components/input/input.stories.d.ts +1 -1
  301. package/dist/types/components/input-group/input-group.d.ts +0 -4
  302. package/dist/types/components/input-group/input-group.stories.d.ts +1 -1
  303. package/dist/types/components/input-list/input-list.d.ts +2 -0
  304. package/dist/types/components/input-list/input-list.stories.d.ts +1 -1
  305. package/dist/types/components/label/label.stories.d.ts +1 -1
  306. package/dist/types/components/modal/modal.stories.d.ts +1 -1
  307. package/dist/types/components/pagination/pagination.stories.d.ts +1 -1
  308. package/dist/types/components/paragraph/paragraph.stories.d.ts +1 -1
  309. package/dist/types/components/radio/radio.stories.d.ts +1 -1
  310. package/dist/types/components/radio-group/radio-group.stories.d.ts +1 -1
  311. package/dist/types/components/required-separator/required-separator.stories.d.ts +1 -1
  312. package/dist/types/components/rounded-icon/rounded-icon.stories.d.ts +1 -1
  313. package/dist/types/components/scrollable-container/scrollable-container.stories.d.ts +1 -1
  314. package/dist/types/components/search/search.stories.d.ts +1 -1
  315. package/dist/types/components/separator/separator.stories.d.ts +1 -1
  316. package/dist/types/components/spinner/spinner.stories.d.ts +1 -1
  317. package/dist/types/components/tab-group/tab-group.stories.d.ts +1 -1
  318. package/dist/types/components/table/table-row/table-row.d.ts +23 -7
  319. package/dist/types/components/table/table-rowgroup/table-rowgroup.d.ts +12 -2
  320. package/dist/types/components/table/table.d.ts +1 -1
  321. package/dist/types/components/table/table.stories.d.ts +2 -1
  322. package/dist/types/components/table/utils.d.ts +4 -0
  323. package/dist/types/components/textarea/textarea.stories.d.ts +1 -1
  324. package/dist/types/components/toggle-group/toggle-group.stories.d.ts +1 -1
  325. package/dist/types/components/tooltip/tooltip.stories.d.ts +1 -1
  326. package/dist/types/components/wizard/wizard.stories.d.ts +1 -1
  327. package/dist/types/components/wizard-icon/wizard-icon.stories.d.ts +1 -1
  328. package/dist/types/components.d.ts +71 -9
  329. package/dist/types/docs/tokens/color.stories.d.ts +1 -1
  330. package/dist/types/docs/tokens/font.stories.d.ts +1 -1
  331. package/dist/types/docs/tokens/size.stories.d.ts +1 -1
  332. package/dist/types/stencil-public-runtime.d.ts +3 -0
  333. package/dist/types/utils/interfaces/content.interface.d.ts +4 -0
  334. package/dist/types/utils/interfaces/form.interface.d.ts +1 -0
  335. package/dist/types/utils/types/table.types.d.ts +7 -2
  336. package/dist/web-types.json +76 -6
  337. package/loader/index.d.ts +1 -1
  338. package/package.json +4 -4
  339. package/dist/b2b-core-components/p-0675225a.entry.js +0 -1
  340. package/dist/b2b-core-components/p-080a0741.entry.js +0 -1
  341. package/dist/b2b-core-components/p-0f8bd310.entry.js +0 -1
  342. package/dist/b2b-core-components/p-14f1b674.entry.js +0 -1
  343. package/dist/b2b-core-components/p-1eb784f9.entry.js +0 -1
  344. package/dist/b2b-core-components/p-21bfe96a.entry.js +0 -1
  345. package/dist/b2b-core-components/p-3cd9088a.entry.js +0 -1
  346. package/dist/b2b-core-components/p-42da7a57.entry.js +0 -1
  347. package/dist/b2b-core-components/p-4fc894c8.entry.js +0 -1
  348. package/dist/b2b-core-components/p-710600ca.entry.js +0 -1
  349. package/dist/b2b-core-components/p-83cb9d03.entry.js +0 -1
  350. package/dist/b2b-core-components/p-a7417890.js +0 -2
  351. package/dist/b2b-core-components/p-c9dcb35a.entry.js +0 -1
  352. package/dist/b2b-core-components/p-cf010e88.entry.js +0 -1
  353. package/dist/b2b-core-components/p-e3cd216c.entry.js +0 -1
  354. package/dist/b2b-core-components/p-fa6cd2ac.entry.js +0 -1
  355. package/dist/b2b-core-components/p-fe96d81a.entry.js +0 -1
  356. package/dist/cjs/b2b-checkbox.cjs.entry.js +0 -74
  357. /package/dist/b2b-core-components/{p-de2c1003.js → p-34eb99cb.js} +0 -0
@@ -0,0 +1,256 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ import { PaginationConstants } from './pagination.constants';
3
+ describe('B2B-Pagination', () => {
4
+ let page;
5
+ const getPaginationElement = async (page) => await page.find('b2b-pagination >>> nav');
6
+ const clickBack = async (pagination) => {
7
+ const backButton = await pagination.find({
8
+ text: PaginationConstants.BACK,
9
+ });
10
+ await backButton.click();
11
+ };
12
+ const clickNext = async (pagination) => {
13
+ const nextButton = await pagination.find({
14
+ text: PaginationConstants.NEXT,
15
+ });
16
+ await nextButton.click();
17
+ };
18
+ const navigationItemsSelector = 'b2b-pagination >>> li.b2b-pagination--item';
19
+ it('should set next page to active when click on next button', async () => {
20
+ page = await newE2EPage();
21
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='1'></b2b-pagination>`);
22
+ await page.waitForChanges();
23
+ const pagination = await getPaginationElement(page);
24
+ let firstItem = await pagination.find({ text: '1' });
25
+ expect(firstItem).toHaveAttribute('active');
26
+ await clickNext(pagination);
27
+ await page.waitForChanges();
28
+ firstItem = await pagination.find({ text: '1' });
29
+ expect(firstItem).not.toHaveAttribute('active');
30
+ const secondItem = await pagination.find({ text: '2' });
31
+ expect(secondItem).toHaveAttribute('active');
32
+ });
33
+ it('should set previous page to active when click on previous button', async () => {
34
+ page = await newE2EPage();
35
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='5'></b2b-pagination>`);
36
+ await page.waitForChanges();
37
+ const pagination = await getPaginationElement(page);
38
+ let lastItem = await pagination.find({ text: '5' });
39
+ expect(lastItem).toHaveAttribute('active');
40
+ await clickBack(pagination);
41
+ await page.waitForChanges();
42
+ lastItem = await pagination.find({ text: '5' });
43
+ expect(lastItem).not.toHaveAttribute('active');
44
+ const secondItem = await pagination.find({ text: '4' });
45
+ expect(secondItem).toHaveAttribute('active');
46
+ });
47
+ it('should update the items collection when navigating forward', async () => {
48
+ page = await newE2EPage();
49
+ await page.setContent(`<b2b-pagination total-pages='7' active-page='3'></b2b-pagination>`);
50
+ await page.waitForChanges();
51
+ const pagination = await getPaginationElement(page);
52
+ let items = await page.findAll(navigationItemsSelector);
53
+ const startingItemsCollection = ['1', '2', '3', '...', '7'];
54
+ items.forEach((item, index) => {
55
+ expect(item.textContent).toBe(startingItemsCollection[index]);
56
+ });
57
+ await clickNext(pagination);
58
+ await page.waitForChanges();
59
+ items = await page.findAll(navigationItemsSelector);
60
+ const expectedNextItemCollection = ['1', '...', '3', '4', '5', '...', '7'];
61
+ items.forEach((item, index) => {
62
+ expect(item.textContent).toBe(expectedNextItemCollection[index]);
63
+ });
64
+ const nextActiveItem = await pagination.find({ text: '4' });
65
+ expect(nextActiveItem).toHaveAttribute('active');
66
+ });
67
+ it('should update the items collection when navigating back', async () => {
68
+ page = await newE2EPage();
69
+ await page.setContent(`<b2b-pagination total-pages='7' active-page='5'></b2b-pagination>`);
70
+ await page.waitForChanges();
71
+ const pagination = await getPaginationElement(page);
72
+ let items = await page.findAll(navigationItemsSelector);
73
+ const startingItemsCollection = ['1', '...', '5', '6', '7'];
74
+ items.forEach((item, index) => {
75
+ expect(item.textContent).toBe(startingItemsCollection[index]);
76
+ });
77
+ await clickBack(pagination);
78
+ await page.waitForChanges();
79
+ items = await page.findAll(navigationItemsSelector);
80
+ const expectedBackItemCollection = ['1', '...', '3', '4', '5', '...', '7'];
81
+ items.forEach((item, index) => {
82
+ expect(item.textContent).toBe(expectedBackItemCollection[index]);
83
+ });
84
+ const nextActiveItem = await pagination.find({ text: '4' });
85
+ expect(nextActiveItem).toHaveAttribute('active');
86
+ });
87
+ it('should navigate to the selected item', async () => {
88
+ page = await newE2EPage();
89
+ await page.setContent(`<b2b-pagination total-pages='7' active-page='1'></b2b-pagination>`);
90
+ await page.waitForChanges();
91
+ const pagination = await getPaginationElement(page);
92
+ let nextSelectedItem = await pagination.find({ text: '2' });
93
+ expect(nextSelectedItem).not.toHaveAttribute('active');
94
+ await nextSelectedItem.click();
95
+ await page.waitForChanges();
96
+ nextSelectedItem = await pagination.find({ text: '2' });
97
+ expect(nextSelectedItem).toHaveAttribute('active');
98
+ });
99
+ it('should jump 2 steps forward when clicking right DOTS', async () => {
100
+ page = await newE2EPage();
101
+ await page.setContent(`<b2b-pagination total-pages='10' active-page='3'></b2b-pagination>`);
102
+ await page.waitForChanges();
103
+ const pagination = await getPaginationElement(page);
104
+ // only one DOTS element in this example - right DOTS
105
+ let dotsItem = await pagination.find({ text: PaginationConstants.DOTS });
106
+ await dotsItem.click();
107
+ await page.waitForChanges();
108
+ const nextItem = await pagination.find({ text: '5' });
109
+ expect(nextItem).toHaveAttribute('active');
110
+ const items = await page.findAll(navigationItemsSelector);
111
+ const expectedBackItemCollection = ['1', '...', '4', '5', '6', '...', '10'];
112
+ items.forEach((item, index) => {
113
+ expect(item.textContent).toBe(expectedBackItemCollection[index]);
114
+ });
115
+ });
116
+ it('should jump 2 steps back when clicking left DOTS', async () => {
117
+ page = await newE2EPage();
118
+ await page.setContent(`<b2b-pagination total-pages='10' active-page='8'></b2b-pagination>`);
119
+ await page.waitForChanges();
120
+ const pagination = await getPaginationElement(page);
121
+ // only one DOTS element in this example - left DOTS
122
+ let dotsItem = await pagination.find({ text: PaginationConstants.DOTS });
123
+ await dotsItem.click();
124
+ await page.waitForChanges();
125
+ const nextItem = await pagination.find({ text: '6' });
126
+ expect(nextItem).toHaveAttribute('active');
127
+ const items = await page.findAll(navigationItemsSelector);
128
+ const expectedBackItemCollection = ['1', '...', '5', '6', '7', '...', '10'];
129
+ items.forEach((item, index) => {
130
+ expect(item.textContent).toBe(expectedBackItemCollection[index]);
131
+ });
132
+ });
133
+ it('back button should disappear when first page is selected ', async () => {
134
+ page = await newE2EPage();
135
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='2'></b2b-pagination>`);
136
+ await page.waitForChanges();
137
+ const pagination = await getPaginationElement(page);
138
+ let backButton = await pagination.find({ text: PaginationConstants.BACK });
139
+ expect(backButton).not.toBeNull();
140
+ let firstPage = await pagination.find({ text: '1' });
141
+ await firstPage.click();
142
+ backButton = await pagination.find({ text: PaginationConstants.BACK });
143
+ expect(backButton).toBeNull();
144
+ });
145
+ it('next button should disappear when last page is selected ', async () => {
146
+ page = await newE2EPage();
147
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='4'></b2b-pagination>`);
148
+ await page.waitForChanges();
149
+ const pagination = await getPaginationElement(page);
150
+ let nextButton = await pagination.find({ text: PaginationConstants.NEXT });
151
+ expect(nextButton).not.toBeNull();
152
+ let lastPage = await pagination.find({ text: '5' });
153
+ await lastPage.click();
154
+ nextButton = await pagination.find({ text: PaginationConstants.NEXT });
155
+ expect(nextButton).toBeNull();
156
+ });
157
+ it('should emit event with details when click on next button', async () => {
158
+ page = await newE2EPage();
159
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='1'></b2b-pagination>`);
160
+ await page.waitForChanges();
161
+ const paginationEvent = await page.spyOnEvent('b2b-page-change');
162
+ const pagination = await getPaginationElement(page);
163
+ await clickNext(pagination);
164
+ expect(paginationEvent).toHaveReceivedEvent();
165
+ expect(paginationEvent).toHaveFirstReceivedEventDetail({
166
+ lastSelectedPage: 1,
167
+ currentPage: 2,
168
+ direction: 'NEXT',
169
+ });
170
+ });
171
+ it('should emit event with details when click on back button', async () => {
172
+ page = await newE2EPage();
173
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='5'></b2b-pagination>`);
174
+ await page.waitForChanges();
175
+ const paginationEvent = await page.spyOnEvent('b2b-page-change');
176
+ const pagination = await getPaginationElement(page);
177
+ await clickBack(pagination);
178
+ expect(paginationEvent).toHaveReceivedEvent();
179
+ expect(paginationEvent).toHaveFirstReceivedEventDetail({
180
+ lastSelectedPage: 5,
181
+ currentPage: 4,
182
+ direction: 'PREVIOUS',
183
+ });
184
+ });
185
+ it('should emit event with details when click on an item', async () => {
186
+ page = await newE2EPage();
187
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='1'></b2b-pagination>`);
188
+ await page.waitForChanges();
189
+ const paginationEvent = await page.spyOnEvent('b2b-page-change');
190
+ const pagination = await getPaginationElement(page);
191
+ let nextItem = await pagination.find({ text: '4' });
192
+ await nextItem.click();
193
+ await page.waitForChanges();
194
+ expect(paginationEvent).toHaveReceivedEvent();
195
+ expect(paginationEvent).toHaveFirstReceivedEventDetail({
196
+ lastSelectedPage: 1,
197
+ currentPage: 4,
198
+ });
199
+ });
200
+ it('should refresh items when total items changes dynamically', async () => {
201
+ page = await newE2EPage();
202
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='1'></b2b-pagination>`);
203
+ await page.waitForChanges();
204
+ let items = await page.findAll(navigationItemsSelector);
205
+ const expectedInitialCollection = ['1', '2', '3', '4', '5'];
206
+ items.forEach((item, index) => {
207
+ expect(item.textContent).toBe(expectedInitialCollection[index]);
208
+ });
209
+ const element = await page.find('b2b-pagination');
210
+ await element.setAttribute('total-pages', 20);
211
+ await page.waitForChanges();
212
+ items = await page.findAll(navigationItemsSelector);
213
+ const expectedUpdatedCollection = ['1', '2', '3', '...', '20'];
214
+ items.forEach((item, index) => {
215
+ expect(item.textContent).toBe(expectedUpdatedCollection[index]);
216
+ });
217
+ });
218
+ it('should set selected page to total pages when total items changes dynamically and is lower than selected page', async () => {
219
+ page = await newE2EPage();
220
+ await page.setContent(`<b2b-pagination total-pages='20' active-page='10'></b2b-pagination>`);
221
+ await page.waitForChanges();
222
+ const element = await page.find('b2b-pagination');
223
+ expect(element.getAttribute('active-page')).toBe('10');
224
+ await element.setAttribute('total-pages', 5);
225
+ await page.waitForChanges();
226
+ expect(element.getAttribute('active-page')).toBe('5');
227
+ });
228
+ it('should refresh items when active page changes dynamically', async () => {
229
+ page = await newE2EPage();
230
+ await page.setContent(`<b2b-pagination total-pages='10' active-page='1'></b2b-pagination>`);
231
+ await page.waitForChanges();
232
+ let items = await page.findAll(navigationItemsSelector);
233
+ const expectedInitialCollection = ['1', '2', '3', '...', '10'];
234
+ items.forEach((item, index) => {
235
+ expect(item.textContent).toBe(expectedInitialCollection[index]);
236
+ });
237
+ const element = await page.find('b2b-pagination');
238
+ await element.setAttribute('active-page', 5);
239
+ await page.waitForChanges();
240
+ items = await page.findAll(navigationItemsSelector);
241
+ const expectedUpdatedCollection = ['1', '...', '4', '5', '6', '...', '10'];
242
+ items.forEach((item, index) => {
243
+ expect(item.textContent).toBe(expectedUpdatedCollection[index]);
244
+ });
245
+ });
246
+ it('should set selected page to total pages when selected page changes dynamically and is higher than total pages', async () => {
247
+ page = await newE2EPage();
248
+ await page.setContent(`<b2b-pagination total-pages='5' active-page='2'></b2b-pagination>`);
249
+ await page.waitForChanges();
250
+ const element = await page.find('b2b-pagination');
251
+ expect(element.getAttribute('active-page')).toBe('2');
252
+ await element.setAttribute('active-page', 20);
253
+ await page.waitForChanges();
254
+ expect(element.getAttribute('active-page')).toBe('5');
255
+ });
256
+ });
@@ -86,9 +86,9 @@ export class PaginationComponent {
86
86
  }
87
87
  getItemClass(navItem) {
88
88
  return {
89
- 'b2b-pagination--first-item': navItem === this.firstPageIndex,
90
- 'b2b-pagination--last-item': navItem === this.totalPages,
91
- 'b2b-pagination--item': true,
89
+ 'b2b-pagination__first-item': navItem === this.firstPageIndex,
90
+ 'b2b-pagination__last-item': navItem === this.totalPages,
91
+ 'b2b-pagination__item': true,
92
92
  };
93
93
  }
94
94
  render() {
@@ -0,0 +1,104 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { PaginationComponent } from './pagination';
3
+ import { PaginationConstants } from './pagination.constants';
4
+ describe('B2B-Pagination', () => {
5
+ const backAndForwardItems = 2;
6
+ const getItem = (page, itemText) => {
7
+ const allItemElements = page.root.shadowRoot.querySelectorAll('li.b2b-pagination__item b2b-button');
8
+ const allItems = Array.from(allItemElements);
9
+ return allItems.find(item => item.textContent === itemText);
10
+ };
11
+ it('active page should be 1 by default', async () => {
12
+ const page = await newSpecPage({
13
+ components: [PaginationComponent],
14
+ html: `<b2b-pagination></b2b-pagination>`,
15
+ });
16
+ expect(page.rootInstance.activePage).toBe(1);
17
+ });
18
+ it('total pages should be 1 by default', async () => {
19
+ const page = await newSpecPage({
20
+ components: [PaginationComponent],
21
+ html: `<b2b-pagination></b2b-pagination>`,
22
+ });
23
+ expect(page.rootInstance.totalPages).toBe(1);
24
+ });
25
+ it('selected element must render button as active', async () => {
26
+ const page = await newSpecPage({
27
+ components: [PaginationComponent],
28
+ html: `<b2b-pagination total-pages='5' active-page='1'></b2b-pagination>`,
29
+ });
30
+ await page.waitForChanges();
31
+ const firstItem = getItem(page, '1');
32
+ const isSelectedButtonActive = firstItem.getAttribute('active');
33
+ expect(isSelectedButtonActive).not.toBeNull();
34
+ const secondItem = getItem(page, '2');
35
+ const isSecondButtonActive = secondItem.getAttribute('active');
36
+ expect(isSecondButtonActive).toBeNull();
37
+ });
38
+ it('should show at most 5 items', async () => {
39
+ const page = await newSpecPage({
40
+ components: [PaginationComponent],
41
+ html: `<b2b-pagination total-pages='10' active-page='2'></b2b-pagination>`,
42
+ });
43
+ await page.waitForChanges();
44
+ const listElements = page.root.shadowRoot.querySelectorAll('li');
45
+ expect(listElements.length).toBe(5 + backAndForwardItems);
46
+ });
47
+ it('should show total number of pages in the last item', async () => {
48
+ const page = await newSpecPage({
49
+ components: [PaginationComponent],
50
+ html: `<b2b-pagination total-pages='10'></b2b-pagination>`,
51
+ });
52
+ await page.waitForChanges();
53
+ const lastItemNPosition = 2;
54
+ const lastItemSelector = `li.b2b-pagination__item:nth-last-of-type(${lastItemNPosition})`;
55
+ const lastItem = page.root.shadowRoot.querySelector(lastItemSelector);
56
+ expect(lastItem.textContent).toBe('10');
57
+ });
58
+ it('should show dots on the second to last item when initial items active and total pages greater than 5', async () => {
59
+ const page = await newSpecPage({
60
+ components: [PaginationComponent],
61
+ html: `<b2b-pagination total-pages='10' active-page='1'></b2b-pagination>`,
62
+ });
63
+ await page.waitForChanges();
64
+ const secondToLastItemSelector = `li.b2b-pagination__item:nth-last-of-type(3)`;
65
+ const lastItem = page.root.shadowRoot.querySelector(secondToLastItemSelector);
66
+ expect(lastItem.textContent).toBe(PaginationConstants.DOTS);
67
+ });
68
+ it('should show dots on the second item when any of last items are active', async () => {
69
+ const page = await newSpecPage({
70
+ components: [PaginationComponent],
71
+ html: `<b2b-pagination total-pages='10' active-page='8'></b2b-pagination>`,
72
+ });
73
+ await page.waitForChanges();
74
+ const secondItemSelector = `li.b2b-pagination__item:nth-of-type(3)`;
75
+ const secondItem = page.root.shadowRoot.querySelector(secondItemSelector);
76
+ expect(secondItem.textContent).toBe(PaginationConstants.DOTS);
77
+ });
78
+ it('should show dots on the second and second to last items when middle item is active', async () => {
79
+ const page = await newSpecPage({
80
+ components: [PaginationComponent],
81
+ html: `<b2b-pagination total-pages='10' active-page='5'></b2b-pagination>`,
82
+ });
83
+ await page.waitForChanges();
84
+ const secondItemSelector = `li.b2b-pagination__item:nth-of-type(3)`;
85
+ const secondItem = page.root.shadowRoot.querySelector(secondItemSelector);
86
+ expect(secondItem.textContent).toBe(PaginationConstants.DOTS);
87
+ const secondToLastItemSelector = `li.b2b-pagination__item:nth-last-of-type(3)`;
88
+ const lastItem = page.root.shadowRoot.querySelector(secondToLastItemSelector);
89
+ expect(lastItem.textContent).toBe(PaginationConstants.DOTS);
90
+ });
91
+ it('should not show dots when 5 items or less', async () => {
92
+ const page = await newSpecPage({
93
+ components: [PaginationComponent],
94
+ html: `<b2b-pagination total-pages='5' active-page='2'></b2b-pagination>`,
95
+ });
96
+ await page.waitForChanges();
97
+ const secondItemSelector = `li.b2b-pagination__item:nth-of-type(3)`;
98
+ const secondItem = page.root.shadowRoot.querySelector(secondItemSelector);
99
+ expect(secondItem.textContent).toBe('2');
100
+ const secondToLastItemSelector = `li.b2b-pagination__item:nth-last-of-type(3)`;
101
+ const lastItem = page.root.shadowRoot.querySelector(secondToLastItemSelector);
102
+ expect(lastItem.textContent).toBe('4');
103
+ });
104
+ });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 03 Jul 2023 11:38:27 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 */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Mon, 03 Jul 2023 11:38:27 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -218,26 +218,26 @@
218
218
  color: var(--b2b-color-copy-default);
219
219
  margin: 0 0 var(--b2b-size-30);
220
220
  }
221
- .b2b-paragraph.size-50 {
221
+ .b2b-paragraph--size-50 {
222
222
  font-size: var(--b2b-size-copy-50);
223
223
  line-height: var(--b2b-size-copy-line-height-75);
224
224
  }
225
- .b2b-paragraph.size-100 {
225
+ .b2b-paragraph--size-100 {
226
226
  font-size: var(--b2b-size-copy-100);
227
227
  line-height: var(--b2b-size-copy-line-height-100);
228
228
  }
229
- .b2b-paragraph.weight-normal {
229
+ .b2b-paragraph--weight-normal {
230
230
  font-weight: var(--b2b-font-weight-normal);
231
231
  }
232
- .b2b-paragraph.weight-bold {
232
+ .b2b-paragraph--weight-bold {
233
233
  font-weight: var(--b2b-font-weight-bold);
234
234
  }
235
- .b2b-paragraph.align-left {
235
+ .b2b-paragraph--align-left {
236
236
  text-align: left;
237
237
  }
238
- .b2b-paragraph.align-right {
238
+ .b2b-paragraph--align-right {
239
239
  text-align: right;
240
240
  }
241
- .b2b-paragraph.align-center {
241
+ .b2b-paragraph--align-center {
242
242
  text-align: center;
243
243
  }
@@ -0,0 +1,13 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('B2B-Paragraph', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent(`<b2b-paragraph>Paragraph</b2b-paragraph>`);
7
+ });
8
+ it('should render paragraph component', async () => {
9
+ const element = await page.find('b2b-paragraph');
10
+ expect(element).not.toBeNull();
11
+ expect(element).toEqualText('Paragraph');
12
+ });
13
+ });
@@ -12,9 +12,9 @@ export class ParagraphComponent {
12
12
  render() {
13
13
  return (h("p", { class: {
14
14
  'b2b-paragraph': true,
15
- ['size-' + this.size]: true,
16
- ['weight-' + this.weight]: true,
17
- ['align-' + this.align]: true,
15
+ ['b2b-paragraph--size-' + this.size]: true,
16
+ ['b2b-paragraph--weight-' + this.weight]: true,
17
+ ['b2b-paragraph--align-' + this.align]: true,
18
18
  } }, h("slot", null)));
19
19
  }
20
20
  static get is() { return "b2b-paragraph"; }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 03 Jul 2023 11:38:27 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 */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Mon, 03 Jul 2023 11:38:27 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -0,0 +1,36 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('b2b-radio', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent('<b2b-radio-button label="test" value="one"></b2b-radio-button>');
7
+ });
8
+ it('renders', async () => {
9
+ const element = await page.find('b2b-radio-button');
10
+ expect(element).toBeDefined();
11
+ });
12
+ it('emits when clicked', async () => {
13
+ const spy = await page.spyOnEvent('b2b-change');
14
+ const element = await page.find('b2b-radio-button');
15
+ await element.click();
16
+ await page.waitForChanges();
17
+ expect(spy).toHaveReceivedEvent();
18
+ });
19
+ it('should not emit when radio is already selected', async () => {
20
+ const spy = await page.spyOnEvent('b2b-change');
21
+ const element = await page.find('b2b-radio-button');
22
+ await element.click();
23
+ await element.click();
24
+ await page.waitForChanges();
25
+ expect(spy).toHaveReceivedEventTimes(1);
26
+ });
27
+ it('should not emit when radio is disabled', async () => {
28
+ const spy = await page.spyOnEvent('b2b-change');
29
+ const element = await page.find('b2b-radio-button');
30
+ await element.setProperty('disabled', true);
31
+ await page.waitForChanges();
32
+ await element.click();
33
+ await page.waitForChanges();
34
+ expect(spy).not.toHaveReceivedEvent();
35
+ });
36
+ });
@@ -0,0 +1,38 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { B2bRadioButtonComponent } from './radio';
4
+ it('should render the radio button', async () => {
5
+ const page = await newSpecPage({
6
+ components: [B2bRadioButtonComponent],
7
+ template: () => (h("b2b-radio-button", { label: "test", name: "radio-test" })),
8
+ });
9
+ expect(page.root).toMatchSnapshot();
10
+ });
11
+ it('should disable the radio button', async () => {
12
+ const page = await newSpecPage({
13
+ components: [B2bRadioButtonComponent],
14
+ template: () => (h("b2b-radio-button", { label: "test", name: "radio-test", disabled: true })),
15
+ });
16
+ expect(page.root).toMatchSnapshot();
17
+ });
18
+ it('should render a hint message if a hint string is specified', async () => {
19
+ const page = await newSpecPage({
20
+ components: [B2bRadioButtonComponent],
21
+ template: () => (h("b2b-radio-button", { label: "test", name: "radio-test", hint: "this is a hint" })),
22
+ });
23
+ expect(page.root).toMatchSnapshot();
24
+ });
25
+ it('should apply an error style if it is marked as invalid.', async () => {
26
+ const page = await newSpecPage({
27
+ components: [B2bRadioButtonComponent],
28
+ template: () => (h("b2b-radio-button", { label: "test", name: "radio-test", error: "this is an error", invalid: true })),
29
+ });
30
+ expect(page.root).toMatchSnapshot();
31
+ });
32
+ it('should render an error message if an error is specified and it is marked as invalid', async () => {
33
+ const page = await newSpecPage({
34
+ components: [B2bRadioButtonComponent],
35
+ template: () => (h("b2b-radio-button", { label: "test", name: "radio-test", error: "this is an error", invalid: true })),
36
+ });
37
+ expect(page.root).toMatchSnapshot();
38
+ });
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Mon, 03 Jul 2023 11:38:27 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 */
@@ -122,7 +122,7 @@
122
122
  }
123
123
  /**
124
124
  * Do not edit directly
125
- * Generated on Mon, 03 Jul 2023 11:38:27 GMT
125
+ * Generated on Tue, 22 Aug 2023 11:28:34 GMT
126
126
  */
127
127
  :root [data-theme="dark"] {
128
128
  --b2b-size-200: 5rem; /* 80px */
@@ -0,0 +1,71 @@
1
+ import { newE2EPage } from '@stencil/core/testing';
2
+ describe('B2B-Radio-Group', () => {
3
+ let page;
4
+ beforeEach(async () => {
5
+ page = await newE2EPage();
6
+ await page.setContent(`
7
+ <b2b-radio-group label="test label" name="test-group">
8
+ <b2b-radio-button label="one" value="one" name="test-group" id="one" hint="test" error="test"></b2b-radio-button>
9
+ <b2b-radio-button label="two" value="two" name="test-group" id="two"</b2b-radio-button>
10
+ </b2b-radio-group>
11
+ `);
12
+ });
13
+ it('should render the radio group component', async () => {
14
+ const element = await page.find('b2b-radio-group');
15
+ expect(element).not.toBeNull();
16
+ });
17
+ it('should have all radio buttons unchecked by default and check a radio button', async () => {
18
+ const element = await page.find('b2b-radio-button');
19
+ expect(element).not.toHaveAttribute('checked');
20
+ element.setAttribute('checked', true);
21
+ await page.waitForChanges();
22
+ expect(element).toHaveAttribute('checked');
23
+ });
24
+ it('should receive a custom event', async () => {
25
+ const element = await page.find('b2b-radio-button >>> div > input');
26
+ expect(element).not.toBeNull();
27
+ const b2bChange = await page.spyOnEvent('b2b-change');
28
+ await element.click();
29
+ await page.waitForChanges();
30
+ expect(b2bChange).toHaveReceivedEvent();
31
+ });
32
+ it('should emit a custom event when a radio button is checked', async () => {
33
+ const element = await page.find('b2b-radio-button');
34
+ expect(element).not.toBeNull();
35
+ const b2bGroupChange = await page.spyOnEvent('b2b-group-change');
36
+ await element.click();
37
+ await page.waitForChanges();
38
+ expect(b2bGroupChange).toHaveReceivedEvent();
39
+ });
40
+ it('should not emit an event when the checked radio is already selected', async () => {
41
+ const firstRadio = await page.find({ text: 'one' });
42
+ const changeSpy = await page.spyOnEvent('b2b-group-change');
43
+ await firstRadio.click();
44
+ await firstRadio.click();
45
+ await page.waitForChanges();
46
+ expect(changeSpy).toHaveReceivedEventTimes(1);
47
+ });
48
+ it('should disable all radio when the property is specified', async () => {
49
+ const parentElement = await page.find('b2b-radio-group');
50
+ const element = await page.find('b2b-radio-button >>> .b2b-radio');
51
+ expect(element).not.toHaveClass('b2b-radio--disabled');
52
+ parentElement.setProperty('disabled', true);
53
+ await page.waitForChanges();
54
+ expect(element).toHaveClass('b2b-radio--disabled');
55
+ });
56
+ it('should set all radio buttons to invalid when the property is specified', async () => {
57
+ const parentElement = await page.find('b2b-radio-group');
58
+ const element = await page.find('b2b-radio-button >>> .b2b-radio');
59
+ expect(element).not.toHaveClass('b2b-radio--error');
60
+ parentElement.setProperty('invalid', true);
61
+ await page.waitForChanges();
62
+ expect(element).toHaveClass('b2b-radio--error');
63
+ });
64
+ it('should remove all children hint texts when the component is rendered', async () => {
65
+ const element = await page.find('b2b-radio-button');
66
+ const error = element.error;
67
+ const hint = element.hint;
68
+ expect(hint).not.toBeDefined;
69
+ expect(error).not.toBeDefined;
70
+ });
71
+ });
@@ -0,0 +1,31 @@
1
+ import { newSpecPage } from '@stencil/core/testing';
2
+ import { h } from '@stencil/core';
3
+ import { RadioButtonGroupComponent } from './radio-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: [RadioButtonGroupComponent],
7
+ template: () => (h("b2b-radio-group", { label: "test", name: "radio-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: [RadioButtonGroupComponent],
14
+ template: () => (h("b2b-radio-group", { label: "test", hint: "this is a test hint", name: "radio-test" })),
15
+ });
16
+ expect(page.root).toMatchSnapshot();
17
+ });
18
+ it('should render a group error if a hint string and an error are specified and the group is set to invalid', async () => {
19
+ const page = await newSpecPage({
20
+ components: [RadioButtonGroupComponent],
21
+ template: () => (h("b2b-radio-group", { label: "test", name: "radio-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 switch to horizontal alignment if specified', async () => {
26
+ const page = await newSpecPage({
27
+ components: [RadioButtonGroupComponent],
28
+ template: () => (h("b2b-radio-group", { label: "test", name: "radio-test", alignment: "horizontal" })),
29
+ });
30
+ expect(page.root).toMatchSnapshot();
31
+ });