@transferwise/components 46.160.4 → 46.160.6

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 (106) hide show
  1. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js +2 -0
  2. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.js.map +1 -1
  3. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs +2 -0
  4. package/build/ExpressiveMoneyInput/AmountInput/AmountInput.mjs.map +1 -1
  5. package/build/ExpressiveMoneyInput/hooks/useInputStyle.js +1 -1
  6. package/build/ExpressiveMoneyInput/hooks/useInputStyle.js.map +1 -1
  7. package/build/ExpressiveMoneyInput/hooks/useInputStyle.mjs +1 -1
  8. package/build/ExpressiveMoneyInput/hooks/useInputStyle.mjs.map +1 -1
  9. package/build/Inputs/Input/Input.js +1 -0
  10. package/build/Inputs/Input/Input.js.map +1 -1
  11. package/build/Inputs/Input/Input.mjs +1 -0
  12. package/build/Inputs/Input/Input.mjs.map +1 -1
  13. package/build/Inputs/TextArea/TextArea.js +1 -0
  14. package/build/Inputs/TextArea/TextArea.js.map +1 -1
  15. package/build/Inputs/TextArea/TextArea.mjs +1 -0
  16. package/build/Inputs/TextArea/TextArea.mjs.map +1 -1
  17. package/build/MoneyInput/MoneyInput.js +1 -0
  18. package/build/MoneyInput/MoneyInput.js.map +1 -1
  19. package/build/MoneyInput/MoneyInput.mjs +1 -0
  20. package/build/MoneyInput/MoneyInput.mjs.map +1 -1
  21. package/build/PhoneNumberInput/PhoneNumberInput.js +3 -2
  22. package/build/PhoneNumberInput/PhoneNumberInput.js.map +1 -1
  23. package/build/PhoneNumberInput/PhoneNumberInput.messages.js +3 -0
  24. package/build/PhoneNumberInput/PhoneNumberInput.messages.js.map +1 -1
  25. package/build/PhoneNumberInput/PhoneNumberInput.messages.mjs +3 -0
  26. package/build/PhoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -1
  27. package/build/PhoneNumberInput/PhoneNumberInput.mjs +3 -2
  28. package/build/PhoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  29. package/build/Typeahead/TypeaheadInput/TypeaheadInput.js +50 -20
  30. package/build/Typeahead/TypeaheadInput/TypeaheadInput.js.map +1 -1
  31. package/build/Typeahead/TypeaheadInput/TypeaheadInput.mjs +50 -20
  32. package/build/Typeahead/TypeaheadInput/TypeaheadInput.mjs.map +1 -1
  33. package/build/i18n/en.json +1 -0
  34. package/build/i18n/en.json.js +1 -0
  35. package/build/i18n/en.json.js.map +1 -1
  36. package/build/i18n/en.json.mjs +1 -0
  37. package/build/i18n/en.json.mjs.map +1 -1
  38. package/build/main.css +69 -1
  39. package/build/styles/ExpressiveMoneyInput/AmountInput/AmountInput.css +6 -0
  40. package/build/styles/ExpressiveMoneyInput/ExpressiveMoneyInput.css +6 -0
  41. package/build/styles/Inputs/Input/Input.css +19 -0
  42. package/build/styles/Inputs/TextArea/TextArea.css +16 -1
  43. package/build/styles/MoneyInput/MoneyInput.css +3 -0
  44. package/build/styles/PhoneNumberInput/PhoneNumberInput.css +7 -0
  45. package/build/styles/PocketSurface/PocketSurface.css +1 -0
  46. package/build/styles/SentimentSurface/SentimentSurface.css +5 -0
  47. package/build/styles/css/neptune.css +11 -0
  48. package/build/styles/main.css +69 -1
  49. package/build/styles/styles/less/neptune.css +11 -0
  50. package/build/types/ExpressiveMoneyInput/AmountInput/AmountInput.d.ts.map +1 -1
  51. package/build/types/ExpressiveMoneyInput/hooks/useInputStyle.d.ts.map +1 -1
  52. package/build/types/Inputs/Input/Input.d.ts.map +1 -1
  53. package/build/types/Inputs/TextArea/TextArea.d.ts.map +1 -1
  54. package/build/types/MoneyInput/MoneyInput.d.ts.map +1 -1
  55. package/build/types/PhoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  56. package/build/types/PhoneNumberInput/PhoneNumberInput.messages.d.ts +5 -0
  57. package/build/types/PhoneNumberInput/PhoneNumberInput.messages.d.ts.map +1 -1
  58. package/build/types/Typeahead/TypeaheadInput/TypeaheadInput.d.ts +1 -1
  59. package/build/types/Typeahead/TypeaheadInput/TypeaheadInput.d.ts.map +1 -1
  60. package/build/types/test-utils/index.d.ts +2 -0
  61. package/build/types/test-utils/index.d.ts.map +1 -1
  62. package/package.json +14 -14
  63. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.css +6 -0
  64. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.less +7 -0
  65. package/src/ExpressiveMoneyInput/AmountInput/AmountInput.tsx +2 -1
  66. package/src/ExpressiveMoneyInput/ExpressiveMoneyInput.css +6 -0
  67. package/src/ExpressiveMoneyInput/hooks/useInputStyle.ts +1 -2
  68. package/src/Field/_stories/Field.test.story.tsx +27 -0
  69. package/src/Inputs/Input/Input.css +19 -0
  70. package/src/Inputs/Input/Input.less +16 -0
  71. package/src/Inputs/Input/Input.tsx +1 -0
  72. package/src/Inputs/{_stories → InputGroup/_stories}/InputGroup.story.tsx +9 -9
  73. package/src/Inputs/InputGroup/_stories/InputGroup.test.story.tsx +80 -0
  74. package/src/Inputs/{_stories → SearchInput/_stories}/SearchInput.story.tsx +4 -4
  75. package/src/Inputs/SearchInput/_stories/SearchInput.test.story.tsx +38 -0
  76. package/src/Inputs/SelectInput/_stories/SelectInput.rtl.test.story.tsx +31 -19
  77. package/src/Inputs/TextArea/TextArea.css +16 -1
  78. package/src/Inputs/TextArea/TextArea.less +6 -1
  79. package/src/Inputs/TextArea/TextArea.tsx +1 -0
  80. package/src/Inputs/{_stories → TextArea/_stories}/TextArea.story.tsx +4 -4
  81. package/src/Inputs/{_stories → TextArea/_stories}/TextArea.test.story.tsx +50 -26
  82. package/src/MoneyInput/MoneyInput.css +3 -0
  83. package/src/MoneyInput/MoneyInput.less +6 -0
  84. package/src/MoneyInput/MoneyInput.tsx +1 -0
  85. package/src/MoneyInput/_stories/MoneyInput.rtl.test.story.tsx +14 -10
  86. package/src/PhoneNumberInput/PhoneNumberInput.css +7 -0
  87. package/src/PhoneNumberInput/PhoneNumberInput.less +13 -0
  88. package/src/PhoneNumberInput/PhoneNumberInput.messages.ts +5 -0
  89. package/src/PhoneNumberInput/PhoneNumberInput.tsx +3 -2
  90. package/src/PhoneNumberInput/_stories/PhoneNumberInput.rtl.test.story.tsx +15 -7
  91. package/src/PocketSurface/PocketSurface.css +1 -0
  92. package/src/Prompt/ActionPrompt/_stories/ActionPrompt.story.tsx +5 -1
  93. package/src/Prompt/InfoPrompt/_stories/InfoPrompt.story.tsx +12 -9
  94. package/src/Prompt/InlinePrompt/_stories/InlinePrompt.story.tsx +5 -5
  95. package/src/Prompt/PrimitivePrompt/PrimitivePrompt.less +2 -1
  96. package/src/SentimentSurface/SentimentSurface.css +5 -0
  97. package/src/SentimentSurface/SentimentSurface.less +5 -0
  98. package/src/SentimentSurface/_stories/SentimentSurface.story.tsx +6 -2
  99. package/src/TextareaWithDisplayFormat/_stories/TextareaWithDisplayFormat.test.story.tsx +49 -34
  100. package/src/Typeahead/TypeaheadInput/TypeaheadInput.tsx +31 -20
  101. package/src/Typeahead/_stories/Typeahead.rtl.test.story.tsx +90 -57
  102. package/src/_deprecated/Select/_stories/Select.rtl.test.story.tsx +8 -1
  103. package/src/main.css +69 -1
  104. package/src/styles/less/neptune.css +11 -0
  105. package/src/Inputs/_stories/InputGroup.test.story.tsx +0 -69
  106. package/src/Inputs/_stories/SearchInput.test.story.tsx +0 -32
