react-asc 25.2.12 → 25.3.0
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/components/Table/Table.d.ts +2 -4
- package/components/Tooltip/Tooltip.d.ts +3 -0
- package/index.es.js +35 -13
- package/index.js +35 -13
- package/package.json +1 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export interface ITableProps {
|
|
3
|
-
children?: ReactElement | ReactElement[];
|
|
4
|
-
className?: string;
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ITableProps extends React.ComponentProps<'table'> {
|
|
5
3
|
striped?: boolean;
|
|
6
4
|
bordered?: boolean;
|
|
7
5
|
hover?: boolean;
|
|
@@ -2,5 +2,8 @@ import React from 'react';
|
|
|
2
2
|
export interface ITooltipProps extends React.ComponentProps<'div'> {
|
|
3
3
|
placement?: 'top' | 'bottom' | 'right' | 'left';
|
|
4
4
|
text?: string;
|
|
5
|
+
delay?: number;
|
|
6
|
+
isOpen?: boolean;
|
|
7
|
+
isShowClose?: boolean;
|
|
5
8
|
}
|
|
6
9
|
export declare const Tooltip: (props: ITooltipProps) => JSX.Element;
|
package/index.es.js
CHANGED
|
@@ -2019,13 +2019,25 @@ var styles$l = {"tooltipContainer":"Tooltip-module_tooltipContainer__9ZWx3","too
|
|
|
2019
2019
|
styleInject(css_248z$l);
|
|
2020
2020
|
|
|
2021
2021
|
const Tooltip = (props) => {
|
|
2022
|
-
const { children, text, placement = 'bottom' } = props;
|
|
2023
|
-
const [
|
|
2022
|
+
const { children, text, placement = 'bottom', isOpen = false, isShowClose = false, delay = 0 } = props;
|
|
2023
|
+
const [debounce, setDebounce] = useState(delay);
|
|
2024
|
+
const [open, setOpen] = useState(isOpen);
|
|
2025
|
+
const [show, setShow] = useState(isOpen);
|
|
2026
|
+
const [showClose, setShowClose] = useState(isShowClose);
|
|
2024
2027
|
const refChild = useRef();
|
|
2025
2028
|
const refTooltip = useRef();
|
|
2029
|
+
useDebounce(() => { setOpen(show); }, debounce, [show]);
|
|
2026
2030
|
useEffect(() => {
|
|
2027
|
-
|
|
2028
|
-
|
|
2031
|
+
setShow(isOpen);
|
|
2032
|
+
}, [isOpen]);
|
|
2033
|
+
useEffect(() => {
|
|
2034
|
+
setShowClose(isShowClose);
|
|
2035
|
+
}, [isShowClose]);
|
|
2036
|
+
useEffect(() => {
|
|
2037
|
+
setDebounce(delay);
|
|
2038
|
+
}, [delay]);
|
|
2039
|
+
useEffect(() => {
|
|
2040
|
+
if (open === true && refChild && refChild.current && refTooltip && refTooltip.current) {
|
|
2029
2041
|
createPopper(refChild.current, refTooltip.current, {
|
|
2030
2042
|
placement: placement,
|
|
2031
2043
|
modifiers: [
|
|
@@ -2036,21 +2048,31 @@ const Tooltip = (props) => {
|
|
|
2036
2048
|
]
|
|
2037
2049
|
});
|
|
2038
2050
|
}
|
|
2039
|
-
}, [
|
|
2051
|
+
}, [open]);
|
|
2040
2052
|
const handleMouseOver = () => {
|
|
2041
2053
|
setShow(true);
|
|
2042
2054
|
};
|
|
2043
2055
|
const handleMouseLeave = () => {
|
|
2044
2056
|
setShow(false);
|
|
2045
2057
|
};
|
|
2058
|
+
const handleFocus = () => {
|
|
2059
|
+
setShow(true);
|
|
2060
|
+
};
|
|
2061
|
+
const handleBlur = () => {
|
|
2062
|
+
setShow(false);
|
|
2063
|
+
};
|
|
2064
|
+
const handleClickClose = () => {
|
|
2065
|
+
setShow(false);
|
|
2066
|
+
};
|
|
2046
2067
|
return (React.createElement(React.Fragment, null,
|
|
2047
|
-
React.createElement("div", { className: styles$l.tooltipContainer,
|
|
2048
|
-
|
|
2049
|
-
onMouseLeave: handleMouseLeave,
|
|
2050
|
-
})),
|
|
2051
|
-
show && text &&
|
|
2068
|
+
React.createElement("div", { ref: refChild, className: styles$l.tooltipContainer, onMouseOver: handleMouseOver, onMouseLeave: handleMouseLeave, onFocus: handleFocus, onBlur: handleBlur }, children),
|
|
2069
|
+
open && text &&
|
|
2052
2070
|
React.createElement("div", { className: styles$l.tooltip, ref: refTooltip, id: "tooltip" },
|
|
2053
|
-
|
|
2071
|
+
React.createElement("div", { className: 'd-flex align-items-center' },
|
|
2072
|
+
text,
|
|
2073
|
+
showClose &&
|
|
2074
|
+
React.createElement(Icon, { className: 'ml-1', onClick: handleClickClose },
|
|
2075
|
+
React.createElement(TimesSolidIcon, null))),
|
|
2054
2076
|
React.createElement("div", { id: "arrow", "data-popper-arrow": true }))));
|
|
2055
2077
|
};
|
|
2056
2078
|
|
|
@@ -2602,7 +2624,7 @@ var styles$5 = {"tableResponsive":"Table-module_tableResponsive__ykttB","table":
|
|
|
2602
2624
|
styleInject(css_248z$5);
|
|
2603
2625
|
|
|
2604
2626
|
const Table = (props) => {
|
|
2605
|
-
const { children, className, bordered, striped, hover, responsive = false } = props;
|
|
2627
|
+
const { children, className, bordered, striped, hover, responsive = false, ...rest } = props;
|
|
2606
2628
|
const getCssClasses = () => {
|
|
2607
2629
|
const cssClasses = [];
|
|
2608
2630
|
cssClasses.push(styles$5.table);
|
|
@@ -2613,7 +2635,7 @@ const Table = (props) => {
|
|
|
2613
2635
|
return cssClasses.filter(css => css).join(' ');
|
|
2614
2636
|
};
|
|
2615
2637
|
return (React.createElement(ConditionalWrapper, { condition: responsive, wrapper: (children) => React.createElement("div", { className: styles$5.tableResponsive }, children) },
|
|
2616
|
-
React.createElement("table", { className: getCssClasses() }, children)));
|
|
2638
|
+
React.createElement("table", { className: getCssClasses(), ...rest }, children)));
|
|
2617
2639
|
};
|
|
2618
2640
|
|
|
2619
2641
|
const TableRow = (props) => {
|
package/index.js
CHANGED
|
@@ -2028,13 +2028,25 @@ var styles$l = {"tooltipContainer":"Tooltip-module_tooltipContainer__9ZWx3","too
|
|
|
2028
2028
|
styleInject(css_248z$l);
|
|
2029
2029
|
|
|
2030
2030
|
const Tooltip = (props) => {
|
|
2031
|
-
const { children, text, placement = 'bottom' } = props;
|
|
2032
|
-
const [
|
|
2031
|
+
const { children, text, placement = 'bottom', isOpen = false, isShowClose = false, delay = 0 } = props;
|
|
2032
|
+
const [debounce, setDebounce] = React.useState(delay);
|
|
2033
|
+
const [open, setOpen] = React.useState(isOpen);
|
|
2034
|
+
const [show, setShow] = React.useState(isOpen);
|
|
2035
|
+
const [showClose, setShowClose] = React.useState(isShowClose);
|
|
2033
2036
|
const refChild = React.useRef();
|
|
2034
2037
|
const refTooltip = React.useRef();
|
|
2038
|
+
useDebounce(() => { setOpen(show); }, debounce, [show]);
|
|
2035
2039
|
React.useEffect(() => {
|
|
2036
|
-
|
|
2037
|
-
|
|
2040
|
+
setShow(isOpen);
|
|
2041
|
+
}, [isOpen]);
|
|
2042
|
+
React.useEffect(() => {
|
|
2043
|
+
setShowClose(isShowClose);
|
|
2044
|
+
}, [isShowClose]);
|
|
2045
|
+
React.useEffect(() => {
|
|
2046
|
+
setDebounce(delay);
|
|
2047
|
+
}, [delay]);
|
|
2048
|
+
React.useEffect(() => {
|
|
2049
|
+
if (open === true && refChild && refChild.current && refTooltip && refTooltip.current) {
|
|
2038
2050
|
core.createPopper(refChild.current, refTooltip.current, {
|
|
2039
2051
|
placement: placement,
|
|
2040
2052
|
modifiers: [
|
|
@@ -2045,21 +2057,31 @@ const Tooltip = (props) => {
|
|
|
2045
2057
|
]
|
|
2046
2058
|
});
|
|
2047
2059
|
}
|
|
2048
|
-
}, [
|
|
2060
|
+
}, [open]);
|
|
2049
2061
|
const handleMouseOver = () => {
|
|
2050
2062
|
setShow(true);
|
|
2051
2063
|
};
|
|
2052
2064
|
const handleMouseLeave = () => {
|
|
2053
2065
|
setShow(false);
|
|
2054
2066
|
};
|
|
2067
|
+
const handleFocus = () => {
|
|
2068
|
+
setShow(true);
|
|
2069
|
+
};
|
|
2070
|
+
const handleBlur = () => {
|
|
2071
|
+
setShow(false);
|
|
2072
|
+
};
|
|
2073
|
+
const handleClickClose = () => {
|
|
2074
|
+
setShow(false);
|
|
2075
|
+
};
|
|
2055
2076
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2056
|
-
React__default["default"].createElement("div", { className: styles$l.tooltipContainer,
|
|
2057
|
-
|
|
2058
|
-
onMouseLeave: handleMouseLeave,
|
|
2059
|
-
})),
|
|
2060
|
-
show && text &&
|
|
2077
|
+
React__default["default"].createElement("div", { ref: refChild, className: styles$l.tooltipContainer, onMouseOver: handleMouseOver, onMouseLeave: handleMouseLeave, onFocus: handleFocus, onBlur: handleBlur }, children),
|
|
2078
|
+
open && text &&
|
|
2061
2079
|
React__default["default"].createElement("div", { className: styles$l.tooltip, ref: refTooltip, id: "tooltip" },
|
|
2062
|
-
|
|
2080
|
+
React__default["default"].createElement("div", { className: 'd-flex align-items-center' },
|
|
2081
|
+
text,
|
|
2082
|
+
showClose &&
|
|
2083
|
+
React__default["default"].createElement(Icon, { className: 'ml-1', onClick: handleClickClose },
|
|
2084
|
+
React__default["default"].createElement(TimesSolidIcon, null))),
|
|
2063
2085
|
React__default["default"].createElement("div", { id: "arrow", "data-popper-arrow": true }))));
|
|
2064
2086
|
};
|
|
2065
2087
|
|
|
@@ -2611,7 +2633,7 @@ var styles$5 = {"tableResponsive":"Table-module_tableResponsive__ykttB","table":
|
|
|
2611
2633
|
styleInject(css_248z$5);
|
|
2612
2634
|
|
|
2613
2635
|
const Table = (props) => {
|
|
2614
|
-
const { children, className, bordered, striped, hover, responsive = false } = props;
|
|
2636
|
+
const { children, className, bordered, striped, hover, responsive = false, ...rest } = props;
|
|
2615
2637
|
const getCssClasses = () => {
|
|
2616
2638
|
const cssClasses = [];
|
|
2617
2639
|
cssClasses.push(styles$5.table);
|
|
@@ -2622,7 +2644,7 @@ const Table = (props) => {
|
|
|
2622
2644
|
return cssClasses.filter(css => css).join(' ');
|
|
2623
2645
|
};
|
|
2624
2646
|
return (React__default["default"].createElement(ConditionalWrapper, { condition: responsive, wrapper: (children) => React__default["default"].createElement("div", { className: styles$5.tableResponsive }, children) },
|
|
2625
|
-
React__default["default"].createElement("table", { className: getCssClasses() }, children)));
|
|
2647
|
+
React__default["default"].createElement("table", { className: getCssClasses(), ...rest }, children)));
|
|
2626
2648
|
};
|
|
2627
2649
|
|
|
2628
2650
|
const TableRow = (props) => {
|