@westpac/ui 0.1.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 (715) hide show
  1. package/.eslintrc.cjs +21 -0
  2. package/.storybook/global.css +3 -0
  3. package/.storybook/main.ts +27 -0
  4. package/.storybook/preview.tsx +42 -0
  5. package/.swcrc +17 -0
  6. package/README.md +59 -0
  7. package/dist/components/button/button.component.d.ts +38 -0
  8. package/dist/components/button/button.component.js +27 -0
  9. package/dist/components/button/button.stories.d.ts +13 -0
  10. package/dist/components/button/button.stories.js +34 -0
  11. package/dist/components/button/button.styles.d.ts +35 -0
  12. package/dist/components/button/button.styles.js +29 -0
  13. package/dist/components/button/button.types.d.ts +9 -0
  14. package/dist/components/button/button.types.js +1 -0
  15. package/dist/components/button/index.d.ts +2 -0
  16. package/dist/components/button/index.js +1 -0
  17. package/dist/components/icon/components/accessibility-icon.d.ts +2 -0
  18. package/dist/components/icon/components/accessibility-icon.js +26 -0
  19. package/dist/components/icon/components/account-icon.d.ts +2 -0
  20. package/dist/components/icon/components/account-icon.js +26 -0
  21. package/dist/components/icon/components/add-circle-icon.d.ts +2 -0
  22. package/dist/components/icon/components/add-circle-icon.js +26 -0
  23. package/dist/components/icon/components/add-icon.d.ts +2 -0
  24. package/dist/components/icon/components/add-icon.js +26 -0
  25. package/dist/components/icon/components/alert-icon.d.ts +2 -0
  26. package/dist/components/icon/components/alert-icon.js +26 -0
  27. package/dist/components/icon/components/android-icon.d.ts +2 -0
  28. package/dist/components/icon/components/android-icon.js +26 -0
  29. package/dist/components/icon/components/apple-icon.d.ts +2 -0
  30. package/dist/components/icon/components/apple-icon.js +26 -0
  31. package/dist/components/icon/components/arrow-left-icon.d.ts +2 -0
  32. package/dist/components/icon/components/arrow-left-icon.js +26 -0
  33. package/dist/components/icon/components/arrow-right-icon.d.ts +2 -0
  34. package/dist/components/icon/components/arrow-right-icon.js +26 -0
  35. package/dist/components/icon/components/atm-icon.d.ts +2 -0
  36. package/dist/components/icon/components/atm-icon.js +26 -0
  37. package/dist/components/icon/components/australia-icon.d.ts +2 -0
  38. package/dist/components/icon/components/australia-icon.js +26 -0
  39. package/dist/components/icon/components/backspace-icon.d.ts +2 -0
  40. package/dist/components/icon/components/backspace-icon.js +26 -0
  41. package/dist/components/icon/components/bank-icon.d.ts +2 -0
  42. package/dist/components/icon/components/bank-icon.js +26 -0
  43. package/dist/components/icon/components/bar-chart-icon.d.ts +2 -0
  44. package/dist/components/icon/components/bar-chart-icon.js +26 -0
  45. package/dist/components/icon/components/book-icon.d.ts +2 -0
  46. package/dist/components/icon/components/book-icon.js +26 -0
  47. package/dist/components/icon/components/bpay-icon.d.ts +2 -0
  48. package/dist/components/icon/components/bpay-icon.js +26 -0
  49. package/dist/components/icon/components/business-person-icon.d.ts +2 -0
  50. package/dist/components/icon/components/business-person-icon.js +26 -0
  51. package/dist/components/icon/components/cafe-icon.d.ts +2 -0
  52. package/dist/components/icon/components/cafe-icon.js +26 -0
  53. package/dist/components/icon/components/calculator-icon.d.ts +2 -0
  54. package/dist/components/icon/components/calculator-icon.js +26 -0
  55. package/dist/components/icon/components/calendar-icon.d.ts +2 -0
  56. package/dist/components/icon/components/calendar-icon.js +26 -0
  57. package/dist/components/icon/components/camera-icon.d.ts +2 -0
  58. package/dist/components/icon/components/camera-icon.js +26 -0
  59. package/dist/components/icon/components/car-icon.d.ts +2 -0
  60. package/dist/components/icon/components/car-icon.js +26 -0
  61. package/dist/components/icon/components/chat-icon.d.ts +2 -0
  62. package/dist/components/icon/components/chat-icon.js +26 -0
  63. package/dist/components/icon/components/clear-circle-icon.d.ts +2 -0
  64. package/dist/components/icon/components/clear-circle-icon.js +26 -0
  65. package/dist/components/icon/components/clear-icon.d.ts +2 -0
  66. package/dist/components/icon/components/clear-icon.js +26 -0
  67. package/dist/components/icon/components/clock-icon.d.ts +2 -0
  68. package/dist/components/icon/components/clock-icon.js +26 -0
  69. package/dist/components/icon/components/close-icon.d.ts +2 -0
  70. package/dist/components/icon/components/close-icon.js +26 -0
  71. package/dist/components/icon/components/compass-icon.d.ts +2 -0
  72. package/dist/components/icon/components/compass-icon.js +26 -0
  73. package/dist/components/icon/components/contact-icon.d.ts +2 -0
  74. package/dist/components/icon/components/contact-icon.js +26 -0
  75. package/dist/components/icon/components/copy-content-icon.d.ts +2 -0
  76. package/dist/components/icon/components/copy-content-icon.js +26 -0
  77. package/dist/components/icon/components/credit-card-icon.d.ts +2 -0
  78. package/dist/components/icon/components/credit-card-icon.js +26 -0
  79. package/dist/components/icon/components/cube-icon.d.ts +2 -0
  80. package/dist/components/icon/components/cube-icon.js +26 -0
  81. package/dist/components/icon/components/cursor-arrow-click-icon.d.ts +2 -0
  82. package/dist/components/icon/components/cursor-arrow-click-icon.js +26 -0
  83. package/dist/components/icon/components/cursor-arrow-double-click-icon.d.ts +2 -0
  84. package/dist/components/icon/components/cursor-arrow-double-click-icon.js +26 -0
  85. package/dist/components/icon/components/cursor-arrow-icon.d.ts +2 -0
  86. package/dist/components/icon/components/cursor-arrow-icon.js +26 -0
  87. package/dist/components/icon/components/cursor-arrow-rays-icon.d.ts +2 -0
  88. package/dist/components/icon/components/cursor-arrow-rays-icon.js +26 -0
  89. package/dist/components/icon/components/delete-icon.d.ts +2 -0
  90. package/dist/components/icon/components/delete-icon.js +26 -0
  91. package/dist/components/icon/components/desktop-icon.d.ts +2 -0
  92. package/dist/components/icon/components/desktop-icon.js +26 -0
  93. package/dist/components/icon/components/dollar-icon.d.ts +2 -0
  94. package/dist/components/icon/components/dollar-icon.js +26 -0
  95. package/dist/components/icon/components/download-file-icon.d.ts +2 -0
  96. package/dist/components/icon/components/download-file-icon.js +26 -0
  97. package/dist/components/icon/components/download-icon.d.ts +2 -0
  98. package/dist/components/icon/components/download-icon.js +26 -0
  99. package/dist/components/icon/components/drag-icon.d.ts +2 -0
  100. package/dist/components/icon/components/drag-icon.js +26 -0
  101. package/dist/components/icon/components/drop-down-icon.d.ts +2 -0
  102. package/dist/components/icon/components/drop-down-icon.js +26 -0
  103. package/dist/components/icon/components/drop-up-icon.d.ts +2 -0
  104. package/dist/components/icon/components/drop-up-icon.js +27 -0
  105. package/dist/components/icon/components/dropbox-icon.d.ts +2 -0
  106. package/dist/components/icon/components/dropbox-icon.js +26 -0
  107. package/dist/components/icon/components/edit-icon.d.ts +2 -0
  108. package/dist/components/icon/components/edit-icon.js +26 -0
  109. package/dist/components/icon/components/eftpos-icon.d.ts +2 -0
  110. package/dist/components/icon/components/eftpos-icon.js +26 -0
  111. package/dist/components/icon/components/email-icon.d.ts +2 -0
  112. package/dist/components/icon/components/email-icon.js +26 -0
  113. package/dist/components/icon/components/error-icon.d.ts +2 -0
  114. package/dist/components/icon/components/error-icon.js +26 -0
  115. package/dist/components/icon/components/excel-file-icon.d.ts +2 -0
  116. package/dist/components/icon/components/excel-file-icon.js +26 -0
  117. package/dist/components/icon/components/exit-icon.d.ts +2 -0
  118. package/dist/components/icon/components/exit-icon.js +26 -0
  119. package/dist/components/icon/components/expand-less-icon.d.ts +2 -0
  120. package/dist/components/icon/components/expand-less-icon.js +26 -0
  121. package/dist/components/icon/components/expand-more-icon.d.ts +2 -0
  122. package/dist/components/icon/components/expand-more-icon.js +26 -0
  123. package/dist/components/icon/components/face-happy-icon.d.ts +2 -0
  124. package/dist/components/icon/components/face-happy-icon.js +26 -0
  125. package/dist/components/icon/components/facebook-icon.d.ts +2 -0
  126. package/dist/components/icon/components/facebook-icon.js +26 -0
  127. package/dist/components/icon/components/favourite-icon.d.ts +2 -0
  128. package/dist/components/icon/components/favourite-icon.js +26 -0
  129. package/dist/components/icon/components/filter-icon.d.ts +2 -0
  130. package/dist/components/icon/components/filter-icon.js +26 -0
  131. package/dist/components/icon/components/fingerprint-icon.d.ts +2 -0
  132. package/dist/components/icon/components/fingerprint-icon.js +26 -0
  133. package/dist/components/icon/components/future-clock-icon.d.ts +2 -0
  134. package/dist/components/icon/components/future-clock-icon.js +26 -0
  135. package/dist/components/icon/components/gel-icon.d.ts +2 -0
  136. package/dist/components/icon/components/gel-icon.js +26 -0
  137. package/dist/components/icon/components/generic-file-icon.d.ts +2 -0
  138. package/dist/components/icon/components/generic-file-icon.js +26 -0
  139. package/dist/components/icon/components/geolocation-icon.d.ts +2 -0
  140. package/dist/components/icon/components/geolocation-icon.js +26 -0
  141. package/dist/components/icon/components/gift-icon.d.ts +2 -0
  142. package/dist/components/icon/components/gift-icon.js +26 -0
  143. package/dist/components/icon/components/github-icon.d.ts +2 -0
  144. package/dist/components/icon/components/github-icon.js +26 -0
  145. package/dist/components/icon/components/global-icon.d.ts +2 -0
  146. package/dist/components/icon/components/global-icon.js +26 -0
  147. package/dist/components/icon/components/google-plus-icon.d.ts +2 -0
  148. package/dist/components/icon/components/google-plus-icon.js +26 -0
  149. package/dist/components/icon/components/grid-icon.d.ts +2 -0
  150. package/dist/components/icon/components/grid-icon.js +26 -0
  151. package/dist/components/icon/components/growth-icon.d.ts +2 -0
  152. package/dist/components/icon/components/growth-icon.js +26 -0
  153. package/dist/components/icon/components/hamburger-menu-icon.d.ts +2 -0
  154. package/dist/components/icon/components/hamburger-menu-icon.js +26 -0
  155. package/dist/components/icon/components/headset-icon.d.ts +2 -0
  156. package/dist/components/icon/components/headset-icon.js +26 -0
  157. package/dist/components/icon/components/help-icon.d.ts +2 -0
  158. package/dist/components/icon/components/help-icon.js +26 -0
  159. package/dist/components/icon/components/history-clock-icon.d.ts +2 -0
  160. package/dist/components/icon/components/history-clock-icon.js +26 -0
  161. package/dist/components/icon/components/house-icon.d.ts +2 -0
  162. package/dist/components/icon/components/house-icon.js +26 -0
  163. package/dist/components/icon/components/id-card-icon.d.ts +2 -0
  164. package/dist/components/icon/components/id-card-icon.js +26 -0
  165. package/dist/components/icon/components/image-square-icon.d.ts +2 -0
  166. package/dist/components/icon/components/image-square-icon.js +26 -0
  167. package/dist/components/icon/components/info-icon.d.ts +2 -0
  168. package/dist/components/icon/components/info-icon.js +26 -0
  169. package/dist/components/icon/components/instagram-icon.d.ts +2 -0
  170. package/dist/components/icon/components/instagram-icon.js +26 -0
  171. package/dist/components/icon/components/invest-icon.d.ts +2 -0
  172. package/dist/components/icon/components/invest-icon.js +26 -0
  173. package/dist/components/icon/components/key-icon.d.ts +2 -0
  174. package/dist/components/icon/components/key-icon.js +26 -0
  175. package/dist/components/icon/components/keyhole-icon.d.ts +2 -0
  176. package/dist/components/icon/components/keyhole-icon.js +26 -0
  177. package/dist/components/icon/components/light-bulb-icon.d.ts +2 -0
  178. package/dist/components/icon/components/light-bulb-icon.js +26 -0
  179. package/dist/components/icon/components/limit-icon.d.ts +2 -0
  180. package/dist/components/icon/components/limit-icon.js +26 -0
  181. package/dist/components/icon/components/link-icon.d.ts +2 -0
  182. package/dist/components/icon/components/link-icon.js +26 -0
  183. package/dist/components/icon/components/linkedin-icon.d.ts +2 -0
  184. package/dist/components/icon/components/linkedin-icon.js +26 -0
  185. package/dist/components/icon/components/list-icon.d.ts +2 -0
  186. package/dist/components/icon/components/list-icon.js +26 -0
  187. package/dist/components/icon/components/live-chat-icon.d.ts +2 -0
  188. package/dist/components/icon/components/live-chat-icon.js +26 -0
  189. package/dist/components/icon/components/map-icon.d.ts +2 -0
  190. package/dist/components/icon/components/map-icon.js +26 -0
  191. package/dist/components/icon/components/map-pin-icon.d.ts +2 -0
  192. package/dist/components/icon/components/map-pin-icon.js +26 -0
  193. package/dist/components/icon/components/message-icon.d.ts +2 -0
  194. package/dist/components/icon/components/message-icon.js +26 -0
  195. package/dist/components/icon/components/mobile-pay-icon.d.ts +2 -0
  196. package/dist/components/icon/components/mobile-pay-icon.js +26 -0
  197. package/dist/components/icon/components/money-in-icon.d.ts +2 -0
  198. package/dist/components/icon/components/money-in-icon.js +26 -0
  199. package/dist/components/icon/components/money-out-icon.d.ts +2 -0
  200. package/dist/components/icon/components/money-out-icon.js +26 -0
  201. package/dist/components/icon/components/more-horizontal-icon.d.ts +2 -0
  202. package/dist/components/icon/components/more-horizontal-icon.js +26 -0
  203. package/dist/components/icon/components/more-vertical-icon.d.ts +2 -0
  204. package/dist/components/icon/components/more-vertical-icon.js +26 -0
  205. package/dist/components/icon/components/move-from-icon.d.ts +2 -0
  206. package/dist/components/icon/components/move-from-icon.js +26 -0
  207. package/dist/components/icon/components/move-to-icon.d.ts +2 -0
  208. package/dist/components/icon/components/move-to-icon.js +26 -0
  209. package/dist/components/icon/components/new-content-icon.d.ts +2 -0
  210. package/dist/components/icon/components/new-content-icon.js +26 -0
  211. package/dist/components/icon/components/new-window-icon.d.ts +2 -0
  212. package/dist/components/icon/components/new-window-icon.js +26 -0
  213. package/dist/components/icon/components/notification-active-icon.d.ts +2 -0
  214. package/dist/components/icon/components/notification-active-icon.js +26 -0
  215. package/dist/components/icon/components/notification-icon.d.ts +2 -0
  216. package/dist/components/icon/components/notification-icon.js +26 -0
  217. package/dist/components/icon/components/notification-off-icon.d.ts +2 -0
  218. package/dist/components/icon/components/notification-off-icon.js +26 -0
  219. package/dist/components/icon/components/office-icon.d.ts +2 -0
  220. package/dist/components/icon/components/office-icon.js +26 -0
  221. package/dist/components/icon/components/open-browser-icon.d.ts +2 -0
  222. package/dist/components/icon/components/open-browser-icon.js +26 -0
  223. package/dist/components/icon/components/padlock-icon.d.ts +2 -0
  224. package/dist/components/icon/components/padlock-icon.js +26 -0
  225. package/dist/components/icon/components/padlock-open-icon.d.ts +2 -0
  226. package/dist/components/icon/components/padlock-open-icon.js +26 -0
  227. package/dist/components/icon/components/pause-circle-icon.d.ts +2 -0
  228. package/dist/components/icon/components/pause-circle-icon.js +26 -0
  229. package/dist/components/icon/components/pause-icon.d.ts +2 -0
  230. package/dist/components/icon/components/pause-icon.js +26 -0
  231. package/dist/components/icon/components/pay-icon.d.ts +2 -0
  232. package/dist/components/icon/components/pay-icon.js +26 -0
  233. package/dist/components/icon/components/pay-to-mobile-icon.d.ts +2 -0
  234. package/dist/components/icon/components/pay-to-mobile-icon.js +26 -0
  235. package/dist/components/icon/components/paypass-icon.d.ts +2 -0
  236. package/dist/components/icon/components/paypass-icon.js +26 -0
  237. package/dist/components/icon/components/pdf-file-icon.d.ts +2 -0
  238. package/dist/components/icon/components/pdf-file-icon.js +26 -0
  239. package/dist/components/icon/components/pending-icon.d.ts +2 -0
  240. package/dist/components/icon/components/pending-icon.js +26 -0
  241. package/dist/components/icon/components/people-icon.d.ts +2 -0
  242. package/dist/components/icon/components/people-icon.js +26 -0
  243. package/dist/components/icon/components/percent-icon.d.ts +2 -0
  244. package/dist/components/icon/components/percent-icon.js +26 -0
  245. package/dist/components/icon/components/person-icon.d.ts +2 -0
  246. package/dist/components/icon/components/person-icon.js +26 -0
  247. package/dist/components/icon/components/phone-icon.d.ts +2 -0
  248. package/dist/components/icon/components/phone-icon.js +26 -0
  249. package/dist/components/icon/components/pie-chart-icon.d.ts +2 -0
  250. package/dist/components/icon/components/pie-chart-icon.js +26 -0
  251. package/dist/components/icon/components/plane-icon.d.ts +2 -0
  252. package/dist/components/icon/components/plane-icon.js +26 -0
  253. package/dist/components/icon/components/play-circle-icon.d.ts +2 -0
  254. package/dist/components/icon/components/play-circle-icon.js +26 -0
  255. package/dist/components/icon/components/play-icon.d.ts +2 -0
  256. package/dist/components/icon/components/play-icon.js +26 -0
  257. package/dist/components/icon/components/presets-icon.d.ts +2 -0
  258. package/dist/components/icon/components/presets-icon.js +26 -0
  259. package/dist/components/icon/components/print-icon.d.ts +2 -0
  260. package/dist/components/icon/components/print-icon.js +26 -0
  261. package/dist/components/icon/components/progress-icon.d.ts +2 -0
  262. package/dist/components/icon/components/progress-icon.js +26 -0
  263. package/dist/components/icon/components/quick-balance-icon.d.ts +2 -0
  264. package/dist/components/icon/components/quick-balance-icon.js +26 -0
  265. package/dist/components/icon/components/receipt-icon.d.ts +2 -0
  266. package/dist/components/icon/components/receipt-icon.js +26 -0
  267. package/dist/components/icon/components/refresh-icon.d.ts +2 -0
  268. package/dist/components/icon/components/refresh-icon.js +26 -0
  269. package/dist/components/icon/components/remove-circle-icon.d.ts +2 -0
  270. package/dist/components/icon/components/remove-circle-icon.js +26 -0
  271. package/dist/components/icon/components/remove-icon.d.ts +2 -0
  272. package/dist/components/icon/components/remove-icon.js +26 -0
  273. package/dist/components/icon/components/rss-icon.d.ts +2 -0
  274. package/dist/components/icon/components/rss-icon.js +26 -0
  275. package/dist/components/icon/components/sd-storage-icon.d.ts +2 -0
  276. package/dist/components/icon/components/sd-storage-icon.js +26 -0
  277. package/dist/components/icon/components/search-icon.d.ts +2 -0
  278. package/dist/components/icon/components/search-icon.js +26 -0
  279. package/dist/components/icon/components/security-icon.d.ts +2 -0
  280. package/dist/components/icon/components/security-icon.js +26 -0
  281. package/dist/components/icon/components/service-bell-icon.d.ts +2 -0
  282. package/dist/components/icon/components/service-bell-icon.js +26 -0
  283. package/dist/components/icon/components/settings-icon.d.ts +2 -0
  284. package/dist/components/icon/components/settings-icon.js +26 -0
  285. package/dist/components/icon/components/share-icon.d.ts +2 -0
  286. package/dist/components/icon/components/share-icon.js +26 -0
  287. package/dist/components/icon/components/share-ios-icon.d.ts +2 -0
  288. package/dist/components/icon/components/share-ios-icon.js +26 -0
  289. package/dist/components/icon/components/shop-icon.d.ts +2 -0
  290. package/dist/components/icon/components/shop-icon.js +26 -0
  291. package/dist/components/icon/components/sim-card-icon.d.ts +2 -0
  292. package/dist/components/icon/components/sim-card-icon.js +26 -0
  293. package/dist/components/icon/components/slack-icon.d.ts +2 -0
  294. package/dist/components/icon/components/slack-icon.js +26 -0
  295. package/dist/components/icon/components/sms-icon.d.ts +2 -0
  296. package/dist/components/icon/components/sms-icon.js +26 -0
  297. package/dist/components/icon/components/star-empty-icon.d.ts +2 -0
  298. package/dist/components/icon/components/star-empty-icon.js +26 -0
  299. package/dist/components/icon/components/star-half-icon.d.ts +2 -0
  300. package/dist/components/icon/components/star-half-icon.js +26 -0
  301. package/dist/components/icon/components/star-icon.d.ts +2 -0
  302. package/dist/components/icon/components/star-icon.js +26 -0
  303. package/dist/components/icon/components/stopwatch-icon.d.ts +2 -0
  304. package/dist/components/icon/components/stopwatch-icon.js +26 -0
  305. package/dist/components/icon/components/success-icon.d.ts +2 -0
  306. package/dist/components/icon/components/success-icon.js +26 -0
  307. package/dist/components/icon/components/super-icon.d.ts +2 -0
  308. package/dist/components/icon/components/super-icon.js +26 -0
  309. package/dist/components/icon/components/switch-icon.d.ts +2 -0
  310. package/dist/components/icon/components/switch-icon.js +26 -0
  311. package/dist/components/icon/components/tablet-icon.d.ts +2 -0
  312. package/dist/components/icon/components/tablet-icon.js +26 -0
  313. package/dist/components/icon/components/take-out-icon.d.ts +2 -0
  314. package/dist/components/icon/components/take-out-icon.js +26 -0
  315. package/dist/components/icon/components/telephone-icon.d.ts +2 -0
  316. package/dist/components/icon/components/telephone-icon.js +26 -0
  317. package/dist/components/icon/components/thumb-down-icon.d.ts +2 -0
  318. package/dist/components/icon/components/thumb-down-icon.js +26 -0
  319. package/dist/components/icon/components/thumb-up-icon.d.ts +2 -0
  320. package/dist/components/icon/components/thumb-up-icon.js +27 -0
  321. package/dist/components/icon/components/tick-circle-icon.d.ts +2 -0
  322. package/dist/components/icon/components/tick-circle-icon.js +26 -0
  323. package/dist/components/icon/components/tick-icon.d.ts +2 -0
  324. package/dist/components/icon/components/tick-icon.js +26 -0
  325. package/dist/components/icon/components/transfer-icon.d.ts +2 -0
  326. package/dist/components/icon/components/transfer-icon.js +26 -0
  327. package/dist/components/icon/components/transport-icon.d.ts +2 -0
  328. package/dist/components/icon/components/transport-icon.js +26 -0
  329. package/dist/components/icon/components/twitter-icon.d.ts +2 -0
  330. package/dist/components/icon/components/twitter-icon.js +26 -0
  331. package/dist/components/icon/components/umbrella-icon.d.ts +2 -0
  332. package/dist/components/icon/components/umbrella-icon.js +26 -0
  333. package/dist/components/icon/components/upload-icon.d.ts +2 -0
  334. package/dist/components/icon/components/upload-icon.js +26 -0
  335. package/dist/components/icon/components/verified-icon.d.ts +2 -0
  336. package/dist/components/icon/components/verified-icon.js +26 -0
  337. package/dist/components/icon/components/video-icon.d.ts +2 -0
  338. package/dist/components/icon/components/video-icon.js +26 -0
  339. package/dist/components/icon/components/visibility-icon.d.ts +2 -0
  340. package/dist/components/icon/components/visibility-icon.js +26 -0
  341. package/dist/components/icon/components/visibility-off-icon.d.ts +2 -0
  342. package/dist/components/icon/components/visibility-off-icon.js +26 -0
  343. package/dist/components/icon/components/voice-icon.d.ts +2 -0
  344. package/dist/components/icon/components/voice-icon.js +26 -0
  345. package/dist/components/icon/components/walk-icon.d.ts +2 -0
  346. package/dist/components/icon/components/walk-icon.js +26 -0
  347. package/dist/components/icon/components/wallet-icon.d.ts +2 -0
  348. package/dist/components/icon/components/wallet-icon.js +26 -0
  349. package/dist/components/icon/components/warning-icon.d.ts +2 -0
  350. package/dist/components/icon/components/warning-icon.js +26 -0
  351. package/dist/components/icon/components/watch-icon.d.ts +2 -0
  352. package/dist/components/icon/components/watch-icon.js +26 -0
  353. package/dist/components/icon/components/wearable-icon.d.ts +2 -0
  354. package/dist/components/icon/components/wearable-icon.js +26 -0
  355. package/dist/components/icon/components/wheelchair-icon.d.ts +2 -0
  356. package/dist/components/icon/components/wheelchair-icon.js +26 -0
  357. package/dist/components/icon/components/windows-new-icon.d.ts +2 -0
  358. package/dist/components/icon/components/windows-new-icon.js +26 -0
  359. package/dist/components/icon/components/word-file-icon.d.ts +2 -0
  360. package/dist/components/icon/components/word-file-icon.js +26 -0
  361. package/dist/components/icon/components/write-icon.d.ts +2 -0
  362. package/dist/components/icon/components/write-icon.js +26 -0
  363. package/dist/components/icon/components/yammer-icon.d.ts +2 -0
  364. package/dist/components/icon/components/yammer-icon.js +26 -0
  365. package/dist/components/icon/components/youtube-icon.d.ts +2 -0
  366. package/dist/components/icon/components/youtube-icon.js +26 -0
  367. package/dist/components/icon/components/zip-file-icon.d.ts +2 -0
  368. package/dist/components/icon/components/zip-file-icon.js +26 -0
  369. package/dist/components/icon/icon.component.d.ts +2 -0
  370. package/dist/components/icon/icon.component.js +29 -0
  371. package/dist/components/icon/icon.stories.d.ts +17 -0
  372. package/dist/components/icon/icon.stories.js +149 -0
  373. package/dist/components/icon/icon.styles.d.ts +63 -0
  374. package/dist/components/icon/icon.styles.js +43 -0
  375. package/dist/components/icon/icon.types.d.ts +13 -0
  376. package/dist/components/icon/icon.types.js +1 -0
  377. package/dist/components/icon/index.d.ts +177 -0
  378. package/dist/components/icon/index.js +176 -0
  379. package/dist/components/index.d.ts +5 -0
  380. package/dist/components/index.js +5 -0
  381. package/dist/components/skip-link/index.d.ts +2 -0
  382. package/dist/components/skip-link/index.js +1 -0
  383. package/dist/components/skip-link/skip-link.component.d.ts +3 -0
  384. package/dist/components/skip-link/skip-link.component.js +27 -0
  385. package/dist/components/skip-link/skip-link.stories.d.ts +9 -0
  386. package/dist/components/skip-link/skip-link.stories.js +21 -0
  387. package/dist/components/skip-link/skip-link.styles.d.ts +5 -0
  388. package/dist/components/skip-link/skip-link.styles.js +4 -0
  389. package/dist/components/skip-link/skip-link.types.d.ts +18 -0
  390. package/dist/components/skip-link/skip-link.types.js +1 -0
  391. package/dist/components/visually-hidden/index.d.ts +2 -0
  392. package/dist/components/visually-hidden/index.js +1 -0
  393. package/dist/components/visually-hidden/visually-hidden.component.d.ts +2 -0
  394. package/dist/components/visually-hidden/visually-hidden.component.js +23 -0
  395. package/dist/components/visually-hidden/visually-hidden.stories.d.ts +12 -0
  396. package/dist/components/visually-hidden/visually-hidden.stories.js +20 -0
  397. package/dist/components/visually-hidden/visually-hidden.styles.d.ts +5 -0
  398. package/dist/components/visually-hidden/visually-hidden.styles.js +4 -0
  399. package/dist/components/visually-hidden/visually-hidden.types.d.ts +9 -0
  400. package/dist/components/visually-hidden/visually-hidden.types.js +1 -0
  401. package/dist/components/well/index.d.ts +2 -0
  402. package/dist/components/well/index.js +1 -0
  403. package/dist/components/well/well.component.d.ts +2 -0
  404. package/dist/components/well/well.component.js +24 -0
  405. package/dist/components/well/well.stories.d.ts +25 -0
  406. package/dist/components/well/well.stories.js +51 -0
  407. package/dist/components/well/well.styles.d.ts +13 -0
  408. package/dist/components/well/well.styles.js +18 -0
  409. package/dist/components/well/well.types.d.ts +13 -0
  410. package/dist/components/well/well.types.js +1 -0
  411. package/dist/css/westpac-ui.css +2691 -0
  412. package/dist/css/westpac-ui.min.css +2691 -0
  413. package/dist/index.d.ts +1 -0
  414. package/dist/index.js +1 -0
  415. package/dist/tailwind/__mocks__/utils.contansts.d.ts +114 -0
  416. package/dist/tailwind/__mocks__/utils.contansts.js +114 -0
  417. package/dist/tailwind/constants/breakpoints.d.ts +8 -0
  418. package/dist/tailwind/constants/breakpoints.js +7 -0
  419. package/dist/tailwind/constants/colors.d.ts +180 -0
  420. package/dist/tailwind/constants/colors.js +13 -0
  421. package/dist/tailwind/constants/index.d.ts +4 -0
  422. package/dist/tailwind/constants/index.js +4 -0
  423. package/dist/tailwind/constants/spacing.d.ts +41 -0
  424. package/dist/tailwind/constants/spacing.js +5 -0
  425. package/dist/tailwind/constants/typography.d.ts +44 -0
  426. package/dist/tailwind/constants/typography.js +57 -0
  427. package/dist/tailwind/index.d.ts +5 -0
  428. package/dist/tailwind/index.js +5 -0
  429. package/dist/tailwind/tailwind-plugin.d.ts +14 -0
  430. package/dist/tailwind/tailwind-plugin.js +102 -0
  431. package/dist/tailwind/tailwind-transformer.d.ts +24 -0
  432. package/dist/tailwind/tailwind-transformer.js +12 -0
  433. package/dist/tailwind/themes/bom.d.ts +2 -0
  434. package/dist/tailwind/themes/bom.js +21 -0
  435. package/dist/tailwind/themes/bsa.d.ts +2 -0
  436. package/dist/tailwind/themes/bsa.js +21 -0
  437. package/dist/tailwind/themes/btfg.d.ts +2 -0
  438. package/dist/tailwind/themes/btfg.js +21 -0
  439. package/dist/tailwind/themes/index.d.ts +207 -0
  440. package/dist/tailwind/themes/index.js +35 -0
  441. package/dist/tailwind/themes/rams.d.ts +2 -0
  442. package/dist/tailwind/themes/rams.js +21 -0
  443. package/dist/tailwind/themes/stg.d.ts +2 -0
  444. package/dist/tailwind/themes/stg.js +21 -0
  445. package/dist/tailwind/themes/wbc.d.ts +2 -0
  446. package/dist/tailwind/themes/wbc.js +21 -0
  447. package/dist/tailwind/themes/wbg.d.ts +2 -0
  448. package/dist/tailwind/themes/wbg.js +21 -0
  449. package/dist/tailwind/types/brand.types.d.ts +12 -0
  450. package/dist/tailwind/types/brand.types.js +1 -0
  451. package/dist/tailwind/types/index.d.ts +2 -0
  452. package/dist/tailwind/types/index.js +2 -0
  453. package/dist/tailwind/types/theme.types.d.ts +1 -0
  454. package/dist/tailwind/types/theme.types.js +1 -0
  455. package/dist/tailwind/utils/create-font-sizes.d.ts +1 -0
  456. package/dist/tailwind/utils/create-font-sizes.js +11 -0
  457. package/dist/tailwind/utils/create-spacing.d.ts +4 -0
  458. package/dist/tailwind/utils/create-spacing.js +11 -0
  459. package/dist/tailwind/utils/generate-color-shades.d.ts +4 -0
  460. package/dist/tailwind/utils/generate-color-shades.js +18 -0
  461. package/dist/tailwind/utils/generate-font-components.d.ts +5 -0
  462. package/dist/tailwind/utils/generate-font-components.js +17 -0
  463. package/dist/tailwind/utils/index.d.ts +4 -0
  464. package/dist/tailwind/utils/index.js +4 -0
  465. package/package.json +101 -0
  466. package/plopfile.js +48 -0
  467. package/postcss.config.mjs +8 -0
  468. package/scaffold/component/scaffold.component.hbs +12 -0
  469. package/scaffold/component/scaffold.index.hbs +2 -0
  470. package/scaffold/component/scaffold.spec.hbs +16 -0
  471. package/scaffold/component/scaffold.stories.hbs +23 -0
  472. package/scaffold/component/scaffold.styles.hbs +9 -0
  473. package/scaffold/component/scaffold.types.hbs +12 -0
  474. package/src/@types/testing-library.d.ts +27 -0
  475. package/src/components/button/button.component.tsx +17 -0
  476. package/src/components/button/button.stories.tsx +45 -0
  477. package/src/components/button/button.styles.ts +26 -0
  478. package/src/components/button/button.types.ts +12 -0
  479. package/src/components/button/index.ts +2 -0
  480. package/src/components/icon/components/accessibility-icon.tsx +20 -0
  481. package/src/components/icon/components/account-icon.tsx +16 -0
  482. package/src/components/icon/components/add-circle-icon.tsx +16 -0
  483. package/src/components/icon/components/add-icon.tsx +16 -0
  484. package/src/components/icon/components/alert-icon.tsx +16 -0
  485. package/src/components/icon/components/android-icon.tsx +16 -0
  486. package/src/components/icon/components/apple-icon.tsx +16 -0
  487. package/src/components/icon/components/arrow-left-icon.tsx +12 -0
  488. package/src/components/icon/components/arrow-right-icon.tsx +16 -0
  489. package/src/components/icon/components/atm-icon.tsx +16 -0
  490. package/src/components/icon/components/australia-icon.tsx +16 -0
  491. package/src/components/icon/components/backspace-icon.tsx +16 -0
  492. package/src/components/icon/components/bank-icon.tsx +16 -0
  493. package/src/components/icon/components/bar-chart-icon.tsx +16 -0
  494. package/src/components/icon/components/book-icon.tsx +16 -0
  495. package/src/components/icon/components/bpay-icon.tsx +16 -0
  496. package/src/components/icon/components/business-person-icon.tsx +20 -0
  497. package/src/components/icon/components/cafe-icon.tsx +16 -0
  498. package/src/components/icon/components/calculator-icon.tsx +20 -0
  499. package/src/components/icon/components/calendar-icon.tsx +16 -0
  500. package/src/components/icon/components/camera-icon.tsx +16 -0
  501. package/src/components/icon/components/car-icon.tsx +16 -0
  502. package/src/components/icon/components/chat-icon.tsx +16 -0
  503. package/src/components/icon/components/clear-circle-icon.tsx +16 -0
  504. package/src/components/icon/components/clear-icon.tsx +16 -0
  505. package/src/components/icon/components/clock-icon.tsx +16 -0
  506. package/src/components/icon/components/close-icon.tsx +16 -0
  507. package/src/components/icon/components/compass-icon.tsx +16 -0
  508. package/src/components/icon/components/contact-icon.tsx +16 -0
  509. package/src/components/icon/components/copy-content-icon.tsx +16 -0
  510. package/src/components/icon/components/credit-card-icon.tsx +20 -0
  511. package/src/components/icon/components/cube-icon.tsx +16 -0
  512. package/src/components/icon/components/cursor-arrow-click-icon.tsx +20 -0
  513. package/src/components/icon/components/cursor-arrow-double-click-icon.tsx +20 -0
  514. package/src/components/icon/components/cursor-arrow-icon.tsx +20 -0
  515. package/src/components/icon/components/cursor-arrow-rays-icon.tsx +20 -0
  516. package/src/components/icon/components/delete-icon.tsx +16 -0
  517. package/src/components/icon/components/desktop-icon.tsx +16 -0
  518. package/src/components/icon/components/dollar-icon.tsx +16 -0
  519. package/src/components/icon/components/download-file-icon.tsx +20 -0
  520. package/src/components/icon/components/download-icon.tsx +16 -0
  521. package/src/components/icon/components/drag-icon.tsx +16 -0
  522. package/src/components/icon/components/drop-down-icon.tsx +12 -0
  523. package/src/components/icon/components/drop-up-icon.tsx +12 -0
  524. package/src/components/icon/components/dropbox-icon.tsx +16 -0
  525. package/src/components/icon/components/edit-icon.tsx +16 -0
  526. package/src/components/icon/components/eftpos-icon.tsx +16 -0
  527. package/src/components/icon/components/email-icon.tsx +16 -0
  528. package/src/components/icon/components/error-icon.tsx +16 -0
  529. package/src/components/icon/components/excel-file-icon.tsx +16 -0
  530. package/src/components/icon/components/exit-icon.tsx +16 -0
  531. package/src/components/icon/components/expand-less-icon.tsx +16 -0
  532. package/src/components/icon/components/expand-more-icon.tsx +16 -0
  533. package/src/components/icon/components/face-happy-icon.tsx +16 -0
  534. package/src/components/icon/components/facebook-icon.tsx +16 -0
  535. package/src/components/icon/components/favourite-icon.tsx +16 -0
  536. package/src/components/icon/components/filter-icon.tsx +16 -0
  537. package/src/components/icon/components/fingerprint-icon.tsx +20 -0
  538. package/src/components/icon/components/future-clock-icon.tsx +20 -0
  539. package/src/components/icon/components/gel-icon.tsx +16 -0
  540. package/src/components/icon/components/generic-file-icon.tsx +20 -0
  541. package/src/components/icon/components/geolocation-icon.tsx +16 -0
  542. package/src/components/icon/components/gift-icon.tsx +16 -0
  543. package/src/components/icon/components/github-icon.tsx +16 -0
  544. package/src/components/icon/components/global-icon.tsx +16 -0
  545. package/src/components/icon/components/google-plus-icon.tsx +20 -0
  546. package/src/components/icon/components/grid-icon.tsx +16 -0
  547. package/src/components/icon/components/growth-icon.tsx +16 -0
  548. package/src/components/icon/components/hamburger-menu-icon.tsx +20 -0
  549. package/src/components/icon/components/headset-icon.tsx +16 -0
  550. package/src/components/icon/components/help-icon.tsx +16 -0
  551. package/src/components/icon/components/history-clock-icon.tsx +20 -0
  552. package/src/components/icon/components/house-icon.tsx +16 -0
  553. package/src/components/icon/components/id-card-icon.tsx +16 -0
  554. package/src/components/icon/components/image-square-icon.tsx +20 -0
  555. package/src/components/icon/components/info-icon.tsx +16 -0
  556. package/src/components/icon/components/instagram-icon.tsx +16 -0
  557. package/src/components/icon/components/invest-icon.tsx +16 -0
  558. package/src/components/icon/components/key-icon.tsx +16 -0
  559. package/src/components/icon/components/keyhole-icon.tsx +16 -0
  560. package/src/components/icon/components/light-bulb-icon.tsx +16 -0
  561. package/src/components/icon/components/limit-icon.tsx +16 -0
  562. package/src/components/icon/components/link-icon.tsx +16 -0
  563. package/src/components/icon/components/linkedin-icon.tsx +16 -0
  564. package/src/components/icon/components/list-icon.tsx +16 -0
  565. package/src/components/icon/components/live-chat-icon.tsx +16 -0
  566. package/src/components/icon/components/map-icon.tsx +16 -0
  567. package/src/components/icon/components/map-pin-icon.tsx +16 -0
  568. package/src/components/icon/components/message-icon.tsx +16 -0
  569. package/src/components/icon/components/mobile-pay-icon.tsx +16 -0
  570. package/src/components/icon/components/money-in-icon.tsx +16 -0
  571. package/src/components/icon/components/money-out-icon.tsx +16 -0
  572. package/src/components/icon/components/more-horizontal-icon.tsx +20 -0
  573. package/src/components/icon/components/more-vertical-icon.tsx +20 -0
  574. package/src/components/icon/components/move-from-icon.tsx +16 -0
  575. package/src/components/icon/components/move-to-icon.tsx +16 -0
  576. package/src/components/icon/components/new-content-icon.tsx +20 -0
  577. package/src/components/icon/components/new-window-icon.tsx +16 -0
  578. package/src/components/icon/components/notification-active-icon.tsx +20 -0
  579. package/src/components/icon/components/notification-icon.tsx +20 -0
  580. package/src/components/icon/components/notification-off-icon.tsx +20 -0
  581. package/src/components/icon/components/office-icon.tsx +16 -0
  582. package/src/components/icon/components/open-browser-icon.tsx +20 -0
  583. package/src/components/icon/components/padlock-icon.tsx +16 -0
  584. package/src/components/icon/components/padlock-open-icon.tsx +20 -0
  585. package/src/components/icon/components/pause-circle-icon.tsx +16 -0
  586. package/src/components/icon/components/pause-icon.tsx +16 -0
  587. package/src/components/icon/components/pay-icon.tsx +16 -0
  588. package/src/components/icon/components/pay-to-mobile-icon.tsx +20 -0
  589. package/src/components/icon/components/paypass-icon.tsx +16 -0
  590. package/src/components/icon/components/pdf-file-icon.tsx +16 -0
  591. package/src/components/icon/components/pending-icon.tsx +16 -0
  592. package/src/components/icon/components/people-icon.tsx +16 -0
  593. package/src/components/icon/components/percent-icon.tsx +16 -0
  594. package/src/components/icon/components/person-icon.tsx +16 -0
  595. package/src/components/icon/components/phone-icon.tsx +16 -0
  596. package/src/components/icon/components/pie-chart-icon.tsx +16 -0
  597. package/src/components/icon/components/plane-icon.tsx +16 -0
  598. package/src/components/icon/components/play-circle-icon.tsx +16 -0
  599. package/src/components/icon/components/play-icon.tsx +12 -0
  600. package/src/components/icon/components/presets-icon.tsx +16 -0
  601. package/src/components/icon/components/print-icon.tsx +16 -0
  602. package/src/components/icon/components/progress-icon.tsx +16 -0
  603. package/src/components/icon/components/quick-balance-icon.tsx +20 -0
  604. package/src/components/icon/components/receipt-icon.tsx +16 -0
  605. package/src/components/icon/components/refresh-icon.tsx +16 -0
  606. package/src/components/icon/components/remove-circle-icon.tsx +16 -0
  607. package/src/components/icon/components/remove-icon.tsx +12 -0
  608. package/src/components/icon/components/rss-icon.tsx +16 -0
  609. package/src/components/icon/components/sd-storage-icon.tsx +16 -0
  610. package/src/components/icon/components/search-icon.tsx +16 -0
  611. package/src/components/icon/components/security-icon.tsx +16 -0
  612. package/src/components/icon/components/service-bell-icon.tsx +20 -0
  613. package/src/components/icon/components/settings-icon.tsx +16 -0
  614. package/src/components/icon/components/share-icon.tsx +16 -0
  615. package/src/components/icon/components/share-ios-icon.tsx +16 -0
  616. package/src/components/icon/components/shop-icon.tsx +16 -0
  617. package/src/components/icon/components/sim-card-icon.tsx +16 -0
  618. package/src/components/icon/components/slack-icon.tsx +16 -0
  619. package/src/components/icon/components/sms-icon.tsx +16 -0
  620. package/src/components/icon/components/star-empty-icon.tsx +16 -0
  621. package/src/components/icon/components/star-half-icon.tsx +16 -0
  622. package/src/components/icon/components/star-icon.tsx +16 -0
  623. package/src/components/icon/components/stopwatch-icon.tsx +16 -0
  624. package/src/components/icon/components/success-icon.tsx +16 -0
  625. package/src/components/icon/components/super-icon.tsx +16 -0
  626. package/src/components/icon/components/switch-icon.tsx +16 -0
  627. package/src/components/icon/components/tablet-icon.tsx +16 -0
  628. package/src/components/icon/components/take-out-icon.tsx +16 -0
  629. package/src/components/icon/components/telephone-icon.tsx +16 -0
  630. package/src/components/icon/components/thumb-down-icon.tsx +16 -0
  631. package/src/components/icon/components/thumb-up-icon.tsx +17 -0
  632. package/src/components/icon/components/tick-circle-icon.tsx +16 -0
  633. package/src/components/icon/components/tick-icon.tsx +12 -0
  634. package/src/components/icon/components/transfer-icon.tsx +16 -0
  635. package/src/components/icon/components/transport-icon.tsx +16 -0
  636. package/src/components/icon/components/twitter-icon.tsx +16 -0
  637. package/src/components/icon/components/umbrella-icon.tsx +16 -0
  638. package/src/components/icon/components/upload-icon.tsx +16 -0
  639. package/src/components/icon/components/verified-icon.tsx +16 -0
  640. package/src/components/icon/components/video-icon.tsx +16 -0
  641. package/src/components/icon/components/visibility-icon.tsx +20 -0
  642. package/src/components/icon/components/visibility-off-icon.tsx +20 -0
  643. package/src/components/icon/components/voice-icon.tsx +16 -0
  644. package/src/components/icon/components/walk-icon.tsx +16 -0
  645. package/src/components/icon/components/wallet-icon.tsx +16 -0
  646. package/src/components/icon/components/warning-icon.tsx +16 -0
  647. package/src/components/icon/components/watch-icon.tsx +16 -0
  648. package/src/components/icon/components/wearable-icon.tsx +16 -0
  649. package/src/components/icon/components/wheelchair-icon.tsx +20 -0
  650. package/src/components/icon/components/windows-new-icon.tsx +20 -0
  651. package/src/components/icon/components/word-file-icon.tsx +16 -0
  652. package/src/components/icon/components/write-icon.tsx +16 -0
  653. package/src/components/icon/components/yammer-icon.tsx +16 -0
  654. package/src/components/icon/components/youtube-icon.tsx +16 -0
  655. package/src/components/icon/components/zip-file-icon.tsx +16 -0
  656. package/src/components/icon/icon.component.tsx +33 -0
  657. package/src/components/icon/icon.stories.tsx +142 -0
  658. package/src/components/icon/icon.styles.ts +39 -0
  659. package/src/components/icon/icon.types.ts +16 -0
  660. package/src/components/icon/index.ts +178 -0
  661. package/src/components/index.ts +5 -0
  662. package/src/components/skip-link/index.ts +2 -0
  663. package/src/components/skip-link/skip-link.component.tsx +15 -0
  664. package/src/components/skip-link/skip-link.stories.tsx +26 -0
  665. package/src/components/skip-link/skip-link.styles.ts +5 -0
  666. package/src/components/skip-link/skip-link.types.ts +25 -0
  667. package/src/components/visually-hidden/index.ts +2 -0
  668. package/src/components/visually-hidden/visually-hidden.component.tsx +17 -0
  669. package/src/components/visually-hidden/visually-hidden.stories.tsx +28 -0
  670. package/src/components/visually-hidden/visually-hidden.styles.ts +5 -0
  671. package/src/components/visually-hidden/visually-hidden.types.ts +12 -0
  672. package/src/components/well/index.ts +2 -0
  673. package/src/components/well/well.component.tsx +12 -0
  674. package/src/components/well/well.stories.tsx +80 -0
  675. package/src/components/well/well.styles.ts +14 -0
  676. package/src/components/well/well.types.tsx +16 -0
  677. package/src/css/global.css +3 -0
  678. package/src/index.ts +1 -0
  679. package/src/stories/Introduction.mdx +213 -0
  680. package/src/stories/assets/code-brackets.svg +1 -0
  681. package/src/stories/assets/colors.svg +1 -0
  682. package/src/stories/assets/comments.svg +1 -0
  683. package/src/stories/assets/direction.svg +1 -0
  684. package/src/stories/assets/flow.svg +1 -0
  685. package/src/stories/assets/plugin.svg +1 -0
  686. package/src/stories/assets/repo.svg +1 -0
  687. package/src/stories/assets/stackalt.svg +1 -0
  688. package/src/tailwind/__mocks__/utils.contansts.ts +117 -0
  689. package/src/tailwind/constants/breakpoints.ts +8 -0
  690. package/src/tailwind/constants/colors.ts +15 -0
  691. package/src/tailwind/constants/index.ts +4 -0
  692. package/src/tailwind/constants/spacing.ts +7 -0
  693. package/src/tailwind/constants/typography.ts +56 -0
  694. package/src/tailwind/index.ts +5 -0
  695. package/src/tailwind/tailwind-plugin.ts +106 -0
  696. package/src/tailwind/tailwind-transformer.ts +14 -0
  697. package/src/tailwind/themes/bom.ts +23 -0
  698. package/src/tailwind/themes/bsa.ts +23 -0
  699. package/src/tailwind/themes/btfg.ts +23 -0
  700. package/src/tailwind/themes/index.ts +24 -0
  701. package/src/tailwind/themes/rams.ts +23 -0
  702. package/src/tailwind/themes/stg.ts +23 -0
  703. package/src/tailwind/themes/wbc.ts +23 -0
  704. package/src/tailwind/themes/wbg.ts +23 -0
  705. package/src/tailwind/types/brand.types.ts +28 -0
  706. package/src/tailwind/types/index.ts +2 -0
  707. package/src/tailwind/types/theme.types.ts +37 -0
  708. package/src/tailwind/utils/create-font-sizes.ts +12 -0
  709. package/src/tailwind/utils/create-spacing.ts +14 -0
  710. package/src/tailwind/utils/generate-color-shades.ts +27 -0
  711. package/src/tailwind/utils/generate-font-components.ts +22 -0
  712. package/src/tailwind/utils/index.ts +4 -0
  713. package/tailwind.config.ts +12 -0
  714. package/tsconfig.build.json +4 -0
  715. package/tsconfig.json +26 -0