@@ -1,8 +1,8 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react-webpack5';
2
2
 
3
- import { withRTLDiff } from '../../../.storybook/decorators/RtlDiffDecorator';
4
- import TextareaWithDisplayFormat from '..';
3
+ import { useRtlDiffI18n, withRTLDiff } from '../../../.storybook/decorators/RtlDiffDecorator';
5
4
  import Field from '../../Field/Field';
5
+ import TextareaWithDisplayFormat from '..';
6
6
 
7
7
  export default {
8
8
  component: TextareaWithDisplayFormat,
@@ -13,36 +13,51 @@ export default {
13
13
  type Story = StoryObj<typeof TextareaWithDisplayFormat>;
14
14
 
15
15
  export const RTLDiff: Story = {
16
- render: () => (
17
- <>
18
- <Field id="card-code" label="Gift card code">
19
- <TextareaWithDisplayFormat
20
- id="card-code"
21
- value="1234567890123456"
22
- maxLength={16}
23
- displayPattern="**** - **** - ****"
24
- onChange={() => {}}
25
- />
26
- </Field>
27
- <Field id="iban" label="IBAN">
28
- <TextareaWithDisplayFormat
29
- id="iban"
30
- value="GB29NWBK60161331926819"
31
- maxLength={22}
32
- displayPattern="** **** **** **** **** **"
33
- onChange={() => {}}
34
- />
35
- </Field>
36
- <Field id="empty" label="Empty with placeholder">
37
- <TextareaWithDisplayFormat
38
- id="empty"
39
- value=""
40
- displayPattern="**** - **** - ****"
41
- placeholder="Enter code"
42
- onChange={() => {}}
43
- />
44
- </Field>
45
- </>
46
- ),
47
- ...withRTLDiff(),
16
+ render: () => {
17
+ const i18n = useRtlDiffI18n();
18
+
19
+ return (
20
+ <>
21
+ <Field id="empty" label="Empty with placeholder">
22
+ <TextareaWithDisplayFormat
23
+ id="empty"
24
+ value=""
25
+ displayPattern="**** - **** - ****"
26
+ placeholder={i18n.placeholder}
27
+ onChange={() => {}}
28
+ />
29
+ </Field>
30
+ <Field id="card-code" label="Localised pattern">
31
+ <TextareaWithDisplayFormat
32
+ id="card-code"
33
+ value={i18n.value}
34
+ maxLength={16}
35
+ displayPattern="**** - **** - ****"
36
+ onChange={() => {}}
37
+ />
38
+ </Field>
39
+ <Field id="iban" label="IBAN (not localised)">
40
+ <TextareaWithDisplayFormat
41
+ id="iban"
42
+ value="GB29NWBK60161331926819"
43
+ maxLength={22}
44
+ displayPattern="** **** **** **** **** **"
45
+ onChange={() => {}}
46
+ />
47
+ </Field>
48
+ </>
49
+ );
50
+ },
51
+ ...withRTLDiff({
52
+ i18n: {
53
+ value: {
54
+ ltr: 'XKQMRTBWJNFL',
55
+ rtl: 'خكقمرتبوجنفل',
56
+ },
57
+ placeholder: {
58
+ ltr: 'Enter code',
59
+ rtl: 'أدخل الرمز',
60
+ },
61
+ },
62
+ }),
48
63
  };
@@ -6,6 +6,8 @@ import { Component, createRef, ReactNode } from 'react';
6
6
 
7
7
  import { Input } from '../../Inputs/Input/Input';
8
8
  import { TypeaheadOption, TypeaheadProps } from '../Typeahead';
9
+ import { Direction } from '../../common';
10
+ import { DirectionContext } from '../../Provider/Direction';
9
11
 
10
12
  const DEFAULT_INPUT_MIN_WIDTH = 10;
11
13
 
@@ -67,7 +69,7 @@ export default class TypeaheadInput<T> extends Component<
67
69
  });
