react-snackbar-glass 1.0.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.
@@ -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,9 +176,46 @@ 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
  }
187
+ /** Options accepted by the preset helpers (`toast.success`, `toast.error`, …). */
188
+ type ToastPresetOptions = Omit<SnackbarOptions, 'message' | 'variant'>;
189
+ /**
190
+ * Module-level toast API. It mirrors {@link SnackbarApi} but talks to the
191
+ * global store, so it can be called from anywhere — no hook, no provider
192
+ * argument, no render phase.
193
+ */
194
+ interface ToastApi {
195
+ /** `toast('Saved')` or `toast({ message: 'Saved', variant: 'success' })`. */
196
+ (message: ReactNode, options?: ToastPresetOptions): string;
197
+ (options: SnackbarOptions): string;
198
+ /** Queue a fully customised toast and return its id. */
199
+ show(options: SnackbarOptions): string;
200
+ update(id: string, options: Partial<SnackbarOptions>): void;
201
+ dismiss(id?: string, reason?: SnackbarCloseReason): void;
202
+ dismissAll(reason?: SnackbarCloseReason): void;
203
+ success(message: ReactNode, options?: ToastPresetOptions): string;
204
+ error(message: ReactNode, options?: ToastPresetOptions): string;
205
+ warning(message: ReactNode, options?: ToastPresetOptions): string;
206
+ info(message: ReactNode, options?: ToastPresetOptions): string;
207
+ neutral(message: ReactNode, options?: ToastPresetOptions): string;
208
+ loading(message: ReactNode, options?: ToastPresetOptions): string;
209
+ custom(message: ReactNode, options?: ToastPresetOptions): string;
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;
216
+ /** The store behind the global API (same instance the provider renders). */
217
+ readonly store: SnackbarStore;
218
+ }
167
219
  interface SnackbarHostProps {
168
220
  store: SnackbarStore;
169
221
  /** Maximum simultaneously visible snackbars per corner. */
@@ -191,6 +243,11 @@ interface SnackbarHostProps {
191
243
  closeLabel?: string;
192
244
  /** Accessible label for each notification region. @default 'Notifications' */
193
245
  regionLabel?: string;
246
+ /**
247
+ * Text shown on the collapsed pill. Defaults to
248
+ * `"1 notification"` / `"3 notifications"`.
249
+ */
250
+ minimizedLabel?: (count: number) => ReactNode;
194
251
  className?: string;
195
252
  style?: CSSProperties;
196
253
  /** @default 2147483000 */
@@ -210,6 +267,8 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
210
267
  dismissible?: boolean;
211
268
  /** @default true */
212
269
  progress?: boolean;
270
+ /** Render every snackbar as a single-line pill. @default false */
271
+ compact?: boolean;
213
272
  /** @default 'glass' */
214
273
  tone?: SnackbarTone;
215
274
  /** Default size for new snackbars. @default 'md' */
@@ -218,12 +277,40 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
218
277
 
219
278
  declare function createSnackbarStore(initialConfig?: SnackbarStoreConfig): SnackbarStore;
220
279
 
221
- 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;
280
+ /**
281
+ * The store shared by the module-level `toast` API and any
282
+ * `<SnackbarProvider>` that is not given an explicit `store`.
283
+ *
284
+ * Created lazily so importing the package on the server has no side effects.
285
+ */
286
+ declare function getDefaultStore(): SnackbarStore;
287
+ /**
288
+ * Swaps the global store. Useful for tests, isolating apps or wiring the
289
+ * global `toast` API to a store you created yourself.
290
+ * Pass `null` to go back to a fresh default store on next use.
291
+ */
292
+ declare function setDefaultStore(store: SnackbarStore | null): void;
293
+
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;
222
295
 
223
- 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;
224
297
  /** Imperative API for showing and managing snackbars. */
225
298
  declare function useSnackbar(): SnackbarApi;
226
299
  /** Low-level store access for subscriptions and advanced integrations. */
227
300
  declare function useSnackbarStore(): SnackbarStore;
228
301
 
229
- export { type ResolvedSnackbarStoreConfig, type SnackbarAction, type SnackbarApi, type SnackbarCloseReason, SnackbarHost, type SnackbarHostProps, type SnackbarOptions, type SnackbarPhase, type SnackbarPosition, type SnackbarPromiseContent, type SnackbarPromiseOptions, SnackbarProvider, type SnackbarProviderProps, type SnackbarRecord, type SnackbarSize, type SnackbarStore, type SnackbarStoreConfig, type SnackbarTheme, type SnackbarTone, type SnackbarVariant, createSnackbarStore, useSnackbar, useSnackbarStore };
302
+ /**
303
+ * Fire-and-forget toast API that works anywhere — event handlers, data
304
+ * layers, non-React modules — as long as a `<SnackbarProvider>` (or a
305
+ * `<SnackbarHost store={getDefaultStore()} />`) is mounted.
306
+ *
307
+ * ```ts
308
+ * import { toast } from 'react-snackbar-glass';
309
+ *
310
+ * toast.success('Deployment complete.', { title: 'v1.4.0 is live' });
311
+ * toast.promise(save(), { loading: 'Saving…', success: 'Saved', error: 'Failed' });
312
+ * ```
313
+ */
314
+ declare const toast: ToastApi;
315
+
316
+ export { type ResolvedSnackbarStoreConfig, type SnackbarAction, type SnackbarApi, type SnackbarCloseReason, SnackbarHost, type SnackbarHostProps, type SnackbarOptions, type SnackbarPhase, type SnackbarPosition, type SnackbarPromiseContent, type SnackbarPromiseOptions, SnackbarProvider, type SnackbarProviderProps, type SnackbarRecord, type SnackbarSize, type SnackbarStore, type SnackbarStoreConfig, type SnackbarTheme, type SnackbarTone, type SnackbarVariant, type ToastApi, type ToastPresetOptions, createSnackbarStore, getDefaultStore, setDefaultStore, toast, useSnackbar, useSnackbarStore };
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,9 +176,46 @@ 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
  }
187
+ /** Options accepted by the preset helpers (`toast.success`, `toast.error`, …). */
188
+ type ToastPresetOptions = Omit<SnackbarOptions, 'message' | 'variant'>;
189
+ /**
190
+ * Module-level toast API. It mirrors {@link SnackbarApi} but talks to the
191
+ * global store, so it can be called from anywhere — no hook, no provider
192
+ * argument, no render phase.
193
+ */
194
+ interface ToastApi {
195
+ /** `toast('Saved')` or `toast({ message: 'Saved', variant: 'success' })`. */
196
+ (message: ReactNode, options?: ToastPresetOptions): string;
197
+ (options: SnackbarOptions): string;
198
+ /** Queue a fully customised toast and return its id. */
199
+ show(options: SnackbarOptions): string;
200
+ update(id: string, options: Partial<SnackbarOptions>): void;
201
+ dismiss(id?: string, reason?: SnackbarCloseReason): void;
202
+ dismissAll(reason?: SnackbarCloseReason): void;
203
+ success(message: ReactNode, options?: ToastPresetOptions): string;
204
+ error(message: ReactNode, options?: ToastPresetOptions): string;
205
+ warning(message: ReactNode, options?: ToastPresetOptions): string;
206
+ info(message: ReactNode, options?: ToastPresetOptions): string;
207
+ neutral(message: ReactNode, options?: ToastPresetOptions): string;
208
+ loading(message: ReactNode, options?: ToastPresetOptions): string;
209
+ custom(message: ReactNode, options?: ToastPresetOptions): string;
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;
216
+ /** The store behind the global API (same instance the provider renders). */
217
+ readonly store: SnackbarStore;
218
+ }
167
219
  interface SnackbarHostProps {
168
220
  store: SnackbarStore;
169
221
  /** Maximum simultaneously visible snackbars per corner. */
@@ -191,6 +243,11 @@ interface SnackbarHostProps {
191
243
  closeLabel?: string;
192
244
  /** Accessible label for each notification region. @default 'Notifications' */
193
245
  regionLabel?: string;
246
+ /**
247
+ * Text shown on the collapsed pill. Defaults to
248
+ * `"1 notification"` / `"3 notifications"`.
249
+ */
250
+ minimizedLabel?: (count: number) => ReactNode;
194
251
  className?: string;
195
252
  style?: CSSProperties;
196
253
  /** @default 2147483000 */
@@ -210,6 +267,8 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
210
267
  dismissible?: boolean;
211
268
  /** @default true */
212
269
  progress?: boolean;
270
+ /** Render every snackbar as a single-line pill. @default false */
271
+ compact?: boolean;
213
272
  /** @default 'glass' */
214
273
  tone?: SnackbarTone;
215
274
  /** Default size for new snackbars. @default 'md' */
@@ -218,12 +277,40 @@ interface SnackbarProviderProps extends Omit<SnackbarHostProps, 'store'> {
218
277
 
219
278
  declare function createSnackbarStore(initialConfig?: SnackbarStoreConfig): SnackbarStore;
220
279
 
221
- 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;
280
+ /**
281
+ * The store shared by the module-level `toast` API and any
282
+ * `<SnackbarProvider>` that is not given an explicit `store`.
283
+ *
284
+ * Created lazily so importing the package on the server has no side effects.
285
+ */
286
+ declare function getDefaultStore(): SnackbarStore;
287
+ /**
288
+ * Swaps the global store. Useful for tests, isolating apps or wiring the
289
+ * global `toast` API to a store you created yourself.
290
+ * Pass `null` to go back to a fresh default store on next use.
291
+ */
292
+ declare function setDefaultStore(store: SnackbarStore | null): void;
293
+
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;
222
295
 
223
- 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;
224
297
  /** Imperative API for showing and managing snackbars. */
225
298
  declare function useSnackbar(): SnackbarApi;
226
299
  /** Low-level store access for subscriptions and advanced integrations. */
227
300
  declare function useSnackbarStore(): SnackbarStore;
228
301
 
229
- export { type ResolvedSnackbarStoreConfig, type SnackbarAction, type SnackbarApi, type SnackbarCloseReason, SnackbarHost, type SnackbarHostProps, type SnackbarOptions, type SnackbarPhase, type SnackbarPosition, type SnackbarPromiseContent, type SnackbarPromiseOptions, SnackbarProvider, type SnackbarProviderProps, type SnackbarRecord, type SnackbarSize, type SnackbarStore, type SnackbarStoreConfig, type SnackbarTheme, type SnackbarTone, type SnackbarVariant, createSnackbarStore, useSnackbar, useSnackbarStore };
302
+ /**
303
+ * Fire-and-forget toast API that works anywhere — event handlers, data
304
+ * layers, non-React modules — as long as a `<SnackbarProvider>` (or a
305
+ * `<SnackbarHost store={getDefaultStore()} />`) is mounted.
306
+ *
307
+ * ```ts
308
+ * import { toast } from 'react-snackbar-glass';
309
+ *
310
+ * toast.success('Deployment complete.', { title: 'v1.4.0 is live' });
311
+ * toast.promise(save(), { loading: 'Saving…', success: 'Saved', error: 'Failed' });
312
+ * ```
313
+ */
314
+ declare const toast: ToastApi;
315
+
316
+ export { type ResolvedSnackbarStoreConfig, type SnackbarAction, type SnackbarApi, type SnackbarCloseReason, SnackbarHost, type SnackbarHostProps, type SnackbarOptions, type SnackbarPhase, type SnackbarPosition, type SnackbarPromiseContent, type SnackbarPromiseOptions, SnackbarProvider, type SnackbarProviderProps, type SnackbarRecord, type SnackbarSize, type SnackbarStore, type SnackbarStoreConfig, type SnackbarTheme, type SnackbarTone, type SnackbarVariant, type ToastApi, type ToastPresetOptions, createSnackbarStore, getDefaultStore, setDefaultStore, toast, useSnackbar, useSnackbarStore };