@westpac/ui 0.3.0 → 0.5.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 (909) hide show
  1. package/.storybook/main.ts +5 -0
  2. package/CHANGELOG.md +12 -0
  3. package/dist/components/accordion/accordion.component.d.ts +2 -2
  4. package/dist/components/accordion/accordion.stories.js +1 -1
  5. package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +4 -4
  6. package/dist/components/alert/alert.component.js +2 -1
  7. package/dist/components/alert/alert.styles.js +2 -2
  8. package/dist/components/autocomplete/autocomplete.component.d.ts +6 -0
  9. package/dist/components/autocomplete/autocomplete.component.js +94 -0
  10. package/dist/components/autocomplete/autocomplete.stories.d.ts +29 -0
  11. package/dist/components/autocomplete/autocomplete.stories.js +200 -0
  12. package/dist/components/autocomplete/autocomplete.styles.d.ts +87 -0
  13. package/dist/components/autocomplete/autocomplete.styles.js +55 -0
  14. package/dist/components/autocomplete/autocomplete.types.d.ts +16 -0
  15. package/dist/components/autocomplete/autocomplete.types.js +1 -0
  16. package/dist/components/autocomplete/components/index.d.ts +2 -0
  17. package/dist/components/autocomplete/components/index.js +2 -0
  18. package/dist/components/autocomplete/components/list-box/components/index.d.ts +2 -0
  19. package/dist/components/autocomplete/components/list-box/components/index.js +2 -0
  20. package/dist/components/autocomplete/components/list-box/components/list-box-option/index.d.ts +2 -0
  21. package/dist/components/autocomplete/components/list-box/components/list-box-option/index.js +1 -0
  22. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.d.ts +9 -0
  23. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.js +31 -0
  24. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.d.ts +23 -0
  25. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.js +23 -0
  26. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.d.ts +6 -0
  27. package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.js +1 -0
  28. package/dist/components/autocomplete/components/list-box/components/list-box-section/index.d.ts +2 -0
  29. package/dist/components/autocomplete/components/list-box/components/list-box-section/index.js +1 -0
  30. package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.d.ts +3 -0
  31. package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.js +34 -0
  32. package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.d.ts +6 -0
  33. package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.js +1 -0
  34. package/dist/components/autocomplete/components/list-box/index.d.ts +2 -0
  35. package/dist/components/autocomplete/components/list-box/index.js +1 -0
  36. package/dist/components/autocomplete/components/list-box/list-box.component.d.ts +3 -0
  37. package/dist/components/autocomplete/components/list-box/list-box.component.js +36 -0
  38. package/dist/components/autocomplete/components/list-box/list-box.types.d.ts +7 -0
  39. package/dist/components/autocomplete/components/list-box/list-box.types.js +1 -0
  40. package/dist/components/autocomplete/components/popover/index.d.ts +2 -0
  41. package/dist/components/autocomplete/components/popover/index.js +1 -0
  42. package/dist/components/autocomplete/components/popover/popover.component.d.ts +3 -0
  43. package/dist/components/autocomplete/components/popover/popover.component.js +43 -0
  44. package/dist/components/autocomplete/components/popover/popover.types.d.ts +25 -0
  45. package/dist/components/autocomplete/components/popover/popover.types.js +1 -0
  46. package/dist/components/autocomplete/index.d.ts +2 -0
  47. package/dist/components/autocomplete/index.js +1 -0
  48. package/dist/components/badge/badge.stories.js +1 -1
  49. package/dist/components/breadcrumb/breadcrumb.stories.js +1 -1
  50. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.stories.js +1 -1
  51. package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.styles.js +1 -1
  52. package/dist/components/button/button.component.d.ts +5 -0
  53. package/dist/components/button/button.component.js +5 -3
  54. package/dist/components/button/button.stories.js +1 -1
  55. package/dist/components/button/button.styles.d.ts +2 -0
  56. package/dist/components/button/button.styles.js +5 -4
  57. package/dist/components/button/button.types.d.ts +6 -0
  58. package/dist/components/button-dropdown/button-dropdown.component.d.ts +6 -0
  59. package/dist/components/button-dropdown/button-dropdown.component.js +74 -0
  60. package/dist/components/button-dropdown/button-dropdown.stories.d.ts +38 -0
  61. package/dist/components/button-dropdown/button-dropdown.stories.js +104 -0
  62. package/dist/components/button-dropdown/button-dropdown.styles.d.ts +43 -0
  63. package/dist/components/button-dropdown/button-dropdown.styles.js +33 -0
  64. package/dist/components/button-dropdown/button-dropdown.types.d.ts +22 -0
  65. package/dist/components/button-dropdown/button-dropdown.types.js +1 -0
  66. package/dist/components/button-dropdown/components/heading/heading.component.d.ts +3 -0
  67. package/dist/components/button-dropdown/components/heading/heading.component.js +24 -0
  68. package/dist/components/button-dropdown/components/heading/heading.styles.d.ts +7 -0
  69. package/dist/components/button-dropdown/components/heading/heading.styles.js +15 -0
  70. package/dist/components/button-dropdown/components/heading/heading.types.d.ts +7 -0
  71. package/dist/components/button-dropdown/components/heading/heading.types.js +1 -0
  72. package/dist/components/button-dropdown/components/heading/index.d.ts +2 -0
  73. package/dist/components/button-dropdown/components/heading/index.js +1 -0
  74. package/dist/components/button-dropdown/components/panel/index.d.ts +2 -0
  75. package/dist/components/button-dropdown/components/panel/index.js +1 -0
  76. package/dist/components/button-dropdown/components/panel/panel.component.d.ts +3 -0
  77. package/dist/components/button-dropdown/components/panel/panel.component.js +61 -0
  78. package/dist/components/button-dropdown/components/panel/panel.styles.d.ts +9 -0
  79. package/dist/components/button-dropdown/components/panel/panel.styles.js +16 -0
  80. package/dist/components/button-dropdown/components/panel/panel.types.d.ts +10 -0
  81. package/dist/components/button-dropdown/components/panel/panel.types.js +1 -0
  82. package/dist/components/button-dropdown/index.d.ts +2 -0
  83. package/dist/components/button-dropdown/index.js +1 -0
  84. package/dist/components/button-group/button-group.stories.js +1 -1
  85. package/dist/components/button-group/components/button/button.stories.js +1 -1
  86. package/dist/components/checkbox-group/checkbox-group.stories.js +1 -1
  87. package/dist/components/checkbox-group/components/checkbox/checkbox.stories.js +1 -1
  88. package/dist/components/circle/circle.component.d.ts +3 -0
  89. package/dist/components/circle/circle.component.js +23 -0
  90. package/dist/components/circle/circle.stories.d.ts +9 -0
  91. package/dist/components/circle/circle.stories.js +20 -0
  92. package/dist/components/circle/circle.styles.d.ts +3 -0
  93. package/dist/components/circle/circle.styles.js +13 -0
  94. package/dist/components/circle/circle.types.d.ts +9 -0
  95. package/dist/components/circle/circle.types.js +1 -0
  96. package/dist/components/circle/index.d.ts +2 -0
  97. package/dist/components/circle/index.js +1 -0
  98. package/dist/components/collapsible/collapsible.component.d.ts +3 -0
  99. package/dist/components/collapsible/collapsible.component.js +68 -0
  100. package/dist/components/collapsible/collapsible.stories.d.ts +18 -0
  101. package/dist/components/collapsible/collapsible.stories.js +52 -0
  102. package/dist/components/collapsible/collapsible.styles.d.ts +21 -0
  103. package/dist/components/collapsible/collapsible.styles.js +22 -0
  104. package/dist/components/collapsible/collapsible.types.d.ts +16 -0
  105. package/dist/components/collapsible/collapsible.types.js +1 -0
  106. package/dist/components/collapsible/collapsible.utils.d.ts +2 -0
  107. package/dist/components/collapsible/collapsible.utils.js +2 -0
  108. package/dist/components/collapsible/index.d.ts +2 -0
  109. package/dist/components/collapsible/index.js +1 -0
  110. package/dist/components/compacta/compacta.component.d.ts +3 -0
  111. package/dist/components/compacta/compacta.component.js +252 -0
  112. package/dist/components/compacta/compacta.stories.d.ts +9 -0
  113. package/dist/components/compacta/compacta.stories.js +57 -0
  114. package/dist/components/compacta/compacta.styles.d.ts +37 -0
  115. package/dist/components/compacta/compacta.styles.js +44 -0
  116. package/dist/components/compacta/compacta.types.d.ts +22 -0
  117. package/dist/components/compacta/compacta.types.js +1 -0
  118. package/dist/components/compacta/compacta.utils.d.ts +3 -0
  119. package/dist/components/compacta/compacta.utils.js +8 -0
  120. package/dist/components/compacta/index.d.ts +2 -0
  121. package/dist/components/compacta/index.js +1 -0
  122. package/dist/components/date-picker/date-picker.component.d.ts +3 -0
  123. package/dist/components/date-picker/date-picker.component.js +139 -0
  124. package/dist/components/date-picker/date-picker.stories.d.ts +17 -0
  125. package/dist/components/date-picker/date-picker.stories.js +64 -0
  126. package/dist/components/date-picker/date-picker.styles.d.ts +17 -0
  127. package/dist/components/date-picker/date-picker.styles.js +20 -0
  128. package/dist/components/date-picker/date-picker.types.d.ts +33 -0
  129. package/dist/components/date-picker/date-picker.types.js +1 -0
  130. package/dist/components/date-picker/date-picker.utils.d.ts +25 -0
  131. package/dist/components/date-picker/date-picker.utils.js +56 -0
  132. package/dist/components/date-picker/index.d.ts +2 -0
  133. package/dist/components/date-picker/index.js +1 -0
  134. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.d.ts +4 -0
  135. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.js +24 -0
  136. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.d.ts +15 -0
  137. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.js +19 -0
  138. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.d.ts +17 -0
  139. package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.js +1 -0
  140. package/dist/components/flexi-cell/components/flexi-cell-adornment/index.d.ts +2 -0
  141. package/dist/components/flexi-cell/components/flexi-cell-adornment/index.js +2 -0
  142. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.d.ts +4 -0
  143. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.js +23 -0
  144. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.d.ts +3 -0
  145. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.js +13 -0
  146. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.d.ts +34 -0
  147. package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.js +1 -0
  148. package/dist/components/flexi-cell/components/flexi-cell-body/index.d.ts +2 -0
  149. package/dist/components/flexi-cell/components/flexi-cell-body/index.js +2 -0
  150. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.d.ts +4 -0
  151. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.js +25 -0
  152. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.d.ts +3 -0
  153. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.js +13 -0
  154. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.d.ts +2 -0
  155. package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.js +1 -0
  156. package/dist/components/flexi-cell/components/flexi-cell-button/index.d.ts +2 -0
  157. package/dist/components/flexi-cell/components/flexi-cell-button/index.js +2 -0
  158. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.d.ts +4 -0
  159. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.js +24 -0
  160. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.d.ts +3 -0
  161. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.js +13 -0
  162. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.d.ts +2 -0
  163. package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.js +1 -0
  164. package/dist/components/flexi-cell/components/flexi-cell-circle/index.d.ts +2 -0
  165. package/dist/components/flexi-cell/components/flexi-cell-circle/index.js +2 -0
  166. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.d.ts +4 -0
  167. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.js +23 -0
  168. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.d.ts +3 -0
  169. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.js +13 -0
  170. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.d.ts +11 -0
  171. package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.js +1 -0
  172. package/dist/components/flexi-cell/components/flexi-cell-footer/index.d.ts +2 -0
  173. package/dist/components/flexi-cell/components/flexi-cell-footer/index.js +2 -0
  174. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.d.ts +4 -0
  175. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.js +24 -0
  176. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.d.ts +13 -0
  177. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.js +18 -0
  178. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.d.ts +17 -0
  179. package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.js +1 -0
  180. package/dist/components/flexi-cell/components/flexi-cell-hint/index.d.ts +2 -0
  181. package/dist/components/flexi-cell/components/flexi-cell-hint/index.js +2 -0
  182. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.d.ts +4 -0
  183. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.js +24 -0
  184. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.d.ts +13 -0
  185. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.js +18 -0
  186. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.d.ts +21 -0
  187. package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.js +1 -0
  188. package/dist/components/flexi-cell/components/flexi-cell-label/index.d.ts +2 -0
  189. package/dist/components/flexi-cell/components/flexi-cell-label/index.js +2 -0
  190. package/dist/components/flexi-cell/components/index.d.ts +7 -0
  191. package/dist/components/flexi-cell/components/index.js +7 -0
  192. package/dist/components/flexi-cell/flexi-cell.component.d.ts +12 -0
  193. package/dist/components/flexi-cell/flexi-cell.component.js +51 -0
  194. package/dist/components/flexi-cell/flexi-cell.stories.d.ts +26 -0
  195. package/dist/components/flexi-cell/flexi-cell.stories.js +764 -0
  196. package/dist/components/flexi-cell/flexi-cell.styles.d.ts +37 -0
  197. package/dist/components/flexi-cell/flexi-cell.styles.js +30 -0
  198. package/dist/components/flexi-cell/flexi-cell.types.d.ts +65 -0
  199. package/dist/components/flexi-cell/flexi-cell.types.js +1 -0
  200. package/dist/components/flexi-cell/index.d.ts +3 -0
  201. package/dist/components/flexi-cell/index.js +2 -0
  202. package/dist/components/form/components/error-message/error-message.component.d.ts +3 -0
  203. package/dist/components/form/components/error-message/error-message.component.js +42 -0
  204. package/dist/components/form/components/error-message/error-message.styles.d.ts +25 -0
  205. package/dist/components/form/components/error-message/error-message.styles.js +8 -0
  206. package/dist/components/form/components/error-message/error-message.types.d.ts +17 -0
  207. package/dist/components/form/components/error-message/error-message.types.js +1 -0
  208. package/dist/components/form/components/error-message/index.d.ts +2 -0
  209. package/dist/components/form/components/error-message/index.js +1 -0
  210. package/dist/components/form/components/form-chit-chat/form-chit-chat.component.d.ts +3 -0
  211. package/dist/components/form/components/form-chit-chat/form-chit-chat.component.js +23 -0
  212. package/dist/components/form/components/form-chit-chat/form-chit-chat.styles.d.ts +5 -0
  213. package/dist/components/form/components/form-chit-chat/form-chit-chat.styles.js +4 -0
  214. package/dist/components/form/components/form-chit-chat/form-chit-chat.types.d.ts +9 -0
  215. package/dist/components/form/components/form-chit-chat/form-chit-chat.types.js +1 -0
  216. package/dist/components/form/components/form-chit-chat/index.d.ts +2 -0
  217. package/dist/components/form/components/form-chit-chat/index.js +1 -0
  218. package/dist/components/form/components/form-group/form-group.component.d.ts +3 -0
  219. package/dist/components/form/components/form-group/form-group.component.js +27 -0
  220. package/dist/components/form/components/form-group/form-group.styles.d.ts +21 -0
  221. package/dist/components/form/components/form-group/form-group.styles.js +22 -0
  222. package/dist/components/form/components/form-group/form-group.types.d.ts +9 -0
  223. package/dist/components/form/components/form-group/form-group.types.js +1 -0
  224. package/dist/components/form/components/form-group/index.d.ts +2 -0
  225. package/dist/components/form/components/form-group/index.js +1 -0
  226. package/dist/components/form/components/form-hint/form-hint.component.d.ts +3 -0
  227. package/dist/components/form/components/form-hint/form-hint.component.js +26 -0
  228. package/dist/components/form/components/form-hint/form-hint.styles.d.ts +13 -0
  229. package/dist/components/form/components/form-hint/form-hint.styles.js +18 -0
  230. package/dist/components/form/components/form-hint/form-hint.types.d.ts +9 -0
  231. package/dist/components/form/components/form-hint/form-hint.types.js +1 -0
  232. package/dist/components/form/components/form-hint/index.d.ts +2 -0
  233. package/dist/components/form/components/form-hint/index.js +1 -0
  234. package/dist/components/form/components/form-label/form-label.component.d.ts +3 -0
  235. package/dist/components/form/components/form-label/form-label.component.js +29 -0
  236. package/dist/components/form/components/form-label/form-label.styles.d.ts +21 -0
  237. package/dist/components/form/components/form-label/form-label.styles.js +44 -0
  238. package/dist/components/form/components/form-label/form-label.types.d.ts +26 -0
  239. package/dist/components/form/components/form-label/form-label.types.js +1 -0
  240. package/dist/components/form/components/form-label/index.d.ts +2 -0
  241. package/dist/components/form/components/form-label/index.js +1 -0
  242. package/dist/components/form/components/form-section/form-section.component.d.ts +3 -0
  243. package/dist/components/form/components/form-section/form-section.component.js +24 -0
  244. package/dist/components/form/components/form-section/form-section.styles.d.ts +13 -0
  245. package/dist/components/form/components/form-section/form-section.styles.js +18 -0
  246. package/dist/components/form/components/form-section/form-section.types.d.ts +9 -0
  247. package/dist/components/form/components/form-section/form-section.types.js +1 -0
  248. package/dist/components/form/components/form-section/index.d.ts +2 -0
  249. package/dist/components/form/components/form-section/index.js +1 -0
  250. package/dist/components/form/components/index.d.ts +6 -0
  251. package/dist/components/form/components/index.js +6 -0
  252. package/dist/components/form/form.component.d.ts +13 -0
  253. package/dist/components/form/form.component.js +33 -0
  254. package/dist/components/form/form.stories.d.ts +21 -0
  255. package/dist/components/form/form.stories.js +106 -0
  256. package/dist/components/form/form.types.d.ts +7 -0
  257. package/dist/components/form/form.types.js +1 -0
  258. package/dist/components/form/index.d.ts +2 -0
  259. package/dist/components/form/index.js +1 -0
  260. package/dist/components/icon/index.d.ts +1 -0
  261. package/dist/components/icon/index.js +1 -0
  262. package/dist/components/index.d.ts +17 -0
  263. package/dist/components/index.js +17 -0
  264. package/dist/components/input/input.component.d.ts +5 -3
  265. package/dist/components/input/input.component.js +2 -1
  266. package/dist/components/input/input.stories.js +1 -1
  267. package/dist/components/input/input.styles.d.ts +1 -1
  268. package/dist/components/input/input.styles.js +5 -5
  269. package/dist/components/input/input.types.d.ts +3 -1
  270. package/dist/components/input-field/components/add-ons/add-ons.component.d.ts +3 -0
  271. package/dist/components/input-field/components/add-ons/add-ons.component.js +39 -0
  272. package/dist/components/input-field/components/add-ons/add-ons.styles.d.ts +21 -0
  273. package/dist/components/input-field/components/add-ons/add-ons.styles.js +34 -0
  274. package/dist/components/input-field/components/add-ons/add-ons.types.d.ts +50 -0
  275. package/dist/components/input-field/components/add-ons/add-ons.types.js +5 -0
  276. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.d.ts +3 -0
  277. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.js +23 -0
  278. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.d.ts +5 -0
  279. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.js +4 -0
  280. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.d.ts +5 -0
  281. package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.js +1 -0
  282. package/dist/components/input-field/components/add-ons/components/default-add-on/index.d.ts +2 -0
  283. package/dist/components/input-field/components/add-ons/components/default-add-on/index.js +1 -0
  284. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.d.ts +3 -0
  285. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.js +25 -0
  286. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.d.ts +25 -0
  287. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.js +66 -0
  288. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.d.ts +5 -0
  289. package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.js +1 -0
  290. package/dist/components/input-field/components/add-ons/components/icon-add-on/index.d.ts +2 -0
  291. package/dist/components/input-field/components/add-ons/components/icon-add-on/index.js +1 -0
  292. package/dist/components/input-field/components/add-ons/components/index.d.ts +3 -0
  293. package/dist/components/input-field/components/add-ons/components/index.js +3 -0
  294. package/dist/components/input-field/components/add-ons/components/text-add-on/index.d.ts +2 -0
  295. package/dist/components/input-field/components/add-ons/components/text-add-on/index.js +1 -0
  296. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.d.ts +3 -0
  297. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.js +26 -0
  298. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.d.ts +25 -0
  299. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.js +24 -0
  300. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.d.ts +5 -0
  301. package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.js +1 -0
  302. package/dist/components/input-field/components/add-ons/index.d.ts +2 -0
  303. package/dist/components/input-field/components/add-ons/index.js +2 -0
  304. package/dist/components/input-field/components/index.d.ts +1 -0
  305. package/dist/components/input-field/components/index.js +1 -0
  306. package/dist/components/input-field/components/supporting-text/index.d.ts +2 -0
  307. package/dist/components/input-field/components/supporting-text/index.js +1 -0
  308. package/dist/components/input-field/components/supporting-text/supporting-text.component.d.ts +3 -0
  309. package/dist/components/input-field/components/supporting-text/supporting-text.component.js +23 -0
  310. package/dist/components/input-field/components/supporting-text/supporting-text.styles.d.ts +5 -0
  311. package/dist/components/input-field/components/supporting-text/supporting-text.styles.js +4 -0
  312. package/dist/components/input-field/components/supporting-text/supporting-text.types.d.ts +9 -0
  313. package/dist/components/input-field/components/supporting-text/supporting-text.types.js +1 -0
  314. package/dist/components/input-field/index.d.ts +2 -0
  315. package/dist/components/input-field/index.js +1 -0
  316. package/dist/components/input-field/input-field.component.d.ts +3 -0
  317. package/dist/components/input-field/input-field.component.js +132 -0
  318. package/dist/components/input-field/input-field.scenarios.stories.d.ts +26 -0
  319. package/dist/components/input-field/input-field.scenarios.stories.js +152 -0
  320. package/dist/components/input-field/input-field.sizes.stories.d.ts +9 -0
  321. package/dist/components/input-field/input-field.sizes.stories.js +94 -0
  322. package/dist/components/input-field/input-field.state.stories.d.ts +17 -0
  323. package/dist/components/input-field/input-field.state.stories.js +130 -0
  324. package/dist/components/input-field/input-field.stories.d.ts +21 -0
  325. package/dist/components/input-field/input-field.stories.js +64 -0
  326. package/dist/components/input-field/input-field.styles.d.ts +37 -0
  327. package/dist/components/input-field/input-field.styles.js +52 -0
  328. package/dist/components/input-field/input-field.type.stories.d.ts +37 -0
  329. package/dist/components/input-field/input-field.type.stories.js +189 -0
  330. package/dist/components/input-field/input-field.types.d.ts +65 -0
  331. package/dist/components/input-field/input-field.types.js +1 -0
  332. package/dist/components/link/link.component.d.ts +1 -1
  333. package/dist/components/link/link.stories.js +1 -1
  334. package/dist/components/link/link.styles.js +3 -3
  335. package/dist/components/list/components/item/index.d.ts +2 -0
  336. package/dist/components/list/components/item/index.js +1 -0
  337. package/dist/components/list/components/item/item.component.d.ts +11 -0
  338. package/dist/components/list/components/item/item.component.js +68 -0
  339. package/dist/components/list/components/item/item.styles.d.ts +137 -0
  340. package/dist/components/list/components/item/item.styles.js +90 -0
  341. package/dist/components/list/components/item/item.types.d.ts +28 -0
  342. package/dist/components/list/components/item/item.types.js +1 -0
  343. package/dist/components/list/index.d.ts +2 -0
  344. package/dist/components/list/index.js +1 -0
  345. package/dist/components/list/list.component.d.ts +14 -0
  346. package/dist/components/list/list.component.js +54 -0
  347. package/dist/components/list/list.stories.d.ts +26 -0
  348. package/dist/components/list/list.stories.js +85 -0
  349. package/dist/components/list/list.styles.d.ts +41 -0
  350. package/dist/components/list/list.styles.js +32 -0
  351. package/dist/components/list/list.types.d.ts +78 -0
  352. package/dist/components/list/list.types.js +1 -0
  353. package/dist/components/list/list.utils.d.ts +8 -0
  354. package/dist/components/list/list.utils.js +14 -0
  355. package/dist/components/modal/components/backdrop/backdrop.component.d.ts +3 -0
  356. package/dist/components/modal/components/backdrop/backdrop.component.js +39 -0
  357. package/dist/components/modal/components/backdrop/backdrop.styles.d.ts +20 -0
  358. package/dist/components/modal/components/backdrop/backdrop.styles.js +7 -0
  359. package/dist/components/modal/components/backdrop/backdrop.types.d.ts +27 -0
  360. package/dist/components/modal/components/backdrop/backdrop.types.js +1 -0
  361. package/dist/components/modal/components/backdrop/index.d.ts +2 -0
  362. package/dist/components/modal/components/backdrop/index.js +1 -0
  363. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.component.d.ts +3 -0
  364. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.component.js +23 -0
  365. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.styles.d.ts +5 -0
  366. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.styles.js +4 -0
  367. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.d.ts +4 -0
  368. package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.js +1 -0
  369. package/dist/components/modal/components/dialog/components/dialog-body/index.d.ts +2 -0
  370. package/dist/components/modal/components/dialog/components/dialog-body/index.js +2 -0
  371. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.d.ts +3 -0
  372. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.js +23 -0
  373. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.d.ts +5 -0
  374. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.js +4 -0
  375. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.d.ts +4 -0
  376. package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.js +1 -0
  377. package/dist/components/modal/components/dialog/components/dialog-footer/index.d.ts +2 -0
  378. package/dist/components/modal/components/dialog/components/dialog-footer/index.js +2 -0
  379. package/dist/components/modal/components/dialog/dialog.component.d.ts +9 -0
  380. package/dist/components/modal/components/dialog/dialog.component.js +44 -0
  381. package/dist/components/modal/components/dialog/dialog.styles.d.ts +35 -0
  382. package/dist/components/modal/components/dialog/dialog.styles.js +29 -0
  383. package/dist/components/modal/components/dialog/dialog.types.d.ts +26 -0
  384. package/dist/components/modal/components/dialog/dialog.types.js +1 -0
  385. package/dist/components/modal/components/dialog/index.d.ts +2 -0
  386. package/dist/components/modal/components/dialog/index.js +1 -0
  387. package/dist/components/modal/components/index.d.ts +2 -0
  388. package/dist/components/modal/components/index.js +2 -0
  389. package/dist/components/modal/index.d.ts +2 -0
  390. package/dist/components/modal/index.js +1 -0
  391. package/dist/components/modal/modal.component.d.ts +7 -0
  392. package/dist/components/modal/modal.component.js +27 -0
  393. package/dist/components/modal/modal.stories.d.ts +21 -0
  394. package/dist/components/modal/modal.stories.js +132 -0
  395. package/dist/components/modal/modal.types.d.ts +2 -0
  396. package/dist/components/modal/modal.types.js +1 -0
  397. package/dist/components/pagination/components/index.d.ts +1 -0
  398. package/dist/components/pagination/components/index.js +1 -0
  399. package/dist/components/pagination/components/pagination-item/index.d.ts +2 -0
  400. package/dist/components/pagination/components/pagination-item/index.js +1 -0
  401. package/dist/components/pagination/components/pagination-item/pagination-item.component.d.ts +3 -0
  402. package/dist/components/pagination/components/pagination-item/pagination-item.component.js +29 -0
  403. package/dist/components/pagination/components/pagination-item/pagination-item.styles.d.ts +29 -0
  404. package/dist/components/pagination/components/pagination-item/pagination-item.styles.js +26 -0
  405. package/dist/components/pagination/components/pagination-item/pagination-item.types.d.ts +9 -0
  406. package/dist/components/pagination/components/pagination-item/pagination-item.types.js +1 -0
  407. package/dist/components/pagination/index.d.ts +2 -0
  408. package/dist/components/pagination/index.js +1 -0
  409. package/dist/components/pagination/pagination.component.d.ts +3 -0
  410. package/dist/components/pagination/pagination.component.js +131 -0
  411. package/dist/components/pagination/pagination.hooks.d.ts +14 -0
  412. package/dist/components/pagination/pagination.hooks.js +40 -0
  413. package/dist/components/pagination/pagination.stories.d.ts +33 -0
  414. package/dist/components/pagination/pagination.stories.js +172 -0
  415. package/dist/components/pagination/pagination.styles.d.ts +9 -0
  416. package/dist/components/pagination/pagination.styles.js +16 -0
  417. package/dist/components/pagination/pagination.types.d.ts +61 -0
  418. package/dist/components/pagination/pagination.types.js +1 -0
  419. package/dist/components/panel/components/body/body.component.d.ts +3 -0
  420. package/dist/components/panel/components/body/body.component.js +24 -0
  421. package/dist/components/panel/components/body/body.styles.d.ts +7 -0
  422. package/dist/components/panel/components/body/body.styles.js +15 -0
  423. package/dist/components/panel/components/body/body.types.d.ts +2 -0
  424. package/dist/components/panel/components/body/body.types.js +1 -0
  425. package/dist/components/panel/components/body/index.d.ts +2 -0
  426. package/dist/components/panel/components/body/index.js +1 -0
  427. package/dist/components/panel/components/footer/footer.component.d.ts +3 -0
  428. package/dist/components/panel/components/footer/footer.component.js +24 -0
  429. package/dist/components/panel/components/footer/footer.styles.d.ts +7 -0
  430. package/dist/components/panel/components/footer/footer.styles.js +15 -0
  431. package/dist/components/panel/components/footer/footer.types.d.ts +2 -0
  432. package/dist/components/panel/components/footer/footer.types.js +1 -0
  433. package/dist/components/panel/components/footer/index.d.ts +2 -0
  434. package/dist/components/panel/components/footer/index.js +1 -0
  435. package/dist/components/panel/components/index.d.ts +2 -0
  436. package/dist/components/panel/components/index.js +2 -0
  437. package/dist/components/panel/index.d.ts +2 -0
  438. package/dist/components/panel/index.js +1 -0
  439. package/dist/components/panel/panel.component.d.ts +7 -0
  440. package/dist/components/panel/panel.component.js +31 -0
  441. package/dist/components/panel/panel.stories.d.ts +21 -0
  442. package/dist/components/panel/panel.stories.js +58 -0
  443. package/dist/components/panel/panel.styles.d.ts +29 -0
  444. package/dist/components/panel/panel.styles.js +26 -0
  445. package/dist/components/panel/panel.types.d.ts +15 -0
  446. package/dist/components/panel/panel.types.js +1 -0
  447. package/dist/components/popover/components/panel/index.d.ts +2 -0
  448. package/dist/components/popover/components/panel/index.js +1 -0
  449. package/dist/components/popover/components/panel/panel.component.d.ts +3 -0
  450. package/dist/components/popover/components/panel/panel.component.js +35 -0
  451. package/dist/components/popover/components/panel/panel.styles.d.ts +41 -0
  452. package/dist/components/popover/components/panel/panel.styles.js +32 -0
  453. package/dist/components/popover/components/panel/panel.types.d.ts +24 -0
  454. package/dist/components/popover/components/panel/panel.types.js +1 -0
  455. package/dist/components/popover/index.d.ts +2 -0
  456. package/dist/components/popover/index.js +1 -0
  457. package/dist/components/popover/popover.component.d.ts +3 -0
  458. package/dist/components/popover/popover.component.js +51 -0
  459. package/dist/components/popover/popover.stories.d.ts +26 -0
  460. package/dist/components/popover/popover.stories.js +60 -0
  461. package/dist/components/popover/popover.styles.d.ts +9 -0
  462. package/dist/components/popover/popover.styles.js +16 -0
  463. package/dist/components/popover/popover.types.d.ts +37 -0
  464. package/dist/components/popover/popover.types.js +1 -0
  465. package/dist/components/progress-bar/progress-bar.stories.js +1 -1
  466. package/dist/components/progress-bar/progress-bar.styles.js +2 -2
  467. package/dist/components/progress-rope/components/index.d.ts +2 -0
  468. package/dist/components/progress-rope/components/index.js +2 -0
  469. package/dist/components/progress-rope/components/progress-rope-group-step/index.d.ts +2 -0
  470. package/dist/components/progress-rope/components/progress-rope-group-step/index.js +1 -0
  471. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.d.ts +3 -0
  472. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.js +92 -0
  473. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.d.ts +61 -0
  474. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.js +42 -0
  475. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.d.ts +36 -0
  476. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.js +1 -0
  477. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.d.ts +2 -0
  478. package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.js +2 -0
  479. package/dist/components/progress-rope/components/progress-rope-step/index.d.ts +2 -0
  480. package/dist/components/progress-rope/components/progress-rope-step/index.js +1 -0
  481. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.d.ts +3 -0
  482. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.js +45 -0
  483. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.d.ts +69 -0
  484. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.js +46 -0
  485. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.d.ts +18 -0
  486. package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.js +1 -0
  487. package/dist/components/progress-rope/index.d.ts +2 -0
  488. package/dist/components/progress-rope/index.js +1 -0
  489. package/dist/components/progress-rope/progress-rope.component.d.ts +3 -0
  490. package/dist/components/progress-rope/progress-rope.component.js +98 -0
  491. package/dist/components/progress-rope/progress-rope.stories.d.ts +13 -0
  492. package/dist/components/progress-rope/progress-rope.stories.js +129 -0
  493. package/dist/components/progress-rope/progress-rope.styles.d.ts +5 -0
  494. package/dist/components/progress-rope/progress-rope.styles.js +4 -0
  495. package/dist/components/progress-rope/progress-rope.types.d.ts +35 -0
  496. package/dist/components/progress-rope/progress-rope.types.js +1 -0
  497. package/dist/components/radio-group/components/radio/radio.stories.js +1 -1
  498. package/dist/components/radio-group/radio-group.stories.js +1 -1
  499. package/dist/components/repeater/index.d.ts +2 -0
  500. package/dist/components/repeater/index.js +1 -0
  501. package/dist/components/repeater/repeater.component.d.ts +3 -0
  502. package/dist/components/repeater/repeater.component.js +141 -0
  503. package/dist/components/repeater/repeater.stories.d.ts +13 -0
  504. package/dist/components/repeater/repeater.stories.js +34 -0
  505. package/dist/components/repeater/repeater.styles.d.ts +39 -0
  506. package/dist/components/repeater/repeater.styles.js +31 -0
  507. package/dist/components/repeater/repeater.types.d.ts +19 -0
  508. package/dist/components/repeater/repeater.types.js +1 -0
  509. package/dist/components/repeater/repeater.utils.d.ts +2 -0
  510. package/dist/components/repeater/repeater.utils.js +2 -0
  511. package/dist/components/select/select.component.d.ts +1 -1
  512. package/dist/components/select/select.stories.js +1 -1
  513. package/dist/components/select/select.styles.d.ts +1 -1
  514. package/dist/components/select/select.styles.js +1 -1
  515. package/dist/components/selector/components/index.d.ts +2 -0
  516. package/dist/components/selector/components/index.js +2 -0
  517. package/dist/components/selector/components/selector-checkbox-group/components/index.d.ts +1 -0
  518. package/dist/components/selector/components/selector-checkbox-group/components/index.js +1 -0
  519. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.d.ts +2 -0
  520. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.js +1 -0
  521. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.d.ts +12 -0
  522. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.js +67 -0
  523. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.d.ts +59 -0
  524. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.js +57 -0
  525. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.d.ts +10 -0
  526. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.js +1 -0
  527. package/dist/components/selector/components/selector-checkbox-group/index.d.ts +2 -0
  528. package/dist/components/selector/components/selector-checkbox-group/index.js +1 -0
  529. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +15 -0
  530. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +49 -0
  531. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.d.ts +3 -0
  532. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.js +13 -0
  533. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.d.ts +20 -0
  534. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.js +1 -0
  535. package/dist/components/selector/components/selector-radio-group/components/index.d.ts +1 -0
  536. package/dist/components/selector/components/selector-radio-group/components/index.js +1 -0
  537. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.d.ts +2 -0
  538. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.js +1 -0
  539. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.d.ts +12 -0
  540. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.js +67 -0
  541. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.d.ts +59 -0
  542. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.js +57 -0
  543. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.d.ts +15 -0
  544. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.js +1 -0
  545. package/dist/components/selector/components/selector-radio-group/index.d.ts +2 -0
  546. package/dist/components/selector/components/selector-radio-group/index.js +1 -0
  547. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +15 -0
  548. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +58 -0
  549. package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.d.ts +13 -0
  550. package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.js +18 -0
  551. package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.d.ts +17 -0
  552. package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.js +1 -0
  553. package/dist/components/selector/index.d.ts +2 -0
  554. package/dist/components/selector/index.js +1 -0
  555. package/dist/components/selector/selector.component.d.ts +30 -0
  556. package/dist/components/selector/selector.component.js +34 -0
  557. package/dist/components/selector/selector.stories.d.ts +57 -0
  558. package/dist/components/selector/selector.stories.js +515 -0
  559. package/dist/components/selector/selector.types.d.ts +20 -0
  560. package/dist/components/selector/selector.types.js +1 -0
  561. package/dist/components/skip-link/skip-link.stories.js +1 -1
  562. package/dist/components/switch/switch.stories.js +1 -1
  563. package/dist/components/switch/switch.styles.js +2 -2
  564. package/dist/components/table/components/caption/caption.styles.d.ts +1 -1
  565. package/dist/components/table/components/caption/caption.styles.js +1 -1
  566. package/dist/components/table/components/cell/cell.styles.js +4 -4
  567. package/dist/components/table/components/footer/footer.styles.js +2 -2
  568. package/dist/components/table/components/header-cell/header-cell.styles.js +2 -2
  569. package/dist/components/table/components/row/row.styles.js +2 -2
  570. package/dist/components/table/table.stories.js +1 -1
  571. package/dist/components/tabs/components/tab/tab.styles.js +1 -1
  572. package/dist/components/tabs/components/tab-panel/tab-panel.styles.d.ts +1 -1
  573. package/dist/components/tabs/components/tab-panel/tab-panel.styles.js +1 -1
  574. package/dist/components/tabs/tabs.stories.js +1 -1
  575. package/dist/components/tabs/tabs.styles.js +1 -1
  576. package/dist/components/textarea/textarea.component.d.ts +1 -1
  577. package/dist/components/textarea/textarea.stories.js +1 -1
  578. package/dist/components/textarea/textarea.styles.d.ts +1 -1
  579. package/dist/components/textarea/textarea.styles.js +1 -1
  580. package/dist/components/visually-hidden/visually-hidden.stories.js +1 -1
  581. package/dist/css/westpac-ui.css +2709 -45
  582. package/dist/css/westpac-ui.min.css +2709 -45
  583. package/dist/hook/index.d.ts +1 -0
  584. package/dist/hook/index.js +1 -0
  585. package/dist/tailwind/constants/colors.d.ts +22 -22
  586. package/dist/tailwind/constants/spacing.d.ts +1 -1
  587. package/dist/tailwind/tailwind-plugin.js +17 -4
  588. package/dist/tailwind/tailwind-transformer.d.ts +4 -4
  589. package/dist/tailwind/tailwind-transformer.js +7 -0
  590. package/dist/tailwind/themes/index.d.ts +26 -26
  591. package/dist/tailwind/utils/generate-date-picker-component.d.ts +98 -0
  592. package/dist/tailwind/utils/generate-date-picker-component.js +100 -0
  593. package/dist/utils/generateId.d.ts +1 -0
  594. package/dist/utils/generateId.js +6 -0
  595. package/dist/utils/index.d.ts +1 -0
  596. package/dist/utils/index.js +1 -0
  597. package/package.json +18 -2
  598. package/scaffold/component/scaffold.stories.hbs +1 -1
  599. package/src/components/accordion/accordion.stories.tsx +1 -1
  600. package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +4 -4
  601. package/src/components/alert/alert.component.tsx +1 -1
  602. package/src/components/alert/alert.styles.ts +2 -2
  603. package/src/components/autocomplete/autocomplete.component.tsx +94 -0
  604. package/src/components/autocomplete/autocomplete.stories.tsx +158 -0
  605. package/src/components/autocomplete/autocomplete.styles.ts +52 -0
  606. package/src/components/autocomplete/autocomplete.types.ts +20 -0
  607. package/src/components/autocomplete/components/index.ts +2 -0
  608. package/src/components/autocomplete/components/list-box/components/index.ts +2 -0
  609. package/src/components/autocomplete/components/list-box/components/list-box-option/index.ts +2 -0
  610. package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.tsx +29 -0
  611. package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.ts +19 -0
  612. package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.ts +7 -0
  613. package/src/components/autocomplete/components/list-box/components/list-box-section/index.ts +2 -0
  614. package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.tsx +31 -0
  615. package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.ts +7 -0
  616. package/src/components/autocomplete/components/list-box/index.ts +2 -0
  617. package/src/components/autocomplete/components/list-box/list-box.component.tsx +25 -0
  618. package/src/components/autocomplete/components/list-box/list-box.types.ts +8 -0
  619. package/src/components/autocomplete/components/popover/index.ts +2 -0
  620. package/src/components/autocomplete/components/popover/popover.component.tsx +35 -0
  621. package/src/components/autocomplete/components/popover/popover.types.ts +26 -0
  622. package/src/components/autocomplete/index.ts +2 -0
  623. package/src/components/badge/badge.stories.tsx +1 -1
  624. package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
  625. package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.stories.tsx +1 -1
  626. package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.styles.ts +1 -1
  627. package/src/components/button/button.component.tsx +5 -2
  628. package/src/components/button/button.stories.tsx +1 -1
  629. package/src/components/button/button.styles.ts +5 -4
  630. package/src/components/button/button.types.ts +6 -0
  631. package/src/components/button-dropdown/button-dropdown.component.tsx +81 -0
  632. package/src/components/button-dropdown/button-dropdown.stories.tsx +178 -0
  633. package/src/components/button-dropdown/button-dropdown.styles.ts +29 -0
  634. package/src/components/button-dropdown/button-dropdown.types.ts +27 -0
  635. package/src/components/button-dropdown/components/heading/heading.component.tsx +14 -0
  636. package/src/components/button-dropdown/components/heading/heading.styles.ts +11 -0
  637. package/src/components/button-dropdown/components/heading/heading.types.ts +8 -0
  638. package/src/components/button-dropdown/components/heading/index.ts +2 -0
  639. package/src/components/button-dropdown/components/panel/index.ts +2 -0
  640. package/src/components/button-dropdown/components/panel/panel.component.tsx +46 -0
  641. package/src/components/button-dropdown/components/panel/panel.styles.ts +13 -0
  642. package/src/components/button-dropdown/components/panel/panel.types.ts +14 -0
  643. package/src/components/button-dropdown/index.ts +2 -0
  644. package/src/components/button-group/button-group.stories.tsx +1 -1
  645. package/src/components/button-group/components/button/button.stories.tsx +1 -1
  646. package/src/components/checkbox-group/checkbox-group.stories.tsx +1 -1
  647. package/src/components/checkbox-group/components/checkbox/checkbox.stories.tsx +1 -1
  648. package/src/components/circle/circle.component.tsx +12 -0
  649. package/src/components/circle/circle.stories.tsx +25 -0
  650. package/src/components/circle/circle.styles.ts +9 -0
  651. package/src/components/circle/circle.types.ts +12 -0
  652. package/src/components/circle/index.ts +2 -0
  653. package/src/components/collapsible/collapsible.component.tsx +67 -0
  654. package/src/components/collapsible/collapsible.stories.tsx +103 -0
  655. package/src/components/collapsible/collapsible.styles.ts +16 -0
  656. package/src/components/collapsible/collapsible.types.ts +19 -0
  657. package/src/components/collapsible/collapsible.utils.ts +3 -0
  658. package/src/components/collapsible/index.ts +2 -0
  659. package/src/components/compacta/compacta.component.tsx +218 -0
  660. package/src/components/compacta/compacta.stories.tsx +81 -0
  661. package/src/components/compacta/compacta.styles.ts +32 -0
  662. package/src/components/compacta/compacta.types.ts +23 -0
  663. package/src/components/compacta/compacta.utils.ts +10 -0
  664. package/src/components/compacta/index.ts +2 -0
  665. package/src/components/date-picker/date-picker.component.tsx +123 -0
  666. package/src/components/date-picker/date-picker.stories.tsx +81 -0
  667. package/src/components/date-picker/date-picker.styles.ts +16 -0
  668. package/src/components/date-picker/date-picker.types.ts +67 -0
  669. package/src/components/date-picker/date-picker.utils.ts +95 -0
  670. package/src/components/date-picker/index.ts +2 -0
  671. package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.tsx +19 -0
  672. package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.ts +15 -0
  673. package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.ts +20 -0
  674. package/src/components/flexi-cell/components/flexi-cell-adornment/index.ts +2 -0
  675. package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.tsx +13 -0
  676. package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.ts +9 -0
  677. package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.ts +44 -0
  678. package/src/components/flexi-cell/components/flexi-cell-body/index.ts +2 -0
  679. package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.tsx +11 -0
  680. package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.ts +9 -0
  681. package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.ts +3 -0
  682. package/src/components/flexi-cell/components/flexi-cell-button/index.ts +2 -0
  683. package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.tsx +11 -0
  684. package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.ts +9 -0
  685. package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.ts +3 -0
  686. package/src/components/flexi-cell/components/flexi-cell-circle/index.ts +2 -0
  687. package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.tsx +13 -0
  688. package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.ts +9 -0
  689. package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.ts +12 -0
  690. package/src/components/flexi-cell/components/flexi-cell-footer/index.ts +2 -0
  691. package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.tsx +19 -0
  692. package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.ts +14 -0
  693. package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.ts +20 -0
  694. package/src/components/flexi-cell/components/flexi-cell-hint/index.ts +2 -0
  695. package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.tsx +19 -0
  696. package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.ts +14 -0
  697. package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.ts +24 -0
  698. package/src/components/flexi-cell/components/flexi-cell-label/index.ts +2 -0
  699. package/src/components/flexi-cell/components/index.ts +7 -0
  700. package/src/components/flexi-cell/flexi-cell.component.tsx +70 -0
  701. package/src/components/flexi-cell/flexi-cell.stories.tsx +801 -0
  702. package/src/components/flexi-cell/flexi-cell.styles.ts +26 -0
  703. package/src/components/flexi-cell/flexi-cell.types.ts +74 -0
  704. package/src/components/flexi-cell/index.ts +3 -0
  705. package/src/components/form/components/error-message/error-message.component.tsx +39 -0
  706. package/src/components/form/components/error-message/error-message.styles.ts +9 -0
  707. package/src/components/form/components/error-message/error-message.types.ts +20 -0
  708. package/src/components/form/components/error-message/index.ts +2 -0
  709. package/src/components/form/components/form-chit-chat/form-chit-chat.component.tsx +12 -0
  710. package/src/components/form/components/form-chit-chat/form-chit-chat.styles.ts +5 -0
  711. package/src/components/form/components/form-chit-chat/form-chit-chat.types.ts +12 -0
  712. package/src/components/form/components/form-chit-chat/index.ts +2 -0
  713. package/src/components/form/components/form-group/form-group.component.tsx +16 -0
  714. package/src/components/form/components/form-group/form-group.styles.ts +18 -0
  715. package/src/components/form/components/form-group/form-group.types.ts +12 -0
  716. package/src/components/form/components/form-group/index.ts +2 -0
  717. package/src/components/form/components/form-hint/form-hint.component.tsx +16 -0
  718. package/src/components/form/components/form-hint/form-hint.styles.ts +14 -0
  719. package/src/components/form/components/form-hint/form-hint.types.ts +12 -0
  720. package/src/components/form/components/form-hint/index.ts +2 -0
  721. package/src/components/form/components/form-label/form-label.component.tsx +29 -0
  722. package/src/components/form/components/form-label/form-label.styles.ts +40 -0
  723. package/src/components/form/components/form-label/form-label.types.ts +30 -0
  724. package/src/components/form/components/form-label/index.ts +2 -0
  725. package/src/components/form/components/form-section/form-section.component.tsx +12 -0
  726. package/src/components/form/components/form-section/form-section.styles.ts +14 -0
  727. package/src/components/form/components/form-section/form-section.types.ts +12 -0
  728. package/src/components/form/components/form-section/index.ts +2 -0
  729. package/src/components/form/components/index.ts +6 -0
  730. package/src/components/form/form.component.tsx +26 -0
  731. package/src/components/form/form.stories.tsx +161 -0
  732. package/src/components/form/form.types.ts +9 -0
  733. package/src/components/form/index.ts +2 -0
  734. package/src/components/icon/index.ts +1 -0
  735. package/src/components/index.ts +17 -0
  736. package/src/components/input/input.component.tsx +1 -1
  737. package/src/components/input/input.stories.tsx +1 -1
  738. package/src/components/input/input.styles.ts +5 -5
  739. package/src/components/input/input.types.ts +2 -1
  740. package/src/components/input-field/components/add-ons/add-ons.component.tsx +39 -0
  741. package/src/components/input-field/components/add-ons/add-ons.styles.ts +30 -0
  742. package/src/components/input-field/components/add-ons/add-ons.types.ts +54 -0
  743. package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.tsx +12 -0
  744. package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.ts +5 -0
  745. package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.ts +8 -0
  746. package/src/components/input-field/components/add-ons/components/default-add-on/index.ts +2 -0
  747. package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.tsx +12 -0
  748. package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.ts +62 -0
  749. package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.ts +8 -0
  750. package/src/components/input-field/components/add-ons/components/icon-add-on/index.ts +2 -0
  751. package/src/components/input-field/components/add-ons/components/index.ts +3 -0
  752. package/src/components/input-field/components/add-ons/components/text-add-on/index.ts +2 -0
  753. package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.tsx +12 -0
  754. package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.ts +20 -0
  755. package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.ts +8 -0
  756. package/src/components/input-field/components/add-ons/index.ts +2 -0
  757. package/src/components/input-field/components/index.ts +1 -0
  758. package/src/components/input-field/components/supporting-text/index.ts +2 -0
  759. package/src/components/input-field/components/supporting-text/supporting-text.component.tsx +12 -0
  760. package/src/components/input-field/components/supporting-text/supporting-text.styles.ts +5 -0
  761. package/src/components/input-field/components/supporting-text/supporting-text.types.ts +12 -0
  762. package/src/components/input-field/index.ts +2 -0
  763. package/src/components/input-field/input-field.component.tsx +111 -0
  764. package/src/components/input-field/input-field.scenarios.stories.tsx +177 -0
  765. package/src/components/input-field/input-field.sizes.stories.tsx +105 -0
  766. package/src/components/input-field/input-field.state.stories.tsx +151 -0
  767. package/src/components/input-field/input-field.stories.tsx +93 -0
  768. package/src/components/input-field/input-field.styles.ts +48 -0
  769. package/src/components/input-field/input-field.type.stories.tsx +239 -0
  770. package/src/components/input-field/input-field.types.ts +64 -0
  771. package/src/components/link/link.stories.tsx +1 -1
  772. package/src/components/link/link.styles.ts +3 -3
  773. package/src/components/list/components/item/index.ts +2 -0
  774. package/src/components/list/components/item/item.component.tsx +52 -0
  775. package/src/components/list/components/item/item.styles.ts +85 -0
  776. package/src/components/list/components/item/item.types.ts +30 -0
  777. package/src/components/list/index.ts +2 -0
  778. package/src/components/list/list.component.tsx +35 -0
  779. package/src/components/list/list.stories.tsx +130 -0
  780. package/src/components/list/list.styles.ts +26 -0
  781. package/src/components/list/list.types.ts +82 -0
  782. package/src/components/list/list.utils.ts +13 -0
  783. package/src/components/modal/components/backdrop/backdrop.component.tsx +29 -0
  784. package/src/components/modal/components/backdrop/backdrop.styles.ts +8 -0
  785. package/src/components/modal/components/backdrop/backdrop.types.ts +29 -0
  786. package/src/components/modal/components/backdrop/index.ts +2 -0
  787. package/src/components/modal/components/dialog/components/dialog-body/dialog-body.component.tsx +12 -0
  788. package/src/components/modal/components/dialog/components/dialog-body/dialog-body.styles.ts +5 -0
  789. package/src/components/modal/components/dialog/components/dialog-body/dialog-body.types.ts +6 -0
  790. package/src/components/modal/components/dialog/components/dialog-body/index.ts +2 -0
  791. package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.tsx +12 -0
  792. package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.ts +5 -0
  793. package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.ts +6 -0
  794. package/src/components/modal/components/dialog/components/dialog-footer/index.ts +2 -0
  795. package/src/components/modal/components/dialog/dialog.component.tsx +37 -0
  796. package/src/components/modal/components/dialog/dialog.styles.ts +25 -0
  797. package/src/components/modal/components/dialog/dialog.types.ts +28 -0
  798. package/src/components/modal/components/dialog/index.ts +2 -0
  799. package/src/components/modal/components/index.ts +2 -0
  800. package/src/components/modal/index.ts +2 -0
  801. package/src/components/modal/modal.component.tsx +22 -0
  802. package/src/components/modal/modal.stories.tsx +143 -0
  803. package/src/components/modal/modal.types.ts +3 -0
  804. package/src/components/pagination/components/index.ts +1 -0
  805. package/src/components/pagination/components/pagination-item/index.ts +2 -0
  806. package/src/components/pagination/components/pagination-item/pagination-item.component.tsx +25 -0
  807. package/src/components/pagination/components/pagination-item/pagination-item.styles.ts +22 -0
  808. package/src/components/pagination/components/pagination-item/pagination-item.types.ts +12 -0
  809. package/src/components/pagination/index.ts +2 -0
  810. package/src/components/pagination/pagination.component.tsx +155 -0
  811. package/src/components/pagination/pagination.hooks.ts +40 -0
  812. package/src/components/pagination/pagination.stories.tsx +161 -0
  813. package/src/components/pagination/pagination.styles.ts +12 -0
  814. package/src/components/pagination/pagination.types.ts +67 -0
  815. package/src/components/panel/components/body/body.component.tsx +13 -0
  816. package/src/components/panel/components/body/body.styles.ts +9 -0
  817. package/src/components/panel/components/body/body.types.ts +3 -0
  818. package/src/components/panel/components/body/index.ts +2 -0
  819. package/src/components/panel/components/footer/footer.component.tsx +13 -0
  820. package/src/components/panel/components/footer/footer.styles.ts +11 -0
  821. package/src/components/panel/components/footer/footer.types.ts +3 -0
  822. package/src/components/panel/components/footer/index.ts +2 -0
  823. package/src/components/panel/components/index.ts +2 -0
  824. package/src/components/panel/index.ts +2 -0
  825. package/src/components/panel/panel.component.tsx +17 -0
  826. package/src/components/panel/panel.stories.tsx +156 -0
  827. package/src/components/panel/panel.styles.ts +22 -0
  828. package/src/components/panel/panel.types.ts +16 -0
  829. package/src/components/popover/components/panel/index.ts +2 -0
  830. package/src/components/popover/components/panel/panel.component.tsx +31 -0
  831. package/src/components/popover/components/panel/panel.styles.ts +29 -0
  832. package/src/components/popover/components/panel/panel.types.ts +25 -0
  833. package/src/components/popover/index.ts +2 -0
  834. package/src/components/popover/popover.component.tsx +69 -0
  835. package/src/components/popover/popover.stories.tsx +84 -0
  836. package/src/components/popover/popover.styles.ts +12 -0
  837. package/src/components/popover/popover.types.ts +40 -0
  838. package/src/components/progress-bar/progress-bar.stories.tsx +1 -1
  839. package/src/components/progress-bar/progress-bar.styles.ts +2 -2
  840. package/src/components/progress-rope/components/index.ts +2 -0
  841. package/src/components/progress-rope/components/progress-rope-group-step/index.ts +2 -0
  842. package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.tsx +105 -0
  843. package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.ts +39 -0
  844. package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.ts +37 -0
  845. package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.ts +3 -0
  846. package/src/components/progress-rope/components/progress-rope-step/index.ts +2 -0
  847. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.component.tsx +37 -0
  848. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.ts +42 -0
  849. package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.types.ts +23 -0
  850. package/src/components/progress-rope/index.ts +2 -0
  851. package/src/components/progress-rope/progress-rope.component.tsx +104 -0
  852. package/src/components/progress-rope/progress-rope.stories.tsx +112 -0
  853. package/src/components/progress-rope/progress-rope.styles.ts +5 -0
  854. package/src/components/progress-rope/progress-rope.types.ts +41 -0
  855. package/src/components/radio-group/components/radio/radio.stories.tsx +1 -1
  856. package/src/components/radio-group/radio-group.stories.tsx +1 -1
  857. package/src/components/repeater/index.ts +2 -0
  858. package/src/components/repeater/repeater.component.tsx +121 -0
  859. package/src/components/repeater/repeater.stories.tsx +49 -0
  860. package/src/components/repeater/repeater.styles.ts +27 -0
  861. package/src/components/repeater/repeater.types.ts +20 -0
  862. package/src/components/repeater/repeater.utils.tsx +3 -0
  863. package/src/components/select/select.stories.tsx +1 -1
  864. package/src/components/select/select.styles.ts +1 -1
  865. package/src/components/selector/components/index.ts +2 -0
  866. package/src/components/selector/components/selector-checkbox-group/components/index.ts +1 -0
  867. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.ts +2 -0
  868. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.tsx +96 -0
  869. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.ts +53 -0
  870. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.ts +15 -0
  871. package/src/components/selector/components/selector-checkbox-group/index.ts +2 -0
  872. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +46 -0
  873. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.ts +9 -0
  874. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.ts +25 -0
  875. package/src/components/selector/components/selector-radio-group/components/index.ts +1 -0
  876. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.ts +2 -0
  877. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.tsx +90 -0
  878. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.ts +53 -0
  879. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.ts +21 -0
  880. package/src/components/selector/components/selector-radio-group/index.ts +2 -0
  881. package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +48 -0
  882. package/src/components/selector/components/selector-radio-group/selector-radio-group.styles.ts +14 -0
  883. package/src/components/selector/components/selector-radio-group/selector-radio-group.types.ts +22 -0
  884. package/src/components/selector/index.ts +2 -0
  885. package/src/components/selector/selector.component.tsx +34 -0
  886. package/src/components/selector/selector.stories.tsx +621 -0
  887. package/src/components/selector/selector.types.ts +24 -0
  888. package/src/components/skip-link/skip-link.stories.tsx +1 -1
  889. package/src/components/switch/switch.stories.tsx +1 -1
  890. package/src/components/switch/switch.styles.ts +2 -2
  891. package/src/components/table/components/caption/caption.styles.ts +1 -1
  892. package/src/components/table/components/cell/cell.styles.ts +4 -4
  893. package/src/components/table/components/footer/footer.styles.ts +2 -2
  894. package/src/components/table/components/header-cell/header-cell.styles.ts +2 -2
  895. package/src/components/table/components/row/row.styles.ts +2 -2
  896. package/src/components/table/table.stories.tsx +1 -1
  897. package/src/components/tabs/components/tab/tab.styles.ts +1 -1
  898. package/src/components/tabs/components/tab-panel/tab-panel.styles.ts +1 -1
  899. package/src/components/tabs/tabs.stories.tsx +1 -3
  900. package/src/components/tabs/tabs.styles.ts +1 -1
  901. package/src/components/textarea/textarea.stories.tsx +1 -1
  902. package/src/components/textarea/textarea.styles.ts +1 -1
  903. package/src/components/visually-hidden/visually-hidden.stories.tsx +1 -1
  904. package/src/hook/index.ts +1 -0
  905. package/src/tailwind/tailwind-plugin.ts +16 -3
  906. package/src/tailwind/tailwind-transformer.ts +6 -0
  907. package/src/tailwind/utils/generate-date-picker-component.ts +109 -0
  908. package/src/utils/generateId.ts +6 -0
  909. package/src/utils/index.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@westpac/ui",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -22,6 +22,9 @@
