@transferwise/components 46.162.0 → 46.162.2

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 (90) hide show
  1. package/build/Calendar/DateHeader/DateHeader.js +2 -6
  2. package/build/Calendar/DateHeader/DateHeader.js.map +1 -1
  3. package/build/Calendar/DateHeader/DateHeader.mjs +3 -7
  4. package/build/Calendar/DateHeader/DateHeader.mjs.map +1 -1
  5. package/build/Carousel/Carousel.js +2 -2
  6. package/build/Carousel/Carousel.js.map +1 -1
  7. package/build/Carousel/Carousel.mjs +3 -3
  8. package/build/Carousel/Carousel.mjs.map +1 -1
  9. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js +4 -3
  10. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.js.map +1 -1
  11. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs +4 -3
  12. package/build/Inputs/SelectInput/OptionContent/SelectInputOptionContent.mjs.map +1 -1
  13. package/build/ListItem/Navigation/ListItemNavigation.js +1 -1
  14. package/build/ListItem/Navigation/ListItemNavigation.js.map +1 -1
  15. package/build/ListItem/Navigation/ListItemNavigation.mjs +2 -2
  16. package/build/ListItem/Navigation/ListItemNavigation.mjs.map +1 -1
  17. package/build/PhoneNumberInput/PhoneNumberInput.js +2 -1
  18. package/build/PhoneNumberInput/PhoneNumberInput.js.map +1 -1
  19. package/build/PhoneNumberInput/PhoneNumberInput.mjs +2 -1
  20. package/build/PhoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  21. package/build/PromoCard/Indicator/PromoCardIndicator.js +1 -1
  22. package/build/PromoCard/Indicator/PromoCardIndicator.js.map +1 -1
  23. package/build/PromoCard/Indicator/PromoCardIndicator.mjs +2 -2
  24. package/build/PromoCard/Indicator/PromoCardIndicator.mjs.map +1 -1
  25. package/build/Provider/Provider.js +6 -10
  26. package/build/Provider/Provider.js.map +1 -1
  27. package/build/Provider/Provider.mjs +6 -10
  28. package/build/Provider/Provider.mjs.map +1 -1
  29. package/build/index.js +0 -2
  30. package/build/index.js.map +1 -1
  31. package/build/index.mjs +0 -1
  32. package/build/index.mjs.map +1 -1
  33. package/build/main.css +17 -7
  34. package/build/styles/Button/Button.css +0 -3
  35. package/build/styles/DateInput/DateInput.css +13 -0
  36. package/build/styles/ListItem/ListItem.css +1 -1
  37. package/build/styles/PhoneNumberInput/PhoneNumberInput.css +3 -0
  38. package/build/styles/PromoCard/PromoCard.css +0 -3
  39. package/build/styles/main.css +17 -7
  40. package/build/types/Inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts +2 -1
  41. package/build/types/Inputs/SelectInput/OptionContent/SelectInputOptionContent.d.ts.map +1 -1
  42. package/build/types/PhoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  43. package/build/types/Provider/Provider.d.ts.map +1 -1
  44. package/build/types/Provider/index.d.ts +0 -2
  45. package/build/types/Provider/index.d.ts.map +1 -1
  46. package/build/types/index.d.ts +2 -2
  47. package/build/types/index.d.ts.map +1 -1
  48. package/package.json +2 -2
  49. package/src/Button/Button.css +0 -3
  50. package/src/Button/Button.less +0 -16
  51. package/src/Button/_stories/Button.test.story.tsx +12 -12
  52. package/src/Calendar/DateHeader/DateHeader.tsx +3 -3
  53. package/src/Carousel/Carousel.tsx +3 -3
  54. package/src/DateInput/DateInput.css +13 -0
  55. package/src/DateInput/DateInput.less +10 -2
  56. package/src/DateInput/_stories/DateInput.rtl.test.story.tsx +36 -0
  57. package/src/DateInput/_stories/DateInput.test.story.tsx +0 -13
  58. package/src/ExpressiveMoneyInput/_stories/ExpressiveMoneyInput.rtl.test.story.tsx +1 -1
  59. package/src/InputWithDisplayFormat/_stories/InputWithDisplayFormat.test.story.tsx +52 -0
  60. package/src/Inputs/SelectInput/OptionContent/SelectInputOptionContent.tsx +4 -1
  61. package/src/Inputs/SelectInput/SelectInput.test.tsx +74 -0
  62. package/src/ListItem/ListItem.css +1 -1
  63. package/src/ListItem/ListItem.grid.less +4 -4
  64. package/src/ListItem/ListItem.less +1 -1
  65. package/src/ListItem/Navigation/ListItemNavigation.tsx +2 -2
  66. package/src/PhoneNumberInput/PhoneNumberInput.css +3 -0
  67. package/src/PhoneNumberInput/PhoneNumberInput.less +10 -2
  68. package/src/PhoneNumberInput/PhoneNumberInput.tsx +1 -0
  69. package/src/PhoneNumberInput/_stories/PhoneNumberInput.rtl.test.story.tsx +1 -1
  70. package/src/PromoCard/Indicator/PromoCardIndicator.tsx +2 -2
  71. package/src/PromoCard/PromoCard.css +0 -3
  72. package/src/PromoCard/PromoCard.less +0 -5
  73. package/src/Prompt/CriticalBanner/_stories/CriticalBanner.test.story.tsx +1 -1
  74. package/src/Provider/Provider.tsx +8 -11
  75. package/src/Provider/index.ts +0 -2
  76. package/src/i18n/en.json +1 -0
  77. package/src/index.ts +2 -2
  78. package/src/main.css +17 -7
  79. package/build/Provider/Language/LanguageProvider.js +0 -20
  80. package/build/Provider/Language/LanguageProvider.js.map +0 -1
  81. package/build/Provider/Language/LanguageProvider.mjs +0 -17
  82. package/build/Provider/Language/LanguageProvider.mjs.map +0 -1
  83. package/build/types/Provider/Language/LanguageProvider.d.ts +0 -7
  84. package/build/types/Provider/Language/LanguageProvider.d.ts.map +0 -1
  85. package/build/types/Provider/Language/index.d.ts +0 -3
  86. package/build/types/Provider/Language/index.d.ts.map +0 -1
  87. package/src/Icons/_stories/Icons.story.tsx +0 -389
  88. package/src/Provider/Language/LanguageProvider.test.tsx +0 -22
  89. package/src/Provider/Language/LanguageProvider.tsx +0 -11
  90. package/src/Provider/Language/index.ts +0 -2
