@transferwise/components 0.0.0-experimental-a64b578 → 0.0.0-experimental-0b6896b

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":"AccordionItem.d.ts","sourceRoot":"","sources":["../../../../src/accordion/AccordionItem/AccordionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOpD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,yCAAyC;IACzC,OAAO,EAAE,SAAS,CAAC;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA6CzC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../../../src/accordion/AccordionItem/AccordionItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOpD,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,yCAAyC;IACzC,OAAO,EAAE,SAAS,CAAC;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAoDzC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -12,6 +12,7 @@ export * from "./propsValues/profileType";
12
12
  export * from "./propsValues/scroll";
13
13
  export * from "./locale";
14
14
  export * from "./commonProps";
15
+ export * from "./randomId";
15
16
  export { Breakpoint } from "./propsValues/breakpoint";
16
17
  export { Type } from "./propsValues/type";
17
18
  export { DateMode } from "./propsValues/dateMode";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * generateRandomId() function
3
+ *
4
+ * This function generates a random string of characters that can be used as
5
+ * an ID.
6
+ *
7
+ * @returns {string} A random string of characters.
8
+ * @example
9
+ * const id = generateRandomId();
10
+ * // id will be a random string of characters, such as "id-4711".
11
+ */
12
+ export declare const generateRandomId: () => string;
13
+ //# sourceMappingURL=randomId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomId.d.ts","sourceRoot":"","sources":["../../../src/common/randomId.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAEnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PromoCard.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PromoCard.d.ts","sourceRoot":"","sources":["../../../src/promoCard/PromoCard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/select/Select.js"],"names":[],"mappings":"AA8EA;;;;;;;;;;;;;;;;;;;;;;gCAieC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/select/Select.js"],"names":[],"mappings":"AA8EA;;;;;;;;;;;;;;;;;;;;;;gCAmeC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../../src/select/searchBox/SearchBox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAUxD,QAAA,MAAM,SAAS;;;;oJAwCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../../src/select/searchBox/SearchBox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAUxD,QAAA,MAAM,SAAS;;;;oJA0Cd,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-a64b578",
3
+ "version": "0.0.0-experimental-0b6896b",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -9,6 +9,7 @@ describe('AccordionItem', () => {
9
9
  title: 'This is title number one',
10
10
  content: 'Lauri Ipsum has been the industry standard dummy text ever since the 1500s.',
11
11
  open: false,
12
+ id: 'test-accordion',
12
13
  onClick: jest.fn(),
13
14
  };
14
15
 
@@ -1,3 +1,4 @@
1
+ import { useId } from '@radix-ui/react-id';
1
2
  import { useTheme } from '@wise/components-theming';
2
3
  import classNames from 'classnames';
3
4
  import { cloneElement, FC, ReactNode } from 'react';
@@ -70,11 +71,13 @@ const AccordionItem: FC<AccordionItemProps> = ({
70
71
  icon,
71
72
  theme = 'light',
72
73
  }) => {
73
- const iconElement = icon ? cloneElement(icon as JSX.Element, { size: 24 }) : null;
74
+ const iconElement = icon ? cloneElement(icon as React.ReactElement<any>, { size: 24 }) : null;
75
+ const fallbackId = useId();
76
+ const accordionId = id ?? fallbackId;
74
77
 
75
78
  return (
76
79
  <div
77
- id={id}
80
+ id={accordionId}
78
81
  className={classNames(
79
82
  'np-accordion-item',
80
83
  iconElement ? 'np-accordion-item--with-icon' : null,
@@ -90,18 +93,23 @@ const AccordionItem: FC<AccordionItemProps> = ({
90
93
  title={title}
91
94
  button={<Chevron orientation={open ? Position.TOP : Position.BOTTOM} size={Size.MEDIUM} />}
92
95
  inverseMediaCircle={false}
96
+ aria-expanded={open}
97
+ aria-controls={`${accordionId}-section`}
98
+ id={`${accordionId}-control`}
93
99
  onClick={onClick}
94
100
  />
95
101
  {open && (
96
- <Body
97
- as="span"
98
- type={Typography.BODY_LARGE}
99
- className={classNames('np-accordion-item__content', 'd-block', {
100
- 'has-icon': icon,
101
- })}
102
- >
103
- {content}
104
- </Body>
102
+ <div id={`${accordionId}-section`} role="region" aria-labelledby={`${accordionId}-control`}>
103
+ <Body
104
+ as="span"
105
+ type={Typography.BODY_LARGE}
106
+ className={classNames('np-accordion-item__content', 'd-block', {
107
+ 'has-icon': icon,
108
+ })}
109
+ >
110
+ {content}
111
+ </Body>
112
+ </div>
105
113
  )}
106
114
  </div>
107
115
  );
@@ -4,9 +4,13 @@ exports[`AccordionItem open / close renders an item closed 1`] = `
4
4
  <div>
5
5
  <div
6
6
  class="np-accordion-item"
7
+ id="test-accordion"
7
8
  >
8
9
  <button
10
+ aria-controls="test-accordion-section"
11
+ aria-expanded="false"
9
12
  class="np-option decision"
13
+ id="test-accordion-control"
10
14
  >
11
15
  <div
12
16
  class="media"
@@ -52,9 +56,13 @@ exports[`AccordionItem open / close renders an item open 1`] = `
52
56
  <div>
53
57
  <div
54
58
  class="np-accordion-item np-accordion-item--open"
59
+ id="test-accordion"
55
60
  >
56
61
  <button
62
+ aria-controls="test-accordion-section"
63
+ aria-expanded="true"
57
64
  class="np-option decision"
65
+ id="test-accordion-control"
58
66
  >
59
67
  <div
60
68
  class="media"
@@ -92,11 +100,17 @@ exports[`AccordionItem open / close renders an item open 1`] = `
92
100
  </div>
93
101
  </div>
94
102
  </button>
95
- <span
96
- class="np-text-body-large np-accordion-item__content d-block"
103
+ <div
104
+ aria-labelledby="test-accordion-control"
105
+ id="test-accordion-section"
106
+ role="region"
97
107
  >
98
- Lauri Ipsum has been the industry standard dummy text ever since the 1500s.
99
- </span>
108
+ <span
109
+ class="np-text-body-large np-accordion-item__content d-block"
110
+ >
111
+ Lauri Ipsum has been the industry standard dummy text ever since the 1500s.
112
+ </span>
113
+ </div>
100
114
  </div>
101
115
  </div>
102
116
  `;
@@ -24,3 +24,4 @@ export { FileType } from './fileType';
24
24
  export { Key } from './key';
25
25
  export * from './locale';
26
26
  export * from './commonProps';
27
+ export * from './randomId';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * generateRandomId() function
3
+ *
4
+ * This function generates a random string of characters that can be used as
5
+ * an ID.
6
+ *
7
+ * @returns {string} A random string of characters.
8
+ * @example
9
+ * const id = generateRandomId();
10
+ * // id will be a random string of characters, such as "id-4711".
11
+ */
12
+ export const generateRandomId = (): string => {
13
+ return `id-${Math.random().toString(36).slice(7)}`;
14
+ };
@@ -16,9 +16,6 @@ export default {
16
16
  buttonProps: {
17
17
  'aria-label': 'Select month',
18
18
  },
19
- dropdownProps: {
20
- 'aria-label': 'Month options',
21
- },
22
19
  },
23
20
  },
24
21
  tags: ['autodocs'],
@@ -19,9 +19,6 @@ export default {
19
19
  buttonProps: {
20
20
  'aria-label': 'Select currency',
21
21
  },
22
- dropdownProps: {
23
- 'aria-label': 'Currency options',
24
- },
25
22
  },
26
23
  },
27
24
  tags: ['autodocs'],
@@ -15,9 +15,6 @@ export const Basic = () => {
15
15
  buttonProps: {
16
16
  'aria-label': 'Select country code',
17
17
  },
18
- dropdownProps: {
19
- 'aria-label': 'Country code options',
20
- },
21
18
  });
22
19
 
23
20
  return (
@@ -3,7 +3,7 @@ import classNames from 'classnames';
3
3
  import React, { forwardRef, FunctionComponent, ReactElement, useEffect, useState } from 'react';
4
4
 
5
5
  import Body from '../body';
6
- import { Typography } from '../common';
6
+ import { Typography, generateRandomId } from '../common';
7
7
  import Card, { CardProps } from '../common/card';
8
8
  import Display from '../display';
9
9
  import Image from '../image/Image';
@@ -142,21 +142,6 @@ export type PolymorphicPromoCard = (
142
142
  props: PromoCardLinkProps | PromoCardCheckedProps,
143
143
  ) => JSX.Element;
144
144
 
145
- /**
146
- * generateRandomId() function
147
- *
148
- * This function generates a random string of characters that can be used as
149
- * an ID.
150
- *
151
- * @returns {string} A random string of characters.
152
- * @example
153
- * const id = generateRandomId();
154
- * // id will be a random string of characters, such as "id-4711".
155
- */
156
- const generateRandomId = (): string => {
157
- return `id-${Math.random().toString(36).slice(7)}`;
158
- };
159
-
160
145
  /**
161
146
  * PromoCard component.
162
147
  *
@@ -333,6 +333,8 @@ export default function Select({
333
333
  ref={optionsListReference}
334
334
  id={listboxId}
335
335
  role="listbox"
336
+ aria-orientation="vertical"
337
+ aria-activedescendant={getUniqueIdForOption(id, selected)}
336
338
  tabIndex="-1"
337
339
  className={dropdownClass}
338
340
  {...dropdownProps}
@@ -41,12 +41,6 @@ export const Basic = () => {
41
41
  return (
42
42
  <Select
43
43
  id={id}
44
- buttonProps={{
45
- 'aria-label': 'Basic button',
46
- }}
47
- dropdownProps={{
48
- 'aria-label': 'Options for basic button',
49
- }}
50
44
  size={size}
51
45
  classNames={`${hasError ? 'has-error' : ''}`}
52
46
  placeholder={placeholder}
@@ -1,11 +1,7 @@
1
- import '@testing-library/jest-dom';
2
-
3
- import { render } from '../../test-utils';
1
+ import { render, screen } from '../../test-utils';
4
2
 
5
3
  import SearchBox from '.';
6
4
 
7
- jest.mock('react-transition-group/Transition', () => jest.fn('placeholder'));
8
-
9
5
  describe('SearchBox', () => {
10
6
  const props = {
11
7
  classNames: {},
@@ -17,8 +13,8 @@ describe('SearchBox', () => {
17
13
  };
18
14
 
19
15
  it('renders', () => {
20
- const { container } = render(<SearchBox {...props} />);
16
+ render(<SearchBox {...props} />);
21
17
 
22
- expect(container).toMatchSnapshot();
18
+ expect(screen.getByRole('searchbox')).toBeInTheDocument();
23
19
  });
24
20
  });
@@ -37,6 +37,8 @@ const SearchBox = forwardRef<HTMLInputElement, Props>(
37
37
  <Input
38
38
  ref={reference}
39
39
  id={id}
40
+ role="searchbox"
41
+ inputMode="search"
40
42
  className={classnames(style('np-select-filter'))}
41
43
  placeholder={placeholder}
42
44
  value={value}
@@ -1,46 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`SearchBox renders 1`] = `
4
- <div>
5
- <li
6
- class="border-bottom"
7
- >
8
- <a
9
- class="np-select-filter-link p-a-0"
10
- >
11
- <div
12
- class="input-group"
13
- >
14
- <span
15
- class="input-group-addon input-group-addon--search"
16
- >
17
- <span
18
- aria-hidden="true"
19
- class="tw-icon tw-icon-search tw-icon tw-icon-search"
20
- data-testid="search-icon"
21
- role="presentation"
22
- >
23
- <svg
24
- fill="currentColor"
25
- focusable="false"
26
- height="24"
27
- viewBox="0 0 24 24"
28
- width="24"
29
- >
30
- <path
31
- d="m20.786 19.543-4.029-4.029c1.072-1.328 1.672-3 1.672-4.8C18.429 6.471 14.957 3 10.714 3S3 6.471 3 10.714s3.471 7.715 7.714 7.715c1.8 0 3.472-.643 4.8-1.672l4.029 4.029 1.243-1.243Zm-10.029-2.829c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6Z"
32
- />
33
- </svg>
34
- </span>
35
- </span>
36
- <input
37
- class="np-select-filter form-control np-form-control np-form-control--size-auto np-text-body-large np-input np-input--shape-rectangle"
38
- placeholder="placeholder"
39
- spellcheck="false"
40
- value="value"
41
- />
42
- </div>
43
- </a>
44
- </li>
45
- </div>
46
- `;