22
22
  "./icon": {
23
23
  "default": "./dist/components/icon/index.js"
24
24
  },
25
+ "./hook": {
26
+ "default": "./dist/hook/index.js"
27
+ },
25
28
  "./pictogram": {
26
29
  "default": "./dist/components/pictogram/index.js"
27
30
  },
@@ -42,6 +45,10 @@
42
45
  ],
43
46
  "devDependencies": {
44
47
  "@react-types/accordion": "3.0.0-alpha.14",
48
+ "@react-types/combobox": "~3.7.0",
49
+ "@react-types/shared": "~3.18.1",
50
+ "@storybook/addon-actions": "~7.4.3",
51
+ "@storybook/addon-a11y": "~7.4.3",
45
52
  "@storybook/addon-essentials": "^7.0.21",
46
53
  "@storybook/addon-interactions": "^7.0.21",
47
54
  "@storybook/addon-links": "^7.0.21",
@@ -55,6 +62,7 @@
55
62
  "@testing-library/jest-dom": "^5.16.5",
56
63
  "@testing-library/react": "^13.4.0",
57
64
  "@testing-library/user-event": "~14.4.3",
65
+ "@types/lodash-es": "~4.17.8",
58
66
  "@types/prettier": "~2.7.3",
59
67
  "@types/react": "^18.0.28",
60
68
  "@types/react-dom": "^18.2.1",
@@ -86,6 +94,7 @@
86
94
  "vitest": "^0.30.1"
87
95
  },
