@transferwise/components 0.0.0-experimental-27ef3d4 → 0.0.0-experimental-d7dd655

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 +1 @@
1
- {"version":3,"file":"_Popover.mjs","sources":["../../src/inputs/_Popover.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n type Placement,\n shift,\n size as floatingSize,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { Transition } from '@headlessui/react';\nimport { FocusScope } from '@react-aria/focus';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useState } from 'react';\n\nimport { PreventScroll } from '../common/preventScroll/PreventScroll';\n\nexport interface PopoverProps {\n placement?: Placement;\n open: boolean;\n renderTrigger: (args: {\n ref: React.RefCallback<Element>;\n getInteractionProps: (customEventHandlers?: React.HTMLProps<Element>) => {\n [key: string]: unknown;\n };\n }) => React.ReactNode;\n title?: string;\n size?: 'md' | 'lg';\n padding?: 'none' | 'md';\n children?: React.ReactNode;\n onClose?: () => void;\n onCloseEnd?: () => void;\n}\n\nconst floatingPadding = 16;\n\nexport function Popover({\n placement,\n open,\n renderTrigger,\n title,\n size = 'md',\n padding = 'md',\n children,\n onClose,\n onCloseEnd,\n}: PopoverProps) {\n const { refs, floatingStyles, context } = useFloating<Element>({\n placement,\n middleware: [\n offset(8),\n flip({ padding: floatingPadding }),\n shift(),\n floatingSize({\n padding: floatingPadding,\n apply: ({ elements, rects, availableHeight }) => {\n elements.floating.style.setProperty('--max-height', `${availableHeight}px`);\n elements.floating.style.setProperty('--width', `${rects.reference.width}px`);\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: (value) => {\n if (!value) {\n onClose?.();\n }\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([role, dismiss]);\n\n const [floatingKey, setFloatingKey] = useState(0);\n\n const { theme, screenMode } = useTheme();\n\n return (\n <>\n {open ? <PreventScroll /> : null}\n {renderTrigger({\n ref: refs.setReference,\n getInteractionProps: getReferenceProps,\n })}\n\n <FloatingPortal>\n <ThemeProvider theme=\"personal\" screenMode={theme === 'personal' ? screenMode : 'light'}>\n <Transition\n as=\"div\"\n show={open}\n leave=\"transition-opacity\"\n leaveTo=\"opacity-0\"\n beforeEnter={() => {\n setFloatingKey((prev) => prev + 1);\n }}\n afterLeave={onCloseEnd}\n >\n <FocusScope>\n <FloatingFocusManager context={context}>\n <div\n key={floatingKey} // Force inner state invalidation on open\n ref={refs.setFloating}\n className={clsx('np-popover-v2-container', {\n 'np-popover-v2-container--size-md': size === 'md',\n 'np-popover-v2-container--size-lg': size === 'lg',\n })}\n style={floatingStyles}\n {...getFloatingProps()}\n >\n <div\n className={clsx('np-popover-v2', title && 'np-popover-v2--has-title', {\n 'np-popover-v2--padding-md': padding === 'md',\n })}\n >\n {title ? (\n <h2 className=\"np-popover-v2-title np-text-title-body\">{title}</h2>\n ) : null}\n <div className=\"np-popover-v2-content np-text-body-default\">{children}</div>\n </div>\n </div>\n </FloatingFocusManager>\n </FocusScope>\n </Transition>\n </ThemeProvider>\n </FloatingPortal>\n </>\n );\n}\n"],"names":["floatingPadding","Popover","placement","open","renderTrigger","title","size","padding","children","onClose","onCloseEnd","refs","floatingStyles","context","useFloating","middleware","offset","flip","shift","floatingSize","apply","elements","rects","availableHeight","floating","style","setProperty","reference","width","whileElementsMounted","autoUpdate","onOpenChange","value","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","floatingKey","setFloatingKey","useState","theme","screenMode","useTheme","_jsxs","_Fragment","_jsx","PreventScroll","ref","setReference","getInteractionProps","FloatingPortal","ThemeProvider","Transition","as","show","leave","leaveTo","beforeEnter","prev","afterLeave","FocusScope","FloatingFocusManager","setFloating","className","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"_Popover.mjs","sources":["../../src/inputs/_Popover.tsx"],"sourcesContent":["import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n type Placement,\n shift,\n size as floatingSize,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { Transition } from '@headlessui/react';\nimport { FocusScope } from '@react-aria/focus';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useState } from 'react';\n\nimport { PreventScroll } from '../common/preventScroll/PreventScroll';\n\nexport interface PopoverProps {\n placement?: Placement;\n open: boolean;\n renderTrigger: (args: {\n ref: React.RefCallback<Element>;\n getInteractionProps: (customEventHandlers?: React.HTMLProps<Element>) => {\n [key: string]: unknown;\n };\n }) => React.ReactNode;\n title?: string;\n size?: 'md' | 'lg';\n padding?: 'none' | 'md';\n children?: React.ReactNode;\n onClose?: () => void;\n onCloseEnd?: () => void;\n}\n\nconst floatingPadding = 16;\n\nexport function Popover({\n placement,\n open,\n renderTrigger,\n title,\n size = 'md',\n padding = 'md',\n children,\n onClose,\n onCloseEnd,\n}: PopoverProps) {\n const { refs, floatingStyles, context } = useFloating<Element>({\n placement,\n middleware: [\n offset(8),\n flip({ padding: floatingPadding, crossAxis: false }),\n shift(),\n floatingSize({\n padding: floatingPadding,\n apply: ({ elements, rects, availableHeight }) => {\n elements.floating.style.setProperty('--max-height', `${availableHeight}px`);\n elements.floating.style.setProperty('--width', `${rects.reference.width}px`);\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: (value) => {\n if (!value) {\n onClose?.();\n }\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([role, dismiss]);\n\n const [floatingKey, setFloatingKey] = useState(0);\n\n const { theme, screenMode } = useTheme();\n\n return (\n <>\n {open ? <PreventScroll /> : null}\n {renderTrigger({\n ref: refs.setReference,\n getInteractionProps: getReferenceProps,\n })}\n\n <FloatingPortal>\n <ThemeProvider theme=\"personal\" screenMode={theme === 'personal' ? screenMode : 'light'}>\n <Transition\n show={open}\n leave=\"transition-opacity\"\n leaveTo=\"opacity-0\"\n beforeEnter={() => {\n setFloatingKey((prev) => prev + 1);\n }}\n afterLeave={onCloseEnd}\n >\n <FocusScope>\n <FloatingFocusManager context={context}>\n <div\n key={floatingKey} // Force inner state invalidation on open\n ref={refs.setFloating}\n className={clsx('np-popover-v2-container', {\n 'np-popover-v2-container--size-md': size === 'md',\n 'np-popover-v2-container--size-lg': size === 'lg',\n })}\n style={floatingStyles}\n {...getFloatingProps()}\n >\n <div\n className={clsx('np-popover-v2', title && 'np-popover-v2--has-title', {\n 'np-popover-v2--padding-md': padding === 'md',\n })}\n >\n {title ? (\n <h2 className=\"np-popover-v2-title np-text-title-body\">{title}</h2>\n ) : null}\n <div className=\"np-popover-v2-content np-text-body-default\">{children}</div>\n </div>\n </div>\n </FloatingFocusManager>\n </FocusScope>\n </Transition>\n </ThemeProvider>\n </FloatingPortal>\n </>\n );\n}\n"],"names":["floatingPadding","Popover","placement","open","renderTrigger","title","size","padding","children","onClose","onCloseEnd","refs","floatingStyles","context","useFloating","middleware","offset","flip","crossAxis","shift","floatingSize","apply","elements","rects","availableHeight","floating","style","setProperty","reference","width","whileElementsMounted","autoUpdate","onOpenChange","value","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","floatingKey","setFloatingKey","useState","theme","screenMode","useTheme","_jsxs","_Fragment","_jsx","PreventScroll","ref","setReference","getInteractionProps","FloatingPortal","ThemeProvider","Transition","show","leave","leaveTo","beforeEnter","prev","afterLeave","FocusScope","FloatingFocusManager","setFloating","className","clsx"],"mappings":"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"}
package/build/main.css CHANGED
@@ -1025,7 +1025,7 @@
1025
1025
  }
1026
1026
  .np-avatar-view .np-avatar-view-content {
1027
1027
  color: #37517e;
1028
- color: var(--color-content-primary);
1028
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
1029
1029
  }
1030
1030
  .np-avatar-view-interactive {
1031
1031
  cursor: pointer;
@@ -26,7 +26,7 @@
26
26
  }
27
27
  .np-avatar-view .np-avatar-view-content {
28
28
  color: #37517e;
29
- color: var(--color-content-primary);
29
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
30
30
  }
31
31
  .np-avatar-view-interactive {
32
32
  cursor: pointer;
@@ -1025,7 +1025,7 @@
1025
1025
  }
1026
1026
  .np-avatar-view .np-avatar-view-content {
1027
1027
  color: #37517e;
1028
- color: var(--color-content-primary);
1028
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
1029
1029
  }
1030
1030
  .np-avatar-view-interactive {
1031
1031
  cursor: pointer;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectInput.d.ts","sourceRoot":"","sources":["../../../src/inputs/SelectInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectInput.d.ts","sourceRoot":"","sources":["../../../src/inputs/SelectInput.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"_BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/inputs/_BottomSheet.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,KAAK,EACL,eAAe,EACf,OAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,gBAAgB,+BA4FlB"}
1
+ {"version":3,"file":"_BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/inputs/_BottomSheet.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,KAAK,EACL,eAAe,EACf,OAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,gBAAgB,+BAyFlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"_Popover.d.ts","sourceRoot":"","sources":["../../../src/inputs/_Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EAOf,MAAM,oBAAoB,CAAC;AAS5B,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,IAAW,EACX,OAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,YAAY,+BAkFd"}
1
+ {"version":3,"file":"_Popover.d.ts","sourceRoot":"","sources":["../../../src/inputs/_Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EAOf,MAAM,oBAAoB,CAAC;AAS5B,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,mBAAmB,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YACvE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAID,wBAAgB,OAAO,CAAC,EACtB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,KAAK,EACL,IAAW,EACX,OAAc,EACd,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,YAAY,+BAiFd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-27ef3d4",
3
+ "version": "0.0.0-experimental-d7dd655",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -56,7 +56,7 @@
56
56
  "@storybook/react-webpack5": "10.2.0-alpha.13",
57
57
  "@testing-library/dom": "^10.4.1",
58
58
  "@testing-library/jest-dom": "^6.9.1",
59
- "@testing-library/react": "^16.3.2",
59
+ "@testing-library/react": "^16.3.1",
60
60
  "@testing-library/user-event": "^14.6.1",
61
61
  "@transferwise/icons": "^4.0.2",
62
62
  "@tsconfig/recommended": "^1.0.13",
@@ -78,7 +78,6 @@
78
78
  "jest": "^30.2.0",
79
79
  "jest-environment-jsdom": "^29.7.0",
80
80
  "jest-fetch-mock": "^3.0.3",
81
- "jsdom-testing-mocks": "^1.16.0",
82
81
  "lodash.times": "^4.3.2",
83
82
  "react-intl": "^7.1.11",
84
83
  "rollup": "^4.54.0",
@@ -88,7 +87,7 @@
88
87
  "storybook-addon-test-codegen": "^3.0.1",
89
88
  "@transferwise/less-config": "3.1.2",
90
89
  "@transferwise/neptune-css": "14.26.1",
91
- "@wise/components-theming": "1.10.0",
90
+ "@wise/components-theming": "1.10.1",
92
91
  "@wise/wds-configs": "0.0.0"
93
92
  },
94
93
  "peerDependencies": {
@@ -104,7 +103,7 @@
104
103
  "dependencies": {
105
104
  "@babel/runtime": "^7.28.4",
106
105
  "@floating-ui/react": "^0.27.16",
107
- "@headlessui/react": "^2.2.9",
106
+ "@headlessui/react": "^1.7.19",
108
107
  "@popperjs/core": "^2.11.8",
109
108
  "@react-aria/focus": "^3.21.3",
110
109
  "@react-aria/overlays": "^3.31.0",
@@ -4,6 +4,7 @@ import AvatarLayout, { AvatarLayoutProps } from '.';
4
4
  import { Freeze, Graph, Plane, Rewards } from '@transferwise/icons';
5
5
  import { Flag } from '@wise/art';
6
6
  import Body from '../body';
7
+ import SentimentSurface from '../sentimentSurface';
7
8
 
8
9
  export default {
9
10
  title: 'Content/AvatarLayout',
@@ -283,3 +284,54 @@ export const EdgeInstances: Story = {
283
284
  </div>
284
285
  ),
285
286
  };
287
+
288
+ /**
289
+ * Like [AvatarView](?path=/docs/content-avatarview--docs#sentiment-awareness), `AvatarLayout` is sentiment-aware and will automatically adjust its colours if wrapped inside the
290
+ * [SentimentSurface](?path=/docs/content-sentimentsurface--docs) component.
291
+ */
292
+ export const SentimentAwareness: Story = {
293
+ parameters: {
294
+ docs: {
295
+ canvas: {
296
+ sourceState: 'hidden',
297
+ },
298
+ },
299
+ },
300
+ render: (args) => (
301
+ <>
302
+ {(['success', 'warning', 'negative', 'neutral', 'proposition'] as const).map((sentiment) =>
303
+ (['base', 'elevated'] as const).map((emphasis) => (
304
+ <SentimentSurface
305
+ key={`${sentiment}-${emphasis}`}
306
+ sentiment={sentiment}
307
+ emphasis={emphasis}
308
+ className="p-a-1 d-flex"
309
+ style={{ gap: 'var(--size-16)' }}
310
+ >
311
+ <AvatarLayout avatars={[{ asset: <Freeze /> }, { asset: <Freeze /> }]} />
312
+ <AvatarLayout
313
+ orientation="diagonal"
314
+ avatars={[{ asset: <Freeze /> }, { asset: <Freeze /> }]}
315
+ />
316
+ </SentimentSurface>
317
+ )),
318
+ )}
319
+ </>
320
+ ),
321
+ decorators: [
322
+ (Story: () => JSX.Element) => (
323
+ <div
324
+ style={{
325
+ width: '100%',
326
+ display: 'grid',
327
+ gridTemplateColumns: 'min-content min-content',
328
+ justifyContent: 'center',
329
+ gap: '1rem',
330
+ maxWidth: '800px',
331
+ }}
332
+ >
333
+ <Story />
334
+ </div>
335
+ ),
336
+ ],
337
+ };
@@ -26,7 +26,7 @@
26
26
  }
27
27
  .np-avatar-view .np-avatar-view-content {
28
28
  color: #37517e;
29
- color: var(--color-content-primary);
29
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
30
30
  }
31
31
  .np-avatar-view-interactive {
32
32
  cursor: pointer;
@@ -2,7 +2,7 @@
2
2
 
3
3
  .np-avatar-view {
4
4
  .np-avatar-view-content {
5
- color: var(--color-content-primary);
5
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
6
6
  }
7
7
 
8
8
  &-interactive {
@@ -17,12 +17,15 @@ import {
17
17
  Transport,
18
18
  Wallet,
19
19
  Water,
20
+ Bank,
21
+ GiftBox,
20
22
  } from '@transferwise/icons';
21
23
  import AvatarView, { AvatarViewProps } from '.';
22
24
  import { Flag } from '@wise/art';
23
25
  import { getBrandColorFromSeed, getInitials, ProfileType } from '../common';
24
26
  import Display from '../display';
25
27
  import Body from '../body';
28
+ import SentimentSurface from '../sentimentSurface';
26
29
 
27
30
  export default {
28
31
  title: 'Content/AvatarView',
@@ -35,6 +38,20 @@ const profileName1 = 'Wolter White';
35
38
  const profileName2 = 'Tyler Durden';
36
39
  const sizes: AvatarViewProps['size'][] = [16, 24, 32, 40, 48, 56, 72];
37
40
 
41
+ const withComponentGrid = (Story: () => JSX.Element) => (
42
+ <div
43
+ style={{
44
+ width: '100%',
45
+ display: 'flex',
46
+ flexDirection: 'column',
47
+ gap: '1rem',
48
+ maxWidth: '800px',
49
+ }}
50
+ >
51
+ <Story />
52
+ </div>
53
+ );
54
+
38
55
  export const Selected: Story = {
39
56
  render: () => {
40
57
  return (
@@ -420,6 +437,77 @@ export const Profiles: Story = {
420
437
  },
421
438
  };
422
439
 
440
+ /**
441
+ * `AvatarView` is sentiment-aware and will automatically adjust its colours if wrapped inside the
442
+ * [SentimentSurface](?path=/docs/content-sentimentsurface--docs) component.
443
+ */
444
+ export const SentimentAwareness: Story = {
445
+ parameters: {
446
+ docs: {
447
+ canvas: {
448
+ sourceState: 'hidden',
449
+ },
450
+ source: { type: 'code' },
451
+ },
452
+ },
453
+ render: () => {
454
+ return (
455
+ <>
456
+ {(['success', 'warning', 'negative', 'neutral', 'proposition'] as const).map((sentiment) => (
457
+ <SentimentSurface
458
+ key={`${sentiment}-base`}
459
+ sentiment={sentiment}
460
+ emphasis="base"
461
+ className="p-a-1 d-flex"
462
+ style={{ gap: 'var(--size-16)' }}
463
+ >
464
+ <AvatarView size={32}>
465
+ <Bank />
466
+ </AvatarView>
467
+ <AvatarView size={32} profileName="John Doe" />
468
+ <AvatarView size={32}>
469
+ <Flag code="JPY" intrinsicSize={32} />
470
+ </AvatarView>
471
+ {sentiment === 'proposition' ? (
472
+ <AvatarView
473
+ size={32}
474
+ badge={{
475
+ asset: (
476
+ <div
477
+ className="d-flex align-items-center justify-content-center"
478
+ style={{
479
+ backgroundColor: 'var(--color-sentiment-interactive-primary)',
480
+ color: 'var(--color-sentiment-interactive-control)',
481
+ width: '100%',
482
+ height: '100%',
483
+ }}
484
+ >
485
+ <GiftBox />
486
+ </div>
487
+ ),
488
+ }}
489
+ >
490
+ <Bank />
491
+ </AvatarView>
492
+ ) : (
493
+ <AvatarView size={32} badge={{ status: sentiment }}>
494
+ <Bank />
495
+ </AvatarView>
496
+ )}
497
+ <AvatarView size={32} badge={{ type: 'reference' }}>
498
+ <Bank />
499
+ </AvatarView>
500
+ <AvatarView size={32} badge={{ type: 'action' }}>
501
+ <Bank />
502
+ </AvatarView>
503
+ </SentimentSurface>
504
+ ))}
505
+ </>
506
+ );
507
+ },
508
+ decorators: [withComponentGrid],
509
+ };
510
+
423
511
  export const ProfileBrokenImageFallback: Story = {
424
512
  parameters: {
425
513
  chromatic: {
@@ -1,15 +1,19 @@
1
1
  import { screen, waitFor, within } from '@testing-library/react';
2
2
  import { userEvent } from '@testing-library/user-event';
3
- import { mockAnimationsApi } from 'jsdom-testing-mocks';
4
3
 
5
- import { render, mockMatchMedia, mockResizeObserver } from '../test-utils';
4
+ import {
5
+ render,
6
+ mockMatchMedia,
7
+ mockResizeObserver,
8
+ mockRequestAnimationFrame,
9
+ } from '../test-utils';
6
10
 
7
11
  import { SelectInput, type SelectInputOptionItem, type SelectInputProps } from './SelectInput';
8
12
  import { Field } from '../field/Field';
9
13
 
10
14
  mockMatchMedia();
11
15
  mockResizeObserver();
12
- mockAnimationsApi();
16
+ mockRequestAnimationFrame();
13
17
 
14
18
  describe('SelectInput', () => {
15
19
  it('renders placeholder', () => {
@@ -1,9 +1,4 @@
1
- import {
2
- Listbox as ListboxBase,
3
- ListboxButton,
4
- ListboxOption,
5
- ListboxOptions,
6
- } from '@headlessui/react';
1
+ import { Listbox as ListboxBase } from '@headlessui/react';
7
2
  import { Check, ChevronDown, Cross, CrossCircle } from '@transferwise/icons';
8
3
  import { clsx } from 'clsx';
9
4
  import mergeProps from 'merge-props';
@@ -394,8 +389,8 @@ export function SelectInput<T = string, M extends boolean = false>({
394
389
  <ListboxBase
395
390
  name={name}
396
391
  multiple={multiple}
397
- defaultValue={defaultValue as M extends true ? T[] : T}
398
- value={controlledValue as M extends true ? T[] : T}
392
+ defaultValue={defaultValue}
393
+ value={controlledValue}
399
394
  by={compareValues}
400
395
  disabled={disabled}
401
396
  onChange={
@@ -412,7 +407,7 @@ export function SelectInput<T = string, M extends boolean = false>({
412
407
  multiple && Array.isArray(value) ? value.length === 0 : value == null;
413
408
  return (
414
409
  <OptionsOverlay
415
- placement="bottom-end"
410
+ placement="bottom-start"
416
411
  open={open}
417
412
  renderTrigger={({ ref, getInteractionProps }) => (
418
413
  <SelectInputTriggerButtonPropsContext.Provider
@@ -542,7 +537,7 @@ export function SelectInputTriggerButton<T extends SelectInputTriggerButtonEleme
542
537
  );
543
538
 
544
539
  return (
545
- <ListboxButton
540
+ <ListboxBase.Button
546
541
  ref={ref}
547
542
  as={PolymorphicWithOverrides}
548
543
  role="combobox"
@@ -771,8 +766,7 @@ function SelectInputOptions<T = string>({
771
766
  };
772
767
 
773
768
  return (
774
- <ListboxOptions
775
- modal
769
+ <ListboxBase.Options
776
770
  as={SelectInputOptionsContainer}
777
771
  static
778
772
  className="np-select-input-options-container"
@@ -929,7 +923,7 @@ function SelectInputOptions<T = string>({
929
923
  </footer>
930
924
  ) : null}
931
925
  </section>
932
- </ListboxOptions>
926
+ </ListboxBase.Options>
933
927
  );
934
928
  }
935
929
 
@@ -1038,7 +1032,7 @@ function SelectInputOption<T = string>({ value, disabled, children }: SelectInpu
1038
1032
  const itemsCount = useContext(SelectInputItemsCountContext);
1039
1033
  const itemPosition = useContext(SelectInputItemPositionContext);
1040
1034
  return (
1041
- <ListboxOption
1035
+ <ListboxBase.Option
1042
1036
  as="div"
1043
1037
  value={value}
1044
1038
  aria-setsize={itemsCount}
@@ -1064,7 +1058,7 @@ function SelectInputOption<T = string>({ value, disabled, children }: SelectInpu
1064
1058
  />
1065
1059
  </>
1066
1060
  )}
1067
- </ListboxOption>
1061
+ </ListboxBase.Option>
1068
1062
  );
1069
1063
  }
1070
1064
 
@@ -6,7 +6,7 @@ import {
6
6
  useInteractions,
7
7
  useRole,
8
8
  } from '@floating-ui/react';
9
- import { Transition, TransitionChild } from '@headlessui/react';
9
+ import { Transition } from '@headlessui/react';
10
10
  import { FocusScope } from '@react-aria/focus';
11
11
  import { ThemeProvider, useTheme } from '@wise/components-theming';
12
12
  import { clsx } from 'clsx';
@@ -73,7 +73,6 @@ export function BottomSheet({
73
73
  <FloatingPortal>
74
74
  <ThemeProvider theme="personal" screenMode={theme === 'personal' ? screenMode : 'light'}>
75
75
  <Transition
76
- as="div"
77
76
  show={open}
78
77
  className="np-bottom-sheet-v2-container"
79
78
  beforeEnter={() => {
@@ -81,8 +80,7 @@ export function BottomSheet({
81
80
  }}
82
81
  afterLeave={onCloseEnd}
83
82
  >
84
- <TransitionChild
85
- as="div"
83
+ <Transition.Child
86
84
  className="np-bottom-sheet-v2-backdrop"
87
85
  enterFrom="np-bottom-sheet-v2-backdrop--closed"
88
86
  leaveTo="np-bottom-sheet-v2-backdrop--closed"
@@ -94,9 +92,8 @@ export function BottomSheet({
94
92
  <Fragment
95
93
  key={floatingKey} // Force inner state invalidation on open
96
94
  >
97
- <TransitionChild
95
+ <Transition.Child
98
96
  ref={refs.setFloating}
99
- as="div"
100
97
  className="np-bottom-sheet-v2-content"
101
98
  enterFrom="np-bottom-sheet-v2-content--closed"
102
99
  leaveTo="np-bottom-sheet-v2-content--closed"
@@ -124,7 +121,7 @@ export function BottomSheet({
124
121
  {children}
125
122
  </div>
126
123
  </div>
127
- </TransitionChild>
124
+ </Transition.Child>
128
125
  </Fragment>
129
126
  </FloatingFocusManager>
130
127
  </FocusScope>
@@ -54,7 +54,7 @@ export function Popover({
54
54
  placement,
55
55
  middleware: [
56
56
  offset(8),
57
- flip({ padding: floatingPadding }),
57
+ flip({ padding: floatingPadding, crossAxis: false }),
58
58
  shift(),
59
59
  floatingSize({
60
60
  padding: floatingPadding,
@@ -92,7 +92,6 @@ export function Popover({
92
92
  <FloatingPortal>
93
93
  <ThemeProvider theme="personal" screenMode={theme === 'personal' ? screenMode : 'light'}>
94
94
  <Transition
95
- as="div"
96
95
  show={open}
97
96
  leave="transition-opacity"
98
97
  leaveTo="opacity-0"
package/src/main.css CHANGED
@@ -1025,7 +1025,7 @@
1025
1025
  }
1026
1026
  .np-avatar-view .np-avatar-view-content {
1027
1027
  color: #37517e;
1028
- color: var(--color-content-primary);
1028
+ color: var(--color-sentiment-content-primary, var(--color-content-primary));
1029
1029
  }
1030
1030
  .np-avatar-view-interactive {
1031
1031
  cursor: pointer;
@@ -1,21 +1,20 @@
1
- import { mockAnimationsApi } from 'jsdom-testing-mocks';
2
1
  import {
3
2
  mockMatchMedia,
3
+ mockRequestAnimationFrame,
4
4
  mockResizeObserver,
5
5
  render,
6
6
  screen,
7
7
  userEvent,
8
- waitFor,
9
- within,
10
8
  } from '../test-utils';
11
9
 
12
10
  import { MoneyInput, CurrencyItem, CurrencyOptionItem, Field } from '..';
13
11
  import { MoneyInputPropsWithInputAttributes } from './MoneyInput';
12
+ import { within } from '@testing-library/react';
14
13
  import messages from './MoneyInput.messages';
15
14
 
16
15
  mockMatchMedia();
17
16
  mockResizeObserver();
18
- mockAnimationsApi();
17
+ mockRequestAnimationFrame();
19
18
 
20
19
  describe('Money Input', () => {
21
20
  const popularCurrencies: CurrencyOptionItem[] = [
@@ -115,30 +114,12 @@ describe('Money Input', () => {
115
114
  it('calls onCurrencyChange when the user selects a different currency', async () => {
116
115
  customRender();
117
116
  await openDropdown();
118
- await userEvent.keyboard('eur');
119
- await waitFor(() => {
120
- expect(screen.getAllByRole('option')).toHaveLength(1);
121
- });
122
- await userEvent.keyboard('{Enter}');
123
-
124
- await waitFor(() => {
125
- expect(initialProps.onCurrencyChange).toHaveBeenCalledTimes(1);
126
- });
117
+ await userEvent.keyboard('eur{Enter}');
118
+ expect(initialProps.onCurrencyChange).toHaveBeenCalledTimes(1);
127
119
  expect(initialProps.onCurrencyChange).toHaveBeenCalledWith(popularCurrencies[0]);
128
-
129
- await waitFor(() => {
130
- expect(screen.queryByRole('listbox')).not.toBeInTheDocument();
131
- });
132
120
  await openDropdown();
133
- await userEvent.keyboard('gbp');
134
- await waitFor(() => {
135
- expect(screen.getAllByRole('option')).toHaveLength(1);
136
- });
137
- await userEvent.keyboard('{Enter}');
138
-
139
- await waitFor(() => {
140
- expect(initialProps.onCurrencyChange).toHaveBeenCalledTimes(2);
141
- });
121
+ await userEvent.keyboard('gbp{Enter}');
122
+ expect(initialProps.onCurrencyChange).toHaveBeenCalledTimes(2);
142
123
  expect(initialProps.onCurrencyChange).toHaveBeenCalledWith(popularCurrencies[2]);
143
124
  });
144
125