@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
@@ -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 */
@@ -225,50 +225,50 @@
225
225
  border-top: 1px solid var(--b2b-color-grey-200);
226
226
  border-bottom: 2px solid var(--b2b-color-grey-300);
227
227
  }
228
- :host .b2b-table-header--heading {
228
+ :host .b2b-table-header__heading {
229
229
  cursor: pointer;
230
230
  user-select: none;
231
231
  display: flex;
232
232
  height: var(--b2b-size-icon-100);
233
233
  line-height: var(--b2b-size-icon-100);
234
234
  }
235
- :host .b2b-table-header--heading:hover, :host .b2b-table-header--heading:focus-visible {
235
+ :host .b2b-table-header__heading:hover, :host .b2b-table-header__heading:focus-visible {
236
236
  outline: none;
237
237
  }
238
- :host .b2b-table-header--heading:hover .b2b-table-header--sort, :host .b2b-table-header--heading:focus-visible .b2b-table-header--sort {
238
+ :host .b2b-table-header__heading:hover .b2b-table-header__sort, :host .b2b-table-header__heading:focus-visible .b2b-table-header__sort {
239
239
  fill: var(--b2b-color-grey-300);
240
240
  }
241
- :host .b2b-table-header--heading:hover .b2b-table-header--sort-not-sorted, :host .b2b-table-header--heading:focus-visible .b2b-table-header--sort-not-sorted {
241
+ :host .b2b-table-header__heading:hover .b2b-table-header__sort--not-sorted, :host .b2b-table-header__heading:focus-visible .b2b-table-header__sort--not-sorted {
242
242
  visibility: visible;
243
243
  }
244
- :host .b2b-table-header--heading:hover .b2b-table-header--sort-descending, :host .b2b-table-header--heading:focus-visible .b2b-table-header--sort-descending {
244
+ :host .b2b-table-header__heading:hover .b2b-table-header__sort--descending, :host .b2b-table-header__heading:focus-visible .b2b-table-header__sort--descending {
245
245
  transform: initial;
246
246
  transition: transform 0.4s ease;
247
247
  }
248
- :host .b2b-table-header--heading:hover .b2b-table-header--sort-ascending, :host .b2b-table-header--heading:focus-visible .b2b-table-header--sort-ascending {
248
+ :host .b2b-table-header__heading:hover .b2b-table-header__sort--ascending, :host .b2b-table-header__heading:focus-visible .b2b-table-header__sort--ascending {
249
249
  transform: rotate(180deg);
250
250
  transition: transform 0.4s ease;
251
251
  }
252
- :host .b2b-table-header--heading.b2b-table-header--sort-active .b2b-table-header--sort,
253
- :host .b2b-table-header--heading .b2b-table-header--sort-active:hover .b2b-table-header--sort {
252
+ :host .b2b-table-header__heading.b2b-table-header__sort--active .b2b-table-header__sort,
253
+ :host .b2b-table-header__heading .b2b-table-header__sort--active:hover .b2b-table-header__sort {
254
254
  fill: var(--b2b-color-black-100);
255
255
  }
256
- :host .b2b-table-header--heading.b2b-table-header--sort-active .b2b-table-header--sort-descending,
257
- :host .b2b-table-header--heading .b2b-table-header--sort-active:hover .b2b-table-header--sort-descending {
256
+ :host .b2b-table-header__heading.b2b-table-header__sort--active .b2b-table-header__sort--descending,
257
+ :host .b2b-table-header__heading .b2b-table-header__sort--active:hover .b2b-table-header__sort--descending {
258
258
  transform: rotate(180deg);
259
259
  }
260
- :host .b2b-table-header--heading.b2b-table-header--sort-active .b2b-table-header--sort-ascending,
261
- :host .b2b-table-header--heading .b2b-table-header--sort-active:hover .b2b-table-header--sort-ascending {
260
+ :host .b2b-table-header__heading.b2b-table-header__sort--active .b2b-table-header__sort-ascending,
261
+ :host .b2b-table-header__heading .b2b-table-header__sort--active:hover .b2b-table-header__sort-ascending {
262
262
  transform: initial;
263
263
  }
264
- :host .b2b-table-header--sort {
264
+ :host .b2b-table-header__sort {
265
265
  height: var(--b2b-size-icon-100);
266
266
  fill: var(--b2b-color-black-100);
267
267
  }
268
- :host .b2b-table-header--sort-not-sorted {
268
+ :host .b2b-table-header__sort--not-sorted {
269
269
  visibility: hidden;
270
270
  }
271
- :host .b2b-table-header--sort-descending {
271
+ :host .b2b-table-header__sort--descending {
272
272
  transform: rotate(180deg);
273
273
  }
274
274
  :host(.b2b-table-header--divider) {
@@ -53,11 +53,11 @@ export class TableHeaderComponent {
53
53
  this.sortDirection === undefined
54
54
  ? 'other'
55
55
  : this.sortDirection }, this.sortDirection !== undefined ? (h("div", { tabIndex: 0, class: {
56
- 'b2b-table-header--heading': true,
57
- 'b2b-table-header--sort-active': this.active,
56
+ 'b2b-table-header__heading': true,
57
+ 'b2b-table-header__sort--active': this.active,
58
58
  }, onClick: this.changeSortDirection, onKeyDown: this.changeSortDirection, onMouseLeave: this.setInactive, onBlur: this.setInactive }, h("slot", null), h("span", { class: {
59
- 'b2b-table-header--sort': true,
60
- [`b2b-table-header--sort-${this.sortDirection}`]: true,
59
+ 'b2b-table-header__sort': true,
60
+ [`b2b-table-header__sort--${this.sortDirection}`]: true,
61
61
  } }, this.sortIcon))) : (h("slot", null))));
62
62
  }
63
63
  static get is() { return "b2b-table-header"; }
@@ -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 */
@@ -258,7 +258,7 @@
258
258
  :host(.b2b-table-row--color-group:hover) ::slotted(*) {
259
259
  --b2b-table-cell-text-expand-bg: var(--b2b-color-table-expand-hover);
260
260
  }
261
- .b2b-table-header--control-cell {
261
+ .b2b-table-header__control-cell {
262
262
  /* For equal width the control cell will automatically grow.
263
263
  We should fix the size and this size
264
264
  */
@@ -1,5 +1,5 @@
1
1
  import { h, Host, } from '@stencil/core';
2
- import { TableRowTypes, TableColourOptions, TableSizes, } from '../../../utils/types/table.types';
2
+ import { TableAccordionRowTypes, TableColourOptions, } from '../../../utils/types/table.types';
3
3
  export class TableRowComponent {
4
4
  constructor() {
5
5
  this.toggleOpen = () => {
@@ -7,45 +7,100 @@ export class TableRowComponent {
7
7
  this.b2bOpen.emit(this.isOpen);
8
8
  };
9
9
  this.getRowColor = () => {
10
- if (this.type === TableRowTypes.PARENT)
10
+ if (this.accordionType === TableAccordionRowTypes.PARENT)
11
11
  return TableColourOptions.GROUP;
12
12
  return this.color;
13
13
  };
14
- this.getParentTableSize = () => {
15
- const parentTable = this.hostElement.closest('b2b-table');
16
- return parentTable.getAttribute('size');
17
- };
18
- // This is needed for table size equal, so that control cell size remains as big
19
- // as the elements it contains. Feel free to improve this
20
- this.getRowWidthForEqualSize = () => {
14
+ this.getRowWidth = () => {
21
15
  const accordionIconSize = '24px';
22
- if (this.getParentTableSize() === TableSizes.EQUAL) {
16
+ const checkboxSize = '16px';
17
+ if (Boolean(this.accordionType)) {
23
18
  return accordionIconSize;
24
- // TODO: in B2BDS-166 selectable row - if table is selectable return size of checkbox
25
- // TODO: in B2BDS-166 selectable row -if cell is selectable and accordion return size of both
19
+ }
20
+ else if (Boolean(this.selectable)) {
21
+ return checkboxSize;
22
+ }
23
+ else if (Boolean(this.accordionType && this.selectable)) {
24
+ return accordionIconSize + checkboxSize;
25
+ }
26
+ else {
27
+ return;
28
+ }
29
+ };
30
+ this.shouldAddCheckbox = () => {
31
+ let checkbox = this.hostElement.querySelector('b2b-checkbox');
32
+ return this.selectable && !Boolean(checkbox);
33
+ };
34
+ this.getParentRowGroup = () => {
35
+ return this.hostElement.closest('b2b-table-rowgroup');
36
+ };
37
+ this.getCheckbox = () => {
38
+ let parent = this.getParentRowGroup();
39
+ if (this.shouldAddCheckbox()) {
40
+ if (parent.type === 'header') {
41
+ return (h("b2b-table-header", { style: {
42
+ ['width']: this.getRowWidth(),
43
+ } }, h("b2b-checkbox", { standalone: true, checked: this.checked, indeterminate: this.indeterminate })));
44
+ }
45
+ else {
46
+ return (h("b2b-table-cell", null, h("b2b-checkbox", { standalone: true, checked: this.checked, value: this.value, indeterminate: this.indeterminate })));
47
+ }
48
+ }
49
+ };
50
+ this.getAccordionColumns = () => {
51
+ if (this.accordionType != undefined) {
52
+ switch (this.accordionType) {
53
+ case TableAccordionRowTypes.HEADER:
54
+ return (h("b2b-table-header", { style: {
55
+ ['width']: this.getRowWidth(),
56
+ } }));
57
+ case TableAccordionRowTypes.PARENT:
58
+ return (h("b2b-table-cell", null, h("button", { onClick: this.toggleOpen, class: {
59
+ 'b2b-table-row__accordion-icon': true,
60
+ 'b2b-table-row__accordion-icon--open': this.isOpen,
61
+ } }, h("b2b-icon", { icon: "b2b_icon-arrow-right", clickable: true }))));
62
+ case TableAccordionRowTypes.CHILD:
63
+ return h("b2b-table-cell", null);
64
+ }
26
65
  }
27
66
  };
28
67
  this.highlight = true;
29
68
  this.color = 'default';
30
- this.type = undefined;
69
+ this.accordionType = undefined;
70
+ this.selectable = undefined;
71
+ this.value = undefined;
72
+ this.indeterminate = false;
73
+ this.checked = false;
31
74
  this.isOpen = false;
32
75
  }
76
+ toggleSelected(event) {
77
+ var _a;
78
+ if (this.selectable) {
79
+ this.checked = event.detail.checked;
80
+ this.b2bSelected.emit({
81
+ checked: event.detail.checked,
82
+ value: (_a = event.detail.value) !== null && _a !== void 0 ? _a : 'header',
83
+ });
84
+ }
85
+ }
33
86
  /** Will toggle the accordion opened or closed. */
34
87
  async toggleAccordion(isOpen) {
35
88
  this.isOpen = isOpen;
36
89
  this.b2bOpen.emit(isOpen);
37
90
  }
91
+ componentWillLoad() {
92
+ if (this.selectable &&
93
+ !Boolean(this.value) &&
94
+ this.getParentRowGroup().type !== 'header') {
95
+ console.warn('You need to associate a value with the row as a unique identifier.');
96
+ }
97
+ }
38
98
  render() {
39
99
  return (h(Host, { class: {
40
100
  'b2b-table-row': true,
41
101
  ['b2b-table-row--highlight']: this.highlight,
42
102
  [`b2b-table-row--color-${this.getRowColor()}`]: true,
43
- }, role: "row" }, this.type === TableRowTypes.PARENT && (h("b2b-table-cell", null, h("button", { onClick: this.toggleOpen, class: {
44
- 'b2b-table-row__accordion-icon': true,
45
- 'b2b-table-row__accordion-icon--open': this.isOpen,
46
- } }, h("b2b-icon", { icon: "b2b_icon-arrow-right", clickable: true })))), this.type === TableRowTypes.CHILD && h("b2b-table-cell", null), this.type === TableRowTypes.HEADER && (h("b2b-table-header", { style: {
47
- ['width']: this.getRowWidthForEqualSize(),
48
- } })), h("slot", null)));
103
+ }, role: "row" }, this.getAccordionColumns(), this.getCheckbox(), h("slot", null)));
49
104
  }
50
105
  static get is() { return "b2b-table-row"; }
51
106
  static get encapsulation() { return "shadow"; }
@@ -102,14 +157,14 @@ export class TableRowComponent {
102
157
  "reflect": false,
103
158
  "defaultValue": "'default'"
104
159
  },
105
- "type": {
160
+ "accordionType": {
106
161
  "type": "string",
107
162
  "mutable": false,
108
163
  "complexType": {
109
- "original": "TableRowTypes",
164
+ "original": "TableAccordionRowTypes",
110
165
  "resolved": "\"child\" | \"header\" | \"parent\"",
111
166
  "references": {
112
- "TableRowTypes": {
167
+ "TableAccordionRowTypes": {
113
168
  "location": "import",
114
169
  "path": "../../../utils/types/table.types"
115
170
  }
@@ -117,12 +172,88 @@ export class TableRowComponent {
117
172
  },
118
173
  "required": false,
119
174
  "optional": false,
175
+ "docs": {
176
+ "tags": [{
177
+ "name": "internal",
178
+ "text": "Determined by the parent rowgroup for accordion rowgroups."
179
+ }],
180
+ "text": ""
181
+ },
182
+ "attribute": "accordion-type",
183
+ "reflect": false
184
+ },
185
+ "selectable": {
186
+ "type": "boolean",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "boolean",
190
+ "resolved": "boolean",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": false,
195
+ "docs": {
196
+ "tags": [{
197
+ "name": "internal",
198
+ "text": "Whether the parent rowgroup is selectable."
199
+ }],
200
+ "text": ""
201
+ },
202
+ "attribute": "selectable",
203
+ "reflect": false
204
+ },
205
+ "value": {
206
+ "type": "string",
207
+ "mutable": false,
208
+ "complexType": {
209
+ "original": "string",
210
+ "resolved": "string",
211
+ "references": {}
212
+ },
213
+ "required": false,
214
+ "optional": true,
120
215
  "docs": {
121
216
  "tags": [],
122
- "text": "Determined by the parent rowgroup for accordion rowgroups. Do not set manually."
217
+ "text": "The unique identifier for a selectable row. It is emitted when the row is selected."
123
218
  },
124
- "attribute": "type",
219
+ "attribute": "value",
125
220
  "reflect": false
221
+ },
222
+ "indeterminate": {
223
+ "type": "boolean",
224
+ "mutable": false,
225
+ "complexType": {
226
+ "original": "boolean",
227
+ "resolved": "boolean",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": false,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": "If a selectable row is a parent for an accordion, it becomes indeterminate when some of it's children are checked, but not all."
235
+ },
236
+ "attribute": "indeterminate",
237
+ "reflect": false,
238
+ "defaultValue": "false"
239
+ },
240
+ "checked": {
241
+ "type": "boolean",
242
+ "mutable": true,
243
+ "complexType": {
244
+ "original": "boolean",
245
+ "resolved": "boolean",
246
+ "references": {}
247
+ },
248
+ "required": false,
249
+ "optional": false,
250
+ "docs": {
251
+ "tags": [],
252
+ "text": "If a selectable row is currently checked. Per default, it is false."
253
+ },
254
+ "attribute": "checked",
255
+ "reflect": false,
256
+ "defaultValue": "false"
126
257
  }
127
258
  };
128
259
  }
@@ -147,13 +278,33 @@ export class TableRowComponent {
147
278
  "resolved": "boolean",
148
279
  "references": {}
149
280
  }
281
+ }, {
282
+ "method": "b2bSelected",
283
+ "name": "b2b-row-selected",
284
+ "bubbles": true,
285
+ "cancelable": true,
286
+ "composed": true,
287
+ "docs": {
288
+ "tags": [],
289
+ "text": "Emits if the row is selectable and it is selected or unselected. Emits both unique value and the checkbox status."
290
+ },
291
+ "complexType": {
292
+ "original": "CheckboxEventDetail",
293
+ "resolved": "CheckboxEventDetail<any>",
294
+ "references": {
295
+ "CheckboxEventDetail": {
296
+ "location": "import",
297
+ "path": "../../../components"
298
+ }
299
+ }
300
+ }
150
301
  }];
151
302
  }
152
303
  static get methods() {
153
304
  return {
154
305
  "toggleAccordion": {
155
306
  "complexType": {
156
- "signature": "(isOpen: any) => Promise<void>",
307
+ "signature": "(isOpen: boolean) => Promise<void>",
157
308
  "parameters": [{
158
309
  "tags": [],
159
310
  "text": ""
@@ -173,4 +324,13 @@ export class TableRowComponent {
173
324
  };
174
325
  }
175
326
  static get elementRef() { return "hostElement"; }
327
+ static get listeners() {
328
+ return [{
329
+ "name": "b2b-change",
330
+ "method": "toggleSelected",
331
+ "target": undefined,
332
+ "capture": false,
333
+ "passive": false
334
+ }];
335
+ }
176
336
  }
@@ -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 */
@@ -216,6 +216,6 @@
216
216
  :host {
217
217
  display: table-row-group;
218
218
  }
219
- :host(.b2b-table-rowgroup--header) {
219
+ :host(.b2b-table-rowgroup__header) {
220
220
  display: table-header-group;
221
221
  }
@@ -1,39 +1,44 @@
1
- import { h, Host } from '@stencil/core';
2
- import { TableRowgroupTypes } from '../../../utils/types/table.types';
1
+ import { h, Host, } from '@stencil/core';
2
+ import { TableAccordionRowTypes, TableRowgroupTypes, } from '../../../utils/types/table.types';
3
+ import { updateCheckboxState, getFirstRow, getAllRows, getRemainingRows, } from '../utils';
3
4
  export class TableRowgroupComponent {
4
5
  constructor() {
5
- this.getFirstRow = () => {
6
- const firstRow = this.host.querySelector('b2b-table-row');
7
- if (firstRow != null) {
8
- return firstRow;
9
- }
6
+ this.toggleSelectAll = (event, children) => {
7
+ this.toggleList(children, event);
8
+ const rows = children.filter(child => child.accordionType !== TableAccordionRowTypes.PARENT);
9
+ this.selectedValues = [...rows]
10
+ .filter(child => child.checked)
11
+ .map(child => child.value);
10
12
  };
11
- this.getRemainingRows = () => {
12
- const children = Array.from(this.host.querySelectorAll('b2b-table-row'));
13
- return Array.from(children.slice(1));
13
+ this.toggleList = (list, event) => {
14
+ list.forEach(child => ((child.checked = event.detail.checked), (child.indeterminate = false)));
14
15
  };
15
16
  this.addAccordionControlColumn = () => {
16
- const children = this.getRemainingRows();
17
- children &&
18
- children.forEach(child => {
19
- child.setAttribute('type', 'child');
20
- });
21
- const firstRow = this.getFirstRow();
22
- if (this.type === 'header') {
23
- firstRow && firstRow.setAttribute('type', 'header');
17
+ const firstRow = getFirstRow(this.host);
18
+ if (this.type === TableRowgroupTypes.HEADER) {
19
+ firstRow && (firstRow.accordionType = TableAccordionRowTypes.HEADER);
24
20
  }
25
21
  else {
26
- firstRow && firstRow.setAttribute('type', 'parent');
22
+ firstRow && (firstRow.accordionType = TableAccordionRowTypes.PARENT);
27
23
  }
24
+ const children = getRemainingRows(this.host);
25
+ children &&
26
+ children.forEach(child => {
27
+ child.accordionType = TableAccordionRowTypes.CHILD;
28
+ });
29
+ };
30
+ this.addCheckboxColumn = () => {
31
+ const children = getAllRows(this.host);
32
+ children.forEach(child => (child.selectable = true));
28
33
  };
29
34
  this.toggleInitialVisibility = () => {
30
- const firstRow = this.getFirstRow();
35
+ const firstRow = getFirstRow(this.host);
31
36
  (async () => {
32
37
  firstRow && (await firstRow.toggleAccordion(this.opened));
33
38
  })();
34
39
  };
35
40
  this.toggleChildRowVisibility = (isOpen) => {
36
- const children = this.getRemainingRows();
41
+ const children = getRemainingRows(this.host);
37
42
  if (isOpen) {
38
43
  children.forEach(child => {
39
44
  child.style.visibility = 'visible';
@@ -47,13 +52,47 @@ export class TableRowgroupComponent {
47
52
  };
48
53
  this.type = TableRowgroupTypes.HEADER;
49
54
  this.accordion = false;
55
+ this.selectable = false;
50
56
  this.opened = false;
57
+ this.selectedValues = [];
58
+ this.indeterminate = false;
51
59
  }
52
60
  handleOpenChange(event) {
53
61
  this.toggleChildRowVisibility(event.detail);
54
62
  }
63
+ handleSelectedChange(event) {
64
+ var _a;
65
+ const target = event.target;
66
+ const table = this.host.closest('b2b-table');
67
+ const parentValue = (_a = getFirstRow(this.host).value) !== null && _a !== void 0 ? _a : 'header';
68
+ if (this.accordion &&
69
+ target.accordionType === TableAccordionRowTypes.PARENT) {
70
+ const children = getRemainingRows(this.host);
71
+ this.toggleSelectAll(event, children);
72
+ }
73
+ else if (this.type === TableRowgroupTypes.HEADER) {
74
+ const children = getRemainingRows(table);
75
+ this.toggleSelectAll(event, children);
76
+ }
77
+ else {
78
+ if (event.target.checked) {
79
+ this.selectedValues = [event.target.value, ...this.selectedValues];
80
+ }
81
+ else {
82
+ this.selectedValues = this.selectedValues.filter(el => el !== event.target.value);
83
+ }
84
+ }
85
+ if (this.accordion) {
86
+ updateCheckboxState(getRemainingRows(this.host), getFirstRow(this.host));
87
+ this.b2bSelect.emit({
88
+ group: parentValue,
89
+ values: this.selectedValues,
90
+ });
91
+ }
92
+ updateCheckboxState(getRemainingRows(table), getFirstRow(table));
93
+ }
55
94
  makeHeaderRowNotSelectable() {
56
- const firstRow = this.getFirstRow();
95
+ const firstRow = getFirstRow(this.host);
57
96
  if (this.type === TableRowgroupTypes.HEADER) {
58
97
  firstRow.setAttribute('highlight', 'false');
59
98
  }
@@ -63,13 +102,16 @@ export class TableRowgroupComponent {
63
102
  this.addAccordionControlColumn();
64
103
  this.toggleInitialVisibility();
65
104
  }
105
+ if (this.selectable) {
106
+ this.addCheckboxColumn();
107
+ }
66
108
  }
67
109
  componentDidRender() {
68
110
  this.makeHeaderRowNotSelectable();
69
111
  }
70
112
  render() {
71
113
  return (h(Host, { class: {
72
- ['b2b-table-rowgroup--' + this.type]: true,
114
+ ['b2b-table-rowgroup__' + this.type]: true,
73
115
  }, role: "rowgroup" }, h("slot", null)));
74
116
  }
75
117
  static get is() { return "b2b-table-rowgroup"; }
@@ -127,6 +169,24 @@ export class TableRowgroupComponent {
127
169
  "reflect": false,
128
170
  "defaultValue": "false"
129
171
  },
172
+ "selectable": {
173
+ "type": "boolean",
174
+ "mutable": false,
175
+ "complexType": {
176
+ "original": "boolean",
177
+ "resolved": "boolean",
178
+ "references": {}
179
+ },
180
+ "required": false,
181
+ "optional": false,
182
+ "docs": {
183
+ "tags": [],
184
+ "text": "If the rows in the rowgroup can be selected via checkmark. Per default, it is false."
185
+ },
186
+ "attribute": "selectable",
187
+ "reflect": false,
188
+ "defaultValue": "false"
189
+ },
130
190
  "opened": {
131
191
  "type": "boolean",
132
192
  "mutable": false,
@@ -147,6 +207,35 @@ export class TableRowgroupComponent {
147
207
  }
148
208
  };
149
209
  }
210
+ static get states() {
211
+ return {
212
+ "selectedValues": {},
213
+ "indeterminate": {}
214
+ };
215
+ }
216
+ static get events() {
217
+ return [{
218
+ "method": "b2bSelect",
219
+ "name": "b2b-group-selected",
220
+ "bubbles": true,
221
+ "cancelable": true,
222
+ "composed": true,
223
+ "docs": {
224
+ "tags": [],
225
+ "text": "Emits when the rowgroup as a whole is selected."
226
+ },
227
+ "complexType": {
228
+ "original": "TableAccordionSelectedEventDetail",
229
+ "resolved": "TableAccordionSelectedEventDetail",
230
+ "references": {
231
+ "TableAccordionSelectedEventDetail": {
232
+ "location": "import",
233
+ "path": "../../../utils/interfaces/content.interface"
234
+ }
235
+ }
236
+ }
237
+ }];
238
+ }
150
239
  static get elementRef() { return "host"; }
151
240
  static get listeners() {
152
241
  return [{
@@ -155,6 +244,12 @@ export class TableRowgroupComponent {
155
244
  "target": undefined,
156
245
  "capture": false,
157
246
  "passive": false
247
+ }, {
248
+ "name": "b2b-row-selected",
249
+ "method": "handleSelectedChange",
250
+ "target": undefined,
251
+ "capture": false,
252
+ "passive": false
158
253
  }];
159
254
  }
160
255
  }
@@ -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 */