@uniformdev/canvas-next-rsc 19.173.1-alpha.17 → 19.173.2-alpha.258

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 (163) hide show
  1. package/dist/UniformComposition-0pvEHduc.d.mts +64 -0
  2. package/dist/UniformComposition-0pvEHduc.d.ts +77 -0
  3. package/dist/UniformComposition-38e22896.d.ts +74 -0
  4. package/dist/UniformComposition-B-Z17dUt.d.ts +56 -43
  5. package/dist/UniformComposition-D4tBQ2U4.d.mts +64 -0
  6. package/dist/UniformComposition-D4tBQ2U4.d.ts +77 -0
  7. package/dist/UniformComposition-Dw55RFP6.d.mts +67 -0
  8. package/dist/UniformComposition-Dw55RFP6.d.ts +67 -0
  9. package/dist/UniformComposition-d178d865.d.ts +77 -0
  10. package/dist/actions/updateContext.d.ts +2 -0
  11. package/dist/actions/updateContext.js +17 -0
  12. package/dist/client/canvasClient.d.ts +5 -0
  13. package/dist/client/canvasClient.js +53 -0
  14. package/dist/client/manifestClient.d.ts +209 -0
  15. package/dist/client/manifestClient.js +33 -0
  16. package/dist/client/projectMapClient.d.ts +5 -0
  17. package/dist/client/projectMapClient.js +17 -0
  18. package/dist/client/routeClient.d.ts +5 -0
  19. package/dist/client/routeClient.js +68 -0
  20. package/dist/component.d.mts +23 -5
  21. package/dist/component.d.ts +23 -5
  22. package/dist/component.js +94 -37
  23. package/dist/component.mjs +93 -35
  24. package/dist/components/DefaultNotImplementedComponent.d.ts +4 -0
  25. package/dist/components/DefaultNotImplementedComponent.js +45 -0
  26. package/dist/components/GoogleTagManagerAnalytics.d.ts +3 -0
  27. package/dist/components/GoogleTagManagerAnalytics.js +44 -0
  28. package/dist/components/UniformComponent.d.ts +35 -0
  29. package/dist/components/UniformComponent.js +14 -0
  30. package/dist/components/UniformComposition.d.ts +47 -0
  31. package/dist/components/UniformComposition.js +35 -0
  32. package/dist/components/UniformContext.d.ts +13 -0
  33. package/dist/components/UniformContext.js +19 -0
  34. package/dist/components/UniformRichText.d.ts +42 -0
  35. package/dist/components/UniformRichText.js +15 -0
  36. package/dist/components/UniformRichTextNode.d.ts +14 -0
  37. package/dist/components/UniformRichTextNode.js +49 -0
  38. package/dist/components/UniformScript.d.ts +5 -0
  39. package/dist/components/UniformScript.js +49 -0
  40. package/dist/components/UniformSlot.d.ts +48 -0
  41. package/dist/components/UniformSlot.js +38 -0
  42. package/dist/components/UniformText.d.ts +10 -0
  43. package/dist/components/UniformText.js +5 -0
  44. package/dist/components/__tests__/evaluateComposition.spec.d.ts +1 -0
  45. package/dist/components/__tests__/evaluateComposition.spec.js +80 -0
  46. package/dist/components/convertComponentToProps.d.ts +18 -0
  47. package/dist/components/convertComponentToProps.js +22 -0
  48. package/dist/components/evaluateComposition.d.ts +32 -0
  49. package/dist/components/evaluateComposition.js +183 -0
  50. package/dist/components/getEnrichmentTags.d.ts +5 -0
  51. package/dist/components/getEnrichmentTags.js +13 -0
  52. package/dist/components/getUniformContext.d.ts +10 -0
  53. package/dist/components/getUniformContext.js +17 -0
  54. package/dist/components/nodes/HeadingRichTextNode.d.ts +2 -0
  55. package/dist/components/nodes/HeadingRichTextNode.js +6 -0
  56. package/dist/components/nodes/LinebreakRichTextNode.d.ts +2 -0
  57. package/dist/components/nodes/LinebreakRichTextNode.js +4 -0
  58. package/dist/components/nodes/LinkRichTextNode.d.ts +2 -0
  59. package/dist/components/nodes/LinkRichTextNode.js +6 -0
  60. package/dist/components/nodes/ListItemRichTextNode.d.ts +2 -0
  61. package/dist/components/nodes/ListItemRichTextNode.js +5 -0
  62. package/dist/components/nodes/ListRichTextNode.d.ts +2 -0
  63. package/dist/components/nodes/ListRichTextNode.js +6 -0
  64. package/dist/components/nodes/ParagraphRichTextNode.d.ts +2 -0
  65. package/dist/components/nodes/ParagraphRichTextNode.js +6 -0
  66. package/dist/components/nodes/TabRichTextNode.d.ts +2 -0
  67. package/dist/components/nodes/TabRichTextNode.js +4 -0
  68. package/dist/components/nodes/TextRichTextNode.d.ts +2 -0
  69. package/dist/components/nodes/TextRichTextNode.js +9 -0
  70. package/dist/components/renderComponent.d.ts +26 -0
  71. package/dist/components/renderComponent.js +52 -0
  72. package/dist/components/resolvePath.d.ts +5 -0
  73. package/dist/components/resolvePath.js +34 -0
  74. package/dist/components/retrieveRoute.d.ts +198 -0
  75. package/dist/components/retrieveRoute.js +146 -0
  76. package/dist/components/types.d.ts +15 -0
  77. package/dist/components/types.js +1 -0
  78. package/dist/config/helpers.d.ts +23 -0
  79. package/dist/config/helpers.js +34 -0
  80. package/dist/config/models.d.ts +51 -0
  81. package/dist/config/models.js +1 -0
  82. package/dist/config/uniform.server.config.d.ts +3 -0
  83. package/dist/config/uniform.server.config.js +4 -0
  84. package/dist/config.js +11 -17
  85. package/dist/config.mjs +11 -14
  86. package/dist/cookie/index.d.ts +12 -0
  87. package/dist/cookie/index.js +21 -0
  88. package/dist/handler/createPreviewGETRouteHandler.d.ts +1 -0
  89. package/dist/handler/createPreviewGETRouteHandler.js +43 -0
  90. package/dist/handler/createPreviewPOSTRouteHandler.d.ts +1 -0
  91. package/dist/handler/createPreviewPOSTRouteHandler.js +88 -0
  92. package/dist/handler/createUniformRouteHandler.d.ts +4 -0
  93. package/dist/handler/createUniformRouteHandler.js +10 -0
  94. package/dist/handler/helpers.d.ts +17 -0
  95. package/dist/handler/helpers.js +148 -0
  96. package/dist/handler/messages/handleCompositionChanged.d.ts +2 -0
  97. package/dist/handler/messages/handleCompositionChanged.js +9 -0
  98. package/dist/handler/messages/handleCompositionDeleted.d.ts +2 -0
  99. package/dist/handler/messages/handleCompositionDeleted.js +9 -0
  100. package/dist/handler/messages/handleCompositionPublished.d.ts +2 -0
  101. package/dist/handler/messages/handleCompositionPublished.js +9 -0
  102. package/dist/handler/messages/handleManifestPublished.d.ts +2 -0
  103. package/dist/handler/messages/handleManifestPublished.js +10 -0
  104. package/dist/handler/messages/handleProjectMapNodeDelete.d.ts +2 -0
  105. package/dist/handler/messages/handleProjectMapNodeDelete.js +21 -0
  106. package/dist/handler/messages/handleProjectMapNodeInsert.d.ts +2 -0
  107. package/dist/handler/messages/handleProjectMapNodeInsert.js +21 -0
  108. package/dist/handler/messages/handleProjectMapNodeUpdate.d.ts +2 -0
  109. package/dist/handler/messages/handleProjectMapNodeUpdate.js +22 -0
  110. package/dist/handler/messages/handleRedirectDelete.d.ts +2 -0
  111. package/dist/handler/messages/handleRedirectDelete.js +15 -0
  112. package/dist/handler/messages/handleRedirectInsert.d.ts +2 -0
  113. package/dist/handler/messages/handleRedirectInsert.js +15 -0
  114. package/dist/handler/messages/handleRedirectUpdate.d.ts +2 -0
  115. package/dist/handler/messages/handleRedirectUpdate.js +15 -0
  116. package/dist/handler.js +14 -10
  117. package/dist/handler.mjs +3 -16
  118. package/dist/hooks/useForgetMe.d.ts +4 -0
  119. package/dist/hooks/useForgetMe.js +10 -0
  120. package/dist/hooks/useToggleConsent.d.ts +7 -0
  121. package/dist/hooks/useToggleConsent.js +22 -0
  122. package/dist/hooks/useUniformContext.d.ts +1 -0
  123. package/dist/hooks/useUniformContext.js +3 -0
  124. package/dist/index.d.mts +38 -38
  125. package/dist/index.d.ts +38 -38
  126. package/dist/index.esm.js +57 -37
  127. package/dist/index.js +85 -62
  128. package/dist/index.mjs +57 -37
  129. package/dist/models/index.d.ts +30 -0
  130. package/dist/models/index.js +1 -0
  131. package/dist/register/componentStore.d.ts +1 -0
  132. package/dist/register/componentStore.js +2 -0
  133. package/dist/register/componentStoreResolver.d.ts +4 -0
  134. package/dist/register/componentStoreResolver.js +5 -0
  135. package/dist/register/createComponentStore.d.ts +12 -0
  136. package/dist/register/createComponentStore.js +13 -0
  137. package/dist/register/createComponentStoreResolver.d.ts +12 -0
  138. package/dist/register/createComponentStoreResolver.js +9 -0
  139. package/dist/register/getTypeWithVariant.d.ts +1 -0
  140. package/dist/register/getTypeWithVariant.js +1 -0
  141. package/dist/register/registerUniformComponent.d.ts +10 -0
  142. package/dist/register/registerUniformComponent.js +8 -0
  143. package/dist/resolve/resolveChildren.d.ts +17 -0
  144. package/dist/resolve/resolveChildren.js +20 -0
  145. package/dist/score/index.d.ts +3 -0
  146. package/dist/score/index.js +114 -0
  147. package/dist/utils/__tests__/apply.spec.d.ts +1 -0
  148. package/dist/utils/__tests__/apply.spec.js +358 -0
  149. package/dist/utils/__tests__/diff.spec.d.ts +1 -0
  150. package/dist/utils/__tests__/diff.spec.js +394 -0
  151. package/dist/utils/apply.d.ts +10 -0
  152. package/dist/utils/apply.js +124 -0
  153. package/dist/utils/comp.d.ts +25 -0
  154. package/dist/utils/comp.js +65 -0
  155. package/dist/utils/diff.d.ts +58 -0
  156. package/dist/utils/diff.js +144 -0
  157. package/dist/utils/draft.d.ts +20 -0
  158. package/dist/utils/draft.js +22 -0
  159. package/dist/utils/tag.d.ts +2 -0
  160. package/dist/utils/tag.js +7 -0
  161. package/dist/utils/url.d.ts +1 -0
  162. package/dist/utils/url.js +10 -0
  163. package/package.json +21 -21
