@transferwise/components 0.0.0-experimental-b20133d → 0.0.0-experimental-a2f9b4e

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 (52) hide show
  1. package/build/field/Field.js +32 -60
  2. package/build/field/Field.js.map +1 -1
  3. package/build/field/Field.mjs +34 -62
  4. package/build/field/Field.mjs.map +1 -1
  5. package/build/flowNavigation/FlowNavigation.js +2 -4
  6. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  7. package/build/flowNavigation/FlowNavigation.mjs +2 -4
  8. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  9. package/build/i18n/en.json +0 -1
  10. package/build/i18n/en.json.js +0 -1
  11. package/build/i18n/en.json.js.map +1 -1
  12. package/build/i18n/en.json.mjs +0 -1
  13. package/build/i18n/en.json.mjs.map +1 -1
  14. package/build/inputs/TextArea.js +0 -5
  15. package/build/inputs/TextArea.js.map +1 -1
  16. package/build/inputs/TextArea.mjs +1 -6
  17. package/build/inputs/TextArea.mjs.map +1 -1
  18. package/build/inputs/contexts.js +0 -16
  19. package/build/inputs/contexts.js.map +1 -1
  20. package/build/inputs/contexts.mjs +2 -16
  21. package/build/inputs/contexts.mjs.map +1 -1
  22. package/build/main.css +1 -14
  23. package/build/styles/field/Field.css +1 -13
  24. package/build/styles/main.css +1 -14
  25. package/build/types/field/Field.d.ts.map +1 -1
  26. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  27. package/build/types/inputs/TextArea.d.ts.map +1 -1
  28. package/build/types/inputs/contexts.d.ts +0 -6
  29. package/build/types/inputs/contexts.d.ts.map +1 -1
  30. package/build/types/test-utils/index.d.ts +0 -2
  31. package/build/types/test-utils/index.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/field/Field.css +1 -13
  34. package/src/field/Field.less +1 -11
  35. package/src/field/Field.story.tsx +1 -5
  36. package/src/field/Field.tsx +37 -80
  37. package/src/flowNavigation/FlowNavigation.test.js +2 -2
  38. package/src/flowNavigation/FlowNavigation.test.story.tsx +88 -0
  39. package/src/flowNavigation/FlowNavigation.tsx +2 -5
  40. package/src/i18n/en.json +0 -1
  41. package/src/inputs/TextArea.tsx +2 -7
  42. package/src/inputs/contexts.tsx +1 -18
  43. package/src/main.css +1 -14
  44. package/src/textareaWithDisplayFormat/TextareaWithDisplayFormat.story.tsx +0 -1
  45. package/build/field/Field.messages.js +0 -14
  46. package/build/field/Field.messages.js.map +0 -1
  47. package/build/field/Field.messages.mjs +0 -10
  48. package/build/field/Field.messages.mjs.map +0 -1
  49. package/build/types/field/Field.messages.d.ts +0 -8
  50. package/build/types/field/Field.messages.d.ts.map +0 -1
  51. package/src/field/Field.messages.ts +0 -8
  52. package/src/inputs/TextArea.story.tsx +0 -56
@@ -1,4 +1,4 @@
1
- import { createContext, useContext, useEffect } from 'react';
1
+ import { createContext, useContext } from 'react';
2
2
 
3
3
  type FieldLabelContextType = {
4
4
  id?: string;
@@ -36,23 +36,6 @@ export function useFieldLabelRef() {
36
36
  return useContext(FieldLabelContext)?.ref;
37
37
  }
38
38
 
39
- export type TextareaCharacterCountState = { current: number; max: number } | null;
40
-
41
- const TextareaCharacterCountContext = createContext<
42
- ((state: TextareaCharacterCountState) => void) | undefined
43
- >(undefined);
44
- export const TextareaCharacterCountProvider = TextareaCharacterCountContext.Provider;
45
-
46
- export function useTextareaCharacterCount(current: number, max: number | undefined) {
47
- const setCharacterCount = useContext(TextareaCharacterCountContext);
48
- useEffect(() => {
49
- if (setCharacterCount && max != null) {
50
- setCharacterCount({ current, max });
51
- return () => setCharacterCount(null);
52
- }
53
- }, [setCharacterCount, current, max]);
54
- }
55
-
56
39
  export interface WithInputAttributesProps {
57
40
  inputAttributes: ReturnType<typeof useInputAttributes>;
58
41
  }
package/src/main.css CHANGED
@@ -30194,22 +30194,9 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
30194
30194
  }
30195
30195
 
