foxit-component 0.0.1-alpha.4 → 0.0.1-alpha.41
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/es/Alert/Alert.d.ts +12 -0
- package/es/Alert/Alert.js +24 -0
- package/es/Button/Button.d.ts +2 -1
- package/es/Button/Button.js +4 -4
- package/es/Checkbox/Checkbox.d.ts +10 -2
- package/es/Checkbox/Checkbox.js +35 -5
- package/es/Drawer/Drawer.d.ts +10 -0
- package/es/Drawer/Drawer.js +14 -0
- package/es/Empty/Empty.js +0 -1
- package/es/Form/Form.d.ts +2 -1
- package/es/Form/Form.js +3 -3
- package/es/Form/Form.types.d.ts +9 -0
- package/es/Form/FormItem.d.ts +2 -1
- package/es/Form/FormItem.js +3 -4
- package/es/Form/FormProvider.js +148 -115
- package/es/Form/useFormWatch.d.ts +3 -0
- package/es/Form/useFormWatch.js +37 -0
- package/es/Input/Input.js +3 -3
- package/es/Menu/Menu.d.ts +2 -0
- package/es/Menu/Menu.js +128 -11
- package/es/Modal/Modal.d.ts +2 -0
- package/es/Modal/Modal.js +88 -17
- package/es/Modal/ModalTemp.js +4 -1
- package/es/Pagination/Pagination.d.ts +2 -0
- package/es/Pagination/Pagination.js +25 -12
- package/es/Quantity/Quantity.d.ts +10 -0
- package/es/Quantity/Quantity.js +45 -0
- package/es/Radio/Radio.js +0 -1
- package/es/Select/Select.d.ts +10 -0
- package/es/Select/Select.js +16 -10
- package/es/Spin/Spin.d.ts +10 -0
- package/es/Spin/Spin.js +23 -0
- package/es/Switch/Switch.d.ts +9 -0
- package/es/Switch/Switch.js +20 -0
- package/es/Table/Table.d.ts +4 -1
- package/es/Table/Table.js +22 -8
- package/es/Tabs/Tabs.d.ts +2 -0
- package/es/Tabs/Tabs.js +26 -5
- package/es/Tag/Tag.d.ts +1 -1
- package/es/Tag/Tag.js +1 -2
- package/es/Toast/Toast.js +0 -1
- package/es/Toast/ToastContainer.js +0 -1
- package/es/Tooltip/Tooltip.d.ts +2 -0
- package/es/Tooltip/Tooltip.js +56 -19
- package/es/constants/icons.d.ts +16 -0
- package/es/constants/icons.js +17 -1
- package/es/index.css +1 -0
- package/es/index.d.ts +7 -2
- package/es/index.js +6 -0
- package/es/node_modules/tslib/tslib.es6.js +39 -1
- package/package.json +3 -3
- package/es/Button/button.css.js +0 -6
- package/es/Checkbox/checkbox.css.js +0 -6
- package/es/Empty/empty.css.js +0 -6
- package/es/Form/form.css.js +0 -6
- package/es/Input/input.css.js +0 -6
- package/es/Menu/menu.css.js +0 -6
- package/es/Modal/modal.css.js +0 -6
- package/es/Pagination/pagination.css.js +0 -6
- package/es/Radio/radio.css.js +0 -6
- package/es/Table/table.css.js +0 -6
- package/es/Tabs/tabs.css.js +0 -6
- package/es/Tag/tag.css.js +0 -6
- package/es/Toast/toast.css.js +0 -6
- package/es/Tooltip/tooltip.css.js +0 -6
- package/es/node_modules/style-inject/dist/style-inject.es.js +0 -28
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name Alert
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import './alert.css';
|
|
6
|
+
interface AlertProps {
|
|
7
|
+
message: string | React.ReactNode;
|
|
8
|
+
showIcon?: boolean;
|
|
9
|
+
type?: 'success' | 'warning' | 'error' | 'gradient';
|
|
10
|
+
}
|
|
11
|
+
declare const Alert: React.FC<AlertProps>;
|
|
12
|
+
export { Alert };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __assign } from '../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Icon } from '../Icon/index.js';
|
|
4
|
+
|
|
5
|
+
var Alert = function (_a) {
|
|
6
|
+
var message = _a.message, _b = _a.showIcon, showIcon = _b === void 0 ? true : _b, _c = _a.type, type = _c === void 0 ? 'success' : _c;
|
|
7
|
+
var getIconName = function (type) {
|
|
8
|
+
switch (type) {
|
|
9
|
+
case 'success':
|
|
10
|
+
return 'SuccessColoursOutlined';
|
|
11
|
+
case 'error':
|
|
12
|
+
return 'ErrorColoursOutlined';
|
|
13
|
+
case 'warning':
|
|
14
|
+
return 'WarningColoursOutlined';
|
|
15
|
+
case 'loading':
|
|
16
|
+
return 'LoadingOutlined';
|
|
17
|
+
default:
|
|
18
|
+
return 'WarningColoursOutlined';
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return (jsxs("div", __assign({ className: "foxit-alert foxit-alert-".concat(type) }, { children: [showIcon && (jsx("div", __assign({ className: "foxit-alert-icon-container" }, { children: jsx(Icon, { name: getIconName(type), className: "foxit-alert-icon" }) }))), jsx("div", __assign({ className: "foxit-alert-message" }, { children: message }))] })));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { Alert };
|
package/es/Button/Button.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export interface ButtonProps {
|
|
|
8
8
|
className?: string;
|
|
9
9
|
style?: React.CSSProperties;
|
|
10
10
|
[key: string]: unknown;
|
|
11
|
+
loading?: boolean;
|
|
11
12
|
}
|
|
12
|
-
export declare const Button: ({ primary, size, children, className, style, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const Button: ({ primary, size, children, className, style, loading, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
package/es/Button/Button.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __rest, __assign } from '../node_modules/tslib/tslib.es6.js';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import '
|
|
4
|
+
import { Icon } from '../Icon/index.js';
|
|
5
5
|
|
|
6
6
|
var Button = function (_a) {
|
|
7
|
-
var _b = _a.primary, primary = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'large' : _c, _d = _a.children, children = _d === void 0 ? '' : _d, className = _a.className, style = _a.style, props = __rest(_a, ["primary", "size", "children", "className", "style"]);
|
|
7
|
+
var _b = _a.primary, primary = _b === void 0 ? false : _b, _c = _a.size, size = _c === void 0 ? 'large' : _c, _d = _a.children, children = _d === void 0 ? '' : _d, className = _a.className, style = _a.style, loading = _a.loading, props = __rest(_a, ["primary", "size", "children", "className", "style", "loading"]);
|
|
8
8
|
var mode = primary ? 'foxit-button-primary' : 'foxit-button-secondary';
|
|
9
|
-
return (
|
|
9
|
+
return (jsxs("button", __assign({ type: "button", className: classNames('foxit-button', "foxit-button-".concat(size), mode, className, loading && 'foxit-button-prevent-click'), style: style }, props, { children: [loading && jsx(Icon, { name: "LoadingOutlined", className: "foxit-button-loading" }), children] })));
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { Button };
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import './checkbox.css';
|
|
3
3
|
interface CheckboxProps {
|
|
4
4
|
onChange?: (checked: boolean) => void;
|
|
5
5
|
checked?: boolean;
|
|
6
6
|
disabled?: boolean;
|
|
7
|
+
value?: string;
|
|
7
8
|
children: React.ReactNode;
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
+
interface CheckboxGroupProps {
|
|
11
|
+
value?: string[];
|
|
12
|
+
onChange?: (checkedValues: string[]) => void;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare const Checkbox: React.FC<CheckboxProps> & {
|
|
16
|
+
Group: FC<CheckboxGroupProps>;
|
|
17
|
+
};
|
|
10
18
|
export default Checkbox;
|
package/es/Checkbox/Checkbox.js
CHANGED
|
@@ -1,19 +1,49 @@
|
|
|
1
|
-
import { __assign } from '../node_modules/tslib/tslib.es6.js';
|
|
1
|
+
import { __assign, __spreadArray } from '../node_modules/tslib/tslib.es6.js';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import './checkbox.css.js';
|
|
3
|
+
import { createContext, useContext, useState, useEffect } from 'react';
|
|
5
4
|
|
|
5
|
+
var CheckboxGroupContext = createContext(null);
|
|
6
6
|
var Checkbox = function (_a) {
|
|
7
|
-
var onChange = _a.onChange, checked = _a.checked, _b = _a.disabled, disabled = _b === void 0 ? false : _b, children = _a.children;
|
|
7
|
+
var onChange = _a.onChange, checked = _a.checked, _b = _a.disabled, disabled = _b === void 0 ? false : _b, value = _a.value, children = _a.children;
|
|
8
|
+
var groupContext = useContext(CheckboxGroupContext);
|
|
8
9
|
var _c = useState(checked || false), internalChecked = _c[0], setInternalChecked = _c[1];
|
|
10
|
+
useEffect(function () {
|
|
11
|
+
if (checked !== undefined) {
|
|
12
|
+
setInternalChecked(checked);
|
|
13
|
+
}
|
|
14
|
+
}, [checked]);
|
|
9
15
|
var handleChange = function (e) {
|
|
10
16
|
var newChecked = e.target.checked;
|
|
11
17
|
setInternalChecked(newChecked);
|
|
12
18
|
if (onChange) {
|
|
13
19
|
onChange(newChecked);
|
|
14
20
|
}
|
|
21
|
+
if (groupContext && value) {
|
|
22
|
+
groupContext.onChange(value, newChecked);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var isChecked = groupContext ? groupContext.value.includes(value || '') : internalChecked;
|
|
26
|
+
return (jsxs("label", __assign({ className: "foxit-checkbox-container ".concat(disabled ? 'disabled' : '') }, { children: [jsx("input", { type: "checkbox", checked: isChecked, disabled: disabled, onChange: handleChange }), jsx("span", { className: "foxit-checkbox-checkmark ".concat(disabled ? 'disabled' : '') }), jsx("span", __assign({ className: "foxit-checkbox-content" }, { children: children }))] })));
|
|
27
|
+
};
|
|
28
|
+
var CheckboxGroup = function (_a) {
|
|
29
|
+
var value = _a.value, onChange = _a.onChange, children = _a.children;
|
|
30
|
+
var _b = useState([]), checkedValues = _b[0], setCheckedValues = _b[1];
|
|
31
|
+
useEffect(function () {
|
|
32
|
+
if (value !== undefined) {
|
|
33
|
+
setCheckedValues(value);
|
|
34
|
+
}
|
|
35
|
+
}, [value]);
|
|
36
|
+
var handleCheckboxChange = function (checkboxValue, checked) {
|
|
37
|
+
var newCheckedValues = checked
|
|
38
|
+
? __spreadArray(__spreadArray([], checkedValues, true), [checkboxValue], false) : checkedValues.filter(function (v) { return v !== checkboxValue; });
|
|
39
|
+
setCheckedValues(newCheckedValues);
|
|
40
|
+
if (onChange) {
|
|
41
|
+
onChange(newCheckedValues);
|
|
42
|
+
}
|
|
15
43
|
};
|
|
16
|
-
|
|
44
|
+
var currentValue = value !== undefined ? value : checkedValues;
|
|
45
|
+
return (jsx(CheckboxGroupContext.Provider, __assign({ value: { value: currentValue, onChange: handleCheckboxChange } }, { children: jsx("div", __assign({ className: "foxit-checkbox-group" }, { children: children })) })));
|
|
17
46
|
};
|
|
47
|
+
Checkbox.Group = CheckboxGroup;
|
|
18
48
|
|
|
19
49
|
export { Checkbox as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { __assign } from '../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
|
|
5
|
+
var Drawer = function (_a) {
|
|
6
|
+
var open = _a.open, _b = _a.width, width = _b === void 0 ? 375 : _b, onClose = _a.onClose, children = _a.children;
|
|
7
|
+
return (jsxs(Fragment, { children: [jsx("div", { className: classNames('foxit-drawer-mask', {
|
|
8
|
+
'foxit-drawer-mask-open': open
|
|
9
|
+
}), onClick: onClose, style: { display: open ? 'block' : 'none' } }), jsx("div", __assign({ className: classNames('foxit-drawer', {
|
|
10
|
+
'foxit-drawer-open': open
|
|
11
|
+
}), style: { width: width, right: open ? 0 : -width } }, { children: jsx("div", __assign({ className: "foxit-drawer-content" }, { children: children })) }))] }));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { Drawer };
|
package/es/Empty/Empty.js
CHANGED
package/es/Form/Form.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
2
|
import { FormRefInstance } from './Form.types';
|
|
3
3
|
import FormItem from './FormItem';
|
|
4
|
+
import { useFormWatch } from './useFormWatch';
|
|
4
5
|
export type { FormRefInstance } from './Form.types';
|
|
5
6
|
interface FormProps {
|
|
6
7
|
children: ReactNode;
|
|
@@ -9,6 +10,6 @@ interface FormProps {
|
|
|
9
10
|
[key: string]: unknown;
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
|
-
export { FormItem };
|
|
13
|
+
export { FormItem, useFormWatch };
|
|
13
14
|
declare const _default: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<FormRefInstance>>;
|
|
14
15
|
export default _default;
|
package/es/Form/Form.js
CHANGED
|
@@ -3,7 +3,6 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
3
3
|
import { forwardRef, useRef, useCallback, useImperativeHandle } from 'react';
|
|
4
4
|
import FormProvider from './FormProvider.js';
|
|
5
5
|
import './FormContext.js';
|
|
6
|
-
import './form.css.js';
|
|
7
6
|
|
|
8
7
|
var Form = function (_a, ref) {
|
|
9
8
|
var children = _a.children, onFinish = _a.onFinish, initialValues = _a.initialValues;
|
|
@@ -22,13 +21,14 @@ var Form = function (_a, ref) {
|
|
|
22
21
|
}
|
|
23
22
|
}, [onFinish]);
|
|
24
23
|
useImperativeHandle(ref, function () {
|
|
25
|
-
var _a, _b, _c, _d, _e;
|
|
24
|
+
var _a, _b, _c, _d, _e, _f;
|
|
26
25
|
return ({
|
|
27
26
|
setFieldsValue: (_a = formRef.current) === null || _a === void 0 ? void 0 : _a.setFieldsValue,
|
|
28
27
|
getFieldsValue: (_b = formRef.current) === null || _b === void 0 ? void 0 : _b.getFieldsValue,
|
|
29
28
|
resetFields: (_c = formRef.current) === null || _c === void 0 ? void 0 : _c.resetFields,
|
|
30
29
|
validateFields: (_d = formRef.current) === null || _d === void 0 ? void 0 : _d.validateFields,
|
|
31
|
-
setFieldsStatus: (_e = formRef.current) === null || _e === void 0 ? void 0 : _e.setFieldsStatus
|
|
30
|
+
setFieldsStatus: (_e = formRef.current) === null || _e === void 0 ? void 0 : _e.setFieldsStatus,
|
|
31
|
+
subscribe: (_f = formRef.current) === null || _f === void 0 ? void 0 : _f.subscribe
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
34
|
return (jsx(FormProvider, __assign({ initialValues: initialValues, ref: formRef }, { children: jsx("form", __assign({ onSubmit: handleSubmit }, { children: children })) })));
|
package/es/Form/Form.types.d.ts
CHANGED
|
@@ -11,6 +11,12 @@ export interface ValidationRule {
|
|
|
11
11
|
min?: number;
|
|
12
12
|
max?: number;
|
|
13
13
|
}
|
|
14
|
+
export interface FieldSubscriber {
|
|
15
|
+
fieldNames: string[];
|
|
16
|
+
callback: (values: {
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}) => void;
|
|
19
|
+
}
|
|
14
20
|
export interface FormInstance {
|
|
15
21
|
setFieldsValue: (values: {
|
|
16
22
|
[key: string]: unknown;
|
|
@@ -29,6 +35,9 @@ export interface FormInstance {
|
|
|
29
35
|
}[]) => void;
|
|
30
36
|
registerField: (name: string, rules: ValidationRule[]) => void;
|
|
31
37
|
unregisterField: (name: string) => void;
|
|
38
|
+
subscribe: (fieldNames: string[], callback: (values: {
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
}) => void) => () => void;
|
|
32
41
|
}
|
|
33
42
|
export type FormRefInstance = Omit<FormInstance, 'registerField' | 'unregisterField'>;
|
|
34
43
|
export interface FormContextProps {
|
package/es/Form/FormItem.d.ts
CHANGED
package/es/Form/FormItem.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { __assign } from '../node_modules/tslib/tslib.es6.js';
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import React, { useContext, useEffect, useCallback } from 'react';
|
|
4
4
|
import { FormContext } from './FormContext.js';
|
|
5
|
-
import './form.css.js';
|
|
6
5
|
|
|
7
6
|
var FormItem = function (_a) {
|
|
8
7
|
var _b, _c, _d;
|
|
9
|
-
var name = _a.name, label = _a.label, _e = _a.rules, rules = _e === void 0 ? [] : _e, children = _a.children;
|
|
8
|
+
var name = _a.name, label = _a.label, extra = _a.extra, _e = _a.rules, rules = _e === void 0 ? [] : _e, children = _a.children;
|
|
10
9
|
var _f = useContext(FormContext), form = _f.form, formFields = _f.formFields;
|
|
11
10
|
// Register field when component mounts
|
|
12
11
|
useEffect(function () {
|
|
@@ -24,7 +23,7 @@ var FormItem = function (_a) {
|
|
|
24
23
|
var newValue = ((_b = e === null || e === void 0 ? void 0 : e.target) === null || _b === void 0 ? void 0 : _b.value) !== undefined ? e.target.value : e;
|
|
25
24
|
form.setFieldsValue((_a = {}, _a[name] = newValue, _a));
|
|
26
25
|
}, [form, name]);
|
|
27
|
-
return (jsxs("div", __assign({ className: "foxit-form-item" }, { children: [label &&
|
|
26
|
+
return (jsxs("div", __assign({ className: "foxit-form-item", style: error || warning ? { marginBottom: 0 } : {} }, { children: [label && (jsxs("label", { children: [label, rules.some(function (rule) { return rule.required; }) && jsx("span", __assign({ className: "foxit-form-required" }, { children: "*" })), extra && jsx(Fragment, { children: extra })] })), jsx("span", __assign({ className: "".concat(error ? 'foxit-form-error-component' : warning ? 'foxit-form-warning-component' : '') }, { children: React.Children.map(children, function (child) {
|
|
28
27
|
return React.cloneElement(child, {
|
|
29
28
|
value: value,
|
|
30
29
|
onChange: handleChange
|