@hanzogui/toast 3.0.1 → 7.0.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.
Files changed (167) hide show
  1. package/package.json +42 -25
  2. package/src/Toast.tsx +5 -5
  3. package/src/ToastAnnounce.tsx +2 -2
  4. package/src/ToastComposable.tsx +1380 -0
  5. package/src/ToastImpl.tsx +19 -7
  6. package/src/ToastItemFrame.tsx +136 -0
  7. package/src/ToastPortal.tsx +2 -2
  8. package/src/ToastProvider.tsx +13 -6
  9. package/src/ToastState.ts +398 -0
  10. package/src/ToastViewport.tsx +11 -10
  11. package/src/Toaster.tsx +181 -0
  12. package/src/createNativeToast.native.tsx +4 -0
  13. package/src/createNativeToast.tsx +18 -24
  14. package/src/dispatchNativeToast.ts +43 -0
  15. package/src/useAnimatedDragGesture.native.ts +255 -0
  16. package/src/useAnimatedDragGesture.ts +319 -0
  17. package/src/useReducedMotion.ts +59 -0
  18. package/src/useToastAnimations.ts +377 -0
  19. package/src/v2.ts +31 -0
  20. package/types/Toast.d.ts +36 -36
  21. package/types/ToastAnnounce.d.ts +4 -4
  22. package/types/ToastComposable.d.ts +199 -0
  23. package/types/ToastImperative.d.ts +2 -2
  24. package/types/ToastImpl.d.ts +12 -12
  25. package/types/ToastItemFrame.d.ts +25 -0
  26. package/types/ToastProvider.d.ts +8 -8
  27. package/types/ToastState.d.ts +179 -0
  28. package/types/ToastViewport.d.ts +12 -12
  29. package/types/Toaster.d.ts +112 -0
  30. package/types/createNativeToast.d.ts +5 -0
  31. package/types/createNativeToast.native.d.ts +1 -0
  32. package/types/dispatchNativeToast.d.ts +12 -0
  33. package/types/useAnimatedDragGesture.d.ts +33 -0
  34. package/types/useAnimatedDragGesture.native.d.ts +33 -0
  35. package/types/useReducedMotion.d.ts +6 -0
  36. package/types/useToastAnimations.d.ts +50 -0
  37. package/types/v2.d.ts +10 -0
  38. package/v2/index.cjs +2 -0
  39. package/v2/index.js +2 -0
  40. package/v2/index.native.cjs +2 -0
  41. package/v2/index.native.js +2 -0
  42. package/LICENSE +0 -21
  43. package/dist/cjs/Toast.cjs +0 -170
  44. package/dist/cjs/Toast.native.js +0 -174
  45. package/dist/cjs/Toast.native.js.map +0 -1
  46. package/dist/cjs/ToastAnnounce.cjs +0 -97
  47. package/dist/cjs/ToastAnnounce.native.js +0 -105
  48. package/dist/cjs/ToastAnnounce.native.js.map +0 -1
  49. package/dist/cjs/ToastImperative.cjs +0 -100
  50. package/dist/cjs/ToastImperative.native.js +0 -122
  51. package/dist/cjs/ToastImperative.native.js.map +0 -1
  52. package/dist/cjs/ToastImpl.cjs +0 -292
  53. package/dist/cjs/ToastImpl.native.js +0 -326
  54. package/dist/cjs/ToastImpl.native.js.map +0 -1
  55. package/dist/cjs/ToastPortal.cjs +0 -44
  56. package/dist/cjs/ToastPortal.native.js +0 -47
  57. package/dist/cjs/ToastPortal.native.js.map +0 -1
  58. package/dist/cjs/ToastProvider.cjs +0 -146
  59. package/dist/cjs/ToastProvider.native.js +0 -159
  60. package/dist/cjs/ToastProvider.native.js.map +0 -1
  61. package/dist/cjs/ToastViewport.cjs +0 -278
  62. package/dist/cjs/ToastViewport.native.js +0 -315
  63. package/dist/cjs/ToastViewport.native.js.map +0 -1
  64. package/dist/cjs/constants.cjs +0 -28
  65. package/dist/cjs/constants.native.js +0 -31
  66. package/dist/cjs/constants.native.js.map +0 -1
  67. package/dist/cjs/createNativeToast.cjs +0 -51
  68. package/dist/cjs/createNativeToast.native.js +0 -48
  69. package/dist/cjs/createNativeToast.native.js.map +0 -1
  70. package/dist/cjs/index.cjs +0 -18
  71. package/dist/cjs/index.native.js +0 -21
  72. package/dist/cjs/index.native.js.map +0 -1
  73. package/dist/cjs/types.cjs +0 -16
  74. package/dist/cjs/types.native.js +0 -19
  75. package/dist/cjs/types.native.js.map +0 -1
  76. package/dist/esm/Toast.mjs +0 -131
  77. package/dist/esm/Toast.mjs.map +0 -1
  78. package/dist/esm/Toast.native.js +0 -132
  79. package/dist/esm/Toast.native.js.map +0 -1
  80. package/dist/esm/ToastAnnounce.mjs +0 -62
  81. package/dist/esm/ToastAnnounce.mjs.map +0 -1
  82. package/dist/esm/ToastAnnounce.native.js +0 -67
  83. package/dist/esm/ToastAnnounce.native.js.map +0 -1
  84. package/dist/esm/ToastImperative.mjs +0 -63
  85. package/dist/esm/ToastImperative.mjs.map +0 -1
  86. package/dist/esm/ToastImperative.native.js +0 -82
  87. package/dist/esm/ToastImperative.native.js.map +0 -1
  88. package/dist/esm/ToastImpl.mjs +0 -256
  89. package/dist/esm/ToastImpl.mjs.map +0 -1
  90. package/dist/esm/ToastImpl.native.js +0 -287
  91. package/dist/esm/ToastImpl.native.js.map +0 -1
  92. package/dist/esm/ToastPortal.mjs +0 -21
  93. package/dist/esm/ToastPortal.mjs.map +0 -1
  94. package/dist/esm/ToastPortal.native.js +0 -21
  95. package/dist/esm/ToastPortal.native.js.map +0 -1
  96. package/dist/esm/ToastProvider.mjs +0 -108
  97. package/dist/esm/ToastProvider.mjs.map +0 -1
  98. package/dist/esm/ToastProvider.native.js +0 -118
  99. package/dist/esm/ToastProvider.native.js.map +0 -1
  100. package/dist/esm/ToastViewport.mjs +0 -241
  101. package/dist/esm/ToastViewport.mjs.map +0 -1
  102. package/dist/esm/ToastViewport.native.js +0 -275
  103. package/dist/esm/ToastViewport.native.js.map +0 -1
  104. package/dist/esm/constants.mjs +0 -4
  105. package/dist/esm/constants.mjs.map +0 -1
  106. package/dist/esm/constants.native.js +0 -4
  107. package/dist/esm/constants.native.js.map +0 -1
  108. package/dist/esm/createNativeToast.mjs +0 -27
  109. package/dist/esm/createNativeToast.mjs.map +0 -1
  110. package/dist/esm/createNativeToast.native.js +0 -21
  111. package/dist/esm/createNativeToast.native.js.map +0 -1
  112. package/dist/esm/index.js +0 -2
  113. package/dist/esm/index.js.map +0 -1
  114. package/dist/esm/index.mjs +0 -2
  115. package/dist/esm/index.mjs.map +0 -1
  116. package/dist/esm/index.native.js +0 -2
  117. package/dist/esm/index.native.js.map +0 -1
  118. package/dist/esm/types.mjs +0 -2
  119. package/dist/esm/types.mjs.map +0 -1
  120. package/dist/esm/types.native.js +0 -2
  121. package/dist/esm/types.native.js.map +0 -1
  122. package/dist/jsx/Toast.mjs +0 -131
  123. package/dist/jsx/Toast.mjs.map +0 -1
  124. package/dist/jsx/Toast.native.js +0 -174
  125. package/dist/jsx/Toast.native.js.map +0 -1
  126. package/dist/jsx/ToastAnnounce.mjs +0 -62
  127. package/dist/jsx/ToastAnnounce.mjs.map +0 -1
  128. package/dist/jsx/ToastAnnounce.native.js +0 -105
  129. package/dist/jsx/ToastAnnounce.native.js.map +0 -1
  130. package/dist/jsx/ToastImperative.mjs +0 -63
  131. package/dist/jsx/ToastImperative.mjs.map +0 -1
  132. package/dist/jsx/ToastImperative.native.js +0 -122
  133. package/dist/jsx/ToastImperative.native.js.map +0 -1
  134. package/dist/jsx/ToastImpl.mjs +0 -256
  135. package/dist/jsx/ToastImpl.mjs.map +0 -1
  136. package/dist/jsx/ToastImpl.native.js +0 -326
  137. package/dist/jsx/ToastImpl.native.js.map +0 -1
  138. package/dist/jsx/ToastPortal.mjs +0 -21
  139. package/dist/jsx/ToastPortal.mjs.map +0 -1
  140. package/dist/jsx/ToastPortal.native.js +0 -47
  141. package/dist/jsx/ToastPortal.native.js.map +0 -1
  142. package/dist/jsx/ToastProvider.mjs +0 -108
  143. package/dist/jsx/ToastProvider.mjs.map +0 -1
  144. package/dist/jsx/ToastProvider.native.js +0 -159
  145. package/dist/jsx/ToastProvider.native.js.map +0 -1
  146. package/dist/jsx/ToastViewport.mjs +0 -241
  147. package/dist/jsx/ToastViewport.mjs.map +0 -1
  148. package/dist/jsx/ToastViewport.native.js +0 -315
  149. package/dist/jsx/ToastViewport.native.js.map +0 -1
  150. package/dist/jsx/constants.mjs +0 -4
  151. package/dist/jsx/constants.mjs.map +0 -1
  152. package/dist/jsx/constants.native.js +0 -31
  153. package/dist/jsx/constants.native.js.map +0 -1
  154. package/dist/jsx/createNativeToast.mjs +0 -27
  155. package/dist/jsx/createNativeToast.mjs.map +0 -1
  156. package/dist/jsx/createNativeToast.native.js +0 -48
  157. package/dist/jsx/createNativeToast.native.js.map +0 -1
  158. package/dist/jsx/index.js +0 -2
  159. package/dist/jsx/index.js.map +0 -1
  160. package/dist/jsx/index.mjs +0 -2
  161. package/dist/jsx/index.mjs.map +0 -1
  162. package/dist/jsx/index.native.js +0 -21
  163. package/dist/jsx/index.native.js.map +0 -1
  164. package/dist/jsx/types.mjs +0 -2
  165. package/dist/jsx/types.mjs.map +0 -1
  166. package/dist/jsx/types.native.js +0 -19
  167. package/dist/jsx/types.native.js.map +0 -1
