@transferwise/components 46.46.1 → 46.48.0
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/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
- package/build/alert/Alert.js.map +1 -1
- package/build/alert/Alert.mjs.map +1 -1
- package/build/avatar/Avatar.js.map +1 -1
- package/build/avatar/Avatar.mjs.map +1 -1
- package/build/badge/Badge.js.map +1 -1
- package/build/badge/Badge.mjs.map +1 -1
- package/build/button/legacyUtils/legacyUtils.js.map +1 -1
- package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
- package/build/carousel/Carousel.js.map +1 -1
- package/build/carousel/Carousel.mjs.map +1 -1
- package/build/chips/Chip.js.map +1 -1
- package/build/chips/Chip.mjs.map +1 -1
- package/build/chips/Chips.js.map +1 -1
- package/build/chips/Chips.mjs.map +1 -1
- package/build/common/bottomSheet/BottomSheet.js.map +1 -1
- package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
- package/build/common/deviceDetection/deviceDetection.js.map +1 -1
- package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
- package/build/common/panel/Panel.js.map +1 -1
- package/build/common/panel/Panel.mjs.map +1 -1
- package/build/common/responsivePanel/ResponsivePanel.js +3 -1
- package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
- package/build/common/responsivePanel/ResponsivePanel.mjs +3 -1
- package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
- package/build/dateInput/DateInput.js.map +1 -1
- package/build/dateInput/DateInput.mjs.map +1 -1
- package/build/dateLookup/DateLookup.js.map +1 -1
- package/build/dateLookup/DateLookup.mjs.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
- package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
- package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
- package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
- package/build/decision/Decision.js.map +1 -1
- package/build/decision/Decision.mjs.map +1 -1
- package/build/display/Display.js.map +1 -1
- package/build/display/Display.mjs.map +1 -1
- package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -1
- package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
- package/build/i18n/en.json +2 -0
- package/build/i18n/en.json.js +2 -0
- package/build/i18n/en.json.js.map +1 -1
- package/build/i18n/en.json.mjs +2 -0
- package/build/i18n/en.json.mjs.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/index.mjs +1 -0
- package/build/index.mjs.map +1 -1
- package/build/inlineAlert/InlineAlert.js.map +1 -1
- package/build/inlineAlert/InlineAlert.mjs.map +1 -1
- package/build/inputs/InputGroup.js.map +1 -1
- package/build/inputs/InputGroup.mjs.map +1 -1
- package/build/inputs/contexts.js.map +1 -1
- package/build/inputs/contexts.mjs.map +1 -1
- package/build/link/Link.js.map +1 -1
- package/build/link/Link.mjs.map +1 -1
- package/build/loader/Loader.js.map +1 -1
- package/build/loader/Loader.mjs.map +1 -1
- package/build/logo/Logo.js.map +1 -1
- package/build/logo/Logo.mjs.map +1 -1
- package/build/main.css +44 -0
- package/build/markdown/Markdown.js.map +1 -1
- package/build/markdown/Markdown.mjs.map +1 -1
- package/build/modal/Modal.js.map +1 -1
- package/build/modal/Modal.mjs.map +1 -1
- package/build/moneyInput/MoneyInput.js.map +1 -1
- package/build/moneyInput/MoneyInput.mjs.map +1 -1
- package/build/moneyInput/currencyFormatting.js.map +1 -1
- package/build/moneyInput/currencyFormatting.mjs.map +1 -1
- package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
- package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
- package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
- package/build/popover/Popover.js.map +1 -1
- package/build/popover/Popover.mjs.map +1 -1
- package/build/processIndicator/ProcessIndicator.js.map +1 -1
- package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
- package/build/progressBar/ProgressBar.js.map +1 -1
- package/build/progressBar/ProgressBar.mjs.map +1 -1
- package/build/promoCard/PromoCard.js.map +1 -1
- package/build/promoCard/PromoCard.mjs.map +1 -1
- package/build/provider/Provider.js.map +1 -1
- package/build/provider/Provider.mjs.map +1 -1
- package/build/select/Select.js.map +1 -1
- package/build/select/Select.mjs.map +1 -1
- package/build/select/option/Option.js.map +1 -1
- package/build/select/option/Option.mjs.map +1 -1
- package/build/select/searchBox/SearchBox.js.map +1 -1
- package/build/select/searchBox/SearchBox.mjs.map +1 -1
- package/build/selectOption/SelectOption.js +115 -0
- package/build/selectOption/SelectOption.js.map +1 -0
- package/build/selectOption/SelectOption.messages.js +15 -0
- package/build/selectOption/SelectOption.messages.js.map +1 -0
- package/build/selectOption/SelectOption.messages.mjs +13 -0
- package/build/selectOption/SelectOption.messages.mjs.map +1 -0
- package/build/selectOption/SelectOption.mjs +109 -0
- package/build/selectOption/SelectOption.mjs.map +1 -0
- package/build/slidingPanel/SlidingPanel.js.map +1 -1
- package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
- package/build/statusIcon/StatusIcon.js.map +1 -1
- package/build/statusIcon/StatusIcon.mjs.map +1 -1
- package/build/stepper/Stepper.js.map +1 -1
- package/build/stepper/Stepper.mjs.map +1 -1
- package/build/stepper/deviceDetection.js.map +1 -1
- package/build/stepper/deviceDetection.mjs.map +1 -1
- package/build/styles/main.css +44 -0
- package/build/styles/selectOption/SelectOption.css +44 -0
- package/build/tabs/Tabs.js.map +1 -1
- package/build/tabs/Tabs.mjs.map +1 -1
- package/build/title/Title.js.map +1 -1
- package/build/title/Title.mjs.map +1 -1
- package/build/tooltip/Tooltip.js.map +1 -1
- package/build/tooltip/Tooltip.mjs.map +1 -1
- package/build/typeahead/Typeahead.js.map +1 -1
- package/build/typeahead/Typeahead.mjs.map +1 -1
- package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
- package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
- package/build/types/common/responsivePanel/ResponsivePanel.d.ts.map +1 -1
- package/build/types/index.d.ts +2 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/selectOption/SelectOption.d.ts +21 -0
- package/build/types/selectOption/SelectOption.d.ts.map +1 -0
- package/build/types/selectOption/SelectOption.messages.d.ts +12 -0
- package/build/types/selectOption/SelectOption.messages.d.ts.map +1 -0
- package/build/types/selectOption/index.d.ts +3 -0
- package/build/types/selectOption/index.d.ts.map +1 -0
- package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
- package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
- package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
- package/build/uploadInput/UploadInput.js +6 -0
- package/build/uploadInput/UploadInput.js.map +1 -1
- package/build/uploadInput/UploadInput.mjs +6 -0
- package/build/uploadInput/UploadInput.mjs.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
- package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
- package/build/utilities/cssValueWithUnit.js.map +1 -1
- package/build/utilities/cssValueWithUnit.mjs.map +1 -1
- package/package.json +32 -33
- package/src/common/responsivePanel/ResponsivePanel.tsx +2 -0
- package/src/i18n/en.json +2 -0
- package/src/index.ts +2 -0
- package/src/main.css +44 -0
- package/src/main.less +1 -0
- package/src/selectOption/SelectOption.css +44 -0
- package/src/selectOption/SelectOption.less +40 -0
- package/src/selectOption/SelectOption.messages.ts +12 -0
- package/src/selectOption/SelectOption.spec.tsx +83 -0
- package/src/selectOption/SelectOption.story.tsx +278 -0
- package/src/selectOption/SelectOption.tsx +151 -0
- package/src/selectOption/index.ts +2 -0
- package/src/ssr.spec.js +1 -0
- package/src/test-utils/Parameters.d.ts +1 -1
- package/src/uploadInput/UploadInput.spec.tsx +14 -1
- package/src/uploadInput/UploadInput.story.tsx +11 -0
- package/src/uploadInput/UploadInput.tsx +8 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { within } from '@testing-library/react';
|
|
2
2
|
import { userEvent } from '@testing-library/user-event';
|
|
3
|
+
import { act } from 'react';
|
|
3
4
|
|
|
4
5
|
import { Status } from '../common';
|
|
6
|
+
import { Field } from '../field/Field';
|
|
5
7
|
import { mockMatchMedia, render, screen, waitFor, waitForElementToBeRemoved } from '../test-utils';
|
|
6
8
|
|
|
7
9
|
import UploadInput, { UploadInputProps } from './UploadInput';
|
|
8
10
|
import { TEST_IDS as UPLOAD_BUTTON_TEST_IDS } from './uploadButton/UploadButton';
|
|
9
11
|
import { TEST_IDS as UPLOAD_ITEM_TEST_IDS } from './uploadItem/UploadItem';
|
|
10
|
-
import { act } from 'react';
|
|
11
12
|
|
|
12
13
|
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTimeAsync });
|
|
13
14
|
|
|
@@ -310,4 +311,16 @@ describe('UploadInput', () => {
|
|
|
310
311
|
});
|
|
311
312
|
});
|
|
312
313
|
});
|
|
314
|
+
|
|
315
|
+
it('supports `Field` for error messages', () => {
|
|
316
|
+
render(
|
|
317
|
+
<Field message="Something went wrong" sentiment="negative">
|
|
318
|
+
<UploadInput {...props} />
|
|
319
|
+
</Field>,
|
|
320
|
+
);
|
|
321
|
+
|
|
322
|
+
const container = screen.getAllByRole('group')[0];
|
|
323
|
+
expect(container).toBeInvalid();
|
|
324
|
+
expect(container).toHaveAccessibleDescription('Something went wrong');
|
|
325
|
+
});
|
|
313
326
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { StoryFn, Meta } from '@storybook/react';
|
|
2
2
|
|
|
3
|
+
import { Field } from '../field/Field';
|
|
4
|
+
|
|
3
5
|
import UploadInput, { UploadInputProps } from './UploadInput';
|
|
4
6
|
import { UploadResponse } from './types';
|
|
5
7
|
|
|
@@ -44,3 +46,12 @@ SingleFile.args = { ...props };
|
|
|
44
46
|
|
|
45
47
|
export const MultipleFiles: Story = Template.bind({});
|
|
46
48
|
MultipleFiles.args = { ...props, multiple: true };
|
|
49
|
+
|
|
50
|
+
export const WithinField: Story = Template.bind({});
|
|
51
|
+
WithinField.decorators = [
|
|
52
|
+
(Story) => (
|
|
53
|
+
<Field message="Something went wrong" sentiment="negative">
|
|
54
|
+
<Story />
|
|
55
|
+
</Field>
|
|
56
|
+
),
|
|
57
|
+
];
|
|
@@ -4,6 +4,7 @@ import { useIntl } from 'react-intl';
|
|
|
4
4
|
|
|
5
5
|
import Button from '../button';
|
|
6
6
|
import { CommonProps, ControlType, Priority, Status } from '../common';
|
|
7
|
+
import { useInputAttributes } from '../inputs/contexts';
|
|
7
8
|
import Modal from '../modal';
|
|
8
9
|
import { isSizeValid } from '../upload/utils/isSizeValid';
|
|
9
10
|
import { isTypeValid } from '../upload/utils/isTypeValid';
|
|
@@ -127,6 +128,8 @@ const UploadInput = ({
|
|
|
127
128
|
sizeLimitErrorMessage,
|
|
128
129
|
uploadButtonTitle,
|
|
129
130
|
}: UploadInputProps) => {
|
|
131
|
+
const inputAttributes = useInputAttributes({ nonLabelable: true });
|
|
132
|
+
|
|
130
133
|
const [markedFileForDelete, setMarkedFileForDelete] = useState<UploadedFile | null>(null);
|
|
131
134
|
const [mounted, setMounted] = useState(false);
|
|
132
135
|
const { formatMessage } = useIntl();
|
|
@@ -299,7 +302,11 @@ const UploadInput = ({
|
|
|
299
302
|
|
|
300
303
|
return (
|
|
301
304
|
<>
|
|
302
|
-
<div
|
|
305
|
+
<div
|
|
306
|
+
role="group"
|
|
307
|
+
className={classNames('np-upload-input', className, { disabled })}
|
|
308
|
+
{...inputAttributes}
|
|
309
|
+
>
|
|
303
310
|
{uploadedFiles.map((file) => (
|
|
304
311
|
<UploadItem
|
|
305
312
|
key={file.id}
|