@marvalt/digivalt-core 0.1.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 (96) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +13 -0
  4. package/dist/components/WordPressFooter.d.ts +17 -0
  5. package/dist/components/index.d.ts +9 -0
  6. package/dist/components/integrations/chatwoot-widget.d.ts +51 -0
  7. package/dist/components/integrations/mautic-tracking.d.ts +9 -0
  8. package/dist/components/molecules/CaseStudyCard.d.ts +10 -0
  9. package/dist/components/molecules/DynamicHeroSection.d.ts +56 -0
  10. package/dist/components/molecules/MemberCard.d.ts +12 -0
  11. package/dist/components/molecules/NavMenu.d.ts +13 -0
  12. package/dist/components/molecules/ProjectCard.d.ts +10 -0
  13. package/dist/components/molecules/SearchForm.d.ts +7 -0
  14. package/dist/components/molecules/TestimonialCard/TestimonialCard.d.ts +7 -0
  15. package/dist/components/molecules/WordPressNavMenu.d.ts +25 -0
  16. package/dist/components/molecules/breadcrumbs.d.ts +17 -0
  17. package/dist/components/molecules/hero-section.d.ts +41 -0
  18. package/dist/components/organisms/GravityFormPopup/GravityFormPopup.d.ts +8 -0
  19. package/dist/components/organisms/GravityFormSubmissions/GravityFormSubmissionsComponent.d.ts +9 -0
  20. package/dist/components/organisms/GravityFormSubmissions/index.d.ts +1 -0
  21. package/dist/components/organisms/Header.d.ts +6 -0
  22. package/dist/components/organisms/Hero.d.ts +2 -0
  23. package/dist/components/organisms/MauticForm/MauticForm.d.ts +9 -0
  24. package/dist/components/organisms/MauticForm/ThemedMauticForm.d.ts +9 -0
  25. package/dist/components/organisms/MauticForm/index.d.ts +1 -0
  26. package/dist/components/organisms/MauticFormPopup/MauticFormPopup.d.ts +9 -0
  27. package/dist/components/organisms/MemberProfileDialog.d.ts +9 -0
  28. package/dist/components/organisms/StaticGravityForm/StaticGravityForm.d.ts +40 -0
  29. package/dist/components/organisms/StaticGravityForm/index.d.ts +2 -0
  30. package/dist/components/organisms/SuiteCRMLeadForm/SuiteCRMLeadForm.d.ts +12 -0
  31. package/dist/components/organisms/SuiteCRMLeadForm/index.d.ts +2 -0
  32. package/dist/config/app-customization.d.ts +92 -0
  33. package/dist/config/environment.d.ts +69 -0
  34. package/dist/config/index.d.ts +2 -0
  35. package/dist/config/integrations.d.ts +234 -0
  36. package/dist/config/themes.d.ts +30 -0
  37. package/dist/config/widths.d.ts +47 -0
  38. package/dist/data/gravityFormsDataStore.d.ts +83 -0
  39. package/dist/data/mauticDataStore.d.ts +17 -0
  40. package/dist/data/mauticDataStoreTest.d.ts +48 -0
  41. package/dist/data/staticDataStore.d.ts +280 -0
  42. package/dist/data/staticDataStore.local.d.ts +251 -0
  43. package/dist/data/staticDataStoreProduction.d.ts +3 -0
  44. package/dist/data/wordpressDataStore.d.ts +117 -0
  45. package/dist/generators/gf.d.ts +3 -0
  46. package/dist/generators/index.d.ts +5 -0
  47. package/dist/generators/mautic.d.ts +3 -0
  48. package/dist/generators/suitecrm.d.ts +3 -0
  49. package/dist/generators/wp.d.ts +3 -0
  50. package/dist/hooks/use-mobile.d.ts +1 -0
  51. package/dist/hooks/use-toast.d.ts +43 -0
  52. package/dist/hooks/useCaseStudies.d.ts +30 -0
  53. package/dist/hooks/useCfWpWebhook.d.ts +29 -0
  54. package/dist/hooks/useCustomization.d.ts +71 -0
  55. package/dist/hooks/useGravityForms.d.ts +50 -0
  56. package/dist/hooks/useGravityFormsNew.d.ts +27 -0
  57. package/dist/hooks/useGravityFormsSubmissions.d.ts +15 -0
  58. package/dist/hooks/useMautic.d.ts +36 -0
  59. package/dist/hooks/useMembers.d.ts +31 -0
  60. package/dist/hooks/useProjects.d.ts +30 -0
  61. package/dist/hooks/useSuiteCRM.d.ts +72 -0
  62. package/dist/hooks/useTestimonials.d.ts +12 -0
  63. package/dist/hooks/useWordPressData.d.ts +115 -0
  64. package/dist/hooks/useWordPressDataNew.d.ts +77 -0
  65. package/dist/index.cjs +10433 -0
  66. package/dist/index.cjs.map +1 -0
  67. package/dist/index.d.ts +1352 -0
  68. package/dist/index.esm.js +10404 -0
  69. package/dist/index.esm.js.map +1 -0
  70. package/dist/lib/structured-data.d.ts +49 -0
  71. package/dist/lib/utils.d.ts +42 -0
  72. package/dist/services/cf-wp-webhook.d.ts +79 -0
  73. package/dist/services/gravityForms.d.ts +26 -0
  74. package/dist/services/index.d.ts +5 -0
  75. package/dist/services/mautic.d.ts +82 -0
  76. package/dist/services/suitecrm.d.ts +98 -0
  77. package/dist/services/wordpress.d.ts +1 -0
  78. package/dist/static/wpStatic.d.ts +189 -0
  79. package/dist/types/caseStudies.d.ts +92 -0
  80. package/dist/types/index.d.ts +1 -0
  81. package/dist/types/members.d.ts +85 -0
  82. package/dist/types/projects.d.ts +90 -0
  83. package/dist/types/wordpress.d.ts +132 -0
  84. package/dist/utils/cfImages.d.ts +21 -0
  85. package/dist/utils/eventStaticData.d.ts +11 -0
  86. package/dist/utils/extractDescriptionFromContent.d.ts +12 -0
  87. package/dist/utils/index.d.ts +1 -0
  88. package/dist/utils/mauticTrackingUtils.d.ts +78 -0
  89. package/dist/utils/memberImageUtils.d.ts +4 -0
  90. package/dist/utils/memberStaticData.d.ts +11 -0
  91. package/dist/utils/normalizeMemberForProfile.d.ts +10 -0
  92. package/dist/utils/passwordUtils.d.ts +24 -0
  93. package/dist/utils/placeholderReplacer.d.ts +34 -0
  94. package/dist/utils/testimonialStaticData.d.ts +12 -0
  95. package/dist/utils/wpRegistry.d.ts +13 -0
  96. package/package.json +69 -0