88
96
  "dependencies": {
97
+ "@duetds/date-picker": "~1.4.0",
89
98
  "@react-aria/accordion": "3.0.0-alpha.19",
90
99
  "@react-aria/utils": "~3.18.0",
91
100
  "@react-spectrum/utils": "~3.10.0",
@@ -98,8 +107,15 @@
98
107
  "@westpac/test-config": "~0.0.0",
99
108
  "@westpac/ts-config": "~0.0.0"
100
109
  },
110
+ "overrides": {
111
+ "react-aria": {
112
+ "@types/react": "$@types/react"
113
+ }
114
+ },
101
115
  "peerDependencies": {
116
+ "@duetds/date-picker": "~1.4.0",
102
117
  "colorjs.io": "~0.4.5",
118
+ "react": ">=18.2.0",
103
119
  "tailwind-variants": "~0.1.13",
104
120
  "tailwindcss": "~3.3.2",
105
121
  "tailwindcss-themer": "~3.1.0"
@@ -119,7 +135,7 @@
119
135
  "lint": "eslint \"./src/**/*.{ts,tsx,js,jsx}\"",
120
136
  "lint:fix": "eslint \"./src/**/*.{ts,tsx,js,jsx}\" --fix",
121
137
  "test": "vitest run",
122
- "test:watch": "vitest",
138
+ "test:watch": "vitest --no-coverage",
123
139
  "storybook": "storybook dev -p 6006",
124
140
  "build-storybook": "storybook build",
125
141
  "generate:component": "plop"
@@ -8,7 +8,7 @@ const meta: Meta<typeof {{name}}> = {
8
8
  tags: ['autodocs'],
9
9
  decorators: [(Story: StoryFn) => <Story />],
10
10
  parameters: {
11
- layout: 'center',
11
+ layout: 'centered',
12
12
  },
13
13
  };
14
14
 
@@ -17,7 +17,7 @@ const meta: Meta<typeof Accordion> = {
17
17
  ),
18
18
  ],
