@transferwise/components 0.0.0-experimental-bd2aa28 → 0.0.0-experimental-17d9e6b

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 (182) hide show
  1. package/build/i18n/cs.json +0 -2
  2. package/build/i18n/cs.json.js +0 -2
  3. package/build/i18n/cs.json.js.map +1 -1
  4. package/build/i18n/cs.json.mjs +0 -2
  5. package/build/i18n/cs.json.mjs.map +1 -1
  6. package/build/i18n/de.json +0 -2
  7. package/build/i18n/de.json.js +0 -2
  8. package/build/i18n/de.json.js.map +1 -1
  9. package/build/i18n/de.json.mjs +0 -2
  10. package/build/i18n/de.json.mjs.map +1 -1
  11. package/build/i18n/en.json +0 -2
  12. package/build/i18n/en.json.js +0 -2
  13. package/build/i18n/en.json.js.map +1 -1
  14. package/build/i18n/en.json.mjs +0 -2
  15. package/build/i18n/en.json.mjs.map +1 -1
  16. package/build/i18n/es.json +0 -2
  17. package/build/i18n/es.json.js +0 -2
  18. package/build/i18n/es.json.js.map +1 -1
  19. package/build/i18n/es.json.mjs +0 -2
  20. package/build/i18n/es.json.mjs.map +1 -1
  21. package/build/i18n/fr.json +0 -2
  22. package/build/i18n/fr.json.js +0 -2
  23. package/build/i18n/fr.json.js.map +1 -1
  24. package/build/i18n/fr.json.mjs +0 -2
  25. package/build/i18n/fr.json.mjs.map +1 -1
  26. package/build/i18n/hu.json +0 -2
  27. package/build/i18n/hu.json.js +0 -2
  28. package/build/i18n/hu.json.js.map +1 -1
  29. package/build/i18n/hu.json.mjs +0 -2
  30. package/build/i18n/hu.json.mjs.map +1 -1
  31. package/build/i18n/id.json +0 -2
  32. package/build/i18n/id.json.js +0 -2
  33. package/build/i18n/id.json.js.map +1 -1
  34. package/build/i18n/id.json.mjs +0 -2
  35. package/build/i18n/id.json.mjs.map +1 -1
  36. package/build/i18n/it.json +0 -2
  37. package/build/i18n/it.json.js +0 -2
  38. package/build/i18n/it.json.js.map +1 -1
  39. package/build/i18n/it.json.mjs +0 -2
  40. package/build/i18n/it.json.mjs.map +1 -1
  41. package/build/i18n/ja.json +0 -2
  42. package/build/i18n/ja.json.js +0 -2
  43. package/build/i18n/ja.json.js.map +1 -1
  44. package/build/i18n/ja.json.mjs +0 -2
  45. package/build/i18n/ja.json.mjs.map +1 -1
  46. package/build/i18n/nl.json +0 -2
  47. package/build/i18n/pl.json +0 -2
  48. package/build/i18n/pl.json.js +0 -2
  49. package/build/i18n/pl.json.js.map +1 -1
  50. package/build/i18n/pl.json.mjs +0 -2
  51. package/build/i18n/pl.json.mjs.map +1 -1
  52. package/build/i18n/pt.json +0 -2
  53. package/build/i18n/pt.json.js +0 -2
  54. package/build/i18n/pt.json.js.map +1 -1
  55. package/build/i18n/pt.json.mjs +0 -2
  56. package/build/i18n/pt.json.mjs.map +1 -1
  57. package/build/i18n/ro.json +0 -2
  58. package/build/i18n/ro.json.js +0 -2
  59. package/build/i18n/ro.json.js.map +1 -1
  60. package/build/i18n/ro.json.mjs +0 -2
  61. package/build/i18n/ro.json.mjs.map +1 -1
  62. package/build/i18n/ru.json +0 -2
  63. package/build/i18n/ru.json.js +0 -2
  64. package/build/i18n/ru.json.js.map +1 -1
  65. package/build/i18n/ru.json.mjs +0 -2
  66. package/build/i18n/ru.json.mjs.map +1 -1
  67. package/build/i18n/th.json +0 -2
  68. package/build/i18n/th.json.js +0 -2
  69. package/build/i18n/th.json.js.map +1 -1
  70. package/build/i18n/th.json.mjs +0 -2
  71. package/build/i18n/th.json.mjs.map +1 -1
  72. package/build/i18n/tr.json +0 -2
  73. package/build/i18n/tr.json.js +0 -2
  74. package/build/i18n/tr.json.js.map +1 -1
  75. package/build/i18n/tr.json.mjs +0 -2
  76. package/build/i18n/tr.json.mjs.map +1 -1
  77. package/build/i18n/zh-CN.json +0 -2
  78. package/build/i18n/zh-CN.json.js +0 -2
  79. package/build/i18n/zh-CN.json.js.map +1 -1
  80. package/build/i18n/zh-CN.json.mjs +0 -2
  81. package/build/i18n/zh-CN.json.mjs.map +1 -1
  82. package/build/i18n/zh-HK.json +0 -2
  83. package/build/i18n/zh-HK.json.js +0 -2
  84. package/build/i18n/zh-HK.json.js.map +1 -1
  85. package/build/i18n/zh-HK.json.mjs +0 -2
  86. package/build/i18n/zh-HK.json.mjs.map +1 -1
  87. package/build/index.js +0 -3
  88. package/build/index.js.map +1 -1
  89. package/build/index.mjs +1 -2
  90. package/build/index.mjs.map +1 -1
  91. package/build/main.css +0 -256
  92. package/build/styles/main.css +0 -256
  93. package/build/types/index.d.ts +0 -4
  94. package/build/types/index.d.ts.map +1 -1
  95. package/build/types/test-utils/index.d.ts +0 -4
  96. package/build/types/test-utils/index.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/src/i18n/cs.json +0 -2
  99. package/src/i18n/de.json +0 -2
  100. package/src/i18n/en.json +0 -2
  101. package/src/i18n/es.json +0 -2
  102. package/src/i18n/fr.json +0 -2
  103. package/src/i18n/hu.json +0 -2
  104. package/src/i18n/id.json +0 -2
  105. package/src/i18n/it.json +0 -2
  106. package/src/i18n/ja.json +0 -2
  107. package/src/i18n/nl.json +0 -2
  108. package/src/i18n/pl.json +0 -2
  109. package/src/i18n/pt.json +0 -2
  110. package/src/i18n/ro.json +0 -2
  111. package/src/i18n/ru.json +0 -2
  112. package/src/i18n/th.json +0 -2
  113. package/src/i18n/tr.json +0 -2
  114. package/src/i18n/zh-CN.json +0 -2
  115. package/src/i18n/zh-HK.json +0 -2
  116. package/src/index.ts +0 -4
  117. package/src/main.css +0 -256
  118. package/src/main.less +0 -2
  119. package/src/ssr.spec.tsx +0 -1
  120. package/build/selectOption/SelectOption.js +0 -131
  121. package/build/selectOption/SelectOption.js.map +0 -1
  122. package/build/selectOption/SelectOption.messages.js +0 -17
  123. package/build/selectOption/SelectOption.messages.js.map +0 -1
  124. package/build/selectOption/SelectOption.messages.mjs +0 -13
  125. package/build/selectOption/SelectOption.messages.mjs.map +0 -1
  126. package/build/selectOption/SelectOption.mjs +0 -127
  127. package/build/selectOption/SelectOption.mjs.map +0 -1
  128. package/build/styles/listItem/ListItem.css +0 -212
  129. package/build/styles/selectOption/SelectOption.css +0 -44
  130. package/build/types/listItem/ListItem.d.ts +0 -50
  131. package/build/types/listItem/ListItem.d.ts.map +0 -1
  132. package/build/types/listItem/ListItemAdditionalInfo.d.ts +0 -9
  133. package/build/types/listItem/ListItemAdditionalInfo.d.ts.map +0 -1
  134. package/build/types/listItem/ListItemButton.d.ts +0 -6
  135. package/build/types/listItem/ListItemButton.d.ts.map +0 -1
  136. package/build/types/listItem/ListItemCheckbox.d.ts +0 -4
  137. package/build/types/listItem/ListItemCheckbox.d.ts.map +0 -1
  138. package/build/types/listItem/ListItemIconButton.d.ts +0 -8
  139. package/build/types/listItem/ListItemIconButton.d.ts.map +0 -1
  140. package/build/types/listItem/ListItemMedia.d.ts +0 -19
  141. package/build/types/listItem/ListItemMedia.d.ts.map +0 -1
  142. package/build/types/listItem/ListItemNavigation.d.ts +0 -4
  143. package/build/types/listItem/ListItemNavigation.d.ts.map +0 -1
  144. package/build/types/listItem/ListItemSwitch.d.ts +0 -3
  145. package/build/types/listItem/ListItemSwitch.d.ts.map +0 -1
  146. package/build/types/listItem/index.d.ts +0 -6
  147. package/build/types/listItem/index.d.ts.map +0 -1
  148. package/build/types/listItem/prompt/Prompt.d.ts +0 -12
  149. package/build/types/listItem/prompt/Prompt.d.ts.map +0 -1
  150. package/build/types/listItem/useItemControl.d.ts +0 -5
  151. package/build/types/listItem/useItemControl.d.ts.map +0 -1
  152. package/build/types/selectOption/SelectOption.d.ts +0 -21
  153. package/build/types/selectOption/SelectOption.d.ts.map +0 -1
  154. package/build/types/selectOption/SelectOption.messages.d.ts +0 -12
  155. package/build/types/selectOption/SelectOption.messages.d.ts.map +0 -1
  156. package/build/types/selectOption/index.d.ts +0 -3
  157. package/build/types/selectOption/index.d.ts.map +0 -1
  158. package/src/listItem/ListItem.css +0 -212
  159. package/src/listItem/ListItem.less +0 -210
  160. package/src/listItem/ListItem.spec.tsx +0 -35
  161. package/src/listItem/ListItem.story.tsx +0 -461
  162. package/src/listItem/ListItem.tsx +0 -282
  163. package/src/listItem/ListItemAdditionalInfo.tsx +0 -31
  164. package/src/listItem/ListItemButton.spec.tsx +0 -92
  165. package/src/listItem/ListItemButton.tsx +0 -24
  166. package/src/listItem/ListItemCheckbox.tsx +0 -14
  167. package/src/listItem/ListItemIconButton.tsx +0 -16
  168. package/src/listItem/ListItemMedia.tsx +0 -52
  169. package/src/listItem/ListItemNavigation.tsx +0 -23
  170. package/src/listItem/ListItemSwitch.tsx +0 -8
  171. package/src/listItem/index.ts +0 -10
  172. package/src/listItem/prompt/Prompt.spec.tsx +0 -77
  173. package/src/listItem/prompt/Prompt.story.tsx +0 -170
  174. package/src/listItem/prompt/Prompt.tsx +0 -44
  175. package/src/listItem/useItemControl.tsx +0 -23
  176. package/src/selectOption/SelectOption.css +0 -44
  177. package/src/selectOption/SelectOption.less +0 -40
  178. package/src/selectOption/SelectOption.messages.ts +0 -12
  179. package/src/selectOption/SelectOption.spec.tsx +0 -83
  180. package/src/selectOption/SelectOption.story.tsx +0 -277
  181. package/src/selectOption/SelectOption.tsx +0 -151
  182. package/src/selectOption/index.ts +0 -2
