funda-ui 4.7.517 → 4.7.533
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/CascadingSelect/index.css +105 -88
- package/CascadingSelect/index.js +25 -24
- package/CascadingSelectE2E/index.css +105 -88
- package/CascadingSelectE2E/index.js +26 -25
- package/Date/index.js +3 -1
- package/DropdownMenu/index.js +3 -1
- package/LiveSearch/index.js +2 -1
- package/Select/index.d.ts +1 -0
- package/Select/index.js +70 -14
- package/Tooltip/index.css +69 -68
- package/Tooltip/index.d.ts +15 -1
- package/Tooltip/index.js +153 -57
- package/lib/cjs/CascadingSelect/index.js +25 -24
- package/lib/cjs/CascadingSelectE2E/index.js +26 -25
- package/lib/cjs/Date/index.js +3 -1
- package/lib/cjs/DropdownMenu/index.js +3 -1
- package/lib/cjs/LiveSearch/index.js +2 -1
- package/lib/cjs/Select/index.d.ts +1 -0
- package/lib/cjs/Select/index.js +70 -14
- package/lib/cjs/Tooltip/index.d.ts +15 -1
- package/lib/cjs/Tooltip/index.js +153 -57
- package/lib/css/CascadingSelect/index.css +105 -88
- package/lib/css/CascadingSelectE2E/index.css +105 -88
- package/lib/css/Tooltip/index.css +69 -68
- package/lib/esm/CascadingSelect/Group.tsx +3 -5
- package/lib/esm/CascadingSelect/index.scss +89 -68
- package/lib/esm/CascadingSelect/index.tsx +23 -21
- package/lib/esm/CascadingSelectE2E/Group.tsx +4 -3
- package/lib/esm/CascadingSelectE2E/index.scss +83 -63
- package/lib/esm/CascadingSelectE2E/index.tsx +24 -22
- package/lib/esm/Date/index.tsx +4 -1
- package/lib/esm/DropdownMenu/index.tsx +2 -1
- package/lib/esm/LiveSearch/index.tsx +2 -1
- package/lib/esm/Select/index.tsx +75 -17
- package/lib/esm/Tooltip/index.scss +63 -60
- package/lib/esm/Tooltip/index.tsx +143 -44
- package/package.json +1 -1
package/lib/cjs/Tooltip/index.js
CHANGED
|
@@ -1431,6 +1431,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1431
1431
|
/* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__);
|
|
1432
1432
|
/* harmony import */ var funda_utils_dist_cjs_inputsCalculation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(954);
|
|
1433
1433
|
/* harmony import */ var funda_utils_dist_cjs_inputsCalculation__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_inputsCalculation__WEBPACK_IMPORTED_MODULE_6__);
|
|
1434
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1435
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1436
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1437
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1438
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
1439
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1434
1440
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
1435
1441
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1436
1442
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -1444,35 +1450,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
1444
1450
|
|
|
1445
1451
|
|
|
1446
1452
|
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
width: 0,
|
|
1450
|
-
height: 0
|
|
1451
|
-
}),
|
|
1452
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
1453
|
-
dimensions = _useState2[0],
|
|
1454
|
-
setDimensions = _useState2[1];
|
|
1455
|
-
useEffect(function () {
|
|
1456
|
-
var getDimensions = function getDimensions() {
|
|
1457
|
-
return {
|
|
1458
|
-
width: myRef.current.offsetWidth,
|
|
1459
|
-
height: myRef.current.offsetHeight
|
|
1460
|
-
};
|
|
1461
|
-
};
|
|
1462
|
-
var handleResize = function handleResize() {
|
|
1463
|
-
setDimensions(getDimensions());
|
|
1464
|
-
};
|
|
1465
|
-
if (myRef.current) {
|
|
1466
|
-
setDimensions(getDimensions());
|
|
1467
|
-
}
|
|
1468
|
-
window.addEventListener("resize", handleResize);
|
|
1469
|
-
return function () {
|
|
1470
|
-
window.removeEventListener("resize", handleResize);
|
|
1471
|
-
};
|
|
1472
|
-
}, [myRef]);
|
|
1473
|
-
return dimensions;
|
|
1474
|
-
};
|
|
1475
|
-
var Tooltip = function Tooltip(props) {
|
|
1453
|
+
// Use forwardRef to expose imperative methods
|
|
1454
|
+
var Tooltip = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function (props, ref) {
|
|
1476
1455
|
var triggerClassName = props.triggerClassName,
|
|
1477
1456
|
wrapperClassName = props.wrapperClassName,
|
|
1478
1457
|
direction = props.direction,
|
|
@@ -1483,7 +1462,14 @@ var Tooltip = function Tooltip(props) {
|
|
|
1483
1462
|
mouseOutDelay = props.mouseOutDelay,
|
|
1484
1463
|
content = props.content,
|
|
1485
1464
|
id = props.id,
|
|
1486
|
-
children = props.children
|
|
1465
|
+
children = props.children,
|
|
1466
|
+
controlled = props.controlled,
|
|
1467
|
+
popupArrowColor = props.popupArrowColor,
|
|
1468
|
+
popupContentStyle = props.popupContentStyle,
|
|
1469
|
+
delayedClose = props.delayedClose,
|
|
1470
|
+
delayedCloseTimeout = props.delayedCloseTimeout,
|
|
1471
|
+
onContentMouseEnter = props.onContentMouseEnter,
|
|
1472
|
+
onContentMouseLeave = props.onContentMouseLeave;
|
|
1487
1473
|
var POS_OFFSET = Number(offset) || 4;
|
|
1488
1474
|
var EXCEEDED_SIDE_POS_OFFSET = Number(exceededSidePosOffset) || 15;
|
|
1489
1475
|
var uniqueID = funda_utils_dist_cjs_useComId__WEBPACK_IMPORTED_MODULE_2___default()();
|
|
@@ -1492,33 +1478,85 @@ var Tooltip = function Tooltip(props) {
|
|
|
1492
1478
|
var modalRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
1493
1479
|
var HOVER_DELAY = hoverDelay ? hoverDelay : 200;
|
|
1494
1480
|
var MOUSE_OUT_DELAY = mouseOutDelay ? mouseOutDelay : HOVER_DELAY;
|
|
1481
|
+
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
|
1482
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1483
|
+
hasBeenShown = _useState2[0],
|
|
1484
|
+
setHasBeenShown = _useState2[1];
|
|
1495
1485
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
|
1496
1486
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(
|
|
1500
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
1501
|
-
isShow = _useState6[0],
|
|
1502
|
-
setIsShow = _useState6[1];
|
|
1503
|
-
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
|
|
1487
|
+
isShow = _useState4[0],
|
|
1488
|
+
setIsShow = _useState4[1];
|
|
1489
|
+
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({
|
|
1504
1490
|
x: 0,
|
|
1505
1491
|
y: 0
|
|
1506
1492
|
}),
|
|
1507
|
-
|
|
1508
|
-
position =
|
|
1509
|
-
setPosition =
|
|
1493
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1494
|
+
position = _useState6[0],
|
|
1495
|
+
setPosition = _useState6[1];
|
|
1496
|
+
var popupArrowStyle = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {
|
|
1497
|
+
if (typeof popupArrowColor !== 'undefined' && Array.isArray(popupArrowColor) && popupArrowColor.length === 4) {
|
|
1498
|
+
return {
|
|
1499
|
+
'--cus-tooltip-arrow-bg-top': "url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%28".concat(popupArrowColor[0], ",%20").concat(popupArrowColor[1], ",%20").concat(popupArrowColor[2], ",%20").concat(popupArrowColor[3], "%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\") no-repeat"),
|
|
1500
|
+
'--cus-tooltip-arrow-bg-bottom': "url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%28".concat(popupArrowColor[0], ",%20").concat(popupArrowColor[1], ",%20").concat(popupArrowColor[2], ",%20").concat(popupArrowColor[3], "%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\") no-repeat"),
|
|
1501
|
+
'--cus-tooltip-arrow-bg-left': "url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%28".concat(popupArrowColor[0], ",%20").concat(popupArrowColor[1], ",%20").concat(popupArrowColor[2], ",%20").concat(popupArrowColor[3], "%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\") no-repeat"),
|
|
1502
|
+
'--cus-tooltip-arrow-bg-right': "url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%28".concat(popupArrowColor[0], ",%20").concat(popupArrowColor[1], ",%20").concat(popupArrowColor[2], ",%20").concat(popupArrowColor[3], "%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E\") no-repeat")
|
|
1503
|
+
};
|
|
1504
|
+
}
|
|
1505
|
+
return undefined;
|
|
1506
|
+
}, [popupArrowColor]);
|
|
1507
|
+
|
|
1508
|
+
// Expose show/hide methods to parent via ref
|
|
1509
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(ref, function () {
|
|
1510
|
+
return {
|
|
1511
|
+
show: function show() {
|
|
1512
|
+
// Find the trigger element
|
|
1513
|
+
var triggerEl = rootRef.current;
|
|
1514
|
+
if (triggerEl) {
|
|
1515
|
+
// Calculate position (copy from handleMouseEnter)
|
|
1516
|
+
var _getAbsolutePositionO = (0,funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_4__.getAbsolutePositionOfStage)(triggerEl),
|
|
1517
|
+
x = _getAbsolutePositionO.x,
|
|
1518
|
+
y = _getAbsolutePositionO.y,
|
|
1519
|
+
width = _getAbsolutePositionO.width,
|
|
1520
|
+
height = _getAbsolutePositionO.height;
|
|
1521
|
+
var pos = triggerEl.dataset.microtipPosition;
|
|
1522
|
+
if (typeof pos === 'undefined') pos = 'top';
|
|
1523
|
+
if (pos.indexOf('top') >= 0) {
|
|
1524
|
+
setPosition({
|
|
1525
|
+
x: x + width / 2 + 'px',
|
|
1526
|
+
y: y - height - POS_OFFSET + 'px'
|
|
1527
|
+
});
|
|
1528
|
+
}
|
|
1529
|
+
if (pos.indexOf('bottom') >= 0) {
|
|
1530
|
+
setPosition({
|
|
1531
|
+
x: x + width / 2 + 'px',
|
|
1532
|
+
y: y + height + POS_OFFSET + 'px'
|
|
1533
|
+
});
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
setIsShow(true);
|
|
1537
|
+
},
|
|
1538
|
+
hide: function hide() {
|
|
1539
|
+
hideTip();
|
|
1540
|
+
}
|
|
1541
|
+
};
|
|
1542
|
+
}, [POS_OFFSET]);
|
|
1510
1543
|
|
|
1511
1544
|
// click outside
|
|
1512
1545
|
funda_utils_dist_cjs_useClickOutside__WEBPACK_IMPORTED_MODULE_3___default()({
|
|
1513
|
-
enabled: isShow && rootRef.current,
|
|
1546
|
+
enabled: isShow && rootRef.current && !controlled,
|
|
1547
|
+
// Only auto-close if not controlled
|
|
1514
1548
|
isOutside: function isOutside(event) {
|
|
1549
|
+
// Prevent closing when clicking inside the tooltip wrapper
|
|
1550
|
+
if (modalRef.current && modalRef.current.contains(event.target)) {
|
|
1551
|
+
return false; // Click is inside the tooltip wrapper, do not close
|
|
1552
|
+
}
|
|
1515
1553
|
// close dropdown when other dropdown is opened
|
|
1516
1554
|
return rootRef.current !== event.target && !rootRef.current.contains(event.target);
|
|
1517
1555
|
},
|
|
1518
1556
|
handle: function handle(event) {
|
|
1519
1557
|
hideTip();
|
|
1520
1558
|
}
|
|
1521
|
-
}, [isShow, rootRef]);
|
|
1559
|
+
}, [isShow, rootRef, controlled]);
|
|
1522
1560
|
|
|
1523
1561
|
//timer hover
|
|
1524
1562
|
var timeoutHoverIdRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
@@ -1552,7 +1590,7 @@ var Tooltip = function Tooltip(props) {
|
|
|
1552
1590
|
//------------------
|
|
1553
1591
|
var _modalRef = modalRef.current;
|
|
1554
1592
|
if (_modalRef === null) return;
|
|
1555
|
-
var _modalContent = _modalRef.querySelector('.tooltip__content');
|
|
1593
|
+
var _modalContent = _modalRef.querySelector('.cus-tooltip__content');
|
|
1556
1594
|
var _modalBox = _modalContent.getBoundingClientRect();
|
|
1557
1595
|
if (typeof _modalContent.dataset.offset === 'undefined' && _modalBox.left > 0) {
|
|
1558
1596
|
// Adjust the coordinates due to height
|
|
@@ -1590,6 +1628,7 @@ var Tooltip = function Tooltip(props) {
|
|
|
1590
1628
|
};
|
|
1591
1629
|
|
|
1592
1630
|
function handleMouseEnter(e) {
|
|
1631
|
+
if (controlled) return; // Do nothing if controlled
|
|
1593
1632
|
stopTimerHover();
|
|
1594
1633
|
stopTimerMouseout();
|
|
1595
1634
|
startTimerHover();
|
|
@@ -1600,11 +1639,11 @@ var Tooltip = function Tooltip(props) {
|
|
|
1600
1639
|
|
|
1601
1640
|
// console.log(getAbsolutePositionOfStage(_triggerRef));
|
|
1602
1641
|
if (_triggerRef !== null) {
|
|
1603
|
-
var
|
|
1604
|
-
x =
|
|
1605
|
-
y =
|
|
1606
|
-
width =
|
|
1607
|
-
height =
|
|
1642
|
+
var _getAbsolutePositionO2 = (0,funda_utils_dist_cjs_getElementProperty__WEBPACK_IMPORTED_MODULE_4__.getAbsolutePositionOfStage)(_triggerRef),
|
|
1643
|
+
x = _getAbsolutePositionO2.x,
|
|
1644
|
+
y = _getAbsolutePositionO2.y,
|
|
1645
|
+
width = _getAbsolutePositionO2.width,
|
|
1646
|
+
height = _getAbsolutePositionO2.height;
|
|
1608
1647
|
var pos = _triggerRef.dataset.microtipPosition;
|
|
1609
1648
|
if (typeof pos === 'undefined') pos = 'top';
|
|
1610
1649
|
|
|
@@ -1628,6 +1667,7 @@ var Tooltip = function Tooltip(props) {
|
|
|
1628
1667
|
}
|
|
1629
1668
|
}
|
|
1630
1669
|
function handleMouseLeave() {
|
|
1670
|
+
if (controlled) return; // Do nothing if controlled
|
|
1631
1671
|
stopTimerHover();
|
|
1632
1672
|
stopTimerMouseout();
|
|
1633
1673
|
startTimerMouseout();
|
|
@@ -1635,10 +1675,59 @@ var Tooltip = function Tooltip(props) {
|
|
|
1635
1675
|
function hideTip() {
|
|
1636
1676
|
setIsShow(false);
|
|
1637
1677
|
}
|
|
1678
|
+
|
|
1679
|
+
// Timer for delayed close
|
|
1680
|
+
var delayedCloseTimerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
1681
|
+
var DELAYED_CLOSE_TIMEOUT = typeof delayedCloseTimeout === 'number' ? delayedCloseTimeout : 1500;
|
|
1682
|
+
|
|
1683
|
+
// Handler for mouse leave on trigger (when delayedClose is enabled)
|
|
1684
|
+
function handleTriggerMouseLeave() {
|
|
1685
|
+
if (controlled) return;
|
|
1686
|
+
if (delayedClose) {
|
|
1687
|
+
// Start delayed close timer
|
|
1688
|
+
if (delayedCloseTimerRef.current) clearTimeout(delayedCloseTimerRef.current);
|
|
1689
|
+
delayedCloseTimerRef.current = setTimeout(function () {
|
|
1690
|
+
hideTip();
|
|
1691
|
+
}, DELAYED_CLOSE_TIMEOUT);
|
|
1692
|
+
} else {
|
|
1693
|
+
stopTimerHover();
|
|
1694
|
+
stopTimerMouseout();
|
|
1695
|
+
startTimerMouseout();
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
// Handler for mouse enter on wrapper (cancel delayed close)
|
|
1700
|
+
function handleWrapperMouseEnter(event) {
|
|
1701
|
+
if (controlled) return;
|
|
1702
|
+
if (delayedClose && delayedCloseTimerRef.current) {
|
|
1703
|
+
clearTimeout(delayedCloseTimerRef.current);
|
|
1704
|
+
delayedCloseTimerRef.current = null;
|
|
1705
|
+
}
|
|
1706
|
+
// Call user-provided handler if present
|
|
1707
|
+
if (onContentMouseEnter && event) {
|
|
1708
|
+
onContentMouseEnter(event);
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
// Handler for mouse leave on wrapper (restart delayed close timer)
|
|
1713
|
+
function handleWrapperMouseLeave(event) {
|
|
1714
|
+
if (controlled) return;
|
|
1715
|
+
if (delayedClose) {
|
|
1716
|
+
if (delayedCloseTimerRef.current) clearTimeout(delayedCloseTimerRef.current);
|
|
1717
|
+
delayedCloseTimerRef.current = setTimeout(function () {
|
|
1718
|
+
hideTip();
|
|
1719
|
+
}, DELAYED_CLOSE_TIMEOUT);
|
|
1720
|
+
}
|
|
1721
|
+
// Call user-provided handler if present
|
|
1722
|
+
if (onContentMouseLeave && event) {
|
|
1723
|
+
onContentMouseLeave(event);
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1638
1726
|
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
1639
1727
|
return function () {
|
|
1640
1728
|
stopTimerHover();
|
|
1641
1729
|
stopTimerMouseout();
|
|
1730
|
+
if (delayedCloseTimerRef.current) clearTimeout(delayedCloseTimerRef.current);
|
|
1642
1731
|
};
|
|
1643
1732
|
}, []);
|
|
1644
1733
|
|
|
@@ -1648,31 +1737,38 @@ var Tooltip = function Tooltip(props) {
|
|
|
1648
1737
|
});
|
|
1649
1738
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1650
1739
|
ref: rootRef,
|
|
1651
|
-
"data-overlay-id": "tooltip__wrapper-".concat(idRes),
|
|
1652
|
-
className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.combinedCls)('tooltip__trigger', (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.clsWrite)(triggerClassName, 'd-inline-block')),
|
|
1740
|
+
"data-overlay-id": "cus-tooltip__wrapper-".concat(idRes),
|
|
1741
|
+
className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.combinedCls)('cus-tooltip__trigger', (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.clsWrite)(triggerClassName, 'd-inline-block')),
|
|
1653
1742
|
"data-microtip-position": direction || 'top',
|
|
1654
1743
|
"data-microtip-size": size || 'auto',
|
|
1655
1744
|
onMouseEnter: handleMouseEnter,
|
|
1656
|
-
onMouseLeave: handleMouseLeave
|
|
1745
|
+
onMouseLeave: delayedClose ? handleTriggerMouseLeave : handleMouseLeave
|
|
1657
1746
|
}, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((funda_root_portal__WEBPACK_IMPORTED_MODULE_1___default()), {
|
|
1658
1747
|
show: isShow,
|
|
1659
1748
|
containerClassName: "Tooltip"
|
|
1660
1749
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1661
1750
|
ref: modalRef,
|
|
1662
|
-
id: "tooltip__wrapper-".concat(idRes),
|
|
1663
|
-
className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.combinedCls)('tooltip__wrapper', wrapperClassName, 'active'),
|
|
1751
|
+
id: "cus-tooltip__wrapper-".concat(idRes),
|
|
1752
|
+
className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_5__.combinedCls)('cus-tooltip__wrapper', wrapperClassName, 'active'),
|
|
1664
1753
|
role: "tooltip",
|
|
1665
1754
|
"data-microtip-position": direction || 'top',
|
|
1666
1755
|
"data-microtip-size": size || 'auto',
|
|
1667
|
-
style: {
|
|
1756
|
+
style: _objectSpread({
|
|
1668
1757
|
left: position.x,
|
|
1669
1758
|
top: position.y,
|
|
1670
1759
|
display: 'none'
|
|
1671
|
-
}
|
|
1760
|
+
}, popupArrowStyle),
|
|
1761
|
+
onMouseEnter: delayedClose || onContentMouseEnter ? function (e) {
|
|
1762
|
+
return handleWrapperMouseEnter(e);
|
|
1763
|
+
} : undefined,
|
|
1764
|
+
onMouseLeave: delayedClose || onContentMouseLeave ? function (e) {
|
|
1765
|
+
return handleWrapperMouseLeave(e);
|
|
1766
|
+
} : undefined
|
|
1672
1767
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
1673
|
-
className: "tooltip__content"
|
|
1768
|
+
className: "cus-tooltip__content",
|
|
1769
|
+
style: _objectSpread({}, popupContentStyle)
|
|
1674
1770
|
}, content))));
|
|
1675
|
-
};
|
|
1771
|
+
});
|
|
1676
1772
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Tooltip);
|
|
1677
1773
|
})();
|
|
1678
1774
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/* ======================================================
|
|
2
2
|
<!-- Cascading Select -->
|
|
3
3
|
/* ====================================================== */
|
|
4
|
-
.casc-
|
|
5
|
-
--casc-
|
|
6
|
-
--casc-
|
|
7
|
-
--casc-
|
|
8
|
-
--casc-
|
|
9
|
-
--casc-
|
|
10
|
-
}
|
|
11
|
-
.casc-
|
|
4
|
+
.casc-menu__wrapper {
|
|
5
|
+
--casc-menu-arrow-fill: #a5a5a5;
|
|
6
|
+
--casc-menu-result-arrow-fill: #a5a5a5;
|
|
7
|
+
--casc-menu-result-font-size: 1rem;
|
|
8
|
+
--casc-menu-result-padding-x: 0.75rem;
|
|
9
|
+
--casc-menu-result-padding-y: 0.375rem;
|
|
10
|
+
}
|
|
11
|
+
.casc-menu__wrapper .casc-menu__result {
|
|
12
12
|
position: absolute;
|
|
13
13
|
left: auto;
|
|
14
14
|
z-index: 1;
|
|
15
15
|
top: 0;
|
|
16
|
-
padding: var(--casc-
|
|
17
|
-
font-size: var(--casc-
|
|
16
|
+
padding: var(--casc-menu-result-padding-y) var(--casc-menu-result-padding-x);
|
|
17
|
+
font-size: var(--casc-menu-result-font-size);
|
|
18
18
|
font-weight: 400;
|
|
19
19
|
line-height: 1.5;
|
|
20
20
|
color: inherit;
|
|
@@ -26,20 +26,20 @@
|
|
|
26
26
|
/* required */
|
|
27
27
|
display: flex;
|
|
28
28
|
}
|
|
29
|
-
.casc-
|
|
29
|
+
.casc-menu__wrapper .casc-menu__result div {
|
|
30
30
|
/* required */
|
|
31
31
|
display: flex;
|
|
32
32
|
}
|
|
33
|
-
.casc-
|
|
33
|
+
.casc-menu__wrapper .casc-menu__result span {
|
|
34
34
|
padding: 3px;
|
|
35
35
|
}
|
|
36
|
-
.casc-
|
|
36
|
+
.casc-menu__wrapper .casc-menu__result svg {
|
|
37
37
|
margin: 0 0.3rem;
|
|
38
38
|
}
|
|
39
|
-
.casc-
|
|
40
|
-
fill: var(--casc-
|
|
39
|
+
.casc-menu__wrapper .casc-menu__result svg path {
|
|
40
|
+
fill: var(--casc-menu-result-arrow-fill);
|
|
41
41
|
}
|
|
42
|
-
.casc-
|
|
42
|
+
.casc-menu__wrapper .casc-menu__closemask {
|
|
43
43
|
position: absolute;
|
|
44
44
|
z-index: 1;
|
|
45
45
|
top: 0;
|
|
@@ -49,77 +49,81 @@
|
|
|
49
49
|
background: rgba(0, 0, 0, 0);
|
|
50
50
|
user-select: none;
|
|
51
51
|
}
|
|
52
|
-
.casc-
|
|
52
|
+
.casc-menu__wrapper .casc-menu__trigger {
|
|
53
53
|
position: relative;
|
|
54
54
|
z-index: 0;
|
|
55
55
|
}
|
|
56
|
-
.casc-
|
|
56
|
+
.casc-menu__wrapper .casc-menu__val {
|
|
57
57
|
position: relative;
|
|
58
58
|
}
|
|
59
|
-
.casc-
|
|
59
|
+
.casc-menu__wrapper .casc-menu__val:not(.inputable) input {
|
|
60
60
|
cursor: pointer;
|
|
61
61
|
color: transparent !important;
|
|
62
62
|
}
|
|
63
|
-
.casc-
|
|
63
|
+
.casc-menu__wrapper .casc-menu__val:not(.inputable) input:focus {
|
|
64
64
|
color: transparent !important;
|
|
65
65
|
}
|
|
66
|
-
.casc-
|
|
66
|
+
.casc-menu__wrapper .casc-menu__val .arrow {
|
|
67
67
|
position: absolute;
|
|
68
68
|
top: 50%;
|
|
69
69
|
transform: translateY(-50%);
|
|
70
70
|
right: 0.5rem;
|
|
71
71
|
}
|
|
72
|
-
.casc-
|
|
73
|
-
fill: var(--casc-
|
|
72
|
+
.casc-menu__wrapper .casc-menu__val .arrow svg .arrow-fill-g {
|
|
73
|
+
fill: var(--casc-menu-arrow-fill);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/*------ List ------*/
|
|
77
|
-
.casc-
|
|
78
|
-
--casc-
|
|
79
|
-
--casc-
|
|
80
|
-
--casc-
|
|
81
|
-
--casc-
|
|
82
|
-
--casc-
|
|
83
|
-
--casc-
|
|
84
|
-
--casc-
|
|
85
|
-
--casc-
|
|
86
|
-
--casc-
|
|
87
|
-
--casc-
|
|
88
|
-
--casc-
|
|
89
|
-
--casc-
|
|
90
|
-
--casc-
|
|
91
|
-
--casc-
|
|
92
|
-
--casc-
|
|
93
|
-
|
|
77
|
+
.casc-menu__items-wrapper {
|
|
78
|
+
--casc-menu-scrollbar-color: rgba(0, 0, 0, 0.2);
|
|
79
|
+
--casc-menu-scrollbar-track: rgba(0, 0, 0, 0);
|
|
80
|
+
--casc-menu-scrollbar-h: 3px;
|
|
81
|
+
--casc-menu-scrollbar-w: 3px;
|
|
82
|
+
--casc-menu-per-col-maxheight: 300px;
|
|
83
|
+
--casc-menu-opt-font-size: 0.875rem;
|
|
84
|
+
--casc-menu-opt-padding-x: .4rem;
|
|
85
|
+
--casc-menu-opt-padding-y: .3rem;
|
|
86
|
+
--casc-menu-opt-header-border-color: rgba(1, 1, 1, .2);
|
|
87
|
+
--casc-menu-opt-header-text-color: #999;
|
|
88
|
+
--casc-menu-opt-hover-bg: #f7f7f7;
|
|
89
|
+
--casc-menu-opt-active-bg: #eeeeee;
|
|
90
|
+
--casc-menu-items-box-shadow: 0 5px 15px 5px rgba(80, 102, 224, 0.08);
|
|
91
|
+
--casc-menu-items-bg: #fff;
|
|
92
|
+
--casc-menu-items-color: inherit;
|
|
93
|
+
--casc-menu-items-border-color: rgba(0, 0, 0, .1);
|
|
94
|
+
--casc-menu-items-li-border-color: #eee;
|
|
95
|
+
--casc-menu-loader-color: #000000;
|
|
96
|
+
--casc-menu-clean-btn-color: #b5b5b5;
|
|
97
|
+
--casc-menu-searchbox-border-color: #ddd;
|
|
98
|
+
box-shadow: var(--casc-menu-items-box-shadow);
|
|
94
99
|
position: absolute;
|
|
95
100
|
left: auto;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
background: var(--casc-select-items-bg);
|
|
101
|
+
border: 1px solid var(--casc-menu-items-border-color);
|
|
102
|
+
background: var(--casc-menu-items-bg);
|
|
99
103
|
padding: 10px;
|
|
100
|
-
overflow-y: auto;
|
|
101
104
|
box-sizing: border-box;
|
|
102
105
|
top: 2.3rem;
|
|
103
106
|
border-radius: 5px;
|
|
104
107
|
width: max-content;
|
|
105
108
|
/* required -> the content will not wrap at all even if it causes overflows*/
|
|
106
|
-
color: var(--casc-
|
|
109
|
+
color: var(--casc-menu-items-color);
|
|
107
110
|
display: none;
|
|
108
111
|
z-index: 1055; /* --bs-modal-zindex */
|
|
109
112
|
/* each item */
|
|
113
|
+
/* Column */
|
|
110
114
|
/* Searchbox */
|
|
111
115
|
/* Options */
|
|
112
116
|
}
|
|
113
|
-
.casc-
|
|
117
|
+
.casc-menu__items-wrapper.active {
|
|
114
118
|
display: block !important;
|
|
115
119
|
}
|
|
116
|
-
.casc-
|
|
117
|
-
.casc-
|
|
120
|
+
.casc-menu__items-wrapper ul,
|
|
121
|
+
.casc-menu__items-wrapper li {
|
|
118
122
|
list-style: none;
|
|
119
123
|
margin: 0;
|
|
120
124
|
padding: 0;
|
|
121
125
|
}
|
|
122
|
-
.casc-
|
|
126
|
+
.casc-menu__items-wrapper .casc-menu__items-loader {
|
|
123
127
|
position: absolute;
|
|
124
128
|
pointer-events: none;
|
|
125
129
|
left: 0;
|
|
@@ -131,98 +135,111 @@
|
|
|
131
135
|
text-align: center;
|
|
132
136
|
transform-origin: center;
|
|
133
137
|
transform: translate(2px, 5px) rotate(0);
|
|
134
|
-
animation: 1s linear infinite casc-
|
|
138
|
+
animation: 1s linear infinite casc-menu__spinner;
|
|
135
139
|
}
|
|
136
|
-
.casc-
|
|
140
|
+
.casc-menu__items-wrapper .casc-menu__items-loader svg {
|
|
137
141
|
vertical-align: top;
|
|
138
142
|
}
|
|
139
|
-
.casc-
|
|
140
|
-
fill: var(--casc-
|
|
143
|
+
.casc-menu__items-wrapper .casc-menu__items-loader svg path {
|
|
144
|
+
fill: var(--casc-menu-loader-color);
|
|
141
145
|
}
|
|
142
|
-
@keyframes casc-
|
|
146
|
+
@keyframes casc-menu__spinner {
|
|
143
147
|
to {
|
|
144
148
|
transform: translate(2px, 5px) rotate(-360deg);
|
|
145
149
|
}
|
|
146
150
|
}
|
|
147
|
-
.casc-
|
|
151
|
+
.casc-menu__items-wrapper .casc-menu__close svg {
|
|
148
152
|
opacity: 0.4;
|
|
149
153
|
}
|
|
150
|
-
.casc-
|
|
154
|
+
.casc-menu__items-wrapper .casc-menu__close:hover svg {
|
|
151
155
|
transition: 0.2s ease-out;
|
|
152
156
|
opacity: 0.7;
|
|
153
157
|
}
|
|
154
|
-
.casc-
|
|
158
|
+
.casc-menu__items-wrapper ul {
|
|
155
159
|
transition: 0.2s ease-out;
|
|
156
160
|
min-width: 8px;
|
|
157
161
|
min-height: 9px;
|
|
158
162
|
}
|
|
159
|
-
.casc-
|
|
163
|
+
.casc-menu__items-wrapper ul > li {
|
|
160
164
|
position: relative;
|
|
161
165
|
cursor: pointer;
|
|
162
166
|
float: left;
|
|
163
167
|
padding: 0 10px;
|
|
164
168
|
margin-right: 15px;
|
|
165
|
-
border-right: 1px dotted var(--casc-
|
|
169
|
+
border-right: 1px dotted var(--casc-menu-items-li-border-color);
|
|
166
170
|
transition: 0.2s ease-out;
|
|
167
171
|
}
|
|
168
|
-
.casc-
|
|
172
|
+
.casc-menu__items-wrapper ul > li.hide-col {
|
|
169
173
|
display: none;
|
|
170
174
|
}
|
|
171
|
-
.casc-
|
|
175
|
+
.casc-menu__items-wrapper ul > li:last-child {
|
|
172
176
|
margin-right: 0;
|
|
173
177
|
border-right: none;
|
|
174
178
|
}
|
|
175
|
-
.casc-
|
|
176
|
-
|
|
179
|
+
.casc-menu__items-wrapper .casc-menu__items-col {
|
|
180
|
+
max-height: var(--casc-menu-per-col-maxheight);
|
|
181
|
+
overflow-y: auto;
|
|
182
|
+
}
|
|
183
|
+
.casc-menu__items-wrapper .casc-menu__items-col::-webkit-scrollbar {
|
|
184
|
+
width: var(--casc-menu-scrollbar-w);
|
|
185
|
+
}
|
|
186
|
+
.casc-menu__items-wrapper .casc-menu__items-col::-webkit-scrollbar-thumb {
|
|
187
|
+
background: var(--casc-menu-scrollbar-color);
|
|
188
|
+
}
|
|
189
|
+
.casc-menu__items-wrapper .casc-menu__items-col::-webkit-scrollbar-track {
|
|
190
|
+
background: var(--casc-menu-scrollbar-track);
|
|
191
|
+
}
|
|
192
|
+
.casc-menu__items-wrapper .casc-menu__items-col-searchbox input {
|
|
193
|
+
border: 1px solid var(--casc-menu-searchbox-border-color);
|
|
177
194
|
border-radius: 0.15rem;
|
|
178
195
|
width: 100%;
|
|
179
196
|
background: transparent;
|
|
180
197
|
font-size: 0.75rem;
|
|
181
198
|
}
|
|
182
|
-
.casc-
|
|
183
|
-
padding: var(--casc-
|
|
184
|
-
font-size: var(--casc-
|
|
199
|
+
.casc-menu__items-wrapper .casc-menu__opt {
|
|
200
|
+
padding: var(--casc-menu-opt-padding-y) var(--casc-menu-opt-padding-x);
|
|
201
|
+
font-size: var(--casc-menu-opt-font-size);
|
|
185
202
|
border-radius: 2px;
|
|
186
203
|
}
|
|
187
|
-
.casc-
|
|
188
|
-
background: var(--casc-
|
|
204
|
+
.casc-menu__items-wrapper .casc-menu__opt:hover {
|
|
205
|
+
background: var(--casc-menu-opt-hover-bg);
|
|
189
206
|
}
|
|
190
|
-
.casc-
|
|
191
|
-
background: var(--casc-
|
|
207
|
+
.casc-menu__items-wrapper .casc-menu__opt.active {
|
|
208
|
+
background: var(--casc-menu-opt-active-bg);
|
|
192
209
|
}
|
|
193
|
-
.casc-
|
|
194
|
-
padding: var(--casc-
|
|
195
|
-
font-size: var(--casc-
|
|
196
|
-
border-bottom: 1px dotted var(--casc-
|
|
210
|
+
.casc-menu__items-wrapper .casc-menu__opt-header {
|
|
211
|
+
padding: var(--casc-menu-opt-padding-y) var(--casc-menu-opt-padding-x);
|
|
212
|
+
font-size: var(--casc-menu-opt-font-size);
|
|
213
|
+
border-bottom: 1px dotted var(--casc-menu-opt-header-border-color);
|
|
197
214
|
border-radius: 2px;
|
|
198
215
|
position: sticky;
|
|
199
|
-
top:
|
|
200
|
-
background: var(--casc-
|
|
201
|
-
color: var(--casc-
|
|
216
|
+
top: 0;
|
|
217
|
+
background: var(--casc-menu-items-bg);
|
|
218
|
+
color: var(--casc-menu-opt-header-text-color);
|
|
202
219
|
display: flex;
|
|
203
220
|
align-items: center;
|
|
204
221
|
}
|
|
205
|
-
.casc-
|
|
222
|
+
.casc-menu__items-wrapper .casc-menu__opt-header > span {
|
|
206
223
|
cursor: default;
|
|
207
224
|
}
|
|
208
|
-
.casc-
|
|
209
|
-
background: var(--casc-
|
|
225
|
+
.casc-menu__items-wrapper .casc-menu__opt-header:hover {
|
|
226
|
+
background: var(--casc-menu-opt-hover-bg);
|
|
210
227
|
}
|
|
211
|
-
.casc-
|
|
212
|
-
background: var(--casc-
|
|
228
|
+
.casc-menu__items-wrapper .casc-menu__opt-header.active {
|
|
229
|
+
background: var(--casc-menu-opt-active-bg);
|
|
213
230
|
}
|
|
214
|
-
.casc-
|
|
231
|
+
.casc-menu__items-wrapper .casc-menu__opt-header .casc-menu__opt-header__clean {
|
|
215
232
|
display: inline-block;
|
|
216
233
|
margin-left: 0.2rem;
|
|
217
234
|
padding: 0.1rem;
|
|
218
235
|
}
|
|
219
|
-
.casc-
|
|
236
|
+
.casc-menu__items-wrapper .casc-menu__opt-header .casc-menu__opt-header__clean:hover {
|
|
220
237
|
transform: scale(1.1);
|
|
221
238
|
}
|
|
222
|
-
.casc-
|
|
223
|
-
border: 1px var(--casc-
|
|
239
|
+
.casc-menu__items-wrapper .casc-menu__opt-header .casc-menu__opt-header__clean svg {
|
|
240
|
+
border: 1px var(--casc-menu-clean-btn-color) solid;
|
|
224
241
|
border-radius: 50%;
|
|
225
242
|
}
|
|
226
|
-
.casc-
|
|
227
|
-
fill: var(--casc-
|
|
243
|
+
.casc-menu__items-wrapper .casc-menu__opt-header .casc-menu__opt-header__clean svg path {
|
|
244
|
+
fill: var(--casc-menu-clean-btn-color);
|
|
228
245
|
}
|