@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
71 lines (70 loc) • 2.02 kB
JavaScript
;
"use client";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _reactHotToast = require("react-hot-toast");
var _ToastMessage = _interopRequireDefault(require("./ToastMessage"));
const ToastRoot = ({
dataTest,
id: wrapperId,
topOffset = 8,
leftOffset = 8,
rightOffset = 8,
bottomOffset = 8,
gutter = 8,
dismissTimeout = 5000,
placement = "top-center"
}) => {
const {
toasts,
handlers
} = (0, _reactHotToast.useToaster)({
duration: dismissTimeout
});
const {
startPause,
endPause,
calculateOffset
} = handlers;
return /*#__PURE__*/React.createElement("div", {
"data-test": dataTest,
id: wrapperId,
className: (0, _clsx.default)("z-onTop pointer-events-none fixed", "bottom-[var(--toast-root-bottom)] end-[var(--toast-root-end)] start-[var(--toast-root-start)] top-[var(--toast-root-top)]"),
style: {
"--toast-root-top": `${topOffset}px`,
"--toast-root-bottom": `${bottomOffset}px`,
"--toast-root-start": `${leftOffset}px`,
"--toast-root-end": `${rightOffset}px`
}
}, toasts.map(toast => {
const {
id,
message,
ariaProps,
visible,
icon
} = toast;
const offset = calculateOffset(toast, {
gutter
});
return /*#__PURE__*/React.createElement(_ToastMessage.default, {
key: id,
id: id,
dismissTimeout: dismissTimeout,
visible: visible,
icon: icon,
offset: offset,
onMouseEnter: startPause,
onMouseLeave: endPause,
placement: placement,
onDismiss: _reactHotToast.toast.dismiss,
ariaLive: ariaProps["aria-live"]
}, message);
}));
};
var _default = ToastRoot;
exports.default = _default;