@@ -1,151 +0,0 @@
1
- import { useRef, useState } from 'react';
2
- import { ActionButtonProps } from '../actionButton';
3
- import { clsx } from 'clsx';
4
- import Option from '../common/Option';
5
- import type { OptionProps } from '../common/Option/Option';
6
- import { Breakpoint, Position } from '../common';
7
- import Section from '../section';
8
- import Header from '../header';
9
- import { HeaderProps } from '../header/Header';
10
- import NavigationOption from '../navigationOption';
11
- import NavigationOptionsList from '../navigationOptionsList';
12
- import { useInputAttributes } from '../inputs/contexts';
13
- import messages from './SelectOption.messages';
14
- import { useIntl } from 'react-intl';
15
- import ResponsivePanel from '../common/responsivePanel';
16
- import { useScreenSize } from '../common/hooks/useScreenSize';
17
- import { ChevronDown, Plus } from '@transferwise/icons';
18
-
19
- export type SelectOptiopsSection<T = unknown> = {
20
- title?: HeaderProps['title'];
21
- options: SelectOptionValue<T>[];
22
- };
23
-
24
- export type SelectOptionValue<T = unknown> = Pick<
25
- OptionProps,
26
- 'media' | 'title' | 'content' | 'disabled'
27
- > & {
28
- value?: T;
29
- };
30
-
31
- export type SelectOptionPlaceholder = Pick<OptionProps, 'media' | 'title' | 'content'> & {
32
- actionLabel?: ActionButtonProps['children'];
33
- };
34
-
35
- export type SelectOptionProps<T = unknown> = {
36
- onChange: (selected: SelectOptionValue<T>) => void;
37
- selected?: SelectOptionValue<T>;
38
- options: SelectOptiopsSection<T>[];
39
- placeholder: SelectOptionPlaceholder;
40
- } & Omit<
41
- OptionProps,
42
- 'as' | 'title' | 'media' | 'content' | 'onClick' | 'onChange' | 'showMediaAtAllSizes' | 'decision'
43
- >;
44
-
45
- export default function SelectOption<T>({
46
- selected = undefined,
47
- options,
48
- onChange,
49
- placeholder,
50
- disabled,
51
- ...props
52
- }: SelectOptionProps<T>) {
53
- const intl = useIntl();
54
- const rootRef = useRef(null);
55
- const [showOptions, setShowOptions] = useState(false);
56
-
57
- const hasSelected = selected !== undefined;
58
- const isLargeScreen = useScreenSize(Breakpoint.SMALL);
59
-
60
- const inputAttributes = useInputAttributes();
61
- const ariaLabelledBy = props['aria-labelledby'] ?? inputAttributes?.['aria-labelledby'];
62
-
63
- function handleOnClick(showOptionsStatus: boolean) {
64
- return () => {
65
- setShowOptions(showOptionsStatus);
66
- };
67
- }
68
-
69
- function handleOnChange(data: SelectOptionValue<T>) {
70
- return () => {
71
- setShowOptions(false);
72
- onChange(data);
73
- };
74
- }
75
-
76
- function getOptions(isLargeScreen = false) {
77
- return (
78
- <div className={clsx({ 'np-select-option-list': isLargeScreen })}>
79
- {options.map((optionsSection, index) => (
80
- <Section key={index} className={clsx({ 'p-x-2 p-y-1': isLargeScreen })}>
81
- {optionsSection.title && <Header title={optionsSection.title} />}
82
- <NavigationOptionsList>
83
- {optionsSection.options.map((option, index) => {
84
- return (
85
- <NavigationOption
86
- key={index}
87
- isContainerAligned={!isLargeScreen}
88
- showMediaCircle
89
- showMediaAtAllSizes
90
- onClick={handleOnChange(option)}
91
- {...option}
92
- />
93
- );
94
- })}
95
- </NavigationOptionsList>
96
- </Section>
97
- ))}
98
- </div>
99
- );
100
- }
101
-
102
- return (
103
- <>
104
- <Option
105
- ref={rootRef}
106
- as="div"
107
- showMediaAtAllSizes
108
- disabled={disabled}
109
- decision={false}
110
- media={hasSelected ? selected.media : (placeholder.media ?? <Plus size={24} />)}
111
- title={(hasSelected ? selected : placeholder).title}
112
- content={(hasSelected ? selected : placeholder).content}
113
- className={clsx(
114
- 'np-select-option',
115
- 'clickable',
116
- hasSelected ? 'np-select-option-selected' : 'np-select-option-placeholder',
117
- props.className,
118
- )}
119
- button={
120
- <button
121
- {...inputAttributes}
122
- type="button"
123
- disabled={disabled}
124
- aria-labelledby={ariaLabelledBy}
125
- aria-haspopup="dialog"
126
- aria-expanded={showOptions}
127
- className={hasSelected ? 'btn-unstyled' : 'np-action-btn'}
128
- aria-label={hasSelected ? undefined : props['aria-label']}
129
- onClick={handleOnClick(true)}
130
- >
131
- {hasSelected ? (
132
- <ChevronDown title={intl.formatMessage(messages.selectedActionLabel)} />
133
- ) : (
134
- placeholder.actionLabel || intl.formatMessage(messages.actionLabel)
135
- )}
136
- </button>
137
- }
138
- />
139
- <ResponsivePanel
140
- anchorWidth
141
- altAxis
142
- anchorRef={rootRef}
143
- open={showOptions}
144
- position={Position.BOTTOM}
145
- onClose={handleOnClick(false)}
146
- >
147
- {getOptions(isLargeScreen)}
148
- </ResponsivePanel>
149
- </>
150
- );
151
- }
@@ -1,2 +0,0 @@
1
- export { default } from './SelectOption';
2
- export type { SelectOptionProps, SelectOptionValue, SelectOptiopsSection } from './SelectOption';