camox 0.40.0 → 0.41.1

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 (108) hide show
  1. package/dist/components/PlatformLabel.js +62 -0
  2. package/dist/core/components/lexical/GradientNode.js +126 -0
  3. package/dist/core/components/lexical/InlineLexicalEditor.js +37 -56
  4. package/dist/core/components/lexical/InlineStylesPlugin.js +183 -0
  5. package/dist/core/components/lexical/SelectionBroadcaster.js +49 -46
  6. package/dist/core/components/lexical/SidebarLexicalEditor.js +197 -151
  7. package/dist/core/components/lexical/editorConfig.js +25 -7
  8. package/dist/core/components/lexical/selectTextLink.js +21 -0
  9. package/dist/core/createApp.d.ts +30 -17
  10. package/dist/core/createApp.js +14 -3
  11. package/dist/core/createBlock.d.ts +2 -2
  12. package/dist/core/createBlock.js +17 -28
  13. package/dist/core/createLayout.d.ts +48 -4
  14. package/dist/core/createLayout.js +51 -23
  15. package/dist/core/derivedRoutes.js +36 -0
  16. package/dist/core/editing/BlockEditingRuntime.js +4 -4
  17. package/dist/core/editing/CompleteBlockEditingRuntime.js +5 -5
  18. package/dist/core/editing/createEditableBlock.d.ts +9 -8
  19. package/dist/core/editing/createEditableBlock.js +265 -403
  20. package/dist/core/hooks/useIsEditable.js +4 -7
  21. package/dist/core/hooks/useRequireDraftSource.js +7 -11
  22. package/dist/core/lib/lexicalReact.d.ts +1 -26
  23. package/dist/core/lib/lexicalReact.js +46 -60
  24. package/dist/core/lib/lexicalState.js +164 -81
  25. package/dist/core/lib/modifierFormats.js +4 -15
  26. package/dist/core/lib/textStyles.d.ts +27 -0
  27. package/dist/core/lib/textStyles.js +47 -0
  28. package/dist/features/navigation/navigation.d.ts +2 -0
  29. package/dist/features/navigation/navigation.js +51 -46
  30. package/dist/features/page/DerivedPageContent.js +61 -0
  31. package/dist/features/page/PublishedPageContent.js +52 -83
  32. package/dist/features/page/SharedLayoutContent.js +66 -0
  33. package/dist/features/preview/CamoxPreview.d.ts +16 -1
  34. package/dist/features/preview/CamoxPreview.js +246 -290
  35. package/dist/features/preview/DerivedPreview.js +134 -0
  36. package/dist/features/preview/EditablePageExperience.js +25 -8
  37. package/dist/features/preview/components/AddBlockSidebar.js +43 -33
  38. package/dist/features/preview/components/AssetLightbox.js +1 -1
  39. package/dist/features/preview/components/BlockActionsPopover.js +8 -8
  40. package/dist/features/preview/components/BlockThumbnail.js +192 -0
  41. package/dist/features/preview/components/CreatePageModal.js +123 -115
  42. package/dist/features/preview/components/DerivedLayoutDialog.js +100 -0
  43. package/dist/features/preview/components/DerivedLayoutSidebar.d.ts +5 -0
  44. package/dist/features/preview/components/DerivedLayoutSidebar.js +160 -0
  45. package/dist/features/preview/components/DerivedPageInfoSidebar.js +57 -0
  46. package/dist/features/preview/components/FieldToolbar.js +42 -20
  47. package/dist/features/preview/components/Frame.js +133 -140
  48. package/dist/features/preview/components/LeftSidebar.js +42 -38
  49. package/dist/features/preview/components/LinkFieldEditor.js +3 -4
  50. package/dist/features/preview/components/MobilePreviewDrawer.js +4 -4
  51. package/dist/features/preview/components/Overlays.js +59 -47
  52. package/dist/features/preview/components/PageEditorSidebar.js +194 -203
  53. package/dist/features/preview/components/PageInfoSidebar.js +63 -55
  54. package/dist/features/preview/components/PageNavigatorSidebar.js +34 -483
  55. package/dist/features/preview/components/PagePicker.js +205 -153
  56. package/dist/features/preview/components/PageTree.js +366 -340
  57. package/dist/features/preview/components/PreviewActivation.js +78 -0
  58. package/dist/features/preview/components/PreviewPanel.js +98 -68
  59. package/dist/features/preview/components/PreviewToolbar.js +224 -241
  60. package/dist/features/preview/components/PreviewToolbarSpacer.js +43 -0
  61. package/dist/features/preview/components/PublicationRow.js +425 -0
  62. package/dist/features/preview/components/PublishDialog.js +180 -97
  63. package/dist/features/preview/components/RightSidebar.js +19 -34
  64. package/dist/features/preview/components/previewStyles.js +8 -0
  65. package/dist/features/preview/components/useUpdateBlockPosition.js +7 -13
  66. package/dist/features/preview/previewConstants.js +8 -0
  67. package/dist/features/preview/previewStore.js +18 -39
  68. package/dist/features/preview/publication.js +71 -0
  69. package/dist/features/provider/AuthenticatedCamoxProvider.js +2 -1
  70. package/dist/features/provider/CoreCamoxProvider.js +11 -2
  71. package/dist/features/provider/LocalhostPreviewProvider.js +6 -7
  72. package/dist/features/provider/useAdminShortcuts.js +5 -4
  73. package/dist/features/routes/pageRuntime.d.ts +10 -0
  74. package/dist/features/routes/pageRuntime.js +7 -9
  75. package/dist/features/runtime/PreviewDocumentContext.js +7 -0
  76. package/dist/features/runtime/RuntimeChrome.js +149 -0
  77. package/dist/features/runtime/SharedChromeContext.js +7 -0
  78. package/dist/features/runtime/navigationRequest.js +21 -0
  79. package/dist/features/runtime/navigationTarget.js +23 -0
  80. package/dist/features/runtime/pageApp.js +196 -121
  81. package/dist/features/runtime/pageNavigation.js +79 -130
  82. package/dist/features/runtime/runtime.d.ts +11 -0
  83. package/dist/features/runtime/runtime.js +183 -47
  84. package/dist/features/runtime/studioApp.d.ts +2 -11
  85. package/dist/features/runtime/studioApp.js +14 -177
  86. package/dist/features/studio/CamoxStudio.js +27 -13
  87. package/dist/features/studio/components/Navbar.js +80 -74
  88. package/dist/features/studio/components/UserButton.js +4 -4
  89. package/dist/features/studio/studioTheme.js +25 -0
  90. package/dist/features/studio/useTheme.js +94 -109
  91. package/dist/features/vite/appGeneration.js +12 -3
  92. package/dist/features/vite/definitionsSync.js +4 -2
  93. package/dist/features/vite/layoutGeneration.js +38 -0
  94. package/dist/features/vite/runtimeDev.js +3 -1
  95. package/dist/lib/auth.js +15 -13
  96. package/dist/lib/normalized-data.js +4 -4
  97. package/dist/lib/platform.js +13 -0
  98. package/dist/lib/utils.js +90 -38
  99. package/dist/studio-overlays.css +5 -40
  100. package/dist/studio.css +1 -1
  101. package/package.json +8 -4
  102. package/skills/camox/SKILL.md +2 -0
  103. package/skills/camox/references/block-definitions.md +31 -12
  104. package/skills/camox/references/layout-definitions.md +2 -0
  105. package/dist/core/lib/modifiers.js +0 -24
  106. package/dist/features/preview/components/DraftSwitchDialog.js +0 -66
  107. package/dist/features/preview/previewQueryFns.js +0 -23
  108. package/dist/features/runtime/studioNavigation.js +0 -120
