d9-toast 1.4.26 → 1.4.27

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.
@@ -16,15 +16,15 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
16
16
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
17
  import React, { createContext, useCallback, useContext, useRef, useState } from "react";
18
18
  import Toast from "./Toast";
19
- import mySound from "./assets/sounds/toast.m4a";
20
19
  import "./toast.css";
21
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
+ export var DEFAULT_TOAST_SOUND = "https://cdn.jsdelivr.net/gh/psathul073/d9-toast-assets@main/toast.m4a";
22
22
  var ToastContext = /*#__PURE__*/createContext();
23
23
  export var useToast = function useToast() {
24
24
  return useContext(ToastContext);
25
25
  };
26
26
  var audioSettings = {
27
- audioFile: mySound,
27
+ audioFile: DEFAULT_TOAST_SOUND,
28
28
  volume: 0.8,
29
29
  enabled: true,
30
30
  cooldown: 500
@@ -41,10 +41,8 @@ export var ToastProvider = function ToastProvider(_ref) {
41
41
  var playAudio = useCallback(function (_ref2) {
42
42
  var audioFile = _ref2.audioFile,
43
43
  _ref2$volume = _ref2.volume,
44
- volume = _ref2$volume === void 0 ? 0.6 : _ref2$volume,
45
- _ref2$enabled = _ref2.enabled,
46
- enabled = _ref2$enabled === void 0 ? true : _ref2$enabled;
47
- if (!enabled || !audioFile) return;
44
+ volume = _ref2$volume === void 0 ? 0.8 : _ref2$volume;
45
+ if (!audioFile || typeof window === "undefined") return;
48
46
  try {
49
47
  var audio = new Audio(audioFile);
50
48
  audio.volume = volume;
@@ -56,12 +54,9 @@ export var ToastProvider = function ToastProvider(_ref) {
56
54
 
57
55
  // Generate unique ID safely
58
56
  var generateId = function generateId() {
59
- return Date.now() + Math.random();
57
+ return typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : Date.now().toString() + Math.random().toString(36);
60
58
  };
61
59
 
62
- // Positions.
63
- // const positions = [
64
-
65
60
  // Show toast..
66
61
  var showToast = useCallback(function (toast) {
67
62
  var _toast$audio$enabled, _toast$audio, _toast$audio$volume, _toast$audio2, _toast$audio$audioFil, _toast$audio3, _toast$audio$cooldown, _toast$audio4;
@@ -117,10 +112,8 @@ export var ToastProvider = function ToastProvider(_ref) {
117
112
 
118
113
  // Remove all toast.
119
114
  var removeToastAll = useCallback(function () {
120
- if (toasts.length > 0) {
121
- setToasts([]);
122
- }
123
- }, [toasts.length]);
115
+ setToasts([]);
116
+ }, []);
124
117
 
125
118
  // Group toasts by there positions..
126
119
  var groupedToasts = toasts.reduce(function (acc, toast) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d9-toast",
3
- "version": "1.4.26",
3
+ "version": "1.4.27",
4
4
  "description": "Customizable toast notifications for React",
5
5
  "homepage": "https://codesandbox.io/embed/cqkyzm?view=preview",
6
6
  "repository": {
Binary file