68
70
  };
69
71
 
70
- renderInput = () => {
72
+ renderInput = (isRTL: boolean) => {
71
73
  const {
72
74
  typeaheadId,
73
75
  autoFocus,
@@ -90,6 +92,7 @@ export default class TypeaheadInput<T> extends Component<
90
92
  return (
91
93
  <Input
92
94
  ref={this.inputRef}
95
+ dir={isRTL ? 'rtl' : 'auto'}
93
96
  className={clsx(multiple && 'typeahead__input')}
94
97
  name={name}
95
98
  id={`input-${typeaheadId}`}
@@ -116,26 +119,34 @@ export default class TypeaheadInput<T> extends Component<
116
119
  render() {
117
120
  const { multiple, selected, value, maxHeight, renderChip } = this.props;
118
121
 
119
- return multiple ? (
120
- <div
121
- className="form-control typeahead__input-container"
122
- style={{ maxHeight }}
123
- onClick={() => {
124
- this.inputRef.current?.focus();
125
- }}
126
- >
127
- <div className="typeahead__input-wrapper">
128
- {selected && selected.map((chip, idx) => renderChip(chip, idx))}
122
+ return (
123
+ <DirectionContext.Consumer>
124
+ {(direction) => {
125
+ const isRTL = direction === Direction.RTL;
129
126
 
130
- {this.renderInput()}
131
- <div className="typeahead__input-aligner" />
132
- </div>
133
- <div ref={this.sizerRef} className="sizer form-control typeahead__input">
134
- {value}
135
- </div>
136
- </div>
137
- ) : (
138
- this.renderInput()
127
+ return multiple ? (
128
+ <div
129
+ className="form-control typeahead__input-container"
130
+ style={{ maxHeight }}
131
+ onClick={() => {
132
+ this.inputRef.current?.focus();
133
+ }}
134
+ >
135
+ <div className="typeahead__input-wrapper">
136
+ {selected && selected.map((chip, idx) => renderChip(chip, idx))}
137
+
138
+ {this.renderInput(isRTL)}
139
+ <div className="typeahead__input-aligner" />
140
+ </div>
141
+ <div ref={this.sizerRef} className="sizer form-control typeahead__input">
142
+ {value}
143
+ </div>
144
+ </div>
145
+ ) : (
146
+ this.renderInput(isRTL)
147
+ );
148
+ }}
149
+ </DirectionContext.Consumer>
139
150
  );
140
151
  }
141
152
  }
@@ -2,7 +2,11 @@ import type { Meta, StoryObj } from '@storybook/react-webpack5';
2
2
  import { userEvent, within } from 'storybook/test';
3
3
  import { Search as SearchIcon } from '@transferwise/icons';
4
4
 
5
- import { forEachColumn, withRTLDiff } from '../../../.storybook/decorators/RtlDiffDecorator';
5
+ import {
6
+ forEachColumn,
7
+ useRtlDiffI18n,
8
+ withRTLDiff,
9
+ } from '../../../.storybook/decorators/RtlDiffDecorator';
6
10
  import { Size } from '../../common';
7
11
  import Typeahead from '..';
8
12
 
@@ -14,70 +18,99 @@ export default {
14
18
 
15
19
  type Story = StoryObj<typeof Typeahead>;
16
20
 
17
- const baseOptions = [
18
- { label: 'British pound', note: 'GBP' },
19
- { label: 'Euro', note: 'EUR' },
20
- { label: 'US Dollar', note: 'USD' },
21
- ];
21
+ const localisedStrings = {
22
+ gbp: { ltr: 'British pound', rtl: 'جنيه إسترليني' },
23
+ eur: { ltr: 'Euro', rtl: 'يورو' },
24
+ usd: { ltr: 'US Dollar', rtl: 'دولار أمريكي' },
25
+ placeholder: { ltr: 'Search currencies…', rtl: 'ابحث عن العملات...' },
26
+ };
22
27
 
23
28
  export const TriggerVariants: Story = {
24
- render: () => (
25
- <>
26
- <Typeahead
27
- id="rtl-addon-md"
28
- name="rtl-addon-md"
29
- placeholder="Search currencies…"
30
- size={Size.MEDIUM}
31
- addon={<SearchIcon size={24} />}
32
- clearable
33
- options={baseOptions}
34
- initialValue={[{ label: 'British pound', note: 'GBP' }]}
35
- onChange={() => {}}
36
- />
29
+ render: () => {
30
+ const i18n = useRtlDiffI18n();
31
+
32
+ const baseOptions = [
33
+ { label: i18n.gbp, note: 'GBP' },
34
+ { label: i18n.eur, note: 'EUR' },
35
+ { label: i18n.usd, note: 'USD' },
36
+ ];
37
+
38
+ return (
39
+ <>
40
+ <Typeahead
41
+ id="rtl-addon-placeholder"
42
+ name="rtl-addon-placeholder"
43
+ placeholder={i18n.placeholder}
44
+ size={Size.MEDIUM}
45
+ addon={<SearchIcon size={24} />}
46
+ clearable
47
+ options={baseOptions}
48
+ onChange={() => {}}
49
+ />
50
+ <Typeahead
51
+ id="rtl-addon-md"
52
+ name="rtl-addon-md"
53
+ placeholder={i18n.placeholder}
54
+ size={Size.MEDIUM}
55
+ addon={<SearchIcon size={24} />}
56
+ clearable
57
+ options={baseOptions}
58
+ initialValue={[{ label: i18n.gbp, note: 'GBP' }]}
59
+ onChange={() => {}}
60
+ />
61
+ <Typeahead
62
+ id="rtl-addon-lg"
63
+ name="rtl-addon-lg"
64
+ placeholder={i18n.placeholder}
65
+ size={Size.LARGE}
66
+ addon={<SearchIcon size={24} />}
67
+ clearable
68
+ options={baseOptions}
69
+ initialValue={[{ label: i18n.eur, note: 'EUR' }]}
70
+ onChange={() => {}}
71
+ />
72
+ <Typeahead
73
+ id="rtl-multiple"
74
+ name="rtl-multiple"
75
+ placeholder={i18n.placeholder}
76
+ size={Size.MEDIUM}
77
+ addon={<SearchIcon size={24} />}
78
+ multiple
79
+ clearable
80
+ options={baseOptions}
81
+ initialValue={[
82
+ { label: i18n.gbp, note: 'GBP' },
83
+ { label: i18n.eur, note: 'EUR' },
84
+ ]}
85
+ onChange={() => {}}
86
+ />
87
+ </>
88
+ );
89
+ },
90
+ ...withRTLDiff({ width: '80%', i18n: localisedStrings }),
91
+ };
92
+
93
+ export const OpenDropdown: Story = {
94
+ render: () => {
95
+ const i18n = useRtlDiffI18n();
96
+
97
+ return (
37
98
  <Typeahead
38
- id="rtl-addon-lg"
39
- name="rtl-addon-lg"
40
- placeholder="Search currencies…"
99
+ id="rtl-open"
100
+ name="rtl-open"
101
+ placeholder={i18n.placeholder}
41
102
  size={Size.LARGE}
42
103
  addon={<SearchIcon size={24} />}
43
104
  clearable
44
- options={baseOptions}
45
- initialValue={[{ label: 'Euro', note: 'EUR' }]}
46
- onChange={() => {}}
47
- />
48
- <Typeahead
49
- id="rtl-multiple"
50
- name="rtl-multiple"
51
- placeholder="Search currencies…"
52
- size={Size.MEDIUM}
53
- addon={<SearchIcon size={24} />}
54
- multiple
55
- clearable
56
- options={baseOptions}
57
- initialValue={[
58
- { label: 'British pound', note: 'GBP' },
59
- { label: 'Euro', note: 'EUR' },
105
+ options={[
106
+ { label: i18n.gbp, note: 'GBP' },
107
+ { label: i18n.eur, note: 'EUR' },
108
+ { label: i18n.usd, note: 'USD' },
60
109
  ]}
61
110
  onChange={() => {}}
62
111
  />
63
- </>
64
- ),
65
- ...withRTLDiff({ width: '80%' }),
66
- };
67
-
68
- export const OpenDropdown: Story = {
69
- render: () => (
70
- <Typeahead
71
- id="rtl-open"
72
- name="rtl-open"
73
- placeholder="Search currencies…"
74
- size={Size.LARGE}
75
- addon={<SearchIcon size={24} />}
76
- clearable
77
- options={baseOptions}
78
- onChange={() => {}}
79
- />
80
- ),
112
+ );
113
+ },
81
114
  play: async ({ canvasElement }) => {
82
115
  await forEachColumn(canvasElement, async (column) => {
83
116
  const scope = within(column);
@@ -86,5 +119,5 @@ export const OpenDropdown: Story = {
86
119
  await userEvent.keyboard('Brit');
87
120
  });
88
121
  },
89
- ...withRTLDiff({ width: '80%' }),
122
+ ...withRTLDiff({ width: '80%', i18n: localisedStrings }),
90
123
  };
@@ -67,5 +67,12 @@ export const OpenDropdown: Story = {
67
67
  if (!trigger) return;
68
68
  await userEvent.click(trigger);
69
69
  },
70
- ...withRTLDiff({ renderAs: 'iframe', width: '80%' }),
70
+ ...withRTLDiff({
71
+ renderAs: 'iframe',
72
+ width: '80%',
73
+ i18n: {
74
+ searchPlaceholder: { ltr: 'Type a currency', rtl: 'اكتب عملة' },
75
+ placeholder: { ltr: 'Select currency', rtl: 'اختر العملة' },
76
+ },
77
+ }),
71
78
  };
package/src/main.css CHANGED
@@ -140,6 +140,7 @@
140
140
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
141
141
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
142
142
  }
143
+
143
144
  /**
144
145
  * Do not edit directly, this file was auto-generated.
145
146
  */
@@ -322,6 +323,7 @@
322
323
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
323
324
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
324
325
  }
326
+
325
327
  /**
326
328
  * Do not edit directly, this file was auto-generated.
327
329
  */
@@ -504,6 +506,7 @@
504
506
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
505
507
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
506
508
  }
509
+
507
510
  /**
508
511
  * Do not edit directly, this file was auto-generated.
509
512
  */
@@ -686,6 +689,7 @@
686
689
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
687
690
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
688
691
  }
692
+
689
693
  /**
690
694
  * Do not edit directly, this file was auto-generated.
691
695
  */
@@ -868,6 +872,7 @@
868
872
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
869
873
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
870
874
  }
875
+
871
876
  /**
872
877
  * Do not edit directly, this file was auto-generated.
873
878
  */
@@ -1050,6 +1055,7 @@
1050
1055
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1051
1056
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1052
1057
  }
1058
+
1053
1059
  /**
1054
1060
  * Do not edit directly, this file was auto-generated.
1055
1061
  */
@@ -1232,6 +1238,7 @@
1232
1238
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1233
1239
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1234
1240
  }
