@westpac/ui 0.55.1 → 0.55.3

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.
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import throttle from 'lodash.throttle';
3
- import React, { useEffect, useState } from 'react';
3
+ import React, { useCallback, useEffect, useState } from 'react';
4
4
  import { ArrowLeftIcon, HamburgerMenuIcon } from '../icon/index.js';
5
5
  import { Button, SkipLink } from '../index.js';
6
6
  import { BOMMultibrandLargeLogo, BOMMultibrandSmallLogo, BSAMultibrandLargeLogo, BSAMultibrandSmallLogo, RAMSMultibrandLargeLogo, RAMSMultibrandSmallLogo, STGMultibrandLargeLogo, STGMultibrandSmallLogo, WBCMultibrandLargeLogo, WBCMultibrandSmallLogo, WBGMultibrandLargeLogo, WBGMultibrandSmallLogo } from '../symbol/index.js';
@@ -59,14 +59,19 @@ export function Header({ anchorTarget, brand, className, children, disableLogoLi
59
59
  leftIcon,
60
60
  scrolled: isScrolled || scrolled
61
61
  });
62
- const HeaderLogo = ()=>React.createElement(React.Fragment, null, React.createElement(SmallLogo, {
62
+ const HeaderLogo = useCallback(()=>React.createElement(React.Fragment, null, React.createElement(SmallLogo, {
63
63
  align: logoAlignment,
64
64
  "aria-label": logoAssistiveText,
65
65
  className: styles.smallLogo()
66
66
  }), React.createElement(LargeLogo, {
67
67
  "aria-label": logoAssistiveText,
68
68
  className: styles.largeLogo()
69
- }));
69
+ })), [
70
+ logoAlignment,
71
+ logoAssistiveText,
72
+ LargeLogo,
73
+ SmallLogo
74
+ ]);
70
75
  const defaultAssistiveText = leftIcon === 'arrow' ? 'Back' : 'Menu';
71
76
  return React.createElement("header", {
72
77
  className: styles.base({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@westpac/ui",
3
- "version": "0.55.1",
3
+ "version": "0.55.3",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -215,7 +215,7 @@
215
215
  "@storybook/addon-a11y": "10.1.4",
216
216
  "@storybook/addon-docs": "10.1.4",
217
217
  "@storybook/addon-links": "10.1.4",
218
- "@storybook/addon-mcp": "~0.1.4",
218
+ "@storybook/addon-mcp": "~0.1.6",
219
219
  "@storybook/addon-themes": "~10.1.4",
220
220
  "@storybook/react-vite": "10.1.4",
221
221
  "@swc/cli": "^0.1.62",
@@ -256,8 +256,8 @@
256
256
  "typescript": "^5.5.4",
257
257
  "vite": "^7.0.8",
258
258
  "vitest": "^3.2.4",
259
- "@westpac/test-config": "~0.0.0",
260
259
  "@westpac/eslint-config": "~1.0.1",
260
+ "@westpac/test-config": "~0.0.0",
261
261
  "@westpac/ts-config": "~0.0.0"
262
262
  },
263
263
  "dependencies": {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import throttle from 'lodash.throttle';
4
- import React, { useEffect, useState } from 'react';
4
+ import React, { useCallback, useEffect, useState } from 'react';
5
5
 
6
6
  import { ArrowLeftIcon, HamburgerMenuIcon } from '../icon/index.js';
7
7
  import { Button, SkipLink } from '../index.js';
@@ -98,11 +98,15 @@ export function Header({
98
98
 
99
99
  const styles = headerStyles({ logoCenter, fixed, leftIcon, scrolled: isScrolled || scrolled });
100
100
 
101
- const HeaderLogo = () => (
102
- <>
103
- <SmallLogo align={logoAlignment} aria-label={logoAssistiveText} className={styles.smallLogo()} />
104
- <LargeLogo aria-label={logoAssistiveText} className={styles.largeLogo()} />
105
- </>
101
+ const HeaderLogo = useCallback(
102
+ () => (
103
+ <>
104
+ <SmallLogo align={logoAlignment} aria-label={logoAssistiveText} className={styles.smallLogo()} />
105
+ <LargeLogo aria-label={logoAssistiveText} className={styles.largeLogo()} />
106
+ </>
107
+ ),
108
+ // eslint-disable-next-line react-hooks/exhaustive-deps
109
+ [logoAlignment, logoAssistiveText, LargeLogo, SmallLogo],
106
110
  );
107
111
 
108
112
  const defaultAssistiveText = leftIcon === 'arrow' ? 'Back' : 'Menu';