@westpac/ui 1.0.0-canary.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (601) hide show
  1. package/CHANGELOG.md +415 -6
  2. package/assets/icons/filled/arrow-back-filled.svg +3 -0
  3. package/assets/icons/filled/arrow-down-filled.svg +3 -0
  4. package/assets/icons/filled/arrow-forward-filled.svg +3 -0
  5. package/assets/icons/filled/arrow-up-filled.svg +3 -0
  6. package/assets/icons/outlined/arrow-back-outlined.svg +3 -0
  7. package/assets/icons/outlined/arrow-down-outlined.svg +3 -0
  8. package/assets/icons/outlined/arrow-forward-outlined.svg +3 -0
  9. package/assets/icons/outlined/arrow-up-outlined.svg +3 -0
  10. package/assets/logos-symbols/dark/AmericanExpressSymbol-Dm.svg +27 -0
  11. package/assets/logos-symbols/dark/ApplePaySymbol-Dm.svg +16 -0
  12. package/assets/logos-symbols/dark/AppleStoreInverseSymbol-Dm.svg +16 -0
  13. package/assets/logos-symbols/dark/AppleStoreSymbol-Dm.svg +16 -0
  14. package/assets/logos-symbols/dark/BOMLogo-Dm.svg +44 -0
  15. package/assets/logos-symbols/{BOMShieldLogo.svg → dark/BOMShieldLogo-Dm.svg} +2 -2
  16. package/assets/logos-symbols/dark/BPAYLandSymbol-Dm.svg +11 -0
  17. package/assets/logos-symbols/dark/BPAYPortSymbol-Dm.svg +11 -0
  18. package/assets/logos-symbols/dark/BSALogo-Dm.svg +16 -0
  19. package/assets/logos-symbols/dark/BSAStackedLogo-Dm.svg +16 -0
  20. package/assets/logos-symbols/dark/BTLogo-Dm.svg +5 -0
  21. package/assets/logos-symbols/dark/BTLogoReversed-Dm.svg +5 -0
  22. package/assets/logos-symbols/{PanoramaLogoReversed.svg → dark/BTPanoramaLogo-Dm.svg} +12 -12
  23. package/assets/logos-symbols/{PanoramaLogo.svg → dark/BTPanoramaReversedLogo-Dm.svg} +12 -12
  24. package/assets/logos-symbols/dark/FacebookCircularSymbol-Dm.svg +4 -0
  25. package/assets/logos-symbols/dark/FacebookSymbol-Dm.svg +5 -0
  26. package/assets/logos-symbols/dark/GooglePayInverseSymbol-Dm.svg +11 -0
  27. package/assets/logos-symbols/dark/GooglePaySymbol-Dm.svg +11 -0
  28. package/assets/logos-symbols/dark/GoogleStoreSymbol-Dm.svg +23 -0
  29. package/assets/logos-symbols/dark/InstagramSymbol-Dm.svg +11 -0
  30. package/assets/logos-symbols/{LinkedInSymbol.svg → dark/LinkedInSymbol-Dm.svg} +4 -4
  31. package/assets/logos-symbols/dark/MastercardSymbol-Dm.svg +12 -0
  32. package/assets/logos-symbols/dark/PayIDInverseSymbol-Dm.svg +10 -0
  33. package/assets/logos-symbols/dark/PayIDSymbol-Dm.svg +10 -0
  34. package/assets/logos-symbols/dark/PayToInverseSymbol-Dm.svg +10 -0
  35. package/assets/logos-symbols/dark/PayToSymbol-Dm.svg +10 -0
  36. package/assets/logos-symbols/dark/STGDragonLogo-Dm.svg +23 -0
  37. package/assets/logos-symbols/dark/STGLogo-Dm.svg +32 -0
  38. package/assets/logos-symbols/{SamsungPayButtonBlack.svg → dark/SamsungPayButtonInverseSymbol-Dm.svg} +7 -7
  39. package/assets/logos-symbols/dark/SamsungPayButtonSymbol-Dm.svg +21 -0
  40. package/assets/logos-symbols/dark/VisaBlueSymbol-Dm.svg +11 -0
  41. package/assets/logos-symbols/dark/VisaWhiteSymbol-Dm.svg +11 -0
  42. package/assets/logos-symbols/{WBCLogo.svg → dark/WBCLogo-Dm.svg} +2 -2
  43. package/assets/logos-symbols/dark/WBGInternalLogo-Dm.svg +12 -0
  44. package/assets/logos-symbols/dark/WBGLogo-Dm.svg +11 -0
  45. package/assets/logos-symbols/dark/XSymbol-Dm.svg +11 -0
  46. package/assets/logos-symbols/dark/YouTubeSymbol-Dm.svg +5 -0
  47. package/assets/logos-symbols/dark/eftposHorizontalInverseSymbol-Dm.svg +21 -0
  48. package/assets/logos-symbols/dark/eftposHorizontalSymbol-Dm.svg +21 -0
  49. package/assets/logos-symbols/dark/eftposVerticalInverseSymbol-Dm.svg +21 -0
  50. package/assets/logos-symbols/dark/eftposVerticalSymbol-Dm.svg +21 -0
  51. package/assets/logos-symbols/light/AmericanExpressSymbol-Lm.svg +27 -0
  52. package/assets/logos-symbols/light/ApplePaySymbol-Lm.svg +16 -0
  53. package/assets/logos-symbols/light/AppleStoreInverseSymbol-Lm.svg +16 -0
  54. package/assets/logos-symbols/light/AppleStoreSymbol-Lm.svg +16 -0
  55. package/assets/logos-symbols/light/BOMLogo-Lm.svg +44 -0
  56. package/assets/logos-symbols/light/BOMShieldLogo-Lm.svg +29 -0
  57. package/assets/logos-symbols/light/BPAYLandSymbol-Lm.svg +11 -0
  58. package/assets/logos-symbols/light/BPAYPortSymbol-Lm.svg +11 -0
  59. package/assets/logos-symbols/light/BSALogo-Lm.svg +16 -0
  60. package/assets/logos-symbols/light/BSAStackedLogo-Lm.svg +16 -0
  61. package/assets/logos-symbols/light/BTLogo-Lm.svg +5 -0
  62. package/assets/logos-symbols/light/BTLogoReversed-Lm.svg +5 -0
  63. package/assets/logos-symbols/light/BTPanoramaLogo-Lm.svg +20 -0
  64. package/assets/logos-symbols/light/BTPanoramaReversedLogo-Lm.svg +20 -0
  65. package/assets/logos-symbols/light/FacebookCircularSymbol-Lm.svg +4 -0
  66. package/assets/logos-symbols/light/FacebookSymbol-Lm.svg +5 -0
  67. package/assets/logos-symbols/light/GooglePayInverseSymbol-Lm.svg +11 -0
  68. package/assets/logos-symbols/light/GooglePaySymbol-Lm.svg +11 -0
  69. package/assets/logos-symbols/light/GoogleStoreSymbol-Lm.svg +23 -0
  70. package/assets/logos-symbols/light/InstagramSymbol-Lm.svg +11 -0
  71. package/assets/logos-symbols/light/LinkedInSymbol-Lm.svg +13 -0
  72. package/assets/logos-symbols/light/MastercardSymbol-Lm.svg +12 -0
  73. package/assets/logos-symbols/light/PayIDInverseSymbol-Lm.svg +10 -0
  74. package/assets/logos-symbols/light/PayIDSymbol-Lm.svg +10 -0
  75. package/assets/logos-symbols/light/PayToInverseSymbol-Lm.svg +10 -0
  76. package/assets/logos-symbols/light/PayToSymbol-Lm.svg +10 -0
  77. package/assets/logos-symbols/light/STGDragonLogo-Lm.svg +23 -0
  78. package/assets/logos-symbols/light/STGLogo-Lm.svg +32 -0
  79. package/assets/logos-symbols/{SamsungPayButtonWhite.svg → light/SamsungPayButtonInverseSymbol-Lm.svg} +7 -7
  80. package/assets/logos-symbols/light/SamsungPayButtonSymbol-Lm.svg +21 -0
  81. package/assets/logos-symbols/light/VisaBlueSymbol-Lm.svg +11 -0
  82. package/assets/logos-symbols/light/VisaWhiteSymbol-Lm.svg +11 -0
  83. package/assets/logos-symbols/light/WBCLogo-Lm.svg +12 -0
  84. package/assets/logos-symbols/light/WBGInternalLogo-Lm.svg +12 -0
  85. package/assets/logos-symbols/light/WBGLogo-Lm.svg +11 -0
  86. package/assets/logos-symbols/{XSymbol.svg → light/XSymbol-Lm.svg} +2 -2
  87. package/assets/logos-symbols/light/YouTubeSymbol-Lm.svg +5 -0
  88. package/assets/logos-symbols/light/eftposHorizontalInverseSymbol-Lm.svg +21 -0
  89. package/assets/logos-symbols/light/eftposHorizontalSymbol-Lm.svg +21 -0
  90. package/assets/logos-symbols/light/eftposVerticalInverseSymbol-Lm.svg +21 -0
  91. package/assets/logos-symbols/light/eftposVerticalSymbol-Lm.svg +21 -0
  92. package/dist/component-type.json +1 -1
  93. package/dist/components/autocomplete/components/autocomplete-list-box/autocomplete-list-box.component.js +1 -1
  94. package/dist/components/autocomplete/components/autocomplete-popover/autocomplete-popover.component.js +4 -2
  95. package/dist/components/bottom-sheet/bottom-sheet.component.js +1 -1
  96. package/dist/components/button/button.component.js +3 -2
  97. package/dist/components/button-group/components/button-group-button/button-group-button.component.js +2 -2
  98. package/dist/components/checkbox-group/checkbox-group.component.js +2 -2
  99. package/dist/components/compacta/components/compacta-item/compacta-item.component.js +2 -2
  100. package/dist/components/date-picker/components/date-field/components/date-segment/date-segment.component.js +0 -1
  101. package/dist/components/date-picker/components/date-field/components/date-segment/date-segment.styles.d.ts +2 -14
  102. package/dist/components/date-picker/components/date-field/components/date-segment/date-segment.styles.js +2 -6
  103. package/dist/components/date-picker/components/popover/popover.styles.js +1 -1
  104. package/dist/components/date-picker/date-picker.component.d.ts +1 -1
  105. package/dist/components/date-picker/date-picker.component.js +11 -2
  106. package/dist/components/date-picker/date-picker.styles.d.ts +45 -30
  107. package/dist/components/date-picker/date-picker.styles.js +22 -17
  108. package/dist/components/date-picker/date-picker.types.d.ts +11 -2
  109. package/dist/components/header/header.component.js +8 -3
  110. package/dist/components/icon/components/arrow-back-icon.d.ts +2 -0
  111. package/dist/components/icon/components/arrow-back-icon.js +12 -0
  112. package/dist/components/icon/components/arrow-down-icon.d.ts +2 -0
  113. package/dist/components/icon/components/arrow-down-icon.js +12 -0
  114. package/dist/components/icon/components/arrow-forward-icon.d.ts +2 -0
  115. package/dist/components/icon/components/arrow-forward-icon.js +12 -0
  116. package/dist/components/icon/components/arrow-up-icon.d.ts +2 -0
  117. package/dist/components/icon/components/arrow-up-icon.js +12 -0
  118. package/dist/components/icon/icon.styles.js +5 -5
  119. package/dist/components/icon/index.d.ts +4 -0
  120. package/dist/components/icon/index.js +4 -0
  121. package/dist/components/index.d.ts +1 -0
  122. package/dist/components/index.js +1 -0
  123. package/dist/components/input-group/components/input-group-supporting-text/input-group-supporting-text.styles.d.ts +1 -1
  124. package/dist/components/input-group/components/input-group-supporting-text/input-group-supporting-text.styles.js +1 -1
  125. package/dist/components/link/link.styles.d.ts +0 -6
  126. package/dist/components/link/link.styles.js +5 -7
  127. package/dist/components/modal/components/modal-dialog/components/modal-dialog-body/modal-dialog-body.styles.js +1 -1
  128. package/dist/components/modal/components/modal-dialog/modal-dialog.styles.js +1 -1
  129. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.component.d.ts +2 -0
  130. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.component.js +20 -0
  131. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.styles.d.ts +37 -0
  132. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.styles.js +8 -0
  133. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.types.d.ts +5 -0
  134. package/dist/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.types.js +1 -0
  135. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.component.d.ts +2 -0
  136. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.component.js +31 -0
  137. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.styles.d.ts +25 -0
  138. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.styles.js +6 -0
  139. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.types.d.ts +4 -0
  140. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.types.js +1 -0
  141. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.component.d.ts +2 -0
  142. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.component.js +62 -0
  143. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.styles.d.ts +82 -0
  144. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.styles.js +32 -0
  145. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.types.d.ts +8 -0
  146. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.types.js +1 -0
  147. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.component.d.ts +1 -0
  148. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.component.js +93 -0
  149. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.styles.d.ts +64 -0
  150. package/dist/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.styles.js +26 -0
  151. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.component.d.ts +2 -0
  152. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.component.js +35 -0
  153. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.styles.d.ts +43 -0
  154. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.styles.js +9 -0
  155. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.types.d.ts +5 -0
  156. package/dist/components/multi-select/components/multi-select-list-box/multi-select-list-box.types.js +1 -0
  157. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.component.d.ts +2 -0
  158. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.component.js +121 -0
  159. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.styles.d.ts +259 -0
  160. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.styles.js +91 -0
  161. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.types.d.ts +16 -0
  162. package/dist/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.types.js +1 -0
  163. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.component.d.ts +2 -0
  164. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.component.js +52 -0
  165. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.styles.d.ts +31 -0
  166. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.styles.js +7 -0
  167. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.types.d.ts +6 -0
  168. package/dist/components/multi-select/components/multi-select-popover/multi-select-popover.types.js +1 -0
  169. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.component.d.ts +2 -0
  170. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.component.js +74 -0
  171. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.styles.d.ts +31 -0
  172. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.styles.js +7 -0
  173. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.types.d.ts +6 -0
  174. package/dist/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.types.js +1 -0
  175. package/dist/components/multi-select/index.d.ts +2 -0
  176. package/dist/components/multi-select/index.js +1 -0
  177. package/dist/components/multi-select/multi-select.component.d.ts +7 -0
  178. package/dist/components/multi-select/multi-select.component.js +95 -0
  179. package/dist/components/multi-select/multi-select.styles.d.ts +25 -0
  180. package/dist/components/multi-select/multi-select.styles.js +6 -0
  181. package/dist/components/multi-select/multi-select.types.d.ts +61 -0
  182. package/dist/components/multi-select/multi-select.types.js +1 -0
  183. package/dist/components/multi-select/utils/filter-nodes.d.ts +2 -0
  184. package/dist/components/multi-select/utils/filter-nodes.js +25 -0
  185. package/dist/components/pass-code/pass-code.component.d.ts +1 -0
  186. package/dist/components/pass-code/pass-code.component.js +8 -3
  187. package/dist/components/pass-code/pass-code.types.d.ts +4 -0
  188. package/dist/components/pictogram/pictogram.styles.d.ts +6 -9
  189. package/dist/components/pictogram/pictogram.styles.js +2 -3
  190. package/dist/components/pictogram/pictogram.types.d.ts +1 -1
  191. package/dist/components/popover/components/panel/panel.component.d.ts +1 -1
  192. package/dist/components/popover/components/panel/panel.component.js +35 -17
  193. package/dist/components/popover/components/panel/panel.hook.d.ts +4 -1
  194. package/dist/components/popover/components/panel/panel.hook.js +96 -19
  195. package/dist/components/popover/components/panel/panel.styles.js +2 -2
  196. package/dist/components/popover/components/panel/panel.types.d.ts +8 -0
  197. package/dist/components/popover/popover.component.js +14 -4
  198. package/dist/components/radio-group/radio-group.component.js +2 -2
  199. package/dist/components/selector/components/selector-button-group/selector-button-group.component.d.ts +2 -1
  200. package/dist/components/selector/components/selector-button-group/selector-button-group.component.js +1 -1
  201. package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.js +1 -0
  202. package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +2 -2
  203. package/dist/components/selector/components/selector-link-group/selector-link-group.component.d.ts +2 -1
  204. package/dist/components/selector/components/selector-link-group/selector-link-group.component.js +1 -1
  205. package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.js +1 -0
  206. package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +2 -2
  207. package/dist/components/symbol/components/logos/bom-logo.d.ts +1 -1
  208. package/dist/components/symbol/components/logos/bom-logo.js +94 -146
  209. package/dist/components/symbol/components/logos/bom-multibrand-large-logo.d.ts +1 -1
  210. package/dist/components/symbol/components/logos/bom-multibrand-large-logo.js +63 -67
  211. package/dist/components/symbol/components/logos/bom-multibrand-small-logo.js +60 -60
  212. package/dist/components/symbol/components/logos/bom-shield-logo.js +49 -41
  213. package/dist/components/symbol/components/logos/bsa-logo.d.ts +1 -1
  214. package/dist/components/symbol/components/logos/bsa-logo.js +25 -31
  215. package/dist/components/symbol/components/logos/bsa-multibrand-large-logo.d.ts +1 -1
  216. package/dist/components/symbol/components/logos/bsa-multibrand-large-logo.js +10 -12
  217. package/dist/components/symbol/components/logos/bsa-multibrand-small-logo.d.ts +1 -1
  218. package/dist/components/symbol/components/logos/bsa-multibrand-small-logo.js +10 -12
  219. package/dist/components/symbol/components/logos/bsa-stacked-logo.d.ts +1 -1
  220. package/dist/components/symbol/components/logos/bsa-stacked-logo.js +25 -31
  221. package/dist/components/symbol/components/logos/bt-logo.js +4 -4
  222. package/dist/components/symbol/components/logos/bt-multibrand-large-logo.js +4 -4
  223. package/dist/components/symbol/components/logos/bt-multibrand-small-logo.js +7 -7
  224. package/dist/components/symbol/components/logos/bt-panorama-logo.js +19 -19
  225. package/dist/components/symbol/components/logos/bt-panorama-reversed-logo.js +19 -19
  226. package/dist/components/symbol/components/logos/bt-reversed-logo.js +4 -4
  227. package/dist/components/symbol/components/logos/stg-dragon-logo.d.ts +1 -1
  228. package/dist/components/symbol/components/logos/stg-dragon-logo.js +28 -18
  229. package/dist/components/symbol/components/logos/stg-logo.d.ts +1 -1
  230. package/dist/components/symbol/components/logos/stg-logo.js +37 -27
  231. package/dist/components/symbol/components/logos/stg-multibrand-large-logo.d.ts +1 -1
  232. package/dist/components/symbol/components/logos/stg-multibrand-large-logo.js +18 -15
  233. package/dist/components/symbol/components/logos/stg-multibrand-small-logo.d.ts +1 -1
  234. package/dist/components/symbol/components/logos/stg-multibrand-small-logo.js +18 -16
  235. package/dist/components/symbol/components/logos/wbc-logo.js +13 -7
  236. package/dist/components/symbol/components/logos/wbc-multibrand-large-logo.d.ts +1 -1
  237. package/dist/components/symbol/components/logos/wbc-multibrand-large-logo.js +8 -5
  238. package/dist/components/symbol/components/logos/wbc-multibrand-small-logo.js +4 -3
  239. package/dist/components/symbol/components/logos/wbg-internal-logo.d.ts +2 -0
  240. package/dist/components/symbol/components/logos/wbg-internal-logo.js +36 -0
  241. package/dist/components/symbol/components/logos/wbg-logo.d.ts +2 -0
  242. package/dist/components/symbol/components/logos/wbg-logo.js +27 -0
  243. package/dist/components/symbol/components/logos/wbg-multibrand-large-logo.d.ts +2 -0
  244. package/dist/components/symbol/components/logos/wbg-multibrand-large-logo.js +25 -0
  245. package/dist/components/symbol/components/logos/wbg-multibrand-small-logo.d.ts +2 -0
  246. package/dist/components/symbol/components/logos/wbg-multibrand-small-logo.js +21 -0
  247. package/dist/components/symbol/components/symbols/american-express-symbol.js +65 -15
  248. package/dist/components/symbol/components/symbols/apple-pay-symbol.d.ts +2 -0
  249. package/dist/components/symbol/components/symbols/apple-pay-symbol.js +42 -0
  250. package/dist/components/symbol/components/symbols/apple-store-inverse-symbol.js +26 -25
  251. package/dist/components/symbol/components/symbols/apple-store-symbol.js +26 -25
  252. package/dist/components/symbol/components/symbols/bpay-land-symbol.js +14 -10
  253. package/dist/components/symbol/components/symbols/bpay-port-symbol.js +14 -10
  254. package/dist/components/symbol/components/symbols/eftpos-horizontal-inverse-symbol.d.ts +2 -0
  255. package/dist/components/symbol/components/symbols/eftpos-horizontal-inverse-symbol.js +56 -0
  256. package/dist/components/symbol/components/symbols/eftpos-horizontal-symbol.d.ts +2 -0
  257. package/dist/components/symbol/components/symbols/eftpos-horizontal-symbol.js +56 -0
  258. package/dist/components/symbol/components/symbols/{pay-to-wordmark-dark-grey-symbol.d.ts → eftpos-vertical-inverse-symbol.d.ts} +1 -1
  259. package/dist/components/symbol/components/symbols/eftpos-vertical-inverse-symbol.js +56 -0
  260. package/dist/components/symbol/components/symbols/{pay-to-light-grey-symbol.d.ts → eftpos-vertical-symbol.d.ts} +1 -1
  261. package/dist/components/symbol/components/symbols/eftpos-vertical-symbol.js +56 -0
  262. package/dist/components/symbol/components/symbols/facebook-circular-symbol.d.ts +2 -0
  263. package/dist/components/symbol/components/symbols/facebook-circular-symbol.js +17 -0
  264. package/dist/components/symbol/components/symbols/facebook-symbol.js +9 -11
  265. package/dist/components/symbol/components/symbols/google-pay-inverse-symbol.d.ts +2 -0
  266. package/dist/components/symbol/components/symbols/google-pay-inverse-symbol.js +38 -0
  267. package/dist/components/symbol/components/symbols/google-pay-symbol.d.ts +2 -0
  268. package/dist/components/symbol/components/symbols/google-pay-symbol.js +38 -0
  269. package/dist/components/symbol/components/symbols/google-store-symbol.js +64 -121
  270. package/dist/components/symbol/components/symbols/instagram-symbol.js +15 -43
  271. package/dist/components/symbol/components/symbols/linked-in-symbol.js +19 -17
  272. package/dist/components/symbol/components/symbols/mastercard-symbol.js +16 -16
  273. package/dist/components/symbol/components/symbols/{x-mark-inverse-symbol.d.ts → pay-id-inverse-symbol.d.ts} +1 -1
  274. package/dist/components/symbol/components/symbols/pay-id-inverse-symbol.js +24 -0
  275. package/dist/components/symbol/components/symbols/pay-id-symbol.js +12 -2
  276. package/dist/components/symbol/components/symbols/pay-to-inverse-symbol.d.ts +2 -0
  277. package/dist/components/symbol/components/symbols/pay-to-inverse-symbol.js +22 -0
  278. package/dist/components/symbol/components/symbols/{x-mark-symbol.d.ts → pay-to-symbol.d.ts} +1 -1
  279. package/dist/components/symbol/components/symbols/pay-to-symbol.js +22 -0
  280. package/dist/components/symbol/components/symbols/samsung-pay-button-inverse-symbol.d.ts +2 -0
  281. package/dist/components/symbol/components/symbols/samsung-pay-button-inverse-symbol.js +55 -0
  282. package/dist/components/symbol/components/symbols/samsung-pay-button-symbol.d.ts +2 -0
  283. package/dist/components/symbol/components/symbols/samsung-pay-button-symbol.js +55 -0
  284. package/dist/components/symbol/components/symbols/visa-blue-symbol.js +12 -6
  285. package/dist/components/symbol/components/symbols/visa-white-symbol.js +12 -6
  286. package/dist/components/symbol/components/symbols/x-symbol.js +4 -4
  287. package/dist/components/symbol/components/symbols/youtube-symbol.js +8 -26
  288. package/dist/components/symbol/index.d.ts +17 -23
  289. package/dist/components/symbol/index.js +17 -23
  290. package/dist/components/symbol/symbol.types.d.ts +0 -4
  291. package/dist/components/tooltip/components/tooltip-content/tooltip-content.component.d.ts +1 -1
  292. package/dist/components/tooltip/components/tooltip-content/tooltip-content.component.js +4 -2
  293. package/dist/components/tooltip/components/tooltip-content/tooltip-content.styles.d.ts +16 -1
  294. package/dist/components/tooltip/components/tooltip-content/tooltip-content.styles.js +7 -1
  295. package/dist/components/tooltip/components/tooltip-content/tooltip-content.types.d.ts +1 -0
  296. package/dist/components/tooltip/tooltip.component.d.ts +1 -1
  297. package/dist/components/tooltip/tooltip.component.js +5 -4
  298. package/dist/components/tooltip/tooltip.types.d.ts +3 -0
  299. package/dist/css/westpac-ui.css +284 -165
  300. package/dist/css/westpac-ui.min.css +284 -165
  301. package/package.json +17 -13
  302. package/src/components/autocomplete/components/autocomplete-list-box/autocomplete-list-box.component.tsx +1 -1
  303. package/src/components/autocomplete/components/autocomplete-popover/autocomplete-popover.component.tsx +2 -2
  304. package/src/components/bottom-sheet/bottom-sheet.component.tsx +1 -1
  305. package/src/components/button/button.component.tsx +2 -1
  306. package/src/components/button-group/components/button-group-button/button-group-button.component.tsx +2 -2
  307. package/src/components/checkbox-group/checkbox-group.component.tsx +1 -1
  308. package/src/components/compacta/components/compacta-item/compacta-item.component.tsx +2 -2
  309. package/src/components/date-picker/components/calendar/components/calendar-cell/calendar-cell.types.ts +0 -4
  310. package/src/components/date-picker/components/date-field/components/date-segment/date-segment.component.tsx +0 -1
  311. package/src/components/date-picker/components/date-field/components/date-segment/date-segment.styles.ts +2 -6
  312. package/src/components/date-picker/components/popover/popover.styles.ts +1 -1
  313. package/src/components/date-picker/date-picker.component.tsx +15 -2
  314. package/src/components/date-picker/date-picker.styles.ts +22 -18
  315. package/src/components/date-picker/date-picker.types.ts +12 -3
  316. package/src/components/header/header.component.tsx +10 -6
  317. package/src/components/icon/components/arrow-back-icon.tsx +17 -0
  318. package/src/components/icon/components/arrow-down-icon.tsx +17 -0
  319. package/src/components/icon/components/arrow-forward-icon.tsx +17 -0
  320. package/src/components/icon/components/arrow-up-icon.tsx +17 -0
  321. package/src/components/icon/icon.styles.ts +5 -5
  322. package/src/components/icon/index.ts +4 -0
  323. package/src/components/index.ts +1 -0
  324. package/src/components/input-group/components/input-group-supporting-text/input-group-supporting-text.styles.ts +1 -1
  325. package/src/components/link/link.component.tsx +1 -0
  326. package/src/components/link/link.styles.ts +5 -7
  327. package/src/components/modal/components/modal-dialog/components/modal-dialog-body/modal-dialog-body.styles.ts +1 -1
  328. package/src/components/modal/components/modal-dialog/modal-dialog.component.tsx +1 -0
  329. package/src/components/modal/components/modal-dialog/modal-dialog.styles.ts +1 -1
  330. package/src/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.component.tsx +26 -0
  331. package/src/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.styles.ts +9 -0
  332. package/src/components/multi-select/components/multi-select-dropdown/multi-select-dropdown.types.ts +6 -0
  333. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.component.tsx +42 -0
  334. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.styles.ts +7 -0
  335. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-list-box-section/multi-select-list-box-section.types.ts +5 -0
  336. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.component.tsx +66 -0
  337. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.styles.ts +33 -0
  338. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-option/multi-select-option.types.ts +7 -0
  339. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.component.tsx +104 -0
  340. package/src/components/multi-select/components/multi-select-list-box/components/multi-select-select-all-option/multi-select-select-all-option.styles.ts +21 -0
  341. package/src/components/multi-select/components/multi-select-list-box/multi-select-list-box.component.tsx +42 -0
  342. package/src/components/multi-select/components/multi-select-list-box/multi-select-list-box.styles.ts +10 -0
  343. package/src/components/multi-select/components/multi-select-list-box/multi-select-list-box.types.ts +6 -0
  344. package/src/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.component.tsx +139 -0
  345. package/src/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.styles.ts +70 -0
  346. package/src/components/multi-select/components/multi-select-list-box-trigger/multi-select-list-box-trigger.types.ts +21 -0
  347. package/src/components/multi-select/components/multi-select-popover/multi-select-popover.component.tsx +64 -0
  348. package/src/components/multi-select/components/multi-select-popover/multi-select-popover.styles.ts +8 -0
  349. package/src/components/multi-select/components/multi-select-popover/multi-select-popover.types.ts +8 -0
  350. package/src/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.component.tsx +81 -0
  351. package/src/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.styles.ts +8 -0
  352. package/src/components/multi-select/components/multi-select-searchbar/multi-select-searchbar.types.ts +7 -0
  353. package/src/components/multi-select/index.ts +2 -0
  354. package/src/components/multi-select/multi-select.component.tsx +116 -0
  355. package/src/components/multi-select/multi-select.styles.ts +7 -0
  356. package/src/components/multi-select/multi-select.types.ts +60 -0
  357. package/src/components/multi-select/utils/filter-nodes.ts +29 -0
  358. package/src/components/pass-code/pass-code.component.tsx +11 -4
  359. package/src/components/pass-code/pass-code.types.ts +4 -0
  360. package/src/components/pictogram/pictogram.styles.ts +2 -3
  361. package/src/components/pictogram/pictogram.types.ts +1 -1
  362. package/src/components/popover/components/panel/panel.component.tsx +50 -26
  363. package/src/components/popover/components/panel/panel.hook.tsx +101 -27
  364. package/src/components/popover/components/panel/panel.styles.ts +2 -2
  365. package/src/components/popover/components/panel/panel.types.ts +8 -0
  366. package/src/components/popover/popover.component.tsx +16 -2
  367. package/src/components/radio-group/radio-group.component.tsx +1 -1
  368. package/src/components/selector/components/selector-button-group/selector-button-group.component.tsx +1 -1
  369. package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.tsx +6 -1
  370. package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +1 -1
  371. package/src/components/selector/components/selector-link-group/selector-link-group.component.tsx +1 -1
  372. package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.tsx +6 -1
  373. package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +1 -1
  374. package/src/components/symbol/components/logos/bom-logo.tsx +87 -141
  375. package/src/components/symbol/components/logos/bom-multibrand-large-logo.tsx +22 -27
  376. package/src/components/symbol/components/logos/bom-multibrand-small-logo.tsx +20 -20
  377. package/src/components/symbol/components/logos/bom-shield-logo.tsx +27 -21
  378. package/src/components/symbol/components/logos/bsa-logo.tsx +49 -57
  379. package/src/components/symbol/components/logos/bsa-multibrand-large-logo.tsx +28 -31
  380. package/src/components/symbol/components/logos/bsa-multibrand-small-logo.tsx +28 -31
  381. package/src/components/symbol/components/logos/bsa-stacked-logo.tsx +49 -57
  382. package/src/components/symbol/components/logos/bt-logo.tsx +6 -3
  383. package/src/components/symbol/components/logos/bt-multibrand-large-logo.tsx +4 -4
  384. package/src/components/symbol/components/logos/bt-multibrand-small-logo.tsx +7 -7
  385. package/src/components/symbol/components/logos/bt-panorama-logo.tsx +21 -18
  386. package/src/components/symbol/components/logos/bt-panorama-reversed-logo.tsx +21 -18
  387. package/src/components/symbol/components/logos/bt-reversed-logo.tsx +6 -3
  388. package/src/components/symbol/components/logos/stg-dragon-logo.tsx +77 -68
  389. package/src/components/symbol/components/logos/stg-logo.tsx +113 -104
  390. package/src/components/symbol/components/logos/stg-multibrand-large-logo.tsx +45 -42
  391. package/src/components/symbol/components/logos/stg-multibrand-small-logo.tsx +44 -42
  392. package/src/components/symbol/components/logos/wbc-logo.tsx +16 -9
  393. package/src/components/symbol/components/logos/wbc-multibrand-large-logo.tsx +22 -19
  394. package/src/components/symbol/components/logos/wbc-multibrand-small-logo.tsx +3 -2
  395. package/src/components/symbol/components/logos/wbg-internal-logo.tsx +51 -0
  396. package/src/components/symbol/components/logos/wbg-logo.tsx +41 -0
  397. package/src/components/symbol/components/logos/wbg-multibrand-large-logo.tsx +38 -0
  398. package/src/components/symbol/components/logos/wbg-multibrand-small-logo.tsx +38 -0
  399. package/src/components/symbol/components/symbols/american-express-symbol.tsx +73 -17
  400. package/src/components/symbol/components/symbols/apple-pay-symbol.tsx +61 -0
  401. package/src/components/symbol/components/symbols/apple-store-inverse-symbol.tsx +22 -20
  402. package/src/components/symbol/components/symbols/apple-store-symbol.tsx +21 -19
  403. package/src/components/symbol/components/symbols/bpay-land-symbol.tsx +10 -3
  404. package/src/components/symbol/components/symbols/bpay-port-symbol.tsx +10 -3
  405. package/src/components/symbol/components/symbols/eftpos-horizontal-inverse-symbol.tsx +74 -0
  406. package/src/components/symbol/components/symbols/eftpos-horizontal-symbol.tsx +74 -0
  407. package/src/components/symbol/components/symbols/eftpos-vertical-inverse-symbol.tsx +74 -0
  408. package/src/components/symbol/components/symbols/eftpos-vertical-symbol.tsx +74 -0
  409. package/src/components/symbol/components/symbols/facebook-circular-symbol.tsx +32 -0
  410. package/src/components/symbol/components/symbols/facebook-symbol.tsx +12 -7
  411. package/src/components/symbol/components/symbols/google-pay-inverse-symbol.tsx +60 -0
  412. package/src/components/symbol/components/symbols/google-pay-symbol.tsx +60 -0
  413. package/src/components/symbol/components/symbols/google-store-symbol.tsx +79 -99
  414. package/src/components/symbol/components/symbols/instagram-symbol.tsx +12 -24
  415. package/src/components/symbol/components/symbols/linked-in-symbol.tsx +17 -7
  416. package/src/components/symbol/components/symbols/mastercard-symbol.tsx +13 -16
  417. package/src/components/symbol/components/symbols/pay-id-inverse-symbol.tsx +37 -0
  418. package/src/components/symbol/components/symbols/pay-id-symbol.tsx +13 -4
  419. package/src/components/symbol/components/symbols/pay-to-inverse-symbol.tsx +35 -0
  420. package/src/components/symbol/components/symbols/pay-to-symbol.tsx +35 -0
  421. package/src/components/symbol/components/symbols/samsung-pay-button-inverse-symbol.tsx +79 -0
  422. package/src/components/symbol/components/symbols/samsung-pay-button-symbol.tsx +79 -0
  423. package/src/components/symbol/components/symbols/visa-blue-symbol.tsx +9 -4
  424. package/src/components/symbol/components/symbols/visa-white-symbol.tsx +9 -4
  425. package/src/components/symbol/components/symbols/x-symbol.tsx +4 -4
  426. package/src/components/symbol/components/symbols/youtube-symbol.tsx +9 -14
  427. package/src/components/symbol/index.ts +17 -23
  428. package/src/components/symbol/symbol.types.ts +0 -4
  429. package/src/components/tooltip/components/tooltip-content/tooltip-content.component.tsx +2 -2
  430. package/src/components/tooltip/components/tooltip-content/tooltip-content.styles.ts +7 -1
  431. package/src/components/tooltip/components/tooltip-content/tooltip-content.types.ts +1 -0
  432. package/src/components/tooltip/tooltip.component.tsx +9 -4
  433. package/src/components/tooltip/tooltip.types.ts +4 -0
  434. package/utils/build-svg-zip/index.ts +1 -1
  435. package/assets/logos-symbols/AmericanExpressSymbol.svg +0 -13
  436. package/assets/logos-symbols/AppleStoreBlack.svg +0 -16
  437. package/assets/logos-symbols/AppleStoreWhite.svg +0 -16
  438. package/assets/logos-symbols/Apple_Pay.svg +0 -16
  439. package/assets/logos-symbols/BOMLogo.svg +0 -44
  440. package/assets/logos-symbols/BOMMultibrandLargeLogoCenter.svg +0 -23
  441. package/assets/logos-symbols/BOMMultibrandLargeLogoLeft.svg +0 -23
  442. package/assets/logos-symbols/BOMMultibrandLargeLogoRight.svg +0 -30
  443. package/assets/logos-symbols/BOMMultibrandSmallLogoCenter.svg +0 -22
  444. package/assets/logos-symbols/BOMMultibrandSmallLogoLeft.svg +0 -22
  445. package/assets/logos-symbols/BOMMultibrandSmallLogoRight.svg +0 -22
  446. package/assets/logos-symbols/BPayLandSymbol.svg +0 -11
  447. package/assets/logos-symbols/BPayPortSymbol.svg +0 -11
  448. package/assets/logos-symbols/BSALogo.svg +0 -16
  449. package/assets/logos-symbols/BSAMultibrandLargeLogoCenter.svg +0 -5
  450. package/assets/logos-symbols/BSAMultibrandLargeLogoLeft.svg +0 -5
  451. package/assets/logos-symbols/BSAMultibrandLargeLogoRight.svg +0 -5
  452. package/assets/logos-symbols/BSAMultibrandSmallLogoCenter.svg +0 -5
  453. package/assets/logos-symbols/BSAMultibrandSmallLogoLeft.svg +0 -5
  454. package/assets/logos-symbols/BSAMultibrandSmallLogoRight.svg +0 -5
  455. package/assets/logos-symbols/BSAStackedLogo.svg +0 -16
  456. package/assets/logos-symbols/BTLogo.svg +0 -5
  457. package/assets/logos-symbols/BTLogoReversed.svg +0 -5
  458. package/assets/logos-symbols/BTMultibrandLargeLogoCenter.svg +0 -5
  459. package/assets/logos-symbols/BTMultibrandLargeLogoLeft.svg +0 -5
  460. package/assets/logos-symbols/BTMultibrandLargeLogoRight.svg +0 -12
  461. package/assets/logos-symbols/BTMultibrandSmallLogoCenter.svg +0 -12
  462. package/assets/logos-symbols/BTMultibrandSmallLogoLeft.svg +0 -12
  463. package/assets/logos-symbols/BTMultibrandSmallLogoRight.svg +0 -12
  464. package/assets/logos-symbols/BTPanoramaMultibrandLargeLogoCenter.svg +0 -20
  465. package/assets/logos-symbols/BTPanoramaMultibrandLargeLogoLeft.svg +0 -20
  466. package/assets/logos-symbols/BTPanoramaMultibrandLargeLogoRight.svg +0 -20
  467. package/assets/logos-symbols/BTPanoramaMultibrandSmallLogoCenter.svg +0 -20
  468. package/assets/logos-symbols/BTPanoramaMultibrandSmallLogoLeft.svg +0 -20
  469. package/assets/logos-symbols/BTPanoramaMultibrandSmallLogoRight.svg +0 -20
  470. package/assets/logos-symbols/FacebookSymbol.svg +0 -11
  471. package/assets/logos-symbols/GooglePlusSymbol.svg +0 -19
  472. package/assets/logos-symbols/GoogleStoreSymbol.svg +0 -45
  473. package/assets/logos-symbols/InstagramSymbol.svg +0 -21
  474. package/assets/logos-symbols/MastercardAcceptedSymbol.svg +0 -15
  475. package/assets/logos-symbols/MastercardHorizontalSymbol.svg +0 -14
  476. package/assets/logos-symbols/MastercardSymbol.svg +0 -7
  477. package/assets/logos-symbols/MicrosoftStoreSymbol.svg +0 -16
  478. package/assets/logos-symbols/PayIDSymbol.svg +0 -10
  479. package/assets/logos-symbols/PrototypeLargeLogoCentre.svg +0 -9
  480. package/assets/logos-symbols/PrototypeLargeLogoLeft.svg +0 -9
  481. package/assets/logos-symbols/PrototypeLargeLogoRight.svg +0 -9
  482. package/assets/logos-symbols/PrototypeLogo.svg +0 -9
  483. package/assets/logos-symbols/PrototypeSmallLogoCentre.svg +0 -9
  484. package/assets/logos-symbols/PrototypeSmallLogoLeft.svg +0 -9
  485. package/assets/logos-symbols/PrototypeSmallLogoRight.svg +0 -9
  486. package/assets/logos-symbols/RAMSLogo.svg +0 -37
  487. package/assets/logos-symbols/RAMSMultibrandLargeLogoCenter.svg +0 -37
  488. package/assets/logos-symbols/RAMSMultibrandLargeLogoLeft.svg +0 -37
  489. package/assets/logos-symbols/RAMSMultibrandLargeLogoRight.svg +0 -37
  490. package/assets/logos-symbols/RAMSMultibrandSmallLogoCenter.svg +0 -37
  491. package/assets/logos-symbols/RAMSMultibrandSmallLogoLeft.svg +0 -37
  492. package/assets/logos-symbols/RAMSMultibrandSmallLogoRight.svg +0 -37
  493. package/assets/logos-symbols/RedAvatarCircleLogo.svg +0 -12
  494. package/assets/logos-symbols/RedAvatarCircleReversedLogo.svg +0 -11
  495. package/assets/logos-symbols/RedAvatarLogo.svg +0 -11
  496. package/assets/logos-symbols/STGDragonLogo.svg +0 -23
  497. package/assets/logos-symbols/STGLogo.svg +0 -32
  498. package/assets/logos-symbols/STGMultibrandLargeLogoCenter.svg +0 -9
  499. package/assets/logos-symbols/STGMultibrandLargeLogoLeft.svg +0 -9
  500. package/assets/logos-symbols/STGMultibrandLargeLogoRight.svg +0 -9
  501. package/assets/logos-symbols/STGMultibrandSmallLogoCenter.svg +0 -9
  502. package/assets/logos-symbols/STGMultibrandSmallLogoLeft.svg +0 -9
  503. package/assets/logos-symbols/STGMultibrandSmallLogoRight.svg +0 -16
  504. package/assets/logos-symbols/SamsungPayCTA-AddtoBlack.svg +0 -26
  505. package/assets/logos-symbols/SamsungPayCTA-AddtoWhite.svg +0 -26
  506. package/assets/logos-symbols/SamsungPayCTA-DonateBlack.svg +0 -32
  507. package/assets/logos-symbols/SamsungPayCTA-DonateWhite.svg +0 -32
  508. package/assets/logos-symbols/SamsungPayCTA-PartnerBlack.svg +0 -34
  509. package/assets/logos-symbols/SamsungPayCTA-PartnerWhite.svg +0 -34
  510. package/assets/logos-symbols/SamsungPayCTA-PaywithBlack.svg +0 -29
  511. package/assets/logos-symbols/SamsungPayCTA-PaywithWhite.svg +0 -29
  512. package/assets/logos-symbols/SamsungPayHorizontalBlack.svg +0 -19
  513. package/assets/logos-symbols/SamsungPayVerticalBlack.svg +0 -12
  514. package/assets/logos-symbols/SamsungPayVerticalWhite.svg +0 -12
  515. package/assets/logos-symbols/SamsungPayWhite.svg +0 -19
  516. package/assets/logos-symbols/SlackSymbol.svg +0 -14
  517. package/assets/logos-symbols/VisaBlueSymbol.svg +0 -11
  518. package/assets/logos-symbols/VisaSymbol.svg +0 -10
  519. package/assets/logos-symbols/VisaWhiteSymbol.svg +0 -11
  520. package/assets/logos-symbols/WBCMultibrandLargeLogoCenter.svg +0 -3
  521. package/assets/logos-symbols/WBCMultibrandLargeLogoLeft.svg +0 -3
  522. package/assets/logos-symbols/WBCMultibrandLargeLogoRight.svg +0 -3
  523. package/assets/logos-symbols/WBCMultibrandSmallLogoCenter.svg +0 -3
  524. package/assets/logos-symbols/WBCMultibrandSmallLogoLeft.svg +0 -3
  525. package/assets/logos-symbols/WBCMultibrandSmallLogoRight.svg +0 -3
  526. package/assets/logos-symbols/XBlack.svg +0 -3
  527. package/assets/logos-symbols/XWhite.svg +0 -3
  528. package/assets/logos-symbols/YammerSymbol.svg +0 -11
  529. package/assets/logos-symbols/YouTubeSymbol.svg +0 -16
  530. package/assets/logos-symbols/eftposHorizontalPositive.svg +0 -21
  531. package/assets/logos-symbols/eftposHorizontalReversed.svg +0 -21
  532. package/assets/logos-symbols/eftposHorizontalReversedMono.svg +0 -16
  533. package/assets/logos-symbols/eftposVerticalPositive.svg +0 -21
  534. package/assets/logos-symbols/eftposVerticalReversed.svg +0 -21
  535. package/assets/logos-symbols/eftposVerticalWhite.svg +0 -21
  536. package/assets/logos-symbols/google-pay-mark_800.svg +0 -18
  537. package/dist/components/symbol/components/logos/bt-panorama-multibrand-large-logo.d.ts +0 -2
  538. package/dist/components/symbol/components/logos/bt-panorama-multibrand-large-logo.js +0 -63
  539. package/dist/components/symbol/components/logos/bt-panorama-multibrand-small-logo.d.ts +0 -2
  540. package/dist/components/symbol/components/logos/bt-panorama-multibrand-small-logo.js +0 -63
  541. package/dist/components/symbol/components/logos/red-avatar-circle-logo.d.ts +0 -2
  542. package/dist/components/symbol/components/logos/red-avatar-circle-logo.js +0 -25
  543. package/dist/components/symbol/components/logos/red-avatar-circle-reversed-logo.d.ts +0 -2
  544. package/dist/components/symbol/components/logos/red-avatar-circle-reversed-logo.js +0 -22
  545. package/dist/components/symbol/components/logos/red-avatar-logo.d.ts +0 -2
  546. package/dist/components/symbol/components/logos/red-avatar-logo.js +0 -20
  547. package/dist/components/symbol/components/symbols/google-plus-symbol.d.ts +0 -2
  548. package/dist/components/symbol/components/symbols/google-plus-symbol.js +0 -45
  549. package/dist/components/symbol/components/symbols/mastercard-accepted-symbol.d.ts +0 -2
  550. package/dist/components/symbol/components/symbols/mastercard-accepted-symbol.js +0 -31
  551. package/dist/components/symbol/components/symbols/mastercard-horizontal-symbol.d.ts +0 -2
  552. package/dist/components/symbol/components/symbols/mastercard-horizontal-symbol.js +0 -28
  553. package/dist/components/symbol/components/symbols/microsoft-store-symbol.d.ts +0 -2
  554. package/dist/components/symbol/components/symbols/microsoft-store-symbol.js +0 -35
  555. package/dist/components/symbol/components/symbols/pay-to-black-symbol.d.ts +0 -2
  556. package/dist/components/symbol/components/symbols/pay-to-black-symbol.js +0 -16
  557. package/dist/components/symbol/components/symbols/pay-to-dark-grey-symbol.d.ts +0 -2
  558. package/dist/components/symbol/components/symbols/pay-to-dark-grey-symbol.js +0 -16
  559. package/dist/components/symbol/components/symbols/pay-to-light-grey-symbol.js +0 -16
  560. package/dist/components/symbol/components/symbols/pay-to-white-symbol.d.ts +0 -2
  561. package/dist/components/symbol/components/symbols/pay-to-white-symbol.js +0 -16
  562. package/dist/components/symbol/components/symbols/pay-to-wordmark-black-symbol.d.ts +0 -2
  563. package/dist/components/symbol/components/symbols/pay-to-wordmark-black-symbol.js +0 -25
  564. package/dist/components/symbol/components/symbols/pay-to-wordmark-dark-grey-symbol.js +0 -25
  565. package/dist/components/symbol/components/symbols/pay-to-wordmark-light-grey-symbol.d.ts +0 -2
  566. package/dist/components/symbol/components/symbols/pay-to-wordmark-light-grey-symbol.js +0 -25
  567. package/dist/components/symbol/components/symbols/pay-to-wordmark-white-symbol.d.ts +0 -2
  568. package/dist/components/symbol/components/symbols/pay-to-wordmark-white-symbol.js +0 -25
  569. package/dist/components/symbol/components/symbols/slack-symbol.d.ts +0 -2
  570. package/dist/components/symbol/components/symbols/slack-symbol.js +0 -31
  571. package/dist/components/symbol/components/symbols/twitter-symbol.d.ts +0 -2
  572. package/dist/components/symbol/components/symbols/twitter-symbol.js +0 -22
  573. package/dist/components/symbol/components/symbols/visa-symbol.d.ts +0 -2
  574. package/dist/components/symbol/components/symbols/visa-symbol.js +0 -14
  575. package/dist/components/symbol/components/symbols/x-mark-inverse-symbol.js +0 -14
  576. package/dist/components/symbol/components/symbols/x-mark-symbol.js +0 -14
  577. package/dist/components/symbol/components/symbols/yammer-symbol.d.ts +0 -2
  578. package/dist/components/symbol/components/symbols/yammer-symbol.js +0 -22
  579. package/src/components/symbol/components/logos/bt-panorama-multibrand-large-logo.tsx +0 -80
  580. package/src/components/symbol/components/logos/bt-panorama-multibrand-small-logo.tsx +0 -80
  581. package/src/components/symbol/components/logos/red-avatar-circle-logo.tsx +0 -35
  582. package/src/components/symbol/components/logos/red-avatar-circle-reversed-logo.tsx +0 -31
  583. package/src/components/symbol/components/logos/red-avatar-logo.tsx +0 -34
  584. package/src/components/symbol/components/symbols/google-plus-symbol.tsx +0 -43
  585. package/src/components/symbol/components/symbols/mastercard-accepted-symbol.tsx +0 -44
  586. package/src/components/symbol/components/symbols/mastercard-horizontal-symbol.tsx +0 -43
  587. package/src/components/symbol/components/symbols/microsoft-store-symbol.tsx +0 -38
  588. package/src/components/symbol/components/symbols/pay-to-black-symbol.tsx +0 -30
  589. package/src/components/symbol/components/symbols/pay-to-dark-grey-symbol.tsx +0 -30
  590. package/src/components/symbol/components/symbols/pay-to-light-grey-symbol.tsx +0 -30
  591. package/src/components/symbol/components/symbols/pay-to-white-symbol.tsx +0 -30
  592. package/src/components/symbol/components/symbols/pay-to-wordmark-black-symbol.tsx +0 -42
  593. package/src/components/symbol/components/symbols/pay-to-wordmark-dark-grey-symbol.tsx +0 -42
  594. package/src/components/symbol/components/symbols/pay-to-wordmark-light-grey-symbol.tsx +0 -42
  595. package/src/components/symbol/components/symbols/pay-to-wordmark-white-symbol.tsx +0 -42
  596. package/src/components/symbol/components/symbols/slack-symbol.tsx +0 -43
  597. package/src/components/symbol/components/symbols/twitter-symbol.tsx +0 -31
  598. package/src/components/symbol/components/symbols/visa-symbol.tsx +0 -28
  599. package/src/components/symbol/components/symbols/x-mark-inverse-symbol.tsx +0 -28
  600. package/src/components/symbol/components/symbols/x-mark-symbol.tsx +0 -28
  601. package/src/components/symbol/components/symbols/yammer-symbol.tsx +0 -31
