@westpac/ui 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/assets/icons/filled/credit-cards-filled.svg +4 -0
  3. package/assets/icons/filled/exit-filled.svg +3 -3
  4. package/assets/icons/filled/office-filled.svg +1 -4
  5. package/assets/icons/filled/pay-to-filled.svg +5 -0
  6. package/assets/icons/filled/tiles-filled.svg +6 -0
  7. package/assets/icons/outlined/credit-cards-outlined.svg +4 -0
  8. package/assets/icons/outlined/exit-outlined.svg +3 -3
  9. package/assets/icons/outlined/office-outlined.svg +4 -1
  10. package/assets/icons/outlined/pay-to-outlined.svg +5 -0
  11. package/assets/icons/outlined/tiles-outlined.svg +3 -0
  12. package/dist/component-type.json +1 -0
  13. package/dist/components/accordion/accordion.component.d.ts +8 -23
  14. package/dist/components/accordion/accordion.component.js +3 -4
  15. package/dist/components/accordion/accordion.stories.d.ts +9 -6
  16. package/dist/components/accordion/accordion.stories.js +37 -29
  17. package/dist/components/accordion/accordion.styles.d.ts +1 -9
  18. package/dist/components/accordion/accordion.styles.js +1 -5
  19. package/dist/components/accordion/accordion.types.d.ts +11 -5
  20. package/dist/components/accordion/components/accordion-item/accordion-item.component.d.ts +4 -1
  21. package/dist/components/accordion/components/accordion-item/accordion-item.component.js +18 -17
  22. package/dist/components/accordion/components/accordion-item/accordion-item.styles.d.ts +4 -24
  23. package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +8 -42
  24. package/dist/components/accordion/components/accordion-item/accordion-item.types.d.ts +7 -1
  25. package/dist/components/alert/alert.component.js +1 -0
  26. package/dist/components/alert/alert.styles.js +3 -3
  27. package/dist/components/alert/alert.types.d.ts +1 -3
  28. package/dist/components/autocomplete/autocomplete.component.js +1 -0
  29. package/dist/components/autocomplete/autocomplete.types.d.ts +15 -1
  30. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.d.ts +3 -0
  31. package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.d.ts +3 -0
  32. package/dist/components/autocomplete/components/list-box/list-box.component.d.ts +3 -0
  33. package/dist/components/autocomplete/components/popover/popover.component.d.ts +3 -0
  34. package/dist/components/badge/badge.component.d.ts +7 -49
  35. package/dist/components/badge/badge.component.js +1 -0
  36. package/dist/components/badge/badge.types.d.ts +11 -1
  37. package/dist/components/breadcrumb/breadcrumb.component.d.ts +1 -21
  38. package/dist/components/breadcrumb/breadcrumb.component.js +1 -0
  39. package/dist/components/breadcrumb/breadcrumb.types.d.ts +8 -2
  40. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.d.ts +1 -21
  41. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.js +1 -0
  42. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.types.d.ts +1 -3
  43. package/dist/components/button/button.component.d.ts +16 -125
  44. package/dist/components/button/button.component.js +1 -0
  45. package/dist/components/button/button.styles.js +5 -5
  46. package/dist/components/button/button.types.d.ts +23 -1
  47. package/dist/components/button-dropdown/button-dropdown.component.js +1 -0
  48. package/dist/components/button-dropdown/button-dropdown.styles.d.ts +2 -0
  49. package/dist/components/button-dropdown/button-dropdown.styles.js +2 -1
  50. package/dist/components/button-dropdown/button-dropdown.types.d.ts +7 -1
  51. package/dist/components/button-dropdown/components/panel/panel.component.d.ts +3 -0
  52. package/dist/components/button-group/button-group.component.js +1 -0
  53. package/dist/components/checkbox-group/checkbox-group.component.js +1 -0
  54. package/dist/components/checkbox-group/components/checkbox/checkbox.component.js +11 -4
  55. package/dist/components/circle/circle.types.d.ts +1 -3
  56. package/dist/components/collapsible/collapsible.component.js +1 -0
  57. package/dist/components/collapsible/collapsible.styles.js +1 -1
  58. package/dist/components/compacta/compacta.component.js +2 -1
  59. package/dist/components/compacta/compacta.styles.js +10 -10
  60. package/dist/components/date-picker/date-picker.component.js +1 -0
  61. package/dist/components/date-picker/date-picker.types.d.ts +7 -1
  62. package/dist/components/error-message/error-message.types.d.ts +1 -3
  63. package/dist/components/field/field.component.js +1 -0
  64. package/dist/components/field/field.types.d.ts +1 -3
  65. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.d.ts +4 -1
  66. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.js +1 -0
  67. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.d.ts +1 -3
  68. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.d.ts +4 -1
  69. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.js +1 -0
  70. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.d.ts +1 -3
  71. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.d.ts +4 -1
  72. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.js +1 -0
  73. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.d.ts +4 -1
  74. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.js +1 -0
  75. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.d.ts +4 -1
  76. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.js +1 -0
  77. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.d.ts +4 -1
  78. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.js +1 -0
  79. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.d.ts +1 -3
  80. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.d.ts +4 -1
  81. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.js +1 -0
  82. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.d.ts +1 -3
  83. package/dist/components/flexi-cell/flexi-cell.component.js +1 -0
  84. package/dist/components/flexi-cell/flexi-cell.types.d.ts +1 -3
  85. package/dist/components/form/components/form-chit-chat/form-chit-chat.types.d.ts +1 -3
  86. package/dist/components/form/components/form-group/form-group.types.d.ts +1 -3
  87. package/dist/components/form/components/form-section/form-section.types.d.ts +7 -1
  88. package/dist/components/form/form.component.js +1 -0
  89. package/dist/components/form/form.types.d.ts +9 -0
  90. package/dist/components/form-hint/form-hint.types.d.ts +1 -3
  91. package/dist/components/form-label/form-label.types.d.ts +8 -2
  92. package/dist/components/grid/components/container/container.types.d.ts +1 -3
  93. package/dist/components/grid/components/item/item.types.d.ts +11 -1
  94. package/dist/components/grid/grid.types.d.ts +1 -3
  95. package/dist/components/icon/components/credit-cards-icon.d.ts +2 -0
  96. package/dist/components/icon/components/credit-cards-icon.js +38 -0
  97. package/dist/components/icon/components/exit-icon.js +2 -2
  98. package/dist/components/icon/components/office-icon.d.ts +1 -1
  99. package/dist/components/icon/components/office-icon.js +19 -5
  100. package/dist/components/icon/components/pay-to-icon.d.ts +2 -0
  101. package/dist/components/icon/components/pay-to-icon.js +34 -0
  102. package/dist/components/icon/components/tiles-icon.d.ts +2 -0
  103. package/dist/components/icon/components/tiles-icon.js +39 -0
  104. package/dist/components/icon/icon.styles.d.ts +1 -1
  105. package/dist/components/icon/icon.styles.js +1 -1
  106. package/dist/components/icon/icon.types.d.ts +11 -1
  107. package/dist/components/icon/index.d.ts +3 -6
  108. package/dist/components/icon/index.js +3 -6
  109. package/dist/components/input/input.component.d.ts +4 -31
  110. package/dist/components/input/input.component.js +1 -0
  111. package/dist/components/input/input.styles.d.ts +1 -1
  112. package/dist/components/input/input.styles.js +1 -1
  113. package/dist/components/input/input.types.d.ts +10 -1
  114. package/dist/components/input-field/components/add-ons/add-ons.component.d.ts +3 -0
  115. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.d.ts +3 -0
  116. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.d.ts +1 -3
  117. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.d.ts +3 -0
  118. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.d.ts +1 -3
  119. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.d.ts +3 -0
  120. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.d.ts +1 -3
  121. package/dist/components/input-field/components/supporting-text/supporting-text.component.d.ts +3 -0
  122. package/dist/components/input-field/components/supporting-text/supporting-text.types.d.ts +1 -3
  123. package/dist/components/input-field/input-field.component.js +1 -0
  124. package/dist/components/input-field/input-field.scenarios.stories.js +2 -2
  125. package/dist/components/input-field/input-field.types.d.ts +1 -3
  126. package/dist/components/link/link.component.js +1 -0
  127. package/dist/components/list/list.component.js +1 -0
  128. package/dist/components/modal/components/backdrop/backdrop.types.d.ts +1 -3
  129. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.d.ts +1 -3
  130. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.d.ts +1 -3
  131. package/dist/components/modal/components/dialog/dialog.types.d.ts +7 -1
  132. package/dist/components/modal/modal.component.js +1 -0
  133. package/dist/components/pagination/components/pagination-item/pagination-item.component.d.ts +1 -1
  134. package/dist/components/pagination/components/pagination-item/pagination-item.component.js +2 -1
  135. package/dist/components/pagination/components/pagination-item/pagination-item.styles.d.ts +9 -1
  136. package/dist/components/pagination/components/pagination-item/pagination-item.styles.js +7 -3
  137. package/dist/components/pagination/components/pagination-item/pagination-item.types.d.ts +20 -2
  138. package/dist/components/pagination/pagination.component.js +3 -1
  139. package/dist/components/pagination/pagination.stories.js +1 -1
  140. package/dist/components/pagination/pagination.styles.js +1 -1
  141. package/dist/components/pagination/pagination.types.d.ts +1 -3
  142. package/dist/components/pictogram/pictogram.types.d.ts +1 -3
  143. package/dist/components/popover/popover.component.js +1 -0
  144. package/dist/components/progress-bar/progress-bar.component.js +1 -0
  145. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.d.ts +1 -3
  146. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.d.ts +11 -1
  147. package/dist/components/progress-rope/progress-rope.component.js +1 -0
  148. package/dist/components/progress-rope/progress-rope.types.d.ts +1 -3
  149. package/dist/components/radio-group/components/radio/radio.component.js +1 -0
  150. package/dist/components/radio-group/components/radio/radio.styles.js +2 -2
  151. package/dist/components/radio-group/radio-group.component.js +1 -0
  152. package/dist/components/repeater/repeater.component.js +3 -1
  153. package/dist/components/repeater/repeater.styles.js +2 -2
  154. package/dist/components/select/select.component.d.ts +8 -35
  155. package/dist/components/select/select.component.js +1 -0
  156. package/dist/components/select/select.styles.d.ts +1 -1
  157. package/dist/components/select/select.styles.js +1 -1
  158. package/dist/components/select/select.types.d.ts +12 -1
  159. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.d.ts +1 -3
  160. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +28 -7
  161. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.d.ts +1 -3
  162. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.d.ts +1 -3
  163. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +28 -7
  164. package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.d.ts +7 -1
  165. package/dist/components/selector/selector.component.d.ts +81 -21
  166. package/dist/components/selector/selector.component.js +1 -0
  167. package/dist/components/skip-link/skip-link.component.js +1 -0
  168. package/dist/components/skip-link/skip-link.types.d.ts +1 -3
  169. package/dist/components/switch/switch.component.js +1 -0
  170. package/dist/components/switch/switch.types.d.ts +8 -2
  171. package/dist/components/symbol/index.d.ts +1 -0
  172. package/dist/components/symbol/index.js +1 -0
  173. package/dist/components/symbol/symbol.stories.d.ts +1 -0
  174. package/dist/components/symbol/symbol.stories.js +62 -3
  175. package/dist/components/symbol/symbol.types.d.ts +1 -3
  176. package/dist/components/table/table.component.js +1 -0
  177. package/dist/components/tabs/components/tab/tab.types.d.ts +15 -1
  178. package/dist/components/tabs/components/tab-panel/tab-panel.component.d.ts +3 -0
  179. package/dist/components/tabs/components/tab-panel/tab-panel.component.js +1 -0
  180. package/dist/components/tabs/components/tab-panel/tab-panel.types.d.ts +7 -1
  181. package/dist/components/tabs/tabs.component.js +1 -0
  182. package/dist/components/tabs/tabs.types.d.ts +15 -1
  183. package/dist/components/textarea/textarea.component.d.ts +8 -31
  184. package/dist/components/textarea/textarea.component.js +1 -0
  185. package/dist/components/textarea/textarea.styles.d.ts +1 -1
  186. package/dist/components/textarea/textarea.styles.js +1 -1
  187. package/dist/components/textarea/textarea.types.d.ts +12 -1
  188. package/dist/components/visually-hidden/visually-hidden.types.d.ts +1 -3
  189. package/dist/components/well/well.types.d.ts +7 -1
  190. package/dist/css/westpac-ui.css +67 -392
  191. package/dist/css/westpac-ui.min.css +67 -392
  192. package/dist/index.d.ts +1 -0
  193. package/dist/index.js +1 -0
  194. package/dist/stories/foundation/colours.stories.js +0 -1
  195. package/dist/types/component-props.types.d.ts +2 -0
  196. package/dist/types/component-props.types.js +1 -0
  197. package/dist/types/index.d.ts +1 -0
  198. package/dist/types/index.js +1 -0
  199. package/generate-component-types.cjs +85 -0
  200. package/package.json +13 -8
  201. package/src/components/accordion/accordion.component.tsx +5 -8
  202. package/src/components/accordion/accordion.stories.tsx +40 -31
  203. package/src/components/accordion/accordion.styles.ts +1 -5
  204. package/src/components/accordion/accordion.types.ts +15 -11
  205. package/src/components/accordion/components/accordion-item/accordion-item.component.tsx +11 -15
  206. package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +7 -36
  207. package/src/components/accordion/components/accordion-item/accordion-item.types.ts +7 -2
  208. package/src/components/alert/alert.component.tsx +2 -0
  209. package/src/components/alert/alert.styles.ts +3 -3
  210. package/src/components/alert/alert.types.ts +1 -5
  211. package/src/components/autocomplete/autocomplete.component.tsx +2 -0
  212. package/src/components/autocomplete/autocomplete.types.ts +15 -2
  213. package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.tsx +3 -0
  214. package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.tsx +3 -0
  215. package/src/components/autocomplete/components/list-box/list-box.component.tsx +3 -0
  216. package/src/components/autocomplete/components/popover/popover.component.tsx +3 -1
  217. package/src/components/autocomplete/components/popover/popover.types.ts +1 -0
  218. package/src/components/badge/badge.component.tsx +2 -0
  219. package/src/components/badge/badge.types.ts +11 -2
  220. package/src/components/breadcrumb/breadcrumb.component.tsx +2 -0
  221. package/src/components/breadcrumb/breadcrumb.types.ts +9 -2
  222. package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.tsx +2 -0
  223. package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.types.ts +1 -5
  224. package/src/components/button/button.component.tsx +2 -0
  225. package/src/components/button/button.styles.ts +5 -5
  226. package/src/components/button/button.types.ts +23 -2
  227. package/src/components/button-dropdown/button-dropdown.component.tsx +2 -0
  228. package/src/components/button-dropdown/button-dropdown.styles.ts +1 -0
  229. package/src/components/button-dropdown/button-dropdown.types.ts +7 -2
  230. package/src/components/button-dropdown/components/panel/panel.component.tsx +3 -0
  231. package/src/components/button-group/button-group.component.tsx +2 -0
  232. package/src/components/checkbox-group/checkbox-group.component.tsx +2 -0
  233. package/src/components/checkbox-group/components/checkbox/checkbox.component.tsx +17 -7
  234. package/src/components/circle/circle.types.ts +1 -5
  235. package/src/components/collapsible/collapsible.component.tsx +2 -0
  236. package/src/components/collapsible/collapsible.styles.ts +1 -1
  237. package/src/components/compacta/compacta.component.tsx +17 -13
  238. package/src/components/compacta/compacta.styles.ts +10 -10
  239. package/src/components/date-picker/date-picker.component.tsx +2 -0
  240. package/src/components/date-picker/date-picker.types.ts +7 -2
  241. package/src/components/error-message/error-message.types.ts +1 -5
  242. package/src/components/field/field.component.tsx +2 -0
  243. package/src/components/field/field.types.ts +0 -4
  244. package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.tsx +1 -0
  245. package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.ts +1 -5
  246. package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.tsx +1 -0
  247. package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.ts +1 -5
  248. package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.tsx +1 -0
  249. package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.tsx +1 -0
  250. package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.tsx +1 -0
  251. package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.tsx +1 -0
  252. package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.ts +1 -5
  253. package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.tsx +1 -0
  254. package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.ts +1 -5
  255. package/src/components/flexi-cell/flexi-cell.component.tsx +2 -0
  256. package/src/components/flexi-cell/flexi-cell.types.ts +1 -7
  257. package/src/components/form/components/form-chit-chat/form-chit-chat.types.ts +1 -5
  258. package/src/components/form/components/form-group/form-group.types.ts +1 -5
  259. package/src/components/form/components/form-section/form-section.types.ts +7 -2
  260. package/src/components/form/form.component.tsx +2 -0
  261. package/src/components/form/form.types.ts +9 -0
  262. package/src/components/form-hint/form-hint.types.ts +1 -5
  263. package/src/components/form-label/form-label.types.ts +8 -3
  264. package/src/components/grid/components/container/container.types.ts +1 -5
  265. package/src/components/grid/components/item/item.types.ts +11 -2
  266. package/src/components/grid/grid.types.ts +1 -5
  267. package/src/components/icon/components/credit-cards-icon.tsx +43 -0
  268. package/src/components/icon/components/exit-icon.tsx +2 -2
  269. package/src/components/icon/components/office-icon.tsx +30 -11
  270. package/src/components/icon/components/pay-to-icon.tsx +33 -0
  271. package/src/components/icon/components/tiles-icon.tsx +43 -0
  272. package/src/components/icon/icon.styles.ts +1 -1
  273. package/src/components/icon/icon.types.ts +11 -1
  274. package/src/components/icon/index.ts +3 -6
  275. package/src/components/input/input.component.tsx +2 -0
  276. package/src/components/input/input.styles.ts +1 -1
  277. package/src/components/input/input.types.ts +12 -2
  278. package/src/components/input-field/components/add-ons/add-ons.component.tsx +3 -0
  279. package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.tsx +3 -0
  280. package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.ts +1 -4
  281. package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.tsx +3 -0
  282. package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.ts +1 -4
  283. package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.tsx +3 -0
  284. package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.ts +1 -4
  285. package/src/components/input-field/components/supporting-text/supporting-text.component.tsx +3 -0
  286. package/src/components/input-field/components/supporting-text/supporting-text.types.ts +1 -5
  287. package/src/components/input-field/input-field.component.tsx +2 -0
  288. package/src/components/input-field/input-field.scenarios.stories.tsx +2 -2
  289. package/src/components/input-field/input-field.types.ts +1 -4
  290. package/src/components/link/link.component.tsx +2 -0
  291. package/src/components/list/list.component.tsx +2 -0
  292. package/src/components/modal/components/backdrop/backdrop.types.ts +1 -5
  293. package/src/components/modal/components/dialog/components/dialog-body/dialog-body.types.ts +1 -4
  294. package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.ts +1 -4
  295. package/src/components/modal/components/dialog/dialog.types.ts +7 -2
  296. package/src/components/modal/modal.component.tsx +2 -0
  297. package/src/components/pagination/components/pagination-item/pagination-item.component.tsx +2 -1
  298. package/src/components/pagination/components/pagination-item/pagination-item.styles.ts +7 -3
  299. package/src/components/pagination/components/pagination-item/pagination-item.types.ts +20 -3
  300. package/src/components/pagination/pagination.component.tsx +3 -0
  301. package/src/components/pagination/pagination.stories.tsx +1 -1
  302. package/src/components/pagination/pagination.styles.ts +1 -1
  303. package/src/components/pagination/pagination.types.ts +0 -3
  304. package/src/components/pictogram/pictogram.types.ts +1 -4
  305. package/src/components/popover/popover.component.tsx +2 -0
  306. package/src/components/progress-bar/progress-bar.component.tsx +2 -0
  307. package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.ts +2 -4
  308. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.types.ts +10 -1
  309. package/src/components/progress-rope/progress-rope.component.tsx +2 -0
  310. package/src/components/progress-rope/progress-rope.types.ts +1 -5
  311. package/src/components/radio-group/components/radio/radio.component.tsx +1 -0
  312. package/src/components/radio-group/components/radio/radio.styles.ts +2 -2
  313. package/src/components/radio-group/radio-group.component.tsx +2 -0
  314. package/src/components/repeater/repeater.component.tsx +6 -2
  315. package/src/components/repeater/repeater.styles.ts +2 -2
  316. package/src/components/select/select.component.tsx +2 -0
  317. package/src/components/select/select.styles.ts +1 -1
  318. package/src/components/select/select.types.ts +12 -1
  319. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.ts +0 -4
  320. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.ts +0 -4
  321. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.ts +0 -4
  322. package/src/components/selector/components/selector-radio-group/selector-radio-group.types.ts +7 -2
  323. package/src/components/selector/selector.component.tsx +2 -0
  324. package/src/components/skip-link/skip-link.component.tsx +2 -0
  325. package/src/components/skip-link/skip-link.types.ts +0 -4
  326. package/src/components/switch/switch.component.tsx +2 -0
  327. package/src/components/switch/switch.types.ts +8 -3
  328. package/src/components/symbol/index.ts +1 -0
  329. package/src/components/symbol/symbol.stories.tsx +66 -8
  330. package/src/components/symbol/symbol.types.ts +1 -4
  331. package/src/components/table/table.component.tsx +2 -0
  332. package/src/components/tabs/components/tab/tab.types.ts +15 -2
  333. package/src/components/tabs/components/tab-panel/tab-panel.component.tsx +1 -0
  334. package/src/components/tabs/components/tab-panel/tab-panel.types.ts +6 -1
  335. package/src/components/tabs/tabs.component.tsx +2 -0
  336. package/src/components/tabs/tabs.stories.tsx +0 -1
  337. package/src/components/tabs/tabs.types.ts +37 -24
  338. package/src/components/textarea/textarea.component.tsx +2 -0
  339. package/src/components/textarea/textarea.styles.ts +1 -1
  340. package/src/components/textarea/textarea.types.ts +12 -1
  341. package/src/components/visually-hidden/visually-hidden.types.ts +1 -5
  342. package/src/components/well/well.types.tsx +7 -2
  343. package/src/index.ts +1 -0
  344. package/src/stories/foundation/colours.stories.tsx +0 -1
  345. package/src/types/component-props.types.ts +3 -0
  346. package/src/types/index.ts +1 -0
  347. package/utils/build-icons/index.ts +5 -2
  348. package/dist/components/icon/components/bom-logo-icon.d.ts +0 -2
  349. package/dist/components/icon/components/bom-logo-icon.js +0 -86
  350. package/dist/components/icon/components/bsa-logo-icon.d.ts +0 -2
  351. package/dist/components/icon/components/bsa-logo-icon.js +0 -32
  352. package/dist/components/icon/components/rams-logo-icon.d.ts +0 -2
  353. package/dist/components/icon/components/rams-logo-icon.js +0 -120
  354. package/dist/components/icon/components/stg-logo-icon.d.ts +0 -2
  355. package/dist/components/icon/components/stg-logo-icon.js +0 -44
  356. package/dist/components/icon/components/wbc-logo-icon.d.ts +0 -2
  357. package/dist/components/icon/components/wbc-logo-icon.js +0 -26
  358. package/dist/components/icon/components/wbg-logo-icon.d.ts +0 -2
  359. package/dist/components/icon/components/wbg-logo-icon.js +0 -29
  360. package/src/components/icon/components/bom-logo-icon.tsx +0 -40
  361. package/src/components/icon/components/bsa-logo-icon.tsx +0 -28
  362. package/src/components/icon/components/rams-logo-icon.tsx +0 -71
  363. package/src/components/icon/components/stg-logo-icon.tsx +0 -44
  364. package/src/components/icon/components/wbc-logo-icon.tsx +0 -20
  365. package/src/components/icon/components/wbg-logo-icon.tsx +0 -24