@@ -0,0 +1,425 @@
1
+ import { actionsStore } from "../../provider/actionsStore.js";
2
+ import { getApiClient } from "../../../lib/api-client.js";
3
+ import { trackClientEvent } from "../../../lib/telemetry-client.js";
4
+ import { previewStore, selectPreviewSource } from "../previewStore.js";
5
+ import { buildPublicationPlan, getPublicationCapabilities, getPublicationRequest } from "../publication.js";
6
+ import { PublishDialog } from "./PublishDialog.js";
7
+ import { c } from "react/compiler-runtime";
8
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
9
+ import * as React from "react";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ import { useSelector } from "@xstate/store-react";
12
+ import { queryKeys } from "@camox/api-contract/query-keys";
13
+ import { Button } from "@camox/ui/button";
14
+ import { MoreHorizontal } from "lucide-react";
15
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from "@camox/ui/alert-dialog";
16
+ import { toast } from "@camox/ui/toaster";
17
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@camox/ui/dropdown-menu";
18
+ import { ButtonGroup } from "@camox/ui/button-group";
19
+
20
+ //#region src/features/preview/components/PublicationRow.tsx
21
+ function PublicationRow(t0) {
22
+ const $ = c(4);
23
+ if ($[0] !== "21f8ad447322b8ca3d57008039e0bedc782b582388e82eacae91c1f0ad25aee6") {
24
+ for (let $i = 0; $i < 4; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
25
+ $[0] = "21f8ad447322b8ca3d57008039e0bedc782b582388e82eacae91c1f0ad25aee6";
26
+ }
27
+ const { target } = t0;
28
+ const identity = target ? `${target.kind}:${target.kind === "page" ? target.page.id : target.layout.id}` : "loading";
29
+ let t1;
30
+ if ($[1] !== identity || $[2] !== target) {
31
+ t1 = /* @__PURE__ */ jsx(PublicationControls, { target }, identity);
32
+ $[1] = identity;
33
+ $[2] = target;
34
+ $[3] = t1;
35
+ } else t1 = $[3];
36
+ return t1;
37
+ }
38
+ function PublicationControls(t0) {
39
+ const $ = c(78);
40
+ if ($[0] !== "21f8ad447322b8ca3d57008039e0bedc782b582388e82eacae91c1f0ad25aee6") {
41
+ for (let $i = 0; $i < 78; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
42
+ $[0] = "21f8ad447322b8ca3d57008039e0bedc782b582388e82eacae91c1f0ad25aee6";
43
+ }
44
+ const { target } = t0;
45
+ const source = useSelector(previewStore, selectPreviewSource);
46
+ const queryClient = useQueryClient();
47
+ const [action, setAction] = React.useState(null);
48
+ let t1;
49
+ if ($[1] !== target) {
50
+ t1 = target ? buildPublicationPlan(target) : null;
51
+ $[1] = target;
52
+ $[2] = t1;
53
+ } else t1 = $[2];
54
+ const plan = t1;
55
+ let t2;
56
+ if ($[3] !== source || $[4] !== target) {
57
+ t2 = getPublicationCapabilities(target, source);
58
+ $[3] = source;
59
+ $[4] = target;
60
+ $[5] = t2;
61
+ } else t2 = $[5];
62
+ const capabilities = t2;
63
+ let t3;
64
+ if ($[6] !== capabilities || $[7] !== target) {
65
+ t3 = async (t4) => {
66
+ const { operation, includedKeys: t5 } = t4;
67
+ const includedKeys = t5 === void 0 ? [] : t5;
68
+ if (!target || !capabilities[operation]) throw new Error("Publication action is unavailable");
69
+ const api = getApiClient();
70
+ if (operation === "publish") {
71
+ const request = getPublicationRequest(target, includedKeys);
72
+ if (request.kind === "layout") {
73
+ await api.layouts.publish(request.input);
74
+ return;
75
+ }
76
+ await api.pages.publish(request.input);
77
+ trackClientEvent("page_published", {
78
+ pageId: request.input.id,
79
+ ...request.input.alsoPublishLayout ? { alsoPublishedLayout: true } : {}
80
+ });
81
+ return;
82
+ }
83
+ if (target.kind === "layout") {
84
+ await api.layouts.unpublish({ id: target.layout.id });
85
+ return;
86
+ }
87
+ if (operation === "discard") {
88
+ await api.pages.discardChanges({ id: target.page.id });
89
+ trackClientEvent("page_changes_discarded", { pageId: target.page.id });
90
+ return;
91
+ }
92
+ await api.pages.unpublish({ id: target.page.id });
93
+ trackClientEvent("page_unpublished", { pageId: target.page.id });
94
+ };
95
+ $[6] = capabilities;
96
+ $[7] = target;
97
+ $[8] = t3;
98
+ } else t3 = $[8];
99
+ let t4;
100
+ if ($[9] !== queryClient) {
101
+ t4 = async (_, t5) => {
102
+ const { operation: operation_0 } = t5;
103
+ if (operation_0 !== "publish") previewStore.send({ type: "viewDraftPage" });
104
+ setAction(null);
105
+ toast.success(operation_0 === "publish" ? "Published selected changes" : operation_0 === "unpublish" ? "Unpublished successfully" : "Discarded draft changes");
106
+ await Promise.all([
107
+ queryClient.invalidateQueries({ queryKey: queryKeys.layouts.all }),
108
+ queryClient.invalidateQueries({ queryKey: queryKeys.pages.list }),
109
+ queryClient.invalidateQueries({ queryKey: queryKeys.pages.getByPathAll }),
110
+ queryClient.invalidateQueries({ queryKey: [
111
+ "camox",
112
+ "pages",
113
+ "getById"
114
+ ] }),
115
+ queryClient.invalidateQueries({ queryKey: [
116
+ "camox",
117
+ "blocks",
118
+ "get"
119
+ ] })
120
+ ]);
121
+ };
122
+ $[9] = queryClient;
123
+ $[10] = t4;
124
+ } else t4 = $[10];
125
+ let t5;
126
+ if ($[11] !== t3 || $[12] !== t4) {
127
+ t5 = {
128
+ mutationFn: t3,
129
+ onSuccess: t4,
130
+ onError: _temp
131
+ };
132
+ $[11] = t3;
133
+ $[12] = t4;
134
+ $[13] = t5;
135
+ } else t5 = $[13];
136
+ const mutation = useMutation(t5);
137
+ const canPublish = capabilities.publish && !mutation.isPending;
138
+ const canUnpublish = capabilities.unpublish && !mutation.isPending;
139
+ const canDiscard = capabilities.discard && !mutation.isPending;
140
+ const publishLabel = plan?.title ?? "Publish changes";
141
+ const kind = target?.kind;
142
+ let t6;
143
+ let t7;
144
+ if ($[14] !== canDiscard || $[15] !== canPublish || $[16] !== canUnpublish || $[17] !== kind || $[18] !== publishLabel) {
145
+ t6 = () => {
146
+ if (!kind) return;
147
+ const actions = [{
148
+ id: `publish-current-${kind}`,
149
+ label: publishLabel,
150
+ aliases: ["Publish", "Make live"],
151
+ groupLabel: "Preview",
152
+ checkIfAvailable: () => canPublish,
153
+ execute: () => setAction("publish")
154
+ }, {
155
+ id: `unpublish-current-${kind}`,
156
+ label: `Unpublish ${kind}`,
157
+ aliases: ["Take offline", "Remove from live"],
158
+ groupLabel: "Preview",
159
+ checkIfAvailable: () => canUnpublish,
160
+ execute: () => setAction("unpublish")
161
+ }];
162
+ if (kind === "page") actions.push({
163
+ id: "discard-current-page-changes",
164
+ label: "Discard page changes",
165
+ aliases: [
166
+ "Revert page",
167
+ "Reset page",
168
+ "Discard draft"
169
+ ],
170
+ groupLabel: "Preview",
171
+ checkIfAvailable: () => canDiscard,
172
+ execute: () => setAction("discard")
173
+ });
174
+ actionsStore.send({
175
+ type: "registerManyActions",
176
+ actions
177
+ });
178
+ return () => actionsStore.send({
179
+ type: "unregisterManyActions",
180
+ ids: actions.map(_temp2)
181
+ });
182
+ };
183
+ t7 = [
184
+ kind,
185
+ publishLabel,
186
+ canPublish,
187
+ canUnpublish,
188
+ canDiscard
189
+ ];
190
+ $[14] = canDiscard;
191
+ $[15] = canPublish;
192
+ $[16] = canUnpublish;
193
+ $[17] = kind;
194
+ $[18] = publishLabel;
195
+ $[19] = t6;
196
+ $[20] = t7;
197
+ } else {
198
+ t6 = $[19];
199
+ t7 = $[20];
200
+ }
201
+ React.useEffect(t6, t7);
202
+ const t8 = !canPublish;
203
+ let t9;
204
+ if ($[21] === Symbol.for("react.memo_cache_sentinel")) {
205
+ t9 = () => setAction("publish");
206
+ $[21] = t9;
207
+ } else t9 = $[21];
208
+ let t10;
209
+ if ($[22] !== publishLabel || $[23] !== t8) {
210
+ t10 = /* @__PURE__ */ jsx(Button, {
211
+ variant: "outline",
212
+ className: "flex-1",
213
+ disabled: t8,
214
+ onClick: t9,
215
+ children: publishLabel
216
+ });
217
+ $[22] = publishLabel;
218
+ $[23] = t8;
219
+ $[24] = t10;
220
+ } else t10 = $[24];
221
+ let t11;
222
+ if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
223
+ t11 = /* @__PURE__ */ jsx(DropdownMenuTrigger, {
224
+ render: /* @__PURE__ */ jsx(Button, {
225
+ variant: "outline",
226
+ size: "icon",
227
+ "aria-label": "More publish actions"
228
+ }),
229
+ children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "text-muted-foreground" })
230
+ });
231
+ $[25] = t11;
232
+ } else t11 = $[25];
233
+ const t12 = !canUnpublish;
234
+ let t13;
235
+ if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
236
+ t13 = () => setAction("unpublish");
237
+ $[26] = t13;
238
+ } else t13 = $[26];
239
+ let t14;
240
+ if ($[27] !== t12) {
241
+ t14 = /* @__PURE__ */ jsx(DropdownMenuItem, {
242
+ disabled: t12,
243
+ onClick: t13,
244
+ children: "Unpublish"
245
+ });
246
+ $[27] = t12;
247
+ $[28] = t14;
248
+ } else t14 = $[28];
249
+ let t15;
250
+ if ($[29] !== canDiscard || $[30] !== kind) {
251
+ t15 = kind === "page" && /* @__PURE__ */ jsx(DropdownMenuItem, {
252
+ disabled: !canDiscard,
253
+ onClick: () => setAction("discard"),
254
+ children: "Discard changes"
255
+ });
256
+ $[29] = canDiscard;
257
+ $[30] = kind;
258
+ $[31] = t15;
259
+ } else t15 = $[31];
260
+ let t16;
261
+ if ($[32] !== t14 || $[33] !== t15) {
262
+ t16 = /* @__PURE__ */ jsxs(DropdownMenu, { children: [t11, /* @__PURE__ */ jsxs(DropdownMenuContent, {
263
+ align: "end",
264
+ children: [t14, t15]
265
+ })] });
266
+ $[32] = t14;
267
+ $[33] = t15;
268
+ $[34] = t16;
269
+ } else t16 = $[34];
270
+ let t17;
271
+ if ($[35] !== t10 || $[36] !== t16) {
272
+ t17 = /* @__PURE__ */ jsxs(ButtonGroup, {
273
+ className: "w-full",
274
+ children: [t10, t16]
275
+ });
276
+ $[35] = t10;
277
+ $[36] = t16;
278
+ $[37] = t17;
279
+ } else t17 = $[37];
280
+ let t18;
281
+ if ($[38] !== action || $[39] !== canPublish || $[40] !== mutation || $[41] !== plan) {
282
+ t18 = action === "publish" && plan && /* @__PURE__ */ jsx(PublishDialog, {
283
+ plan,
284
+ pending: mutation.isPending,
285
+ onPublish: (includedKeys_0) => {
286
+ if (canPublish) mutation.mutate({
287
+ operation: "publish",
288
+ includedKeys: includedKeys_0
289
+ });
290
+ },
291
+ onOpenChange: (open) => !open && setAction(null)
292
+ });
293
+ $[38] = action;
294
+ $[39] = canPublish;
295
+ $[40] = mutation;
296
+ $[41] = plan;
297
+ $[42] = t18;
298
+ } else t18 = $[42];
299
+ const t19 = action === "unpublish" || action === "discard";
300
+ let t20;
301
+ if ($[43] !== mutation.isPending) {
302
+ t20 = (open_0) => !open_0 && !mutation.isPending && setAction(null);
303
+ $[43] = mutation.isPending;
304
+ $[44] = t20;
305
+ } else t20 = $[44];
306
+ const t21 = action === "discard" ? "Discard draft changes" : `Unpublish ${kind ?? ""}`;
307
+ let t22;
308
+ if ($[45] !== t21) {
309
+ t22 = /* @__PURE__ */ jsx(AlertDialogTitle, { children: t21 });
310
+ $[45] = t21;
311
+ $[46] = t22;
312
+ } else t22 = $[46];
313
+ let t23;
314
+ if ($[47] !== action || $[48] !== target) {
315
+ t23 = /* @__PURE__ */ jsx(AlertDialogDescription, { children: action === "discard" ? /* @__PURE__ */ jsxs(Fragment, { children: [
316
+ "The draft for ",
317
+ target?.kind === "page" && target.page.fullPath,
318
+ " will be reset to its published version. Shared layout changes are not discarded. This does not change what visitors see."
319
+ ] }) : target?.kind === "layout" ? /* @__PURE__ */ jsxs(Fragment, { children: [
320
+ "This removes the shared before and after blocks from every live page using",
321
+ " ",
322
+ target.name,
323
+ ", including all derived URLs. The generated content and draft blocks stay available."
324
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
325
+ "Visitors at ",
326
+ target?.page.fullPath,
327
+ " will get a 404. The draft stays available. Shared layout blocks remain published for other pages."
328
+ ] }) });
329
+ $[47] = action;
330
+ $[48] = target;
331
+ $[49] = t23;
332
+ } else t23 = $[49];
333
+ let t24;
334
+ if ($[50] !== t22 || $[51] !== t23) {
335
+ t24 = /* @__PURE__ */ jsxs(AlertDialogHeader, { children: [t22, t23] });
336
+ $[50] = t22;
337
+ $[51] = t23;
338
+ $[52] = t24;
339
+ } else t24 = $[52];
340
+ let t25;
341
+ if ($[53] !== mutation.isPending) {
342
+ t25 = /* @__PURE__ */ jsx(AlertDialogCancel, {
343
+ variant: "outline",
344
+ disabled: mutation.isPending,
345
+ children: "Cancel"
346
+ });
347
+ $[53] = mutation.isPending;
348
+ $[54] = t25;
349
+ } else t25 = $[54];
350
+ const t26 = action === "discard" ? !canDiscard : !canUnpublish;
351
+ let t27;
352
+ if ($[55] !== action || $[56] !== canDiscard || $[57] !== canUnpublish || $[58] !== mutation) {
353
+ t27 = (event) => {
354
+ event.preventDefault();
355
+ if (action === "discard" && canDiscard) mutation.mutate({ operation: action });
356
+ if (action === "unpublish" && canUnpublish) mutation.mutate({ operation: action });
357
+ };
358
+ $[55] = action;
359
+ $[56] = canDiscard;
360
+ $[57] = canUnpublish;
361
+ $[58] = mutation;
362
+ $[59] = t27;
363
+ } else t27 = $[59];
364
+ const t28 = mutation.isPending ? "Updating…" : action === "discard" ? "Discard changes" : "Unpublish";
365
+ let t29;
366
+ if ($[60] !== t26 || $[61] !== t27 || $[62] !== t28) {
367
+ t29 = /* @__PURE__ */ jsx(AlertDialogAction, {
368
+ disabled: t26,
369
+ onClick: t27,
370
+ children: t28
371
+ });
372
+ $[60] = t26;
373
+ $[61] = t27;
374
+ $[62] = t28;
375
+ $[63] = t29;
376
+ } else t29 = $[63];
377
+ let t30;
378
+ if ($[64] !== t25 || $[65] !== t29) {
379
+ t30 = /* @__PURE__ */ jsxs(AlertDialogFooter, { children: [t25, t29] });
380
+ $[64] = t25;
381
+ $[65] = t29;
382
+ $[66] = t30;
383
+ } else t30 = $[66];
384
+ let t31;
385
+ if ($[67] !== t24 || $[68] !== t30) {
386
+ t31 = /* @__PURE__ */ jsxs(AlertDialogContent, { children: [t24, t30] });
387
+ $[67] = t24;
388
+ $[68] = t30;
389
+ $[69] = t31;
390
+ } else t31 = $[69];
391
+ let t32;
392
+ if ($[70] !== t19 || $[71] !== t20 || $[72] !== t31) {
393
+ t32 = /* @__PURE__ */ jsx(AlertDialog, {
394
+ open: t19,
395
+ onOpenChange: t20,
396
+ children: t31
397
+ });
398
+ $[70] = t19;
399
+ $[71] = t20;
400
+ $[72] = t31;
401
+ $[73] = t32;
402
+ } else t32 = $[73];
403
+ let t33;
404
+ if ($[74] !== t17 || $[75] !== t18 || $[76] !== t32) {
405
+ t33 = /* @__PURE__ */ jsxs(Fragment, { children: [
406
+ t17,
407
+ t18,
408
+ t32
409
+ ] });
410
+ $[74] = t17;
411
+ $[75] = t18;
412
+ $[76] = t32;
413
+ $[77] = t33;
414
+ } else t33 = $[77];
415
+ return t33;
416
+ }
417
+ function _temp2(item) {
418
+ return item.id;
419
+ }
420
+ function _temp() {
421
+ return toast.error("Could not complete this action. Please try again.");
422
+ }
423
+
424
+ //#endregion
425
+ export { PublicationRow };