@@ -0,0 +1,81 @@
1
+ import React, { useContext, useCallback, KeyboardEvent } from 'react';
2
+
3
+ import { Button } from '../../../../components/button/index.js';
4
+ import { ClearIcon, SearchIcon } from '../../../../components/icon/index.js';
5
+ import { InputGroup } from '../../../../components/input-group/index.js';
6
+ import { Input } from '../../../input/index.js';
7
+ import { MultiSelectContext } from '../../multi-select.component.js';
8
+
9
+ import { styles as searchbarStyles } from './multi-select-searchbar.styles.js';
10
+
11
+ import type { MultiSelectSearchbarProps } from './multi-select-searchbar.types.js';
12
+
13
+ export function MultiSelectSearchbar({
14
+ filterText,
15
+ setFilterText,
16
+ closeBtnRef,
17
+ }: Pick<MultiSelectSearchbarProps, 'filterText' | 'setFilterText' | 'closeBtnRef'>) {
18
+ const { size, inputRef, selectAllRef, listBoxRef } = useContext(MultiSelectContext);
19
+ const styles = searchbarStyles();
20
+ const handleInputKeyDown = useCallback(
21
+ (e: KeyboardEvent<HTMLInputElement>) => {
22
+ if (e.key === 'ArrowDown') {
23
+ e.preventDefault();
24
+ if (selectAllRef.current) {
25
+ selectAllRef.current.focus();
26
+ } else {
27
+ const firstItem = listBoxRef.current?.querySelector('[data-key]') as HTMLElement;
28
+ firstItem?.focus();
29
+ }
30
+ }
31
+ if (e.key === 'Escape' && filterText.length > 0) {
32
+ e.stopPropagation();
33
+ setFilterText('');
34
+ }
35
+ if (e.key === 'Tab' && filterText.length > 0) {
36
+ e.preventDefault();
37
+ e.stopPropagation();
38
+ closeBtnRef.current?.focus();
39
+ }
40
+ },
41
+ [filterText.length, setFilterText, selectAllRef, listBoxRef, closeBtnRef],
42
+ );
43
+ return (
44
+ <div className={styles.searchInputWrapper()}>
45
+ <InputGroup
46
+ before={{
47
+ icon: props => <SearchIcon {...props} color="muted" />,
48
+ }}
49
+ after={
50
+ filterText.length > 0 && {
51
+ inset: true,
52
+ element: (
53
+ <Button
54
+ onClick={() => {
55
+ setFilterText('');
56
+ inputRef.current?.focus();
57
+ }}
58
+ look="unstyled"
59
+ className={styles.clearButton()}
60
+ ref={closeBtnRef}
61
+ aria-label="Clear filter text"
62
+ >
63
+ <ClearIcon color="muted" size="small" />
64
+ </Button>
65
+ ),
66
+ }
67
+ }
68
+ aria-label="Filter options"
69
+ >
70
+ <Input
71
+ ref={inputRef}
72
+ size={size}
73
+ value={filterText}
74
+ onChange={e => setFilterText(e.target.value)}
75
+ onKeyDown={handleInputKeyDown}
76
+ tabIndex={-1}
77
+ />
78
+ </InputGroup>
79
+ </div>
80
+ );
81
+ }
@@ -0,0 +1,8 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv({
4
+ slots: {
5
+ searchInputWrapper: 'border-b border-b-border-muted-soft p-2',
6
+ clearButton: 'mb-0.5 px-2',
7
+ },
8
+ });
@@ -0,0 +1,7 @@
1
+ import { ButtonRef } from '../../../../components/button/button.types.js';
2
+
3
+ export type MultiSelectSearchbarProps = {
4
+ filterText: string;
5
+ setFilterText: (text: string) => void;
6
+ closeBtnRef: React.RefObject<ButtonRef>;
7
+ };
@@ -0,0 +1,2 @@
1
+ export { MultiSelect, MultiSelectItem, MultiSelectSection } from './multi-select.component.js';
2
+ export { type MultiSelectValue } from './multi-select.types.js';
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+
3
+ import { Node } from '@react-types/shared';
4
+ import React, { useRef, useState, memo, createContext } from 'react';
5
+ import { useFilter, useOverlayTrigger } from 'react-aria';
6
+ import { Item, useListState, useOverlayTriggerState } from 'react-stately';
7
+
8
+ import { MultiSelectDropdown } from './components/multi-select-dropdown/multi-select-dropdown.component.js';
9
+ import { MultiSelectListBoxTrigger } from './components/multi-select-list-box-trigger/multi-select-list-box-trigger.component.js';
10
+ import { styles as multiSelectStyles } from './multi-select.styles.js';
11
+ import { filterNodes } from './utils/filter-nodes.js';
12
+
13
+ import type {
14
+ MultiSelectContextProps,
15
+ MultiSelectItemProps,
16
+ MultiSelectProps,
17
+ MultiSelectValue,
18
+ } from './multi-select.types.js';
19
+
20
+ export const MultiSelectContext = createContext<MultiSelectContextProps>({
21
+ overlayState: {} as MultiSelectContextProps['overlayState'],
22
+ listState: {} as MultiSelectContextProps['listState'],
23
+ listBoxRef: { current: null },
24
+ buttonRef: { current: null },
25
+ popoverRef: { current: null },
26
+ selectAllRef: { current: null },
27
+ inputRef: { current: null },
28
+ filterText: '',
29
+ overlayProps: {},
30
+ });
31
+
32
+ export function BaseMultiSelect<T extends MultiSelectValue = MultiSelectValue>({
33
+ size = 'medium',
34
+ listBoxProps,
35
+ selectionMode = 'multiple',
36
+ selectedKeys,
37
+ onSelectionChange,
38
+ placeholder = 'Select',
39
+ showSingleSectionTitle = false,
40
+ placement,
41
+ portalContainer,
42
+ id,
43
+ ...props
44
+ }: MultiSelectProps<T>) {
45
+ const [filterText, setFilterText] = useState('');
46
+ const filter = useFilter({ sensitivity: 'base' });
47
+
48
+ const listState = useListState<T>({
49
+ ...props,
50
+ selectedKeys,
51
+ selectionMode,
52
+ onSelectionChange,
53
+ // Need to provide a custom filter as the default filtering in react-stately does not work with sections
54
+ // https://github.com/adobe/react-spectrum/issues/4930
55
+ filter: (nodes: Iterable<Node<T>>) =>
56
+ filterNodes(nodes, filterText, (value, string) => filter.contains(value, string)),
57
+ });
58
+
59
+ // refs
60
+ const inputRef = useRef<HTMLInputElement>(null);
61
+ const buttonRef = useRef<HTMLButtonElement>(null);
62
+ const popoverRef = useRef<HTMLDivElement>(null);
63
+ const selectAllRef = useRef<HTMLInputElement>(null);
64
+ const listBoxRef = useRef<HTMLUListElement>(null);
65
+
66
+ const overlayState = useOverlayTriggerState({
67
+ onOpenChange: isOpen => {
68
+ if (isOpen) {
69
+ requestAnimationFrame(() => {
70
+ inputRef.current?.focus();
71
+ });
72
+ }
73
+ if (!isOpen) {
74
+ buttonRef.current?.focus();
75
+ }
76
+ },
77
+ });
78
+ const { triggerProps, overlayProps } = useOverlayTrigger({ type: 'dialog' }, overlayState, buttonRef);
79
+
80
+ const styles = multiSelectStyles({});
81
+
82
+ return (
83
+ <MultiSelectContext.Provider
84
+ value={{
85
+ filterText,
86
+ size,
87
+ overlayState,
88
+ listState,
89
+ buttonRef,
90
+ popoverRef,
91
+ placement,
92
+ selectAllRef,
93
+ listBoxRef,
94
+ inputRef,
95
+ overlayProps,
96
+ portalContainer,
97
+ }}
98
+ >
99
+ <div className={styles.root()}>
100
+ <MultiSelectListBoxTrigger
101
+ placeholder={placeholder}
102
+ selectedKeys={selectedKeys}
103
+ showSingleSectionTitle={showSingleSectionTitle}
104
+ triggerProps={triggerProps}
105
+ id={id}
106
+ />
107
+ {overlayState.isOpen && <MultiSelectDropdown setFilterText={setFilterText} {...listBoxProps} />}
108
+ </div>
109
+ </MultiSelectContext.Provider>
110
+ );
111
+ }
112
+ export const MultiSelect = memo(BaseMultiSelect);
113
+
114
+ // Exporting react-stately's Item with custom props/naming and Section with custom naming to align with other components
115
+ export const MultiSelectItem = Item as (props: MultiSelectItemProps) => JSX.Element;
116
+ export { Section as MultiSelectSection } from 'react-stately';
@@ -0,0 +1,7 @@
1
+ import { tv } from 'tailwind-variants';
2
+
3
+ export const styles = tv({
4
+ slots: {
5
+ root: 'relative flex flex-col gap-1',
6
+ },
7
+ });
@@ -0,0 +1,60 @@
1
+ import { DOMProps } from '@react-types/shared';
2
+ import { Key, ReactNode, RefObject } from 'react';
3
+ import { AriaListBoxOptions, AriaPopoverProps } from 'react-aria';
4
+ import { ItemProps, ListProps, ListState, OverlayTriggerState } from 'react-stately';
5
+
6
+ import { MultiSelectSize } from './components/multi-select-list-box-trigger/multi-select-list-box-trigger.types.js';
7
+
8
+ export type MultiSelectContextProps<T extends object = object> = {
9
+ size?: MultiSelectSize;
10
+ overlayState: OverlayTriggerState;
11
+ listState: ListState<T>;
12
+ buttonRef: RefObject<HTMLButtonElement>;
13
+ listBoxRef: RefObject<HTMLUListElement>;
14
+ popoverRef: RefObject<HTMLDivElement>;
15
+ selectAllRef: RefObject<HTMLInputElement>;
16
+ inputRef: RefObject<HTMLInputElement>;
17
+ filterText: string;
18
+ overlayProps: DOMProps;
19
+ placement?: AriaPopoverProps['placement'];
20
+ portalContainer?: Element;
21
+ };
22
+
23
+ export type MultiSelectItemProps<T extends object = object> = { description?: string } & ItemProps<T>;
24
+
25
+ // Props for the items that can be passed to the MultiSelect component
26
+ export type MultiSelectValue = { textValue?: string; content?: ReactNode; key: Key; description?: string };
27
+
28
+ export type MultiSelectProps<T> = {
29
+ /**
30
+ * Props for the list box within the multi-select
31
+ */
32
+ listBoxProps?: Omit<AriaListBoxOptions<T>, 'state' | 'selectionMode'>;
33
+ /**
34
+ * id for the base multi-select container for accessibility/other uses
35
+ */
36
+ id?: string;
37
+ /**
38
+ * Placeholder text for the input
39
+ */
40
+ placeholder?: string;
41
+ /**
42
+ * Manual placement of the dropdown, will flip automatically if there is not enough space
43
+ * @default bottom
44
+ */
45
+ placement?: AriaPopoverProps['placement'];
46
+ /**
47
+ * Element where the popover will be rendered, by default it will be into the body
48
+ */
49
+ portalContainer?: Element;
50
+ /**
51
+ * Whether to show the section for the selected option in the field i.e. "Transaction: Savings" rather than "Savings"
52
+ * NOTE: Only works with single selectionMode multi-selects
53
+ */
54
+ showSingleSectionTitle?: boolean;
55
+ /**
56
+ * Size of input
57
+ * @default medium
58
+ */
59
+ size?: MultiSelectSize;
60
+ } & ListProps<T>;
@@ -0,0 +1,29 @@
1
+ import { Node } from '@react-types/shared';
2
+
3
+ export function filterNodes<T>(
4
+ nodes: Iterable<Node<T>>,
5
+ filterText: string,
6
+ contains: (value: string, search: string) => boolean,
7
+ ): Iterable<Node<T>> {
8
+ if (!filterText) return nodes;
9
+
10
+ const arr = Array.from(nodes);
11
+
12
+ return arr.flatMap((node: Node<T>) => {
13
+ if (node.type !== 'section') {
14
+ return contains(node.textValue ?? '', filterText) ? [node] : [];
15
+ }
16
+
17
+ // See https://github.com/adobe/react-spectrum/discussions/4348 for why this deprecation is ignored
18
+ // eslint-disable-next-line sonarjs/deprecation
19
+ const childNodesArr = Array.from(node.childNodes || []);
20
+ const matchedChildren: Node<T>[] = childNodesArr.filter((child: Node<T>) =>
21
+ contains(child.textValue ?? '', filterText),
22
+ );
23
+
24
+ if (matchedChildren.length === 0) return [];
25
+
26
+ const sectionWithMatches = { ...node, childNodes: matchedChildren } as Node<T>;
27
+ return [sectionWithMatches];
28
+ });
29
+ }
@@ -18,7 +18,10 @@ import { styles as passCodeStyles } from './pass-code.styles.js';
18
18
  import { PassCodeProps, PassCodeRef } from './pass-code.types.js';