1241
+
1235
1242
  /**
1236
1243
  * Do not edit directly, this file was auto-generated.
1237
1244
  */
@@ -1415,6 +1422,7 @@
1415
1422
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1416
1423
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1417
1424
  }
1425
+
1418
1426
  /**
1419
1427
  * Do not edit directly, this file was auto-generated.
1420
1428
  */
@@ -1598,6 +1606,7 @@
1598
1606
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1599
1607
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1600
1608
  }
1609
+
1601
1610
  /**
1602
1611
  * Do not edit directly, this file was auto-generated.
1603
1612
  */
@@ -1781,6 +1790,7 @@
1781
1790
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1782
1791
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1783
1792
  }
1793
+
1784
1794
  /**
1785
1795
  * Do not edit directly, this file was auto-generated.
1786
1796
  */
@@ -1964,7 +1974,9 @@
1964
1974
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1965
1975
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1966
1976
  }
1977
+
1967
1978
  /* See: https://github.com/fontsource/fontsource/blob/main/fonts/google/inter/variable.css */
1979
+
1968
1980
  /**
1969
1981
  * Do not edit directly, this file was auto-generated.
1970
1982
  */
@@ -2409,6 +2421,7 @@
2409
2421
  --color-sentiment-background-surface-active: #F8CD20;