19
19
  parameters: {
20
- layout: 'center',
20
+ layout: 'fullscreen',
21
21
  },
22
22
  };
23
23
 
@@ -22,10 +22,10 @@ export const styles = tv(
22
22
  },
23
23
  color: {
24
24
  hero: {
25
- itemHeader: 'border-l-5 border-l-border transition-colors',
25
+ itemHeader: 'border-l-[0.375rem] border-l-border transition-colors',
26
26
  },
27
27
  primary: {
28
- itemHeader: 'border-l-5 border-l-border transition-colors',
28
+ itemHeader: 'border-l-[0.375rem] border-l-border transition-colors',
29
29
  },
30
30
  },
31
31
  isOpen: {
@@ -69,12 +69,12 @@ export const styles = tv(
69
69
  {
70
70
  slots: ['content'],
71
71
  color: 'hero',
72
- className: 'border-l-5 border-l-border',
72
+ className: 'border-l-[0.375rem] border-l-border',
73
73
  },
74
74
  {
75
75
  slots: ['content'],
76
76
  color: 'primary',
77
- className: 'border-l-5 border-l-border',
77
+ className: 'border-l-[0.375rem] border-l-border',
78
78
  },
79
79
  ],
80
80
  },
@@ -59,7 +59,7 @@ export function Alert({
59
59
  >
60
60
  <Tag className={styles.base({ className })} {...props}>
61
61
  <span className={styles.icon()}>
62
- <Icon size={{ initial: 'small', xsl: 'medium' }} />
62
+ <Icon size={{ initial: 'small', xsl: 'medium' }} look="outlined" />
63
63
  </span>
64
64
  <div className={styles.body()}>
65
65
  {!!heading && <HeadingTag className={styles.heading()}>{heading}</HeadingTag>}
@@ -3,7 +3,7 @@ import { tv } from 'tailwind-variants';
3
3
  export const styles = tv(
4
4
  {
5
5
  slots: {
6
- base: 'typography-body-10 relative mb-4 p-3 xsl:flex',
6
+ base: 'typography-body-10 relative mb-4 xsl:flex',
7
7
  icon: 'float-left mr-1 flex-none xsl:mr-2',
8
8
  body: 'relative flex-1 xsl:top-[0.125rem] [&_a]:underline',
9
9
  heading: 'typography-body-9 mb-2 font-bold',
@@ -29,7 +29,7 @@ export const styles = tv(
29
29
  },
30
30
  mode: {
31
31
  box: {
32
- base: 'border-y',
32
+ base: 'border-y p-3',
33
33
  },
34
34
  text: {
35
35
  base: 'bg-[transparent]',
@@ -0,0 +1,94 @@
1
+ import * as React from 'react';
2
+ import { useButton, useComboBox, useFilter, useSearchField } from 'react-aria';
3
+ import { Item, useComboBoxState, useSearchFieldState } from 'react-stately';
4
+
5
+ import { ClearIcon } from '../icon/index.js';
6
+
7
+ import { styles as autocompleteStyles } from './autocomplete.styles.js';
8
+ import { type AutocompleteProps } from './autocomplete.types.js';
9
+ import { ListBox, Popover } from './components/index.js';
10
+
11
+ export function Autocomplete<T extends object>({
12
+ size = 'medium',
13
+ invalid = false,
14
+ isDisabled,
15
+ footer,
16
+ portalContainer,
17
+ ...props
18
+ }: AutocompleteProps<T>) {
19
+ const { contains } = useFilter({ sensitivity: 'base' });
20
+ const state = useComboBoxState({ isDisabled, ...props, defaultFilter: contains });
21
+ const inputRef = React.useRef(null);
22
+ const listBoxRef = React.useRef(null);
23
+ const popoverRef = React.useRef(null);
24
+ const { inputProps, listBoxProps, labelProps } = useComboBox(
25
+ {
26
+ ...props,
27
+ isDisabled,
28
+ inputRef,
29
+ listBoxRef,
30
+ popoverRef,
31
+ },
32
+ state,
33
+ );
34
+
35
+ const styles = autocompleteStyles({
36
+ isDisabled,
37
+ isFocused: state.isFocused,
38
+ size,
39
+ invalid,
40
+ });
41
+ // Get props for the clear button from useSearchField
42
+ const searchProps = {
43
+ label: props.label,
44
+ value: state.inputValue,
45
+ onChange: (v: string) => state.setInputValue(v),
46
+ };
47
+
48
+ const searchState = useSearchFieldState(searchProps);
49
+ const { clearButtonProps } = useSearchField(
50
+ { ...searchProps, 'aria-label': props['aria-label'], 'aria-labelledby': props['aria-labelledby'] },
51
+ searchState,
52
+ inputRef,
53
+ );
54
+ const clearButtonRef = React.useRef(null);
55
+ const { buttonProps } = useButton(clearButtonProps, clearButtonRef);
56
+ const outerRef = React.useRef(null);
57
+
58
+ return (
59
+ <div className={styles.base()}>
60
+ <label {...labelProps} className={styles.label()}>
61
+ {props.label}
62
+ </label>
63
+
64
+ <div ref={outerRef} className={styles.outerWrapper()}>
65
+ <input {...inputProps} ref={inputRef} className={styles.input()} />
66
+
67
+ <button
68
+ {...buttonProps}
69
+ ref={clearButtonRef}
70
+ style={{ visibility: state.inputValue !== '' ? 'visible' : 'hidden' }}
71
+ className={styles.clearButton()}
72
+ >
73
+ <ClearIcon aria-hidden="true" color="muted" size="small" />
74
+ </button>
75
+ </div>
76
+
77
+ {state.isOpen && (
78
+ <Popover
79
+ popoverRef={popoverRef}
80
+ triggerRef={outerRef}
81
+ state={state}
82
+ isNonModal
83
+ placement="bottom start"
84
+ portalContainer={portalContainer}
85
+ >
86
+ <ListBox {...listBoxProps} listBoxRef={listBoxRef} state={state} />
87
+ {footer && <div className="border-t border-t-border px-3 py-2">{footer}</div>}
88
+ </Popover>
89
+ )}
90
+ </div>
91
+ );
92
+ }
93
+
94
+ Autocomplete.Item = Item;
@@ -0,0 +1,158 @@
1
+ import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
2
+ import { Key, useState } from 'react';
3
+
4
+ import { Autocomplete } from './autocomplete.component.js';
5
+
6
+ const meta: Meta<typeof Autocomplete> = {
7
+ title: 'Example/Autocomplete',
8
+ component: Autocomplete,
9
+ tags: ['autodocs'],
10
+ decorators: [
11
+ (Story: StoryFn) => (
12
+ <div className="h-30 p-3">
13
+ <Story />
14
+ </div>
15
+ ),
16
+ ],
17
+ parameters: {
18
+ layout: 'centered',
19
+ },
20
+ };
21
+
22
+ export default meta;
23
+ type Story = StoryObj<typeof meta>;
24
+
25
+ /**
26
+ * > Default usage example
27
+ */
28
+ export const DefaultStory: Story = {
29
+ args: {
30
+ 'aria-label': 'Animals',
31
+ children: [
32
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
33
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
34
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
35
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
36
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
37
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
38
+ ],
39
+ },
40
+ };
41
+
42
+ /**
43
+ * > Controlled usage example
44
+ */
45
+ export const ControlledStory: Story = {
46
+ args: {},
47
+ render: () => {
48
+ const [selectedKey, setSelectedKey] = useState<Key>();
49
+ const handleSelectionChange = (key: Key) => {
50
+ setSelectedKey(key);
51
+ };
52
+ return (
53
+ <Autocomplete onSelectionChange={handleSelectionChange} selectedKey={selectedKey} aria-label="Animals">
54
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
55
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>
56
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>
57
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
58
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
59
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>
60
+ </Autocomplete>
61
+ );
62
+ },
63
+ };
64
+
65
+ /**
66
+ * > Disabled usage example
67
+ */
68
+ export const DisabledStory: Story = {
69
+ args: {
70
+ isDisabled: true,
71
+ 'aria-label': 'Disable example',
72
+ children: [
73
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
74
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
75
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
76
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
77
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
78
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
79
+ ],
80
+ },
81
+ };
82
+
83
+ /**
84
+ * > Invalid usage example
85
+ */
86
+ export const InvalidStory: Story = {
87
+ args: {
88
+ invalid: true,
89
+ 'aria-label': 'Invalid example',
90
+ children: [
91
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
92
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
93
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
94
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
95
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
96
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
97
+ ],
98
+ },
99
+ };
100
+
101
+ /**
102
+ * > Sizes example
103
+ */
104
+ export const SizesStory: Story = {
105
+ args: {},
106
+ render: () => {
107
+ return (
108
+ <>
109
+ {['small', 'medium', 'large', 'xlarge'].map(size => (
110
+ <div className="py-2" key={size}>
111
+ <Autocomplete label={size} size={size as any} aria-label={`size ${size}`}>
112
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
113
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>
114
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>
115
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
116
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
117
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>
118
+ </Autocomplete>
119
+ </div>
120
+ ))}
121
+ </>
122
+ );
123
+ },
124
+ };
125
+
126
+ /**
127
+ * > Footer example
128
+ */
129
+ export const FooterStory: Story = {
130
+ args: {},
131
+ render: () => {
132
+ return (
133
+ <div className="py-2">
134
+ <Autocomplete label="With footer" footer={<h3>Footer</h3>}>
135
+ <Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
136
+ <Autocomplete.Item key="cat">Cat</Autocomplete.Item>
137
+ <Autocomplete.Item key="dog">Dog</Autocomplete.Item>
138
+ <Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
139
+ <Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
140
+ <Autocomplete.Item key="snake">Snake</Autocomplete.Item>
141
+ <Autocomplete.Item key="elephant">Elephant</Autocomplete.Item>
142
+ <Autocomplete.Item key="giraffe">Giraffe</Autocomplete.Item>
143
+ <Autocomplete.Item key="lion">Lion</Autocomplete.Item>
144
+ <Autocomplete.Item key="tiger">Tiger</Autocomplete.Item>
145
+ <Autocomplete.Item key="penguin">Penguin</Autocomplete.Item>
146
+ <Autocomplete.Item key="octopus">Octopus</Autocomplete.Item>
147
+ <Autocomplete.Item key="cheetah">Cheetah</Autocomplete.Item>
148
+ <Autocomplete.Item key="polar bear">Polar Bear</Autocomplete.Item>
149
+ <Autocomplete.Item key="koala">Koala</Autocomplete.Item>
150
+ <Autocomplete.Item key="dolphin">Dolphin</Autocomplete.Item>
151
+ <Autocomplete.Item key="flamingo">Flamingo</Autocomplete.Item>
152
+ <Autocomplete.Item key="elephant seal">Elephant Seal</Autocomplete.Item>
153
+ <Autocomplete.Item key="orca">Orca</Autocomplete.Item>
154
+ </Autocomplete>
155
+ </div>
156
+ );
157
+ },
158
+ };
@@ -0,0 +1,52 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv(
4
+ {
5
+ slots: {
6
+ base: 'relative flex flex-col',
7
+ label: 'block text-left text-sm font-medium text-text',
8
+ outerWrapper:
9
+ 'form-control relative flex w-full flex-row items-center overflow-hidden pr-2 disabled:form-control-disabled focus:focus-outline',
10
+ input: 'w-full appearance-none bg-[transparent] outline-none',
11
+ clearButton: 'flex cursor-default items-center justify-center text-text-50 hover:text-border-60',
12
+ },
13
+ variants: {
14
+ invalid: {
15
+ true: {
16
+ outerWrapper: 'border-danger',
17
+ },
18
+ false: {
19
+ outerWrapper: 'border-borderDark',
20
+ },
21
+ },
22
+ size: {
23
+ small: {
24
+ input: 'form-control-small',
25
+ },
26
+ medium: {
27
+ input: 'form-control-medium',
28
+ },
29
+ large: {
30
+ input: 'form-control-large',
31
+ },
32
+ xlarge: {
33
+ input: 'form-control-xlarge',
34
+ },
35
+ },
36
+ isDisabled: {
37
+ true: {
38
+ outerWrapper: 'form-control-disabled',
39
+ input: 'cursor-not-allowed',
40
+ },
41
+ false: {},
42
+ },
43
+ isFocused: {
44
+ true: {
45
+ outerWrapper: 'focus-outline',
46
+ },
47
+ false: {},
48
+ },
49
+ },
50
+ },
51
+ { responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
52
+ );
@@ -0,0 +1,20 @@
1
+ import { type ComboBoxProps } from '@react-types/combobox';
2
+ import { type AriaLabelingProps } from '@react-types/shared';
3
+ import { type ReactNode } from 'react';
4
+ import { type VariantProps } from 'tailwind-variants';
5
+
6
+ import { styles } from './autocomplete.styles.js';
7
+ import { PopoverProps } from './components/index.js';
8
+
9
+ export type AutocompleteProps<T extends object> = {
10
+ /**
11
+ * Tag to render
12
+ */
13
+ footer?: ReactNode;
14
+ /**
15
+ * Element where the popover will be rendered, by default it will be into the body
16
+ */
17
+ portalContainer?: PopoverProps['portalContainer'];
18
+ } & VariantProps<typeof styles> &
19
+ ComboBoxProps<T> &
20
+ AriaLabelingProps;
@@ -0,0 +1,2 @@
1
+ export * from './list-box/index.js';
2
+ export * from './popover/index.js';
@@ -0,0 +1,2 @@
1
+ export * from './list-box-option/index.js';
2
+ export * from './list-box-section/index.js';
@@ -0,0 +1,2 @@
1
+ export { Option } from './list-box-option.component.js';
2
+ export { type OptionProps } from './list-box-option.types.js';
@@ -0,0 +1,29 @@
1
+ import { type Node } from '@react-types/shared';
2
+ import * as React from 'react';
3
+ import { useOption } from 'react-aria';
4
+ import { type ListState } from 'react-stately';
5
+
6
+ import { styles } from './list-box-option.styles.js';
7
+
8
+ interface OptionProps<T = any> {
9
+ item: Node<T>;
10
+ state: ListState<T>;
11
+ }
12
+
13
+ export function Option({ item, state }: OptionProps) {
14
+ const ref = React.useRef<HTMLLIElement>(null);
15
+
16
+ const { optionProps, isDisabled, isSelected, isFocused } = useOption(
17
+ {
18
+ key: item.key,
19
+ },
20
+ state,
21
+ ref,
22
+ );
23
+
24
+ return (
25
+ <li {...optionProps} ref={ref} className={styles({ isFocused, isSelected, isDisabled })}>
26
+ {item.rendered}
27
+ </li>
28
+ );
29
+ }
@@ -0,0 +1,19 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv(
4
+ {
5
+ base: 'flex cursor-pointer items-center justify-between border-t border-t-border bg-white p-2 px-3 text-sm transition-colors first:border-t-0 hover:bg-hero hover:text-white focus:bg-hero focus:text-white',
6
+ variants: {
7
+ isFocused: {
8
+ true: 'bg-hero !text-white',
9
+ },
10
+ isSelected: {
11
+ true: 'font-bold',
12
+ },
13
+ isDisabled: {
14
+ true: 'text-muted',
15
+ },
16
+ },
17
+ },
18
+ { responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
19
+ );
@@ -0,0 +1,7 @@
1
+ import { type Node } from '@react-types/shared';
2
+ import { type ListState } from 'react-stately';
3
+
4
+ export type OptionProps<T = any> = {
5
+ item: Node<T>;
6
+ state: ListState<T>;
7
+ };
@@ -0,0 +1,2 @@
1
+ export { ListBoxSection } from './list-box-section.component.js';
2
+ export { type ListBoxSectionProps } from './list-box-section.types.js';
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { useListBoxSection } from 'react-aria';
3
+
4
+ import { Option } from '../list-box-option/index.js';
5
+
6
+ import { type ListBoxSectionProps } from './list-box-section.types.js';
7
+
8
+ export function ListBoxSection({ section, state }: ListBoxSectionProps) {
9
+ const { itemProps, headingProps, groupProps } = useListBoxSection({
10
+ heading: section.rendered,
11
+ 'aria-label': section['aria-label'],
12
+ });
13
+
14
+ return (
15
+ <>
16
+ <li {...itemProps} className="pt-2">
17
+ {section.rendered && (
18
+ <span {...headingProps} className="mx-3 text-xs font-bold uppercase text-text">
19
+ {section.rendered}
20
+ </span>
21
+ )}
22
+
23
+ <ul {...groupProps}>
24
+ {[...section.childNodes].map(node => (
25
+ <Option key={node.key} item={node} state={state} />
26
+ ))}
27
+ </ul>
28
+ </li>
29
+ </>
30
+ );
31
+ }
@@ -0,0 +1,7 @@
1
+ import { type Node } from '@react-types/shared';
2
+ import { ListState } from 'react-stately';
3
+
4
+ export type ListBoxSectionProps<T = any> = {
5
+ section: Node<T>;
6
+ state: ListState<T>;
7
+ };
@@ -0,0 +1,2 @@
1
+ export { ListBox } from './list-box.component.js';
2
+ export { type ListBoxProps } from './list-box.types.js';
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { useListBox } from 'react-aria';
3
+
4
+ import { ListBoxSection, Option } from './components/index.js';
5
+ import { ListBoxProps } from './list-box.types.js';
6
+
7
+ export function ListBox(props: ListBoxProps) {
8
+ const ref = React.useRef<HTMLUListElement>(null);
9
+
10
+ const { listBoxRef = ref, state } = props;
11
+
12
+ const { listBoxProps } = useListBox(props, state, listBoxRef);
13
+
14
+ return (
15
+ <ul {...listBoxProps} ref={listBoxRef} className="max-h-[400px] w-full overflow-auto outline-none">
16
+ {[...state.collection].map(item =>
17
+ item.type === 'section' ? (
18
+ <ListBoxSection key={item.key} section={item} state={state} />
19
+ ) : (
20
+ <Option key={item.key} item={item} state={state} />
21
+ ),
22
+ )}
23
+ </ul>
24
+ );
25
+ }
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { AriaListBoxOptions } from 'react-aria';
3
+ import { ListState } from 'react-stately';
4
+
5
+ export type ListBoxProps<T = any> = AriaListBoxOptions<T> & {
6
+ listBoxRef?: React.RefObject<HTMLUListElement>;
7
+ state: ListState<T>;
8
+ } & HTMLAttributes<Element>;
@@ -0,0 +1,2 @@
1
+ export { Popover } from './popover.component.js';
2
+ export { type PopoverProps } from './popover.types.js';
@@ -0,0 +1,35 @@
1
+ import { clsx } from 'clsx';
2
+ import * as React from 'react';
3
+ import { DismissButton, Overlay, usePopover } from 'react-aria';
4
+
5
+ import { PopoverProps } from './popover.types.js';
6
+
7
+ export function Popover(props: PopoverProps) {
8
+ const ref = React.useRef<HTMLDivElement>(null);
9
+ const { popoverRef = ref, state, children, className, isNonModal, portalContainer } = props;
10
+ const { popoverProps, underlayProps } = usePopover(
11
+ {
12
+ ...props,
13
+ popoverRef,
14
+ },
15
+ state,
16
+ );
17
+
18
+ const width = props.triggerRef.current?.getBoundingClientRect().width;
19
+ return (
20
+ <Overlay portalContainer={portalContainer}>
21
+ {!isNonModal && <div {...underlayProps} className="fixed inset-0" />}
22
+
23
+ <div
24
+ {...popoverProps}
25
+ style={{ ...popoverProps.style, width: width ? `${width}px` : undefined }}
26
+ ref={popoverRef}
27
+ className={clsx('z-10 border border-border bg-white shadow-lg', className)}
28
+ >
29
+ {!isNonModal && <DismissButton onDismiss={state.close} />}
30
+ {children}
31
+ <DismissButton onDismiss={state.close} />
32
+ </div>
33
+ </Overlay>
34
+ );
35
+ }