19
19
 
20
20
  export const PassCode = forwardRef<PassCodeRef, PassCodeProps>(
21
- ({ length, value, onChange, onComplete, className, type = 'alphanumeric', onBlur, ...props }, ref) => {
21
+ (
22
+ { length, value, onChange, onComplete, onPasteComplete, className, type = 'alphanumeric', onBlur, ...props },
23
+ ref,
24
+ ) => {
22
25
  const [internalPasscode, setInternalPasscode] = useState<string[]>(Array.from({ length }).map(() => ''));
23
26
  const passcode = value ? value : internalPasscode;
24
27
  const inputRefs = useRef<(HTMLInputElement | null)[]>([]);
@@ -84,11 +87,15 @@ export const PassCode = forwardRef<PassCodeRef, PassCodeProps>(
84
87
  } else {
85
88
  setInternalPasscode(newPasscode);
86
89
  }
87
- if (newPasscode.filter(passcode => !passcode).length === 0 && onComplete) {
88
- onComplete(newPasscode.join(''));
90
+ if (newPasscode.filter(passcode => !passcode).length === 0) {
91
+ if (onPasteComplete) {
92
+ onPasteComplete(newPasscode.join(''));
93
+ } else if (onComplete) {
94
+ onComplete(newPasscode.join(''));
95
+ }
89
96
  }
90
97
  },
91
- [passcode, length, onChange, onComplete, type],
98
+ [passcode, length, onChange, onComplete, onPasteComplete, type],
92
99
  );
93
100
 
94
101
  const handleKeyDown = useCallback(
@@ -20,6 +20,10 @@ export type PassCodeProps = {
20
20
  * Callback when the passcode is completely typed
21
21
  */
22
22
  onComplete?: (passcode: string) => void;
23
+ /**
24
+ * Callback when the passcode is completely pasted
25
+ */
26
+ onPasteComplete?: (passcode: string) => void;
23
27
  /**
24
28
  * Type of passcode input
25
29
  */
@@ -8,9 +8,8 @@ export const fill = tv({
8
8
  base: '',
9
9
  variants: {
10
10
  mode: {
11
- dark: 'fill-surface-pictogram-base',
12
- light: 'fill-surface-mono',
13
- reversed: 'fill-surface-reversed',
11
+ base: 'fill-surface-pictogram-base',
12
+ mono: 'fill-surface-mono',
14
13
  duo: '',
15
14
  },
16
15
  highlight: {
@@ -1,6 +1,6 @@
1
1
  import { type SVGAttributes } from 'react';
2
2
 
3
- export type PictogramMode = 'dark' | 'light' | 'duo' | 'reversed';
3
+ export type PictogramMode = 'base' | 'mono' | 'duo';
4
4
 
5
5
  export type PictogramProps = SVGAttributes<SVGElement> & {
6
6
  /**
@@ -1,9 +1,9 @@
1
- import React, { useRef } from 'react';
2
- import { FocusScope } from 'react-aria';
1
+ import React, { useEffect, useRef } from 'react';
3
2
  import { createPortal } from 'react-dom';
4
3
 
5
4
  import { useBreakpoint } from '../../../../hook/breakpoints.hook.js';
6
5
  import { resolveResponsiveVariant } from '../../../../utils/breakpoint.util.js';
6
+ import { ButtonRef } from '../../../button/button.types.js';
7
7
  import { Button } from '../../../button/index.js';
8
8
  import { CloseIcon } from '../../../icon/index.js';
9
9
 
@@ -16,42 +16,66 @@ export function BasePanel({
16
16
  heading,
17
17
  headingTag: Tag = 'h1',
18
18
  content,
19
- placement = 'bottom',
19
+ placement = 'top',
20
20
  id,
21
21
  triggerRef,
22
+ onClose,
23
+ open,
22
24
  portal,
23
25
  }: PanelProps) {
24
26
  const popoverRef = useRef<HTMLDivElement>(null);
25
27
  const arrowRef = useRef<HTMLDivElement>(null);
26
28
  const breakpoint = useBreakpoint();
27
- const resolvedPlacement = resolveResponsiveVariant(placement, breakpoint);
28
- const { popoverPosition, arrowPosition } = usePanel({ state, placement: resolvedPlacement, triggerRef, portal });
29
+ const headingRef = useRef<HTMLHeadingElement>(null);
30
+ const buttonRef = useRef<ButtonRef>(null);
31
+ const { popoverPosition, arrowPosition, localPlacement } = usePanel({
32
+ state,
33
+ placement,
34
+ triggerRef,
35
+ portal,
36
+ popoverRef,
37
+ });
38
+ const resolvedPlacement = resolveResponsiveVariant(localPlacement, breakpoint);
29
39
 
30
40
  const styles = panelStyles({ placement: resolvedPlacement });
41
+ useEffect(() => {
42
+ if (state.isOpen && !open) {
43
+ if (headingRef.current) {
44
+ headingRef.current.focus();
45
+ } else {
46
+ buttonRef.current?.focus();
47
+ }
48
+ }
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, [state.isOpen]);
51
+
31
52
  return (
32
- <FocusScope autoFocus restoreFocus>
33
- <div style={popoverPosition} className={styles.popover()} test-id="popover" id={id} ref={popoverRef}>
34
- <div className={styles.content()}>
35
- {heading && (
36
- <Tag tabIndex={0} className={styles.heading()}>
37
- {heading}
38
- </Tag>
39
- )}
40
- <div className={styles.body()} tabIndex={0}>
41
- {content}
42
- </div>
43
- <Button
44
- look="link"
45
- size="small"
46
- onClick={() => state.close()}
47
- className={styles.closeBtn()}
48
- iconAfter={() => <CloseIcon color="primary" size="small" aria-hidden />}
49
- aria-label="Close popover"
50
- />
53
+ <div style={popoverPosition} className={styles.popover()} test-id="popover" id={id} ref={popoverRef} role="dialog">
54
+ <div className={styles.content()}>
55
+ {heading && (
56
+ <Tag className={styles.heading()} tabIndex={-1} ref={headingRef}>
57
+ {heading}
58
+ </Tag>
59
+ )}
60
+ <div className={styles.body()} id="popover-content">
61
+ {content}
51
62
  </div>
52
- <div aria-hidden className={styles.arrow()} style={arrowPosition} test-id="arrow" ref={arrowRef} />
63
+ <Button
64
+ look="link"
65
+ tag="button"
66
+ size="small"
67
+ ref={buttonRef}
68
+ onClick={() => {
69
+ onClose?.();
70
+ state.close();
71
+ }}
72
+ className={styles.closeBtn()}
73
+ iconAfter={() => <CloseIcon color="primary" size="small" aria-hidden />}
74
+ aria-label="Close popover"
75
+ />
53
76
  </div>
54
- </FocusScope>
77
+ <div aria-hidden className={styles.arrow()} style={arrowPosition} test-id="arrow" ref={arrowRef} />
78
+ </div>
55
79
  );
56
80
  }
57
81