2410
2422
  --color-sentiment-border-overlay: rgba(58,53,35,0.30196);
2411
2423
  }
2424
+
2412
2425
  /**
2413
2426
  * Do not edit directly, this file was auto-generated.
2414
2427
  */
@@ -2557,6 +2570,7 @@
2557
2570
  --color-interactive-control-active: #471358;
2558
2571
  --color-background-screen: #260a2f;
2559
2572
  }
2573
+
2560
2574
  @font-face {
2561
2575
  font-family: Inter;
2562
2576
  font-style: normal;
@@ -19795,6 +19809,10 @@ a[data-toggle="tooltip"] {
19795
19809
  background-color: var(--color-sentiment-background-surface);
19796
19810
  color: var(--color-sentiment-content-primary);
19797
19811
  }
19812
+ .wds-sentiment-surface strong,
19813
+ .wds-sentiment-surface b {
19814
+ color: var(--color-sentiment-content-primary);
19815
+ }
19798
19816
  .wds-pocket-surface {
19799
19817
  background-color: #ffffff;
19800
19818
  background-color: var(--color-background-screen);
@@ -22589,6 +22607,25 @@ button.np-option {
22589
22607
  color: #768e9c;
22590
22608
  color: var(--color-content-tertiary);
22591
22609
  }
22610
+ [dir="rtl"] .np-input::-moz-placeholder {
22611
+ direction: rtl !important;
22612
+ }
22613
+ [dir="rtl"] .np-input:-moz-placeholder {
22614
+ direction: rtl !important;
22615
+ }
22616
+ [dir="rtl"] .np-input::placeholder,
22617
+ [dir="rtl"] .np-input:placeholder-shown {
22618
+ direction: rtl !important;
22619
+ }
22620
+ [dir="rtl"] .np-input:-moz-placeholder[type="email"], [dir="rtl"] .np-input:-moz-placeholder[type="tel"], [dir="rtl"] .np-input:-moz-placeholder[type="number"], [dir="rtl"] .np-input:-moz-placeholder[type="url"] {
22621
+ direction: ltr !important;
22622
+ }
22623
+ [dir="rtl"] .np-input:placeholder-shown[type="email"],
22624
+ [dir="rtl"] .np-input:placeholder-shown[type="tel"],
22625
+ [dir="rtl"] .np-input:placeholder-shown[type="number"],
22626
+ [dir="rtl"] .np-input:placeholder-shown[type="url"] {
22627
+ direction: ltr !important;
22628
+ }
22592
22629
  .np-input--shape-rectangle {
22593
22630
  border-radius: 10px !important;
22594
22631
  border-radius: var(--radius-small) !important;
@@ -23776,10 +23813,25 @@ button.np-option {
23776
23813
  color: #768e9c;
23777
23814
  color: var(--color-content-tertiary);
23778
23815
  }
23779
- .np-text-area::placeholder {
23816
+ .np-text-area:-moz-placeholder {
23780
23817
  color: #768e9c;
23781
23818
  color: var(--color-content-tertiary);
23782
23819
  }
23820
+ .np-text-area::placeholder,
23821
+ .np-text-area:placeholder-shown {
23822
+ color: #768e9c;
23823
+ color: var(--color-content-tertiary);
23824
+ }
23825
+ [dir="rtl"] .np-text-area::-moz-placeholder {
23826
+ direction: rtl !important;
23827
+ }
23828
+ [dir="rtl"] .np-text-area:-moz-placeholder {
23829
+ direction: rtl !important;
23830
+ }
23831
+ [dir="rtl"] .np-text-area::placeholder,
23832
+ [dir="rtl"] .np-text-area:placeholder-shown {
23833
+ direction: rtl !important;
23834
+ }
23783
23835
  .tw-instructions {
23784
23836
  /* Reset */
23785
23837
  margin: 0;
@@ -24190,6 +24242,9 @@ button.np-link {
24190
24242
  font-weight: 600;
24191
24243
  font-weight: var(--font-weight-semi-bold);
24192
24244
  }
24245
+ [dir="rtl"] .tw-money-input .money-input__number-input {
24246
+ text-align: end;
24247
+ }
24193
24248
  .tw-money-input .money-input-currency-flag {
24194
24249
  display: flex;
24195
24250
  align-items: center;
@@ -24258,6 +24313,10 @@ button.np-link {
24258
24313
  overflow: hidden;
24259
24314
  margin-block-end: 0 !important;
24260
24315
  }
24316
+ [dir="rtl"] .wds-amount-input-input-container {
24317
+ display: inline-grid;
24318
+ grid-template-columns: auto 1fr;
24319
+ }
24261
24320
  @media (prefers-reduced-motion: reduce) {
24262
24321
  .wds-amount-input-input-container {
24263
24322
  transition: none;
@@ -24270,6 +24329,8 @@ button.np-link {
24270
24329
  text-align: end;
24271
24330
  background-color: transparent;
24272
24331
  line-height: inherit;
24332
+ field-sizing: content;
24333
+ block-size: inherit;
24273
24334
  }
24274
24335
  .wds-amount-input-input:focus-visible {
24275
24336
  outline: none;
@@ -24534,6 +24595,9 @@ button.np-link {
24534
24595
  margin-inline-start: 12px;
24535
24596
  margin-inline-start: var(--size-12);
24536
24597
  }
24598
+ [dir="rtl"] .tw-telephone__number-input-field {
24599
+ text-align: end;
24600
+ }
24537
24601
  .tw-telephone__country-select {
24538
24602
  flex-basis: 120px;
24539
24603
  flex-shrink: 0;
@@ -24541,6 +24605,10 @@ button.np-link {
24541
24605
  .tw-telephone__country-select .np-input-group {
24542
24606
  inline-size: 100%;
24543
24607
  }
24608
+ [dir="rtl"] .tw-telephone__country-select .np-select-input-content {
24609
+ text-align: end;
24610
+ direction: ltr;
24611
+ }
24544
24612
  .tw-telephone__country-select--with-input-group-addon-start .np-button-input {
24545
24613
  padding-inline-start: 48px;
24546
24614
  padding-inline-start: var(--size-48);
@@ -140,6 +140,7 @@
140
140
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
141
141
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
142
142
  }
143
+
143
144
  /**
144
145
  * Do not edit directly, this file was auto-generated.
145
146
  */
@@ -322,6 +323,7 @@
322
323
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
323
324
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
324
325
  }
326
+
325
327
  /**
326
328
  * Do not edit directly, this file was auto-generated.
327
329
  */
@@ -504,6 +506,7 @@
504
506
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
505
507
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
506
508
  }
509
+
507
510
  /**
508
511
  * Do not edit directly, this file was auto-generated.
509
512
  */
@@ -686,6 +689,7 @@
686
689
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
687
690
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
688
691
  }
692
+
689
693
  /**
690
694
  * Do not edit directly, this file was auto-generated.
691
695
  */
@@ -868,6 +872,7 @@
868
872
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
869
873
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
870
874
  }
875
+
871
876
  /**
872
877
  * Do not edit directly, this file was auto-generated.
873
878
  */
@@ -1050,6 +1055,7 @@
1050
1055
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1051
1056
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1052
1057
  }
1058
+
1053
1059
  /**
1054
1060
  * Do not edit directly, this file was auto-generated.
1055
1061
  */
@@ -1232,6 +1238,7 @@
1232
1238
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1233
1239
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1234
1240
  }
1241
+
1235
1242
  /**
1236
1243
  * Do not edit directly, this file was auto-generated.
1237
1244
  */
@@ -1415,6 +1422,7 @@
1415
1422
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1416
1423
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1417
1424
  }
1425
+
1418
1426
  /**
1419
1427
  * Do not edit directly, this file was auto-generated.
1420
1428
  */
@@ -1598,6 +1606,7 @@
1598
1606
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1599
1607
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1600
1608
  }
1609
+
1601
1610
  /**
1602
1611
  * Do not edit directly, this file was auto-generated.
1603
1612
  */
@@ -1781,6 +1790,7 @@
1781
1790
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1782
1791
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1783
1792
  }
1793
+
1784
1794
  /**
1785
1795
  * Do not edit directly, this file was auto-generated.
1786
1796
  */
@@ -1964,6 +1974,7 @@
1964
1974
  --font-family-regular: 'Inter', Helvetica, Arial, sans-serif;
1965
1975
  --font-family-display: 'Wise Sans', 'Inter', sans-serif;
1966
1976
  }
1977
+
1967
1978
  /* See: https://github.com/fontsource/fontsource/blob/main/fonts/google/inter/variable.css */
1968
1979
  @font-face {
1969
1980
  font-family: Inter;