@transferwise/components 0.0.0-experimental-5a9bfa5 → 0.0.0-experimental-0cfd3cc

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.
@@ -3,9 +3,11 @@ export type FieldProps = {
3
3
  id?: string | null;
4
4
  label: React.ReactNode;
5
5
  hint?: React.ReactNode;
6
+ success?: React.ReactNode;
7
+ warning?: React.ReactNode;
6
8
  error?: React.ReactNode;
7
9
  className?: string;
8
10
  children?: React.ReactNode;
9
11
  };
10
- export declare const Field: ({ id, label, hint, error, className, children }: FieldProps) => import("react").JSX.Element;
12
+ export declare const Field: ({ id, label, hint, success, warning, error, className, children, }: FieldProps) => import("react").JSX.Element;
11
13
  //# sourceMappingURL=Field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/field/Field.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG;IACvB,6IAA6I;IAC7I,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,KAAK,oDAAqD,UAAU,gCA8ChF,CAAC"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/field/Field.tsx"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG;IACvB,6IAA6I;IAC7I,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,KAAK,uEASf,UAAU,gCA4DZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineAlert.d.ts","sourceRoot":"","sources":["../../../src/inlineAlert/InlineAlert.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,EAAE,EACF,IAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,+BAYlB"}
1
+ {"version":3,"file":"InlineAlert.d.ts","sourceRoot":"","sources":["../../../src/inlineAlert/InlineAlert.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAQ,MAAM,WAAW,CAAC;AAG5C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,EAAE,EACF,IAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,+BAclB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "0.0.0-experimental-5a9bfa5",
3
+ "version": "0.0.0-experimental-0cfd3cc",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -92,13 +92,13 @@
92
92
  "react-intl": "^6.6.6",
93
93
  "rollup": "^4.17.2",
94
94
  "storybook": "^8.1.10",
95
- "@transferwise/neptune-css": "14.10.0",
96
- "@wise/components-theming": "1.3.0",
97
- "@transferwise/less-config": "3.1.0"
95
+ "@transferwise/less-config": "3.1.0",
96
+ "@transferwise/neptune-css": "0.0.0-experimental-0cfd3cc",
97
+ "@wise/components-theming": "1.3.0"
98
98
  },
99
99
  "peerDependencies": {
100
100
  "@transferwise/icons": "^3.7.0",
101
- "@transferwise/neptune-css": "^14.9.6",
101
+ "@transferwise/neptune-css": "0.0.0-experimental-0cfd3cc",
102
102
  "@wise/art": "^2.7.0",
103
103
  "@wise/components-theming": "^1.0.0",
104
104
  "react": ">=18",
@@ -17,6 +17,22 @@ export const Basic = () => {
17
17
  );
18
18
  };
19
19
 
20
+ export const WithSuccessMessage = () => {
21
+ const [value, setValue] = useState<string | undefined>('This is some text');
22
+ return (
23
+ <Field label="Phone number" success="Positive message">
24
+ <Input value={value} onChange={({ target }) => setValue(target.value)} />
25
+ </Field>
26
+ );
27
+ };
28
+ export const WithWarningMessage = () => {
29
+ const [value, setValue] = useState<string | undefined>('This is some text');
30
+ return (
31
+ <Field label="Phone number" warning="Warning message">
32
+ <Input value={value} onChange={({ target }) => setValue(target.value)} />
33
+ </Field>
34
+ );
35
+ };
20
36
  export const WithErrorMessage = () => {
21
37
  const [value, setValue] = useState<string | undefined>('This is some text');
22
38
  return (
@@ -16,12 +16,25 @@ export type FieldProps = {
16
16
  id?: string | null;
17
17
  label: React.ReactNode;
18
18
  hint?: React.ReactNode;
19
+ success?: React.ReactNode;
20
+ warning?: React.ReactNode;
19
21
  error?: React.ReactNode;
20
22
  className?: string;
21
23
  children?: React.ReactNode;
22
24
  };
23
25
 
24
- export const Field = ({ id, label, hint, error, className, children }: FieldProps) => {
26
+ export const Field = ({
27
+ id,
28
+ label,
29
+ hint,
30
+ success,
31
+ warning,
32
+ error,
33
+ className,
34
+ children,
35
+ }: FieldProps) => {
36
+ const hasSuccess = Boolean(success);
37
+ const hasWarning = Boolean(warning);
25
38
  const hasError = Boolean(error);
26
39
  const hasHint = Boolean(hint) && !hasError;
27
40
 
@@ -41,6 +54,8 @@ export const Field = ({ id, label, hint, error, className, children }: FieldProp
41
54
  className={classNames(
42
55
  'form-group d-block',
43
56
  {
57
+ 'has-positive': hasSuccess,
58
+ 'has-warning': hasWarning,
44
59
  'has-error': hasError,
45
60
  'has-info': hasHint,
46
61
  },
@@ -56,6 +71,16 @@ export const Field = ({ id, label, hint, error, className, children }: FieldProp
56
71
  {hint}
57
72
  </InlineAlert>
58
73
  )}
74
+ {hasSuccess && (
75
+ <InlineAlert type={Sentiment.POSITIVE} id={descriptionId}>
76
+ {success}
77
+ </InlineAlert>
78
+ )}
79
+ {hasWarning && (
80
+ <InlineAlert type={Sentiment.WARNING} id={descriptionId}>
81
+ {warning}
82
+ </InlineAlert>
83
+ )}
59
84
  {hasError && (
60
85
  <InlineAlert type={Sentiment.NEGATIVE} id={descriptionId}>
61
86
  {error}
@@ -1,8 +1,12 @@
1
- import { AlertCircle as AlertCircleIcon } from '@transferwise/icons';
1
+ import {
2
+ CheckCircleFill as CheckCircleIcon,
3
+ CrossCircleFill as CrossCircleIcon,
4
+ } from '@transferwise/icons';
2
5
  import classNames from 'classnames';
3
6
  import { ReactNode } from 'react';
4
7
 
5
- import { Sentiment } from '../common';
8
+ import { Sentiment, Size } from '../common';
9
+ import StatusIcon from '../statusIcon';
6
10
 
7
11
  export interface InlineAlertProps {
8
12
  id?: string;
@@ -24,7 +28,9 @@ export default function InlineAlert({
24
28
  id={id}
25
29
  className={classNames('alert alert-detach', `alert-${danger ? 'danger' : type}`, className)}
26
30
  >
27
- {danger && <AlertCircleIcon />}
31
+ {type === 'positive' && <CheckCircleIcon />}
32
+ {type === 'warning' && <StatusIcon sentiment={Sentiment.WARNING} size={Size.SMALL} />}
33
+ {danger && <CrossCircleIcon />}
28
34
  <div>{children}</div>
29
35
  </div>
30
36
  );