30196
30196
  .np-field-control,
30197
- .np-field-footer {
30198
- display: flex;
30199
- align-items: flex-start;
30197
+ .np-field__prompt {
30200
30198
  margin-top: 4px;
30201
30199
  margin-top: var(--size-4);
30202
- gap: 8px;
30203
- gap: var(--size-8);
30204
- }
30205
-
30206
- .np-field-counter {
30207
- margin-left: auto;
30208
- white-space: nowrap;
30209
- padding: 4px 0;
30210
- padding: var(--size-4) 0;
30211
- color: #768e9c;
30212
- color: var(--color-content-tertiary);
30213
30200
  }
30214
30201
 
30215
30202
  .np-field .form-group--typeahead[class],
@@ -21,7 +21,6 @@ export const Basic: Story = {
21
21
  <TextareaWithDisplayFormat
22
22
  id={id}
23
23
  value="0000"
24
- maxLength={20}
25
24
  displayPattern="**** - **** - ****"
26
25
  onChange={console.log}
27
26
  />
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var reactIntl = require('react-intl');
6
-
7
- var messages = reactIntl.defineMessages({
8
- characterCount: {
9
- id: "neptune.Field.characterCount"
10
- }
11
- });
12
-
13
- exports.default = messages;
14
- //# sourceMappingURL=Field.messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.messages.js","sources":["../../src/field/Field.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n characterCount: {\n id: 'neptune.Field.characterCount',\n defaultMessage: '{current} of {max} characters used',\n },\n});\n"],"names":["defineMessages","characterCount","id"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,cAAc,EAAE;IACdC,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -1,10 +0,0 @@
1
- import { defineMessages } from 'react-intl';
2
-
3
- var messages = defineMessages({
4
- characterCount: {
5
- id: "neptune.Field.characterCount"
6
- }
7
- });
8
-
9
- export { messages as default };
10
- //# sourceMappingURL=Field.messages.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.messages.mjs","sources":["../../src/field/Field.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n characterCount: {\n id: 'neptune.Field.characterCount',\n defaultMessage: '{current} of {max} characters used',\n },\n});\n"],"names":["defineMessages","characterCount","id"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,cAAc,EAAE;IACdC,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -1,8 +0,0 @@
1
- declare const _default: {
2
- characterCount: {
3
- id: string;
4
- defaultMessage: string;
5
- };
6
- };
7
- export default _default;
8
- //# sourceMappingURL=Field.messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Field.messages.d.ts","sourceRoot":"","sources":["../../../src/field/Field.messages.ts"],"names":[],"mappings":";;;;;;AAEA,wBAKG"}
@@ -1,8 +0,0 @@
1
- import { defineMessages } from 'react-intl';
2
-
3
- export default defineMessages({
4
- characterCount: {
5
- id: 'neptune.Field.characterCount',
6
- defaultMessage: '{current} of {max} characters used',
7
- },
8
- });
@@ -1,56 +0,0 @@
1
- import { useState } from 'react';
2
- import { Meta, StoryObj } from '@storybook/react-webpack5';
3
-
4
- import { Field } from '../field/Field';
5
- import { Sentiment } from '../common';
6
- import { TextArea } from './TextArea';
7
-
8
- const meta: Meta<typeof TextArea> = {
9
- title: 'Forms/TextArea',
10
- component: TextArea,
11
- };
12
-
13
- export default meta;
14
- type Story = StoryObj<typeof TextArea>;
15
-
16
- export const Basic: Story = {
17
- render: () => {
18
- const [value, setValue] = useState('');
19
-
20
- return (
21
- <Field label="Message" required={false}>
22
- <TextArea maxLength={200} value={value} onChange={({ target }) => setValue(target.value)} />
23
- </Field>
24
- );
25
- },
26
- parameters: {
27
- docs: {
28
- source: {
29
- code: `<Field label="Message" required={false}>
30
- <TextArea
31
- maxLength={200}
32
- value={value}
33
- onChange={({ target }) => setValue(target.value)}
34
- />
35
- </Field>`,
36
- },
37
- },
38
- },
39
- };
40
-
41
- export const WithError: Story = {
42
- render: () => {
43
- const [value, setValue] = useState('');
44
-
45
- return (
46
- <Field
47
- label="Message"
48
- required={false}
49
- sentiment={Sentiment.NEGATIVE}
50
- message="You have exceeded the character limit"
51
- >
52
- <TextArea maxLength={200} value={value} onChange={({ target }) => setValue(target.value)} />
53
- </Field>
54
- );
55
- },
56
- };