@@ -0,0 +1,142 @@
1
+ import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
+ import { ChangeEvent, useCallback, useMemo, useState } from 'react';
3
+
4
+ import { Icon } from './icon.component.js';
5
+
6
+ import * as AllIcons from './index.js';
7
+
8
+ const AllIconsExample = (props: AllIcons.IconProps) => {
9
+ const [search, setSearch] = useState('');
10
+ const filteredIcons = useMemo(() => {
11
+ return Object.entries(AllIcons).reduce((acc: { Icon: any; key: string }[], [iconName, Icon]) => {
12
+ if (iconName.toUpperCase().indexOf(search.toUpperCase()) === -1) {
13
+ return acc;
14
+ }
15
+ return [...acc, { key: iconName, Icon }];
16
+ }, []);
17
+ }, [search]);
18
+
19
+ const handleOnChange = useCallback(({ target: { value } }: ChangeEvent<HTMLInputElement>) => {
20
+ setSearch(value);
21
+ }, []);
22
+
23
+ const handleOnClick = useCallback(
24
+ async (key: string) => {
25
+ try {
26
+ await navigator.clipboard.writeText(`<${key} />`);
27
+ console.log('Content copied to clipboard');
28
+ } catch (err) {
29
+ console.error('Failed to copy: ', err);
30
+ }
31
+ },
32
+ [props.className],
33
+ );
34
+
35
+ return (
36
+ <div className="flex flex-col gap-2">
37
+ <input
38
+ className="rounded-sm border border-border px-3 py-2"
39
+ onChange={handleOnChange}
40
+ placeholder="e.g: Accessibiliy"
41
+ />
42
+ <div className="flex flex-row flex-wrap justify-center gap-2">
43
+ {filteredIcons.map(({ key, Icon }) => (
44
+ <button
45
+ onClick={() => handleOnClick(key)}
46
+ className="flex h-15 w-23 flex-col items-center justify-center gap-2 border border-border"
47
+ key={key}
48
+ >
49
+ <Icon {...props} />
50
+ <span className="whitespace-pre-wrap text-xs">{`<${key} />`}</span>
51
+ </button>
52
+ ))}
53
+ </div>
54
+ </div>
55
+ );
56
+ };
57
+
58
+ const meta: Meta<typeof Icon> = {
59
+ title: 'Example/Icon',
60
+ component: AllIconsExample,
61
+ tags: ['autodocs'],
62
+ decorators: [
63
+ (Story: StoryFn) => (
64
+ <div style={{ padding: '3rem' }}>
65
+ <Story />
66
+ </div>
67
+ ),
68
+ ],
69
+ parameters: {
70
+ layout: 'fullscreen',
71
+ },
72
+ argTypes: {
73
+ children: {
74
+ description: 'Children',
75
+ type: { name: 'string' },
76
+ },
77
+ copyrightYear: {
78
+ description: 'CopyrightYear',
79
+ type: { name: 'string' },
80
+ },
81
+ size: {
82
+ description: 'size',
83
+ type: { name: 'enum', value: ['xsmall', 'small', 'medium', 'large', 'xlarge'] },
84
+ },
85
+ color: {
86
+ description: 'color',
87
+ type: {
88
+ name: 'enum',
89
+ value: [
90
+ 'success',
91
+ 'info',
92
+ 'warning',
93
+ 'danger',
94
+ 'system',
95
+ 'white',
96
+ 'black',
97
+ 'background',
98
+ 'border',
99
+ 'borderDark',
100
+ 'focus',
101
+ 'heading',
102
+ 'hero',
103
+ 'light',
104
+ 'link',
105
+ 'muted',
106
+ 'neutral',
107
+ 'pop',
108
+ 'primary',
109
+ 'text',
110
+ ],
111
+ },
112
+ },
113
+ },
114
+ };
115
+
116
+ export default meta;
117
+ type Story = StoryObj<typeof meta>;
118
+
119
+ /**
120
+ * > Default usage example
121
+ */
122
+ export const DefaultStory: Story = {
123
+ args: {},
124
+ };
125
+
126
+ /**
127
+ * > With primary color example
128
+ */
129
+ export const WithPrimaryColorStory: Story = {
130
+ args: {
131
+ color: 'primary',
132
+ },
133
+ };
134
+
135
+ /**
136
+ * > With large size example
137
+ */
138
+ export const WithDifferentSizeStory: Story = {
139
+ args: {
140
+ size: 'xlarge',
141
+ },
142
+ };
@@ -0,0 +1,39 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv(
4
+ {
5
+ base: 'rounded transition-colors disabled:pointer-events-none disabled:opacity-50',
6
+ variants: {
7
+ size: {
8
+ xsmall: 'h-2 w-2',
9
+ small: 'h-3 w-3',
10
+ medium: 'h-4 w-4',
11
+ large: 'h-6 w-6',
12
+ xlarge: 'h-8 w-8',
13
+ },
14
+ color: {
15
+ success: 'text-success',
16
+ info: 'text-info',
17
+ warning: 'text-warning',
18
+ danger: 'text-danger',
19
+ system: 'text-system',
20
+ white: 'text-white',
21
+ black: 'text-black',
22
+ background: 'text-background',
23
+ border: 'text-border',
24
+ borderDark: 'text-borderDark',
25
+ focus: 'text-focus',
26
+ heading: 'text-heading',
27
+ hero: 'text-hero',
28
+ light: 'text-light',
29
+ link: 'text-link',
30
+ muted: 'text-muted',
31
+ neutral: 'text-neutral',
32
+ pop: 'text-pop',
33
+ primary: 'text-primary',
34
+ text: 'text-text',
35
+ },
36
+ },
37
+ },
38
+ { responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
39
+ );
@@ -0,0 +1,16 @@
1
+ import { type ReactNode, type SVGAttributes } from 'react';
2
+ import { type VariantProps } from 'tailwind-variants';
3
+
4
+ import { styles } from './icon.styles.js';
5
+
6
+ export type IconProps = SVGAttributes<SVGElement> & {
7
+ /**
8
+ * children prop
9
+ */
10
+ children?: ReactNode;
11
+
12
+ /**
13
+ * The icon SVG metadata copyright year text
14
+ */
15
+ copyrightYear?: string;
16
+ } & VariantProps<typeof styles>;
@@ -0,0 +1,178 @@
1
+ export { AccessibilityIcon } from './components/accessibility-icon.js';
2
+ export { AccountIcon } from './components/account-icon.js';
3
+ export { AddCircleIcon } from './components/add-circle-icon.js';
4
+ export { AddIcon } from './components/add-icon.js';
5
+ export { AlertIcon } from './components/alert-icon.js';
6
+ export { AndroidIcon } from './components/android-icon.js';
7
+ export { AppleIcon } from './components/apple-icon.js';
8
+ export { ArrowLeftIcon } from './components/arrow-left-icon.js';
9
+ export { ArrowRightIcon } from './components/arrow-right-icon.js';
10
+ export { AtmIcon } from './components/atm-icon.js';
11
+ export { AustraliaIcon } from './components/australia-icon.js';
12
+ export { BackspaceIcon } from './components/backspace-icon.js';
13
+ export { BankIcon } from './components/bank-icon.js';
14
+ export { BarChartIcon } from './components/bar-chart-icon.js';
15
+ export { BookIcon } from './components/book-icon.js';
16
+ export { BpayIcon } from './components/bpay-icon.js';
17
+ export { BusinessPersonIcon } from './components/business-person-icon.js';
18
+ export { CafeIcon } from './components/cafe-icon.js';
19
+ export { CalculatorIcon } from './components/calculator-icon.js';
20
+ export { CalendarIcon } from './components/calendar-icon.js';
21
+ export { CameraIcon } from './components/camera-icon.js';
22
+ export { CarIcon } from './components/car-icon.js';
23
+ export { ChatIcon } from './components/chat-icon.js';
24
+ export { ClearCircleIcon } from './components/clear-circle-icon.js';
25
+ export { ClearIcon } from './components/clear-icon.js';
26
+ export { ClockIcon } from './components/clock-icon.js';
27
+ export { CloseIcon } from './components/close-icon.js';
28
+ export { CompassIcon } from './components/compass-icon.js';
29
+ export { ContactIcon } from './components/contact-icon.js';
30
+ export { CopyContentIcon } from './components/copy-content-icon.js';
31
+ export { CreditCardIcon } from './components/credit-card-icon.js';
32
+ export { CubeIcon } from './components/cube-icon.js';
33
+ export { CursorArrowClickIcon } from './components/cursor-arrow-click-icon.js';
34
+ export { CursorArrowDoubleClickIcon } from './components/cursor-arrow-double-click-icon.js';
35
+ export { CursorArrowIcon } from './components/cursor-arrow-icon.js';
36
+ export { CursorArrowRaysIcon } from './components/cursor-arrow-rays-icon.js';
37
+ export { DeleteIcon } from './components/delete-icon.js';
38
+ export { DesktopIcon } from './components/desktop-icon.js';
39
+ export { DollarIcon } from './components/dollar-icon.js';
40
+ export { DownloadFileIcon } from './components/download-file-icon.js';
41
+ export { DownloadIcon } from './components/download-icon.js';
42
+ export { DragIcon } from './components/drag-icon.js';
43
+ export { DropDownIcon } from './components/drop-down-icon.js';
44
+ export { DropUpIcon } from './components/drop-up-icon.js';
45
+ export { DropboxIcon } from './components/dropbox-icon.js';
46
+ export { EditIcon } from './components/edit-icon.js';
47
+ export { EftposIcon } from './components/eftpos-icon.js';
48
+ export { EmailIcon } from './components/email-icon.js';
49
+ export { ErrorIcon } from './components/error-icon.js';
50
+ export { ExcelFileIcon } from './components/excel-file-icon.js';
51
+ export { ExitIcon } from './components/exit-icon.js';
52
+ export { ExpandLessIcon } from './components/expand-less-icon.js';
53
+ export { ExpandMoreIcon } from './components/expand-more-icon.js';
54
+ export { FaceHappyIcon } from './components/face-happy-icon.js';
55
+ export { FacebookIcon } from './components/facebook-icon.js';
56
+ export { FavouriteIcon } from './components/favourite-icon.js';
57
+ export { FilterIcon } from './components/filter-icon.js';
58
+ export { FingerprintIcon } from './components/fingerprint-icon.js';
59
+ export { FutureClockIcon } from './components/future-clock-icon.js';
60
+ export { GelIcon } from './components/gel-icon.js';
61
+ export { GenericFileIcon } from './components/generic-file-icon.js';
62
+ export { GeolocationIcon } from './components/geolocation-icon.js';
63
+ export { GiftIcon } from './components/gift-icon.js';
64
+ export { GithubIcon } from './components/github-icon.js';
65
+ export { GlobalIcon } from './components/global-icon.js';
66
+ export { GooglePlusIcon } from './components/google-plus-icon.js';
67
+ export { GridIcon } from './components/grid-icon.js';
68
+ export { GrowthIcon } from './components/growth-icon.js';
69
+ export { HamburgerMenuIcon } from './components/hamburger-menu-icon.js';
70
+ export { HeadsetIcon } from './components/headset-icon.js';
71
+ export { HelpIcon } from './components/help-icon.js';
72
+ export { HistoryClockIcon } from './components/history-clock-icon.js';
73
+ export { HouseIcon } from './components/house-icon.js';
74
+ export { IdCardIcon } from './components/id-card-icon.js';
75
+ export { ImageSquareIcon } from './components/image-square-icon.js';
76
+ export { InfoIcon } from './components/info-icon.js';
77
+ export { InstagramIcon } from './components/instagram-icon.js';
78
+ export { InvestIcon } from './components/invest-icon.js';
79
+ export { KeyIcon } from './components/key-icon.js';
80
+ export { KeyholeIcon } from './components/keyhole-icon.js';
81
+ export { LightBulbIcon } from './components/light-bulb-icon.js';
82
+ export { LimitIcon } from './components/limit-icon.js';
83
+ export { LinkIcon } from './components/link-icon.js';
84
+ export { LinkedinIcon } from './components/linkedin-icon.js';
85
+ export { ListIcon } from './components/list-icon.js';
86
+ export { LiveChatIcon } from './components/live-chat-icon.js';
87
+ export { MapIcon } from './components/map-icon.js';
88
+ export { MapPinIcon } from './components/map-pin-icon.js';
89
+ export { MessageIcon } from './components/message-icon.js';
90
+ export { MobilePayIcon } from './components/mobile-pay-icon.js';
91
+ export { MoneyInIcon } from './components/money-in-icon.js';
92
+ export { MoneyOutIcon } from './components/money-out-icon.js';
93
+ export { MoreHorizontalIcon } from './components/more-horizontal-icon.js';
94
+ export { MoreVerticalIcon } from './components/more-vertical-icon.js';
95
+ export { MoveFromIcon } from './components/move-from-icon.js';
96
+ export { MoveToIcon } from './components/move-to-icon.js';
97
+ export { NewContentIcon } from './components/new-content-icon.js';
98
+ export { NewWindowIcon } from './components/new-window-icon.js';
99
+ export { NotificationActiveIcon } from './components/notification-active-icon.js';
100
+ export { NotificationIcon } from './components/notification-icon.js';
101
+ export { NotificationOffIcon } from './components/notification-off-icon.js';
102
+ export { OfficeIcon } from './components/office-icon.js';
103
+ export { OpenBrowserIcon } from './components/open-browser-icon.js';
104
+ export { PadlockIcon } from './components/padlock-icon.js';
105
+ export { PadlockOpenIcon } from './components/padlock-open-icon.js';
106
+ export { PauseCircleIcon } from './components/pause-circle-icon.js';
107
+ export { PauseIcon } from './components/pause-icon.js';
108
+ export { PayIcon } from './components/pay-icon.js';
109
+ export { PayToMobileIcon } from './components/pay-to-mobile-icon.js';
110
+ export { PaypassIcon } from './components/paypass-icon.js';
111
+ export { PdfFileIcon } from './components/pdf-file-icon.js';
112
+ export { PendingIcon } from './components/pending-icon.js';
113
+ export { PeopleIcon } from './components/people-icon.js';
114
+ export { PercentIcon } from './components/percent-icon.js';
115
+ export { PersonIcon } from './components/person-icon.js';
116
+ export { PhoneIcon } from './components/phone-icon.js';
117
+ export { PieChartIcon } from './components/pie-chart-icon.js';
118
+ export { PlaneIcon } from './components/plane-icon.js';
119
+ export { PlayCircleIcon } from './components/play-circle-icon.js';
120
+ export { PlayIcon } from './components/play-icon.js';
121
+ export { PresetsIcon } from './components/presets-icon.js';
122
+ export { PrintIcon } from './components/print-icon.js';
123
+ export { ProgressIcon } from './components/progress-icon.js';
124
+ export { QuickBalanceIcon } from './components/quick-balance-icon.js';
125
+ export { ReceiptIcon } from './components/receipt-icon.js';
126
+ export { RefreshIcon } from './components/refresh-icon.js';
127
+ export { RemoveCircleIcon } from './components/remove-circle-icon.js';
128
+ export { RemoveIcon } from './components/remove-icon.js';
129
+ export { RssIcon } from './components/rss-icon.js';
130
+ export { SdStorageIcon } from './components/sd-storage-icon.js';
131
+ export { SearchIcon } from './components/search-icon.js';
132
+ export { SecurityIcon } from './components/security-icon.js';
133
+ export { ServiceBellIcon } from './components/service-bell-icon.js';
134
+ export { SettingsIcon } from './components/settings-icon.js';
135
+ export { ShareIcon } from './components/share-icon.js';
136
+ export { ShareIosIcon } from './components/share-ios-icon.js';
137
+ export { ShopIcon } from './components/shop-icon.js';
138
+ export { SimCardIcon } from './components/sim-card-icon.js';
139
+ export { SlackIcon } from './components/slack-icon.js';
140
+ export { SmsIcon } from './components/sms-icon.js';
141
+ export { StarEmptyIcon } from './components/star-empty-icon.js';
142
+ export { StarHalfIcon } from './components/star-half-icon.js';
143
+ export { StarIcon } from './components/star-icon.js';
144
+ export { StopwatchIcon } from './components/stopwatch-icon.js';
145
+ export { SuccessIcon } from './components/success-icon.js';
146
+ export { SuperIcon } from './components/super-icon.js';
147
+ export { SwitchIcon } from './components/switch-icon.js';
148
+ export { TabletIcon } from './components/tablet-icon.js';
149
+ export { TakeOutIcon } from './components/take-out-icon.js';
150
+ export { TelephoneIcon } from './components/telephone-icon.js';
151
+ export { ThumbDownIcon } from './components/thumb-down-icon.js';
152
+ export { ThumbUpIcon } from './components/thumb-up-icon.js';
153
+ export { TickCircleIcon } from './components/tick-circle-icon.js';
154
+ export { TickIcon } from './components/tick-icon.js';
155
+ export { TransferIcon } from './components/transfer-icon.js';
156
+ export { TransportIcon } from './components/transport-icon.js';
157
+ export { TwitterIcon } from './components/twitter-icon.js';
158
+ export { UmbrellaIcon } from './components/umbrella-icon.js';
159
+ export { UploadIcon } from './components/upload-icon.js';
160
+ export { VerifiedIcon } from './components/verified-icon.js';
161
+ export { VideoIcon } from './components/video-icon.js';
162
+ export { VisibilityIcon } from './components/visibility-icon.js';
163
+ export { VisibilityOffIcon } from './components/visibility-off-icon.js';
164
+ export { VoiceIcon } from './components/voice-icon.js';
165
+ export { WalkIcon } from './components/walk-icon.js';
166
+ export { WalletIcon } from './components/wallet-icon.js';
167
+ export { WarningIcon } from './components/warning-icon.js';
168
+ export { WatchIcon } from './components/watch-icon.js';
169
+ export { WearableIcon } from './components/wearable-icon.js';
170
+ export { WheelchairIcon } from './components/wheelchair-icon.js';
171
+ export { WindowsNewIcon } from './components/windows-new-icon.js';
172
+ export { WordFileIcon } from './components/word-file-icon.js';
173
+ export { WriteIcon } from './components/write-icon.js';
174
+ export { YammerIcon } from './components/yammer-icon.js';
175
+ export { YoutubeIcon } from './components/youtube-icon.js';
176
+ export { ZipFileIcon } from './components/zip-file-icon.js';
177
+
178
+ export { type IconProps } from './icon.types.js';
@@ -0,0 +1,5 @@
1
+ export * from './skip-link/index.js';
2
+ export * from './visually-hidden/index.js';
3
+ export * from './button/index.js';
4
+ export * from './well/index.js';
5
+ export * from './icon/index.js';
@@ -0,0 +1,2 @@
1
+ export { SkipLink } from './skip-link.component.js';
2
+ export { type SkipLinkProps } from './skip-link.types.js';
@@ -0,0 +1,15 @@
1
+ import React, { forwardRef } from 'react';
2
+
3
+ import { styles } from './skip-link.styles.js';
4
+ import { type SkipLinkProps } from './skip-link.types.js';
5
+
6
+ function BaseSkipLink({ className, tag: Tag = 'a', children, ...props }: SkipLinkProps, ref: any) {
7
+ return (
8
+ <Tag {...({ ref } as any)} className={styles({ className })} {...props}>
9
+ {children}
10
+ </Tag>
11
+ );
12
+ }
13
+
14
+ export const SkipLink = forwardRef(BaseSkipLink);
15
+ SkipLink.displayName = 'SkipLink';
@@ -0,0 +1,26 @@
1
+ import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
+
3
+ import { SkipLink } from './skip-link.component.js';
4
+
5
+ const meta: Meta<typeof SkipLink> = {
6
+ title: 'Example/SkipLink',
7
+ component: SkipLink,
8
+ tags: ['autodocs'],
9
+ decorators: [(Story: StoryFn) => <Story />],
10
+ parameters: {
11
+ layout: 'center',
12
+ },
13
+ };
14
+
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+
18
+ /**
19
+ * > Default usage example
20
+ */
21
+ export const DefaultStory: Story = {
22
+ args: {
23
+ children: 'This is a text only for screen reader',
24
+ href: '#batata',
25
+ },
26
+ };
@@ -0,0 +1,5 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv({
4
+ base: 'sr-only focus:not-sr-only focus:fixed focus:inset-x-0 focus:top-0 focus:bg-white focus:p-3 focus:text-center focus:text-xl focus:text-link focus:underline focus:-outline-offset-2 focus:outline-focus',
5
+ });
@@ -0,0 +1,25 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { type VariantProps } from 'tailwind-variants';
3
+
4
+ import { styles } from './skip-link.styles.js';
5
+
6
+ export type SkipLinkProps = (
7
+ | {
8
+ /**
9
+ * Tag to render
10
+ */
11
+ tag?: keyof Omit<JSX.IntrinsicElements, 'a'>;
12
+ }
13
+ | {
14
+ /**
15
+ * href
16
+ */
17
+ href: string;
18
+ /**
19
+ * Tag to render
20
+ */
21
+ tag?: keyof Pick<JSX.IntrinsicElements, 'a'>;
22
+ }
23
+ ) &
24
+ VariantProps<typeof styles> &
25
+ HTMLAttributes<Element>;
@@ -0,0 +1,2 @@
1
+ export { VisuallyHidden } from './visually-hidden.component.js';
2
+ export { type VisuallyHiddenProps } from './visually-hidden.types.js';
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+
3
+ import { styles } from './visually-hidden.styles.js';
4
+ import { type VisuallyHiddenProps } from './visually-hidden.types.js';
5
+
6
+ export function VisuallyHidden({ className, tag: Tag = 'div', children, ...props }: VisuallyHiddenProps) {
7
+ return (
8
+ <Tag
9
+ className={styles({
10
+ className,
11
+ })}
12
+ {...props}
13
+ >
14
+ {children}
15
+ </Tag>
16
+ );
17
+ }
@@ -0,0 +1,28 @@
1
+ import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
+
3
+ import { VisuallyHidden } from './visually-hidden.component.js';
4
+
5
+ const meta: Meta<typeof VisuallyHidden> = {
6
+ title: 'Example/VisuallyHidden',
7
+ component: VisuallyHidden,
8
+ tags: ['autodocs'],
9
+ decorators: [(Story: StoryFn) => <Story />],
10
+ parameters: {
11
+ layout: 'center',
12
+ },
13
+ };
14
+
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+
18
+ /**
19
+ * > Default usage example
20
+ *
21
+ * Note: The examples below the following headings are visibility hidden.
22
+ * Best you inspect what is being rendered using your browser’s DevTools.
23
+ */
24
+ export const DefaultStory: Story = {
25
+ args: {
26
+ children: 'Only screen reader can read this',
27
+ },
28
+ };
@@ -0,0 +1,5 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv({
4
+ base: 'sr-only',
5
+ });
@@ -0,0 +1,12 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { type VariantProps } from 'tailwind-variants';
3
+
4
+ import { styles } from './visually-hidden.styles.js';
5
+
6
+ export type VisuallyHiddenProps = {
7
+ /**
8
+ * Tag to render
9
+ */
10
+ tag?: keyof JSX.IntrinsicElements;
11
+ } & VariantProps<typeof styles> &
12
+ HTMLAttributes<Element>;
@@ -0,0 +1,2 @@
1
+ export { Well } from './well.component.js';
2
+ export { type WellProps } from './well.types.js';
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+
3
+ import { styles } from './well.styles.js';
4
+ import { type WellProps } from './well.types.js';
5
+
6
+ export function Well({ tag: Tag = 'div', color = 'light', children, className, ...props }: WellProps) {
7
+ return (
8
+ <Tag className={styles({ color, className })} {...props}>
9
+ {children}
10
+ </Tag>
11
+ );
12
+ }
@@ -0,0 +1,80 @@
1
+ import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
+
3
+ import { Well } from './well.component.js';
4
+
5
+ const meta: Meta<typeof Well> = {
6
+ title: 'Example/Well',
7
+ component: Well,
8
+ tags: ['autodocs'],
9
+ decorators: [
10
+ (Story: StoryFn) => (
11
+ <div style={{ padding: '3rem' }}>
12
+ <Story />
13
+ </div>
14
+ ),
15
+ ],
16
+ parameters: {
17
+ layout: 'fullscreen',
18
+ },
19
+ };
20
+
21
+ export default meta;
22
+ type Story = StoryObj<typeof meta>;
23
+
24
+ /**
25
+ * > Default usage example
26
+ */
27
+ export const DefaultUsage: Story = {
28
+ args: {
29
+ children: "Look, I'm in a well",
30
+ },
31
+ };
32
+
33
+ /**
34
+ * > Nested usage example
35
+ */
36
+ export const NestedUsage: Story = {
37
+ args: {
38
+ children: (
39
+ <>
40
+ I am outside
41
+ <Well color="white">I am inside</Well>
42
+ </>
43
+ ),
44
+ },
45
+ };
46
+
47
+ /**
48
+ * > Tag as <article>
49
+ */
50
+ export const CustomTagUsage: Story = {
51
+ args: {
52
+ tag: 'article',
53
+ children: "Look, I'm in a well",
54
+ },
55
+ };
56
+
57
+ /**
58
+ * > Nested tag as <article>
59
+ */
60
+ export const CustomTagNestedUsage: Story = {
61
+ args: {
62
+ tag: 'article',
63
+ children: (
64
+ <>
65
+ I am outside
66
+ <Well color="white">I am inside</Well>
67
+ </>
68
+ ),
69
+ },
70
+ };
71
+
72
+ /**
73
+ * > Tag as <aside> with child <san>, passed as a component
74
+ */
75
+ export const ComplexCustomTagNestedUsage: Story = {
76
+ args: {
77
+ tag: 'aside',
78
+ children: <span>Look, I'm in a well</span>,
79
+ },
80
+ };
@@ -0,0 +1,14 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv(
4
+ {
5
+ base: 'rounded border border-border p-2 sm:p-4',
6
+ variants: {
7
+ color: {
8
+ light: 'bg-light',
9
+ white: 'bg-white',
10
+ },
11
+ },
12
+ },
13
+ { responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
14
+ );
@@ -0,0 +1,16 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { type VariantProps } from 'tailwind-variants';
3
+
4
+ import { styles } from './well.styles.js';
5
+
6
+ export type WellProps = {
7
+ /**
8
+ * Well's content
9
+ */
10
+ children: ReactNode;
11
+ /**
12
+ * Tag to render
13
+ */
14
+ tag?: keyof JSX.IntrinsicElements;
15
+ } & HTMLAttributes<Element> &
16
+ VariantProps<typeof styles>;