@@ -0,0 +1,148 @@
1
+ import { parseConnectionString } from '@vercel/edge-config';
2
+ import { Webhook } from 'svix';
3
+ import { getProjectMapClient } from '../client/projectMapClient';
4
+ import { getRouteClient } from '../client/routeClient';
5
+ import { getServerConfig } from '../config/helpers';
6
+ import { buildCompositionTag, buildPathTag } from '../utils/tag';
7
+ export const isSvixMessage = async (request) => {
8
+ const requiredHeaders = ['svix-id', 'svix-timestamp', 'svix-signature'];
9
+ const hasAllRequiredHeaders = requiredHeaders.every((header) => request.headers.has(header));
10
+ if (!hasAllRequiredHeaders) {
11
+ return {
12
+ looksLikeMessage: false,
13
+ validation: false,
14
+ };
15
+ }
16
+ if (typeof process.env.UNIFORM_WEBHOOK_SECRET !== 'undefined') {
17
+ // https://docs.svix.com/receiving/verifying-payloads/how
18
+ const payload = await request.clone().text();
19
+ const headers = Object.fromEntries(request.headers.entries());
20
+ const wh = new Webhook(process.env.UNIFORM_WEBHOOK_SECRET);
21
+ try {
22
+ wh.verify(payload, headers);
23
+ }
24
+ catch (err) {
25
+ return {
26
+ looksLikeMessage: true,
27
+ validation: false,
28
+ };
29
+ }
30
+ }
31
+ return {
32
+ looksLikeMessage: true,
33
+ validation: true,
34
+ };
35
+ };
36
+ export const processCompositionChange = async (compositionId) => {
37
+ const projectMapClient = getProjectMapClient({
38
+ revalidate: 0,
39
+ });
40
+ const { nodes } = await projectMapClient.getNodes({
41
+ compositionId,
42
+ });
43
+ const tags = [];
44
+ if (nodes) {
45
+ for (let i = 0; i < nodes.length; i++) {
46
+ const node = nodes[i];
47
+ await processEdgeConfigChange({
48
+ source_url: node.path,
49
+ });
50
+ tags.push(...buildProjectMapNodePaths(node.path));
51
+ }
52
+ }
53
+ tags.push(buildCompositionTag(compositionId));
54
+ return {
55
+ tags,
56
+ };
57
+ };
58
+ export const buildProjectMapNodePaths = (path) => {
59
+ const tags = [];
60
+ const isDynamic = path.includes(':');
61
+ if (!isDynamic) {
62
+ tags.push(buildPathTag(path));
63
+ }
64
+ else {
65
+ const pieces = path.split('/');
66
+ const invalidatePieces = [];
67
+ for (let j = 0; j < pieces.length; j++) {
68
+ const piece = pieces[j];
69
+ if (piece.startsWith(':')) {
70
+ break;
71
+ }
72
+ invalidatePieces.push(piece);
73
+ }
74
+ const toInvalidate = invalidatePieces.join('/');
75
+ tags.push(buildPathTag(toInvalidate));
76
+ }
77
+ return tags;
78
+ };
79
+ export const getPathName = (url) => {
80
+ try {
81
+ const { pathname } = new URL(url);
82
+ return pathname;
83
+ }
84
+ catch (_a) {
85
+ return url;
86
+ }
87
+ };
88
+ export const processRedirectChange = async (sourceUrl) => {
89
+ const tags = [];
90
+ const pathName = getPathName(sourceUrl);
91
+ tags.push(buildPathTag(pathName));
92
+ return {
93
+ tags,
94
+ };
95
+ };
96
+ export const processEdgeConfigChange = async ({ source_url }) => {
97
+ var _a, _b;
98
+ if (!process.env.UNIFORM_VERCEL_EDGE_CONFIG_TOKEN) {
99
+ // eslint-disable-next-line no-console
100
+ console.warn('UNIFORM_VERCEL_EDGE_CONFIG_TOKEN is not set, skipping edge redirect upsert');
101
+ return;
102
+ }
103
+ const config = getServerConfig();
104
+ const routeClient = getRouteClient({
105
+ revalidate: -1,
106
+ });
107
+ const route = await routeClient.getRoute({
108
+ path: source_url,
109
+ });
110
+ let valueToStore = undefined;
111
+ const shouldSaveRedirect = route.type === 'redirect' && ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeRedirects);
112
+ const shouldSaveComposition = route.type === 'composition' && ((_b = config.experimental) === null || _b === void 0 ? void 0 : _b.edgeCompositions);
113
+ if (shouldSaveRedirect || shouldSaveComposition) {
114
+ valueToStore = route;
115
+ }
116
+ const sourcePath = getPathName(source_url);
117
+ const soucrcePathKey = buildPathTag(sourcePath);
118
+ const { id } = parseConnectionString(process.env.EDGE_CONFIG) || {};
119
+ if (!id) {
120
+ // eslint-disable-next-line no-console
121
+ console.warn('EDGE_CONFIG is not set or not a connection string, skipping edge redirect upsert');
122
+ return;
123
+ }
124
+ const url = new URL(`https://api.vercel.com/v1/edge-config/${id}/items`);
125
+ if (process.env.UNIFORM_VERCEL_EDGE_CONFIG_TEAM_ID) {
126
+ url.searchParams.set('teamId', process.env.UNIFORM_VERCEL_EDGE_CONFIG_TEAM_ID);
127
+ }
128
+ const response = await fetch(url.toString(), {
129
+ method: 'PATCH',
130
+ headers: {
131
+ 'Content-Type': 'application/json',
132
+ Authorization: `Bearer ${process.env.UNIFORM_VERCEL_EDGE_CONFIG_TOKEN}`,
133
+ },
134
+ body: JSON.stringify({
135
+ items: [
136
+ {
137
+ operation: valueToStore ? 'upsert' : 'delete',
138
+ key: soucrcePathKey.replace(/\W+/g, ''),
139
+ value: valueToStore !== null && valueToStore !== void 0 ? valueToStore : null,
140
+ },
141
+ ],
142
+ }),
143
+ });
144
+ if (!response.ok) {
145
+ // eslint-disable-next-line no-console
146
+ console.warn(`Failed to upsert edge redirect for ${source_url}`, await response.text());
147
+ }
148
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleCompositionChanged: SvixMessageHandler;
@@ -0,0 +1,9 @@
1
+ import { CompositionChangedDefinition } from '@uniformdev/webhooks';
2
+ import { processCompositionChange } from '../helpers';
3
+ export const handleCompositionChanged = async (body) => {
4
+ const parsed = CompositionChangedDefinition.schema.safeParse(body);
5
+ if (!parsed.success) {
6
+ return undefined;
7
+ }
8
+ return processCompositionChange(parsed.data.id);
9
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleCompositionDeleted: SvixMessageHandler;
@@ -0,0 +1,9 @@
1
+ import { CompositionDeletedDefinition } from '@uniformdev/webhooks';
2
+ import { processCompositionChange } from '../helpers';
3
+ export const handleCompositionDeleted = async (body) => {
4
+ const parsed = CompositionDeletedDefinition.schema.safeParse(body);
5
+ if (!parsed.success) {
6
+ return undefined;
7
+ }
8
+ return processCompositionChange(parsed.data.id);
9
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleCompositionPublished: SvixMessageHandler;
@@ -0,0 +1,9 @@
1
+ import { CompositionPublishedDefinition } from '@uniformdev/webhooks';
2
+ import { processCompositionChange } from '../helpers';
3
+ export const handleCompositionPublished = async (body) => {
4
+ const parsed = CompositionPublishedDefinition.schema.safeParse(body);
5
+ if (!parsed.success) {
6
+ return undefined;
7
+ }
8
+ return processCompositionChange(parsed.data.id);
9
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleManifestPublished: SvixMessageHandler;
@@ -0,0 +1,10 @@
1
+ import { ManifestPublishedDefinition } from '@uniformdev/webhooks';
2
+ export const handleManifestPublished = async (body) => {
3
+ const parsed = ManifestPublishedDefinition.schema.safeParse(body);
4
+ if (!parsed.success) {
5
+ return undefined;
6
+ }
7
+ return {
8
+ tags: ['manifest'],
9
+ };
10
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleProjectMapNodeDelete: SvixMessageHandler;
@@ -0,0 +1,21 @@
1
+ import { ProjectMapNodeDeleteDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { buildProjectMapNodePaths, processEdgeConfigChange } from '../helpers';
4
+ export const handleProjectMapNodeDelete = async (body) => {
5
+ var _a;
6
+ const parsed = ProjectMapNodeDeleteDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const tags = [];
11
+ tags.push(...buildProjectMapNodePaths(parsed.data.path));
12
+ const config = getServerConfig();
13
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeCompositions) {
14
+ await processEdgeConfigChange({
15
+ source_url: parsed.data.path,
16
+ });
17
+ }
18
+ return {
19
+ tags,
20
+ };
21
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleProjectMapNodeInsert: SvixMessageHandler;
@@ -0,0 +1,21 @@
1
+ import { ProjectMapNodeInsertDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { buildProjectMapNodePaths, processEdgeConfigChange } from '../helpers';
4
+ export const handleProjectMapNodeInsert = async (body) => {
5
+ var _a;
6
+ const parsed = ProjectMapNodeInsertDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const tags = [];
11
+ tags.push(...buildProjectMapNodePaths(parsed.data.path));
12
+ const config = getServerConfig();
13
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeCompositions) {
14
+ await processEdgeConfigChange({
15
+ source_url: parsed.data.path,
16
+ });
17
+ }
18
+ return {
19
+ tags,
20
+ };
21
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleProjectMapNodeUpdate: SvixMessageHandler;
@@ -0,0 +1,22 @@
1
+ import { ProjectMapNodeUpdateDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { buildProjectMapNodePaths, processEdgeConfigChange } from '../helpers';
4
+ export const handleProjectMapNodeUpdate = async (body) => {
5
+ var _a;
6
+ const parsed = ProjectMapNodeUpdateDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const tags = [];
11
+ tags.push(...buildProjectMapNodePaths(parsed.data.path));
12
+ tags.push(...buildProjectMapNodePaths(parsed.data.previous_path));
13
+ const config = getServerConfig();
14
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeCompositions) {
15
+ await processEdgeConfigChange({
16
+ source_url: parsed.data.path,
17
+ });
18
+ }
19
+ return {
20
+ tags,
21
+ };
22
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleRedirectDelete: SvixMessageHandler;
@@ -0,0 +1,15 @@
1
+ import { RedirectDeleteDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { processEdgeConfigChange, processRedirectChange } from '../helpers';
4
+ export const handleRedirectDelete = async (body) => {
5
+ var _a;
6
+ const parsed = RedirectDeleteDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const config = getServerConfig();
11
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeRedirects) {
12
+ await processEdgeConfigChange(parsed.data);
13
+ }
14
+ return processRedirectChange(parsed.data.source_url);
15
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleRedirectInsert: SvixMessageHandler;
@@ -0,0 +1,15 @@
1
+ import { RedirectInsertDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { processEdgeConfigChange, processRedirectChange } from '../helpers';
4
+ export const handleRedirectInsert = async (body) => {
5
+ var _a;
6
+ const parsed = RedirectInsertDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const config = getServerConfig();
11
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeRedirects) {
12
+ await processEdgeConfigChange(parsed.data);
13
+ }
14
+ return processRedirectChange(parsed.data.source_url);
15
+ };
@@ -0,0 +1,2 @@
1
+ import { SvixMessageHandler } from '../helpers';
2
+ export declare const handleRedirectUpdate: SvixMessageHandler;
@@ -0,0 +1,15 @@
1
+ import { RedirectUpdateDefinition } from '@uniformdev/webhooks';
2
+ import { getServerConfig } from '../../config/helpers';
3
+ import { processEdgeConfigChange, processRedirectChange } from '../helpers';
4
+ export const handleRedirectUpdate = async (body) => {
5
+ var _a;
6
+ const parsed = RedirectUpdateDefinition.schema.safeParse(body);
7
+ if (!parsed.success) {
8
+ return undefined;
9
+ }
10
+ const config = getServerConfig();
11
+ if ((_a = config.experimental) === null || _a === void 0 ? void 0 : _a.edgeRedirects) {
12
+ await processEdgeConfigChange(parsed.data);
13
+ }
14
+ return processRedirectChange(parsed.data.source_url);
15
+ };
package/dist/handler.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,6 +17,14 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
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", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/handler.ts
@@ -168,16 +178,9 @@ var import_svix = require("svix");
168
178
  var import_canvas2 = require("@uniformdev/canvas");
169
179
 
170
180
  // src/config/helpers.ts
181
+ var import_uniform_server = __toESM(require("uniform.server.config"));
171
182
  var getServerConfig = () => {
172
- let serverConfig;
173
- try {
174
- serverConfig = require("uniform.server.config.js");
175
- } catch (e) {
176
- serverConfig = {
177
- defaultConsent: false
178
- };
179
- }
180
- return serverConfig;
183
+ return import_uniform_server.default;
181
184
  };
182
185
 
183
186
  // src/env/index.ts
@@ -263,7 +266,8 @@ var getCanvasClient = (options) => {
263
266
  "x-bypass-cache": typeof options.cache.bypassCache !== "undefined" ? options.cache.bypassCache.toString() : "false"
264
267
  },
265
268
  next: {
266
- revalidate
269
+ revalidate,
270
+ tags: tags.length ? tags : void 0
267
271
  }
268
272
  });
269
273
  }
package/dist/handler.mjs CHANGED
@@ -1,10 +1,3 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
- }) : x)(function(x) {
4
- if (typeof require !== "undefined") return require.apply(this, arguments);
5
- throw Error('Dynamic require of "' + x + '" is not supported');
6
- });
7
-
8
1
  // src/handler/createPreviewGETRouteHandler.ts
9
2
  import {
10
3
  IN_CONTEXT_EDITOR_PLAYGROUND_QUERY_STRING_PARAM,
@@ -152,15 +145,8 @@ import { Webhook } from "svix";
152
145
  import { CanvasClient } from "@uniformdev/canvas";
153
146
 
154
147
  // src/config/helpers.ts
148
+ import serverConfig from "uniform.server.config";
155
149
  var getServerConfig = () => {
156
- let serverConfig;
157
- try {
158
- serverConfig = __require("uniform.server.config.js");
159
- } catch (e) {
160
- serverConfig = {
161
- defaultConsent: false
162
- };
163
- }
164
150
  return serverConfig;
165
151
  };
166
152
 
@@ -247,7 +233,8 @@ var getCanvasClient = (options) => {
247
233
  "x-bypass-cache": typeof options.cache.bypassCache !== "undefined" ? options.cache.bypassCache.toString() : "false"
248
234
  },
249
235
  next: {
250
- revalidate
236
+ revalidate,
237
+ tags: tags.length ? tags : void 0
251
238
  }
252
239
  });
253
240
  }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Removes the Uniform cookie and reloads the page.