@@ -1,44 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- });
16
- return to;
17
- };
18
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
20
- }), mod);
21
- var ToastPortal_exports = {};
22
- __export(ToastPortal_exports, {
23
- ToastPortal: () => ToastPortal
24
- });
25
- module.exports = __toCommonJS(ToastPortal_exports);
26
- var import_gui_portal = require("@hanzogui/portal"),
27
- import_react_native = require("react-native-web"),
28
- import_ToastProvider = require("./ToastProvider.cjs"),
29
- import_jsx_runtime = require("react/jsx-runtime");
30
- function ToastPortal(props) {
31
- const {
32
- context,
33
- children,
34
- zIndex
35
- } = props;
36
- let content = children;
37
- return (import_react_native.Platform.OS === "android" || import_react_native.Platform.OS === "ios") && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastProvider.ReprogapateToastProvider, {
38
- context,
39
- children
40
- })), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui_portal.Portal, {
41
- zIndex: zIndex || Number.MAX_SAFE_INTEGER,
42
- children: content
43
- });
44
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
- get: () => from[key],
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- return to;
19
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
22
- }), mod);
23
- var ToastPortal_exports = {};
24
- __export(ToastPortal_exports, {
25
- ToastPortal: () => ToastPortal
26
- });
27
- module.exports = __toCommonJS(ToastPortal_exports);
28
- var import_jsx_runtime = require("react/jsx-runtime"),
29
- import_gui_portal = require("@hanzogui/portal"),
30
- import_react_native = require("react-native"),
31
- import_ToastProvider = require("./ToastProvider.native.js");
32
- function ToastPortal(props) {
33
- var {
34
- context,
35
- children,
36
- zIndex
37
- } = props,
38
- content = children;
39
- return (import_react_native.Platform.OS === "android" || import_react_native.Platform.OS === "ios") && (content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastProvider.ReprogapateToastProvider, {
40
- context,
41
- children
42
- })), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui_portal.Portal, {
43
- zIndex: zIndex || Number.MAX_SAFE_INTEGER,
44
- children: content
45
- });
46
- }
47
- //# sourceMappingURL=ToastPortal.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ToastPortal_exports","__export","ToastPortal","module","exports","import_jsx_runtime","require","import_gui_portal","import_react_native","import_ToastProvider","props","context","children","zIndex","content","Platform","OS","jsx","ReprogapateToastProvider"],"sources":["../../src/ToastPortal.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAuB,CAAAK,mBAAA;AAKhB,IAAAK,kBAAqB,GAAAC,OAIzB;EAAAC,iBAAA,GAAAD,OAAA;EAAAE,mBAAA,GAAAF,OAAA;EAAAG,oBAAA,GAAAH,OAAA;AACD,SAAMJ,WAAWA,CAAAQ,KAAA;EACjB,IAAI;MAAAC,OAAA;MAAUC,QAAA;MAAAC;IAAA,IAAAH,KAAA;IAAAI,OAAA,GAAAF,QAAA;EACd,QAAIJ,mBAAA,CAAAO,QAAA,CAASC,EAAA,KAAO,aAAaR,mBAAA,CAAAO,QAAA,CAASC,EAAA,KAAO,WAC/CF,OAAA,GACE,mBAAAT,kBAAA,CAAAY,GAAA,EAACR,oBAAA,CAAAS,wBAAA;IAIPP,OAAA","ignoreList":[]}
@@ -1,146 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
- get: () => from[key],
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
32
- var ToastProvider_exports = {};
33
- __export(ToastProvider_exports, {
34
- Collection: () => Collection,
35
- ReprogapateToastProvider: () => ReprogapateToastProvider,
36
- ToastProvider: () => ToastProvider,
37
- useCollection: () => useCollection,
38
- useToastProviderContext: () => useToastProviderContext
39
- });
40
- module.exports = __toCommonJS(ToastProvider_exports);
41
- var import_gui_collection = require("@hanzogui/collection"),
42
- import_gui_core = require("@hanzogui/core"),
43
- import_gui_start_transition = require("@hanzogui/start-transition"),
44
- React = __toESM(require("react"), 1),
45
- import_constants = require("./constants.cjs"),
46
- import_ToastImperative = require("./ToastImperative.cjs"),
47
- import_jsx_runtime = require("react/jsx-runtime");
48
- const PROVIDER_NAME = "ToastProvider",
49
- [Collection, useCollection] = (0, import_gui_collection.createCollection)("Toast"),
50
- {
51
- Provider: ToastProviderProvider,
52
- useStyledContext: useToastProviderContext
53
- } = (0, import_gui_core.createStyledContext)(
54
- // since we always provide this we can avoid setting here
55
- {}, "Toast__"),
56
- ToastProvider = props => {
57
- const {
58
- scope = import_constants.TOAST_CONTEXT,
59
- id: providedId,
60
- burntOptions,
61
- native,
62
- notificationOptions,
63
- label = "Notification",
64
- duration = 5e3,
65
- swipeDirection = "right",
66
- swipeThreshold = 50,
67
- children
68
- } = props,
69
- backupId = React.useId(),
70
- id = providedId ?? backupId,
71
- [viewports, setViewports] = React.useState({}),
72
- [toastCount, setToastCount] = React.useState(0),
73
- isFocusedToastEscapeKeyDownRef = React.useRef(!1),
74
- isClosePausedRef = React.useRef(!1),
75
- handleViewportChange = React.useCallback((name, viewport) => {
76
- (0, import_gui_start_transition.startTransition)(() => {
77
- setViewports(prev => ({
78
- ...prev,
79
- [name]: viewport
80
- }));
81
- });
82
- }, []),
83
- options = React.useMemo(() => ({
84
- duration,
85
- burntOptions,
86
- native,
87
- notificationOptions
88
- }), [JSON.stringify([duration, burntOptions, native, notificationOptions])]);
89
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Collection.Provider, {
90
- scope,
91
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastProviderProvider, {
92
- scope,
93
- id,
94
- label,
95
- duration,
96
- swipeDirection,
97
- swipeThreshold,
98
- toastCount,
99
- viewports,
100
- onViewportChange: handleViewportChange,
101
- onToastAdd: React.useCallback(() => {
102
- (0, import_gui_start_transition.startTransition)(() => {
103
- setToastCount(prevCount => prevCount + 1);
104
- });
105
- }, []),
106
- onToastRemove: React.useCallback(() => {
107
- (0, import_gui_start_transition.startTransition)(() => {
108
- setToastCount(prevCount => prevCount - 1);
109
- });
110
- }, []),
111
- isFocusedToastEscapeKeyDownRef,
112
- isClosePausedRef,
113
- options,
114
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImperative.ToastImperativeProvider, {
115
- options,
116
- children
117
- })
118
- })
119
- });
120
- };
121
- function ReprogapateToastProvider(props) {
122
- const {
123
- children,
124
- context
125
- } = props;
126
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Collection.Provider, {
127
- scope: context.toastScope,
128
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastProviderProvider, {
129
- ...context,
130
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImperative.ToastImperativeProvider, {
131
- options: context.options,
132
- children
133
- })
134
- })
135
- });
136
- }
137
- ToastProvider.propTypes = {
138
- label(props) {
139
- if (props.label && typeof props.label == "string" && !props.label.trim()) {
140
- const error = `Invalid prop \`label\` supplied to \`${PROVIDER_NAME}\`. Expected non-empty \`string\`.`;
141
- return new Error(error);
142
- }
143
- return null;
144
- }
145
- };
146
- ToastProvider.displayName = PROVIDER_NAME;
@@ -1,159 +0,0 @@
1
- "use strict";
2
-
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
- get: () => from[key],
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
34
- var ToastProvider_exports = {};
35
- __export(ToastProvider_exports, {
36
- Collection: () => Collection,
37
- ReprogapateToastProvider: () => ReprogapateToastProvider,
38
- ToastProvider: () => ToastProvider,
39
- useCollection: () => useCollection,
40
- useToastProviderContext: () => useToastProviderContext
41
- });
42
- module.exports = __toCommonJS(ToastProvider_exports);
43
- var import_jsx_runtime = require("react/jsx-runtime"),
44
- import_gui_collection = require("@hanzogui/collection"),
45
- import_gui_core = require("@hanzogui/core"),
46
- import_gui_start_transition = require("@hanzogui/start-transition"),
47
- React = __toESM(require("react"), 1),
48
- import_constants = require("./constants.native.js"),
49
- import_ToastImperative = require("./ToastImperative.native.js"),
50
- PROVIDER_NAME = "ToastProvider",
51
- [Collection, useCollection] = (0, import_gui_collection.createCollection)("Toast"),
52
- {
53
- Provider: ToastProviderProvider,
54
- useStyledContext: useToastProviderContext
55
- } = (0, import_gui_core.createStyledContext)(
56
- // since we always provide this we can avoid setting here
57
- {}, "Toast__"),
58
- ToastProvider = function (props) {
59
- var {
60
- scope = import_constants.TOAST_CONTEXT,
61
- id: providedId,
62
- burntOptions,
63
- native,
64
- notificationOptions,
65
- label = "Notification",
66
- duration = 5e3,
67
- swipeDirection = "right",
68
- swipeThreshold = 50,
69
- children
70
- } = props,
71
- backupId = React.useId(),
72
- id = providedId ?? backupId,
73
- [viewports, setViewports] = React.useState({}),
74
- [toastCount, setToastCount] = React.useState(0),
75
- isFocusedToastEscapeKeyDownRef = React.useRef(!1),
76
- isClosePausedRef = React.useRef(!1),
77
- handleViewportChange = React.useCallback(function (name, viewport) {
78
- (0, import_gui_start_transition.startTransition)(function () {
79
- setViewports(function (prev) {
80
- return {
81
- ...prev,
82
- [name]: viewport
83
- };
84
- });
85
- });
86
- }, []),
87
- options = React.useMemo(function () {
88
- return {
89
- duration,
90
- burntOptions,
91
- native,
92
- notificationOptions
93
- };
94
- },
95
- // nested simple object so JSON.stringify
96
- [JSON.stringify([duration, burntOptions, native, notificationOptions])]);
97
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Collection.Provider, {
98
- scope,
99
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastProviderProvider, {
100
- scope,
101
- id,
102
- label,
103
- duration,
104
- swipeDirection,
105
- swipeThreshold,
106
- toastCount,
107
- viewports,
108
- onViewportChange: handleViewportChange,
109
- onToastAdd: React.useCallback(function () {
110
- (0, import_gui_start_transition.startTransition)(function () {
111
- setToastCount(function (prevCount) {
112
- return prevCount + 1;
113
- });
114
- });
115
- }, []),
116
- onToastRemove: React.useCallback(function () {
117
- (0, import_gui_start_transition.startTransition)(function () {
118
- setToastCount(function (prevCount) {
119
- return prevCount - 1;
120
- });
121
- });
122
- }, []),
123
- isFocusedToastEscapeKeyDownRef,
124
- isClosePausedRef,
125
- options,
126
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImperative.ToastImperativeProvider, {
127
- options,
128
- children
129
- })
130
- })
131
- });
132
- };
133
- function ReprogapateToastProvider(props) {
134
- var {
135
- children,
136
- context
137
- } = props;
138
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Collection.Provider, {
139
- scope: context.toastScope,
140
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToastProviderProvider, {
141
- ...context,
142
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToastImperative.ToastImperativeProvider, {
143
- options: context.options,
144
- children
145
- })
146
- })
147
- });
148
- }
149
- ToastProvider.propTypes = {
150
- label(props) {
151
- if (props.label && typeof props.label == "string" && !props.label.trim()) {
152
- var error = `Invalid prop \`label\` supplied to \`${PROVIDER_NAME}\`. Expected non-empty \`string\`.`;
153
- return new Error(error);
154
- }
155
- return null;
156
- }
157
- };
158
- ToastProvider.displayName = PROVIDER_NAME;
159
- //# sourceMappingURL=ToastProvider.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ToastProvider_exports","__export","Collection","ReprogapateToastProvider","ToastProvider","useCollection","useToastProviderContext","module","exports","import_jsx_runtime","require","import_gui_collection","import_gui_core","import_gui_start_transition","React","__toESM","import_constants","import_ToastImperative","PROVIDER_NAME","createCollection","Provider","ToastProviderProvider","useStyledContext","createStyledContext","props","scope","TOAST_CONTEXT","id","providedId","burntOptions","native","notificationOptions","label","duration","swipeDirection","swipeThreshold","children","backupId","useId","viewports","setViewports","useState","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","useRef","isClosePausedRef","handleViewportChange","useCallback","name","viewport","startTransition","prev","options","useMemo","JSON","stringify","jsx","onViewportChange","onToastAdd","prevCount","onToastRemove","ToastImperativeProvider","context"],"sources":["../../src/ToastProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}