react-toast-msg 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 SudhuCodes
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -2,27 +2,23 @@
2
2
 
3
3
  A lightweight, zero-config, customizable React toast notification library — just plug and play.
4
4
 
5
- ## Features
5
+ ## Features
6
6
 
7
- - Extremely fast and minimal
8
- - 📦 Tree-shakable and zero external CSS
9
- - 🧩 Works with both `import` and `require`
10
- - 🎨 Easy to style with utility classes
11
- - Works with React 18+
7
+ - Extremely fast and minimal
8
+ - Works with both `import` and `require`
9
+ - Easy to style with utility classes
10
+ - Works with React 18+
11
+ - Supports multiple variants (success, error more coming soon)
12
12
 
13
- ---
14
13
 
15
- ## 📦 Installation
14
+ ## Installation
16
15
 
17
16
  ```bash
18
17
  npm install react-toast-msg
19
- # or
20
- yarn add react-toast-msg
21
18
  ````
22
19
 
23
- ---
24
20
 
25
- ## 🔧 Usage
21
+ ## Usage
26
22
 
27
23
  ### 1. Add the `ToastContainer` at the root of your app (once):
28
24
 
@@ -30,53 +26,51 @@ yarn add react-toast-msg
30
26
  import { ToastContainer, toast } from 'react-toast-msg';
31
27
 
32
28
  function App() {
33
- return (
34
- <>
35
- <ToastContainer />
36
- <button onClick={() => toast('This is a toast!')}>Show Toast</button>
37
- </>
38
- );
29
+ return (
30
+ <>
31
+ <ToastContainer />
32
+ <button onClick={() => toast.success('This is a success toast!')}>
33
+ Show Success Toast
34
+ </button>
35
+ <button onClick={() => toast.error('This is an error toast!')}>
36
+ Show Error Toast
37
+ </button>
38
+ </>
39
+ );
39
40
  }
40
41
  ```
41
42
 
42
- ---
43
43
 
44
- ## 🪄 Variants
44
+ ## Variants
45
45
 
46
46
  ```js
47
- toast('Default toast');
48
47
  toast.success('Success message!');
49
48
  toast.error('Something went wrong!');
50
- toast.info('Some useful info');
51
49
  ```
52
50
 
53
- ---
54
51
 
55
- ## 🎨 Customization (Coming Soon)
52
+ ## Customization (Coming Soon)
56
53
 
57
- Style your toasts with Tailwind, classNames, or inline styles. Theme support and placement config coming in the next release.
54
+ | Property | Description | Default |
55
+ | -------- | ----------- | ------- |
56
+ | `duration` | Duration of the toast in milliseconds | `3000` |
58
57
 
59
- ---
60
58
 
61
- ## 🔌 API
59
+ ## Contributing
62
60
 
63
- | Function | Description |
64
- | -------------------- | ------------------ |
65
- | `toast(msg)` | Show a basic toast |
66
- | `toast.success(msg)` | Success variant |
67
- | `toast.error(msg)` | Error variant |
68
- | `toast.info(msg)` | Info variant |
61
+ > react-toast-msg is an open-source project — and you can help make it better! Whether you want to:
69
62
 
70
- ---
63
+ - Suggest new features
64
+ - Improve performance or accessibility
65
+ - Fix bugs
66
+ - Refactor code or improve documentation
71
67
 
72
- ## 📚 License
73
68
 
