@kloudlite/design-system
Version:
A design system for building ambitious products.
73 lines (69 loc) • 4.29 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// components/molecule/toast.tsx
var toast_exports = {};
__export(toast_exports, {
ToastContainer: () => ToastContainer,
toast: () => toast
});
module.exports = __toCommonJS(toast_exports);
var import_react_toastify = require("react-toastify");
// components/icons.tsx
var import_react = require("@jengaicons/react");
var import_jsx_runtime = require("react/jsx-runtime");
// components/molecule/toast.tsx
var import_jsx_runtime2 = require("react/jsx-runtime");
var toast = {
info: import_react_toastify.toast.info,
success: import_react_toastify.toast.success,
error: import_react_toastify.toast.error,
warn: import_react_toastify.toast.warn,
isActive: import_react_toastify.toast.isActive,
update: import_react_toastify.toast.update
};
var classes = {
info: "kl-bg-surface-basic-default dark:kl-bg-surface-darktheme-basic-default kl-text-text-default dark:kl-text-text-darktheme-default kl-bodyMd kl-border-border-disabled dark:kl-border-border-darktheme-disabled",
error: "kl-bg-surface-basic-default dark:kl-bg-surface-darktheme-basic-default kl-text-text-default dark:kl-text-text-darktheme-default kl-bodyMd kl-border-border-disabled dark:kl-border-border-darktheme-disabled",
success: "kl-bg-surface-basic-default dark:kl-bg-surface-darktheme-basic-default kl-text-text-default dark:kl-text-text-darktheme-default kl-bodyMd kl-border-border-disabled dark:kl-border-border-darktheme-disabled",
warning: "kl-bg-surface-basic-default dark:kl-bg-surface-darktheme-basic-default kl-text-text-default dark:kl-text-text-darktheme-default kl-bodyMd kl-border-border-disabled dark:kl-border-border-darktheme-disabled",
default: "kl-bg-surface-basic-default dark:kl-bg-surface-darktheme-basic-default kl-text-text-default dark:kl-text-text-darktheme-default kl-bodyMd kl-border-border-disabled dark:kl-border-border-darktheme-disabled"
};
var icons = {
info: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react.Info, { size: 14 }),
error: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react.WarningCircle, { size: 14 }),
success: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react.CheckCircle, { size: 14 }),
warning: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react.Warning, { size: 14 }),
default: null
};
var CloseButton = () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "kl-text-text-default dark:kl-text-text-darktheme-default hover:kl-text-text-default/50 dark:kl-hover:text-text-darktheme-default/50 kl-h-[24px] kl-flex kl-items-center", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react.X, { color: "currentColor", size: 12 }) });
var ToastContainer = ({ autoClose, position }) => {
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
import_react_toastify.ToastContainer,
{
toastClassName: ({ type }) => `kl-z-[9999999999] kl-shadow-popover kl-relative kl-flex kl-items-start kl-gap-xl kl-p-xl kl-mb-xl kl-rounded-md kl-justify-between kl-overflow-hidden kl-cursor-pointer kl-border
${classes[type || "default"]}`,
bodyClassName: () => "kl-text-text-default dark:kl-text-text-darktheme-default kl-py-sm kl-bodyMd-medium kl-flex kl-flex-row kl-items-center [&>*]:!kl-w-auto [&>*]:kl-break-all [&>*]:kl-whitespace-break-spaces",
hideProgressBar: true,
icon: ({ type }) => icons[type],
closeButton: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CloseButton, {}),
position: position || "top-right",
autoClose
}
);
};