@transferwise/components 0.0.0-experimental-a9f68ee → 0.0.0-experimental-fe362df
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.
- package/build/i18n/en.json +1 -0
- package/build/index.esm.js +34 -25
- package/build/index.esm.js.map +1 -1
- package/build/index.js +34 -25
- package/build/index.js.map +1 -1
- package/build/types/info/Info.d.ts +1 -1
- package/build/types/info/Info.d.ts.map +1 -1
- package/build/types/info/Info.messages.d.ts +8 -0
- package/build/types/info/Info.messages.d.ts.map +1 -0
- package/build/types/summary/Summary.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/i18n/en.json +1 -0
- package/src/info/Info.messages.ts +8 -0
- package/src/info/Info.spec.js +10 -4
- package/src/info/Info.tsx +5 -2
- package/src/popover/Popover.js +1 -1
- package/src/popover/__snapshots__/Popover.spec.js.snap +2 -2
- package/src/summary/Summary.tsx +0 -1
- package/src/typeahead/Typeahead.story.js +6 -0
- package/src/typeahead/typeaheadOption/TypeaheadOption.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../src/info/Info.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../src/info/Info.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAQ,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOjE,MAAM,WAAW,KAAK;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC;CAC/B;AAED,QAAA,MAAM,IAAI,6GASP,KAAK,gCAiDP,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Info.messages.d.ts","sourceRoot":"","sources":["../../../src/info/Info.messages.ts"],"names":[],"mappings":";;;;;;AAEA,wBAKG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../../../src/summary/Summary.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7D,OAAO,EAEL,UAAU,EACV,aAAa,EACb,aAAa,EAId,MAAM,WAAW,CAAC;AACnB,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAqB1C,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC,GAAG;QACvE,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC;IACF;;OAEG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,SAAS,CAAC;QACnB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;IACxF;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC;IACpD;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"Summary.d.ts","sourceRoot":"","sources":["../../../src/summary/Summary.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7D,OAAO,EAEL,UAAU,EACV,aAAa,EACb,aAAa,EAId,MAAM,WAAW,CAAC;AACnB,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAqB1C,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC,GAAG;QACvE,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC;IACF;;OAEG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,SAAS,CAAC;QACnB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;IACxF;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC;IACpD;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,QAAA,MAAM,OAAO,6GAYV,KAAK,gCAoFP,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
package/package.json
CHANGED
package/src/i18n/en.json
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"neptune.DateLookup.twentyYears": "20 years",
|
|
16
16
|
"neptune.DateLookup.year": "year",
|
|
17
17
|
"neptune.FlowNavigation.back": "back to previous step",
|
|
18
|
+
"neptune.Info.ariaLabel": "More information",
|
|
18
19
|
"neptune.Link.opensInNewTab": "(opens in new tab)",
|
|
19
20
|
"neptune.MoneyInput.Select.placeholder": "Select an option...",
|
|
20
21
|
"neptune.Select.searchPlaceholder": "Search...",
|
package/src/info/Info.spec.js
CHANGED
|
@@ -3,11 +3,11 @@ import { act, render, fireEvent, waitFor, screen } from '../test-utils';
|
|
|
3
3
|
import Info, { InfoPresentation } from '.';
|
|
4
4
|
|
|
5
5
|
describe('Info', () => {
|
|
6
|
+
const defaultScreenReaderLabel = 'More information';
|
|
6
7
|
const props = {
|
|
7
8
|
content: 'content',
|
|
8
9
|
className: 'className',
|
|
9
10
|
title: 'title',
|
|
10
|
-
'aria-label': 'aria-label',
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
it('calls onClick on click event', async () => {
|
|
@@ -57,9 +57,15 @@ describe('Info', () => {
|
|
|
57
57
|
});
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
it('accepts custom label for screen readers', () => {
|
|
61
|
+
const customScreenReaderLabel = 'Custom message';
|
|
62
|
+
render(<Info {...props} aria-label={customScreenReaderLabel} />);
|
|
63
|
+
|
|
64
|
+
expect(screen.getByLabelText(customScreenReaderLabel)).toBeInTheDocument();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const getTriggerButton = () => screen.queryByLabelText(defaultScreenReaderLabel);
|
|
68
|
+
const getPopover = () => screen.queryByRole('dialog');
|
|
63
69
|
const getModal = () => screen.queryByRole('dialog');
|
|
64
70
|
|
|
65
71
|
const openPopover = async () => {
|
package/src/info/Info.tsx
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { QuestionMarkCircle as HelpCircleIcon } from '@transferwise/icons';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
+
import { useIntl } from 'react-intl';
|
|
4
5
|
|
|
5
6
|
import { Size, Position, SizeSmall, SizeLarge } from '../common';
|
|
6
7
|
import Modal from '../modal';
|
|
7
8
|
import Popover from '../popover';
|
|
8
9
|
|
|
10
|
+
import messages from './Info.messages';
|
|
9
11
|
import { InfoPresentation } from './infoPresentations';
|
|
10
12
|
|
|
11
13
|
export interface Props {
|
|
12
|
-
'aria-label'
|
|
14
|
+
'aria-label'?: string;
|
|
13
15
|
/**
|
|
14
16
|
* Extra classes applied to Info
|
|
15
17
|
*/
|
|
@@ -47,8 +49,9 @@ const Info = ({
|
|
|
47
49
|
'aria-label': ariaLabel,
|
|
48
50
|
preferredPlacement = Position.BOTTOM,
|
|
49
51
|
}: Props) => {
|
|
52
|
+
const intl = useIntl();
|
|
50
53
|
const [open, setOpen] = useState(false);
|
|
51
|
-
|
|
54
|
+
ariaLabel ??= intl.formatMessage(messages.ariaLabel);
|
|
52
55
|
const isModal = presentation === InfoPresentation.MODAL;
|
|
53
56
|
const isSmall = size === Size.SMALL;
|
|
54
57
|
|
package/src/popover/Popover.js
CHANGED
|
@@ -39,7 +39,7 @@ const Popover = ({ children, className, content, preferredPlacement, title }) =>
|
|
|
39
39
|
<div
|
|
40
40
|
className={isModern ? 'np-popover__content np-text-default-body' : 'np-popover__content'}
|
|
41
41
|
aria-hidden={!open}
|
|
42
|
-
role="
|
|
42
|
+
role="dialog"
|
|
43
43
|
>
|
|
44
44
|
{title && (
|
|
45
45
|
<Title type={Typography.TITLE_BODY} className="m-b-1">
|
|
@@ -14,7 +14,7 @@ exports[`Popover on desktop renders when is open 1`] = `
|
|
|
14
14
|
<div
|
|
15
15
|
aria-hidden="false"
|
|
16
16
|
class="np-popover__content"
|
|
17
|
-
role="
|
|
17
|
+
role="dialog"
|
|
18
18
|
>
|
|
19
19
|
<h4
|
|
20
20
|
class="np-text-title-body m-b-1"
|
|
@@ -89,7 +89,7 @@ exports[`Popover on mobile renders when is open 1`] = `
|
|
|
89
89
|
<div
|
|
90
90
|
aria-hidden="false"
|
|
91
91
|
class="np-popover__content"
|
|
92
|
-
role="
|
|
92
|
+
role="dialog"
|
|
93
93
|
>
|
|
94
94
|
<h4
|
|
95
95
|
class="np-text-title-body m-b-1"
|
package/src/summary/Summary.tsx
CHANGED
|
@@ -114,3 +114,9 @@ export const Basic = () => {
|
|
|
114
114
|
/>
|
|
115
115
|
);
|
|
116
116
|
};
|
|
117
|
+
|
|
118
|
+
Basic.play = async ({ canvasElement }) => {
|
|
119
|
+
const canvas = within(canvasElement);
|
|
120
|
+
userEvent.type(canvas.getByRole('combobox'), 'abc');
|
|
121
|
+
userEvent.type(canvas.getByRole('combobox'), '{arrowDown}');
|
|
122
|
+
};
|
|
@@ -16,7 +16,7 @@ const Option = (props) => {
|
|
|
16
16
|
'tw-dropdown-item--focused': selected,
|
|
17
17
|
})}
|
|
18
18
|
>
|
|
19
|
-
<a className="dropdown-item" href="#" onClick={onClick}>
|
|
19
|
+
<a className="dropdown-item" href="#" tabIndex={-1} onClick={onClick}>
|
|
20
20
|
<span>{hightlight(label, query)}</span>
|
|
21
21
|
{note && <span className="np-text-body-default m-l-1">{note}</span>}
|
|
22
22
|
{secondary && <span className="np-text-body-default text-ellipsis">{secondary}</span>}
|