react-snackbar-glass 1.1.0 → 1.2.0
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/CHANGELOG.md +16 -0
- package/README.md +32 -2
- package/dist/index.cjs +71 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +112 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +34 -2
- package/dist/index.d.ts +34 -2
- package/dist/index.js +71 -3
- package/dist/index.js.map +1 -1
- package/dist/styles.css +112 -0
- package/package.json +1 -1
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles.css"],"sourcesContent":["/* react-snackbar-glass — design tokens + component styles */\n.prs-root {\n --prs-font:\n \"Inter var\", Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\",\n Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --prs-radius: 18px;\n --prs-width: 384px;\n --prs-offset: 20px;\n --prs-gap: 12px;\n --prs-z-index: 2147483000;\n\n --prs-surface: rgba(255, 255, 255, 0.9);\n --prs-fg: #0f172a;\n --prs-muted: #5b6472;\n --prs-border: rgba(15, 23, 42, 0.1);\n --prs-border-strong: rgba(15, 23, 42, 0.18);\n --prs-shadow-color: rgba(15, 23, 42, 0.3);\n --prs-inner: rgba(255, 255, 255, 0.7);\n --prs-icon-sheen: rgba(255, 255, 255, 0.6);\n --prs-track: rgba(15, 23, 42, 0.07);\n --prs-blur: blur(22px) saturate(1.55);\n\n --prs-shadow:\n 0 1px 2px -1px var(--prs-shadow-color),\n 0 10px 22px -14px var(--prs-shadow-color),\n 0 24px 56px -28px var(--prs-shadow-color);\n --prs-shadow-hover:\n 0 1px 2px -1px var(--prs-shadow-color),\n 0 14px 28px -14px var(--prs-shadow-color),\n 0 34px 70px -30px var(--prs-shadow-color);\n --prs-ease-spring: cubic-bezier(0.2, 1.12, 0.3, 1);\n --prs-ease-out: cubic-bezier(0.22, 1, 0.36, 1);\n\n position: fixed;\n inset: 0;\n z-index: var(--prs-z-index);\n pointer-events: none;\n font-family: var(--prs-font);\n color-scheme: light;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n.prs-root[data-prs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n.prs-root[data-prs-theme=\"auto\"] {\n color-scheme: light dark;\n}\n\n@supports (color: light-dark(#000, #fff)) {\n .prs-root {\n --prs-surface: light-dark(rgba(255, 255, 255, 0.9), rgba(22, 24, 32, 0.82));\n --prs-fg: light-dark(#0f172a, #f4f6fb);\n --prs-muted: light-dark(#5b6472, #a7aebc);\n --prs-border: light-dark(rgba(15, 23, 42, 0.1), rgba(255, 255, 255, 0.1));\n --prs-border-strong: light-dark(\n rgba(15, 23, 42, 0.18),\n rgba(255, 255, 255, 0.18)\n );\n --prs-shadow-color: light-dark(\n rgba(15, 23, 42, 0.3),\n rgba(0, 0, 0, 0.66)\n );\n --prs-inner: light-dark(\n rgba(255, 255, 255, 0.7),\n rgba(255, 255, 255, 0.055)\n );\n --prs-icon-sheen: light-dark(\n rgba(255, 255, 255, 0.6),\n rgba(255, 255, 255, 0.07)\n );\n --prs-track: light-dark(\n rgba(15, 23, 42, 0.07),\n rgba(255, 255, 255, 0.1)\n );\n }\n}\n\n/* ---------------------------------------------------------------- regions */\n\n.prs-region {\n position: absolute;\n display: flex;\n flex-direction: column;\n gap: var(--prs-gap);\n box-sizing: border-box;\n width: min(calc(var(--prs-width) * 1.16 + var(--prs-offset) * 2), 100%);\n padding: var(--prs-offset);\n pointer-events: none;\n}\n\n.prs-region[data-position^=\"top\"] {\n top: 0;\n padding-top: calc(var(--prs-offset) + env(safe-area-inset-top, 0px));\n --prs-enter-y: -14px;\n}\n\n.prs-region[data-position^=\"bottom\"] {\n bottom: 0;\n padding-bottom: calc(var(--prs-offset) + env(safe-area-inset-bottom, 0px));\n --prs-enter-y: 14px;\n}\n\n.prs-region[data-position$=\"left\"] {\n left: 0;\n align-items: flex-start;\n}\n\n.prs-region[data-position$=\"right\"] {\n right: 0;\n align-items: flex-end;\n}\n\n.prs-region[data-position$=\"center\"] {\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n\n/* ------------------------------------------------------------------ item */\n\n.prs-item {\n --prs-item-width: var(--prs-width);\n --prs-pad-top: 14px;\n --prs-pad-right: 12px;\n --prs-pad-bottom: 15px;\n --prs-pad-left: 14px;\n --prs-col-gap: 12px;\n --prs-icon-size: 34px;\n --prs-icon-radius: 11px;\n --prs-glyph-size: 18px;\n --prs-title-size: 13.5px;\n --prs-message-size: 13px;\n --prs-lead-size: 13.5px;\n --prs-action-size: 12px;\n --prs-action-pad-y: 5px;\n --prs-action-pad-x: 11px;\n --prs-close-size: 26px;\n --prs-close-icon: 14px;\n\n position: relative;\n width: var(--prs-item-width);\n max-width: 100%;\n pointer-events: auto;\n transform-origin: bottom center;\n animation: prs-in 440ms var(--prs-ease-spring) both;\n will-change: transform, opacity;\n}\n\n.prs-item[data-size=\"xs\"] {\n --prs-item-width: calc(var(--prs-width) * 0.72);\n --prs-radius: 14px;\n --prs-pad-top: 10px;\n --prs-pad-right: 9px;\n --prs-pad-bottom: 12px;\n --prs-pad-left: 10px;\n --prs-col-gap: 9px;\n --prs-icon-size: 28px;\n --prs-icon-radius: 9px;\n --prs-glyph-size: 16px;\n --prs-title-size: 12.5px;\n --prs-message-size: 11.5px;\n --prs-lead-size: 12px;\n --prs-action-size: 10.5px;\n --prs-action-pad-y: 4px;\n --prs-action-pad-x: 8px;\n --prs-close-size: 22px;\n --prs-close-icon: 12px;\n}\n\n.prs-item[data-size=\"sm\"] {\n --prs-item-width: calc(var(--prs-width) * 0.86);\n --prs-radius: 16px;\n --prs-pad-top: 12px;\n --prs-pad-right: 10px;\n --prs-pad-bottom: 13px;\n --prs-pad-left: 12px;\n --prs-col-gap: 10px;\n --prs-icon-size: 31px;\n --prs-icon-radius: 10px;\n --prs-glyph-size: 17px;\n --prs-title-size: 13px;\n --prs-message-size: 12px;\n --prs-lead-size: 12.5px;\n --prs-action-size: 11px;\n --prs-action-pad-y: 4px;\n --prs-action-pad-x: 9px;\n --prs-close-size: 24px;\n --prs-close-icon: 13px;\n}\n\n.prs-item[data-size=\"lg\"] {\n --prs-item-width: calc(var(--prs-width) * 1.16);\n --prs-radius: 20px;\n --prs-pad-top: 16px;\n --prs-pad-right: 14px;\n --prs-pad-bottom: 17px;\n --prs-pad-left: 16px;\n --prs-col-gap: 13px;\n --prs-icon-size: 38px;\n --prs-icon-radius: 12px;\n --prs-glyph-size: 20px;\n --prs-title-size: 14.5px;\n --prs-message-size: 13.5px;\n --prs-lead-size: 14px;\n --prs-action-size: 12.5px;\n --prs-action-pad-y: 6px;\n --prs-action-pad-x: 12px;\n --prs-close-size: 28px;\n --prs-close-icon: 15px;\n}\n\n.prs-item[data-position^=\"top\"] {\n transform-origin: top center;\n}\n\n.prs-item[data-state=\"exiting\"] {\n pointer-events: none;\n animation: prs-out 190ms cubic-bezier(0.4, 0, 1, 1) both;\n}\n\n.prs-item[data-dragging=\"true\"] {\n user-select: none;\n -webkit-user-select: none;\n}\n\n.prs-item__surface {\n position: relative;\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--prs-col-gap);\n box-sizing: border-box;\n width: 100%;\n padding: var(--prs-pad-top) var(--prs-pad-right) var(--prs-pad-bottom)\n var(--prs-pad-left);\n overflow: hidden;\n isolation: isolate;\n border: 1px solid var(--prs-border);\n border-radius: var(--prs-radius);\n background:\n radial-gradient(\n 130% 160% at 0% 0%,\n var(--prs-accent-soft, transparent),\n transparent 54%\n ),\n linear-gradient(180deg, var(--prs-inner), transparent 44%),\n var(--prs-surface);\n box-shadow: var(--prs-shadow), inset 0 1px 0 var(--prs-inner);\n color: var(--prs-fg);\n -webkit-backdrop-filter: var(--prs-blur);\n backdrop-filter: var(--prs-blur);\n transform: translate3d(var(--prs-drag-x, 0), 0, 0);\n opacity: var(--prs-drag-opacity, 1);\n transition:\n transform 260ms var(--prs-ease-out),\n opacity 160ms ease,\n border-color 180ms ease,\n box-shadow 180ms ease;\n touch-action: pan-y;\n}\n\n/* Fine film grain keeps large glass surfaces from feeling flat. */\n.prs-item__surface::before {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 0;\n border-radius: inherit;\n pointer-events: none;\n opacity: 0.045;\n mix-blend-mode: soft-light;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E\");\n}\n\n.prs-item[data-dragging=\"true\"] .prs-item__surface {\n transition: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n .prs-item__surface:hover {\n border-color: var(--prs-accent-ring, var(--prs-border-strong));\n box-shadow: var(--prs-shadow-hover), inset 0 1px 0 var(--prs-inner);\n }\n}\n\n.prs-item[data-has-icon=\"false\"] .prs-item__surface {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n\n.prs-item[data-dismissible=\"false\"][data-has-icon=\"true\"] .prs-item__surface {\n grid-template-columns: auto minmax(0, 1fr);\n}\n\n.prs-item[data-dismissible=\"false\"][data-has-icon=\"false\"] .prs-item__surface {\n grid-template-columns: minmax(0, 1fr);\n}\n\n/* -------------------------------------------------------------- accent map */\n\n.prs-item {\n --prs-accent-light: #475569;\n --prs-accent-dark: #cbd5e1;\n --prs-accent: var(--prs-accent-light);\n --prs-solid: var(--prs-accent-light);\n --prs-accent-soft: rgba(71, 85, 105, 0.12);\n --prs-accent-ring: rgba(71, 85, 105, 0.28);\n}\n\n@supports (color: light-dark(#000, #fff)) {\n .prs-item {\n --prs-accent: light-dark(var(--prs-accent-light), var(--prs-accent-dark));\n }\n}\n\n@supports (color: color-mix(in srgb, red, blue)) {\n .prs-item {\n --prs-accent-soft: color-mix(\n in srgb,\n var(--prs-accent) 13%,\n transparent\n );\n --prs-accent-ring: color-mix(\n in srgb,\n var(--prs-accent) 30%,\n transparent\n );\n }\n}\n\n.prs-item[data-variant=\"success\"] {\n --prs-accent-light: #087a55;\n --prs-accent-dark: #34d399;\n}\n\n.prs-item[data-variant=\"error\"] {\n --prs-accent-light: #b42318;\n --prs-accent-dark: #f87171;\n}\n\n.prs-item[data-variant=\"warning\"] {\n --prs-accent-light: #9a4e00;\n --prs-accent-dark: #fbbf24;\n}\n\n.prs-item[data-variant=\"info\"] {\n --prs-accent-light: #1d4ed8;\n --prs-accent-dark: #60a5fa;\n}\n\n.prs-item[data-variant=\"loading\"],\n.prs-item[data-variant=\"custom\"] {\n --prs-accent-light: #6d28d9;\n --prs-accent-dark: #a78bfa;\n}\n\n/* ------------------------------------------------------------------ icon */\n\n.prs-item__icon {\n position: relative;\n z-index: 1;\n display: grid;\n place-items: center;\n width: var(--prs-icon-size);\n height: var(--prs-icon-size);\n margin-top: -1px;\n border-radius: var(--prs-icon-radius);\n color: var(--prs-accent);\n background:\n linear-gradient(180deg, var(--prs-icon-sheen), transparent 70%),\n var(--prs-accent-soft);\n box-shadow:\n inset 0 0 0 1px var(--prs-accent-ring),\n inset 0 1px 0 var(--prs-icon-sheen);\n animation: prs-icon-in 540ms var(--prs-ease-spring) both 30ms;\n}\n\n.prs-item__icon svg {\n display: block;\n width: var(--prs-glyph-size);\n height: var(--prs-glyph-size);\n}\n\n.prs-icon-spin {\n animation: prs-spin 900ms linear infinite;\n transform-origin: center;\n}\n\n/* --------------------------------------------------------------- content */\n\n.prs-item__content {\n position: relative;\n z-index: 1;\n min-width: 0;\n padding-top: 1px;\n}\n\n.prs-item__title {\n color: var(--prs-fg);\n font-size: var(--prs-title-size);\n font-weight: 650;\n line-height: 1.35;\n letter-spacing: -0.012em;\n overflow-wrap: anywhere;\n}\n\n.prs-item__message {\n color: var(--prs-muted);\n font-size: var(--prs-message-size);\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: -0.004em;\n overflow-wrap: anywhere;\n}\n\n.prs-item__title + .prs-item__message {\n margin-top: 2px;\n}\n\n.prs-item__content[data-has-title=\"false\"] .prs-item__message {\n color: var(--prs-fg);\n font-size: var(--prs-lead-size);\n font-weight: 500;\n letter-spacing: -0.006em;\n}\n\n.prs-item__message a {\n color: var(--prs-accent);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 2px;\n}\n\n.prs-item__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 9px;\n}\n\n.prs-action {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n appearance: none;\n margin: 0;\n padding: var(--prs-action-pad-y) var(--prs-action-pad-x);\n border: 1px solid var(--prs-accent-ring);\n border-radius: 999px;\n background: var(--prs-accent-soft);\n color: var(--prs-accent);\n font-family: inherit;\n font-size: var(--prs-action-size);\n font-weight: 650;\n line-height: 1.35;\n letter-spacing: 0.004em;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition:\n background 160ms ease,\n border-color 160ms ease,\n color 160ms ease,\n transform 160ms ease;\n}\n\n.prs-action:hover {\n background: var(--prs-accent-ring);\n}\n\n.prs-action:active {\n transform: scale(0.965);\n}\n\n.prs-action:disabled {\n cursor: progress;\n opacity: 0.72;\n}\n\n.prs-action:focus-visible {\n outline: 2px solid var(--prs-accent);\n outline-offset: 2px;\n}\n\n.prs-action__spinner {\n width: 11px;\n height: 11px;\n border: 1.5px solid var(--prs-accent-ring);\n border-top-color: var(--prs-accent);\n border-radius: 999px;\n animation: prs-spin 700ms linear infinite;\n}\n\n/* ----------------------------------------------------------------- close */\n\n.prs-close {\n position: relative;\n z-index: 1;\n display: grid;\n place-items: center;\n width: var(--prs-close-size);\n height: var(--prs-close-size);\n margin: -3px -3px 0 0;\n padding: 0;\n border: 0;\n border-radius: 8px;\n background: transparent;\n color: var(--prs-muted);\n line-height: 0;\n cursor: pointer;\n opacity: 0.72;\n -webkit-tap-highlight-color: transparent;\n transition:\n background 150ms ease,\n color 150ms ease,\n opacity 150ms ease;\n}\n\n.prs-close svg {\n width: var(--prs-close-icon);\n height: var(--prs-close-icon);\n pointer-events: none;\n}\n\n.prs-close:hover {\n background: var(--prs-track);\n color: var(--prs-fg);\n opacity: 1;\n}\n\n.prs-close:focus-visible {\n outline: 2px solid var(--prs-accent);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* -------------------------------------------------------------- progress */\n\n.prs-progress {\n position: absolute;\n right: 12px;\n bottom: 6px;\n left: 12px;\n z-index: 1;\n height: 2px;\n overflow: hidden;\n border-radius: 999px;\n background: var(--prs-track);\n pointer-events: none;\n transition: opacity 140ms ease;\n}\n\n.prs-progress__bar {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n background: linear-gradient(\n 90deg,\n var(--prs-accent),\n color-mix(in srgb, var(--prs-accent) 45%, white)\n );\n transform-origin: left center;\n animation-name: prs-progress;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n}\n\n.prs-item[data-paused=\"true\"] .prs-progress__bar {\n animation-play-state: paused;\n}\n\n.prs-item[data-state=\"exiting\"] .prs-progress {\n opacity: 0;\n}\n\n[dir=\"rtl\"] .prs-progress__bar {\n transform-origin: right center;\n}\n\n/* ------------------------------------------------------------ solid tone */\n\n.prs-item[data-tone=\"solid\"] .prs-item__surface {\n --prs-fg: #fff;\n --prs-muted: rgba(255, 255, 255, 0.78);\n border-color: color-mix(in srgb, var(--prs-solid) 55%, #000);\n background:\n radial-gradient(\n 140% 200% at 0% 0%,\n rgba(255, 255, 255, 0.2),\n transparent 58%\n ),\n linear-gradient(\n 135deg,\n var(--prs-solid),\n color-mix(in srgb, var(--prs-solid) 72%, #000)\n );\n box-shadow:\n 0 1px 0 rgba(255, 255, 255, 0.24) inset,\n 0 12px 28px -14px color-mix(in srgb, var(--prs-solid) 55%, transparent),\n 0 26px 60px -28px var(--prs-shadow-color);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-item__icon {\n color: #fff;\n background: rgba(255, 255, 255, 0.16);\n box-shadow:\n inset 0 0 0 1px rgba(255, 255, 255, 0.22),\n inset 0 1px 0 rgba(255, 255, 255, 0.26);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-close {\n color: rgba(255, 255, 255, 0.82);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-close:hover {\n background: rgba(255, 255, 255, 0.16);\n color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action {\n border-color: rgba(255, 255, 255, 0.24);\n background: rgba(255, 255, 255, 0.16);\n color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action:hover {\n background: rgba(255, 255, 255, 0.24);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action:focus-visible {\n outline-color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-progress {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-progress__bar {\n background: rgba(255, 255, 255, 0.92);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-item__message a {\n color: #fff;\n}\n\n/* ------------------------------------------------------------- keyframes */\n\n@keyframes prs-in {\n 0% {\n opacity: 0;\n transform: translate3d(0, var(--prs-enter-y, 14px), 0) scale(0.94);\n filter: blur(5px);\n }\n 55% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n transform: none;\n filter: blur(0);\n }\n}\n\n@keyframes prs-out {\n 0% {\n opacity: 1;\n transform: none;\n filter: blur(0);\n }\n 100% {\n opacity: 0;\n transform: translate3d(0, calc(var(--prs-enter-y, 10px) * 0.55), 0)\n scale(0.965);\n filter: blur(2px);\n }\n}\n\n@keyframes prs-icon-in {\n 0% {\n opacity: 0;\n transform: scale(0.55) rotate(-10deg);\n }\n 100% {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n}\n\n@keyframes prs-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes prs-progress {\n from {\n transform: scaleX(1);\n }\n to {\n transform: scaleX(0);\n }\n}\n\n/* ---------------------------------------------------------- reduced motion */\n\n@media (prefers-reduced-motion: reduce) {\n .prs-item,\n .prs-item[data-state=\"exiting\"] {\n animation-duration: 0.01ms !important;\n }\n\n .prs-item__surface {\n transition-duration: 0.01ms !important;\n }\n\n .prs-item__icon {\n animation: none !important;\n }\n\n .prs-icon-spin {\n animation: none !important;\n opacity: 0.7;\n }\n\n .prs-progress__bar {\n animation: none !important;\n transform: scaleX(1);\n opacity: 0.55;\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles.css"],"sourcesContent":["/* react-snackbar-glass — design tokens + component styles */\n.prs-root {\n --prs-font:\n \"Inter var\", Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\",\n Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --prs-radius: 18px;\n --prs-width: 384px;\n --prs-offset: 20px;\n --prs-gap: 12px;\n --prs-z-index: 2147483000;\n\n --prs-surface: rgba(255, 255, 255, 0.9);\n --prs-fg: #0f172a;\n --prs-muted: #5b6472;\n --prs-border: rgba(15, 23, 42, 0.1);\n --prs-border-strong: rgba(15, 23, 42, 0.18);\n --prs-shadow-color: rgba(15, 23, 42, 0.3);\n --prs-inner: rgba(255, 255, 255, 0.7);\n --prs-icon-sheen: rgba(255, 255, 255, 0.6);\n --prs-track: rgba(15, 23, 42, 0.07);\n --prs-blur: blur(22px) saturate(1.55);\n\n --prs-shadow:\n 0 1px 2px -1px var(--prs-shadow-color),\n 0 10px 22px -14px var(--prs-shadow-color),\n 0 24px 56px -28px var(--prs-shadow-color);\n --prs-shadow-hover:\n 0 1px 2px -1px var(--prs-shadow-color),\n 0 14px 28px -14px var(--prs-shadow-color),\n 0 34px 70px -30px var(--prs-shadow-color);\n --prs-ease-spring: cubic-bezier(0.2, 1.12, 0.3, 1);\n --prs-ease-out: cubic-bezier(0.22, 1, 0.36, 1);\n\n position: fixed;\n inset: 0;\n z-index: var(--prs-z-index);\n pointer-events: none;\n font-family: var(--prs-font);\n color-scheme: light;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\n.prs-root[data-prs-theme=\"dark\"] {\n color-scheme: dark;\n}\n\n.prs-root[data-prs-theme=\"auto\"] {\n color-scheme: light dark;\n}\n\n@supports (color: light-dark(#000, #fff)) {\n .prs-root {\n --prs-surface: light-dark(rgba(255, 255, 255, 0.9), rgba(22, 24, 32, 0.82));\n --prs-fg: light-dark(#0f172a, #f4f6fb);\n --prs-muted: light-dark(#5b6472, #a7aebc);\n --prs-border: light-dark(rgba(15, 23, 42, 0.1), rgba(255, 255, 255, 0.1));\n --prs-border-strong: light-dark(\n rgba(15, 23, 42, 0.18),\n rgba(255, 255, 255, 0.18)\n );\n --prs-shadow-color: light-dark(\n rgba(15, 23, 42, 0.3),\n rgba(0, 0, 0, 0.66)\n );\n --prs-inner: light-dark(\n rgba(255, 255, 255, 0.7),\n rgba(255, 255, 255, 0.055)\n );\n --prs-icon-sheen: light-dark(\n rgba(255, 255, 255, 0.6),\n rgba(255, 255, 255, 0.07)\n );\n --prs-track: light-dark(\n rgba(15, 23, 42, 0.07),\n rgba(255, 255, 255, 0.1)\n );\n }\n}\n\n/* ---------------------------------------------------------------- regions */\n\n.prs-region {\n position: absolute;\n display: flex;\n flex-direction: column;\n gap: var(--prs-gap);\n box-sizing: border-box;\n width: min(calc(var(--prs-width) * 1.16 + var(--prs-offset) * 2), 100%);\n padding: var(--prs-offset);\n pointer-events: none;\n}\n\n.prs-region[data-position^=\"top\"] {\n top: 0;\n padding-top: calc(var(--prs-offset) + env(safe-area-inset-top, 0px));\n --prs-enter-y: -14px;\n}\n\n.prs-region[data-position^=\"bottom\"] {\n bottom: 0;\n padding-bottom: calc(var(--prs-offset) + env(safe-area-inset-bottom, 0px));\n --prs-enter-y: 14px;\n}\n\n.prs-region[data-position$=\"left\"] {\n left: 0;\n align-items: flex-start;\n}\n\n.prs-region[data-position$=\"right\"] {\n right: 0;\n align-items: flex-end;\n}\n\n.prs-region[data-position$=\"center\"] {\n left: 50%;\n transform: translateX(-50%);\n align-items: center;\n}\n\n/* ------------------------------------------------------------------ item */\n\n.prs-item {\n --prs-item-width: var(--prs-width);\n --prs-pad-top: 14px;\n --prs-pad-right: 12px;\n --prs-pad-bottom: 15px;\n --prs-pad-left: 14px;\n --prs-col-gap: 12px;\n --prs-icon-size: 34px;\n --prs-icon-radius: 11px;\n --prs-glyph-size: 18px;\n --prs-title-size: 13.5px;\n --prs-message-size: 13px;\n --prs-lead-size: 13.5px;\n --prs-action-size: 12px;\n --prs-action-pad-y: 5px;\n --prs-action-pad-x: 11px;\n --prs-close-size: 26px;\n --prs-close-icon: 14px;\n\n position: relative;\n width: var(--prs-item-width);\n max-width: 100%;\n pointer-events: auto;\n transform-origin: bottom center;\n animation: prs-in 440ms var(--prs-ease-spring) both;\n will-change: transform, opacity;\n}\n\n.prs-item[data-size=\"xs\"] {\n --prs-item-width: calc(var(--prs-width) * 0.72);\n --prs-radius: 14px;\n --prs-pad-top: 10px;\n --prs-pad-right: 9px;\n --prs-pad-bottom: 12px;\n --prs-pad-left: 10px;\n --prs-col-gap: 9px;\n --prs-icon-size: 28px;\n --prs-icon-radius: 9px;\n --prs-glyph-size: 16px;\n --prs-title-size: 12.5px;\n --prs-message-size: 11.5px;\n --prs-lead-size: 12px;\n --prs-action-size: 10.5px;\n --prs-action-pad-y: 4px;\n --prs-action-pad-x: 8px;\n --prs-close-size: 22px;\n --prs-close-icon: 12px;\n}\n\n.prs-item[data-size=\"sm\"] {\n --prs-item-width: calc(var(--prs-width) * 0.86);\n --prs-radius: 16px;\n --prs-pad-top: 12px;\n --prs-pad-right: 10px;\n --prs-pad-bottom: 13px;\n --prs-pad-left: 12px;\n --prs-col-gap: 10px;\n --prs-icon-size: 31px;\n --prs-icon-radius: 10px;\n --prs-glyph-size: 17px;\n --prs-title-size: 13px;\n --prs-message-size: 12px;\n --prs-lead-size: 12.5px;\n --prs-action-size: 11px;\n --prs-action-pad-y: 4px;\n --prs-action-pad-x: 9px;\n --prs-close-size: 24px;\n --prs-close-icon: 13px;\n}\n\n.prs-item[data-size=\"lg\"] {\n --prs-item-width: calc(var(--prs-width) * 1.16);\n --prs-radius: 20px;\n --prs-pad-top: 16px;\n --prs-pad-right: 14px;\n --prs-pad-bottom: 17px;\n --prs-pad-left: 16px;\n --prs-col-gap: 13px;\n --prs-icon-size: 38px;\n --prs-icon-radius: 12px;\n --prs-glyph-size: 20px;\n --prs-title-size: 14.5px;\n --prs-message-size: 13.5px;\n --prs-lead-size: 14px;\n --prs-action-size: 12.5px;\n --prs-action-pad-y: 6px;\n --prs-action-pad-x: 12px;\n --prs-close-size: 28px;\n --prs-close-icon: 15px;\n}\n\n.prs-item[data-position^=\"top\"] {\n transform-origin: top center;\n}\n\n.prs-item[data-state=\"exiting\"] {\n pointer-events: none;\n animation: prs-out 190ms cubic-bezier(0.4, 0, 1, 1) both;\n}\n\n.prs-item[data-dragging=\"true\"] {\n user-select: none;\n -webkit-user-select: none;\n}\n\n.prs-item__surface {\n position: relative;\n display: grid;\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: start;\n column-gap: var(--prs-col-gap);\n box-sizing: border-box;\n width: 100%;\n padding: var(--prs-pad-top) var(--prs-pad-right) var(--prs-pad-bottom)\n var(--prs-pad-left);\n overflow: hidden;\n isolation: isolate;\n border: 1px solid var(--prs-border);\n border-radius: var(--prs-radius);\n background:\n radial-gradient(\n 130% 160% at 0% 0%,\n var(--prs-accent-soft, transparent),\n transparent 54%\n ),\n linear-gradient(180deg, var(--prs-inner), transparent 44%),\n var(--prs-surface);\n box-shadow: var(--prs-shadow), inset 0 1px 0 var(--prs-inner);\n color: var(--prs-fg);\n -webkit-backdrop-filter: var(--prs-blur);\n backdrop-filter: var(--prs-blur);\n transform: translate3d(var(--prs-drag-x, 0), 0, 0);\n opacity: var(--prs-drag-opacity, 1);\n transition:\n transform 260ms var(--prs-ease-out),\n opacity 160ms ease,\n border-color 180ms ease,\n box-shadow 180ms ease;\n touch-action: pan-y;\n}\n\n/* Fine film grain keeps large glass surfaces from feeling flat. */\n.prs-item__surface::before {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 0;\n border-radius: inherit;\n pointer-events: none;\n opacity: 0.045;\n mix-blend-mode: soft-light;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E\");\n}\n\n.prs-item[data-dragging=\"true\"] .prs-item__surface {\n transition: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n .prs-item__surface:hover {\n border-color: var(--prs-accent-ring, var(--prs-border-strong));\n box-shadow: var(--prs-shadow-hover), inset 0 1px 0 var(--prs-inner);\n }\n}\n\n.prs-item[data-has-icon=\"false\"] .prs-item__surface {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n\n.prs-item[data-dismissible=\"false\"][data-has-icon=\"true\"] .prs-item__surface {\n grid-template-columns: auto minmax(0, 1fr);\n}\n\n.prs-item[data-dismissible=\"false\"][data-has-icon=\"false\"] .prs-item__surface {\n grid-template-columns: minmax(0, 1fr);\n}\n\n/* -------------------------------------------------------------- accent map */\n\n.prs-item {\n --prs-accent-light: #475569;\n --prs-accent-dark: #cbd5e1;\n --prs-accent: var(--prs-accent-light);\n --prs-solid: var(--prs-accent-light);\n --prs-accent-soft: rgba(71, 85, 105, 0.12);\n --prs-accent-ring: rgba(71, 85, 105, 0.28);\n}\n\n@supports (color: light-dark(#000, #fff)) {\n .prs-item {\n --prs-accent: light-dark(var(--prs-accent-light), var(--prs-accent-dark));\n }\n}\n\n@supports (color: color-mix(in srgb, red, blue)) {\n .prs-item {\n --prs-accent-soft: color-mix(\n in srgb,\n var(--prs-accent) 13%,\n transparent\n );\n --prs-accent-ring: color-mix(\n in srgb,\n var(--prs-accent) 30%,\n transparent\n );\n }\n}\n\n.prs-item[data-variant=\"success\"] {\n --prs-accent-light: #087a55;\n --prs-accent-dark: #34d399;\n}\n\n.prs-item[data-variant=\"error\"] {\n --prs-accent-light: #b42318;\n --prs-accent-dark: #f87171;\n}\n\n.prs-item[data-variant=\"warning\"] {\n --prs-accent-light: #9a4e00;\n --prs-accent-dark: #fbbf24;\n}\n\n.prs-item[data-variant=\"info\"] {\n --prs-accent-light: #1d4ed8;\n --prs-accent-dark: #60a5fa;\n}\n\n.prs-item[data-variant=\"loading\"],\n.prs-item[data-variant=\"custom\"] {\n --prs-accent-light: #6d28d9;\n --prs-accent-dark: #a78bfa;\n}\n\n/* ------------------------------------------------------------------ icon */\n\n.prs-item__icon {\n position: relative;\n z-index: 1;\n display: grid;\n place-items: center;\n width: var(--prs-icon-size);\n height: var(--prs-icon-size);\n margin-top: -1px;\n border-radius: var(--prs-icon-radius);\n color: var(--prs-accent);\n background:\n linear-gradient(180deg, var(--prs-icon-sheen), transparent 70%),\n var(--prs-accent-soft);\n box-shadow:\n inset 0 0 0 1px var(--prs-accent-ring),\n inset 0 1px 0 var(--prs-icon-sheen);\n animation: prs-icon-in 540ms var(--prs-ease-spring) both 30ms;\n}\n\n.prs-item__icon svg {\n display: block;\n width: var(--prs-glyph-size);\n height: var(--prs-glyph-size);\n}\n\n.prs-icon-spin {\n animation: prs-spin 900ms linear infinite;\n transform-origin: center;\n}\n\n/* --------------------------------------------------------------- content */\n\n.prs-item__content {\n position: relative;\n z-index: 1;\n min-width: 0;\n padding-top: 1px;\n}\n\n.prs-item__title {\n color: var(--prs-fg);\n font-size: var(--prs-title-size);\n font-weight: 650;\n line-height: 1.35;\n letter-spacing: -0.012em;\n overflow-wrap: anywhere;\n}\n\n.prs-item__message {\n color: var(--prs-muted);\n font-size: var(--prs-message-size);\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: -0.004em;\n overflow-wrap: anywhere;\n}\n\n.prs-item__title + .prs-item__message {\n margin-top: 2px;\n}\n\n.prs-item__content[data-has-title=\"false\"] .prs-item__message {\n color: var(--prs-fg);\n font-size: var(--prs-lead-size);\n font-weight: 500;\n letter-spacing: -0.006em;\n}\n\n.prs-item__message a {\n color: var(--prs-accent);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 2px;\n}\n\n.prs-item__actions {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 9px;\n}\n\n.prs-action {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n appearance: none;\n margin: 0;\n padding: var(--prs-action-pad-y) var(--prs-action-pad-x);\n border: 1px solid var(--prs-accent-ring);\n border-radius: 999px;\n background: var(--prs-accent-soft);\n color: var(--prs-accent);\n font-family: inherit;\n font-size: var(--prs-action-size);\n font-weight: 650;\n line-height: 1.35;\n letter-spacing: 0.004em;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n transition:\n background 160ms ease,\n border-color 160ms ease,\n color 160ms ease,\n transform 160ms ease;\n}\n\n.prs-action:hover {\n background: var(--prs-accent-ring);\n}\n\n.prs-action:active {\n transform: scale(0.965);\n}\n\n.prs-action:disabled {\n cursor: progress;\n opacity: 0.72;\n}\n\n.prs-action:focus-visible {\n outline: 2px solid var(--prs-accent);\n outline-offset: 2px;\n}\n\n.prs-action__spinner {\n width: 11px;\n height: 11px;\n border: 1.5px solid var(--prs-accent-ring);\n border-top-color: var(--prs-accent);\n border-radius: 999px;\n animation: prs-spin 700ms linear infinite;\n}\n\n/* ----------------------------------------------------------------- close */\n\n.prs-close {\n position: relative;\n z-index: 1;\n display: grid;\n place-items: center;\n width: var(--prs-close-size);\n height: var(--prs-close-size);\n margin: -3px -3px 0 0;\n padding: 0;\n border: 0;\n border-radius: 8px;\n background: transparent;\n color: var(--prs-muted);\n line-height: 0;\n cursor: pointer;\n opacity: 0.72;\n -webkit-tap-highlight-color: transparent;\n transition:\n background 150ms ease,\n color 150ms ease,\n opacity 150ms ease;\n}\n\n.prs-close svg {\n width: var(--prs-close-icon);\n height: var(--prs-close-icon);\n pointer-events: none;\n}\n\n.prs-close:hover {\n background: var(--prs-track);\n color: var(--prs-fg);\n opacity: 1;\n}\n\n.prs-close:focus-visible {\n outline: 2px solid var(--prs-accent);\n outline-offset: 1px;\n opacity: 1;\n}\n\n/* -------------------------------------------------------------- progress */\n\n.prs-progress {\n position: absolute;\n right: 12px;\n bottom: 6px;\n left: 12px;\n z-index: 1;\n height: 2px;\n overflow: hidden;\n border-radius: 999px;\n background: var(--prs-track);\n pointer-events: none;\n transition: opacity 140ms ease;\n}\n\n.prs-progress__bar {\n display: block;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n background: linear-gradient(\n 90deg,\n var(--prs-accent),\n color-mix(in srgb, var(--prs-accent) 45%, white)\n );\n transform-origin: left center;\n animation-name: prs-progress;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n}\n\n.prs-item[data-paused=\"true\"] .prs-progress__bar {\n animation-play-state: paused;\n}\n\n.prs-item[data-state=\"exiting\"] .prs-progress {\n opacity: 0;\n}\n\n[dir=\"rtl\"] .prs-progress__bar {\n transform-origin: right center;\n}\n\n/* ------------------------------------------------------------ solid tone */\n\n.prs-item[data-tone=\"solid\"] .prs-item__surface {\n --prs-fg: #fff;\n --prs-muted: rgba(255, 255, 255, 0.78);\n border-color: color-mix(in srgb, var(--prs-solid) 55%, #000);\n background:\n radial-gradient(\n 140% 200% at 0% 0%,\n rgba(255, 255, 255, 0.2),\n transparent 58%\n ),\n linear-gradient(\n 135deg,\n var(--prs-solid),\n color-mix(in srgb, var(--prs-solid) 72%, #000)\n );\n box-shadow:\n 0 1px 0 rgba(255, 255, 255, 0.24) inset,\n 0 12px 28px -14px color-mix(in srgb, var(--prs-solid) 55%, transparent),\n 0 26px 60px -28px var(--prs-shadow-color);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-item__icon {\n color: #fff;\n background: rgba(255, 255, 255, 0.16);\n box-shadow:\n inset 0 0 0 1px rgba(255, 255, 255, 0.22),\n inset 0 1px 0 rgba(255, 255, 255, 0.26);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-close {\n color: rgba(255, 255, 255, 0.82);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-close:hover {\n background: rgba(255, 255, 255, 0.16);\n color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action {\n border-color: rgba(255, 255, 255, 0.24);\n background: rgba(255, 255, 255, 0.16);\n color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action:hover {\n background: rgba(255, 255, 255, 0.24);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-action:focus-visible {\n outline-color: #fff;\n}\n\n.prs-item[data-tone=\"solid\"] .prs-progress {\n background: rgba(255, 255, 255, 0.18);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-progress__bar {\n background: rgba(255, 255, 255, 0.92);\n}\n\n.prs-item[data-tone=\"solid\"] .prs-item__message a {\n color: #fff;\n}\n\n/* ------------------------------------------------------------- keyframes */\n\n@keyframes prs-in {\n 0% {\n opacity: 0;\n transform: translate3d(0, var(--prs-enter-y, 14px), 0) scale(0.94);\n filter: blur(5px);\n }\n 55% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n transform: none;\n filter: blur(0);\n }\n}\n\n@keyframes prs-out {\n 0% {\n opacity: 1;\n transform: none;\n filter: blur(0);\n }\n 100% {\n opacity: 0;\n transform: translate3d(0, calc(var(--prs-enter-y, 10px) * 0.55), 0)\n scale(0.965);\n filter: blur(2px);\n }\n}\n\n@keyframes prs-icon-in {\n 0% {\n opacity: 0;\n transform: scale(0.55) rotate(-10deg);\n }\n 100% {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n}\n\n@keyframes prs-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes prs-progress {\n from {\n transform: scaleX(1);\n }\n to {\n transform: scaleX(0);\n }\n}\n\n/* ---------------------------------------------------------- reduced motion */\n\n@media (prefers-reduced-motion: reduce) {\n .prs-item,\n .prs-item[data-state=\"exiting\"] {\n animation-duration: 0.01ms !important;\n }\n\n .prs-item__surface {\n transition-duration: 0.01ms !important;\n }\n\n .prs-item__icon {\n animation: none !important;\n }\n\n .prs-icon-spin {\n animation: none !important;\n opacity: 0.7;\n }\n\n .prs-progress__bar {\n animation: none !important;\n transform: scaleX(1);\n opacity: 0.55;\n }\n}\n\n/* --------------------------------------------------------------- compact */\n/* Single-line pill: same card, far less vertical and horizontal space. */\n.prs-item[data-compact=\"true\"] {\n --prs-item-width: auto;\n max-width: var(--prs-width);\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__surface {\n align-items: center;\n column-gap: 8px;\n padding: 7px 8px 7px 10px;\n border-radius: 999px;\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__icon {\n --prs-icon-size: 20px;\n --prs-glyph-size: 12px;\n --prs-icon-radius: 999px;\n margin-top: 0;\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__content {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n padding-top: 0;\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__title {\n display: none;\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__message,\n.prs-item[data-compact=\"true\"]\n .prs-item__content[data-has-title=\"false\"]\n .prs-item__message {\n max-width: 46ch;\n overflow: hidden;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1.35;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.prs-item[data-compact=\"true\"] .prs-item__actions {\n flex-shrink: 0;\n margin-top: 0;\n}\n\n.prs-item[data-compact=\"true\"] .prs-action {\n padding: 3px 9px;\n font-size: 11.5px;\n}\n\n.prs-item[data-compact=\"true\"] .prs-close {\n --prs-close-size: 22px;\n --prs-close-icon: 11px;\n margin: 0;\n}\n\n/* -------------------------------------------------------------- minimized */\n/* The whole stack collapses into one summary pill; click to expand. */\n.prs-region--minimized {\n width: auto;\n padding: var(--prs-offset);\n}\n\n.prs-minimized {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n appearance: none;\n margin: 0;\n padding: 8px 15px 8px 12px;\n border: 1px solid var(--prs-border);\n border-radius: 999px;\n background: var(--prs-surface);\n color: var(--prs-fg);\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 560;\n letter-spacing: -0.005em;\n cursor: pointer;\n pointer-events: auto;\n box-shadow: var(--prs-shadow), inset 0 1px 0 var(--prs-inner);\n -webkit-backdrop-filter: var(--prs-blur);\n backdrop-filter: var(--prs-blur);\n animation: prs-minimized-in 220ms var(--prs-ease-out);\n transition:\n border-color 160ms ease,\n box-shadow 160ms ease,\n transform 160ms ease;\n}\n\n.prs-minimized:hover {\n border-color: var(--prs-accent-ring);\n box-shadow: var(--prs-shadow), 0 0 0 3px var(--prs-accent-soft);\n}\n\n.prs-minimized:active {\n transform: scale(0.97);\n}\n\n.prs-minimized:focus-visible {\n outline: 2px solid var(--prs-accent);\n outline-offset: 2px;\n}\n\n.prs-minimized__dot {\n width: 7px;\n height: 7px;\n border-radius: 999px;\n background: var(--prs-accent);\n box-shadow: 0 0 0 3px var(--prs-accent-soft);\n}\n\n@keyframes prs-minimized-in {\n from {\n opacity: 0;\n transform: translate3d(0, 6px, 0) scale(0.96);\n }\n to {\n opacity: 1;\n transform: translate3d(0, 0, 0) scale(1);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .prs-minimized {\n animation: none;\n }\n}\r\n"],"mappings":"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","names":[]}
|
package/dist/index.d.cts
CHANGED
|
@@ -59,6 +59,12 @@ interface SnackbarOptions {
|
|
|
59
59
|
dismissible?: boolean;
|
|
60
60
|
/** Show the countdown hairline. @default true */
|
|
61
61
|
progress?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Single-line pill: no title, no countdown hairline and tighter padding.
|
|
64
|
+
* Ideal for high-frequency, low-stakes messages.
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
compact?: boolean;
|
|
62
68
|
/** @default 'glass' */
|
|
63
69
|
tone?: SnackbarTone;
|
|
64
70
|
/** @default 'md' */
|
|
@@ -84,6 +90,7 @@ interface SnackbarRecord {
|
|
|
84
90
|
readonly action: SnackbarAction | null;
|
|
85
91
|
readonly dismissible: boolean;
|
|
86
92
|
readonly progress: boolean;
|
|
93
|
+
readonly compact: boolean;
|
|
87
94
|
readonly className: string | undefined;
|
|
88
95
|
readonly style: CSSProperties | undefined;
|
|
89
96
|
readonly createdAt: number;
|
|
@@ -102,6 +109,8 @@ interface SnackbarStoreConfig {
|
|
|
102
109
|
dismissible?: boolean;
|
|
103
110
|
/** @default true */
|
|
104
111
|
progress?: boolean;
|
|
112
|
+
/** Default `compact` value for new snackbars. @default false */
|
|
113
|
+
compact?: boolean;
|
|
105
114
|
/** @default 'glass' */
|
|
106
115
|
tone?: SnackbarTone;
|
|
107
116
|
/** Default size for new snackbars. @default 'md' */
|
|
@@ -114,6 +123,7 @@ interface ResolvedSnackbarStoreConfig {
|
|
|
114
123
|
duration: number;
|
|
115
124
|
dismissible: boolean;
|
|
116
125
|
progress: boolean;
|
|
126
|
+
compact: boolean;
|
|
117
127
|
tone: SnackbarTone;
|
|
118
128
|
size: SnackbarSize;
|
|
119
129
|
maxVisible: number;
|
|
@@ -145,6 +155,11 @@ interface SnackbarStore {
|
|
|
145
155
|
/** Internal-ish lifecycle hook, called by the viewport after the exit animation. */
|
|
146
156
|
notifyExited(id: string): void;
|
|
147
157
|
setPageHidden(hidden: boolean): void;
|
|
158
|
+
/** Whether the stack is collapsed into a single summary pill. */
|
|
159
|
+
getMinimized(): boolean;
|
|
160
|
+
getServerMinimized(): boolean;
|
|
161
|
+
/** Collapse (`true`) or expand (`false`) the visible stack. */
|
|
162
|
+
setMinimized(minimized: boolean): void;
|
|
148
163
|
}
|
|
149
164
|
type SnackbarPresetOptions = Omit<SnackbarOptions, 'message' | 'variant'>;
|
|
150
165
|
interface SnackbarApi {
|
|
@@ -161,6 +176,11 @@ interface SnackbarApi {
|
|
|
161
176
|
loading(message: ReactNode, options?: SnackbarPresetOptions): string;
|
|
162
177
|
custom(message: ReactNode, options?: SnackbarPresetOptions): string;
|
|
163
178
|
promise<T>(promise: Promise<T>, messages: SnackbarPromiseOptions<T>, options?: SnackbarOptions): Promise<T>;
|
|
179
|
+
/** Collapse the visible stack into one summary pill. */
|
|
180
|
+
minimize(): void;
|
|
181
|
+
/** Restore the full stack after `minimize()`. */
|
|
182
|
+
expand(): void;
|
|
183
|
+
isMinimized(): boolean;
|
|
164
184
|
/** Escape hatch for scheduling, subscribing or advanced updates. */
|
|
165
185
|
store: SnackbarStore;
|
|
166
186
|
}
|
|
@@ -188,6 +208,11 @@ interface ToastApi {
|
|
|
188
208
|
loading(message: ReactNode, options?: ToastPresetOptions): string;
|
|
189
209
|
custom(message: ReactNode, options?: ToastPresetOptions): string;
|
|
190
210
|
promise<T>(promise: Promise<T>, messages: SnackbarPromiseOptions<T>, options?: SnackbarOptions): Promise<T>;
|
|
211
|
+
/** Collapse the visible stack into one summary pill. */
|
|
212
|
+
minimize(): void;
|
|
213
|
+
/** Restore the full stack after `minimize()`. */
|
|
214
|
+
expand(): void;
|
|
215
|
+
isMinimized(): boolean;
|
|
191
216
|
/** The store behind the global API (same instance the provider renders). */
|
|
192
217
|
readonly store: SnackbarStore;
|
|
193
218
|
}
|
|
@@ -218,6 +243,11 @@ interface SnackbarHostProps {
|
|
|
218
243
|
closeLabel?: string;
|
|
219
244
|
/** Accessible label for each notification region. @default 'Notifications' */
|
|
220
245
|
regionLabel?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Text shown on the collapsed pill. Defaults to
|
|
248
|
+
* `"1 notification"` / `"3 notifications"`.
|
|
249
|
+
*/
|
|
250
|
+
minimizedLabel?: (count: number) => ReactNode;
|
|
221
251
|
className?: string;
|
|
222
252
|
style?: CSSProperties;
|
|
223
253
|
/** @default 2147483000 */
|
|
@@ -237,6 +267,8 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
|
|
|
237
267
|
dismissible?: boolean;
|
|
238
268
|
/** @default true */
|
|
239
269
|
progress?: boolean;
|
|
270
|
+
/** Render every snackbar as a single-line pill. @default false */
|
|
271
|
+
compact?: boolean;
|
|
240
272
|
/** @default 'glass' */
|
|
241
273
|
tone?: SnackbarTone;
|
|
242
274
|
/** Default size for new snackbars. @default 'md' */
|
|
@@ -259,9 +291,9 @@ declare function getDefaultStore(): SnackbarStore;
|
|
|
259
291
|
*/
|
|
260
292
|
declare function setDefaultStore(store: SnackbarStore | null): void;
|
|
261
293
|
|
|
262
|
-
declare function SnackbarHost({ store, maxVisible, offset, gap, width, theme, container, pauseOnHover, pauseOnFocus, pauseOnDocumentHidden, swipeToDismiss, swipeThreshold, icons, closeIcon, closeLabel, regionLabel, className, style, zIndex, dir, }: SnackbarHostProps): react.ReactPortal | null;
|
|
294
|
+
declare function SnackbarHost({ store, maxVisible, offset, gap, width, theme, container, pauseOnHover, pauseOnFocus, pauseOnDocumentHidden, swipeToDismiss, swipeThreshold, icons, closeIcon, closeLabel, regionLabel, minimizedLabel, className, style, zIndex, dir, }: SnackbarHostProps): react.ReactPortal | null;
|
|
263
295
|
|
|
264
|
-
declare function SnackbarProvider({ children, store: providedStore, position, duration, dismissible, progress, tone, size, maxVisible, ...hostProps }: SnackbarProviderProps): react.JSX.Element;
|
|
296
|
+
declare function SnackbarProvider({ children, store: providedStore, position, duration, dismissible, progress, compact, tone, size, maxVisible, ...hostProps }: SnackbarProviderProps): react.JSX.Element;
|
|
265
297
|
/** Imperative API for showing and managing snackbars. */
|
|
266
298
|
declare function useSnackbar(): SnackbarApi;
|
|
267
299
|
/** Low-level store access for subscriptions and advanced integrations. */
|
package/dist/index.d.ts
CHANGED
|
@@ -59,6 +59,12 @@ interface SnackbarOptions {
|
|
|
59
59
|
dismissible?: boolean;
|
|
60
60
|
/** Show the countdown hairline. @default true */
|
|
61
61
|
progress?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Single-line pill: no title, no countdown hairline and tighter padding.
|
|
64
|
+
* Ideal for high-frequency, low-stakes messages.
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
compact?: boolean;
|
|
62
68
|
/** @default 'glass' */
|
|
63
69
|
tone?: SnackbarTone;
|
|
64
70
|
/** @default 'md' */
|
|
@@ -84,6 +90,7 @@ interface SnackbarRecord {
|
|
|
84
90
|
readonly action: SnackbarAction | null;
|
|
85
91
|
readonly dismissible: boolean;
|
|
86
92
|
readonly progress: boolean;
|
|
93
|
+
readonly compact: boolean;
|
|
87
94
|
readonly className: string | undefined;
|
|
88
95
|
readonly style: CSSProperties | undefined;
|
|
89
96
|
readonly createdAt: number;
|
|
@@ -102,6 +109,8 @@ interface SnackbarStoreConfig {
|
|
|
102
109
|
dismissible?: boolean;
|
|
103
110
|
/** @default true */
|
|
104
111
|
progress?: boolean;
|
|
112
|
+
/** Default `compact` value for new snackbars. @default false */
|
|
113
|
+
compact?: boolean;
|
|
105
114
|
/** @default 'glass' */
|
|
106
115
|
tone?: SnackbarTone;
|
|
107
116
|
/** Default size for new snackbars. @default 'md' */
|
|
@@ -114,6 +123,7 @@ interface ResolvedSnackbarStoreConfig {
|
|
|
114
123
|
duration: number;
|
|
115
124
|
dismissible: boolean;
|
|
116
125
|
progress: boolean;
|
|
126
|
+
compact: boolean;
|
|
117
127
|
tone: SnackbarTone;
|
|
118
128
|
size: SnackbarSize;
|
|
119
129
|
maxVisible: number;
|
|
@@ -145,6 +155,11 @@ interface SnackbarStore {
|
|
|
145
155
|
/** Internal-ish lifecycle hook, called by the viewport after the exit animation. */
|
|
146
156
|
notifyExited(id: string): void;
|
|
147
157
|
setPageHidden(hidden: boolean): void;
|
|
158
|
+
/** Whether the stack is collapsed into a single summary pill. */
|
|
159
|
+
getMinimized(): boolean;
|
|
160
|
+
getServerMinimized(): boolean;
|
|
161
|
+
/** Collapse (`true`) or expand (`false`) the visible stack. */
|
|
162
|
+
setMinimized(minimized: boolean): void;
|
|
148
163
|
}
|
|
149
164
|
type SnackbarPresetOptions = Omit<SnackbarOptions, 'message' | 'variant'>;
|
|
150
165
|
interface SnackbarApi {
|
|
@@ -161,6 +176,11 @@ interface SnackbarApi {
|
|
|
161
176
|
loading(message: ReactNode, options?: SnackbarPresetOptions): string;
|
|
162
177
|
custom(message: ReactNode, options?: SnackbarPresetOptions): string;
|
|
163
178
|
promise<T>(promise: Promise<T>, messages: SnackbarPromiseOptions<T>, options?: SnackbarOptions): Promise<T>;
|
|
179
|
+
/** Collapse the visible stack into one summary pill. */
|
|
180
|
+
minimize(): void;
|
|
181
|
+
/** Restore the full stack after `minimize()`. */
|
|
182
|
+
expand(): void;
|
|
183
|
+
isMinimized(): boolean;
|
|
164
184
|
/** Escape hatch for scheduling, subscribing or advanced updates. */
|
|
165
185
|
store: SnackbarStore;
|
|
166
186
|
}
|
|
@@ -188,6 +208,11 @@ interface ToastApi {
|
|
|
188
208
|
loading(message: ReactNode, options?: ToastPresetOptions): string;
|
|
189
209
|
custom(message: ReactNode, options?: ToastPresetOptions): string;
|
|
190
210
|
promise<T>(promise: Promise<T>, messages: SnackbarPromiseOptions<T>, options?: SnackbarOptions): Promise<T>;
|
|
211
|
+
/** Collapse the visible stack into one summary pill. */
|
|
212
|
+
minimize(): void;
|
|
213
|
+
/** Restore the full stack after `minimize()`. */
|
|
214
|
+
expand(): void;
|
|
215
|
+
isMinimized(): boolean;
|
|
191
216
|
/** The store behind the global API (same instance the provider renders). */
|
|
192
217
|
readonly store: SnackbarStore;
|
|
193
218
|
}
|
|
@@ -218,6 +243,11 @@ interface SnackbarHostProps {
|
|
|
218
243
|
closeLabel?: string;
|
|
219
244
|
/** Accessible label for each notification region. @default 'Notifications' */
|
|
220
245
|
regionLabel?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Text shown on the collapsed pill. Defaults to
|
|
248
|
+
* `"1 notification"` / `"3 notifications"`.
|
|
249
|
+
*/
|
|
250
|
+
minimizedLabel?: (count: number) => ReactNode;
|
|
221
251
|
className?: string;
|
|
222
252
|
style?: CSSProperties;
|
|
223
253
|
/** @default 2147483000 */
|
|
@@ -237,6 +267,8 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
|
|
|
237
267
|
dismissible?: boolean;
|
|
238
268
|
/** @default true */
|
|
239
269
|
progress?: boolean;
|
|
270
|
+
/** Render every snackbar as a single-line pill. @default false */
|
|
271
|
+
compact?: boolean;
|
|
240
272
|
/** @default 'glass' */
|
|
241
273
|
tone?: SnackbarTone;
|
|
242
274
|
/** Default size for new snackbars. @default 'md' */
|
|
@@ -259,9 +291,9 @@ declare function getDefaultStore(): SnackbarStore;
|
|
|
259
291
|
*/
|
|
260
292
|
declare function setDefaultStore(store: SnackbarStore | null): void;
|
|
261
293
|
|
|
262
|
-
declare function SnackbarHost({ store, maxVisible, offset, gap, width, theme, container, pauseOnHover, pauseOnFocus, pauseOnDocumentHidden, swipeToDismiss, swipeThreshold, icons, closeIcon, closeLabel, regionLabel, className, style, zIndex, dir, }: SnackbarHostProps): react.ReactPortal | null;
|
|
294
|
+
declare function SnackbarHost({ store, maxVisible, offset, gap, width, theme, container, pauseOnHover, pauseOnFocus, pauseOnDocumentHidden, swipeToDismiss, swipeThreshold, icons, closeIcon, closeLabel, regionLabel, minimizedLabel, className, style, zIndex, dir, }: SnackbarHostProps): react.ReactPortal | null;
|
|
263
295
|
|
|
264
|
-
declare function SnackbarProvider({ children, store: providedStore, position, duration, dismissible, progress, tone, size, maxVisible, ...hostProps }: SnackbarProviderProps): react.JSX.Element;
|
|
296
|
+
declare function SnackbarProvider({ children, store: providedStore, position, duration, dismissible, progress, compact, tone, size, maxVisible, ...hostProps }: SnackbarProviderProps): react.JSX.Element;
|
|
265
297
|
/** Imperative API for showing and managing snackbars. */
|
|
266
298
|
declare function useSnackbar(): SnackbarApi;
|
|
267
299
|
/** Low-level store access for subscriptions and advanced integrations. */
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ var DEFAULT_CONFIG = {
|
|
|
9
9
|
duration: 5e3,
|
|
10
10
|
dismissible: true,
|
|
11
11
|
progress: true,
|
|
12
|
+
compact: false,
|
|
12
13
|
tone: "glass",
|
|
13
14
|
size: "md",
|
|
14
15
|
maxVisible: 3
|
|
@@ -48,6 +49,7 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
48
49
|
} : null,
|
|
49
50
|
...initialConfig.dismissible !== void 0 ? { dismissible: initialConfig.dismissible } : null,
|
|
50
51
|
...initialConfig.progress !== void 0 ? { progress: initialConfig.progress } : null,
|
|
52
|
+
...initialConfig.compact !== void 0 ? { compact: initialConfig.compact } : null,
|
|
51
53
|
...initialConfig.tone !== void 0 ? { tone: initialConfig.tone } : null,
|
|
52
54
|
...initialConfig.size !== void 0 ? { size: initialConfig.size } : null,
|
|
53
55
|
...initialConfig.maxVisible !== void 0 ? { maxVisible: Math.max(1, Math.floor(initialConfig.maxVisible)) } : null
|
|
@@ -58,6 +60,7 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
58
60
|
const shown = /* @__PURE__ */ new Set();
|
|
59
61
|
const pauseReasons = /* @__PURE__ */ new Map();
|
|
60
62
|
let pageHidden = false;
|
|
63
|
+
let minimized = false;
|
|
61
64
|
const emit = () => {
|
|
62
65
|
for (const listener of listeners) listener();
|
|
63
66
|
};
|
|
@@ -231,6 +234,7 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
231
234
|
action: options.action ?? null,
|
|
232
235
|
dismissible: options.dismissible ?? config.dismissible,
|
|
233
236
|
progress: options.progress ?? config.progress,
|
|
237
|
+
compact: options.compact ?? config.compact,
|
|
234
238
|
className: options.className,
|
|
235
239
|
style: options.style,
|
|
236
240
|
createdAt: Date.now(),
|
|
@@ -259,6 +263,7 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
259
263
|
...options.action !== void 0 ? { action: options.action } : null,
|
|
260
264
|
...options.dismissible !== void 0 ? { dismissible: options.dismissible } : null,
|
|
261
265
|
...options.progress !== void 0 ? { progress: options.progress } : null,
|
|
266
|
+
...options.compact !== void 0 ? { compact: options.compact } : null,
|
|
262
267
|
...options.className !== void 0 ? { className: options.className } : null,
|
|
263
268
|
...options.style !== void 0 ? { style: options.style } : null,
|
|
264
269
|
...options.onOpen !== void 0 ? { onOpen: options.onOpen } : null,
|
|
@@ -316,6 +321,7 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
316
321
|
} : null,
|
|
317
322
|
...patch.dismissible !== void 0 ? { dismissible: patch.dismissible } : null,
|
|
318
323
|
...patch.progress !== void 0 ? { progress: patch.progress } : null,
|
|
324
|
+
...patch.compact !== void 0 ? { compact: patch.compact } : null,
|
|
319
325
|
...patch.tone !== void 0 ? { tone: patch.tone } : null,
|
|
320
326
|
...patch.size !== void 0 ? { size: patch.size } : null,
|
|
321
327
|
...patch.maxVisible !== void 0 ? { maxVisible: Math.max(1, Math.floor(patch.maxVisible)) } : null
|
|
@@ -370,7 +376,14 @@ function createSnackbarStore(initialConfig = {}) {
|
|
|
370
376
|
resume,
|
|
371
377
|
notifyShown,
|
|
372
378
|
notifyExited,
|
|
373
|
-
setPageHidden
|
|
379
|
+
setPageHidden,
|
|
380
|
+
getMinimized: () => minimized,
|
|
381
|
+
getServerMinimized: () => false,
|
|
382
|
+
setMinimized(next) {
|
|
383
|
+
if (minimized === next) return;
|
|
384
|
+
minimized = next;
|
|
385
|
+
emit();
|
|
386
|
+
}
|
|
374
387
|
};
|
|
375
388
|
}
|
|
376
389
|
|
|
@@ -615,7 +628,7 @@ function SnackbarItem({
|
|
|
615
628
|
};
|
|
616
629
|
const resolvedIcon = record.icon === void 0 ? icons?.[variant] ?? defaultIcons[variant] : record.icon;
|
|
617
630
|
const showIcon = record.icon !== false;
|
|
618
|
-
const showProgress = record.progress && Number.isFinite(duration) && duration > 0;
|
|
631
|
+
const showProgress = !record.compact && record.progress && Number.isFinite(duration) && duration > 0;
|
|
619
632
|
const style = {
|
|
620
633
|
...record.style,
|
|
621
634
|
"--prs-drag-x": `${dragX}px`,
|
|
@@ -635,6 +648,7 @@ function SnackbarItem({
|
|
|
635
648
|
"data-dragging": dragging ? "true" : "false",
|
|
636
649
|
"data-has-icon": showIcon ? "true" : "false",
|
|
637
650
|
"data-dismissible": record.dismissible ? "true" : "false",
|
|
651
|
+
"data-compact": record.compact ? "true" : "false",
|
|
638
652
|
"data-prs-id": record.id,
|
|
639
653
|
"data-position": record.position,
|
|
640
654
|
style,
|
|
@@ -734,6 +748,9 @@ var POSITIONS = [
|
|
|
734
748
|
"bottom-center",
|
|
735
749
|
"bottom-right"
|
|
736
750
|
];
|
|
751
|
+
function defaultMinimizedLabel(count) {
|
|
752
|
+
return `${count} notification${count === 1 ? "" : "s"}`;
|
|
753
|
+
}
|
|
737
754
|
function SnackbarHost({
|
|
738
755
|
store,
|
|
739
756
|
maxVisible = 3,
|
|
@@ -751,6 +768,7 @@ function SnackbarHost({
|
|
|
751
768
|
closeIcon,
|
|
752
769
|
closeLabel = "Dismiss notification",
|
|
753
770
|
regionLabel = "Notifications",
|
|
771
|
+
minimizedLabel = defaultMinimizedLabel,
|
|
754
772
|
className,
|
|
755
773
|
style,
|
|
756
774
|
zIndex = 2147483e3,
|
|
@@ -761,6 +779,11 @@ function SnackbarHost({
|
|
|
761
779
|
store.getSnapshot,
|
|
762
780
|
store.getServerSnapshot
|
|
763
781
|
);
|
|
782
|
+
const minimized = useSyncExternalStore(
|
|
783
|
+
store.subscribe,
|
|
784
|
+
store.getMinimized,
|
|
785
|
+
store.getServerMinimized
|
|
786
|
+
);
|
|
764
787
|
const [portalNode, setPortalNode] = useState(null);
|
|
765
788
|
const regionRefs = useRef(/* @__PURE__ */ new Map());
|
|
766
789
|
const topsRef = useRef(/* @__PURE__ */ new Map());
|
|
@@ -824,6 +847,7 @@ function SnackbarHost({
|
|
|
824
847
|
else byPosition.set(record.position, [record]);
|
|
825
848
|
}
|
|
826
849
|
const limit = Math.max(1, Math.floor(maxVisible));
|
|
850
|
+
const minimizedPosition = records[0]?.position ?? null;
|
|
827
851
|
const rootStyle = {
|
|
828
852
|
"--prs-width": `${width}px`,
|
|
829
853
|
"--prs-offset": `${offset}px`,
|
|
@@ -842,6 +866,32 @@ function SnackbarHost({
|
|
|
842
866
|
children: POSITIONS.map((position) => {
|
|
843
867
|
const items = byPosition.get(position);
|
|
844
868
|
if (!items || items.length === 0) return null;
|
|
869
|
+
if (minimized) {
|
|
870
|
+
if (position !== minimizedPosition) return null;
|
|
871
|
+
return /* @__PURE__ */ jsx(
|
|
872
|
+
"section",
|
|
873
|
+
{
|
|
874
|
+
className: "prs-region prs-region--minimized",
|
|
875
|
+
"data-position": position,
|
|
876
|
+
"aria-label": regionLabel,
|
|
877
|
+
children: /* @__PURE__ */ jsxs(
|
|
878
|
+
"button",
|
|
879
|
+
{
|
|
880
|
+
type: "button",
|
|
881
|
+
className: "prs-minimized",
|
|
882
|
+
"data-count": items.length,
|
|
883
|
+
onClick: () => store.setMinimized(false),
|
|
884
|
+
title: "Expand notifications",
|
|
885
|
+
children: [
|
|
886
|
+
/* @__PURE__ */ jsx("span", { className: "prs-minimized__dot", "aria-hidden": "true" }),
|
|
887
|
+
/* @__PURE__ */ jsx("span", { className: "prs-minimized__count", children: minimizedLabel(items.length) })
|
|
888
|
+
]
|
|
889
|
+
}
|
|
890
|
+
)
|
|
891
|
+
},
|
|
892
|
+
position
|
|
893
|
+
);
|
|
894
|
+
}
|
|
845
895
|
const visible = items.slice(0, limit);
|
|
846
896
|
return /* @__PURE__ */ jsx(
|
|
847
897
|
"section",
|
|
@@ -885,6 +935,7 @@ function SnackbarProvider({
|
|
|
885
935
|
duration,
|
|
886
936
|
dismissible,
|
|
887
937
|
progress,
|
|
938
|
+
compact,
|
|
888
939
|
tone,
|
|
889
940
|
size,
|
|
890
941
|
maxVisible,
|
|
@@ -906,11 +957,22 @@ function SnackbarProvider({
|
|
|
906
957
|
duration,
|
|
907
958
|
dismissible,
|
|
908
959
|
progress,
|
|
960
|
+
compact,
|
|
909
961
|
tone,
|
|
910
962
|
size,
|
|
911
963
|
maxVisible
|
|
912
964
|
});
|
|
913
|
-
}, [
|
|
965
|
+
}, [
|
|
966
|
+
store,
|
|
967
|
+
position,
|
|
968
|
+
duration,
|
|
969
|
+
dismissible,
|
|
970
|
+
progress,
|
|
971
|
+
compact,
|
|
972
|
+
tone,
|
|
973
|
+
size,
|
|
974
|
+
maxVisible
|
|
975
|
+
]);
|
|
914
976
|
const api = useMemo(() => {
|
|
915
977
|
const preset2 = (variant) => (message, options = {}) => store.show({ ...options, message, variant });
|
|
916
978
|
return {
|
|
@@ -931,6 +993,9 @@ function SnackbarProvider({
|
|
|
931
993
|
variant: "loading",
|
|
932
994
|
duration: options.duration !== void 0 ? options.duration : null
|
|
933
995
|
}),
|
|
996
|
+
minimize: () => store.setMinimized(true),
|
|
997
|
+
expand: () => store.setMinimized(false),
|
|
998
|
+
isMinimized: () => store.getMinimized(),
|
|
934
999
|
store
|
|
935
1000
|
};
|
|
936
1001
|
}, [store]);
|
|
@@ -995,6 +1060,9 @@ function createToast() {
|
|
|
995
1060
|
duration: options.duration !== void 0 ? options.duration : null
|
|
996
1061
|
});
|
|
997
1062
|
toast2.promise = (input, messages, options) => getDefaultStore().promise(input, messages, options);
|
|
1063
|
+
toast2.minimize = () => getDefaultStore().setMinimized(true);
|
|
1064
|
+
toast2.expand = () => getDefaultStore().setMinimized(false);
|
|
1065
|
+
toast2.isMinimized = () => getDefaultStore().getMinimized();
|
|
998
1066
|
Object.defineProperty(toast2, "store", {
|
|
999
1067
|
get: getDefaultStore,
|
|
1000
1068
|
enumerable: true
|