armtek-uikit-react 1.0.262 → 1.0.264
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/assets/Accordion.scss +123 -123
- package/assets/Adornment.scss +22 -22
- package/assets/Alert.scss +56 -56
- package/assets/Avatar.scss +111 -111
- package/assets/AvatarGroup.scss +47 -47
- package/assets/BackDrop.scss +39 -39
- package/assets/Badge.scss +96 -96
- package/assets/Button.scss +750 -750
- package/assets/ButtonGroup.scss +37 -37
- package/assets/ButtonIcon.scss +59 -32
- package/assets/Card.scss +13 -13
- package/assets/Checkbox.scss +313 -313
- package/assets/Chip.scss +327 -327
- package/assets/DateField.scss +2 -2
- package/assets/DatePicker.scss +72 -72
- package/assets/Dropdown.scss +42 -42
- package/assets/FormControls.scss +14 -14
- package/assets/HelperText.scss +11 -11
- package/assets/Icon.scss +30 -30
- package/assets/Interval.scss +34 -34
- package/assets/Link.scss +96 -96
- package/assets/ListItem.scss +76 -76
- package/assets/Loader.scss +56 -56
- package/assets/Logo.scss +28 -28
- package/assets/Modal.scss +103 -103
- package/assets/Pagination.scss +3 -3
- package/assets/Paper.scss +22 -22
- package/assets/Period.scss +8 -8
- package/assets/Popper.scss +2 -2
- package/assets/Rating.scss +26 -26
- package/assets/Select.scss +85 -85
- package/assets/Skeleton.scss +25 -25
- package/assets/Slider.scss +5 -5
- package/assets/Stack.scss +27 -27
- package/assets/Status.scss +69 -69
- package/assets/StepItem.scss +89 -89
- package/assets/StepItemIcon.scss +47 -47
- package/assets/Stepper.scss +30 -30
- package/assets/Switch.scss +67 -67
- package/assets/Table.scss +52 -52
- package/assets/TextArea.scss +23 -18
- package/assets/TextField.scss +206 -198
- package/assets/Tooltip.scss +17 -17
- package/assets/classes.scss +422 -422
- package/assets/fonts.scss +24 -24
- package/assets/global.scss +222 -222
- package/assets/styles.min.css +1 -1
- package/assets/styles.min.css.map +1 -1
- package/assets/styles.scss +46 -46
- package/assets/variables.scss +13 -13
- package/lib/helpers/helpers.d.ts +1 -1
- package/lib/helpers/helpers.js +1 -1
- package/lib/hooks/useEnhancedEffect.js +6 -6
- package/lib/hooks/useTimeout.js +2 -2
- package/package.json +1 -1
- package/ui/Avatar/Avatar.d.ts +10 -1
- package/ui/Avatar/Avatar.js +4 -2
- package/ui/ButtonIcon/ButtonIcon.js +5 -2
- package/ui/Card/Card.d.ts +1 -1
- package/ui/Card/Card.js +4 -2
- package/ui/Chip/Chip.d.ts +3 -2
- package/ui/Chip/Chip.js +4 -2
- package/ui/Form/DateField/DateField.js +2 -2
- package/ui/Form/DatePicker/styles.css +802 -802
- package/ui/Form/Password/Password.d.ts +4 -0
- package/ui/Form/TextArea/TextArea.d.ts +11 -1
- package/ui/Form/TextArea/TextArea.js +15 -7
- package/ui/Form/TextField/TextField.d.ts +11 -0
- package/ui/Form/TextField/TextField.js +53 -4
- package/ui/Icon/Mi.d.ts +17 -1
- package/ui/Icon/Mi.js +5 -3
- package/ui/Icon/Mis.d.ts +1 -1
- package/ui/Icon/Mis.js +4 -3
- package/ui/Link/Link.d.ts +3 -2
- package/ui/Link/Link.js +4 -2
- package/ui/Slider/style.scss +346 -346
- package/ui/Stack/Stack.d.ts +1 -1
- package/ui/Stack/Stack.js +3 -2
- package/ui/Status/Status.d.ts +4 -3
- package/ui/Status/Status.js +4 -2
|
@@ -6,8 +6,12 @@ export declare const Password: import("react").ForwardRefExoticComponent<{
|
|
|
6
6
|
errorTooltip?: string;
|
|
7
7
|
success?: boolean;
|
|
8
8
|
helperText?: string | import("react").ReactNode;
|
|
9
|
+
startAdornment?: string | import("react").ReactNode;
|
|
9
10
|
endAdornment?: string | import("react").ReactNode;
|
|
10
11
|
multiline?: boolean;
|
|
12
|
+
rows?: number;
|
|
13
|
+
minRows?: number;
|
|
14
|
+
maxRows?: number;
|
|
11
15
|
focused?: boolean;
|
|
12
16
|
editable?: boolean;
|
|
13
17
|
classes?: Partial<{
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { TextFieldProps } from '../TextField/TextField';
|
|
2
|
-
export type TextAreaProps = {
|
|
2
|
+
export type TextAreaProps = {
|
|
3
|
+
minRows?: number;
|
|
4
|
+
maxRows?: number;
|
|
5
|
+
} & TextFieldProps;
|
|
3
6
|
declare const TextArea: import("react").ForwardRefExoticComponent<{
|
|
7
|
+
minRows?: number;
|
|
8
|
+
maxRows?: number;
|
|
9
|
+
} & {
|
|
4
10
|
label?: string;
|
|
5
11
|
size?: Exclude<import("../../../types/theme").SizeType, "extraLarge" | "medium">;
|
|
6
12
|
variant?: import("../../../types/theme").VariantType;
|
|
@@ -8,8 +14,12 @@ declare const TextArea: import("react").ForwardRefExoticComponent<{
|
|
|
8
14
|
errorTooltip?: string;
|
|
9
15
|
success?: boolean;
|
|
10
16
|
helperText?: string | import("react").ReactNode;
|
|
17
|
+
startAdornment?: string | import("react").ReactNode;
|
|
11
18
|
endAdornment?: string | import("react").ReactNode;
|
|
12
19
|
multiline?: boolean;
|
|
20
|
+
rows?: number;
|
|
21
|
+
minRows?: number;
|
|
22
|
+
maxRows?: number;
|
|
13
23
|
focused?: boolean;
|
|
14
24
|
editable?: boolean;
|
|
15
25
|
classes?: Partial<{
|
|
@@ -9,24 +9,32 @@ var _react = require("react");
|
|
|
9
9
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
const TextArea = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
12
|
-
var _textareaRef$current, _textareaRef$current2;
|
|
13
12
|
let {
|
|
14
13
|
className,
|
|
14
|
+
style,
|
|
15
|
+
minRows = 3,
|
|
16
|
+
maxRows = 10,
|
|
17
|
+
rows,
|
|
15
18
|
...restProps
|
|
16
19
|
} = props;
|
|
17
|
-
let [minHeight, setMinHeight] = (0, _react.useState)(0);
|
|
18
20
|
let textareaRef = (0, _react.useRef)(null);
|
|
21
|
+
const getRowsCount = value => {
|
|
22
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) return undefined;
|
|
23
|
+
return Math.max(1, Math.floor(value));
|
|
24
|
+
};
|
|
25
|
+
const normalizedRows = getRowsCount(rows);
|
|
26
|
+
const normalizedMinRows = getRowsCount(minRows);
|
|
27
|
+
const initialRows = normalizedRows !== undefined ? normalizedRows : normalizedMinRows;
|
|
19
28
|
(0, _react.useImperativeHandle)(ref, () => {
|
|
20
29
|
return textareaRef.current;
|
|
21
30
|
}, []);
|
|
22
|
-
(0, _react.useEffect)(() => {
|
|
23
|
-
if (textareaRef.current && 'clientHeight' in textareaRef.current) setMinHeight(textareaRef.current.clientHeight);
|
|
24
|
-
}, [textareaRef]);
|
|
25
|
-
let textHeight = (((_textareaRef$current = textareaRef.current) == null ? void 0 : _textareaRef$current.scrollHeight) || 0) < minHeight ? minHeight : (_textareaRef$current2 = textareaRef.current) == null ? void 0 : _textareaRef$current2.scrollHeight;
|
|
26
31
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
27
32
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, {
|
|
28
33
|
ref: textareaRef,
|
|
29
34
|
...restProps,
|
|
35
|
+
rows: initialRows,
|
|
36
|
+
minRows: normalizedMinRows,
|
|
37
|
+
maxRows: maxRows,
|
|
30
38
|
className: (0, _clsx.default)('arm-textarea', ['arm-textarea_size_' + restProps.size], className),
|
|
31
39
|
multiline: true,
|
|
32
40
|
classes: {
|
|
@@ -34,7 +42,7 @@ const TextArea = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
|
34
42
|
...restProps.classes
|
|
35
43
|
},
|
|
36
44
|
style: {
|
|
37
|
-
|
|
45
|
+
...style
|
|
38
46
|
}
|
|
39
47
|
})
|
|
40
48
|
});
|
|
@@ -9,8 +9,12 @@ export type TextFieldProps = {
|
|
|
9
9
|
errorTooltip?: string;
|
|
10
10
|
success?: boolean;
|
|
11
11
|
helperText?: string | ReactNode;
|
|
12
|
+
startAdornment?: string | ReactNode;
|
|
12
13
|
endAdornment?: string | ReactNode;
|
|
13
14
|
multiline?: boolean;
|
|
15
|
+
rows?: number;
|
|
16
|
+
minRows?: number;
|
|
17
|
+
maxRows?: number;
|
|
14
18
|
focused?: boolean;
|
|
15
19
|
editable?: boolean;
|
|
16
20
|
classes?: Partial<Classes>;
|
|
@@ -24,8 +28,12 @@ export declare const TextField: import("react").ForwardRefExoticComponent<{
|
|
|
24
28
|
errorTooltip?: string;
|
|
25
29
|
success?: boolean;
|
|
26
30
|
helperText?: string | ReactNode;
|
|
31
|
+
startAdornment?: string | ReactNode;
|
|
27
32
|
endAdornment?: string | ReactNode;
|
|
28
33
|
multiline?: boolean;
|
|
34
|
+
rows?: number;
|
|
35
|
+
minRows?: number;
|
|
36
|
+
maxRows?: number;
|
|
29
37
|
focused?: boolean;
|
|
30
38
|
editable?: boolean;
|
|
31
39
|
classes?: Partial<Classes>;
|
|
@@ -46,6 +54,9 @@ export declare const TextFieldInput: import("react").ForwardRefExoticComponent<{
|
|
|
46
54
|
size?: TextFieldProps["size"];
|
|
47
55
|
variant?: TextFieldProps["variant"];
|
|
48
56
|
multiline?: boolean;
|
|
57
|
+
rows?: number;
|
|
58
|
+
minRows?: number;
|
|
59
|
+
maxRows?: number;
|
|
49
60
|
error?: boolean;
|
|
50
61
|
label?: string;
|
|
51
62
|
wrapperClass?: string;
|
|
@@ -22,6 +22,7 @@ const TextField = exports.TextField = /*#__PURE__*/(0, _react.forwardRef)((props
|
|
|
22
22
|
helperText,
|
|
23
23
|
size = 'large',
|
|
24
24
|
variant = 'solid',
|
|
25
|
+
startAdornment,
|
|
25
26
|
endAdornment,
|
|
26
27
|
className,
|
|
27
28
|
classes,
|
|
@@ -54,6 +55,10 @@ const TextField = exports.TextField = /*#__PURE__*/(0, _react.forwardRef)((props
|
|
|
54
55
|
setFocused(false);
|
|
55
56
|
if (inputProps.onBlur) inputProps.onBlur(e);
|
|
56
57
|
};
|
|
58
|
+
let startContent = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Adornment.AdornmentContainer, {
|
|
59
|
+
className: 'arm-textfield__adornment arm-textfield__adornment_start',
|
|
60
|
+
children: startAdornment
|
|
61
|
+
});
|
|
57
62
|
let endContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Adornment.AdornmentContainer, {
|
|
58
63
|
className: 'arm-textfield__adornment',
|
|
59
64
|
children: [endAdornment, error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
|
|
@@ -91,7 +96,7 @@ const TextField = exports.TextField = /*#__PURE__*/(0, _react.forwardRef)((props
|
|
|
91
96
|
error: error,
|
|
92
97
|
success: success,
|
|
93
98
|
className: classes == null ? void 0 : classes.root,
|
|
94
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextFieldInput, {
|
|
99
|
+
children: [startAdornment && startContent, /*#__PURE__*/(0, _jsxRuntime.jsx)(TextFieldInput, {
|
|
95
100
|
WrapperProps: WrapperProps,
|
|
96
101
|
wrapperClass: classes == null ? void 0 : classes.wrapper,
|
|
97
102
|
className: classes == null ? void 0 : classes.input,
|
|
@@ -143,20 +148,62 @@ const TextFieldContainer = props => {
|
|
|
143
148
|
};
|
|
144
149
|
exports.TextFieldContainer = TextFieldContainer;
|
|
145
150
|
const TextFieldInput = exports.TextFieldInput = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
146
|
-
var
|
|
151
|
+
var _inputElementRef$curr, _inputElementRef$curr2;
|
|
147
152
|
let {
|
|
148
153
|
Component = 'input',
|
|
149
154
|
size,
|
|
150
155
|
variant,
|
|
151
156
|
multiline,
|
|
157
|
+
rows,
|
|
158
|
+
minRows,
|
|
159
|
+
maxRows,
|
|
152
160
|
error,
|
|
153
161
|
focused,
|
|
154
162
|
label,
|
|
155
163
|
wrapperClass,
|
|
156
164
|
WrapperProps,
|
|
157
165
|
className,
|
|
166
|
+
onInput,
|
|
158
167
|
...inputProps
|
|
159
168
|
} = props;
|
|
169
|
+
const inputElementRef = (0, _react.useRef)(null);
|
|
170
|
+
const setInputRef = node => {
|
|
171
|
+
inputElementRef.current = node;
|
|
172
|
+
if (typeof ref === 'function') ref(node);else if (ref) ref.current = node;
|
|
173
|
+
};
|
|
174
|
+
const getRowsCount = rows => {
|
|
175
|
+
if (typeof rows !== 'number' || !Number.isFinite(rows)) return undefined;
|
|
176
|
+
return Math.max(1, Math.floor(rows));
|
|
177
|
+
};
|
|
178
|
+
const getHeightByRows = (rows, textarea) => {
|
|
179
|
+
const style = window.getComputedStyle(textarea);
|
|
180
|
+
const parsedLineHeight = parseFloat(style.lineHeight);
|
|
181
|
+
const lineHeight = Number.isFinite(parsedLineHeight) ? parsedLineHeight : 20;
|
|
182
|
+
const verticalPadding = (parseFloat(style.paddingTop) || 0) + (parseFloat(style.paddingBottom) || 0);
|
|
183
|
+
const verticalBorders = (parseFloat(style.borderTopWidth) || 0) + (parseFloat(style.borderBottomWidth) || 0);
|
|
184
|
+
return lineHeight * rows + verticalPadding + verticalBorders;
|
|
185
|
+
};
|
|
186
|
+
const resizeTextarea = () => {
|
|
187
|
+
if (!multiline || !(inputElementRef.current instanceof HTMLTextAreaElement)) return;
|
|
188
|
+
const textarea = inputElementRef.current;
|
|
189
|
+
const minRowsValue = getRowsCount(minRows) || 1;
|
|
190
|
+
const maxRowsValue = getRowsCount(maxRows);
|
|
191
|
+
const resolvedMaxRows = maxRowsValue !== undefined ? Math.max(minRowsValue, maxRowsValue) : undefined;
|
|
192
|
+
const minHeight = getHeightByRows(minRowsValue, textarea);
|
|
193
|
+
const maxHeight = resolvedMaxRows !== undefined ? getHeightByRows(resolvedMaxRows, textarea) : undefined;
|
|
194
|
+
textarea.style.height = 'auto';
|
|
195
|
+
const hasValue = textarea.value.length > 0;
|
|
196
|
+
let nextHeight = hasValue ? Math.max(textarea.scrollHeight, minHeight) : minHeight;
|
|
197
|
+
if (maxHeight !== undefined) nextHeight = Math.min(nextHeight, maxHeight);
|
|
198
|
+
textarea.style.height = nextHeight + 'px';
|
|
199
|
+
};
|
|
200
|
+
(0, _react.useEffect)(() => {
|
|
201
|
+
resizeTextarea();
|
|
202
|
+
}, [multiline, minRows, maxRows, inputProps.value, inputProps.defaultValue, size]);
|
|
203
|
+
const handleInput = event => {
|
|
204
|
+
if (multiline) resizeTextarea();
|
|
205
|
+
if (onInput) onInput(event);
|
|
206
|
+
};
|
|
160
207
|
const handleWheel = e => {
|
|
161
208
|
if (inputProps.type === 'number' && e.target instanceof HTMLElement) e.target.blur();else if (props.onWheel) props.onWheel(e);
|
|
162
209
|
};
|
|
@@ -168,8 +215,10 @@ const TextFieldInput = exports.TextFieldInput = /*#__PURE__*/(0, _react.forwardR
|
|
|
168
215
|
'arm-textfield__wrapper_outlined': variant === 'outlined'
|
|
169
216
|
}),
|
|
170
217
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
171
|
-
ref:
|
|
218
|
+
ref: setInputRef,
|
|
172
219
|
...inputProps,
|
|
220
|
+
rows: multiline ? rows : undefined,
|
|
221
|
+
onInput: handleInput,
|
|
173
222
|
onWheel: handleWheel,
|
|
174
223
|
className: (0, _clsx.default)('arm-textfield__input', ['arm-textfield__input_size_' + size], ['arm-textfield__input_' + variant], {
|
|
175
224
|
'arm-textfield__input_label': !!label,
|
|
@@ -179,7 +228,7 @@ const TextFieldInput = exports.TextFieldInput = /*#__PURE__*/(0, _react.forwardR
|
|
|
179
228
|
}, className)
|
|
180
229
|
}), label && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
181
230
|
className: (0, _clsx.default)('arm-textfield__label', {
|
|
182
|
-
'arm-textfield__label_focused': focused || !!props.value || typeof ((
|
|
231
|
+
'arm-textfield__label_focused': focused || !!props.value || typeof ((_inputElementRef$curr = inputElementRef.current) == null ? void 0 : _inputElementRef$curr.value) === 'string' && !!((_inputElementRef$curr2 = inputElementRef.current) != null && _inputElementRef$curr2.value),
|
|
183
232
|
'arm-textfield__label_small': size === 'small',
|
|
184
233
|
'arm-textfield__label_error': error
|
|
185
234
|
}),
|
package/ui/Icon/Mi.d.ts
CHANGED
|
@@ -3,4 +3,20 @@ import { TooltipProps } from '../../ui/Tooltip';
|
|
|
3
3
|
export type MiProps = {
|
|
4
4
|
tooltipProps?: Omit<TooltipProps, 'text' | 'children'>;
|
|
5
5
|
} & IconProps;
|
|
6
|
-
export declare const Mi:
|
|
6
|
+
export declare const Mi: import("react").ForwardRefExoticComponent<{
|
|
7
|
+
tooltipProps?: Omit<TooltipProps, "text" | "children">;
|
|
8
|
+
} & {
|
|
9
|
+
icon: string;
|
|
10
|
+
variant?: import("../../types/theme").VariantType;
|
|
11
|
+
color?: import("../../types/theme").ColorType | import("../../types/theme").ColorStatusType;
|
|
12
|
+
size?: import("../../types/theme").SizeType;
|
|
13
|
+
theme?: import("../../types/theme").ThemeType;
|
|
14
|
+
fs?: number;
|
|
15
|
+
} & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, keyof {
|
|
16
|
+
icon: string;
|
|
17
|
+
variant?: import("../../types/theme").VariantType;
|
|
18
|
+
color?: import("../../types/theme").ColorType | import("../../types/theme").ColorStatusType;
|
|
19
|
+
size?: import("../../types/theme").SizeType;
|
|
20
|
+
theme?: import("../../types/theme").ThemeType;
|
|
21
|
+
fs?: number;
|
|
22
|
+
}> & import("react").RefAttributes<HTMLSpanElement>>;
|
package/ui/Icon/Mi.js
CHANGED
|
@@ -5,8 +5,9 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.Mi = void 0;
|
|
6
6
|
var _Icon = _interopRequireDefault(require("./Icon"));
|
|
7
7
|
var _Tooltip = _interopRequireDefault(require("../Tooltip"));
|
|
8
|
+
var _react = require("react");
|
|
8
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
-
const Mi = props => {
|
|
10
|
+
const Mi = exports.Mi = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
10
11
|
const {
|
|
11
12
|
tooltipProps,
|
|
12
13
|
title,
|
|
@@ -17,13 +18,14 @@ const Mi = props => {
|
|
|
17
18
|
...tooltipProps,
|
|
18
19
|
text: title,
|
|
19
20
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
21
|
+
ref: ref,
|
|
20
22
|
variant: 'outlined',
|
|
21
23
|
...iconProps
|
|
22
24
|
})
|
|
23
25
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
|
26
|
+
ref: ref,
|
|
24
27
|
variant: 'outlined',
|
|
25
28
|
...iconProps
|
|
26
29
|
})
|
|
27
30
|
});
|
|
28
|
-
};
|
|
29
|
-
exports.Mi = Mi;
|
|
31
|
+
});
|
package/ui/Icon/Mis.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { MiProps } from './Mi';
|
|
2
|
-
export declare const Mis: (
|
|
2
|
+
export declare const Mis: import("react").ForwardRefExoticComponent<Omit<MiProps, "variant"> & import("react").RefAttributes<HTMLSpanElement>>;
|
package/ui/Icon/Mis.js
CHANGED
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.Mis = void 0;
|
|
5
5
|
var _Mi = require("./Mi");
|
|
6
|
+
var _react = require("react");
|
|
6
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
-
const Mis = props => {
|
|
8
|
+
const Mis = exports.Mis = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
8
9
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
9
10
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Mi.Mi, {
|
|
10
11
|
...props,
|
|
12
|
+
ref: ref,
|
|
11
13
|
variant: 'contained'
|
|
12
14
|
})
|
|
13
15
|
});
|
|
14
|
-
};
|
|
15
|
-
exports.Mis = Mis;
|
|
16
|
+
});
|
package/ui/Link/Link.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ElementType } from 'react';
|
|
1
|
+
import { ComponentPropsWithoutRef, ElementType, ReactElement, RefAttributes } from 'react';
|
|
2
2
|
import { ColorStatusType, ColorType, SizeType, ThemeType } from '../../types/theme';
|
|
3
3
|
type LinkType = 'a';
|
|
4
4
|
type OwnProps<T extends ElementType = LinkType> = {
|
|
@@ -11,5 +11,6 @@ type OwnProps<T extends ElementType = LinkType> = {
|
|
|
11
11
|
disablestyles?: string;
|
|
12
12
|
};
|
|
13
13
|
export type LinkProps<T extends ElementType = LinkType> = OwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof OwnProps<T>>;
|
|
14
|
-
|
|
14
|
+
type LinkComponent = <T extends ElementType = LinkType>(props: LinkProps<T> & RefAttributes<HTMLElement>) => ReactElement | null;
|
|
15
|
+
declare const Link: LinkComponent;
|
|
15
16
|
export default Link;
|
package/ui/Link/Link.js
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
+
var _react = require("react");
|
|
6
7
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
7
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
const Link = props => {
|
|
9
|
+
const Link = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
9
10
|
let {
|
|
10
11
|
border,
|
|
11
12
|
children,
|
|
@@ -32,12 +33,13 @@ const Link = props => {
|
|
|
32
33
|
} : {};
|
|
33
34
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
34
35
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
36
|
+
ref: ref,
|
|
35
37
|
...restProps,
|
|
36
38
|
...polymorphProps,
|
|
37
39
|
className: !disablestyles ? classNames : className,
|
|
38
40
|
children: children
|
|
39
41
|
})
|
|
40
42
|
});
|
|
41
|
-
};
|
|
43
|
+
});
|
|
42
44
|
var _default = exports.default = Link;
|
|
43
45
|
module.exports = exports.default;
|