@televet/kibble-ui 1.17.0 → 1.17.2
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/build/components/Forms/DatePicker/datepicker.component.d.ts +1 -1
- package/build/components/Forms/FormControl/formControl.component.d.ts +2 -1
- package/build/components/Forms/FormControl/formControl.types.d.ts +2 -0
- package/build/components/Forms/TextInput/components/ClearButton/clearButton.component.d.ts +6 -0
- package/build/components/Forms/TextInput/textInput.component.d.ts +12 -1
- package/build/index.js +32 -7
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ export interface DatePickerProps {
|
|
|
5
5
|
date: Date | null;
|
|
6
6
|
onDateChange?: (date: Date | null) => void;
|
|
7
7
|
dateFormat?: string | DateFormats;
|
|
8
|
-
inputProps?: Omit<TextInputProps, 'onChange' | 'value'>;
|
|
8
|
+
inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;
|
|
9
9
|
placement?: PlacementWithLogical;
|
|
10
10
|
minYear?: number;
|
|
11
11
|
maxYear?: number;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Dict } from 'shared/types';
|
|
3
|
+
import { HelperTextAlignment } from './formControl.types';
|
|
3
4
|
export interface WithFormControlProps {
|
|
4
5
|
errorText?: string;
|
|
5
6
|
helperText?: string;
|
|
@@ -11,6 +12,6 @@ export interface WithFormControlProps {
|
|
|
11
12
|
label?: string;
|
|
12
13
|
labelStyle?: Dict;
|
|
13
14
|
formControlStyle?: Dict;
|
|
14
|
-
helperTextAlignment?:
|
|
15
|
+
helperTextAlignment?: HelperTextAlignment;
|
|
15
16
|
}
|
|
16
17
|
export declare function withFormControl<P extends WithFormControlProps>(Component: React.ComponentType<P>): React.FC<P>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FormControlSize } from 'components/Forms/FormControl/formControl.types';
|
|
2
|
+
export interface ClearButtonProps {
|
|
3
|
+
handleClear?: () => void;
|
|
4
|
+
size?: FormControlSize;
|
|
5
|
+
}
|
|
6
|
+
export declare const ClearButton: ({ handleClear, size }: ClearButtonProps) => JSX.Element;
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import React, { ForwardedRef, ReactElement } from 'react';
|
|
2
2
|
import { InputProps as CInputProps } from '@chakra-ui/react';
|
|
3
3
|
import { WithFormControlProps } from '../FormControl/formControl.component';
|
|
4
|
-
|
|
4
|
+
import { FormControlSize } from '../FormControl/formControl.types';
|
|
5
|
+
export interface TextInputBaseProps extends WithFormControlProps, CInputProps {
|
|
5
6
|
leftElement?: ReactElement;
|
|
6
7
|
rightElement?: ReactElement;
|
|
7
8
|
inputRef?: ForwardedRef<HTMLInputElement>;
|
|
9
|
+
size?: FormControlSize;
|
|
8
10
|
}
|
|
11
|
+
export interface DefaultTextInputProps extends TextInputBaseProps {
|
|
12
|
+
isClearable?: never;
|
|
13
|
+
onClear?: never;
|
|
14
|
+
}
|
|
15
|
+
export interface ClearableTextInputProps extends TextInputBaseProps {
|
|
16
|
+
isClearable: boolean;
|
|
17
|
+
onClear: (val: string | number | readonly string[]) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare type TextInputProps = DefaultTextInputProps | ClearableTextInputProps;
|
|
9
20
|
declare const WrappedTextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
10
21
|
export { WrappedTextInput as TextInput };
|
package/build/index.js
CHANGED
|
@@ -3262,12 +3262,16 @@ var Button = React.forwardRef(function (props, ref) {
|
|
|
3262
3262
|
var color = react.useColorModeValue(modeColor.content, dark.content);
|
|
3263
3263
|
var borderColor = react.useColorModeValue(modeColor.border, dark.border);
|
|
3264
3264
|
var p = __assign(__assign({}, props), { variant: variant, bg: bg, color: color, borderColor: borderColor });
|
|
3265
|
+
var hoverLight = p.isDisabled ? modeColor.default : modeColor.hover;
|
|
3266
|
+
var hoverDark = p.isDisabled ? dark.default : dark.hover;
|
|
3265
3267
|
var hoverClass = {
|
|
3266
|
-
bg: react.useColorModeValue(
|
|
3268
|
+
bg: react.useColorModeValue(hoverLight, hoverDark),
|
|
3267
3269
|
};
|
|
3270
|
+
var activeLight = p.isDisabled ? modeColor.default : modeColor.active;
|
|
3271
|
+
var activeDark = p.isDisabled ? dark.default : dark.active;
|
|
3268
3272
|
var activeClass = {
|
|
3269
|
-
bg: react.useColorModeValue(
|
|
3270
|
-
transform:
|
|
3273
|
+
bg: react.useColorModeValue(activeLight, activeDark),
|
|
3274
|
+
transform: "scale(".concat(p.isDisabled ? '1' : '0.98', ")"),
|
|
3271
3275
|
};
|
|
3272
3276
|
var iconName = p.iconName; p.darkMode; var iconPosition = p.iconPosition, domProps = __rest(p, ["iconName", "darkMode", "iconPosition"]);
|
|
3273
3277
|
if (iconName) {
|
|
@@ -14645,12 +14649,33 @@ var FormControlConfig = {
|
|
|
14645
14649
|
|
|
14646
14650
|
var TextareaConfig = __assign({}, FormControlConfig);
|
|
14647
14651
|
|
|
14648
|
-
var
|
|
14649
|
-
|
|
14650
|
-
|
|
14652
|
+
var closeButtonSize = {
|
|
14653
|
+
sm: 5,
|
|
14654
|
+
md: 5,
|
|
14655
|
+
lg: 6,
|
|
14656
|
+
};
|
|
14657
|
+
var ClearButton = function (_a) {
|
|
14658
|
+
var handleClear = _a.handleClear, _b = _a.size, size = _b === void 0 ? 'md' : _b;
|
|
14659
|
+
var colors = useTheme().colors;
|
|
14660
|
+
return (React__default["default"].createElement(react.Button, { color: colors.icon.light.default, display: "inline-flex", minW: "auto", w: closeButtonSize[size], h: closeButtonSize[size], variant: "unstyled", opacity: 0.5, _hover: { opacity: 0.8 }, _active: { opacity: 1 }, mr: size === 'sm' ? 3 : 4, onClick: handleClear },
|
|
14661
|
+
React__default["default"].createElement(Icon, { name: "close", color: "currentColor", size: size === 'lg' ? 'sm' : 'xs' })));
|
|
14662
|
+
};
|
|
14663
|
+
|
|
14664
|
+
var TextInput = withFormControl(function (_a) {
|
|
14665
|
+
var _b = _a.isClearable, isClearable = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'md' : _c, props = __rest(_a, ["isClearable", "size"]);
|
|
14666
|
+
var leftElement = props.leftElement, inputRef = props.inputRef; props.isFieldInline; var onClear = props.onClear, value = props.value, domProps = __rest(props, ["leftElement", "inputRef", "isFieldInline", "onClear", "value"]);
|
|
14667
|
+
var rightElement = props.rightElement;
|
|
14668
|
+
var handleClear = function () {
|
|
14669
|
+
if (onClear) {
|
|
14670
|
+
onClear(value || '');
|
|
14671
|
+
}
|
|
14672
|
+
};
|
|
14673
|
+
if (isClearable && !!value) {
|
|
14674
|
+
rightElement = React__default["default"].createElement(ClearButton, { size: size, handleClear: handleClear });
|
|
14675
|
+
}
|
|
14651
14676
|
return (React__default["default"].createElement(react.InputGroup, null,
|
|
14652
14677
|
leftElement ? React__default["default"].createElement(react.InputLeftElement, { children: leftElement, h: "100%" }) : null,
|
|
14653
|
-
React__default["default"].createElement(react.Input, __assign({ ref: inputRef
|
|
14678
|
+
React__default["default"].createElement(react.Input, __assign({}, domProps, { ref: inputRef, size: size, value: value })),
|
|
14654
14679
|
rightElement ? React__default["default"].createElement(react.InputRightElement, { children: rightElement, h: "100%" }) : null));
|
|
14655
14680
|
});
|
|
14656
14681
|
var WrappedTextInput = React.forwardRef(function (props, ref) { return (React__default["default"].createElement(TextInput, __assign({ inputRef: ref }, props))); });
|