@toptal/picasso 28.14.2 → 29.0.1
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/FormField/FormField.d.ts +4 -0
- package/FormField/FormField.js +17 -4
- package/FormField/FormField.js.map +1 -1
- package/FormField/styles.d.ts +1 -1
- package/FormField/styles.js +13 -0
- package/FormField/styles.js.map +1 -1
- package/Input/Input.d.ts +1 -0
- package/Input/Input.js +37 -25
- package/Input/Input.js.map +1 -1
- package/Input/styles.d.ts +1 -1
- package/Input/styles.js +0 -4
- package/Input/styles.js.map +1 -1
- package/InputLimitAdornment/InputLimitAdornment.js +14 -9
- package/InputLimitAdornment/InputLimitAdornment.js.map +1 -1
- package/InputLimitAdornment/styles.d.ts +1 -1
- package/InputLimitAdornment/styles.js +0 -4
- package/InputLimitAdornment/styles.js.map +1 -1
- package/InputMultilineAdornment/InputMultilineAdornment.d.ts +2 -5
- package/InputMultilineAdornment/InputMultilineAdornment.js +6 -6
- package/InputMultilineAdornment/InputMultilineAdornment.js.map +1 -1
- package/InputMultilineAdornment/styles.d.ts +1 -1
- package/InputMultilineAdornment/styles.js +11 -9
- package/InputMultilineAdornment/styles.js.map +1 -1
- package/InputValidIconAdornment/InputValidIconAdornment.d.ts +2 -1
- package/InputValidIconAdornment/InputValidIconAdornment.js +8 -3
- package/InputValidIconAdornment/InputValidIconAdornment.js.map +1 -1
- package/MenuItem/styles.js +1 -0
- package/MenuItem/styles.js.map +1 -1
- package/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/RichTextEditor/RichTextEditor.js +28 -25
- package/RichTextEditor/RichTextEditor.js.map +1 -1
- package/SidebarItem/ParentItemContextProvider.d.ts +22 -0
- package/SidebarItem/ParentItemContextProvider.js +20 -0
- package/SidebarItem/ParentItemContextProvider.js.map +1 -0
- package/SidebarItem/SidebarItemAccordion.js +10 -10
- package/SidebarItem/SidebarItemAccordion.js.map +1 -1
- package/SidebarItem/SidebarItemCompact.js +9 -3
- package/SidebarItem/SidebarItemCompact.js.map +1 -1
- package/SidebarItem/SidebarItemHeader.js +5 -3
- package/SidebarItem/SidebarItemHeader.js.map +1 -1
- package/SidebarItem/styles.js +2 -2
- package/SidebarItem/styles.js.map +1 -1
- package/SidebarItem/types.d.ts +4 -2
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.d.ts +3 -0
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.js +8 -0
- package/SidebarItem/utils/getBadgeProps/getBadgeProps.js.map +1 -0
- package/SidebarItem/utils/getTagProps/getTagProps.d.ts +3 -0
- package/SidebarItem/utils/getTagProps/getTagProps.js +8 -0
- package/SidebarItem/utils/getTagProps/getTagProps.js.map +1 -0
- package/SidebarItemContent/SidebarItemContent.d.ts +1 -12
- package/SidebarItemContent/SidebarItemContent.js +31 -16
- package/SidebarItemContent/SidebarItemContent.js.map +1 -1
- package/SidebarItemContent/index.d.ts +2 -1
- package/SidebarItemContent/index.js.map +1 -1
- package/SidebarItemContent/styles.d.ts +1 -1
- package/SidebarItemContent/styles.js +11 -3
- package/SidebarItemContent/styles.js.map +1 -1
- package/SidebarItemContent/types.d.ts +22 -0
- package/SidebarItemContent/types.js +2 -0
- package/SidebarItemContent/types.js.map +1 -0
- package/SidebarItemContent/useIndicatorOnParentItem.d.ts +7 -0
- package/SidebarItemContent/useIndicatorOnParentItem.js +20 -0
- package/SidebarItemContent/useIndicatorOnParentItem.js.map +1 -0
- package/TagCompound/index.d.ts +1 -1
- package/TagRectangular/TagRectangular.d.ts +2 -16
- package/TagRectangular/TagRectangular.js.map +1 -1
- package/TagRectangular/index.d.ts +1 -1
- package/TagRectangular/types.d.ts +16 -0
- package/TagRectangular/types.js +2 -0
- package/TagRectangular/types.js.map +1 -0
- package/package.json +1 -1
- package/RichTextEditorCounter/RichTextEditorCounter.d.ts +0 -10
- package/RichTextEditorCounter/RichTextEditorCounter.js +0 -17
- package/RichTextEditorCounter/RichTextEditorCounter.js.map +0 -1
- package/RichTextEditorCounter/index.d.ts +0 -1
- package/RichTextEditorCounter/index.js +0 -2
- package/RichTextEditorCounter/index.js.map +0 -1
- package/RichTextEditorCounter/styles.d.ts +0 -3
- package/RichTextEditorCounter/styles.js +0 -27
- package/RichTextEditorCounter/styles.js.map +0 -1
package/FormField/FormField.d.ts
CHANGED
|
@@ -9,6 +9,10 @@ export interface Props extends BaseProps, HTMLAttributes<HTMLDivElement> {
|
|
|
9
9
|
children: ReactNode;
|
|
10
10
|
/** Field requirements for this specific field */
|
|
11
11
|
fieldRequirements?: ReactNode;
|
|
12
|
+
/** instance of FormAutoSaveIndicator component */
|
|
13
|
+
autoSaveIndicator?: ReactNode;
|
|
14
|
+
/** whether multiline counter is visible */
|
|
15
|
+
hasMultilineCounter?: boolean;
|
|
12
16
|
}
|
|
13
17
|
export declare const FormField: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
14
18
|
export default FormField;
|
package/FormField/FormField.js
CHANGED
|
@@ -12,18 +12,31 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React, { forwardRef } from 'react';
|
|
13
13
|
import { makeStyles } from '@material-ui/core/styles';
|
|
14
14
|
import cx from 'classnames';
|
|
15
|
+
import Container from '../Container';
|
|
15
16
|
import FormHint from '../FormHint';
|
|
16
17
|
import FormError from '../FormError';
|
|
17
18
|
import styles from './styles';
|
|
18
19
|
const useStyles = makeStyles(styles, { name: 'PicassoFormField' });
|
|
20
|
+
const FormFieldAdornments = ({ autoSaveIndicator, children, hasMultilineCounter, }) => {
|
|
21
|
+
const classes = useStyles();
|
|
22
|
+
if (!autoSaveIndicator) {
|
|
23
|
+
return React.createElement(React.Fragment, null, children);
|
|
24
|
+
}
|
|
25
|
+
return (React.createElement(Container, { flex: true, direction: 'column', className: classes.adornment },
|
|
26
|
+
children,
|
|
27
|
+
React.createElement(Container, { className: cx(classes.autoSaveIndicator, {
|
|
28
|
+
[classes.hasMultilineCounter]: hasMultilineCounter,
|
|
29
|
+
}) }, autoSaveIndicator)));
|
|
30
|
+
};
|
|
19
31
|
export const FormField = forwardRef(function FormField(props, ref) {
|
|
20
|
-
const { className, style, hint, children, error, fieldRequirements } = props, rest = __rest(props, ["className", "style", "hint", "children", "error", "fieldRequirements"]);
|
|
32
|
+
const { autoSaveIndicator, className, style, hint, children, error, fieldRequirements, hasMultilineCounter } = props, rest = __rest(props, ["autoSaveIndicator", "className", "style", "hint", "children", "error", "fieldRequirements", "hasMultilineCounter"]);
|
|
21
33
|
const classes = useStyles();
|
|
22
34
|
return (React.createElement("div", Object.assign({}, rest, { ref: ref, className: cx(classes.root, className), style: style, "data-field-has-error": Boolean(error) }),
|
|
23
35
|
children,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
36
|
+
React.createElement(FormFieldAdornments, { autoSaveIndicator: autoSaveIndicator, hasMultilineCounter: hasMultilineCounter },
|
|
37
|
+
error && React.createElement(FormError, { className: classes.error }, error),
|
|
38
|
+
hint && React.createElement(FormHint, { className: classes.hint }, hint),
|
|
39
|
+
fieldRequirements)));
|
|
27
40
|
});
|
|
28
41
|
FormField.defaultProps = {};
|
|
29
42
|
FormField.displayName = 'FormField';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../src/FormField/FormField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,MAAM,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../src/FormField/FormField.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,MAAM,MAAM,UAAU,CAAA;AAiB7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAOzE,MAAM,mBAAmB,GAAG,CAAC,EAC3B,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,GACM,EAAE,EAAE;IAC7B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,0CAAG,QAAQ,CAAI,CAAA;KACvB;IAED,OAAO,CACL,oBAAC,SAAS,IAAC,IAAI,QAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5D,QAAQ;QACT,oBAAC,SAAS,IACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACvC,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;aACnD,CAAC,IAED,iBAAiB,CACR,CACF,CACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAwB,SAAS,SAAS,CAC3E,KAAK,EACL,GAAG;IAEH,MAAM,EACJ,iBAAiB,EACjB,SAAS,EACT,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,iBAAiB,EACjB,mBAAmB,KAEjB,KAAK,EADJ,IAAI,UACL,KAAK,EAVH,oHAUL,CAAQ,CAAA;IAET,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK,0BACU,OAAO,CAAC,KAAK,CAAC;QAEnC,QAAQ;QACT,oBAAC,mBAAmB,IAClB,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB;YAEvC,KAAK,IAAI,oBAAC,SAAS,IAAC,SAAS,EAAE,OAAO,CAAC,KAAK,IAAG,KAAK,CAAa;YACjE,IAAI,IAAI,oBAAC,QAAQ,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAG,IAAI,CAAY;YAC5D,iBAAiB,CACE,CAClB,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,YAAY,GAAG,EAAE,CAAA;AAE3B,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,eAAe,SAAS,CAAA"}
|
package/FormField/styles.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: () => import("@material-ui/styles").StyleRules<{}, "error" | "root" | "hint">;
|
|
1
|
+
declare const _default: () => import("@material-ui/styles").StyleRules<{}, "error" | "root" | "adornment" | "autoSaveIndicator" | "hasMultilineCounter" | "hint">;
|
|
2
2
|
export default _default;
|
package/FormField/styles.js
CHANGED
|
@@ -9,6 +9,19 @@ export default () => createStyles({
|
|
|
9
9
|
marginTop: 0,
|
|
10
10
|
},
|
|
11
11
|
},
|
|
12
|
+
adornment: {
|
|
13
|
+
position: 'relative',
|
|
14
|
+
paddingRight: '2rem',
|
|
15
|
+
},
|
|
16
|
+
autoSaveIndicator: {
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
top: 0,
|
|
19
|
+
right: 0,
|
|
20
|
+
'&$hasMultilineCounter': {
|
|
21
|
+
top: '-0.875rem',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
hasMultilineCounter: {},
|
|
12
25
|
hint: {},
|
|
13
26
|
error: {},
|
|
14
27
|
});
|
package/FormField/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/FormField/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAEhB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,kBAAkB,EAAE;YAClB,SAAS,EAAE,CAAC;SACb;KACF;IAED,IAAI,EAAE,EAAE;IAER,KAAK,EAAE,EAAE;CACV,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/FormField/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,GAAG,EAAE,CAClB,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAEhB,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;QACD,kBAAkB,EAAE;YAClB,SAAS,EAAE,CAAC;SACb;KACF;IAED,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,MAAM;KACrB;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QAER,uBAAuB,EAAE;YACvB,GAAG,EAAE,WAAW;SACjB;KACF;IAED,mBAAmB,EAAE,EAAE;IAEvB,IAAI,EAAE,EAAE;IAER,KAAK,EAAE,EAAE;CACV,CAAC,CAAA"}
|
package/Input/Input.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export interface Props extends BaseProps, Omit<InputHTMLAttributes<HTMLInputElem
|
|
|
65
65
|
resetButton?: string;
|
|
66
66
|
validIcon?: string;
|
|
67
67
|
};
|
|
68
|
+
setHasMultilineCounter?: (name: string, hasCounter: boolean) => void;
|
|
68
69
|
}
|
|
69
70
|
export declare const Input: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLInputElement>>;
|
|
70
71
|
export default Input;
|
package/Input/Input.js
CHANGED
|
@@ -13,13 +13,15 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
13
13
|
import React, { forwardRef, } from 'react';
|
|
14
14
|
import cx from 'classnames';
|
|
15
15
|
import { makeStyles } from '@material-ui/core/styles';
|
|
16
|
+
import { useHasMultilineCounter, } from '@toptal/picasso-shared';
|
|
16
17
|
import OutlinedInput from '../OutlinedInput';
|
|
17
18
|
import { disableUnsupportedProps } from '../utils';
|
|
18
19
|
import styles from './styles';
|
|
19
20
|
import { usePropDeprecationWarning } from '../utils/use-deprecation-warnings';
|
|
20
21
|
import InputLimitAdornment from '../InputLimitAdornment';
|
|
21
22
|
import InputIconAdornment from '../InputIconAdornment';
|
|
22
|
-
import
|
|
23
|
+
import Container from '../Container';
|
|
24
|
+
import InputValidIconAdornment from '../InputValidIconAdornment';
|
|
23
25
|
const useStyles = makeStyles(styles, { name: 'PicassoInput' });
|
|
24
26
|
const hasRemainingCounter = ({ counter, limit, }) => Boolean(counter === 'remaining' && limit);
|
|
25
27
|
const hasEnteredCounter = ({ counter }) => counter === 'entered';
|
|
@@ -32,26 +34,33 @@ const StartAdornment = ({ icon, iconPosition, disabled, }) => {
|
|
|
32
34
|
return React.createElement(InputIconAdornment, { disabled: disabled, position: 'start', icon: icon });
|
|
33
35
|
};
|
|
34
36
|
const EndAdornment = (props) => {
|
|
35
|
-
const { icon, iconPosition, disabled, limit, multiline, charsLength, testIds, counter,
|
|
37
|
+
const { icon, iconPosition, disabled, limit, multiline, charsLength, testIds, counter, showCounter, } = props;
|
|
36
38
|
if (icon && iconPosition === 'end') {
|
|
37
39
|
return React.createElement(InputIconAdornment, { disabled: disabled, position: 'end', icon: icon });
|
|
38
40
|
}
|
|
39
|
-
const showCounter = !!charsLength && hasCounter({ counter, limit });
|
|
40
41
|
if (!multiline && showCounter) {
|
|
41
|
-
return (React.createElement(InputLimitAdornment
|
|
42
|
+
return (React.createElement(InputLimitAdornment
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
44
|
+
, {
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
46
|
+
charsLength: charsLength, multiline: multiline,
|
|
42
47
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
43
48
|
counter: counter,
|
|
44
49
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
45
50
|
limit: limit, testIds: testIds }));
|
|
46
51
|
}
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
return null;
|
|
53
|
+
};
|
|
54
|
+
const MultilineAdornment = ({ charsLength, counter, limit, showCounter, status, testIds, }) => {
|
|
55
|
+
return (React.createElement(Container, null,
|
|
56
|
+
showCounter && (React.createElement(InputLimitAdornment, { testIds: testIds,
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
58
|
+
charsLength: charsLength,
|
|
49
59
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
50
60
|
counter: counter,
|
|
51
61
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
52
|
-
limit: limit, multiline:
|
|
53
|
-
|
|
54
|
-
return null;
|
|
62
|
+
limit: limit, multiline: true })),
|
|
63
|
+
status === 'success' && (React.createElement(InputValidIconAdornment, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.validIcon, multiline: true }))));
|
|
55
64
|
};
|
|
56
65
|
const purifyProps = (props) => {
|
|
57
66
|
const sizeOptions = {
|
|
@@ -69,7 +78,7 @@ const purifyProps = (props) => {
|
|
|
69
78
|
return disableUnsupportedProps('Input', props, sizeOptions);
|
|
70
79
|
};
|
|
71
80
|
export const Input = forwardRef(function Input(props, ref) {
|
|
72
|
-
const _a = purifyProps(props), { id, name, defaultValue, value, placeholder, error, status, disabled, icon, iconPosition, inputProps, children, multiline, multilineResizable, autoFocus, width, className, style, rows, rowsMax, type, onChange, onClick, startAdornment, endAdornment, limit, counter, size, enableReset, onResetClick, outlineRef, testIds } = _a, rest = __rest(_a, ["id", "name", "defaultValue", "value", "placeholder", "error", "status", "disabled", "icon", "iconPosition", "inputProps", "children", "multiline", "multilineResizable", "autoFocus", "width", "className", "style", "rows", "rowsMax", "type", "onChange", "onClick", "startAdornment", "endAdornment", "limit", "counter", "size", "enableReset", "onResetClick", "outlineRef", "testIds"]);
|
|
81
|
+
const _a = purifyProps(props), { id, name, defaultValue, value, placeholder, error, status, disabled, icon, iconPosition, inputProps, children, multiline, multilineResizable, autoFocus, width, className, style, rows, rowsMax, type, onChange, onClick, startAdornment, endAdornment, limit, counter, size, enableReset, onResetClick, outlineRef, testIds, setHasMultilineCounter } = _a, rest = __rest(_a, ["id", "name", "defaultValue", "value", "placeholder", "error", "status", "disabled", "icon", "iconPosition", "inputProps", "children", "multiline", "multilineResizable", "autoFocus", "width", "className", "style", "rows", "rowsMax", "type", "onChange", "onClick", "startAdornment", "endAdornment", "limit", "counter", "size", "enableReset", "onResetClick", "outlineRef", "testIds", "setHasMultilineCounter"]);
|
|
73
82
|
usePropDeprecationWarning({
|
|
74
83
|
props,
|
|
75
84
|
name: 'error',
|
|
@@ -78,22 +87,25 @@ export const Input = forwardRef(function Input(props, ref) {
|
|
|
78
87
|
});
|
|
79
88
|
const charsLength = value ? value.length : 0;
|
|
80
89
|
const classes = useStyles();
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
const showCounter = !!charsLength && hasCounter({ counter, limit });
|
|
91
|
+
useHasMultilineCounter(name, showCounter && multiline, setHasMultilineCounter);
|
|
92
|
+
return (React.createElement(React.Fragment, null,
|
|
93
|
+
React.createElement(OutlinedInput, { ref: outlineRef, inputRef: ref, className: className, style: style, classes: {
|
|
94
|
+
root: cx(classes.root, {
|
|
95
|
+
[classes.rootMultiline]: multiline,
|
|
96
|
+
}),
|
|
97
|
+
input: cx(classes.input, {
|
|
98
|
+
[classes.inputMultilineResizable]: multiline && multilineResizable,
|
|
89
99
|
}),
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
}, id: id, name: name, defaultValue: defaultValue, value: value, placeholder: placeholder, status: error ? 'error' : status, disabled: disabled, multiline: multiline, autoFocus: autoFocus, rows: rows, rowsMax: rowsMax, type: type, width: width, size: size, onClick: onClick,
|
|
101
|
+
// html attributes
|
|
102
|
+
inputProps: Object.assign(Object.assign({}, rest), inputProps), startAdornment: startAdornment || (React.createElement(StartAdornment, { icon: icon, iconPosition: iconPosition, disabled: disabled })), endAdornment: endAdornment || (React.createElement(EndAdornment, { icon: icon, iconPosition: iconPosition, disabled: disabled, limit: limit, charsLength: charsLength, multiline: multiline, counter: counter, status: status, testIds: testIds, showCounter: showCounter })), onChange: onChange, enableReset: enableReset, onResetClick: onResetClick, testIds: testIds }, children),
|
|
103
|
+
hasMultilineAdornment({
|
|
104
|
+
multiline,
|
|
105
|
+
status,
|
|
106
|
+
limit,
|
|
107
|
+
counter,
|
|
108
|
+
}) && (React.createElement(MultilineAdornment, { charsLength: charsLength, status: status, testIds: testIds, showCounter: showCounter, counter: counter, limit: limit }))));
|
|
97
109
|
});
|
|
98
110
|
Input.defaultProps = {
|
|
99
111
|
autoComplete: 'none',
|
package/Input/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,8BAA8B;AAC9B,OAAO,KAAK,EAAE,EAKZ,UAAU,GACX,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAS,UAAU,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"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"}
|
package/Input/styles.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import '../InputBase/styles';
|
|
|
3
3
|
import '../InputLabel/styles';
|
|
4
4
|
import '../OutlinedInput/styles';
|
|
5
5
|
import '../InputAdornment/styles';
|
|
6
|
-
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "root" | "rootMultiline" | "
|
|
6
|
+
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "root" | "rootMultiline" | "inputMultilineResizable">;
|
|
7
7
|
export default _default;
|
package/Input/styles.js
CHANGED
package/Input/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,qBAAqB,CAAA;AAC5B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,yBAAyB,CAAA;AAChC,OAAO,0BAA0B,CAAA;AAEjC,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,MAAM,EAAE,MAAM;KACf;IACD,aAAa,EAAE;QACb,MAAM,EAAE,MAAM;KACf;IACD,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,qBAAqB,CAAA;AAC5B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,yBAAyB,CAAA;AAChC,OAAO,0BAA0B,CAAA;AAEjC,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,MAAM,EAAE,MAAM;KACf;IACD,aAAa,EAAE;QACb,MAAM,EAAE,MAAM;KACf;IACD,uBAAuB,EAAE;QACvB,MAAM,EAAE,UAAU;KACnB;CACF,CAAC,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { makeStyles } from '@material-ui/core/styles';
|
|
3
3
|
import cx from 'classnames';
|
|
4
|
+
import { InputAdornment } from '@material-ui/core';
|
|
4
5
|
import styles from './styles';
|
|
5
|
-
import
|
|
6
|
+
import InputMultilineAdornment from '../InputMultilineAdornment';
|
|
6
7
|
const useStyles = makeStyles(styles, {
|
|
7
8
|
name: 'PicassoInputLimitAdornment',
|
|
8
9
|
});
|
|
@@ -29,15 +30,19 @@ const InputLimitAdornment = (props) => {
|
|
|
29
30
|
charsTillLimit,
|
|
30
31
|
counter,
|
|
31
32
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
[classes.limiterLabelError]: charsTillLimit <= 0,
|
|
37
|
-
}) },
|
|
38
|
-
multiline ? Math.abs(charsTillLimit) : charsTillLimit,
|
|
33
|
+
const error = charsTillLimit <= 0;
|
|
34
|
+
if (multiline) {
|
|
35
|
+
return (React.createElement(InputMultilineAdornment, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.inputAdornment, error: error },
|
|
36
|
+
Math.abs(charsTillLimit),
|
|
39
37
|
" ",
|
|
40
|
-
multilineLabel))
|
|
38
|
+
multilineLabel));
|
|
39
|
+
}
|
|
40
|
+
return (React.createElement(InputAdornment, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.inputAdornment, position: 'end', disablePointerEvents: true, className: cx(classes.limiterLabel, {
|
|
41
|
+
[classes.limiterLabelError]: error,
|
|
42
|
+
}) },
|
|
43
|
+
charsTillLimit,
|
|
44
|
+
" ",
|
|
45
|
+
multilineLabel));
|
|
41
46
|
};
|
|
42
47
|
export default InputLimitAdornment;
|
|
43
48
|
//# sourceMappingURL=InputLimitAdornment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputLimitAdornment.js","sourceRoot":"","sources":["../../src/InputLimitAdornment/InputLimitAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"InputLimitAdornment.js","sourceRoot":"","sources":["../../src/InputLimitAdornment/InputLimitAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAchE,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,4BAA4B;CACnC,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,OAAO,KAAK,WAAW,CAAA;AAC7E,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CACzC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAA;AAE1C,MAAM,iBAAiB,GAAG,CACxB,WAAmB,EACnB,OAAoB,EACpB,KAAa,EACb,EAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAEvE,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACT,cAAc,EACd,OAAO,GAGR,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,cAAc,IAAI,CAAC;YACxB,CAAC,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,OAAO;YAC5C,CAAC,CAAC,gBAAgB,CAAA;KACrB;IAED,OAAO,GAAG,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAY,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAEjE,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,SAAS;QACT,cAAc;QACd,OAAO;KACR,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,cAAc,IAAI,CAAC,CAAA;IAEjC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,uBAAuB,mBACT,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EACpC,KAAK,EAAE,KAAK;YAEX,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;;YAAG,cAAc,CAClB,CAC3B,CAAA;KACF;IAED,OAAO,CACL,oBAAC,cAAc,mBACA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EACpC,QAAQ,EAAC,KAAK,EACd,oBAAoB,QACpB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;YAClC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK;SACnC,CAAC;QAED,cAAc;;QAAG,cAAc,CACjB,CAClB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Theme } from '@material-ui/core/styles';
|
|
2
|
-
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "limiterLabel" | "limiterLabelError"
|
|
2
|
+
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "limiterLabel" | "limiterLabelError">;
|
|
3
3
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/InputLimitAdornment/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,MAAM;KACnB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;KACxB;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/InputLimitAdornment/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,MAAM;KACnB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;KACxB;CACF,CAAC,CAAA"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { Status } from '../OutlinedInput';
|
|
3
2
|
export interface Props {
|
|
4
3
|
children: ReactNode;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
inputAdornment?: string;
|
|
8
|
-
};
|
|
4
|
+
error?: boolean;
|
|
5
|
+
'data-testid'?: string;
|
|
9
6
|
}
|
|
10
7
|
declare const InputMultilineAdornment: (props: Props) => JSX.Element;
|
|
11
8
|
export default InputMultilineAdornment;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { makeStyles } from '@material-ui/core/styles';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import Container from '../Container';
|
|
3
5
|
import styles from './styles';
|
|
4
|
-
import InputAdornment from '../InputAdornment';
|
|
5
|
-
import InputValidIconAdornment from '../InputValidIconAdornment';
|
|
6
6
|
const useStyles = makeStyles(styles, {
|
|
7
7
|
name: 'PicassoInputMultilineAdornment',
|
|
8
8
|
});
|
|
9
9
|
const InputMultilineAdornment = (props) => {
|
|
10
|
-
const { children,
|
|
10
|
+
const { children, error, 'data-testid': dataTestId } = props;
|
|
11
11
|
const classes = useStyles();
|
|
12
|
-
return (React.createElement(
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
return (React.createElement(Container, { flex: true, "data-testid": dataTestId, className: cx(classes.root, {
|
|
13
|
+
[classes.error]: error,
|
|
14
|
+
}) }, children));
|
|
15
15
|
};
|
|
16
16
|
export default InputMultilineAdornment;
|
|
17
17
|
//# sourceMappingURL=InputMultilineAdornment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMultilineAdornment.js","sourceRoot":"","sources":["../../src/InputMultilineAdornment/InputMultilineAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"InputMultilineAdornment.js","sourceRoot":"","sources":["../../src/InputMultilineAdornment/InputMultilineAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,MAAM,MAAM,UAAU,CAAA;AAQ7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,gCAAgC;CACvC,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAY,EAAE,EAAE;IAC/C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IAC5D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,oBAAC,SAAS,IACR,IAAI,uBACS,UAAU,EACvB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;YAC1B,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK;SACvB,CAAC,IAED,QAAQ,CACC,CACb,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Theme } from '@material-ui/core/styles';
|
|
2
|
-
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "
|
|
2
|
+
declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "error" | "root">;
|
|
3
3
|
export default _default;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { createStyles } from '@material-ui/core/styles';
|
|
2
|
+
import { rem } from '@toptal/picasso-shared';
|
|
2
3
|
export default ({ palette }) => createStyles({
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
root: {
|
|
5
|
+
fontSize: '0.625rem',
|
|
6
|
+
lineHeight: 1,
|
|
7
|
+
marginTop: '0.25rem',
|
|
8
|
+
color: palette.grey.main2,
|
|
9
|
+
marginRight: rem('2px'),
|
|
10
|
+
'&$error': {
|
|
11
|
+
color: palette.red.main,
|
|
12
|
+
},
|
|
12
13
|
},
|
|
14
|
+
error: {},
|
|
13
15
|
});
|
|
14
16
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/InputMultilineAdornment/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/InputMultilineAdornment/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC;QAEvB,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;SACxB;KACF;IAED,KAAK,EAAE,EAAE;CACV,CAAC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface Props {
|
|
2
2
|
'data-testid'?: string;
|
|
3
|
+
multiline?: boolean;
|
|
3
4
|
}
|
|
4
|
-
declare const InputValidIconAdornment: ({ "data-testid": dataTestId }: Props) => JSX.Element;
|
|
5
|
+
declare const InputValidIconAdornment: ({ "data-testid": dataTestId, multiline, }: Props) => JSX.Element;
|
|
5
6
|
export default InputValidIconAdornment;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CheckMinor24 } from '../Icon';
|
|
2
|
+
import { CheckMinor24, CheckMinor16 } from '../Icon';
|
|
3
3
|
import InputAdornment from '../InputAdornment';
|
|
4
|
-
const InputValidIconAdornment = ({ 'data-testid': dataTestId }) =>
|
|
5
|
-
|
|
4
|
+
const InputValidIconAdornment = ({ 'data-testid': dataTestId, multiline, }) => {
|
|
5
|
+
if (multiline) {
|
|
6
|
+
return React.createElement(CheckMinor16, { color: 'green', "data-testid": dataTestId });
|
|
7
|
+
}
|
|
8
|
+
return (React.createElement(InputAdornment, { position: 'end' },
|
|
9
|
+
React.createElement(CheckMinor24, { color: 'green', "data-testid": dataTestId })));
|
|
10
|
+
};
|
|
6
11
|
export default InputValidIconAdornment;
|
|
7
12
|
//# sourceMappingURL=InputValidIconAdornment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputValidIconAdornment.js","sourceRoot":"","sources":["../../src/InputValidIconAdornment/InputValidIconAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"InputValidIconAdornment.js","sourceRoot":"","sources":["../../src/InputValidIconAdornment/InputValidIconAdornment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAO9C,MAAM,uBAAuB,GAAG,CAAC,EAC/B,aAAa,EAAE,UAAU,EACzB,SAAS,GACH,EAAE,EAAE;IACV,IAAI,SAAS,EAAE;QACb,OAAO,oBAAC,YAAY,IAAC,KAAK,EAAC,OAAO,iBAAc,UAAU,GAAI,CAAA;KAC/D;IAED,OAAO,CACL,oBAAC,cAAc,IAAC,QAAQ,EAAC,KAAK;QAC5B,oBAAC,YAAY,IAAC,KAAK,EAAC,OAAO,iBAAc,UAAU,GAAI,CACxC,CAClB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
package/MenuItem/styles.js
CHANGED
package/MenuItem/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/MenuItem/styles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/MenuItem/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,8 @@ export interface Props extends BaseProps {
|
|
|
34
34
|
* The minimum number of characters required that the user should enter.
|
|
35
35
|
*/
|
|
36
36
|
minLength?: number;
|
|
37
|
+
/** Name attribute of the input element */
|
|
38
|
+
name?: string;
|
|
37
39
|
/**
|
|
38
40
|
* Custom counter message for minLength
|
|
39
41
|
*/
|
|
@@ -58,6 +60,7 @@ export interface Props extends BaseProps {
|
|
|
58
60
|
placeholder?: string;
|
|
59
61
|
/** List of plugins to enable on the editor */
|
|
60
62
|
plugins?: EditorPlugin[];
|
|
63
|
+
setHasMultilineCounter?: (name: string, hasCounter: boolean) => void;
|
|
61
64
|
testIds?: {
|
|
62
65
|
wrapper?: string;
|
|
63
66
|
editor?: string;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React, { forwardRef, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { makeStyles } from '@material-ui/core/styles';
|
|
3
|
+
import { useHasMultilineCounter } from '@toptal/picasso-shared';
|
|
3
4
|
import cx from 'classnames';
|
|
4
5
|
import hastUtilToHtml from 'hast-util-to-html';
|
|
5
6
|
import hastSanitize from 'hast-util-sanitize';
|
|
6
7
|
import noop from '../utils/noop';
|
|
7
8
|
import Container from '../Container';
|
|
8
9
|
import QuillEditor from '../QuillEditor';
|
|
10
|
+
import InputMultilineAdornment from '../InputMultilineAdornment';
|
|
9
11
|
import Toolbar from '../RichTextEditorToolbar';
|
|
10
|
-
import Counter from '../RichTextEditorCounter';
|
|
11
12
|
import styles from './styles';
|
|
12
13
|
import { useTextEditorState, useOnSelectionChange, useOnTextFormat, useOnFocus, useToolbarHandlers, useCounter, } from './hooks';
|
|
13
14
|
import { usePropDeprecationWarning } from '../utils/use-deprecation-warnings';
|
|
@@ -15,7 +16,7 @@ const useStyles = makeStyles(styles, {
|
|
|
15
16
|
name: 'RichTextEditor',
|
|
16
17
|
});
|
|
17
18
|
export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
18
|
-
const { 'data-testid': dataTestId, plugins, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, hiddenInputId, } = props;
|
|
19
|
+
const { 'data-testid': dataTestId, plugins, autoFocus = false, className, defaultValue, disabled, id, onChange = noop, onFocus = noop, onBlur = noop, placeholder, minLength, maxLength, minLengthMessage, maxLengthMessage, style, status, testIds, hiddenInputId, setHasMultilineCounter, name, } = props;
|
|
19
20
|
const classes = useStyles();
|
|
20
21
|
const toolbarRef = useRef(null);
|
|
21
22
|
const editorRef = useRef(null);
|
|
@@ -55,29 +56,31 @@ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
|
|
|
55
56
|
// declare the array outside the component level
|
|
56
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
57
58
|
const memoizedPlugins = useMemo(() => plugins, []);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
59
|
+
useHasMultilineCounter(name, !!counterMessage, setHasMultilineCounter);
|
|
60
|
+
return (React.createElement(React.Fragment, null,
|
|
61
|
+
React.createElement(Container, { className: cx(classes.editorWrapper, {
|
|
62
|
+
[classes.disabled]: disabled,
|
|
63
|
+
[classes.focused]: isEditorFocused,
|
|
64
|
+
[classes.error]: status === 'error',
|
|
65
|
+
}, className), tabIndex: -1, style: style, ref: node => {
|
|
66
|
+
if (typeof ref === 'function') {
|
|
67
|
+
ref(node);
|
|
68
|
+
}
|
|
69
|
+
else if (ref != null) {
|
|
70
|
+
ref.current = node;
|
|
71
|
+
}
|
|
72
|
+
wrapperRef.current = node;
|
|
73
|
+
}, "data-testid": (testIds === null || testIds === void 0 ? void 0 : testIds.wrapper) || dataTestId, onFocus: handleFocus, onBlur: handleBlur },
|
|
74
|
+
React.createElement(Toolbar, { ref: toolbarRef, disabled: disabled || state.toolbar.disabled, id: id, format: state.toolbar.format, onBoldClick: handleBold, onItalicClick: handleItalic, onUnorderedClick: handleUnordered, onOrderedClick: handleOrdered, onHeaderChange: handleHeader, onLinkClick: handleLink, plugins: memoizedPlugins, testIds: {
|
|
75
|
+
headerSelect: testIds === null || testIds === void 0 ? void 0 : testIds.headerSelect,
|
|
76
|
+
boldButton: testIds === null || testIds === void 0 ? void 0 : testIds.boldButton,
|
|
77
|
+
italicButton: testIds === null || testIds === void 0 ? void 0 : testIds.italicButton,
|
|
78
|
+
unorderedListButton: testIds === null || testIds === void 0 ? void 0 : testIds.unorderedListButton,
|
|
79
|
+
orderedListButton: testIds === null || testIds === void 0 ? void 0 : testIds.orderedListButton,
|
|
80
|
+
} }),
|
|
81
|
+
React.createElement(QuillEditor, { ref: editorRef, disabled: !!disabled, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.editor, id: id, isFocused: isEditorFocused, placeholder: placeholder, onTextLengthChange: handleCounterMessage, onTextFormat: handleTextFormat, onSelectionChange: handleSelectionChange, onTextChange: onChange, defaultValue: defaultValueInHtml, plugins: memoizedPlugins }),
|
|
82
|
+
hiddenInputId && enableFocusOnLabelClick(hiddenInputId)),
|
|
83
|
+
counterMessage && (React.createElement(InputMultilineAdornment, { error: counterError }, counterMessage))));
|
|
81
84
|
});
|
|
82
85
|
const hiddenInputStyle = {
|
|
83
86
|
position: 'absolute',
|