3
+ */
4
+ export declare const useForgetMe: () => () => void;
@@ -0,0 +1,10 @@
1
+ import { removeUniformCookie } from '../cookie';
2
+ /**
3
+ * Removes the Uniform cookie and reloads the page.
4
+ */
5
+ export const useForgetMe = () => {
6
+ return () => {
7
+ removeUniformCookie();
8
+ window.location.reload();
9
+ };
10
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Indicates whether or not a user has provided consent, and provides a function to toggle consent.
3
+ */
4
+ export declare const useToggleConsent: () => {
5
+ consent: boolean;
6
+ toggleConsent: () => void;
7
+ };
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import { removeUniformCookie, setUniformCookie } from '../cookie';
3
+ import { useUniformContext } from './useUniformContext';
4
+ /**
5
+ * Indicates whether or not a user has provided consent, and provides a function to toggle consent.
6
+ */
7
+ export const useToggleConsent = () => {
8
+ const { cookieValue } = useUniformContext();
9
+ const hasConsent = !!cookieValue;
10
+ return {
11
+ consent: hasConsent,
12
+ toggleConsent: () => {
13
+ if (hasConsent) {
14
+ removeUniformCookie();
15
+ }
16
+ else {
17
+ setUniformCookie('~~');
18
+ }
19
+ window.location.reload();
20
+ },
21
+ };
22
+ };
@@ -0,0 +1 @@
1
+ export declare const useUniformContext: () => import('../components/UniformContext').UniformContextProps;
@@ -0,0 +1,3 @@
1
+ import { useContext } from 'react';
2
+ import { UniformContext } from '../components/UniformContext';
3
+ export const useUniformContext = () => useContext(UniformContext);