@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
54 lines (53 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getPropsFromTooltipProp = getPropsFromTooltipProp;
exports.getTargetElement = getTargetElement;
exports.injectTooltipSemantic = injectTooltipSemantic;
exports.tooltipDefaultProps = exports.isTouch = void 0;
var _react = require("react");
var _clsx = require("clsx");
function injectTooltipSemantic(params) {
params.tabIndex = '0';
params.className = (0, _clsx.clsx)('dnb-tooltip__wrapper', 'dnb-tab-focus', params.className);
return params;
}
const tooltipDefaultProps = exports.tooltipDefaultProps = {
size: 'default',
placement: 'top',
arrow: 'center',
fixedPosition: false,
noAnimation: false,
showDelay: 300,
hideDelay: 500,
triggerOffset: 16
};
function getTargetElement(target) {
if (typeof document !== 'undefined') {
return typeof target === 'string' ? typeof document !== 'undefined' && document.querySelector(target) : target;
}
return undefined;
}
function getPropsFromTooltipProp(localProps) {
const {
tooltip
} = localProps;
if (!tooltip) {
return null;
}
if ((0, _react.isValidElement)(tooltip)) {
const type = tooltip.type;
if (type?.isTooltipComponent) {
return tooltip.props;
}
}
return {
children: tooltip
};
}
const isTouch = type => {
return /touch/i.test(type);
};
exports.isTouch = isTouch;
//# sourceMappingURL=TooltipHelpers.js.map