customizable-toast-notification 3.16.0 → 3.18.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 +48 -0
- package/README.md +60 -22
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.d.ts +11 -0
- package/dist/index.css.map +2 -2
- package/dist/index.d.ts +188 -33
- package/dist/index.esm.mjs +3 -3
- package/dist/index.esm.mjs.map +1 -1
- package/dist/index.umd.js +3 -3
- package/dist/index.umd.js.map +1 -1
- package/package.json +11 -1
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* Customizable Toast Notifications - https://github.com/sammy-cool/customizable-toast-notification */
|
|
2
|
-
:root{--toast-bg: #ffffff;--toast-text: #1a1a1a;--toast-border-radius: 50px;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .1);--toast-padding: 12px 16px;--toast-min-width: 250px;--toast-max-width: 400px;--toast-transition-duration: .4s;--toast-transition-timing: ease;--toast-success-bg: #28a745;--toast-success-text: #ffffff;--toast-error-bg: #dc3545;--toast-error-text: #ffffff;--toast-warning-bg: #ffc107;--toast-warning-text: #000000;--toast-info-bg: #17a2b8;--toast-info-text: #ffffff;--toast-z-index: 9999;--toast-emergency-z-index: 10099;--toast-gap: 10px;--toast-offset: 10px}[data-toast-theme=light]{--toast-bg: #ffffff;--toast-text: #1a1a1a;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .1)}[data-toast-theme=dark]{--toast-bg: #1a1a1a;--toast-text: #f5f5f5;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .4);--toast-success-bg: #1e7e34;--toast-success-text: #e8f5e9;--toast-error-bg: #a71930;--toast-error-text: #ffebee;--toast-warning-bg: #997404;--toast-warning-text: #fff3e0;--toast-info-bg: #0c5460;--toast-info-text: #e0f2f1}[data-toast-theme=high-contrast]{--toast-bg: #000000;--toast-text: #ffff00;--toast-border-radius: 0px;--toast-shadow: 0 0 0 3px #ffff00;--toast-success-bg: #00ff00;--toast-success-text: #000000;--toast-error-bg: #ff0000;--toast-error-text: #ffffff;--toast-warning-bg: #ffff00;--toast-warning-text: #000000;--toast-info-bg: #00ffff;--toast-info-text: #000000}[data-toast-theme=compact]{--toast-padding: 8px 12px;--toast-min-width: 200px;--toast-max-width: 300px;--toast-gap: 6px;--toast-offset: 6px;--toast-border-radius: 6px}[data-toast-theme=spacious]{--toast-padding: 16px 20px;--toast-min-width: 300px;--toast-max-width: 500px;--toast-gap: 15px;--toast-offset: 15px;--toast-border-radius: 12px}[data-toast-theme=glass]{--toast-bg: rgba(255, 255, 255, .1);--toast-text: #ffffff;--toast-shadow: 0 8px 32px rgba(31, 38, 135, .37);--toast-border-radius: 10px;--toast-success-bg: rgba(40, 167, 69, .2);--toast-success-text: #ffffff;--toast-error-bg: rgba(220, 53, 69, .2);--toast-error-text: #ffffff;--toast-warning-bg: rgba(255, 193, 7, .2);--toast-warning-text: #ffffff;--toast-info-bg: rgba(23, 162, 184, .2);--toast-info-text: #ffffff}.toast-container-base{position:fixed;z-index:var(--toast-z-index, 9999);pointer-events:none;display:flex;justify-content:space-between;align-items:center;flex-direction:column;overflow:hidden;inset:auto 10px 10px auto;contain:layout style}.toast-position-bottom-right,.toast-position-bottom{top:auto;right:var(--toast-offset, 10px);bottom:var(--toast-offset, 10px);left:auto;transform:none}.toast-position-bottom-left{top:auto;right:auto;bottom:var(--toast-offset, 10px);left:var(--toast-offset, 10px);transform:none}.toast-position-top-right{top:var(--toast-offset, 10px);right:var(--toast-offset, 10px);bottom:auto;left:auto;transform:none}.toast-position-top-left{top:var(--toast-offset, 10px);right:auto;bottom:auto;left:var(--toast-offset, 10px);transform:none}.toast-position-top-center,.toast-position-top{top:var(--toast-offset, 10px);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.toast-position-bottom-center{top:auto;right:auto;bottom:var(--toast-offset, 10px);left:50%;transform:translate(-50%)}.toast-position-left-center{top:50%;right:auto;bottom:auto;left:var(--toast-offset, 10px);transform:translateY(-50%)}.toast-position-right-center{top:50%;right:var(--toast-offset, 10px);bottom:auto;left:auto;transform:translateY(-50%)}.toast-position-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}.toast-position-top-full-width{top:var(--toast-offset, 10px);right:var(--toast-offset, 10px);bottom:auto;left:var(--toast-offset, 10px);max-width:100vw;transform:none}.toast-position-bottom-full-width{top:auto;right:var(--toast-offset, 10px);bottom:var(--toast-offset, 10px);left:var(--toast-offset, 10px);max-width:100vw;transform:none}.toast-outer-wrapper{position:relative;display:inline-block;overflow:visible;margin-bottom:var(--toast-gap, 10px);z-index:0;width:100%;pointer-events:auto}.toast-inner-wrapper{position:relative;overflow:hidden;z-index:1}.toast{padding:var(--toast-padding, 12px 16px);margin-bottom:var(--toast-gap, 10px);border-radius:var(--toast-border-radius, 50px);overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--toast-shadow, 0 4px 6px rgba(0, 0, 0, .1));min-width:var(--toast-min-width, 250px);max-width:var(--toast-max-width, 400px);opacity:0;position:relative;cursor:default;box-sizing:border-box;user-select:text;pointer-events:auto;contain:layout style;will-change:transform,opacity;transition:opacity var(--toast-transition-duration, .4s) var(--toast-transition-timing, ease),transform var(--toast-transition-duration, .4s) var(--toast-transition-timing, ease);transform:translateY(20px);z-index:var(--toast-z-index, 9999);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;background:var(--toast-bg, #ffffff);color:var(--toast-text, #1a1a1a)}.toast-info{background:var(--toast-info-bg, #17a2b8);color:var(--toast-info-text, #ffffff)}.toast-success{background:var(--toast-success-bg, #28a745);color:var(--toast-success-text, #ffffff)}.toast-error{background:var(--toast-error-bg, #dc3545);color:var(--toast-error-text, #ffffff)}.toast-warning{background:var(--toast-warning-bg, #ffc107);color:var(--toast-warning-text, #000000)}.toast-message{flex:1;display:block;font-size:14px;font-weight:400;line-height:1.4;word-break:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;user-select:text}.toast-message.is-truncated{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.toast-loader{display:inline-flex;align-items:center;gap:8px}.toast-loader-circle{opacity:.85;stroke-dasharray:90;stroke-dashoffset:60;transform-origin:center;animation:toast-spinner 1s linear infinite}.toast-loader-label{font-size:13px}.toast-message-spacer{display:inline-block;width:8px}.toast-cta{margin-left:10px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;line-height:1;border:1px solid rgba(255,255,255,.3);background:#00000026;color:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;text-decoration:none;transition:background .2s ease}.toast-cta:hover{background:#00000040}.toast-undo-btn{margin-left:10px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:700;line-height:1;border:1px solid rgba(255,255,255,.3);background:#ffffff2e;color:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;transition:background .2s ease,transform .1s ease}.toast-undo-btn:hover{background:#ffffff47}.toast-undo-btn:active{transform:scale(.96)}.toast-close-btn{background:none;border:none;color:inherit;font-size:18px;margin-left:10px;cursor:pointer;line-height:1;padding:0 4px;transition:opacity .2s ease}.toast-close-btn:hover{opacity:.7}.toast-progress-bar{position:absolute;bottom:0;left:0;width:100%;height:4px;border-radius:2px;background:currentColor;opacity:.8;will-change:width;transition:width var(--toast-transition-duration, .4s) linear}.toast-progress-top{top:0;bottom:auto}.toast-count-badge{position:absolute;top:6px;right:6px;background-color:#f44336;color:#fff;border-radius:50%;min-width:20px;height:20px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 6px #0000004d;z-index:2;pointer-events:none;transition:transform .15s ease}.toast-emergency{background:#333;color:#fff;padding:10px 15px;position:fixed;z-index:var(--toast-emergency-z-index, 10099);border-radius:3px;max-width:250px;word-wrap:break-word;box-shadow:0 2px 10px #0000004d}.toast-emergency-message{display:inline-block}.toast-emergency-close{float:right;margin-left:10px;font-weight:700;cursor:pointer}@keyframes toast-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes toast-entrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.toast.active{opacity:1;transform:translateY(0)}[data-toast-theme=glass] .toast{backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18)}.toast.pinched{transform:scale(1.1);z-index:1000}.toast.flicked{transition:transform .2s ease-out,opacity .2s ease-out}@keyframes pinch-expand{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes pinch-contract{0%{transform:scale(1.15)}to{transform:scale(1)}}[data-stacked=true] .toast-outer-wrapper{transition:transform .24s cubic-bezier(.16,1,.3,1),margin .24s cubic-bezier(.16,1,.3,1),opacity .24s ease}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth=expanded]{transform:none;margin-top:0;margin-bottom:10px;opacity:1;pointer-events:auto}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="0"]{transform:scale(1);margin-top:0;margin-bottom:0;opacity:1;z-index:30;pointer-events:auto}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="1"]{transform:scale(.95) translateY(-10px);margin-top:-55px;margin-bottom:0;opacity:.9;z-index:20;pointer-events:auto}[data-stacked=true][id*=top] .toast-outer-wrapper[data-stacked-depth="1"]{transform:scale(.95) translateY(10px)}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="2"]{transform:scale(.9) translateY(-20px);margin-top:-55px;margin-bottom:0;opacity:.75;z-index:10;pointer-events:auto}[data-stacked=true][id*=top] .toast-outer-wrapper[data-stacked-depth="2"]{transform:scale(.9) translateY(20px)}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth=overflow]{transform:scale(.85) translateY(-30px);margin-top:-55px;margin-bottom:0;opacity:0;z-index:1;pointer-events:none}[data-stacked=true][id*=top] .toast-outer-wrapper[data-stacked-depth=overflow]{transform:scale(.85) translateY(30px)}@media(prefers-reduced-motion:reduce){.toast,.toast-progress-bar,.toast-loader-circle,.toast-count-badge,.toast-cta,.toast-undo-btn,.toast-close-btn,.toast-outer-wrapper{transition:none!important;animation:none!important}}[data-toast-reduced-motion=always] .toast,[data-toast-reduced-motion=always] .toast-progress-bar,[data-toast-reduced-motion=always] .toast-loader-circle,[data-toast-reduced-motion=always] .toast-count-badge,[data-toast-reduced-motion=always] .toast-cta,[data-toast-reduced-motion=always] .toast-undo-btn,[data-toast-reduced-motion=always] .toast-close-btn,[data-toast-reduced-motion=always] .toast-outer-wrapper{transition:none!important;animation:none!important}
|
|
2
|
+
:root{--toast-bg: #ffffff;--toast-text: #1a1a1a;--toast-border-radius: 50px;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .1);--toast-padding: 12px 16px;--toast-min-width: 250px;--toast-max-width: 400px;--toast-transition-duration: .4s;--toast-transition-timing: ease;--toast-success-bg: #28a745;--toast-success-text: #ffffff;--toast-error-bg: #dc3545;--toast-error-text: #ffffff;--toast-warning-bg: #ffc107;--toast-warning-text: #000000;--toast-info-bg: #17a2b8;--toast-info-text: #ffffff;--toast-z-index: 9999;--toast-emergency-z-index: 10099;--toast-gap: 10px;--toast-offset: 10px}[data-toast-theme=light]{--toast-bg: #ffffff;--toast-text: #1a1a1a;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .1)}[data-toast-theme=dark]{--toast-bg: #1a1a1a;--toast-text: #f5f5f5;--toast-shadow: 0 4px 6px rgba(0, 0, 0, .4);--toast-success-bg: #1e7e34;--toast-success-text: #e8f5e9;--toast-error-bg: #a71930;--toast-error-text: #ffebee;--toast-warning-bg: #997404;--toast-warning-text: #fff3e0;--toast-info-bg: #0c5460;--toast-info-text: #e0f2f1}[data-toast-theme=high-contrast]{--toast-bg: #000000;--toast-text: #ffff00;--toast-border-radius: 0px;--toast-shadow: 0 0 0 3px #ffff00;--toast-success-bg: #00ff00;--toast-success-text: #000000;--toast-error-bg: #ff0000;--toast-error-text: #ffffff;--toast-warning-bg: #ffff00;--toast-warning-text: #000000;--toast-info-bg: #00ffff;--toast-info-text: #000000}[data-toast-theme=compact]{--toast-padding: 8px 12px;--toast-min-width: 200px;--toast-max-width: 300px;--toast-gap: 6px;--toast-offset: 6px;--toast-border-radius: 6px}[data-toast-theme=spacious]{--toast-padding: 16px 20px;--toast-min-width: 300px;--toast-max-width: 500px;--toast-gap: 15px;--toast-offset: 15px;--toast-border-radius: 12px}[data-toast-theme=glass]{--toast-bg: rgba(255, 255, 255, .1);--toast-text: #ffffff;--toast-shadow: 0 8px 32px rgba(31, 38, 135, .37);--toast-border-radius: 10px;--toast-success-bg: rgba(40, 167, 69, .2);--toast-success-text: #ffffff;--toast-error-bg: rgba(220, 53, 69, .2);--toast-error-text: #ffffff;--toast-warning-bg: rgba(255, 193, 7, .2);--toast-warning-text: #ffffff;--toast-info-bg: rgba(23, 162, 184, .2);--toast-info-text: #ffffff}.toast-container-base{position:fixed;z-index:var(--toast-z-index, 9999);pointer-events:none;display:flex;justify-content:space-between;align-items:center;flex-direction:column;overflow:hidden;inset:auto 10px 10px auto;contain:layout style}.toast-position-bottom-right,.toast-position-bottom{top:auto;right:var(--toast-offset, 10px);bottom:var(--toast-offset, 10px);left:auto;transform:none}.toast-position-bottom-left{top:auto;right:auto;bottom:var(--toast-offset, 10px);left:var(--toast-offset, 10px);transform:none}.toast-position-top-right{top:var(--toast-offset, 10px);right:var(--toast-offset, 10px);bottom:auto;left:auto;transform:none}.toast-position-top-left{top:var(--toast-offset, 10px);right:auto;bottom:auto;left:var(--toast-offset, 10px);transform:none}.toast-position-top-center,.toast-position-center-top,.toast-position-top{top:var(--toast-offset, 10px);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.toast-position-bottom-center,.toast-position-center-bottom{top:auto;right:auto;bottom:var(--toast-offset, 10px);left:50%;transform:translate(-50%)}.toast-position-left-center,.toast-position-center-left{top:50%;right:auto;bottom:auto;left:var(--toast-offset, 10px);transform:translateY(-50%)}.toast-position-right-center,.toast-position-center-right{top:50%;right:var(--toast-offset, 10px);bottom:auto;left:auto;transform:translateY(-50%)}.toast-position-center{inset:50% auto auto 50%;transform:translate(-50%,-50%)}.toast-position-top-full-width{top:var(--toast-offset, 10px);right:var(--toast-offset, 10px);bottom:auto;left:var(--toast-offset, 10px);max-width:100vw;transform:none}.toast-position-bottom-full-width{top:auto;right:var(--toast-offset, 10px);bottom:var(--toast-offset, 10px);left:var(--toast-offset, 10px);max-width:100vw;transform:none}.toast-outer-wrapper{position:relative;display:inline-block;overflow:visible;margin-bottom:var(--toast-gap, 10px);z-index:0;width:100%;pointer-events:auto}.toast-inner-wrapper{position:relative;overflow:hidden;z-index:1}.toast{padding:var(--toast-padding, 12px 16px);margin-bottom:var(--toast-gap, 10px);border-radius:var(--toast-border-radius, 50px);overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--toast-shadow, 0 4px 6px rgba(0, 0, 0, .1));min-width:var(--toast-min-width, 250px);max-width:var(--toast-max-width, 400px);opacity:0;position:relative;cursor:default;box-sizing:border-box;user-select:text;pointer-events:auto;contain:layout style;will-change:transform,opacity;transition:opacity var(--toast-transition-duration, .4s) var(--toast-transition-timing, ease),transform var(--toast-transition-duration, .4s) var(--toast-transition-timing, ease);transform:translateY(20px);z-index:var(--toast-z-index, 9999);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;background:var(--toast-bg, #ffffff);color:var(--toast-text, #1a1a1a)}.toast-info{background:var(--toast-info-bg, #17a2b8);color:var(--toast-info-text, #ffffff)}.toast-success{background:var(--toast-success-bg, #28a745);color:var(--toast-success-text, #ffffff)}.toast-error{background:var(--toast-error-bg, #dc3545);color:var(--toast-error-text, #ffffff)}.toast-warning{background:var(--toast-warning-bg, #ffc107);color:var(--toast-warning-text, #000000)}.toast-message{flex:1;display:block;font-size:14px;font-weight:400;line-height:1.4;word-break:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;user-select:text}.toast-message.is-truncated{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.toast-loader{display:inline-flex;align-items:center;gap:8px}.toast-loader-circle{opacity:.85;stroke-dasharray:90;stroke-dashoffset:60;transform-origin:center;animation:toast-spinner 1s linear infinite}.toast-loader-label{font-size:13px}.toast-message-spacer{display:inline-block;width:8px}.toast-cta{margin-left:10px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;line-height:1;border:1px solid rgba(255,255,255,.3);background:#00000026;color:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;text-decoration:none;transition:background .2s ease}.toast-cta+.toast-cta{margin-left:6px}.toast-cta:hover{background:#00000040}.toast-undo-btn{margin-left:10px;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:700;line-height:1;border:1px solid rgba(255,255,255,.3);background:#ffffff2e;color:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;transition:background .2s ease,transform .1s ease}.toast-undo-btn:hover{background:#ffffff47}.toast-undo-btn:active{transform:scale(.96)}.toast-close-btn{background:none;border:none;color:inherit;font-size:18px;margin-left:10px;cursor:pointer;line-height:1;padding:0 4px;transition:opacity .2s ease}.toast-close-btn:hover{opacity:.7}.toast-progress-bar{position:absolute;bottom:0;left:0;width:100%;height:4px;border-radius:2px;background:currentColor;opacity:.8;will-change:width;transition:width var(--toast-transition-duration, .4s) linear}@keyframes toast-progress-indeterminate{0%{left:0%;width:0%}50%{left:20%;width:60%}to{left:100%;width:0%}}.toast-progress-bar.toast-progress-bar-indeterminate{animation:toast-progress-indeterminate 1.6s cubic-bezier(.4,0,.2,1) infinite!important}.toast-progress-top{top:0;bottom:auto}.toast-count-badge{position:absolute;top:6px;right:6px;background-color:#f44336;color:#fff;border-radius:50%;min-width:20px;height:20px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 6px #0000004d;z-index:2;pointer-events:none;transition:transform .15s ease}.toast-emergency{background:#333;color:#fff;padding:10px 15px;position:fixed;z-index:var(--toast-emergency-z-index, 10099);border-radius:3px;max-width:250px;word-wrap:break-word;box-shadow:0 2px 10px #0000004d}.toast-emergency-message{display:inline-block}.toast-emergency-close{float:right;margin-left:10px;font-weight:700;cursor:pointer}@keyframes toast-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes toast-entrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}[class*=toast-position-top] .toast:not(.active){transform:translateY(-20px)}.toast.active{opacity:1;transform:translateY(0)}@keyframes toast-bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.custom-animation-bounce{animation:toast-bounce-gentle .6s ease-in-out}.toast-animation-fade{transform:none!important}.toast-animation-zoom{transform:scale(.75)!important}.toast-animation-flip{transform:perspective(600px) rotateX(45deg)!important}[data-toast-theme=glass] .toast{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);text-shadow:0 1px 2px rgba(0,0,0,.4)}[data-toast-theme=high-contrast] button:focus-visible,[data-toast-theme=high-contrast] a:focus-visible{outline:3px solid #ffff00;outline-offset:2px}.toast.pinched{transform:scale(1.1);z-index:1000}.toast.flicked{transition:transform .2s ease-out,opacity .2s ease-out}@keyframes pinch-expand{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes pinch-contract{0%{transform:scale(1.15)}to{transform:scale(1)}}[data-stacked=true] .toast-outer-wrapper{transition:transform .24s cubic-bezier(.16,1,.3,1),margin .24s cubic-bezier(.16,1,.3,1),opacity .24s ease}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth=expanded]{transform:none;margin-top:0;margin-bottom:10px;opacity:1;pointer-events:auto}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="0"]{transform:scale(1);margin-top:0;margin-bottom:0;opacity:1;z-index:30;pointer-events:auto}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="1"]{transform:scale(.95) translateY(-10px);margin-top:-55px;margin-bottom:0;opacity:.9;z-index:20;pointer-events:auto}[data-stacked=true][id*=top] .toast-outer-wrapper[data-stacked-depth="1"]{transform:scale(.95) translateY(10px)}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth="2"]{transform:scale(.9) translateY(-20px);margin-top:-55px;margin-bottom:0;opacity:.75;z-index:10;pointer-events:auto}[data-stacked=true][id*=top] .toast-outer-wrapper[data-stacked-depth="2"]{transform:scale(.9) translateY(20px)}[data-stacked=true] .toast-outer-wrapper[data-stacked-depth=overflow]{transform:scale(.85) translateY(-30px);margin-top:-55px;margin-bottom:0;opacity:0;z-index:1;pointer-events:none}.toast-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:8px;margin-inline-end:8px;line-height:1}[dir=rtl] .toast-icon,.toast[style*="direction: rtl"] .toast-icon{margin-right:0;margin-left:8px}.toast-icon svg{display:block}.toast.toast-paused{box-shadow:0 0 0 2px #ffffff4d,0 8px 16px #0003!important}.toast.toast-paused .toast-progress-bar{opacity:1!important;filter:brightness(1.2)}@media(prefers-reduced-motion:reduce){.toast,.toast-progress-bar,.toast-loader-circle,.toast-count-badge,.toast-cta,.toast-undo-btn,.toast-close-btn,.toast-outer-wrapper{transition:none!important;animation:none!important}}[data-toast-reduced-motion=always] .toast,[data-toast-reduced-motion=always] .toast-progress-bar,[data-toast-reduced-motion=always] .toast-loader-circle,[data-toast-reduced-motion=always] .toast-count-badge,[data-toast-reduced-motion=always] .toast-cta,[data-toast-reduced-motion=always] .toast-undo-btn,[data-toast-reduced-motion=always] .toast-close-btn,[data-toast-reduced-motion=always] .toast-outer-wrapper{transition:none!important;animation:none!important}
|
package/dist/index.css.d.ts
CHANGED
|
@@ -7,10 +7,14 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
export const active: string;
|
|
10
|
+
export const custom-animation-bounce: string;
|
|
10
11
|
export const flicked: string;
|
|
11
12
|
export const is-truncated: string;
|
|
12
13
|
export const pinched: string;
|
|
13
14
|
export const toast: string;
|
|
15
|
+
export const toast-animation-fade: string;
|
|
16
|
+
export const toast-animation-flip: string;
|
|
17
|
+
export const toast-animation-zoom: string;
|
|
14
18
|
export const toast-close-btn: string;
|
|
15
19
|
export const toast-container-base: string;
|
|
16
20
|
export const toast-count-badge: string;
|
|
@@ -19,6 +23,7 @@ export const toast-emergency: string;
|
|
|
19
23
|
export const toast-emergency-close: string;
|
|
20
24
|
export const toast-emergency-message: string;
|
|
21
25
|
export const toast-error: string;
|
|
26
|
+
export const toast-icon: string;
|
|
22
27
|
export const toast-info: string;
|
|
23
28
|
export const toast-inner-wrapper: string;
|
|
24
29
|
export const toast-loader: string;
|
|
@@ -27,12 +32,17 @@ export const toast-loader-label: string;
|
|
|
27
32
|
export const toast-message: string;
|
|
28
33
|
export const toast-message-spacer: string;
|
|
29
34
|
export const toast-outer-wrapper: string;
|
|
35
|
+
export const toast-paused: string;
|
|
30
36
|
export const toast-position-bottom: string;
|
|
31
37
|
export const toast-position-bottom-center: string;
|
|
32
38
|
export const toast-position-bottom-full-width: string;
|
|
33
39
|
export const toast-position-bottom-left: string;
|
|
34
40
|
export const toast-position-bottom-right: string;
|
|
35
41
|
export const toast-position-center: string;
|
|
42
|
+
export const toast-position-center-bottom: string;
|
|
43
|
+
export const toast-position-center-left: string;
|
|
44
|
+
export const toast-position-center-right: string;
|
|
45
|
+
export const toast-position-center-top: string;
|
|
36
46
|
export const toast-position-left-center: string;
|
|
37
47
|
export const toast-position-right-center: string;
|
|
38
48
|
export const toast-position-top: string;
|
|
@@ -41,6 +51,7 @@ export const toast-position-top-full-width: string;
|
|
|
41
51
|
export const toast-position-top-left: string;
|
|
42
52
|
export const toast-position-top-right: string;
|
|
43
53
|
export const toast-progress-bar: string;
|
|
54
|
+
export const toast-progress-bar-indeterminate: string;
|
|
44
55
|
export const toast-progress-top: string;
|
|
45
56
|
export const toast-success: string;
|
|
46
57
|
export const toast-undo-btn: string;
|
package/dist/index.css.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/styles.css"],
|
|
4
|
-
"sourcesContent": ["/*\n * Customizable Toast Notifications - External CSS Mode\n * Import this file and call `setConfig({ disableInlineStyles: true })` for\n * stricter Content Security Policy deployments.\n *\n * CSS Variables: Fully customizable via :root or [data-toast-theme]\n * Built-in Themes: light (default), dark, high-contrast, compact, spacious, glass\n */\n\n/* ========== ROOT VARIABLES (Customization Foundation) ========== */\n:root {\n /* Colors */\n --toast-bg: #ffffff;\n --toast-text: #1a1a1a;\n --toast-border-radius: 50px;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n --toast-padding: 12px 16px;\n --toast-min-width: 250px;\n --toast-max-width: 400px;\n\n /* Animations */\n --toast-transition-duration: 0.4s;\n --toast-transition-timing: ease;\n\n /* Type-specific Colors */\n --toast-success-bg: #28a745;\n --toast-success-text: #ffffff;\n\n --toast-error-bg: #dc3545;\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: #ffc107;\n --toast-warning-text: #000000;\n\n --toast-info-bg: #17a2b8;\n --toast-info-text: #ffffff;\n\n /* Z-index Stack */\n --toast-z-index: 9999;\n --toast-emergency-z-index: 10099;\n\n /* Spacing */\n --toast-gap: 10px;\n --toast-offset: 10px;\n}\n\n/* ========== THEME: LIGHT (Default) ========== */\n[data-toast-theme=\"light\"] {\n --toast-bg: #ffffff;\n --toast-text: #1a1a1a;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n/* ========== THEME: DARK ========== */\n[data-toast-theme=\"dark\"] {\n --toast-bg: #1a1a1a;\n --toast-text: #f5f5f5;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);\n\n --toast-success-bg: #1e7e34;\n --toast-success-text: #e8f5e9;\n\n --toast-error-bg: #a71930;\n --toast-error-text: #ffebee;\n\n --toast-warning-bg: #997404;\n --toast-warning-text: #fff3e0;\n\n --toast-info-bg: #0c5460;\n --toast-info-text: #e0f2f1;\n}\n\n/* ========== THEME: HIGH-CONTRAST (Accessibility) ========== */\n[data-toast-theme=\"high-contrast\"] {\n --toast-bg: #000000;\n --toast-text: #ffff00;\n --toast-border-radius: 0px;\n --toast-shadow: 0 0 0 3px #ffff00;\n\n --toast-success-bg: #00ff00;\n --toast-success-text: #000000;\n\n --toast-error-bg: #ff0000;\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: #ffff00;\n --toast-warning-text: #000000;\n\n --toast-info-bg: #00ffff;\n --toast-info-text: #000000;\n}\n\n/* ========== THEME: COMPACT ========== */\n[data-toast-theme=\"compact\"] {\n --toast-padding: 8px 12px;\n --toast-min-width: 200px;\n --toast-max-width: 300px;\n --toast-gap: 6px;\n --toast-offset: 6px;\n --toast-border-radius: 6px;\n}\n\n/* ========== THEME: SPACIOUS ========== */\n[data-toast-theme=\"spacious\"] {\n --toast-padding: 16px 20px;\n --toast-min-width: 300px;\n --toast-max-width: 500px;\n --toast-gap: 15px;\n --toast-offset: 15px;\n --toast-border-radius: 12px;\n}\n\n/* ========== THEME: GLASSMORPHISM ========== */\n[data-toast-theme=\"glass\"] {\n --toast-bg: rgba(255, 255, 255, 0.1);\n --toast-text: #ffffff;\n --toast-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);\n --toast-border-radius: 10px;\n\n --toast-success-bg: rgba(40, 167, 69, 0.2);\n --toast-success-text: #ffffff;\n\n --toast-error-bg: rgba(220, 53, 69, 0.2);\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: rgba(255, 193, 7, 0.2);\n --toast-warning-text: #ffffff;\n\n --toast-info-bg: rgba(23, 162, 184, 0.2);\n --toast-info-text: #ffffff;\n}\n\n/* ========== CONTAINER BASE ========== */\n.toast-container-base {\n position: fixed;\n z-index: var(--toast-z-index, 9999);\n pointer-events: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: column;\n overflow: hidden;\n inset: auto 10px 10px auto;\n contain: layout style;\n}\n\n/* ========== POSITIONING CLASSES ========== */\n.toast-position-bottom-right,\n.toast-position-bottom {\n top: auto;\n right: var(--toast-offset, 10px);\n bottom: var(--toast-offset, 10px);\n left: auto;\n transform: none;\n}\n\n.toast-position-bottom-left {\n top: auto;\n right: auto;\n bottom: var(--toast-offset, 10px);\n left: var(--toast-offset, 10px);\n transform: none;\n}\n\n.toast-position-top-right {\n top: var(--toast-offset, 10px);\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: auto;\n transform: none;\n}\n\n.toast-position-top-left {\n top: var(--toast-offset, 10px);\n right: auto;\n bottom: auto;\n left: var(--toast-offset, 10px);\n transform: none;\n}\n\n.toast-position-top-center,\n.toast-position-top {\n top: var(--toast-offset, 10px);\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.toast-position-bottom-center {\n top: auto;\n right: auto;\n bottom: var(--toast-offset, 10px);\n left: 50%;\n transform: translateX(-50%);\n}\n\n.toast-position-left-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: var(--toast-offset, 10px);\n transform: translateY(-50%);\n}\n\n.toast-position-right-center {\n top: 50%;\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: auto;\n transform: translateY(-50%);\n}\n\n.toast-position-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.toast-position-top-full-width {\n top: var(--toast-offset, 10px);\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: var(--toast-offset, 10px);\n max-width: 100vw;\n transform: none;\n}\n\n.toast-position-bottom-full-width {\n top: auto;\n right: var(--toast-offset, 10px);\n bottom: var(--toast-offset, 10px);\n left: var(--toast-offset, 10px);\n max-width: 100vw;\n transform: none;\n}\n\n/* ========== WRAPPER STRUCTURE ========== */\n.toast-outer-wrapper {\n position: relative;\n display: inline-block;\n overflow: visible;\n margin-bottom: var(--toast-gap, 10px);\n z-index: 0;\n width: 100%;\n pointer-events: auto;\n}\n\n.toast-inner-wrapper {\n position: relative;\n overflow: hidden;\n z-index: 1;\n}\n\n/* ========== TOAST BASE ========== */\n.toast {\n padding: var(--toast-padding, 12px 16px);\n margin-bottom: var(--toast-gap, 10px);\n border-radius: var(--toast-border-radius, 50px);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-shadow: var(--toast-shadow, 0 4px 6px rgba(0, 0, 0, 0.1));\n min-width: var(--toast-min-width, 250px);\n max-width: var(--toast-max-width, 400px);\n opacity: 0;\n position: relative;\n cursor: default;\n box-sizing: border-box;\n user-select: text;\n pointer-events: auto;\n contain: layout style;\n will-change: transform, opacity;\n transition: opacity var(--toast-transition-duration, 0.4s) var(--toast-transition-timing, ease),\n transform var(--toast-transition-duration, 0.4s) var(--toast-transition-timing, ease);\n transform: translateY(20px);\n z-index: var(--toast-z-index, 9999);\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background: var(--toast-bg, #ffffff);\n color: var(--toast-text, #1a1a1a);\n}\n\n/* ========== TOAST TYPE VARIANTS ========== */\n.toast-info {\n background: var(--toast-info-bg, #17a2b8);\n color: var(--toast-info-text, #ffffff);\n}\n\n.toast-success {\n background: var(--toast-success-bg, #28a745);\n color: var(--toast-success-text, #ffffff);\n}\n\n.toast-error {\n background: var(--toast-error-bg, #dc3545);\n color: var(--toast-error-text, #ffffff);\n}\n\n.toast-warning {\n background: var(--toast-warning-bg, #ffc107);\n color: var(--toast-warning-text, #000000);\n}\n\n/* ========== TOAST MESSAGE ========== */\n.toast-message {\n flex: 1;\n display: block;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.4;\n word-break: break-word;\n white-space: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: text;\n}\n\n.toast-message.is-truncated {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n\n/* ========== LOADER STYLES ========== */\n.toast-loader {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.toast-loader-circle {\n opacity: 0.85;\n stroke-dasharray: 90;\n stroke-dashoffset: 60;\n transform-origin: center;\n animation: toast-spinner 1s linear infinite;\n}\n\n.toast-loader-label {\n font-size: 13px;\n}\n\n.toast-message-spacer {\n display: inline-block;\n width: 8px;\n}\n\n/* ========== CTA & BUTTONS ========== */\n.toast-cta {\n margin-left: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n border: 1px solid rgba(255, 255, 255, 0.3);\n background: rgba(0, 0, 0, 0.15);\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n text-decoration: none;\n transition: background 0.2s ease;\n}\n\n.toast-cta:hover {\n background: rgba(0, 0, 0, 0.25);\n}\n\n.toast-undo-btn {\n margin-left: 10px;\n padding: 5px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n border: 1px solid rgba(255, 255, 255, 0.3);\n background: rgba(255, 255, 255, 0.18);\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n transition: background 0.2s ease, transform 0.1s ease;\n}\n\n.toast-undo-btn:hover {\n background: rgba(255, 255, 255, 0.28);\n}\n\n.toast-undo-btn:active {\n transform: scale(0.96);\n}\n\n.toast-close-btn {\n background: none;\n border: none;\n color: inherit;\n font-size: 18px;\n margin-left: 10px;\n cursor: pointer;\n line-height: 1;\n padding: 0 4px;\n transition: opacity 0.2s ease;\n}\n\n.toast-close-btn:hover {\n opacity: 0.7;\n}\n\n/* ========== PROGRESS BAR ========== */\n.toast-progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-radius: 2px;\n background: currentColor;\n opacity: 0.8;\n will-change: width;\n transition: width var(--toast-transition-duration, 0.4s) linear;\n}\n\n.toast-progress-top {\n top: 0;\n bottom: auto;\n}\n\n/* ========== COUNT BADGE ========== */\n.toast-count-badge {\n position: absolute;\n top: 6px;\n right: 6px;\n background-color: #f44336;\n color: #ffffff;\n border-radius: 50%;\n min-width: 20px;\n height: 20px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid #ffffff;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\n z-index: 2;\n pointer-events: none;\n transition: transform 150ms ease;\n}\n\n/* ========== EMERGENCY TOAST (Fallback) ========== */\n.toast-emergency {\n background: #333333;\n color: white;\n padding: 10px 15px;\n position: fixed;\n z-index: var(--toast-emergency-z-index, 10099);\n border-radius: 3px;\n max-width: 250px;\n word-wrap: break-word;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n}\n\n.toast-emergency-message {\n display: inline-block;\n}\n\n.toast-emergency-close {\n float: right;\n margin-left: 10px;\n font-weight: bold;\n cursor: pointer;\n}\n\n/* ========== ANIMATIONS ========== */\n@keyframes toast-spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes toast-entrance {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes toast-exit {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* ========== ACTIVE STATE ========== */\n.toast.active {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* ========== GLASSMORPHISM SUPPORT ========== */\n[data-toast-theme=\"glass\"] .toast {\n backdrop-filter: blur(4px);\n border: 1px solid rgba(255, 255, 255, 0.18);\n}\n\n/* ========== PINCH & FLICK GESTURES ========== */\n.toast.pinched {\n transform: scale(1.1);\n z-index: 1000;\n}\n\n.toast.flicked {\n transition: transform 200ms ease-out, opacity 200ms ease-out;\n}\n\n@keyframes pinch-expand {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(1.15);\n }\n}\n\n@keyframes pinch-contract {\n from {\n transform: scale(1.15);\n }\n to {\n transform: scale(1);\n }\n}\n\n/* ========== STACKED CARD DECK (CSP MODE & DEFAULT) ========== */\n[data-stacked=\"true\"] .toast-outer-wrapper {\n transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), margin 240ms cubic-bezier(0.16, 1, 0.3, 1), opacity 240ms ease;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"expanded\"] {\n transform: none;\n margin-top: 0px;\n margin-bottom: 10px;\n opacity: 1;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"0\"] {\n transform: scale(1);\n margin-top: 0px;\n margin-bottom: 0px;\n opacity: 1;\n z-index: 30;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"1\"] {\n transform: scale(0.95) translateY(-10px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0.9;\n z-index: 20;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"][id*=\"top\"] .toast-outer-wrapper[data-stacked-depth=\"1\"] {\n transform: scale(0.95) translateY(10px);\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"2\"] {\n transform: scale(0.90) translateY(-20px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0.75;\n z-index: 10;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"][id*=\"top\"] .toast-outer-wrapper[data-stacked-depth=\"2\"] {\n transform: scale(0.90) translateY(20px);\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"overflow\"] {\n transform: scale(0.85) translateY(-30px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0;\n z-index: 1;\n pointer-events: none;\n}\n\n[data-stacked=\"true\"][id*=\"top\"] .toast-outer-wrapper[data-stacked-depth=\"overflow\"] {\n transform: scale(0.85) translateY(30px);\n}\n\n/* ========== ACCESSIBILITY: REDUCED MOTION ========== */\n@media (prefers-reduced-motion: reduce) {\n .toast,\n .toast-progress-bar,\n .toast-loader-circle,\n .toast-count-badge,\n .toast-cta,\n .toast-undo-btn,\n .toast-close-btn,\n .toast-outer-wrapper {\n transition: none !important;\n animation: none !important;\n }\n}\n\n[data-toast-reduced-motion=\"always\"] .toast,\n[data-toast-reduced-motion=\"always\"] .toast-progress-bar,\n[data-toast-reduced-motion=\"always\"] .toast-loader-circle,\n[data-toast-reduced-motion=\"always\"] .toast-count-badge,\n[data-toast-reduced-motion=\"always\"] .toast-cta,\n[data-toast-reduced-motion=\"always\"] .toast-undo-btn,\n[data-toast-reduced-motion=\"always\"] .toast-close-btn,\n[data-toast-reduced-motion=\"always\"] .toast-outer-wrapper {\n transition: none !important;\n animation: none !important;\n}\n\n\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/*\n * Customizable Toast Notifications - External CSS Mode\n * Import this file and call `setConfig({ disableInlineStyles: true })` for\n * stricter Content Security Policy deployments.\n *\n * CSS Variables: Fully customizable via :root or [data-toast-theme]\n * Built-in Themes: light (default), dark, high-contrast, compact, spacious, glass\n */\n\n/* ========== ROOT VARIABLES (Customization Foundation) ========== */\n:root {\n /* Colors */\n --toast-bg: #ffffff;\n --toast-text: #1a1a1a;\n --toast-border-radius: 50px;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n --toast-padding: 12px 16px;\n --toast-min-width: 250px;\n --toast-max-width: 400px;\n\n /* Animations */\n --toast-transition-duration: 0.4s;\n --toast-transition-timing: ease;\n\n /* Type-specific Colors */\n --toast-success-bg: #28a745;\n --toast-success-text: #ffffff;\n\n --toast-error-bg: #dc3545;\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: #ffc107;\n --toast-warning-text: #000000;\n\n --toast-info-bg: #17a2b8;\n --toast-info-text: #ffffff;\n\n /* Z-index Stack */\n --toast-z-index: 9999;\n --toast-emergency-z-index: 10099;\n\n /* Spacing */\n --toast-gap: 10px;\n --toast-offset: 10px;\n}\n\n/* ========== THEME: LIGHT (Default) ========== */\n[data-toast-theme=\"light\"] {\n --toast-bg: #ffffff;\n --toast-text: #1a1a1a;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n}\n\n/* ========== THEME: DARK ========== */\n[data-toast-theme=\"dark\"] {\n --toast-bg: #1a1a1a;\n --toast-text: #f5f5f5;\n --toast-shadow: 0 4px 6px rgba(0, 0, 0, 0.4);\n\n --toast-success-bg: #1e7e34;\n --toast-success-text: #e8f5e9;\n\n --toast-error-bg: #a71930;\n --toast-error-text: #ffebee;\n\n --toast-warning-bg: #997404;\n --toast-warning-text: #fff3e0;\n\n --toast-info-bg: #0c5460;\n --toast-info-text: #e0f2f1;\n}\n\n/* ========== THEME: HIGH-CONTRAST (Accessibility) ========== */\n[data-toast-theme=\"high-contrast\"] {\n --toast-bg: #000000;\n --toast-text: #ffff00;\n --toast-border-radius: 0px;\n --toast-shadow: 0 0 0 3px #ffff00;\n\n --toast-success-bg: #00ff00;\n --toast-success-text: #000000;\n\n --toast-error-bg: #ff0000;\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: #ffff00;\n --toast-warning-text: #000000;\n\n --toast-info-bg: #00ffff;\n --toast-info-text: #000000;\n}\n\n/* ========== THEME: COMPACT ========== */\n[data-toast-theme=\"compact\"] {\n --toast-padding: 8px 12px;\n --toast-min-width: 200px;\n --toast-max-width: 300px;\n --toast-gap: 6px;\n --toast-offset: 6px;\n --toast-border-radius: 6px;\n}\n\n/* ========== THEME: SPACIOUS ========== */\n[data-toast-theme=\"spacious\"] {\n --toast-padding: 16px 20px;\n --toast-min-width: 300px;\n --toast-max-width: 500px;\n --toast-gap: 15px;\n --toast-offset: 15px;\n --toast-border-radius: 12px;\n}\n\n/* ========== THEME: GLASSMORPHISM ========== */\n[data-toast-theme=\"glass\"] {\n --toast-bg: rgba(255, 255, 255, 0.1);\n --toast-text: #ffffff;\n --toast-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);\n --toast-border-radius: 10px;\n\n --toast-success-bg: rgba(40, 167, 69, 0.2);\n --toast-success-text: #ffffff;\n\n --toast-error-bg: rgba(220, 53, 69, 0.2);\n --toast-error-text: #ffffff;\n\n --toast-warning-bg: rgba(255, 193, 7, 0.2);\n --toast-warning-text: #ffffff;\n\n --toast-info-bg: rgba(23, 162, 184, 0.2);\n --toast-info-text: #ffffff;\n}\n\n/* ========== CONTAINER BASE ========== */\n.toast-container-base {\n position: fixed;\n z-index: var(--toast-z-index, 9999);\n pointer-events: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: column;\n overflow: hidden;\n inset: auto 10px 10px auto;\n contain: layout style;\n}\n\n/* ========== POSITIONING CLASSES ========== */\n.toast-position-bottom-right,\n.toast-position-bottom {\n top: auto;\n right: var(--toast-offset, 10px);\n bottom: var(--toast-offset, 10px);\n left: auto;\n transform: none;\n}\n\n.toast-position-bottom-left {\n top: auto;\n right: auto;\n bottom: var(--toast-offset, 10px);\n left: var(--toast-offset, 10px);\n transform: none;\n}\n\n.toast-position-top-right {\n top: var(--toast-offset, 10px);\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: auto;\n transform: none;\n}\n\n.toast-position-top-left {\n top: var(--toast-offset, 10px);\n right: auto;\n bottom: auto;\n left: var(--toast-offset, 10px);\n transform: none;\n}\n\n.toast-position-top-center,\n.toast-position-center-top,\n.toast-position-top {\n top: var(--toast-offset, 10px);\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.toast-position-bottom-center,\n.toast-position-center-bottom {\n top: auto;\n right: auto;\n bottom: var(--toast-offset, 10px);\n left: 50%;\n transform: translateX(-50%);\n}\n\n.toast-position-left-center,\n.toast-position-center-left {\n top: 50%;\n right: auto;\n bottom: auto;\n left: var(--toast-offset, 10px);\n transform: translateY(-50%);\n}\n\n.toast-position-right-center,\n.toast-position-center-right {\n top: 50%;\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: auto;\n transform: translateY(-50%);\n}\n\n.toast-position-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n.toast-position-top-full-width {\n top: var(--toast-offset, 10px);\n right: var(--toast-offset, 10px);\n bottom: auto;\n left: var(--toast-offset, 10px);\n max-width: 100vw;\n transform: none;\n}\n\n.toast-position-bottom-full-width {\n top: auto;\n right: var(--toast-offset, 10px);\n bottom: var(--toast-offset, 10px);\n left: var(--toast-offset, 10px);\n max-width: 100vw;\n transform: none;\n}\n\n/* ========== WRAPPER STRUCTURE ========== */\n.toast-outer-wrapper {\n position: relative;\n display: inline-block;\n overflow: visible;\n margin-bottom: var(--toast-gap, 10px);\n z-index: 0;\n width: 100%;\n pointer-events: auto;\n}\n\n.toast-inner-wrapper {\n position: relative;\n overflow: hidden;\n z-index: 1;\n}\n\n/* ========== TOAST BASE ========== */\n.toast {\n padding: var(--toast-padding, 12px 16px);\n margin-bottom: var(--toast-gap, 10px);\n border-radius: var(--toast-border-radius, 50px);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-shadow: var(--toast-shadow, 0 4px 6px rgba(0, 0, 0, 0.1));\n min-width: var(--toast-min-width, 250px);\n max-width: var(--toast-max-width, 400px);\n opacity: 0;\n position: relative;\n cursor: default;\n box-sizing: border-box;\n user-select: text;\n pointer-events: auto;\n contain: layout style;\n will-change: transform, opacity;\n transition: opacity var(--toast-transition-duration, 0.4s) var(--toast-transition-timing, ease),\n transform var(--toast-transition-duration, 0.4s) var(--toast-transition-timing, ease);\n transform: translateY(20px);\n z-index: var(--toast-z-index, 9999);\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background: var(--toast-bg, #ffffff);\n color: var(--toast-text, #1a1a1a);\n}\n\n/* ========== TOAST TYPE VARIANTS ========== */\n.toast-info {\n background: var(--toast-info-bg, #17a2b8);\n color: var(--toast-info-text, #ffffff);\n}\n\n.toast-success {\n background: var(--toast-success-bg, #28a745);\n color: var(--toast-success-text, #ffffff);\n}\n\n.toast-error {\n background: var(--toast-error-bg, #dc3545);\n color: var(--toast-error-text, #ffffff);\n}\n\n.toast-warning {\n background: var(--toast-warning-bg, #ffc107);\n color: var(--toast-warning-text, #000000);\n}\n\n/* ========== TOAST MESSAGE ========== */\n.toast-message {\n flex: 1;\n display: block;\n font-size: 14px;\n font-weight: 400;\n line-height: 1.4;\n word-break: break-word;\n white-space: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: text;\n}\n\n.toast-message.is-truncated {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n\n/* ========== LOADER STYLES ========== */\n.toast-loader {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n\n.toast-loader-circle {\n opacity: 0.85;\n stroke-dasharray: 90;\n stroke-dashoffset: 60;\n transform-origin: center;\n animation: toast-spinner 1s linear infinite;\n}\n\n.toast-loader-label {\n font-size: 13px;\n}\n\n.toast-message-spacer {\n display: inline-block;\n width: 8px;\n}\n\n/* ========== CTA & BUTTONS ========== */\n.toast-cta {\n margin-left: 10px;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 600;\n line-height: 1;\n border: 1px solid rgba(255, 255, 255, 0.3);\n background: rgba(0, 0, 0, 0.15);\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n text-decoration: none;\n transition: background 0.2s ease;\n}\n\n.toast-cta + .toast-cta {\n margin-left: 6px;\n}\n\n.toast-cta:hover {\n background: rgba(0, 0, 0, 0.25);\n}\n\n.toast-undo-btn {\n margin-left: 10px;\n padding: 5px 10px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n border: 1px solid rgba(255, 255, 255, 0.3);\n background: rgba(255, 255, 255, 0.18);\n color: inherit;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n transition: background 0.2s ease, transform 0.1s ease;\n}\n\n.toast-undo-btn:hover {\n background: rgba(255, 255, 255, 0.28);\n}\n\n.toast-undo-btn:active {\n transform: scale(0.96);\n}\n\n.toast-close-btn {\n background: none;\n border: none;\n color: inherit;\n font-size: 18px;\n margin-left: 10px;\n cursor: pointer;\n line-height: 1;\n padding: 0 4px;\n transition: opacity 0.2s ease;\n}\n\n.toast-close-btn:hover {\n opacity: 0.7;\n}\n\n/* ========== PROGRESS BAR ========== */\n.toast-progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-radius: 2px;\n background: currentColor;\n opacity: 0.8;\n will-change: width;\n transition: width var(--toast-transition-duration, 0.4s) linear;\n}\n\n@keyframes toast-progress-indeterminate {\n 0% {\n left: 0%;\n width: 0%;\n }\n 50% {\n left: 20%;\n width: 60%;\n }\n 100% {\n left: 100%;\n width: 0%;\n }\n}\n\n.toast-progress-bar.toast-progress-bar-indeterminate {\n animation: toast-progress-indeterminate 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;\n}\n\n.toast-progress-top {\n top: 0;\n bottom: auto;\n}\n\n/* ========== COUNT BADGE ========== */\n.toast-count-badge {\n position: absolute;\n top: 6px;\n right: 6px;\n background-color: #f44336;\n color: #ffffff;\n border-radius: 50%;\n min-width: 20px;\n height: 20px;\n font-size: 12px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 2px solid #ffffff;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\n z-index: 2;\n pointer-events: none;\n transition: transform 150ms ease;\n}\n\n/* ========== EMERGENCY TOAST (Fallback) ========== */\n.toast-emergency {\n background: #333333;\n color: white;\n padding: 10px 15px;\n position: fixed;\n z-index: var(--toast-emergency-z-index, 10099);\n border-radius: 3px;\n max-width: 250px;\n word-wrap: break-word;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n}\n\n.toast-emergency-message {\n display: inline-block;\n}\n\n.toast-emergency-close {\n float: right;\n margin-left: 10px;\n font-weight: bold;\n cursor: pointer;\n}\n\n/* ========== ANIMATIONS ========== */\n@keyframes toast-spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes toast-entrance {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes toast-exit {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(20px);\n }\n}\n\n/* ========== POSITION-SPECIFIC INITIAL TRANSFORMS ========== */\n[class*=\"toast-position-top\"] .toast:not(.active) {\n transform: translateY(-20px);\n}\n\n/* ========== ACTIVE STATE ========== */\n.toast.active {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* ========== CUSTOM ANIMATION UTILITIES ========== */\n@keyframes toast-bounce-gentle {\n 0%, 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-8px);\n }\n}\n\n.custom-animation-bounce {\n animation: toast-bounce-gentle 0.6s ease-in-out;\n}\n\n.toast-animation-fade {\n transform: none !important;\n}\n\n.toast-animation-zoom {\n transform: scale(0.75) !important;\n}\n\n.toast-animation-flip {\n transform: perspective(600px) rotateX(45deg) !important;\n}\n\n/* ========== GLASSMORPHISM SUPPORT ========== */\n[data-toast-theme=\"glass\"] .toast {\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n border: 1px solid rgba(255, 255, 255, 0.25);\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n/* ========== HIGH-CONTRAST FOCUS ACCESSIBILITY ========== */\n[data-toast-theme=\"high-contrast\"] button:focus-visible,\n[data-toast-theme=\"high-contrast\"] a:focus-visible {\n outline: 3px solid #ffff00;\n outline-offset: 2px;\n}\n\n/* ========== PINCH & FLICK GESTURES ========== */\n.toast.pinched {\n transform: scale(1.1);\n z-index: 1000;\n}\n\n.toast.flicked {\n transition: transform 200ms ease-out, opacity 200ms ease-out;\n}\n\n@keyframes pinch-expand {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(1.15);\n }\n}\n\n@keyframes pinch-contract {\n from {\n transform: scale(1.15);\n }\n to {\n transform: scale(1);\n }\n}\n\n/* ========== STACKED CARD DECK (CSP MODE & DEFAULT) ========== */\n[data-stacked=\"true\"] .toast-outer-wrapper {\n transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), margin 240ms cubic-bezier(0.16, 1, 0.3, 1), opacity 240ms ease;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"expanded\"] {\n transform: none;\n margin-top: 0px;\n margin-bottom: 10px;\n opacity: 1;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"0\"] {\n transform: scale(1);\n margin-top: 0px;\n margin-bottom: 0px;\n opacity: 1;\n z-index: 30;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"1\"] {\n transform: scale(0.95) translateY(-10px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0.9;\n z-index: 20;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"][id*=\"top\"] .toast-outer-wrapper[data-stacked-depth=\"1\"] {\n transform: scale(0.95) translateY(10px);\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"2\"] {\n transform: scale(0.90) translateY(-20px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0.75;\n z-index: 10;\n pointer-events: auto;\n}\n\n[data-stacked=\"true\"][id*=\"top\"] .toast-outer-wrapper[data-stacked-depth=\"2\"] {\n transform: scale(0.90) translateY(20px);\n}\n\n[data-stacked=\"true\"] .toast-outer-wrapper[data-stacked-depth=\"overflow\"] {\n transform: scale(0.85) translateY(-30px);\n margin-top: -55px;\n margin-bottom: 0px;\n opacity: 0;\n z-index: 1;\n pointer-events: none;\n}\n\n/* ========== STATUS ICONS & HOVER FREEZE SHIMMER ========== */\n.toast-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-right: 8px;\n margin-inline-end: 8px;\n line-height: 1;\n}\n\n[dir=\"rtl\"] .toast-icon,\n.toast[style*=\"direction: rtl\"] .toast-icon {\n margin-right: 0;\n margin-left: 8px;\n}\n\n.toast-icon svg {\n display: block;\n}\n\n.toast.toast-paused {\n box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3), 0 8px 16px rgba(0, 0, 0, 0.2) !important;\n}\n\n.toast.toast-paused .toast-progress-bar {\n opacity: 1 !important;\n filter: brightness(1.2);\n}\n\n/* ========== ACCESSIBILITY: REDUCED MOTION ========== */\n@media (prefers-reduced-motion: reduce) {\n .toast,\n .toast-progress-bar,\n .toast-loader-circle,\n .toast-count-badge,\n .toast-cta,\n .toast-undo-btn,\n .toast-close-btn,\n .toast-outer-wrapper {\n transition: none !important;\n animation: none !important;\n }\n}\n\n[data-toast-reduced-motion=\"always\"] .toast,\n[data-toast-reduced-motion=\"always\"] .toast-progress-bar,\n[data-toast-reduced-motion=\"always\"] .toast-loader-circle,\n[data-toast-reduced-motion=\"always\"] .toast-count-badge,\n[data-toast-reduced-motion=\"always\"] .toast-cta,\n[data-toast-reduced-motion=\"always\"] .toast-undo-btn,\n[data-toast-reduced-motion=\"always\"] .toast-close-btn,\n[data-toast-reduced-motion=\"always\"] .toast-outer-wrapper {\n transition: none !important;\n animation: none !important;\n}\n\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -58,9 +58,16 @@ type ToastGlobalConfig$1 = {
|
|
|
58
58
|
swipeToDismiss: boolean;
|
|
59
59
|
sound: boolean;
|
|
60
60
|
soundPreset?: "modern" | "retro" | "futuristic" | "subtle" | "bell" | string;
|
|
61
|
+
pauseOnHover?: boolean;
|
|
61
62
|
syncTabs: boolean;
|
|
62
63
|
aiPrioritization: boolean;
|
|
63
|
-
|
|
64
|
+
debug?: boolean;
|
|
65
|
+
priorityScorer?: ((context: {
|
|
66
|
+
type: string;
|
|
67
|
+
message: string;
|
|
68
|
+
duration?: number;
|
|
69
|
+
options?: Record<string, unknown>;
|
|
70
|
+
}) => number | {
|
|
64
71
|
score: number;
|
|
65
72
|
}) | null;
|
|
66
73
|
onMetrics?: ((metrics: ToastMetrics$1) => void) | null;
|
|
@@ -81,19 +88,19 @@ declare function updateToastByKey(key: string, newOptions?: Partial<ToastOptions
|
|
|
81
88
|
|
|
82
89
|
declare function resetContainerRegistry(): void;
|
|
83
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Lazily initialize and return a shared AudioContext.
|
|
93
|
+
* Returns null in non-browser or unsupported environments.
|
|
94
|
+
* @param {boolean} [forceResume=true] - Whether to attempt resuming suspended AudioContext
|
|
95
|
+
* @returns {AudioContext | null}
|
|
96
|
+
*/
|
|
97
|
+
declare function getAudioContext(forceResume?: boolean): AudioContext | null;
|
|
84
98
|
/**
|
|
85
99
|
* Returns a shared AnalyserNode for real-time waveform visualization.
|
|
86
100
|
* @returns {AnalyserNode | null}
|
|
87
101
|
*/
|
|
88
102
|
declare function getAudioAnalyser(): AnalyserNode | null;
|
|
89
|
-
|
|
90
|
-
* Synthesizes a pleasant audio chime or tone using pure Web Audio API oscillators.
|
|
91
|
-
* Zero external audio assets or network requests.
|
|
92
|
-
* @param {'success' | 'error' | 'warning' | 'info' | 'pop' | string} [toneType="info"]
|
|
93
|
-
* @param {'modern' | 'retro' | 'futuristic' | 'subtle' | 'bell' | string} [preset="modern"]
|
|
94
|
-
* @returns {void}
|
|
95
|
-
*/
|
|
96
|
-
declare function playTone(toneType?: "success" | "error" | "warning" | "info" | "pop" | string, preset?: "modern" | "retro" | "futuristic" | "subtle" | "bell" | string): void;
|
|
103
|
+
declare function playTone(toneType: string, preset: any): void;
|
|
97
104
|
/**
|
|
98
105
|
* Registers a custom sound synthesis preset.
|
|
99
106
|
* @param {string} name - Name of the preset (e.g. 'arcade')
|
|
@@ -212,15 +219,19 @@ declare function resetToastBroadcaster(): void;
|
|
|
212
219
|
* @typedef {Object} ToastSyncMessage
|
|
213
220
|
* @property {string} type - Message type: 'create', 'update', 'dismiss', 'sync-request', 'sync-response'
|
|
214
221
|
* @property {string} toastId - Unique toast identifier
|
|
215
|
-
* @property {
|
|
222
|
+
* @property {Record<string, unknown>} payload - Message-specific data
|
|
216
223
|
* @property {number} timestamp - Message timestamp
|
|
217
224
|
* @property {string} tabId - Originating tab ID
|
|
218
225
|
*/
|
|
219
226
|
declare class ToastBroadcaster {
|
|
220
|
-
|
|
227
|
+
/** @type {BroadcastChannel | null} */
|
|
228
|
+
channel: BroadcastChannel | null;
|
|
221
229
|
tabId: string;
|
|
222
230
|
isLeadTab: boolean;
|
|
223
|
-
|
|
231
|
+
/** @type {ReturnType<typeof setTimeout> | null} */
|
|
232
|
+
leaderTimer: ReturnType<typeof setTimeout> | null;
|
|
233
|
+
/** @type {Map<string, Array<(data: Record<string, unknown>) => void>>} */
|
|
234
|
+
listeners: Map<string, Array<(data: Record<string, unknown>) => void>>;
|
|
224
235
|
supportsBroadcastChannel: boolean;
|
|
225
236
|
/**
|
|
226
237
|
* Generate unique tab identifier with high cross-tab entropy.
|
|
@@ -242,14 +253,13 @@ declare class ToastBroadcaster {
|
|
|
242
253
|
* @private
|
|
243
254
|
*/
|
|
244
255
|
private _becomeLeadIfNeeded;
|
|
245
|
-
leaderTimer: any;
|
|
246
256
|
/**
|
|
247
257
|
* Broadcast a toast event to other tabs
|
|
248
258
|
* @param {string} type - Event type
|
|
249
259
|
* @param {string} [toastId=''] - Toast ID
|
|
250
|
-
* @param {
|
|
260
|
+
* @param {Record<string, unknown>} [payload={}] - Event payload
|
|
251
261
|
*/
|
|
252
|
-
broadcast(type: string, toastId?: string, payload?:
|
|
262
|
+
broadcast(type: string, toastId?: string, payload?: Record<string, unknown>): void;
|
|
253
263
|
/**
|
|
254
264
|
* Handle incoming message from other tab
|
|
255
265
|
* @private
|
|
@@ -324,7 +334,7 @@ type ToastScoringContext = {
|
|
|
324
334
|
/**
|
|
325
335
|
* - Full toast options
|
|
326
336
|
*/
|
|
327
|
-
options:
|
|
337
|
+
options: Record<string, unknown>;
|
|
328
338
|
};
|
|
329
339
|
type ScorerResult = {
|
|
330
340
|
/**
|
|
@@ -334,7 +344,7 @@ type ScorerResult = {
|
|
|
334
344
|
/**
|
|
335
345
|
* - Score breakdown by factor
|
|
336
346
|
*/
|
|
337
|
-
breakdown:
|
|
347
|
+
breakdown: Record<string, number>;
|
|
338
348
|
/**
|
|
339
349
|
* - Detected keywords affecting score
|
|
340
350
|
*/
|
|
@@ -360,17 +370,17 @@ declare function isFlick(velocity: number, distance: number, velocityThreshold?:
|
|
|
360
370
|
/**
|
|
361
371
|
* Detect pinch gesture (two-finger distance change)
|
|
362
372
|
* @param {GestureState} state
|
|
363
|
-
* @param {number} sensitivityThreshold - Minimum distance change for pinch (default 20px)
|
|
364
|
-
* @returns {
|
|
373
|
+
* @param {number} [sensitivityThreshold=20] - Minimum distance change for pinch (default 20px)
|
|
374
|
+
* @returns {PinchResult} - Pinch info { isPinch, scale, direction, distanceChange }
|
|
365
375
|
*/
|
|
366
|
-
declare function detectPinch(state: GestureState, sensitivityThreshold?: number):
|
|
376
|
+
declare function detectPinch(state: GestureState, sensitivityThreshold?: number): PinchResult;
|
|
367
377
|
/**
|
|
368
378
|
* Create gesture detector function for element
|
|
369
379
|
* @param {HTMLElement} element
|
|
370
|
-
* @param {
|
|
371
|
-
* @returns {
|
|
380
|
+
* @param {GestureDetectorOptions} [options]
|
|
381
|
+
* @returns {GestureDetector} - Detector with attach/detach methods
|
|
372
382
|
*/
|
|
373
|
-
declare function createGestureDetector(element: HTMLElement, options?:
|
|
383
|
+
declare function createGestureDetector(element: HTMLElement, options?: GestureDetectorOptions): GestureDetector;
|
|
374
384
|
type TouchPoint = {
|
|
375
385
|
/**
|
|
376
386
|
* - X coordinate
|
|
@@ -411,6 +421,32 @@ type GestureState = {
|
|
|
411
421
|
*/
|
|
412
422
|
currentDistance: number;
|
|
413
423
|
};
|
|
424
|
+
type PinchResult = {
|
|
425
|
+
isPinch: boolean;
|
|
426
|
+
scale: number;
|
|
427
|
+
direction: "none" | "in" | "out";
|
|
428
|
+
distanceChange?: number;
|
|
429
|
+
};
|
|
430
|
+
type SwipeResult = {
|
|
431
|
+
distance: number;
|
|
432
|
+
velocity: number;
|
|
433
|
+
direction: "none" | "left" | "right";
|
|
434
|
+
duration: number;
|
|
435
|
+
};
|
|
436
|
+
type GestureDetectorOptions = {
|
|
437
|
+
onFlick?: ((swipe: SwipeResult) => void);
|
|
438
|
+
onPinch?: ((pinch: PinchResult) => void);
|
|
439
|
+
onSwipe?: ((swipe: SwipeResult) => void);
|
|
440
|
+
flickVelocityThreshold?: number;
|
|
441
|
+
swipeVelocityThreshold?: number;
|
|
442
|
+
swipeDistanceThreshold?: number;
|
|
443
|
+
pinchSensitivity?: number;
|
|
444
|
+
};
|
|
445
|
+
type GestureDetector = {
|
|
446
|
+
attach: () => void;
|
|
447
|
+
detach: () => void;
|
|
448
|
+
getState: () => GestureState | null;
|
|
449
|
+
};
|
|
414
450
|
|
|
415
451
|
/**
|
|
416
452
|
* Reset the internal monotonic counter (primarily for test isolation)
|
|
@@ -534,6 +570,10 @@ type CTAOptions = {
|
|
|
534
570
|
rel?: string;
|
|
535
571
|
ariaLabel?: string;
|
|
536
572
|
autoClose?: boolean;
|
|
573
|
+
color?: string;
|
|
574
|
+
textColor?: string;
|
|
575
|
+
background?: string;
|
|
576
|
+
backgroundColor?: string;
|
|
537
577
|
onClick?: (e: MouseEvent) => void | Promise<void>;
|
|
538
578
|
};
|
|
539
579
|
type UndoOptions = {
|
|
@@ -591,9 +631,12 @@ type ToastOptions = {
|
|
|
591
631
|
showProgressBar?: boolean;
|
|
592
632
|
animationDuration?: string;
|
|
593
633
|
animationEasing?: string;
|
|
634
|
+
animationType?: "default" | "fade" | "slide" | "zoom" | "bounce" | "flip" | string;
|
|
594
635
|
progressColor?: string;
|
|
636
|
+
progressBarColor?: string;
|
|
595
637
|
progressHeight?: string;
|
|
596
638
|
progressPosition?: "top" | "bottom";
|
|
639
|
+
progressDirection?: "decreasing" | "increasing" | "ltr" | "rtl" | "reverse" | string;
|
|
597
640
|
pauseOnHover?: boolean;
|
|
598
641
|
allowHtml?: boolean;
|
|
599
642
|
sanitizeHtml?: boolean;
|
|
@@ -614,8 +657,9 @@ type ToastOptions = {
|
|
|
614
657
|
stacked?: boolean;
|
|
615
658
|
sound?: boolean | "success" | "error" | "warning" | "info" | "pop" | string;
|
|
616
659
|
soundPreset?: SoundPreset;
|
|
660
|
+
icon?: boolean | string | HTMLElement | ((options: ToastOptions) => boolean | string | HTMLElement | null | undefined);
|
|
617
661
|
swipeToDismiss?: boolean;
|
|
618
|
-
progress?: number;
|
|
662
|
+
progress?: number | "indeterminate";
|
|
619
663
|
syncTabs?: boolean;
|
|
620
664
|
aiPrioritization?: boolean;
|
|
621
665
|
priority?: number;
|
|
@@ -661,26 +705,129 @@ type ToastGlobalConfig = {
|
|
|
661
705
|
soundPreset?: SoundPreset;
|
|
662
706
|
syncTabs?: boolean;
|
|
663
707
|
aiPrioritization?: boolean;
|
|
664
|
-
|
|
708
|
+
debug?: boolean;
|
|
709
|
+
priorityScorer?: ((context: {
|
|
710
|
+
type: string;
|
|
711
|
+
message: string;
|
|
712
|
+
duration?: number;
|
|
713
|
+
options?: Record<string, unknown>;
|
|
714
|
+
}) => number | {
|
|
665
715
|
score: number;
|
|
666
716
|
}) | null;
|
|
667
717
|
onMetrics?: ((metrics: ToastMetrics) => void) | null;
|
|
668
718
|
};
|
|
669
719
|
type ToastHandle = {
|
|
720
|
+
/**
|
|
721
|
+
* - The unique identifier/key of the toast notification.
|
|
722
|
+
*/
|
|
723
|
+
id?: string;
|
|
670
724
|
dismiss: () => Promise<void>;
|
|
671
725
|
update: (newOptions: Partial<ToastOptions>) => Promise<void>;
|
|
672
726
|
};
|
|
673
727
|
type ToastPromiseMessages = {
|
|
674
|
-
loading?: string
|
|
675
|
-
success?: string | ((result: unknown) => string);
|
|
676
|
-
error?: string | ((error: unknown) => string);
|
|
728
|
+
loading?: string | Partial<ToastOptions>;
|
|
729
|
+
success?: string | Partial<ToastOptions> | ((result: unknown) => string | Partial<ToastOptions>);
|
|
730
|
+
error?: string | Partial<ToastOptions> | ((error: unknown) => string | Partial<ToastOptions>);
|
|
677
731
|
};
|
|
678
732
|
/**
|
|
679
733
|
* Creates and displays a toast notification.
|
|
680
|
-
*
|
|
734
|
+
* Supports string shorthand: `createToast("Message")` or full options `createToast({ message: "..." })`.
|
|
735
|
+
* Also provides ergonomic shorthand methods: `createToast.success(...)`, `createToast.error(...)`, etc.
|
|
736
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
737
|
+
* @param {Partial<ToastOptions>} [maybeOptions]
|
|
738
|
+
* @returns {Promise<ToastHandle>}
|
|
739
|
+
*/
|
|
740
|
+
declare function createToastWithPriority(messageOrOptions?: string | ToastOptions, maybeOptions?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
741
|
+
declare namespace createToastWithPriority {
|
|
742
|
+
/**
|
|
743
|
+
* Displays a success toast notification.
|
|
744
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
745
|
+
* @param {Partial<ToastOptions>} [options]
|
|
746
|
+
* @returns {Promise<ToastHandle>}
|
|
747
|
+
*/
|
|
748
|
+
export function success(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
749
|
+
/**
|
|
750
|
+
* Displays an error toast notification.
|
|
751
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
752
|
+
* @param {Partial<ToastOptions>} [options]
|
|
753
|
+
* @returns {Promise<ToastHandle>}
|
|
754
|
+
*/
|
|
755
|
+
export function error(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
756
|
+
/**
|
|
757
|
+
* Displays a warning toast notification.
|
|
758
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
759
|
+
* @param {Partial<ToastOptions>} [options]
|
|
760
|
+
* @returns {Promise<ToastHandle>}
|
|
761
|
+
*/
|
|
762
|
+
export function warning(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
763
|
+
/**
|
|
764
|
+
* Displays an informational toast notification.
|
|
765
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
766
|
+
* @param {Partial<ToastOptions>} [options]
|
|
767
|
+
* @returns {Promise<ToastHandle>}
|
|
768
|
+
*/
|
|
769
|
+
export function info(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
770
|
+
/**
|
|
771
|
+
* Displays a persistent loading toast with an animated spinner.
|
|
772
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
773
|
+
* @param {Partial<ToastOptions>} [options]
|
|
774
|
+
* @returns {Promise<ToastHandle>}
|
|
775
|
+
*/
|
|
776
|
+
export function loading(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
777
|
+
/**
|
|
778
|
+
* Displays a custom styled HTML toast notification.
|
|
779
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
780
|
+
* @param {Partial<ToastOptions>} [options]
|
|
781
|
+
* @returns {Promise<ToastHandle>}
|
|
782
|
+
*/
|
|
783
|
+
export function custom(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
784
|
+
export { toastPromise as promise };
|
|
785
|
+
export { dismissToast as dismiss };
|
|
786
|
+
export { noopAll as dismissAll };
|
|
787
|
+
export { noopAll as clear };
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* Displays a success toast notification.
|
|
791
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
792
|
+
* @param {Partial<ToastOptions>} [options]
|
|
793
|
+
* @returns {Promise<ToastHandle>}
|
|
794
|
+
*/
|
|
795
|
+
declare function success(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
796
|
+
/**
|
|
797
|
+
* Displays an error toast notification.
|
|
798
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
799
|
+
* @param {Partial<ToastOptions>} [options]
|
|
681
800
|
* @returns {Promise<ToastHandle>}
|
|
682
801
|
*/
|
|
683
|
-
declare function
|
|
802
|
+
declare function error(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
803
|
+
/**
|
|
804
|
+
* Displays a warning toast notification.
|
|
805
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
806
|
+
* @param {Partial<ToastOptions>} [options]
|
|
807
|
+
* @returns {Promise<ToastHandle>}
|
|
808
|
+
*/
|
|
809
|
+
declare function warning(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
810
|
+
/**
|
|
811
|
+
* Displays an informational toast notification.
|
|
812
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
813
|
+
* @param {Partial<ToastOptions>} [options]
|
|
814
|
+
* @returns {Promise<ToastHandle>}
|
|
815
|
+
*/
|
|
816
|
+
declare function info(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
817
|
+
/**
|
|
818
|
+
* Displays a persistent loading toast with an animated spinner.
|
|
819
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
820
|
+
* @param {Partial<ToastOptions>} [options]
|
|
821
|
+
* @returns {Promise<ToastHandle>}
|
|
822
|
+
*/
|
|
823
|
+
declare function loading(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
824
|
+
/**
|
|
825
|
+
* Displays a custom styled HTML toast notification.
|
|
826
|
+
* @param {string | ToastOptions} [messageOrOptions]
|
|
827
|
+
* @param {Partial<ToastOptions>} [options]
|
|
828
|
+
* @returns {Promise<ToastHandle>}
|
|
829
|
+
*/
|
|
830
|
+
declare function custom(messageOrOptions?: string | ToastOptions, options?: Partial<ToastOptions>): Promise<ToastHandle>;
|
|
684
831
|
/**
|
|
685
832
|
* Sets default background colors for toast types.
|
|
686
833
|
* @param {Partial<Record<ToastType, string>>} colors
|
|
@@ -691,9 +838,17 @@ declare function setDefaultColors(colors: Partial<Record<ToastType, string>>): v
|
|
|
691
838
|
* @param {Partial<Record<ToastType, string>>} messages
|
|
692
839
|
*/
|
|
693
840
|
declare function setDefaultMessages(messages: Partial<Record<ToastType, string>>): void;
|
|
694
|
-
|
|
841
|
+
/**
|
|
842
|
+
* Dismisses a toast by its key/id, handle, element, or dismisses the most recent toast if target is omitted.
|
|
843
|
+
* @param {string | ToastHandle | HTMLElement | Promise<ToastHandle>} [target]
|
|
844
|
+
* @returns {Promise<void>}
|
|
845
|
+
*/
|
|
846
|
+
declare function dismissToast(target?: string | ToastHandle | HTMLElement | Promise<ToastHandle>): Promise<void>;
|
|
695
847
|
declare function noopAll(): Promise<void>;
|
|
696
|
-
declare
|
|
848
|
+
declare function dismissAll(): Promise<void>;
|
|
849
|
+
declare function clear(): Promise<void>;
|
|
850
|
+
/** @type {string} */
|
|
851
|
+
declare const version: string;
|
|
697
852
|
/**
|
|
698
853
|
* Wraps a promise or function with automatic loading, success, and error toasts.
|
|
699
854
|
* @template T
|
|
@@ -704,5 +859,5 @@ declare const version: any;
|
|
|
704
859
|
*/
|
|
705
860
|
declare function toastPromise<T>(promiseOrFn: Promise<T> | (() => Promise<T> | T), messages?: ToastPromiseMessages, options?: ToastOptions): Promise<T>;
|
|
706
861
|
|
|
707
|
-
export { calculateSpringSettlingDuration, calculateToastPriority, calculateVelocity, categorizeToast, createGestureDetector, createToastWithPriority as createToast, detectPinch, dismissToast as dismiss, generateSpringLinearEasing, generateToastId, getAudioAnalyser, getConfig, getSoundPresets, getSpringPresets, getSpringTransition, getToastBroadcaster, getToastMetrics, getToastPool, isAudioEnabled, isFlick, noopAll as noop, playTone, registerSoundPreset, registerSpringPreset, resetAudioContext, resetConfig, resetContainerRegistry, resetSoundPresets, resetSpringPresets, resetToastBroadcaster, resetToastIdCounter, resetToastManager, resetToastPool, resolveSpringConfig, setAudioEnabled, setConfig, setDefaultColors, setDefaultMessages, shouldReduceMotion, solveSpring, toastPromise, updateToastByKey, version };
|
|
862
|
+
export { calculateSpringSettlingDuration, calculateToastPriority, calculateVelocity, categorizeToast, clear, createGestureDetector, createToastWithPriority as createToast, custom, createToastWithPriority as default, detectPinch, dismissToast as dismiss, dismissAll, error, generateSpringLinearEasing, generateToastId, getAudioAnalyser, getAudioContext, getConfig, getSoundPresets, getSpringPresets, getSpringTransition, getToastBroadcaster, getToastMetrics, getToastPool, info, isAudioEnabled, isFlick, loading, noopAll as noop, playTone, registerSoundPreset, registerSpringPreset, resetAudioContext, resetConfig, resetContainerRegistry, resetSoundPresets, resetSpringPresets, resetToastBroadcaster, resetToastIdCounter, resetToastManager, resetToastPool, resolveSpringConfig, setAudioEnabled, setConfig, setDefaultColors, setDefaultMessages, shouldReduceMotion, solveSpring, success, toastPromise, updateToastByKey, version, warning };
|
|
708
863
|
export type { CTAOptions, ReducedMotionMode, SoundPreset, SpringConfig, SpringPreset, ToastGlobalConfig, ToastHandle, ToastLoaderOptions, ToastMetrics, ToastMountTarget, ToastOptions, ToastPosition, ToastPromiseMessages, ToastTheme, ToastType, UndoOptions };
|