@@ -3,6 +3,8 @@ import { type VariantProps } from 'tailwind-variants';
3
3
 
4
4
  import { styles } from './dialog.styles.js';
5
5
 
6
+ type Variants = VariantProps<typeof styles>;
7
+
6
8
  export type DialogProps = {
7
9
  /**
8
10
  * Boolean to wrap all children into a Modal.Body
@@ -20,9 +22,12 @@ export type DialogProps = {
20
22
  * onClose callback
21
23
  */
22
24
  onClose?: () => unknown;
25
+ /**
26
+ * Size of dialog
27
+ */
28
+ size?: Variants['size'];
23
29
  /**
24
30
  * Title for Modal
25
31
  */
26
32
  title?: string;
27
- } & VariantProps<typeof styles> &
28
- AriaDialogProps;
33
+ } & AriaDialogProps;
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React from 'react';
2
4
 
3
5
  import { Backdrop, Dialog } from './components/index.js';
@@ -6,6 +6,7 @@ import { type PaginationItemProps } from './pagination-item.types.js';
6
6
  export function PaginationItem({
7
7
  className,
8
8
  firstItem = false,
9
+ lastItem = false,
9
10
  tag: Tag = 'a',
10
11
  children,
11
12
  active,
@@ -14,7 +15,7 @@ export function PaginationItem({
14
15
  }: PaginationItemProps) {
15
16
  return (
16
17
  <Tag
17
- className={styles({ className, firstItem, active, disabled })}
18
+ className={styles({ className, firstItem, lastItem, active, disabled })}
18
19
  {...props}
19
20
  disabled={disabled}
20
21
  aria-current={active ? 'page' : undefined}
@@ -2,14 +2,18 @@ import { tv } from 'tailwind-variants';
2
2
 
3
3
  export const styles = tv(
4
4
  {
5
- base: 'typography-body-10 block border-l border-border px-2 py-[0.5625rem] text-center text-text transition-colors',
5
+ base: 'typography-body-10 relative block border border-border px-2 py-[0.5625rem] text-center text-text transition-colors',
6
6
  variants: {
7
7
  firstItem: {
8
- true: 'border-l-0',
8
+ true: 'rounded-l',
9
+ false: 'ml-[-1px]',
10
+ },
11
+ lastItem: {
12
+ true: 'rounded-r',
9
13
  false: '',
10
14
  },
11
15
  active: {
12
- true: 'bg-hero text-white',
16
+ true: 'z-10 border-hero bg-hero text-white',
13
17
  false: 'hover:bg-light',
14
18
  },
15
19
  disabled: {
@@ -1,12 +1,29 @@
1
1
  import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactElement } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
2
+ import { VariantProps } from 'tailwind-variants';
3
3
 
4
4
  import { styles } from './pagination-item.styles.js';
5
5
 
6
+ type Variants = VariantProps<typeof styles>;
7
+
6
8
  export type PaginationItemProps = {
9
+ /**
10
+ * Whether item is active
11
+ */
12
+ active?: Variants['active'];
13
+ /**
14
+ * Whether item is disabled
15
+ */
16
+ disabled?: Variants['disabled'];
17
+ /**
18
+ * Whether it is the first item
19
+ */
20
+ firstItem?: Variants['firstItem'];
21
+ /**
22
+ * Whether it is the last item
23
+ */
24
+ lastItem?: Variants['lastItem'];
7
25
  /**
8
26
  * Link component to render
9
27
  */
10
28
  tag?: 'a' | 'button' | ((...args: any[]) => ReactElement | null);
11
- } & VariantProps<typeof styles> &
12
- (AnchorHTMLAttributes<HTMLAnchorElement> | ButtonHTMLAttributes<HTMLButtonElement>);
29
+ } & (AnchorHTMLAttributes<HTMLAnchorElement> | ButtonHTMLAttributes<HTMLButtonElement>);
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { useCallback, useMemo } from 'react';
2
4
 
3
5
  import { PaginationItem } from './components/index.js';
@@ -84,6 +86,7 @@ export function Pagination({
84
86
  const defaultNextProps = {
85
87
  disabled: !infinite && backwardsOnly,
86
88
  tag: linkComponent,
89
+ lastItem: true,
87
90
  };
88
91
  if (defaultNextProps.disabled) {
89
92
  return {
@@ -165,7 +165,7 @@ export const UsePaginationDifferentComponents = () => {
165
165
  });
166
166
 
167
167
  return (
168
- <div className="flex items-center">
168
+ <div className="flex w-[15.625rem] items-center justify-between">
169
169
  <Button look="link" iconAfter={ArrowLeftIcon} onClick={previous} />
170
170
  <h4>{selectedPage.text}</h4>
171
171
  <Button look="link" iconAfter={ArrowRightIcon} onClick={next} />
@@ -4,7 +4,7 @@ export const styles = tv(
4
4
  {
5
5
  slots: {
6
6
  base: 'flex flex-col items-center',
7
- ul: 'flex overflow-hidden rounded border border-border',
7
+ ul: 'flex overflow-hidden',
8
8
  },
9
9
  variants: {},
10
10
  },
@@ -1,8 +1,6 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
2
 
4
3
  import { type PaginationItemProps } from './components/index.js';
5
- import { styles } from './pagination.styles.js';
6
4
 
7
5
  export type PageProps = {
8
6
  href: string;
@@ -63,5 +61,4 @@ export type PaginationProps = {
63
61
  */
64
62
  tag?: keyof JSX.IntrinsicElements;
65
63
  } & (PaginationAsLinkProps | PaginationAsButtonProps) &
66
- VariantProps<typeof styles> &
67
64
  Omit<HTMLAttributes<Element>, 'onChange'>;
@@ -1,7 +1,4 @@
1
1
  import { type SVGAttributes } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
-
4
- import { styles } from './pictogram.styles.js';
5
2
 
6
3
  export type PictogramProps = SVGAttributes<SVGElement> & {
7
4
  /**
@@ -24,4 +21,4 @@ export type PictogramProps = SVGAttributes<SVGElement> & {
24
21
  * SVG viewBox width
25
22
  */
26
23
  viewBoxWidth?: number;
27
- } & VariantProps<typeof styles>;
24
+ };
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { useCallback, useEffect, useId } from 'react';
2
4
  import { useOverlayTriggerState } from 'react-stately';
3
5
 
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React from 'react';
2
4
  import { useProgressBar } from 'react-aria';
3
5
 
@@ -1,10 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
2
 
4
3
  import { ProgressRopeStepItem, type ProgressRopeStepWithIndex } from '../../progress-rope.types.js';
5
4
 
6
- import { styles } from './progress-rope-group-step.styles.js';
7
-
8
5
  export type ProgressRopeGroupStepProps = {
9
6
  /**
10
7
  * Children
@@ -30,8 +27,9 @@ export type ProgressRopeGroupStepProps = {
30
27
  * Boolean to tell if group is expanded
31
28
  */
32
29
  opened?: boolean;
30
+
33
31
  /**
34
32
  * Steps to render
35
33
  */
36
34
  steps: (ProgressRopeStepItem & { index: number })[];
37
- } & VariantProps<typeof styles>;
35
+ };
@@ -5,11 +5,21 @@ import { ProgressRopeStepItem } from '../../progress-rope.types.js';
5
5
 
6
6
  import { styles } from './progress-rope-step.styles.js';
7
7
 
8
+ type Variants = VariantProps<typeof styles>;
9
+
8
10
  export type ProgressRopeStepProps = {
9
11
  /**
10
12
  * Says it is current
11
13
  */
12
14
  current?: boolean;
15
+ /**
16
+ * Whether step is first item
17
+ */
18
+ firstItem?: Variants['firstItem'];
19
+ /**
20
+ * Size of step
21
+ */
22
+ size?: Variants['size'];
13
23
  /**
14
24
  * Tag to render
15
25
  */
@@ -19,5 +29,4 @@ export type ProgressRopeStepProps = {
19
29
  */
20
30
  visited?: boolean;
21
31
  } & Omit<ProgressRopeStepItem, 'text'> &
22
- VariantProps<typeof styles> &
23
32
  HTMLAttributes<Element>;
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { useEffect, useMemo, useState } from 'react';
2
4
 
3
5
  import { ProgressRopeGroupStep, ProgressRopeStep } from './components/index.js';
@@ -1,7 +1,4 @@
1
1
  import { HTMLAttributes, MouseEventHandler, ReactNode } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
-
4
- import { styles } from './progress-rope.styles.js';
5
2
 
6
3
  export type ProgressRopeStepItem = {
7
4
  onClick?: MouseEventHandler<Element>;
@@ -37,5 +34,4 @@ export type ProgressRopeProps = {
37
34
  * Tag to render
38
35
  */
39
36
  tag?: keyof JSX.IntrinsicElements;
40
- } & VariantProps<typeof styles> &
41
- HTMLAttributes<Element>;
37
+ } & HTMLAttributes<Element>;
@@ -29,3 +29,4 @@ function BaseRadio({ className, hint, children, ...props }: RadioProps, ref: any
29
29
  }
30
30
 
31
31
  export const Radio = forwardRef(BaseRadio);
32
+ Radio.displayName = 'RadioGroup.Radio';
@@ -6,8 +6,8 @@ export const styles = tv(
6
6
  base: 'flex',
7
7
  textWrapper: 'flex flex-col justify-center',
8
8
  labelText: 'typography-body-10 py-[2px] pl-1',
9
- hintText: 'typography-body-10 text-muted pl-1',
10
- selector: 'border-hero flex shrink-0 h-4 w-4 items-center justify-center rounded-full border',
9
+ hintText: 'typography-body-10 pl-1 text-muted',
10
+ selector: 'flex h-4 w-4 shrink-0 items-center justify-center rounded-full border border-hero',
11
11
  },
12
12
  variants: {
13
13
  isDisabled: {
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { ReactElement, cloneElement, createContext, useEffect, useMemo, useRef, useState } from 'react';
2
4
  import { useFocusRing, useRadioGroup } from 'react-aria';
3
5
  import { useRadioGroupState } from 'react-stately';
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import { AnimatePresence, LazyMotion, m } from 'framer-motion';
2
4
  import React, { useCallback, useEffect, useRef, useState } from 'react';
3
5
  import { useFocusRing } from 'react-aria';
@@ -74,7 +76,7 @@ export function Repeater({
74
76
  animate={{ opacity: 1 }}
75
77
  exit={{ opacity: 0 }}
76
78
  transition={{ duration: 0.15 }}
77
- key={index}
79
+ key={item.id}
78
80
  >
79
81
  <div
80
82
  ref={(el: HTMLDivElement) => {
@@ -90,7 +92,9 @@ export function Repeater({
90
92
  <Button
91
93
  className={styles.removeBtn()}
92
94
  aria-label={`remove item ${index + 1}`}
93
- iconBefore={(props: IconProps) => <RemoveCircleIcon {...props} aria-hidden size="xsmall" />}
95
+ iconBefore={(props: IconProps) => (
96
+ <RemoveCircleIcon {...props} aria-hidden look="outlined" size="xsmall" />
97
+ )}
94
98
  look="link"
95
99
  size="small"
96
100
  soft
@@ -15,10 +15,10 @@ export const styles = tv(
15
15
  variants: {
16
16
  separator: {
17
17
  true: {
18
- item: 'border-neutral border-t-2 pt-[0.625rem]',
18
+ item: 'border-t-2 border-neutral pt-[0.625rem]',
19
19
  content: 'p-[0_1.125rem_2.625rem]',
20
20
  removeBtn: 'relative m-[0_0_1.875rem_1.125rem]',
21
- footer: 'border-neutral border-t-2 pt-[0.875rem]',
21
+ footer: 'border-t-2 border-neutral pt-[0.875rem]',
22
22
  },
23
23
  },
24
24
  isFocused: {
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { ForwardedRef, forwardRef } from 'react';
2
4
  import { mergeProps, useFocusRing } from 'react-aria';
3
5
 
@@ -2,7 +2,7 @@ import { tv } from 'tailwind-variants';
2
2
 
3
3
  export const styles = tv(
4
4
  {
5
- base: 'form-control select-caret disabled:form-control-disabled bg-no-repeat group-[.add-on-after]:rounded-l-none group-[.add-on-before]:rounded-r-none',
5
+ base: 'form-control bg-no-repeat select-caret disabled:form-control-disabled group-[.add-on-after]:rounded-l-none group-[.add-on-before]:rounded-r-none',
6
6
  variants: {
7
7
  size: {
8
8
  small: 'form-control-small bg-[right_0.5625rem_center] pr-[calc(0.5rem+14px+0.5625rem)]',
@@ -3,4 +3,15 @@ import { type VariantProps } from 'tailwind-variants';
3
3
 
4
4
  import { styles } from './select.styles.js';
5
5
 
6
- export type SelectProps = VariantProps<typeof styles> & Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'>;
6
+ type Variants = VariantProps<typeof styles>;
7
+
8
+ export type SelectProps = {
9
+ /**
10
+ * Whether select is invalid
11
+ */
12
+ invalid?: Variants['invalid'];
13
+ /**
14
+ * Size of select
15
+ */
16
+ size?: Variants['size'];
17
+ } & Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'>;
@@ -1,15 +1,11 @@
1
1
  import { type AriaCheckboxGroupItemProps } from 'react-aria';
2
- import { type VariantProps } from 'tailwind-variants';
3
2
 
4
3
  import { FlexiCellProps } from '../../../../../index.js';
5
4
 
6
- import { styles } from './selector-checkbox-group-option.styles.js';
7
-
8
5
  export type SelectorCheckboxGroupOptionProps = {
9
6
  /**
10
7
  * Check icon to render
11
8
  */
12
9
  checkIcon?: 'checkbox' | 'arrow';
13
10
  } & FlexiCellProps &
14
- VariantProps<typeof styles> &
15
11
  Omit<AriaCheckboxGroupItemProps, 'isIndeterminate'>;
@@ -1,9 +1,6 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
2
  import { AriaCheckboxGroupProps } from 'react-aria';
3
3
  import { CheckboxGroupState } from 'react-stately';
4
- import { type VariantProps } from 'tailwind-variants';
5
-
6
- import { styles } from './selector-checkbox-group.styles.js';
7
4
 
8
5
  export type SelectorCheckboxGroupContextState = CheckboxGroupState;
9
6
 
@@ -21,5 +18,4 @@ export type SelectorCheckboxGroupProps = {
21
18
  */
22
19
  size?: 'medium' | 'large';
23
20
  } & AriaCheckboxGroupProps &
24
- VariantProps<typeof styles> &
25
21
  Omit<HTMLAttributes<Element>, 'onChange'>;
@@ -1,11 +1,8 @@
1
1
  import { type HTMLAttributes } from 'react';
2
2
  import { type AriaRadioProps } from 'react-aria';
3
- import { type VariantProps } from 'tailwind-variants';
4
3
 
5
4
  import { type FlexiCellProps } from '../../../../../../index.js';
6
5
 
7
- import { styles } from './selector-radio-group-option.styles.js';
8
-
9
6
  export type SelectorRadioGroupOptionProps = {
10
7
  /**
11
8
  * Check icon to render
@@ -17,5 +14,4 @@ export type SelectorRadioGroupOptionProps = {
17
14
  tag?: keyof JSX.IntrinsicElements;
18
15
  } & FlexiCellProps &
19
16
  AriaRadioProps &
20
- VariantProps<typeof styles> &
21
17
  HTMLAttributes<Element>;
@@ -5,13 +5,18 @@ import { type VariantProps } from 'tailwind-variants';
5
5
 
6
6
  import { styles } from './selector-radio-group.styles.js';
7
7
 
8
+ type Variants = VariantProps<typeof styles>;
9
+
8
10
  export type SelectorRadioGroupProps = {
11
+ /**
12
+ * Orientation of radio
13
+ */
14
+ orientation?: Variants['orientation'];
9
15
  /**
10
16
  * Tag to render
11
17
  */
12
18
  tag?: keyof JSX.IntrinsicElements;
13
- } & VariantProps<typeof styles> &
14
- AriaRadioGroupProps &
19
+ } & AriaRadioGroupProps &
15
20
  Omit<HTMLAttributes<Element>, 'onChange'>;
16
21
 
17
22
  export type SelectorRadioGroupContextState = {
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React from 'react';
2
4
 
3
5
  import {
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { forwardRef } from 'react';
2
4
 
3
5
  import { styles } from './skip-link.styles.js';
@@ -1,7 +1,4 @@
1
1
  import { HTMLAttributes } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
-
4
- import { styles } from './skip-link.styles.js';
5
2
 
6
3
  export type SkipLinkProps = (
7
4
  | {
@@ -21,5 +18,4 @@ export type SkipLinkProps = (
21
18
  tag?: keyof Pick<JSX.IntrinsicElements, 'a'>;
22
19
  }
23
20
  ) &
24
- VariantProps<typeof styles> &
25
21
  HTMLAttributes<Element>;
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { useId, useRef } from 'react';
2
4
  import { VisuallyHidden, mergeProps, useCheckbox, useFocusRing } from 'react-aria';
3
5
  import { useToggleState } from 'react-stately';
@@ -3,11 +3,13 @@ import { type VariantProps } from 'tailwind-variants';
3
3
 
4
4
  import { styles } from './switch.styles.js';
5
5
 
6
+ type Variants = VariantProps<typeof styles>;
7
+
6
8
  export type SwitchProps = {
7
9
  /**
8
10
  * Whether to display switch as block
9
11
  */
10
- block?: boolean;
12
+ block?: Variants['block'];
11
13
  /**
12
14
  * Default checked
13
15
  */
@@ -20,5 +22,8 @@ export type SwitchProps = {
20
22
  * Label for the switch
21
23
  */
22
24
  label: string;
23
- } & Omit<AriaCheckboxProps, 'children' | 'isSelected'> &
24
- Pick<VariantProps<typeof styles>, 'size'>;
25
+ /**
26
+ * Size of switch
27
+ */
28
+ size?: Variants['size'];
29
+ } & Omit<AriaCheckboxProps, 'children' | 'isSelected'>;
@@ -13,6 +13,7 @@ export { BSAMultibrandSmallLogo } from './components/logos/bsa-multibrand-small-
13
13
  export { BSAStackedLogo } from './components/logos/bsa-stacked-logo.js';
14
14
  export { FacebookSymbol } from './components/symbols/facebook-symbol.js';
15
15
  export { GooglePlusSymbol } from './components/symbols/google-plus-symbol.js';
16
+ export { GoogleStoreSymbol } from './components/symbols/google-store-symbol.js';
16
17
  export { InstagramSymbol } from './components/symbols/instagram-symbol.js';
17
18
  export { LinkedInSymbol } from './components/symbols/linked-in-symbol.js';
18
19
  export { MastercardAcceptedSymbol } from './components/symbols/mastercard-accepted-symbol.js';
@@ -1,6 +1,9 @@
1
1
  import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
2
  import React from 'react';
3
3
 
4
+ import { Symbol } from './symbol.component.js';
5
+ import { type Align } from './symbol.types.js';
6
+
4
7
  import { SymbolProps, WBCLogo, WBCMultibrandSmallLogo } from './index.js';
5
8
  import * as symbols from './index.js';
6
9
 
@@ -60,14 +63,69 @@ export const AllLogos = () => {
60
63
  {} as { [index: string]: React.FC<SymbolProps> },
61
64
  );
62
65
 
66
+ const logos = Object.entries(allLogos).reduce(
67
+ (curr, [key, symbol]) => (!key.includes('Multibrand') ? { ...curr, [key]: symbol } : curr),
68
+ {} as { [index: string]: React.FC<SymbolProps> },
69
+ );
70
+
71
+ const multibrandLargeLogos = Object.entries(allLogos).reduce(
72
+ (curr, [key, symbol]) => (key.includes('MultibrandLarge') ? { ...curr, [key]: symbol } : curr),
73
+ {} as { [index: string]: React.FC<SymbolProps> },
74
+ );
75
+
76
+ const multibrandSmallLogos = Object.entries(allLogos).reduce(
77
+ (curr, [key, symbol]) => (key.includes('MultibrandSmall') ? { ...curr, [key]: symbol } : curr),
78
+ {} as { [index: string]: React.FC<SymbolProps> },
79
+ );
80
+
81
+ const align: Align[] = ['left', 'center', 'right'];
82
+
63
83
  return (
64
- <div className="grid grid-cols-4 gap-5">
65
- {Object.entries(allLogos).map(([key, Logo]) => (
66
- <div key={key} className=" flex flex-col items-center justify-end">
67
- <Logo />
68
- <p className="mt-2">{key}</p>
69
- </div>
70
- ))}
71
- </div>
84
+ <>
85
+ <h3 className="typography-body-7 mb-4 font-bold">Logos</h3>
86
+ <div className="grid grid-cols-4 gap-5">
87
+ {Object.entries(logos).map(([key, Logo]) => (
88
+ <div key={key} className=" flex flex-col items-center justify-end">
89
+ <Logo />
90
+ <p className="mt-2">{`<${key} />`}</p>
91
+ </div>
92
+ ))}
93
+ </div>
94
+ <h3 className="typography-body-7 mb-2 mt-6 font-bold">Multi-brand logos</h3>
95
+ <h4 className="typography-body-8 mb-4 font-bold">Large</h4>
96
+ <div className="grid grid-cols-4 gap-5">
97
+ {Object.entries(multibrandLargeLogos).map(([key, Logo]) => (
98
+ <>
99
+ <div key={`${key}-${align}`} className=" flex flex-col items-center justify-end">
100
+ <Logo className="border border-dashed border-border" />
101
+ <p className="mt-2">{`<${key} />`}</p>
102
+ </div>
103
+ {align.map(align => (
104
+ <div key={`${key}-${align}`} className=" flex flex-col items-center justify-end">
105
+ <Logo align={align} className="border border-dashed border-border" />
106
+ <p className="mt-2">{`<${key} align=${align} />`}</p>
107
+ </div>
108
+ ))}
109
+ </>
110
+ ))}
111
+ </div>
112
+ <h4 className="typography-body-8 my-4 font-bold">Small</h4>
113
+ <div className="grid grid-cols-4 gap-5">
114
+ {Object.entries(multibrandSmallLogos).map(([key, Logo]) => (
115
+ <>
116
+ <div key={`${key}-${align}`} className=" flex flex-col items-center justify-end">
117
+ <Logo className="border border-dashed border-border" />
118
+ <p className="mt-2">{`<${key} />`}</p>
119
+ </div>
120
+ {align.map(align => (
121
+ <div key={`${key}-${align}`} className=" flex flex-col items-center justify-end">
122
+ <Logo align={align} className="border border-dashed border-border" />
123
+ <p className="mt-2">{`<${key} align=${align} />`}</p>
124
+ </div>
125
+ ))}
126
+ </>
127
+ ))}
128
+ </div>
129
+ </>
72
130
  );
73
131
  };
@@ -1,7 +1,4 @@
1
1
  import { type SVGAttributes } from 'react';
2
- import { type VariantProps } from 'tailwind-variants';
3
-
4
- import { styles } from './symbol.styles.js';
5
2
 
6
3
  export type Align = 'left' | 'center' | 'right';
7
4
 
@@ -30,4 +27,4 @@ export type SymbolProps = Omit<SVGAttributes<SVGElement>, 'offset'> & {
30
27
  * SVG viewBox width
31
28
  */
32
29
  viewBoxWidth?: number;
33
- } & VariantProps<typeof styles>;
30
+ };
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import React, { createContext } from 'react';
2
4
 
3
5
  import { Body, Caption, Cell, Footer, Header, HeaderCell, HeaderRow, Row } from './components/index.js';
@@ -5,7 +5,13 @@ import { type VariantProps } from 'tailwind-variants';
5
5
 
6
6
  import { styles } from './tab.styles.js';
7
7
 
8
+ type Variants = VariantProps<typeof styles>;
9
+
8
10
  export type TabProps<T = any> = {
11
+ /**
12
+ * Color of tab
13
+ */
14
+ color?: Variants['color'];
9
15
  /**
10
16
  * isDisabled flag
11
17
  */
@@ -14,6 +20,14 @@ export type TabProps<T = any> = {
14
20
  * Item
15
21
  */
16
22
  item: Node<T>;
23
+ /**
24
+ * Whether tab is justified
25
+ */
26
+ justify?: Variants['justify'];
27
+ /**
28
+ * Look of tab
29
+ */
30
+ look?: Variants['look'];
17
31
  /**
18
32
  * Orientation, vertical or horizontal for tab
19
33
  */
@@ -26,5 +40,4 @@ export type TabProps<T = any> = {
26
40
  * Tag to render
27
41
  */
28
42
  tag?: keyof JSX.IntrinsicElements;
29
- } & VariantProps<typeof styles> &
30
- HTMLAttributes<Element>;
43
+ } & HTMLAttributes<Element>;