@@ -0,0 +1,280 @@
1
+ export interface PostTypeConfig {
2
+ max_items: number;
3
+ include_embedded: boolean;
4
+ orderby?: string;
5
+ order?: 'asc' | 'desc';
6
+ categories?: string[];
7
+ }
8
+ export interface StaticDataConfig {
9
+ frontend_id: string;
10
+ frontend_name: string;
11
+ post_types: Record<string, PostTypeConfig>;
12
+ }
13
+ export interface StaticDataStore {
14
+ generated_at: string;
15
+ frontend_id: string;
16
+ frontend_name: string;
17
+ config: StaticDataConfig;
18
+ [key: string]: any;
19
+ }
20
+ export interface WordPressPosts {
21
+ id: number;
22
+ title: {
23
+ rendered: string;
24
+ };
25
+ content: {
26
+ rendered: string;
27
+ };
28
+ excerpt: {
29
+ rendered: string;
30
+ };
31
+ date: string;
32
+ slug: string;
33
+ acf_fields?: {
34
+ [key: string]: any;
35
+ };
36
+ _embedded?: {
37
+ 'wp:featuredmedia'?: Array<{
38
+ source_url: string;
39
+ alt_text?: string;
40
+ }>;
41
+ author?: Array<{
42
+ name: string;
43
+ }>;
44
+ };
45
+ }
46
+ export interface WordPressPages {
47
+ id: number;
48
+ title: {
49
+ rendered: string;
50
+ };
51
+ content: {
52
+ rendered: string;
53
+ };
54
+ excerpt: {
55
+ rendered: string;
56
+ };
57
+ date: string;
58
+ slug: string;
59
+ acf_fields?: {
60
+ [key: string]: any;
61
+ };
62
+ _embedded?: {
63
+ 'wp:featuredmedia'?: Array<{
64
+ source_url: string;
65
+ alt_text?: string;
66
+ }>;
67
+ author?: Array<{
68
+ name: string;
69
+ }>;
70
+ };
71
+ }
72
+ export interface WordPressCasestudies {
73
+ id: number;
74
+ title: {
75
+ rendered: string;
76
+ };
77
+ content: {
78
+ rendered: string;
79
+ };
80
+ excerpt: {
81
+ rendered: string;
82
+ };
83
+ date: string;
84
+ slug: string;
85
+ acf_fields?: {
86
+ [key: string]: any;
87
+ };
88
+ _embedded?: {
89
+ 'wp:featuredmedia'?: Array<{
90
+ source_url: string;
91
+ alt_text?: string;
92
+ }>;
93
+ author?: Array<{
94
+ name: string;
95
+ }>;
96
+ };
97
+ }
98
+ export interface WordPressProjects {
99
+ id: number;
100
+ title: {
101
+ rendered: string;
102
+ };
103
+ content: {
104
+ rendered: string;
105
+ };
106
+ excerpt: {
107
+ rendered: string;
108
+ };
109
+ date: string;
110
+ slug: string;
111
+ acf_fields?: {
112
+ [key: string]: any;
113
+ };
114
+ _embedded?: {
115
+ 'wp:featuredmedia'?: Array<{
116
+ source_url: string;
117
+ alt_text?: string;
118
+ }>;
119
+ author?: Array<{
120
+ name: string;
121
+ }>;
122
+ };
123
+ }
124
+ export interface WordPressMembers {
125
+ id: number;
126
+ title: {
127
+ rendered: string;
128
+ };
129
+ content: {
130
+ rendered: string;
131
+ };
132
+ excerpt: {
133
+ rendered: string;
134
+ };
135
+ date: string;
136
+ slug: string;
137
+ acf_fields?: {
138
+ [key: string]: any;
139
+ };
140
+ _embedded?: {
141
+ 'wp:featuredmedia'?: Array<{
142
+ source_url: string;
143
+ alt_text?: string;
144
+ }>;
145
+ author?: Array<{
146
+ name: string;
147
+ }>;
148
+ };
149
+ }
150
+ export interface WordPressTestimonial {
151
+ id: number;
152
+ title: {
153
+ rendered: string;
154
+ };
155
+ content: {
156
+ rendered: string;
157
+ };
158
+ excerpt: {
159
+ rendered: string;
160
+ };
161
+ date: string;
162
+ slug: string;
163
+ acf_fields?: {
164
+ [key: string]: any;
165
+ };
166
+ _embedded?: {
167
+ 'wp:featuredmedia'?: Array<{
168
+ source_url: string;
169
+ alt_text?: string;
170
+ }>;
171
+ author?: Array<{
172
+ name: string;
173
+ }>;
174
+ };
175
+ }
176
+ export interface WordPressFaqs {
177
+ id: number;
178
+ title: {
179
+ rendered: string;
180
+ };
181
+ content: {
182
+ rendered: string;
183
+ };
184
+ excerpt: {
185
+ rendered: string;
186
+ };
187
+ date: string;
188
+ slug: string;
189
+ acf_fields?: {
190
+ [key: string]: any;
191
+ };
192
+ _embedded?: {
193
+ 'wp:featuredmedia'?: Array<{
194
+ source_url: string;
195
+ alt_text?: string;
196
+ }>;
197
+ author?: Array<{
198
+ name: string;
199
+ }>;
200
+ };
201
+ }
202
+ export interface WordPressProducts {
203
+ id: number;
204
+ title: {
205
+ rendered: string;
206
+ };
207
+ content: {
208
+ rendered: string;
209
+ };
210
+ excerpt: {
211
+ rendered: string;
212
+ };
213
+ date: string;
214
+ slug: string;
215
+ acf_fields?: {
216
+ [key: string]: any;
217
+ };
218
+ _embedded?: {
219
+ 'wp:featuredmedia'?: Array<{
220
+ source_url: string;
221
+ alt_text?: string;
222
+ }>;
223
+ author?: Array<{
224
+ name: string;
225
+ }>;
226
+ };
227
+ }
228
+ export interface WordPressServices {
229
+ id: number;
230
+ title: {
231
+ rendered: string;
232
+ };
233
+ content: {
234
+ rendered: string;
235
+ };
236
+ excerpt: {
237
+ rendered: string;
238
+ };
239
+ date: string;
240
+ slug: string;
241
+ acf_fields?: {
242
+ [key: string]: any;
243
+ };
244
+ _embedded?: {
245
+ 'wp:featuredmedia'?: Array<{
246
+ source_url: string;
247
+ alt_text?: string;
248
+ }>;
249
+ author?: Array<{
250
+ name: string;
251
+ }>;
252
+ };
253
+ }
254
+ export interface WordPressEvents {
255
+ id: number;
256
+ title: {
257
+ rendered: string;
258
+ };
259
+ content: {
260
+ rendered: string;
261
+ };
262
+ excerpt: {
263
+ rendered: string;
264
+ };
265
+ date: string;
266
+ slug: string;
267
+ acf_fields?: {
268
+ [key: string]: any;
269
+ };
270
+ _embedded?: {
271
+ 'wp:featuredmedia'?: Array<{
272
+ source_url: string;
273
+ alt_text?: string;
274
+ }>;
275
+ author?: Array<{
276
+ name: string;
277
+ }>;
278
+ };
279
+ }
280
+ export declare const staticData: StaticDataStore;
@@ -0,0 +1,251 @@
1
+ export interface PostTypeConfig {
2
+ max_items: number;
3
+ include_embedded: boolean;
4
+ orderby?: string;
5
+ order?: 'asc' | 'desc';
6
+ categories?: string[];
7
+ }
8
+ export interface StaticDataConfig {
9
+ frontend_id: string;
10
+ frontend_name: string;
11
+ post_types: Record<string, PostTypeConfig>;
12
+ }
13
+ export interface StaticDataStore {
14
+ generated_at: string;
15
+ frontend_id: string;
16
+ frontend_name: string;
17
+ config: StaticDataConfig;
18
+ [key: string]: any;
19
+ }
20
+ export interface WordPressPosts {
21
+ id: number;
22
+ title: {
23
+ rendered: string;
24
+ };
25
+ content: {
26
+ rendered: string;
27
+ };
28
+ excerpt: {
29
+ rendered: string;
30
+ };
31
+ date: string;
32
+ slug: string;
33
+ _embedded?: {
34
+ 'wp:featuredmedia'?: Array<{
35
+ source_url: string;
36
+ alt_text?: string;
37
+ }>;
38
+ author?: Array<{
39
+ name: string;
40
+ }>;
41
+ };
42
+ }
43
+ export interface WordPressPages {
44
+ id: number;
45
+ title: {
46
+ rendered: string;
47
+ };
48
+ content: {
49
+ rendered: string;
50
+ };
51
+ excerpt: {
52
+ rendered: string;
53
+ };
54
+ date: string;
55
+ slug: string;
56
+ _embedded?: {
57
+ 'wp:featuredmedia'?: Array<{
58
+ source_url: string;
59
+ alt_text?: string;
60
+ }>;
61
+ author?: Array<{
62
+ name: string;
63
+ }>;
64
+ };
65
+ }
66
+ export interface WordPressCasestudies {
67
+ id: number;
68
+ title: {
69
+ rendered: string;
70
+ };
71
+ content: {
72
+ rendered: string;
73
+ };
74
+ excerpt: {
75
+ rendered: string;
76
+ };
77
+ date: string;
78
+ slug: string;
79
+ _embedded?: {
80
+ 'wp:featuredmedia'?: Array<{
81
+ source_url: string;
82
+ alt_text?: string;
83
+ }>;
84
+ author?: Array<{
85
+ name: string;
86
+ }>;
87
+ };
88
+ }
89
+ export interface WordPressProjects {
90
+ id: number;
91
+ title: {
92
+ rendered: string;
93
+ };
94
+ content: {
95
+ rendered: string;
96
+ };
97
+ excerpt: {
98
+ rendered: string;
99
+ };
100
+ date: string;
101
+ slug: string;
102
+ _embedded?: {
103
+ 'wp:featuredmedia'?: Array<{
104
+ source_url: string;
105
+ alt_text?: string;
106
+ }>;
107
+ author?: Array<{
108
+ name: string;
109
+ }>;
110
+ };
111
+ }
112
+ export interface WordPressMembers {
113
+ id: number;
114
+ title: {
115
+ rendered: string;
116
+ };
117
+ content: {
118
+ rendered: string;
119
+ };
120
+ excerpt: {
121
+ rendered: string;
122
+ };
123
+ date: string;
124
+ slug: string;
125
+ _embedded?: {
126
+ 'wp:featuredmedia'?: Array<{
127
+ source_url: string;
128
+ alt_text?: string;
129
+ }>;
130
+ author?: Array<{
131
+ name: string;
132
+ }>;
133
+ };
134
+ }
135
+ export interface WordPressTestimonial {
136
+ id: number;
137
+ title: {
138
+ rendered: string;
139
+ };
140
+ content: {
141
+ rendered: string;
142
+ };
143
+ excerpt: {
144
+ rendered: string;
145
+ };
146
+ date: string;
147
+ slug: string;
148
+ _embedded?: {
149
+ 'wp:featuredmedia'?: Array<{
150
+ source_url: string;
151
+ alt_text?: string;
152
+ }>;
153
+ author?: Array<{
154
+ name: string;
155
+ }>;
156
+ };
157
+ }
158
+ export interface WordPressFaqs {
159
+ id: number;
160
+ title: {
161
+ rendered: string;
162
+ };
163
+ content: {
164
+ rendered: string;
165
+ };
166
+ excerpt: {
167
+ rendered: string;
168
+ };
169
+ date: string;
170
+ slug: string;
171
+ _embedded?: {
172
+ 'wp:featuredmedia'?: Array<{
173
+ source_url: string;
174
+ alt_text?: string;
175
+ }>;
176
+ author?: Array<{
177
+ name: string;
178
+ }>;
179
+ };
180
+ }
181
+ export interface WordPressProducts {
182
+ id: number;
183
+ title: {
184
+ rendered: string;
185
+ };
186
+ content: {
187
+ rendered: string;
188
+ };
189
+ excerpt: {
190
+ rendered: string;
191
+ };
192
+ date: string;
193
+ slug: string;
194
+ _embedded?: {
195
+ 'wp:featuredmedia'?: Array<{
196
+ source_url: string;
197
+ alt_text?: string;
198
+ }>;
199
+ author?: Array<{
200
+ name: string;
201
+ }>;
202
+ };
203
+ }
204
+ export interface WordPressServices {
205
+ id: number;
206
+ title: {
207
+ rendered: string;
208
+ };
209
+ content: {
210
+ rendered: string;
211
+ };
212
+ excerpt: {
213
+ rendered: string;
214
+ };
215
+ date: string;
216
+ slug: string;
217
+ _embedded?: {
218
+ 'wp:featuredmedia'?: Array<{
219
+ source_url: string;
220
+ alt_text?: string;
221
+ }>;
222
+ author?: Array<{
223
+ name: string;
224
+ }>;
225
+ };
226
+ }
227
+ export interface WordPressEvents {
228
+ id: number;
229
+ title: {
230
+ rendered: string;
231
+ };
232
+ content: {
233
+ rendered: string;
234
+ };
235
+ excerpt: {
236
+ rendered: string;
237
+ };
238
+ date: string;
239
+ slug: string;
240
+ _embedded?: {
241
+ 'wp:featuredmedia'?: Array<{
242
+ source_url: string;
243
+ alt_text?: string;
244
+ }>;
245
+ author?: Array<{
246
+ name: string;
247
+ }>;
248
+ };
249
+ }
250
+ export declare const staticData: StaticDataStore;
251
+ export declare const getStaticData: () => StaticDataStore;
@@ -0,0 +1,3 @@
1
+ import type { StaticDataStore } from '../types/wordpress';
2
+ export declare const staticData: StaticDataStore;
3
+ export declare const getStaticData: () => StaticDataStore;
@@ -0,0 +1,117 @@
1
+ export interface WordPressPost {
2
+ id: number;
3
+ title: {
4
+ rendered: string;
5
+ };
6
+ content: {
7
+ rendered: string;
8
+ };
9
+ excerpt: {
10
+ rendered: string;
11
+ };
12
+ date: string;
13
+ slug: string;
14
+ _embedded?: {
15
+ 'wp:featuredmedia'?: Array<{
16
+ source_url: string;
17
+ alt_text?: string;
18
+ }>;
19
+ author?: Array<{
20
+ name: string;
21
+ }>;
22
+ };
23
+ }
24
+ export interface WordPressPage {
25
+ id: number;
26
+ title: {
27
+ rendered: string;
28
+ };
29
+ content: {
30
+ rendered: string;
31
+ };
32
+ slug: string;
33
+ date: string;
34
+ }
35
+ export interface WordPressCaseStudy {
36
+ id: number;
37
+ title: {
38
+ rendered: string;
39
+ };
40
+ content: {
41
+ rendered: string;
42
+ };
43
+ excerpt: {
44
+ rendered: string;
45
+ };
46
+ slug: string;
47
+ date: string;
48
+ }
49
+ export interface WordPressProject {
50
+ id: number;
51
+ title: {
52
+ rendered: string;
53
+ };
54
+ content: {
55
+ rendered: string;
56
+ };
57
+ excerpt: {
58
+ rendered: string;
59
+ };
60
+ slug: string;
61
+ date: string;
62
+ }
63
+ export interface WordPressMember {
64
+ id: number;
65
+ title: {
66
+ rendered: string;
67
+ };
68
+ content: {
69
+ rendered: string;
70
+ };
71
+ excerpt: {
72
+ rendered: string;
73
+ };
74
+ slug: string;
75
+ date: string;
76
+ }
77
+ export interface WordPressConfig {
78
+ frontend_id: string;
79
+ frontend_name: string;
80
+ post_types: {
81
+ posts: {
82
+ max_items: number;
83
+ include_embedded: boolean;
84
+ orderby: string;
85
+ order: 'asc' | 'desc';
86
+ categories?: string[];
87
+ };
88
+ pages: {
89
+ max_items: number;
90
+ include_embedded: boolean;
91
+ };
92
+ case_studies: {
93
+ max_items: number;
94
+ include_embedded: boolean;
95
+ };
96
+ projects: {
97
+ max_items: number;
98
+ include_embedded: boolean;
99
+ };
100
+ members: {
101
+ max_items: number;
102
+ include_embedded: boolean;
103
+ };
104
+ };
105
+ }
106
+ export interface WordPressDataStore {
107
+ generated_at: string;
108
+ frontend_id: string;
109
+ frontend_name: string;
110
+ config: WordPressConfig;
111
+ posts: WordPressPost[];
112
+ pages: WordPressPage[];
113
+ case_studies: WordPressCaseStudy[];
114
+ projects: WordPressProject[];
115
+ members: WordPressMember[];
116
+ }
117
+ export declare const wordpressData: WordPressDataStore;
@@ -0,0 +1,3 @@
1
+ export declare function generateGravityFormsData(options?: {
2
+ outputPath?: string;
3
+ }): Promise<boolean>;
@@ -0,0 +1,5 @@
1
+ export * from './wp';
2
+ export * from './gf';
3
+ export * from './mautic';
4
+ export * from './suitecrm';
5
+ export declare function generateAllData(): Promise<void>;
@@ -0,0 +1,3 @@
1
+ export declare function generateMauticData(options?: {
2
+ outputPath?: string;
3
+ }): Promise<boolean>;
@@ -0,0 +1,3 @@
1
+ export declare function generateSuiteCRMData(options?: {
2
+ outputPath?: string;
3
+ }): Promise<boolean>;
@@ -0,0 +1,3 @@
1
+ export declare function generateWordPressData(options?: {
2
+ outputPath?: string;
3
+ }): Promise<boolean>;
@@ -0,0 +1 @@
1
+ export declare function useIsMobile(): boolean;
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ type ToasterToast = ToastProps & {
3
+ id: string;
4
+ title?: React.ReactNode;
5
+ description?: React.ReactNode;
6
+ action?: ToastActionElement;
7
+ };
8
+ declare const actionTypes: {
9
+ readonly ADD_TOAST: "ADD_TOAST";
10
+ readonly UPDATE_TOAST: "UPDATE_TOAST";
11
+ readonly DISMISS_TOAST: "DISMISS_TOAST";
12
+ readonly REMOVE_TOAST: "REMOVE_TOAST";
13
+ };
14
+ type ActionType = typeof actionTypes;
15
+ type Action = {
16
+ type: ActionType["ADD_TOAST"];
17
+ toast: ToasterToast;
18
+ } | {
19
+ type: ActionType["UPDATE_TOAST"];
20
+ toast: Partial<ToasterToast>;
21
+ } | {
22
+ type: ActionType["DISMISS_TOAST"];
23
+ toastId?: ToasterToast["id"];
24
+ } | {
25
+ type: ActionType["REMOVE_TOAST"];
26
+ toastId?: ToasterToast["id"];
27
+ };
28
+ interface State {
29
+ toasts: ToasterToast[];
30
+ }
31
+ export declare const reducer: (state: State, action: Action) => State;
32
+ type Toast = Omit<ToasterToast, "id">;
33
+ declare function toast({ ...props }: Toast): {
34
+ id: string;
35
+ dismiss: () => void;
36
+ update: (props: ToasterToast) => void;
37
+ };
38
+ declare function useToast(): {
39
+ toast: typeof toast;
40
+ dismiss: (toastId?: string) => void;
41
+ toasts: ToasterToast[];
42
+ };
43
+ export { useToast, toast };