UNPKG

notistack-v2-maintained

Version:

Highly customizable notification snackbars (toasts) that can be stacked on top of each other

74 lines (73 loc) 2.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isDefined = exports.transformer = exports.REASONS = exports.omitContainerKeys = exports.originKeyExtractor = exports.capitalise = exports.DEFAULTS = exports.SNACKBAR_INDENTS = exports.allClasses = void 0; exports.objectMerge = objectMerge; const Slide_1 = __importDefault(require("@mui/material/Slide")); exports.allClasses = { mui: { root: {}, anchorOriginTopCenter: {}, anchorOriginBottomCenter: {}, anchorOriginTopRight: {}, anchorOriginBottomRight: {}, anchorOriginTopLeft: {}, anchorOriginBottomLeft: {} }, container: { containerRoot: {}, containerAnchorOriginTopCenter: {}, containerAnchorOriginBottomCenter: {}, containerAnchorOriginTopRight: {}, containerAnchorOriginBottomRight: {}, containerAnchorOriginTopLeft: {}, containerAnchorOriginBottomLeft: {} } }; exports.SNACKBAR_INDENTS = { view: { default: 20, dense: 4 }, snackbar: { default: 6, dense: 2 } }; exports.DEFAULTS = { maxSnack: 3, dense: false, hideIconVariant: false, variant: "default", autoHideDuration: 5000, anchorOrigin: { vertical: "bottom", horizontal: "left" }, TransitionComponent: Slide_1.default, transitionDuration: { enter: 225, exit: 195 } }; const capitalise = (text) => text.charAt(0).toUpperCase() + text.slice(1); exports.capitalise = capitalise; const originKeyExtractor = (anchor) => `${(0, exports.capitalise)(anchor.vertical)}${(0, exports.capitalise)(anchor.horizontal)}`; exports.originKeyExtractor = originKeyExtractor; /** * Omit SnackbarContainer class keys that are not needed for SnackbarItem */ const omitContainerKeys = (classes) => Object.keys(classes) .filter((key) => !exports.allClasses.container[key]) .reduce((obj, key) => (Object.assign(Object.assign({}, obj), { [key]: classes[key] })), {}); exports.omitContainerKeys = omitContainerKeys; exports.REASONS = { TIMEOUT: "timeout", CLICKAWAY: "clickaway", MAXSNACK: "maxsnack", INSTRUCTED: "instructed" }; /** Tranforms classes name */ exports.transformer = { toContainerAnchorOrigin: (origin) => `containerAnchorOrigin${origin}`, toAnchorOrigin: ({ vertical, horizontal }) => `anchorOrigin${(0, exports.capitalise)(vertical)}${(0, exports.capitalise)(horizontal)}`, toVariant: (variant) => `variant${(0, exports.capitalise)(variant)}` }; const isDefined = (value) => !!value || value === 0; exports.isDefined = isDefined; function objectMerge(options = {}, props = {}, defaults = {}) { return Object.assign(Object.assign(Object.assign({}, defaults), props), options); }