@deque/cauldron-react 7.6.0-canary.17caea31 → 7.6.0-canary.36c5e7fe
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/lib/components/TextField/index.d.ts +6 -24
- package/lib/index.js +44 -80
- package/package.json +2 -2
|
@@ -1,34 +1,16 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export interface TextFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
3
3
|
label: React.ReactNode;
|
|
4
4
|
description?: React.ReactNode;
|
|
5
5
|
error?: React.ReactNode;
|
|
6
6
|
defaultValue?: string;
|
|
7
7
|
onChange?: (value: string, e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use the forwarded `ref` instead. Will be removed in the next major version.
|
|
10
|
+
*/
|
|
8
11
|
fieldRef?: React.Ref<HTMLInputElement | HTMLTextAreaElement>;
|
|
9
12
|
requiredText?: string;
|
|
10
13
|
multiline?: boolean;
|
|
11
14
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
export default class TextField extends React.Component<TextFieldProps, TextFieldState> {
|
|
16
|
-
static displayName: string;
|
|
17
|
-
static defaultProps: {
|
|
18
|
-
error: null;
|
|
19
|
-
required: boolean;
|
|
20
|
-
defaultValue: null;
|
|
21
|
-
onChange: () => void;
|
|
22
|
-
fieldRef: () => void;
|
|
23
|
-
requiredText: string;
|
|
24
|
-
multiline: boolean;
|
|
25
|
-
};
|
|
26
|
-
private inputId;
|
|
27
|
-
private errorId;
|
|
28
|
-
private descriptionId;
|
|
29
|
-
private input;
|
|
30
|
-
constructor(props: TextFieldProps);
|
|
31
|
-
render(): React.JSX.Element;
|
|
32
|
-
onChange(e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>): void;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
15
|
+
declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
|
|
16
|
+
export default TextField;
|
package/lib/index.js
CHANGED
|
@@ -2749,89 +2749,53 @@ function TooltipTabstop(_a) {
|
|
|
2749
2749
|
}
|
|
2750
2750
|
TooltipTabstop.displayName = 'TooltipTabstop';
|
|
2751
2751
|
|
|
2752
|
-
var TextField =
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
TextField.prototype.render = function () {
|
|
2768
|
-
var _this = this;
|
|
2769
|
-
var isRequired = !!this.props.required;
|
|
2770
|
-
// disabling `no-unused-vars` to prevent specific
|
|
2771
|
-
// props from being passed through to the input
|
|
2772
|
-
var _a = this.props, label = _a.label, fieldRef = _a.fieldRef, value = _a.value, description = _a.description;
|
|
2773
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2774
|
-
_a.onChange;
|
|
2775
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2776
|
-
_a.defaultValue; var _b = _a.error, error = _b === void 0 ? null : _b, requiredText = _a.requiredText, multiline = _a.multiline, ariaDescribedby = _a["aria-describedby"]; _a.children; var className = _a.className, other = tslib.__rest(_a, ["label", "fieldRef", "value", "description", "onChange", "defaultValue", "error", "requiredText", "multiline", 'aria-describedby', "children", "className"]);
|
|
2777
|
-
// typescript can't infer the type so it's complaining about
|
|
2778
|
-
// textarea and input props being incompatible
|
|
2779
|
-
// we should probably fix this
|
|
2780
|
-
var Field = multiline ? 'textarea' : 'input';
|
|
2781
|
-
var describedby = description
|
|
2782
|
-
? addIdRef(ariaDescribedby, this.descriptionId)
|
|
2783
|
-
: ariaDescribedby;
|
|
2784
|
-
var inputProps = {
|
|
2785
|
-
'aria-describedby': error
|
|
2786
|
-
? addIdRef(describedby, this.errorId)
|
|
2787
|
-
: describedby
|
|
2788
|
-
};
|
|
2789
|
-
return (React__default["default"].createElement("div", { className: "Field" },
|
|
2790
|
-
React__default["default"].createElement("label", { className: classNames__default["default"]('Field__label', {
|
|
2791
|
-
'Field__label--is-required': isRequired,
|
|
2792
|
-
'Field__label--has-error': error
|
|
2793
|
-
}), htmlFor: this.inputId },
|
|
2794
|
-
React__default["default"].createElement("span", null, label),
|
|
2795
|
-
isRequired && (React__default["default"].createElement("span", { className: "Field__required-text", "aria-hidden": "true" }, requiredText))),
|
|
2796
|
-
description && (React__default["default"].createElement("div", { className: "Field__description", id: this.descriptionId }, description)),
|
|
2797
|
-
error && (React__default["default"].createElement("div", { className: "Field__error", id: this.errorId },
|
|
2798
|
-
React__default["default"].createElement(Icon, { type: "caution" }),
|
|
2799
|
-
error)),
|
|
2800
|
-
React__default["default"].createElement(Field, tslib.__assign({ className: classNames__default["default"](className, {
|
|
2801
|
-
'Field__text-input': !multiline,
|
|
2802
|
-
Field__textarea: multiline,
|
|
2803
|
-
'Field--has-error': error
|
|
2804
|
-
}), id: this.inputId, value: typeof value !== 'undefined' ? value : this.state.value, onChange: this.onChange, "aria-invalid": !!error, ref: function (input) {
|
|
2805
|
-
_this.input = input;
|
|
2806
|
-
setRef(fieldRef, input);
|
|
2807
|
-
} }, other, inputProps))));
|
|
2808
|
-
};
|
|
2809
|
-
TextField.prototype.onChange = function (e) {
|
|
2810
|
-
var _a, _b;
|
|
2811
|
-
if (this.props.onChange) {
|
|
2812
|
-
this.props.onChange(((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) || /* istanbul ignore next: default value */ '', e);
|
|
2813
|
-
}
|
|
2814
|
-
if (typeof this.props.value !== 'undefined') {
|
|
2752
|
+
var TextField = React.forwardRef(function (_a, ref) {
|
|
2753
|
+
var id = _a.id, label = _a.label, fieldRef = _a.fieldRef, value = _a.value, description = _a.description, onChange = _a.onChange, defaultValue = _a.defaultValue, _b = _a.error, error = _b === void 0 ? null : _b, _c = _a.required, required = _c === void 0 ? false : _c, _d = _a.requiredText, requiredText = _d === void 0 ? 'Required' : _d, _e = _a.multiline, multiline = _e === void 0 ? false : _e, ariaDescribedby = _a["aria-describedby"];
|
|
2754
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2755
|
+
_a.children; var className = _a.className, other = tslib.__rest(_a, ["id", "label", "fieldRef", "value", "description", "onChange", "defaultValue", "error", "required", "requiredText", "multiline", 'aria-describedby', "children", "className"]);
|
|
2756
|
+
var _f = tslib.__read(nextId.useId(3, 'textfield'), 3), generatedInputId = _f[0], errorId = _f[1], descriptionId = _f[2];
|
|
2757
|
+
var inputId = id || generatedInputId;
|
|
2758
|
+
var isControlled = typeof value !== 'undefined';
|
|
2759
|
+
var _g = tslib.__read(React.useState(isControlled ? value : defaultValue || ''), 2), uncontrolledValue = _g[0], setUncontrolledValue = _g[1];
|
|
2760
|
+
var setFieldRef = React.useCallback(function (field) {
|
|
2761
|
+
setRef(ref, field);
|
|
2762
|
+
setRef(fieldRef, field);
|
|
2763
|
+
}, [ref, fieldRef]);
|
|
2764
|
+
var handleChange = function (e) {
|
|
2765
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value, e);
|
|
2766
|
+
if (isControlled) {
|
|
2815
2767
|
return;
|
|
2816
2768
|
}
|
|
2817
|
-
|
|
2818
|
-
value: (_b = this.input) === null || _b === void 0 ? void 0 : _b.value
|
|
2819
|
-
});
|
|
2769
|
+
setUncontrolledValue(e.target.value);
|
|
2820
2770
|
};
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
requiredText: 'Required',
|
|
2831
|
-
multiline: false
|
|
2771
|
+
// typescript can't infer the type so it's complaining about
|
|
2772
|
+
// textarea and input props being incompatible
|
|
2773
|
+
// we should probably fix this
|
|
2774
|
+
var Field = multiline ? 'textarea' : 'input';
|
|
2775
|
+
var describedby = description
|
|
2776
|
+
? addIdRef(ariaDescribedby, descriptionId)
|
|
2777
|
+
: ariaDescribedby;
|
|
2778
|
+
var inputProps = {
|
|
2779
|
+
'aria-describedby': error ? addIdRef(describedby, errorId) : describedby
|
|
2832
2780
|
};
|
|
2833
|
-
return
|
|
2834
|
-
|
|
2781
|
+
return (React__default["default"].createElement("div", { className: "Field" },
|
|
2782
|
+
React__default["default"].createElement("label", { className: classNames__default["default"]('Field__label', {
|
|
2783
|
+
'Field__label--is-required': required,
|
|
2784
|
+
'Field__label--has-error': error
|
|
2785
|
+
}), htmlFor: inputId },
|
|
2786
|
+
React__default["default"].createElement("span", null, label),
|
|
2787
|
+
required && (React__default["default"].createElement("span", { className: "Field__required-text", "aria-hidden": "true" }, requiredText))),
|
|
2788
|
+
description && (React__default["default"].createElement("div", { className: "Field__description", id: descriptionId }, description)),
|
|
2789
|
+
error && (React__default["default"].createElement("div", { className: "Field__error", id: errorId },
|
|
2790
|
+
React__default["default"].createElement(Icon, { type: "caution" }),
|
|
2791
|
+
error)),
|
|
2792
|
+
React__default["default"].createElement(Field, tslib.__assign({ className: classNames__default["default"](className, {
|
|
2793
|
+
'Field__text-input': !multiline,
|
|
2794
|
+
Field__textarea: multiline,
|
|
2795
|
+
'Field--has-error': error
|
|
2796
|
+
}), id: inputId, value: isControlled ? value : uncontrolledValue, onChange: handleChange, "aria-invalid": !!error, required: required, ref: setFieldRef }, other, inputProps))));
|
|
2797
|
+
});
|
|
2798
|
+
TextField.displayName = 'TextField';
|
|
2835
2799
|
|
|
2836
2800
|
var TextFieldWrapper = React.forwardRef(function (_a, ref) {
|
|
2837
2801
|
var className = _a.className, children = _a.children, otherProps = tslib.__rest(_a, ["className", "children"]);
|
|
@@ -3768,7 +3732,7 @@ var Notice = React.forwardRef(function (_a, ref) {
|
|
|
3768
3732
|
_b["Notice--".concat(type)] = type,
|
|
3769
3733
|
_b["Notice--condensed"] = variant === 'condensed',
|
|
3770
3734
|
_b)), ref: ref }, otherProps),
|
|
3771
|
-
React__default["default"].createElement(Icon, { type: icon || iconTypeMap[type] }),
|
|
3735
|
+
React__default["default"].createElement(Icon, { className: "Notice__icon", type: icon || iconTypeMap[type] }),
|
|
3772
3736
|
React__default["default"].createElement("div", { className: "Notice__title" }, title),
|
|
3773
3737
|
children && React__default["default"].createElement("div", { className: "Notice__content" }, children)));
|
|
3774
3738
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deque/cauldron-react",
|
|
3
|
-
"version": "7.6.0-canary.
|
|
3
|
+
"version": "7.6.0-canary.36c5e7fe",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "Fully accessible react components library for Deque Cauldron",
|
|
6
6
|
"homepage": "https://cauldron.dequelabs.com/",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"classnames": "^2.2.6",
|
|
20
20
|
"focusable": "^2.3.0",
|
|
21
21
|
"keyname": "^0.1.0",
|
|
22
|
-
"react-aria-components": "^1.
|
|
22
|
+
"react-aria-components": "^1.21.1",
|
|
23
23
|
"react-id-generator": "^3.0.1",
|
|
24
24
|
"react-syntax-highlighter": "^16.1.1",
|
|
25
25
|
"tslib": "^2.4.0"
|