74
- MIT © [Sudhanshu Kumar](https://github.com/sudhucodes)
69
+ We’d love your input!
75
70
 
76
- ---
71
+ Start by checking out the [GitHub repo](https://github.com/sudhucodes/react-toast-msg) — issues, discussions, and PRs are welcome. Let's build something amazing together 🚀
77
72
 
78
- ## 🌐 Links
73
+ ## Links
79
74
 
80
- * 📁 [GitHub Repo](https://github.com/sudhucodes/react-toast-msg)
81
- * 🐞 [Issue Tracker](https://github.com/sudhucodes/react-toast-msg/issues)
82
- * 📦 [npm Package](https://www.npmjs.com/package/react-toast-msg)
75
+ * [GitHub Repo](https://github.com/sudhucodes/react-toast-msg)
76
+ * [npm Package](https://www.npmjs.com/package/react-toast-msg)
package/dist/index.es.js CHANGED
@@ -11,6 +11,14 @@ function _arrayWithHoles(r) {
11
11
  function _arrayWithoutHoles(r) {
12
12
  if (Array.isArray(r)) return _arrayLikeToArray(r);
13
13
  }
14
+ function _defineProperty(e, r, t) {
15
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
16
+ value: t,
17
+ enumerable: !0,
18
+ configurable: !0,
19
+ writable: !0
20
+ }) : e[r] = t, e;
21
+ }
14
22
  function _iterableToArray(r) {
15
23
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
16
24
  }
@@ -47,12 +55,47 @@ function _nonIterableRest() {
47
55
  function _nonIterableSpread() {
48
56
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
49
57
  }
58
+ function ownKeys(e, r) {
59
+ var t = Object.keys(e);
60
+ if (Object.getOwnPropertySymbols) {
61
+ var o = Object.getOwnPropertySymbols(e);
62
+ r && (o = o.filter(function (r) {
63
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
64
+ })), t.push.apply(t, o);
65
+ }
66
+ return t;
67
+ }
68
+ function _objectSpread2(e) {
69
+ for (var r = 1; r < arguments.length; r++) {
70
+ var t = null != arguments[r] ? arguments[r] : {};
71
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
72
+ _defineProperty(e, r, t[r]);
73
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
74
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
75
+ });
76
+ }
77
+ return e;
78
+ }
50
79
  function _slicedToArray(r, e) {
51
80
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
52
81
  }
53
82
  function _toConsumableArray(r) {
54
83
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
55
84
  }
85
+ function _toPrimitive(t, r) {
86
+ if ("object" != typeof t || !t) return t;
87
+ var e = t[Symbol.toPrimitive];
88
+ if (void 0 !== e) {
89
+ var i = e.call(t, r || "default");
90
+ if ("object" != typeof i) return i;
91
+ throw new TypeError("@@toPrimitive must return a primitive value.");
92
+ }
93
+ return ("string" === r ? String : Number)(t);
94
+ }
95
+ function _toPropertyKey(t) {
96
+ var i = _toPrimitive(t, "string");
97
+ return "symbol" == typeof i ? i : i + "";
98
+ }
56
99
  function _unsupportedIterableToArray(r, a) {
57
100
  if (r) {
58
101
  if ("string" == typeof r) return _arrayLikeToArray(r, a);
@@ -61,6 +104,90 @@ function _unsupportedIterableToArray(r, a) {
61
104
  }
62
105
  }
63
106
 
107
+ function ToastContainer(_ref) {
108
+ var _ref$duration = _ref.duration,
109
+ duration = _ref$duration === void 0 ? 3000 : _ref$duration;
110
+ var _useState = useState([]),
111
+ _useState2 = _slicedToArray(_useState, 2),
112
+ toasts = _useState2[0],
113
+ setToasts = _useState2[1];
114
+ useEffect(function () {
115
+ _register(function (toast) {
116
+ var newToast = _objectSpread2(_objectSpread2({}, toast), {}, {
117
+ id: Date.now() + Math.random()
118
+ });
119
+ setToasts(function (prev) {
120
+ return [newToast].concat(_toConsumableArray(prev));
121
+ });
122
+ setTimeout(function () {
123
+ setToasts(function (prev) {
124
+ return prev.filter(function (t) {
125
+ return t.id !== newToast.id;
126
+ });
127
+ });
128
+ }, duration);
129
+ });
130
+ }, []);
131
+ return /*#__PURE__*/React.createElement("div", {
132
+ className: "toast-container"
133
+ }, toasts.map(function (t) {
134
+ return /*#__PURE__*/React.createElement("div", {
135
+ key: t.id,
136
+ className: "toast toast-".concat(t.type)
137
+ }, /*#__PURE__*/React.createElement("div", {
138
+ className: "toast-content"
139
+ }, t.type === 'success' ? /*#__PURE__*/React.createElement("svg", {
140
+ className: "toast-icon toast-".concat(t.type, "-icon"),
141
+ "aria-hidden": "true",
142
+ xmlns: "http://www.w3.org/2000/svg",
143
+ width: "28",
144
+ height: "28",
145
+ fill: "currentColor",
146
+ viewBox: "0 0 24 24"
147
+ }, /*#__PURE__*/React.createElement("path", {
148
+ fillRule: "evenodd",
149
+ d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm13.707-1.293a1 1 0 0 0-1.414-1.414L11 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4-4Z",
150
+ clipRule: "evenodd"
151
+ })) : /*#__PURE__*/React.createElement("svg", {
152
+ className: "toast-icon toast-".concat(t.type, "-icon"),
153
+ "aria-hidden": "true",
154
+ xmlns: "http://www.w3.org/2000/svg",
155
+ width: "28",
156
+ height: "28",
157
+ fill: "currentColor",
158
+ viewBox: "0 0 24 24"
159
+ }, /*#__PURE__*/React.createElement("path", {
160
+ fillRule: "evenodd",
161
+ d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm7.707-3.707a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293Z",
162
+ clipRule: "evenodd"
163
+ })), /*#__PURE__*/React.createElement("p", null, t.message)), /*#__PURE__*/React.createElement("button", {
164
+ className: "toast-close",
165
+ "aria-label": "Close",
166
+ onClick: function onClick() {
167
+ return setToasts(function (prev) {
168
+ return prev.filter(function (x) {
169
+ return x.id !== t.id;
170
+ });
171
+ });
172
+ }
173
+ }, /*#__PURE__*/React.createElement("svg", {
174
+ className: "close-icon",
175
+ "aria-hidden": "true",
176
+ xmlns: "http://www.w3.org/2000/svg",
177
+ width: "24",
178
+ height: "24",
179
+ fill: "none",
180
+ viewBox: "0 0 24 24"
181
+ }, /*#__PURE__*/React.createElement("path", {
182
+ stroke: "currentColor",
183
+ strokeLinecap: "round",
184
+ strokeLinejoin: "round",
185
+ strokeWidth: "2",
186
+ d: "M6 18 17.94 6M18 18 6.06 6"
187
+ }))));
188
+ }));
189
+ }
190
+
64
191
  function styleInject(css, ref) {
65
192
  if ( ref === void 0 ) ref = {};
66
193
  var insertAt = ref.insertAt;
@@ -88,44 +215,11 @@ function styleInject(css, ref) {
88
215
  }
89
216
  }
90
217
 
91
- var css_248z = ".toast-container {\r\n position: fixed;\r\n top: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n z-index: 9999;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n width: auto;\r\n max-width: 90vw;\r\n}\r\n\r\n.toast {\r\n padding: 10px 20px;\r\n border-radius: 4px;\r\n color: #000;\r\n background-color: #fff;\r\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\r\n min-width: 200px;\r\n max-width: 400px;\r\n opacity: 0;\r\n animation: fadeInOut 3s ease-in-out forwards;\r\n}\r\n\r\n.toast.success {\r\n background-color: #d4edda;\r\n}\r\n\r\n.toast.error {\r\n background-color: #f8d7da;\r\n}\r\n\r\n@keyframes fadeInOut {\r\n 0% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n\r\n 10% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 90% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n}";
218
+ var css_248z = ":root{--color-success-bg:oklch(0.962 0.044 156.743);--color-success-border:oklch(0.723 0.219 149.579);--color-success-icon:oklch(0.627 0.194 149.214);--color-success-text:oklch(0.393 0.095 152.535);--color-error-bg:oklch(0.936 0.032 17.717);--color-error-border:oklch(0.637 0.237 25.331);--color-error-icon:oklch(0.577 0.245 27.325);--color-error-text:oklch(0.396 0.141 25.723)}*{box-sizing:border-box;margin:0;padding:0}.toast-container{align-items:end;display:flex;flex-direction:column;gap:8px;height:100vh;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:start;animation:reveal .3s ease-in-out forwards;border-left:4px solid;border-radius:.375rem;display:flex;justify-content:space-between;opacity:0;padding:.5rem .5rem .5rem 0;transform:translateX(100%);width:300px}.toast-content{align-items:center;display:flex;padding:.5rem}.toast-icon{flex-shrink:0;height:1.75rem;margin-right:.5rem;width:1.75rem}.toast-close{background:none;border:none;color:#333;cursor:pointer;margin-left:1rem}.close-icon{height:1rem;width:1rem}@keyframes reveal{to{opacity:1;transform:translateX(0)}}.toast-success{background-color:var(--color-success-bg);border-left-color:var(--color-success-border);color:var(--color-success-text)}.toast-error{background-color:var(--color-error-bg);border-left-color:var(--color-error-border);color:var(--color-error-text)}.toast-success-icon{color:var(--color-success-icon)}.toast-error-icon{color:var(--color-error-icon)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFDSSw2Q0FBOEMsQ0FDOUMsaURBQWtELENBQ2xELCtDQUFnRCxDQUNoRCwrQ0FBZ0QsQ0FFaEQsMENBQTJDLENBQzNDLDhDQUErQyxDQUMvQyw0Q0FBNkMsQ0FDN0MsNENBQ0osQ0FFQSxFQUdJLHFCQUFzQixDQUZ0QixRQUFTLENBQ1QsU0FFSixDQUVBLGlCQU9JLGVBQWdCLENBRGhCLFlBQWEsQ0FFYixxQkFBc0IsQ0FDdEIsT0FBUSxDQUxSLFlBQWEsQ0FIYixjQUFlLENBRWYsVUFBVyxDQURYLFFBQVMsQ0FHVCxZQUtKLENBRUEsT0FFSSxpQkFBa0IsQ0FTbEIseUNBQTJDLENBSjNDLHFCQUFzQixDQUN0QixxQkFBdUIsQ0FQdkIsWUFBYSxDQUViLDZCQUE4QixDQU05QixTQUFVLENBSFYsMkJBQWtCLENBSWxCLDBCQUEyQixDQU4zQixXQVFKLENBRUEsZUFFSSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLGFBQ0osQ0FFQSxZQUlJLGFBQWMsQ0FGZCxjQUFlLENBQ2Ysa0JBQW9CLENBRnBCLGFBSUosQ0FFQSxhQUVJLGVBQWdCLENBQ2hCLFdBQVksQ0FDWixVQUFzQixDQUN0QixjQUFlLENBSmYsZ0JBS0osQ0FFQSxZQUVJLFdBQVksQ0FEWixVQUVKLENBRUEsa0JBQ0ksR0FDSSxTQUFVLENBQ1YsdUJBQ0osQ0FDSixDQUdBLGVBQ0ksd0NBQXlDLENBQ3pDLDZDQUE4QyxDQUM5QywrQkFDSixDQUVBLGFBQ0ksc0NBQXVDLENBQ3ZDLDJDQUE0QyxDQUM1Qyw2QkFDSixDQUVBLG9CQUNJLCtCQUNKLENBRUEsa0JBQ0ksNkJBQ0oiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy1iZzogb2tsY2goMC45NjIgMC4wNDQgMTU2Ljc0Myk7XHJcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyOiBva2xjaCgwLjcyMyAwLjIxOSAxNDkuNTc5KTtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy1pY29uOiBva2xjaCgwLjYyNyAwLjE5NCAxNDkuMjE0KTtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy10ZXh0OiBva2xjaCgwLjM5MyAwLjA5NSAxNTIuNTM1KTtcclxuXHJcbiAgICAtLWNvbG9yLWVycm9yLWJnOiBva2xjaCgwLjkzNiAwLjAzMiAxNy43MTcpO1xyXG4gICAgLS1jb2xvci1lcnJvci1ib3JkZXI6IG9rbGNoKDAuNjM3IDAuMjM3IDI1LjMzMSk7XHJcbiAgICAtLWNvbG9yLWVycm9yLWljb246IG9rbGNoKDAuNTc3IDAuMjQ1IDI3LjMyNSk7XHJcbiAgICAtLWNvbG9yLWVycm9yLXRleHQ6IG9rbGNoKDAuMzk2IDAuMTQxIDI1LjcyMyk7XHJcbn1cclxuXHJcbioge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi50b2FzdC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZW5kO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcblxyXG4udG9hc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMHJlbTtcclxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICBhbmltYXRpb246IHJldmVhbCAwLjNzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG59XHJcblxyXG4udG9hc3QtY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLnRvYXN0LWljb24ge1xyXG4gICAgd2lkdGg6IDEuNzVyZW07XHJcbiAgICBoZWlnaHQ6IDEuNzVyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udG9hc3QtY2xvc2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6IHJnYig1MSwgNTEsIDUxKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNsb3NlLWljb24ge1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICBoZWlnaHQ6IDFyZW07XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmV2ZWFsIHtcclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogVE9BU1QgU1RZTEVTICovXHJcbi50b2FzdC1zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xyXG59XHJcblxyXG4udG9hc3QtZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJvcmRlcik7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XHJcbn1cclxuXHJcbi50b2FzdC1zdWNjZXNzLWljb24ge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtaWNvbik7XHJcbn1cclxuXHJcbi50b2FzdC1lcnJvci1pY29uIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1pY29uKTtcclxufSJdfQ== */";
92
219
  styleInject(css_248z);
93
220
 
94
- function ToastContainer() {
95
- var _useState = useState([]),
96
- _useState2 = _slicedToArray(_useState, 2),
97
- toasts = _useState2[0],
98
- setToasts = _useState2[1];
99
- useEffect(function () {
100
- _register(function (toast) {
101
- setToasts(function (prev) {
102
- return [].concat(_toConsumableArray(prev), [toast]);
103
- });
104
- setTimeout(function () {
105
- setToasts(function (prev) {
106
- return prev.slice(1);
107
- });
108
- }, 3000);
109
- });
110
- }, []);
111
- return /*#__PURE__*/React.createElement("div", {
112
- className: "toast-container"
113
- }, toasts.map(function (t, i) {
114
- return /*#__PURE__*/React.createElement("div", {
115
- key: i,
116
- className: "toast ".concat(t.type)
117
- }, t.message);
118
- }));
119
- }
120
-
121
221
  var addToast;
122
222
  var toast = {
123
- show: function show(message) {
124
- addToast && addToast({
125
- message: message,
126
- type: 'default'
127
- });
128
- },
129
223
  success: function success(message) {
130
224
  addToast && addToast({
131
225
  message: message,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/ToastContainer.jsx","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { useEffect, useState } from 'react';\r\nimport { _register } from './index.js';\r\nimport './global.css';\r\n\r\nexport default function ToastContainer() {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n _register((toast) => {\r\n setToasts((prev) => [...prev, toast]);\r\n setTimeout(() => {\r\n setToasts((prev) => prev.slice(1));\r\n }, 3000);\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\"toast-container\">\r\n {toasts.map((t, i) => (\r\n <div\r\n key={i}\r\n className={`toast ${t.type}`}\r\n >\r\n {t.message}\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}","import ToastContainer from './ToastContainer.jsx';\r\n\r\nlet addToast;\r\n\r\nconst toast = {\r\n show(message) {\r\n addToast && addToast({ message, type: 'default' });\r\n },\r\n success(message) {\r\n addToast && addToast({ message, type: 'success' });\r\n },\r\n error(message) {\r\n addToast && addToast({ message, type: 'error' });\r\n },\r\n};\r\n\r\nfunction _register(fn) {\r\n addToast = fn;\r\n}\r\n\r\nexport { ToastContainer, toast, _register };"],"names":["ToastContainer","_useState","useState","_useState2","_slicedToArray","toasts","setToasts","useEffect","_register","toast","prev","concat","_toConsumableArray","setTimeout","slice","React","createElement","className","map","t","i","key","type","message","addToast","show","success","error","fn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es.js","sources":["../src/ToastContainer.jsx","../node_modules/style-inject/dist/style-inject.es.js","../src/index.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport { _register } from './index.js';\r\n\r\nexport default function ToastContainer({ duration = 3000 }) {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n _register((toast) => {\r\n const newToast = { ...toast, id: Date.now() + Math.random() };\r\n setToasts((prev) => [newToast, ...prev]);\r\n\r\n setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== newToast.id));\r\n }, duration);\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\"toast-container\">\r\n {toasts.map((t) => (\r\n <div key={t.id} className={`toast toast-${t.type}`}>\r\n <div className=\"toast-content\">\r\n {t.type === 'success' ? (\r\n <svg className={`toast-icon toast-${t.type}-icon`} aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fillRule=\"evenodd\" d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm13.707-1.293a1 1 0 0 0-1.414-1.414L11 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4-4Z\" clipRule=\"evenodd\" />\r\n </svg>\r\n ) : (\r\n <svg className={`toast-icon toast-${t.type}-icon`} aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fillRule=\"evenodd\" d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm7.707-3.707a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293Z\" clipRule=\"evenodd\" />\r\n </svg>\r\n )}\r\n\r\n <p>{t.message}</p>\r\n </div>\r\n <button\r\n className=\"toast-close\"\r\n aria-label=\"Close\"\r\n onClick={() => setToasts((prev) => prev.filter((x) => x.id !== t.id))}\r\n >\r\n <svg className=\"close-icon\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\">\r\n <path stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M6 18 17.94 6M18 18 6.06 6\" />\r\n </svg>\r\n </button>\r\n </div>\r\n ))\r\n }\r\n </div >\r\n );\r\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import ToastContainer from './ToastContainer.jsx';\r\nimport './global.css';\r\n\r\nlet addToast;\r\n\r\nconst toast = {\r\n success(message) {\r\n addToast && addToast({ message, type: 'success' });\r\n },\r\n error(message) {\r\n addToast && addToast({ message, type: 'error' });\r\n }\r\n};\r\n\r\nfunction _register(fn) {\r\n addToast = fn;\r\n}\r\n\r\nexport { ToastContainer, toast, _register };"],"names":["ToastContainer","_ref","_ref$duration","duration","_useState","useState","_useState2","_slicedToArray","toasts","setToasts","useEffect","_register","toast","newToast","_objectSpread","id","Date","now","Math","random","prev","concat","_toConsumableArray","setTimeout","filter","t","React","createElement","className","map","key","type","xmlns","width","height","fill","viewBox","fillRule","d","clipRule","message","onClick","x","stroke","strokeLinecap","strokeLinejoin","strokeWidth","addToast","success","error","fn"],"mappings":"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","x_google_ignoreList":[1]}
package/dist/index.js CHANGED
@@ -13,6 +13,14 @@ function _arrayWithHoles(r) {
13
13
  function _arrayWithoutHoles(r) {
14
14
  if (Array.isArray(r)) return _arrayLikeToArray(r);
15
15
  }
16
+ function _defineProperty(e, r, t) {
17
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
18
+ value: t,
19
+ enumerable: !0,
20
+ configurable: !0,
21
+ writable: !0
22
+ }) : e[r] = t, e;
23
+ }
16
24
  function _iterableToArray(r) {
17
25
  if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
18
26
  }
@@ -49,12 +57,47 @@ function _nonIterableRest() {
49
57
  function _nonIterableSpread() {
50
58
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
51
59
  }
60
+ function ownKeys(e, r) {
61
+ var t = Object.keys(e);
62
+ if (Object.getOwnPropertySymbols) {
63
+ var o = Object.getOwnPropertySymbols(e);
64
+ r && (o = o.filter(function (r) {
65
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
66
+ })), t.push.apply(t, o);
67
+ }
68
+ return t;
69
+ }
70
+ function _objectSpread2(e) {
71
+ for (var r = 1; r < arguments.length; r++) {
72
+ var t = null != arguments[r] ? arguments[r] : {};
73
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
74
+ _defineProperty(e, r, t[r]);
75
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
76
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
77
+ });
78
+ }
79
+ return e;
80
+ }
52
81
  function _slicedToArray(r, e) {
53
82
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
54
83
  }
55
84
  function _toConsumableArray(r) {
56
85
  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
57
86
  }
87
+ function _toPrimitive(t, r) {
88
+ if ("object" != typeof t || !t) return t;
89
+ var e = t[Symbol.toPrimitive];
90
+ if (void 0 !== e) {
91
+ var i = e.call(t, r || "default");
92
+ if ("object" != typeof i) return i;
93
+ throw new TypeError("@@toPrimitive must return a primitive value.");
94
+ }
95
+ return ("string" === r ? String : Number)(t);
96
+ }
97
+ function _toPropertyKey(t) {
98
+ var i = _toPrimitive(t, "string");
99
+ return "symbol" == typeof i ? i : i + "";
100
+ }
58
101
  function _unsupportedIterableToArray(r, a) {
59
102
  if (r) {
60
103
  if ("string" == typeof r) return _arrayLikeToArray(r, a);
@@ -63,6 +106,90 @@ function _unsupportedIterableToArray(r, a) {
63
106
  }
64
107
  }
65
108
 
109
+ function ToastContainer(_ref) {
110
+ var _ref$duration = _ref.duration,
111
+ duration = _ref$duration === void 0 ? 3000 : _ref$duration;
112
+ var _useState = React.useState([]),
113
+ _useState2 = _slicedToArray(_useState, 2),
114
+ toasts = _useState2[0],
115
+ setToasts = _useState2[1];
116
+ React.useEffect(function () {
117
+ _register(function (toast) {
118
+ var newToast = _objectSpread2(_objectSpread2({}, toast), {}, {
119
+ id: Date.now() + Math.random()
120
+ });
121
+ setToasts(function (prev) {
122
+ return [newToast].concat(_toConsumableArray(prev));
123
+ });
124
+ setTimeout(function () {
125
+ setToasts(function (prev) {
126
+ return prev.filter(function (t) {
127
+ return t.id !== newToast.id;
128
+ });
129
+ });
130
+ }, duration);
131
+ });
132
+ }, []);
133
+ return /*#__PURE__*/React.createElement("div", {
134
+ className: "toast-container"
135
+ }, toasts.map(function (t) {
136
+ return /*#__PURE__*/React.createElement("div", {
137
+ key: t.id,
138
+ className: "toast toast-".concat(t.type)
139
+ }, /*#__PURE__*/React.createElement("div", {
140
+ className: "toast-content"
141
+ }, t.type === 'success' ? /*#__PURE__*/React.createElement("svg", {
142
+ className: "toast-icon toast-".concat(t.type, "-icon"),
143
+ "aria-hidden": "true",
144
+ xmlns: "http://www.w3.org/2000/svg",
145
+ width: "28",
146
+ height: "28",
147
+ fill: "currentColor",
148
+ viewBox: "0 0 24 24"
149
+ }, /*#__PURE__*/React.createElement("path", {
150
+ fillRule: "evenodd",
151
+ d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm13.707-1.293a1 1 0 0 0-1.414-1.414L11 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4-4Z",
152
+ clipRule: "evenodd"
153
+ })) : /*#__PURE__*/React.createElement("svg", {
154
+ className: "toast-icon toast-".concat(t.type, "-icon"),
155
+ "aria-hidden": "true",
156
+ xmlns: "http://www.w3.org/2000/svg",
157
+ width: "28",
158
+ height: "28",
159
+ fill: "currentColor",
160
+ viewBox: "0 0 24 24"
161
+ }, /*#__PURE__*/React.createElement("path", {
162
+ fillRule: "evenodd",
163
+ d: "M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm7.707-3.707a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293Z",
164
+ clipRule: "evenodd"
165
+ })), /*#__PURE__*/React.createElement("p", null, t.message)), /*#__PURE__*/React.createElement("button", {
166
+ className: "toast-close",
167
+ "aria-label": "Close",
168
+ onClick: function onClick() {
169
+ return setToasts(function (prev) {
170
+ return prev.filter(function (x) {
171
+ return x.id !== t.id;
172
+ });
173
+ });
174
+ }
175
+ }, /*#__PURE__*/React.createElement("svg", {
176
+ className: "close-icon",
177
+ "aria-hidden": "true",
178
+ xmlns: "http://www.w3.org/2000/svg",
179
+ width: "24",
180
+ height: "24",
181
+ fill: "none",
182
+ viewBox: "0 0 24 24"
183
+ }, /*#__PURE__*/React.createElement("path", {
184
+ stroke: "currentColor",
185
+ strokeLinecap: "round",
186
+ strokeLinejoin: "round",
187
+ strokeWidth: "2",
188
+ d: "M6 18 17.94 6M18 18 6.06 6"
189
+ }))));
190
+ }));
191
+ }
192
+
66
193
  function styleInject(css, ref) {
67
194
  if ( ref === void 0 ) ref = {};
68
195
  var insertAt = ref.insertAt;
@@ -90,44 +217,11 @@ function styleInject(css, ref) {
90
217
  }
91
218
  }
92
219
 
93
- var css_248z = ".toast-container {\r\n position: fixed;\r\n top: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n z-index: 9999;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n width: auto;\r\n max-width: 90vw;\r\n}\r\n\r\n.toast {\r\n padding: 10px 20px;\r\n border-radius: 4px;\r\n color: #000;\r\n background-color: #fff;\r\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\r\n min-width: 200px;\r\n max-width: 400px;\r\n opacity: 0;\r\n animation: fadeInOut 3s ease-in-out forwards;\r\n}\r\n\r\n.toast.success {\r\n background-color: #d4edda;\r\n}\r\n\r\n.toast.error {\r\n background-color: #f8d7da;\r\n}\r\n\r\n@keyframes fadeInOut {\r\n 0% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n\r\n 10% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 90% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n}";
220
+ var css_248z = ":root{--color-success-bg:oklch(0.962 0.044 156.743);--color-success-border:oklch(0.723 0.219 149.579);--color-success-icon:oklch(0.627 0.194 149.214);--color-success-text:oklch(0.393 0.095 152.535);--color-error-bg:oklch(0.936 0.032 17.717);--color-error-border:oklch(0.637 0.237 25.331);--color-error-icon:oklch(0.577 0.245 27.325);--color-error-text:oklch(0.396 0.141 25.723)}*{box-sizing:border-box;margin:0;padding:0}.toast-container{align-items:end;display:flex;flex-direction:column;gap:8px;height:100vh;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:start;animation:reveal .3s ease-in-out forwards;border-left:4px solid;border-radius:.375rem;display:flex;justify-content:space-between;opacity:0;padding:.5rem .5rem .5rem 0;transform:translateX(100%);width:300px}.toast-content{align-items:center;display:flex;padding:.5rem}.toast-icon{flex-shrink:0;height:1.75rem;margin-right:.5rem;width:1.75rem}.toast-close{background:none;border:none;color:#333;cursor:pointer;margin-left:1rem}.close-icon{height:1rem;width:1rem}@keyframes reveal{to{opacity:1;transform:translateX(0)}}.toast-success{background-color:var(--color-success-bg);border-left-color:var(--color-success-border);color:var(--color-success-text)}.toast-error{background-color:var(--color-error-bg);border-left-color:var(--color-error-border);color:var(--color-error-text)}.toast-success-icon{color:var(--color-success-icon)}.toast-error-icon{color:var(--color-error-icon)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb2JhbC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFDSSw2Q0FBOEMsQ0FDOUMsaURBQWtELENBQ2xELCtDQUFnRCxDQUNoRCwrQ0FBZ0QsQ0FFaEQsMENBQTJDLENBQzNDLDhDQUErQyxDQUMvQyw0Q0FBNkMsQ0FDN0MsNENBQ0osQ0FFQSxFQUdJLHFCQUFzQixDQUZ0QixRQUFTLENBQ1QsU0FFSixDQUVBLGlCQU9JLGVBQWdCLENBRGhCLFlBQWEsQ0FFYixxQkFBc0IsQ0FDdEIsT0FBUSxDQUxSLFlBQWEsQ0FIYixjQUFlLENBRWYsVUFBVyxDQURYLFFBQVMsQ0FHVCxZQUtKLENBRUEsT0FFSSxpQkFBa0IsQ0FTbEIseUNBQTJDLENBSjNDLHFCQUFzQixDQUN0QixxQkFBdUIsQ0FQdkIsWUFBYSxDQUViLDZCQUE4QixDQU05QixTQUFVLENBSFYsMkJBQWtCLENBSWxCLDBCQUEyQixDQU4zQixXQVFKLENBRUEsZUFFSSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUViLGFBQ0osQ0FFQSxZQUlJLGFBQWMsQ0FGZCxjQUFlLENBQ2Ysa0JBQW9CLENBRnBCLGFBSUosQ0FFQSxhQUVJLGVBQWdCLENBQ2hCLFdBQVksQ0FDWixVQUFzQixDQUN0QixjQUFlLENBSmYsZ0JBS0osQ0FFQSxZQUVJLFdBQVksQ0FEWixVQUVKLENBRUEsa0JBQ0ksR0FDSSxTQUFVLENBQ1YsdUJBQ0osQ0FDSixDQUdBLGVBQ0ksd0NBQXlDLENBQ3pDLDZDQUE4QyxDQUM5QywrQkFDSixDQUVBLGFBQ0ksc0NBQXVDLENBQ3ZDLDJDQUE0QyxDQUM1Qyw2QkFDSixDQUVBLG9CQUNJLCtCQUNKLENBRUEsa0JBQ0ksNkJBQ0oiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy1iZzogb2tsY2goMC45NjIgMC4wNDQgMTU2Ljc0Myk7XHJcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyOiBva2xjaCgwLjcyMyAwLjIxOSAxNDkuNTc5KTtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy1pY29uOiBva2xjaCgwLjYyNyAwLjE5NCAxNDkuMjE0KTtcclxuICAgIC0tY29sb3Itc3VjY2Vzcy10ZXh0OiBva2xjaCgwLjM5MyAwLjA5NSAxNTIuNTM1KTtcclxuXHJcbiAgICAtLWNvbG9yLWVycm9yLWJnOiBva2xjaCgwLjkzNiAwLjAzMiAxNy43MTcpO1xyXG4gICAgLS1jb2xvci1lcnJvci1ib3JkZXI6IG9rbGNoKDAuNjM3IDAuMjM3IDI1LjMzMSk7XHJcbiAgICAtLWNvbG9yLWVycm9yLWljb246IG9rbGNoKDAuNTc3IDAuMjQ1IDI3LjMyNSk7XHJcbiAgICAtLWNvbG9yLWVycm9yLXRleHQ6IG9rbGNoKDAuMzk2IDAuMTQxIDI1LjcyMyk7XHJcbn1cclxuXHJcbioge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi50b2FzdC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZW5kO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogOHB4O1xyXG59XHJcblxyXG4udG9hc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMHJlbTtcclxuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICBhbmltYXRpb246IHJldmVhbCAwLjNzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG59XHJcblxyXG4udG9hc3QtY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAuNXJlbTtcclxufVxyXG5cclxuLnRvYXN0LWljb24ge1xyXG4gICAgd2lkdGg6IDEuNzVyZW07XHJcbiAgICBoZWlnaHQ6IDEuNzVyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4udG9hc3QtY2xvc2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6IHJnYig1MSwgNTEsIDUxKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNsb3NlLWljb24ge1xyXG4gICAgd2lkdGg6IDFyZW07XHJcbiAgICBoZWlnaHQ6IDFyZW07XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcmV2ZWFsIHtcclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogVE9BU1QgU1RZTEVTICovXHJcbi50b2FzdC1zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xyXG59XHJcblxyXG4udG9hc3QtZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJvcmRlcik7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XHJcbn1cclxuXHJcbi50b2FzdC1zdWNjZXNzLWljb24ge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtaWNvbik7XHJcbn1cclxuXHJcbi50b2FzdC1lcnJvci1pY29uIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1pY29uKTtcclxufSJdfQ== */";
94
221
  styleInject(css_248z);
95
222
 
96
- function ToastContainer() {
97
- var _useState = React.useState([]),
98
- _useState2 = _slicedToArray(_useState, 2),
99
- toasts = _useState2[0],
100
- setToasts = _useState2[1];
101
- React.useEffect(function () {
102
- _register(function (toast) {
103
- setToasts(function (prev) {
104
- return [].concat(_toConsumableArray(prev), [toast]);
105
- });
106
- setTimeout(function () {
107
- setToasts(function (prev) {
108
- return prev.slice(1);
109
- });
110
- }, 3000);
111
- });
112
- }, []);
113
- return /*#__PURE__*/React.createElement("div", {
114
- className: "toast-container"
115
- }, toasts.map(function (t, i) {
116
- return /*#__PURE__*/React.createElement("div", {
117
- key: i,
118
- className: "toast ".concat(t.type)
119
- }, t.message);
120
- }));
121
- }
122
-
123
223
  var addToast;
124
224
  var toast = {
125
- show: function show(message) {
126
- addToast && addToast({
127
- message: message,
128
- type: 'default'
129
- });
130
- },
131
225
  success: function success(message) {
132
226
  addToast && addToast({
133
227
  message: message,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/ToastContainer.jsx","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { useEffect, useState } from 'react';\r\nimport { _register } from './index.js';\r\nimport './global.css';\r\n\r\nexport default function ToastContainer() {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n _register((toast) => {\r\n setToasts((prev) => [...prev, toast]);\r\n setTimeout(() => {\r\n setToasts((prev) => prev.slice(1));\r\n }, 3000);\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\"toast-container\">\r\n {toasts.map((t, i) => (\r\n <div\r\n key={i}\r\n className={`toast ${t.type}`}\r\n >\r\n {t.message}\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}","import ToastContainer from './ToastContainer.jsx';\r\n\r\nlet addToast;\r\n\r\nconst toast = {\r\n show(message) {\r\n addToast && addToast({ message, type: 'default' });\r\n },\r\n success(message) {\r\n addToast && addToast({ message, type: 'success' });\r\n },\r\n error(message) {\r\n addToast && addToast({ message, type: 'error' });\r\n },\r\n};\r\n\r\nfunction _register(fn) {\r\n addToast = fn;\r\n}\r\n\r\nexport { ToastContainer, toast, _register };"],"names":["ToastContainer","_useState","useState","_useState2","_slicedToArray","toasts","setToasts","useEffect","_register","toast","prev","concat","_toConsumableArray","setTimeout","slice","React","createElement","className","map","t","i","key","type","message","addToast","show","success","error","fn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../src/ToastContainer.jsx","../node_modules/style-inject/dist/style-inject.es.js","../src/index.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport { _register } from './index.js';\r\n\r\nexport default function ToastContainer({ duration = 3000 }) {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n _register((toast) => {\r\n const newToast = { ...toast, id: Date.now() + Math.random() };\r\n setToasts((prev) => [newToast, ...prev]);\r\n\r\n setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== newToast.id));\r\n }, duration);\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className=\"toast-container\">\r\n {toasts.map((t) => (\r\n <div key={t.id} className={`toast toast-${t.type}`}>\r\n <div className=\"toast-content\">\r\n {t.type === 'success' ? (\r\n <svg className={`toast-icon toast-${t.type}-icon`} aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fillRule=\"evenodd\" d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm13.707-1.293a1 1 0 0 0-1.414-1.414L11 12.586l-1.793-1.793a1 1 0 0 0-1.414 1.414l2.5 2.5a1 1 0 0 0 1.414 0l4-4Z\" clipRule=\"evenodd\" />\r\n </svg>\r\n ) : (\r\n <svg className={`toast-icon toast-${t.type}-icon`} aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fillRule=\"evenodd\" d=\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm7.707-3.707a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293Z\" clipRule=\"evenodd\" />\r\n </svg>\r\n )}\r\n\r\n <p>{t.message}</p>\r\n </div>\r\n <button\r\n className=\"toast-close\"\r\n aria-label=\"Close\"\r\n onClick={() => setToasts((prev) => prev.filter((x) => x.id !== t.id))}\r\n >\r\n <svg className=\"close-icon\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"none\" viewBox=\"0 0 24 24\">\r\n <path stroke=\"currentColor\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M6 18 17.94 6M18 18 6.06 6\" />\r\n </svg>\r\n </button>\r\n </div>\r\n ))\r\n }\r\n </div >\r\n );\r\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import ToastContainer from './ToastContainer.jsx';\r\nimport './global.css';\r\n\r\nlet addToast;\r\n\r\nconst toast = {\r\n success(message) {\r\n addToast && addToast({ message, type: 'success' });\r\n },\r\n error(message) {\r\n addToast && addToast({ message, type: 'error' });\r\n }\r\n};\r\n\r\nfunction _register(fn) {\r\n addToast = fn;\r\n}\r\n\r\nexport { ToastContainer, toast, _register };"],"names":["ToastContainer","_ref","_ref$duration","duration","_useState","useState","_useState2","_slicedToArray","toasts","setToasts","useEffect","_register","toast","newToast","_objectSpread","id","Date","now","Math","random","prev","concat","_toConsumableArray","setTimeout","filter","t","React","createElement","className","map","key","type","xmlns","width","height","fill","viewBox","fillRule","d","clipRule","message","onClick","x","stroke","strokeLinecap","strokeLinejoin","strokeWidth","addToast","success","error","fn"],"mappings":"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","x_google_ignoreList":[1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-toast-msg",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "A lightweight, customizable React toast notification library with zero-config and fast setup.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
package/dist/index.css DELETED
@@ -1,2 +0,0 @@
1
- .toast-container{display:flex;flex-direction:column;gap:8px;left:50%;max-width:90vw;position:fixed;top:20px;transform:translateX(-50%);width:auto;z-index:9999}.toast{animation:fadeInOut 3s ease-in-out forwards;background-color:#fff;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15);color:#000;max-width:400px;min-width:200px;opacity:0;padding:10px 20px}.toast.success{background-color:#d4edda}.toast.error{background-color:#f8d7da}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
2
- /*# sourceMappingURL=index.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["global.css"],"names":[],"mappings":"AAEA,iBAMI,YAAa,CACb,qBAAsB,CACtB,OAAQ,CALR,QAAS,CAOT,cAAe,CATf,cAAe,CACf,QAAS,CAET,0BAA2B,CAK3B,UAAW,CAJX,YAMJ,CAEA,OASI,2CAA4C,CAL5C,qBAAsB,CAFtB,iBAAkB,CAGlB,oCAAyC,CAFzC,UAAW,CAIX,eAAgB,CADhB,eAAgB,CAEhB,SAAU,CAPV,iBASJ,CAEA,eACI,wBACJ,CAEA,aACI,wBACJ,CAEA,qBACI,GACI,SAAU,CACV,2BACJ,CAEA,IACI,SAAU,CACV,uBACJ,CAEA,IACI,SAAU,CACV,uBACJ,CAEA,GACI,SAAU,CACV,2BACJ,CACJ","file":"index.css","sourcesContent":["/* ToastContainer.css */\r\n\r\n.toast-container {\r\n position: fixed;\r\n top: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n z-index: 9999;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n width: auto;\r\n max-width: 90vw;\r\n}\r\n\r\n.toast {\r\n padding: 10px 20px;\r\n border-radius: 4px;\r\n color: #000;\r\n background-color: #fff;\r\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\r\n min-width: 200px;\r\n max-width: 400px;\r\n opacity: 0;\r\n animation: fadeInOut 3s ease-in-out forwards;\r\n}\r\n\r\n.toast.success {\r\n background-color: #d4edda;\r\n}\r\n\r\n.toast.error {\r\n background-color: #f8d7da;\r\n}\r\n\r\n@keyframes fadeInOut {\r\n 0% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n\r\n 10% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 90% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n}"]}
package/dist/index.es.css DELETED
@@ -1,2 +0,0 @@
1
- .toast-container{display:flex;flex-direction:column;gap:8px;left:50%;max-width:90vw;position:fixed;top:20px;transform:translateX(-50%);width:auto;z-index:9999}.toast{animation:fadeInOut 3s ease-in-out forwards;background-color:#fff;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.15);color:#000;max-width:400px;min-width:200px;opacity:0;padding:10px 20px}.toast.success{background-color:#d4edda}.toast.error{background-color:#f8d7da}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
2
- /*# sourceMappingURL=index.es.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["global.css"],"names":[],"mappings":"AAEA,iBAMI,YAAa,CACb,qBAAsB,CACtB,OAAQ,CALR,QAAS,CAOT,cAAe,CATf,cAAe,CACf,QAAS,CAET,0BAA2B,CAK3B,UAAW,CAJX,YAMJ,CAEA,OASI,2CAA4C,CAL5C,qBAAsB,CAFtB,iBAAkB,CAGlB,oCAAyC,CAFzC,UAAW,CAIX,eAAgB,CADhB,eAAgB,CAEhB,SAAU,CAPV,iBASJ,CAEA,eACI,wBACJ,CAEA,aACI,wBACJ,CAEA,qBACI,GACI,SAAU,CACV,2BACJ,CAEA,IACI,SAAU,CACV,uBACJ,CAEA,IACI,SAAU,CACV,uBACJ,CAEA,GACI,SAAU,CACV,2BACJ,CACJ","file":"index.es.css","sourcesContent":["/* ToastContainer.css */\r\n\r\n.toast-container {\r\n position: fixed;\r\n top: 20px;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n z-index: 9999;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 8px;\r\n width: auto;\r\n max-width: 90vw;\r\n}\r\n\r\n.toast {\r\n padding: 10px 20px;\r\n border-radius: 4px;\r\n color: #000;\r\n background-color: #fff;\r\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);\r\n min-width: 200px;\r\n max-width: 400px;\r\n opacity: 0;\r\n animation: fadeInOut 3s ease-in-out forwards;\r\n}\r\n\r\n.toast.success {\r\n background-color: #d4edda;\r\n}\r\n\r\n.toast.error {\r\n background-color: #f8d7da;\r\n}\r\n\r\n@keyframes fadeInOut {\r\n 0% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n\r\n 10% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 90% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(-10px);\r\n }\r\n}"]}