@@ -1,4 +1,4 @@
1
- import { ChevronRight } from '@transferwise/icons';
1
+ import { ChevronEnd } from '@transferwise/icons';
2
2
  import type { ButtonProps } from '../../Button/Button.types';
3
3
  import { useListItemControl } from '../useListItemControl';
4
4
  import { PrimitiveButton } from '../../Primitives';
@@ -32,7 +32,7 @@ export const Navigation = function Navigation({
32
32
  }: ListItemNavigationProps) {
33
33
  const { baseItemProps } = useListItemControl('navigation', { href, hideIndicator, ...props });
34
34
  const { ids, describedByIds } = useContext(ListItemContext);
35
- const icon = hideIndicator ? null : <ChevronRight size={16} data-testid="NavigationIndicator" />;
35
+ const icon = hideIndicator ? null : <ChevronEnd size={16} data-testid="NavigationIndicator" />;
36
36
 
37
37
  return href ? (
38
38
  <>{icon}</>
@@ -27,3 +27,6 @@
27
27
  .tw-telephone__number-input {
28
28
  flex: auto 1 1;
29
29
  }
30
+ [dir="rtl"] .tw-telephone__prefix-option .np-select-input-option-content-title {
31
+ direction: ltr;
32
+ }
@@ -7,7 +7,7 @@
7
7
  margin-left: var(--size-12);
8
8
  }
9
9
 
10
- &__number-input-field{
10
+ &__number-input-field {
11
11
  [dir="rtl"] & {
12
12
  text-align: end;
13
13
  }
@@ -22,7 +22,7 @@
22
22
  width: 100%;
23
23
  }
24
24
 
25
- .np-select-input-content{
25
+ .np-select-input-content {
26
26
  [dir="rtl"] & {
27
27
  text-align: end;
28
28
  direction: ltr;
@@ -40,3 +40,11 @@
40
40
  .tw-telephone__number-input {
41
41
  flex: auto 1 1;
42
42
  }
43
+
44
+ // Prevent bidi algorithm from flipping "+{country-code}" to "{country-code}+"
45
+ // in RTL dropdown options as phone numbers are universally read as LTR.
46
+ .tw-telephone__prefix-option .np-select-input-option-content-title {
47
+ [dir="rtl"] & {
48
+ direction: ltr;
49
+ }
50
+ }
@@ -229,6 +229,7 @@ const PhoneNumberInput = ({
229
229
  ?.map((country) => country.iso3)
230
230
  .join(', ')
231
231
  }
232
+ className={withinTrigger ? undefined : 'tw-telephone__prefix-option'}
232
233
  />
233
234
  )}
234
235
  filterable
@@ -33,7 +33,7 @@ export const Sizes: Story = {
33
33
  </Field>
34
34
  </>
35
35
  ),
36
- ...withRTLDiff(),
36
+ ...withRTLDiff({ renderAs: 'iframe' }),
37
37
  };
38
38
 
39
39
  export const DropdownOpen: Story = {
@@ -1,4 +1,4 @@
1
- import { ArrowRight, Check, Download } from '@transferwise/icons';
1
+ import { ArrowEnd, Check, Download } from '@transferwise/icons';
2
2
  import { clsx } from 'clsx';
3
3
  import { ReactElement, ReactNode } from 'react';
4
4
 
@@ -57,7 +57,7 @@ const PromoCardIndicator: React.FC<PromoCardIndicatorProps> = ({
57
57
  isIconString &&
58
58
  {
59
59
  check: Check,
60
- arrow: ArrowRight,
60
+ arrow: ArrowEnd,
61
61
  download: Download,
62
62
  }[icon];
63
63
 
@@ -53,9 +53,6 @@
53
53
  .np-Card-indicatorIcon .tw-icon {
54
54
  color: var(--Card-indicator-icon-color);
55
55
  }
56
- [dir="rtl"] .np-Card-indicatorIcon .tw-icon {
57
- transform: scaleX(-1);
58
- }
59
56
  .np-Card--checked,
60
57
  .np-Card--link {
61
58
  color: currentColor;
@@ -50,11 +50,6 @@
50
50
 
51
51
  &Icon .tw-icon {
52
52
  color: var(--Card-indicator-icon-color);
53
-
54
- // Flips icon for right to left content
55
- [dir="rtl"] & {
56
- transform: scaleX(-1);
57
- }
58
53
  }
59
54
  }
60
55
 
@@ -511,5 +511,5 @@ export const RTLDiff: Story = {
511
511
  />
512
512
  </>
513
513
  ),
514
- ...withRTLDiff(),
514
+ ...withRTLDiff({ renderAs: 'iframe' }),
515
515
  };
@@ -4,7 +4,6 @@ import { adjustLocale, DEFAULT_LOCALE, getDirectionFromLocale } from '../common'
4
4
  import en from '../i18n/en.json';
5
5
 
6
6
  import { DirectionProvider } from './Direction';
7
- import { LanguageProvider } from './Language';
8
7
 
9
8
  export interface ProviderProps {
10
9
  i18n: Pick<ResolvedIntlConfig, 'locale' | 'messages'> &
@@ -30,16 +29,14 @@ export default function Provider({ i18n, children }: ProviderProps) {
30
29
 
31
30
  return (
32
31
  <DirectionProvider direction={getDirectionFromLocale(locale)}>
33
- <LanguageProvider locale={locale}>
34
- <IntlProvider
35
- defaultLocale={DEFAULT_LOCALE}
36
- locale={intlConfig.locale}
37
- messages={intlConfig.messages}
38
- defaultRichTextElements={defaultRichTextElements}
39
- >
40
- {children}
41
- </IntlProvider>
42
- </LanguageProvider>
32
+ <IntlProvider
33
+ defaultLocale={DEFAULT_LOCALE}
34
+ locale={intlConfig.locale}
35
+ messages={intlConfig.messages}
36
+ defaultRichTextElements={defaultRichTextElements}
37
+ >
38
+ {children}
39
+ </IntlProvider>
43
40
  </DirectionProvider>
44
41
  );
45
42
  }
@@ -1,6 +1,4 @@
1
1
  export { DirectionProvider } from './Direction';
2
2
  export type { DirectionProviderProps } from './Direction';
3
- export { LanguageProvider } from './Language';
4
- export type { LanguageProviderProps } from './Language';
5
3
  export { default } from './Provider';
6
4
  export type { ProviderProps } from './Provider';
package/src/i18n/en.json CHANGED
@@ -35,6 +35,7 @@
35
35
  "neptune.PhoneNumberInput.SelectInput.placeholder": "Select an option...",
36
36
  "neptune.PhoneNumberInput.countryCodeLabel": "Country code",
37
37
  "neptune.PhoneNumberInput.phoneNumberLabel": "Phone number",
38
+ "neptune.PhoneNumberInput.phoneNumberPrefix": "Prefix",
38
39
  "neptune.Select.searchPlaceholder": "Search...",
39
40
  "neptune.SelectInput.noResultsFound": "No results found",
40
41
  "neptune.StatusIcon.iconLabel.error": "Error:",
package/src/index.ts CHANGED
@@ -123,7 +123,7 @@ export type {
123
123
  PromoCardProps,
124
124
  } from './PromoCard';
125
125
  export type { PromoCardGroupProps } from './PromoCard';
126
- export type { DirectionProviderProps, LanguageProviderProps, ProviderProps } from './Provider';
126
+ export type { DirectionProviderProps, ProviderProps } from './Provider';
127
127
  export type { RadioProps } from './Radio';
128
128
  export type { RadioGroupProps, RadioGroupRadio } from './RadioGroup';
129
129
  export type { RadioOptionProps } from './_deprecated/RadioOption';
@@ -272,7 +272,7 @@ export { default as ProcessIndicator } from './ProcessIndicator';
272
272
  export { default as Progress } from './Progress';
273
273
  export { default as ProgressBar } from './ProgressBar';
274
274
  export { default as PromoCard, PromoCardGroup } from './PromoCard';
275
- export { DirectionProvider, LanguageProvider, default as Provider } from './Provider';
275
+ export { DirectionProvider, default as Provider } from './Provider';
276
276
  export { default as Radio } from './Radio';
277
277
  export { default as RadioGroup } from './RadioGroup';
278
278
  export { default as RadioOption } from './_deprecated/RadioOption';
package/src/main.css CHANGED
@@ -21502,9 +21502,6 @@ a[data-toggle="tooltip"] {
21502
21502
  .np-theme-personal--bright-green .wds-Button--secondary-neutral .wds-Button-avatars .np-circle {
21503
21503
  --circle-border-color: color-mix(in srgb, var(--Button-color) 12%, transparent);
21504
21504
  }
21505
- [dir="rtl"] .wds-Button .tw-icon-chevron-right,[dir="rtl"] .wds-Button .tw-icon-arrow-right,[dir="rtl"] .wds-Button .tw-icon-chevron-left,[dir="rtl"] .wds-Button .tw-icon-arrow-left,[dir="rtl"] .wds-Button .tw-icon-arrow-diagonal-down,[dir="rtl"] .wds-Button .tw-icon-arrow-diagonal-up,[dir="rtl"] .wds-Button .tw-icon-list,[dir="rtl"] .wds-Button .tw-icon-activity {
21506
- scale: -1 1;
21507
- }
21508
21505
  .np-btn {
21509
21506
  position: relative;
21510
21507
  }
@@ -22660,6 +22657,19 @@ button.np-option {
22660
22657
  .tw-date .tw-date--day {
22661
22658
  margin-block-end: 0;
22662
22659
  }
22660
+ [dir="rtl"] .tw-date .np-input {
22661
+ text-align: end;
22662
+ }
22663
+ [dir="rtl"] .tw-date .np-input::-moz-placeholder {
22664
+ text-align: start;
22665
+ }
22666
+ [dir="rtl"] .tw-date .np-input:-moz-placeholder {
22667
+ text-align: start;
22668
+ }
22669
+ [dir="rtl"] .tw-date .np-input::placeholder,
22670
+ [dir="rtl"] .tw-date .np-input:placeholder-shown {
22671
+ text-align: start;
22672
+ }
22663
22673
  @media (min-width: 600px) {
22664
22674
  .np-theme-personal .tw-date label {
22665
22675
  margin-block-end: 0;
@@ -23970,7 +23980,7 @@ button.np-option {
23970
23980
  .wds-list-item-control-wrapper {
23971
23981
  grid-area: control;
23972
23982
  }
23973
- .wds-list-item-navigation .tw-icon-chevron-right {
23983
+ .wds-list-item-navigation .tw-icon-chevron-end {
23974
23984
  color: #c9cbce;
23975
23985
  color: var(--color-interactive-secondary);
23976
23986
  display: block;
@@ -25380,6 +25390,9 @@ button.np-link {
25380
25390
  .tw-telephone__number-input {
25381
25391
  flex: auto 1 1;
25382
25392
  }
25393
+ [dir="rtl"] .tw-telephone__prefix-option .np-select-input-option-content-title {
25394
+ direction: ltr;
25395
+ }
25383
25396
  .np-theme-personal .np-popover__container {
25384
25397
  border-radius: 16px;
25385
25398
  border-radius: var(--radius-medium);
@@ -25515,9 +25528,6 @@ button.np-link {
25515
25528
  .np-Card-indicatorIcon .tw-icon {
25516
25529
  color: var(--Card-indicator-icon-color);
25517
25530
  }
25518
- [dir="rtl"] .np-Card-indicatorIcon .tw-icon {
25519
- transform: scaleX(-1);
25520
- }
25521
25531
  .np-Card--checked,
25522
25532
  .np-Card--link {
25523
25533
  color: currentColor;
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var index = require('../../common/Locale/index.js');
5
- var jsxRuntime = require('react/jsx-runtime');
6
-
7
- const LanguageContext = /*#__PURE__*/React.createContext(index.DEFAULT_LOCALE);
8
- const LanguageProvider = ({
9
- locale,
10
- children
11
- }) => {
12
- return /*#__PURE__*/jsxRuntime.jsx(LanguageContext.Provider, {
13
- value: locale,
14
- children: children
15
- });
16
- };
17
-
18
- exports.LanguageContext = LanguageContext;
19
- exports.LanguageProvider = LanguageProvider;
20
- //# sourceMappingURL=LanguageProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LanguageProvider.js","sources":["../../../src/Provider/Language/LanguageProvider.tsx"],"sourcesContent":["import { createContext, PropsWithChildren } from 'react';\n\nimport { DEFAULT_LOCALE } from '../../common/Locale';\n\nexport const LanguageContext = createContext<string>(DEFAULT_LOCALE);\n\nexport type LanguageProviderProps = PropsWithChildren<{ locale: string }>;\n\nexport const LanguageProvider = ({ locale, children }: LanguageProviderProps) => {\n return <LanguageContext.Provider value={locale}>{children}</LanguageContext.Provider>;\n};\n"],"names":["LanguageContext","createContext","DEFAULT_LOCALE","LanguageProvider","locale","children","_jsx","Provider","value"],"mappings":";;;;;;MAIaA,eAAe,gBAAGC,mBAAa,CAASC,oBAAc;AAI5D,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,MAAM;AAAEC,EAAAA;AAAQ,CAAyB,KAAI;AAC9E,EAAA,oBAAOC,cAAA,CAACN,eAAe,CAACO,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,MAAO;AAAAC,IAAAA,QAAA,EAAEA;AAAQ,GAA2B,CAAC;AACvF;;;"}
@@ -1,17 +0,0 @@
1
- import { createContext } from 'react';
2
- import { DEFAULT_LOCALE } from '../../common/Locale/index.mjs';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- const LanguageContext = /*#__PURE__*/createContext(DEFAULT_LOCALE);
6
- const LanguageProvider = ({
7
- locale,
8
- children
9
- }) => {
10
- return /*#__PURE__*/jsx(LanguageContext.Provider, {
11
- value: locale,
12
- children: children
13
- });
14
- };
15
-
16
- export { LanguageContext, LanguageProvider };
17
- //# sourceMappingURL=LanguageProvider.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LanguageProvider.mjs","sources":["../../../src/Provider/Language/LanguageProvider.tsx"],"sourcesContent":["import { createContext, PropsWithChildren } from 'react';\n\nimport { DEFAULT_LOCALE } from '../../common/Locale';\n\nexport const LanguageContext = createContext<string>(DEFAULT_LOCALE);\n\nexport type LanguageProviderProps = PropsWithChildren<{ locale: string }>;\n\nexport const LanguageProvider = ({ locale, children }: LanguageProviderProps) => {\n return <LanguageContext.Provider value={locale}>{children}</LanguageContext.Provider>;\n};\n"],"names":["LanguageContext","createContext","DEFAULT_LOCALE","LanguageProvider","locale","children","_jsx","Provider","value"],"mappings":";;;;MAIaA,eAAe,gBAAGC,aAAa,CAASC,cAAc;AAI5D,MAAMC,gBAAgB,GAAGA,CAAC;EAAEC,MAAM;AAAEC,EAAAA;AAAQ,CAAyB,KAAI;AAC9E,EAAA,oBAAOC,GAAA,CAACN,eAAe,CAACO,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAEJ,MAAO;AAAAC,IAAAA,QAAA,EAAEA;AAAQ,GAA2B,CAAC;AACvF;;"}
@@ -1,7 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- export declare const LanguageContext: import("react").Context<string>;
3
- export type LanguageProviderProps = PropsWithChildren<{
4
- locale: string;
5
- }>;
6
- export declare const LanguageProvider: ({ locale, children }: LanguageProviderProps) => import("react").JSX.Element;
7
- //# sourceMappingURL=LanguageProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LanguageProvider.d.ts","sourceRoot":"","sources":["../../../../src/Provider/Language/LanguageProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIzD,eAAO,MAAM,eAAe,iCAAwC,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB,GAAI,sBAAsB,qBAAqB,gCAE3E,CAAC"}
@@ -1,3 +0,0 @@
1
- export { LanguageProvider } from './LanguageProvider';
2
- export type { LanguageProviderProps } from './LanguageProvider';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Provider/Language/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}