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
@@ -31,10 +31,10 @@ import { Switch } from "@camox/ui/switch";
31
31
 
32
32
  //#region src/features/preview/components/PageInfoSidebar.tsx
33
33
  const usePageMetadataData = (pageId) => {
34
- const $ = c(29);
35
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
36
- for (let $i = 0; $i < 29; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
37
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
34
+ const $ = c(32);
35
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
36
+ for (let $i = 0; $i < 32; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
37
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
38
38
  }
39
39
  const projectSlug = useProjectSlug();
40
40
  const camoxApp = useCamoxApp();
@@ -87,31 +87,39 @@ const usePageMetadataData = (pageId) => {
87
87
  $[13] = t6;
88
88
  $[14] = t7;
89
89
  } else t7 = $[14];
90
- const { data: layouts } = useQuery(t7);
91
- let pageLayoutRecord;
90
+ const { data: allLayouts } = useQuery(t7);
92
91
  let t8;
93
- if ($[15] !== camoxApp || $[16] !== layouts || $[17] !== page || $[18] !== project?.name) {
94
- pageLayoutRecord = layouts?.find((l) => l.id === page?.layoutId);
92
+ if ($[15] !== allLayouts || $[16] !== camoxApp) {
93
+ t8 = allLayouts?.filter((layout) => camoxApp.getLayoutById(layout.layoutId)?._internal.kind !== "derived");
94
+ $[15] = allLayouts;
95
+ $[16] = camoxApp;
96
+ $[17] = t8;
97
+ } else t8 = $[17];
98
+ const layouts = t8;
99
+ let pageLayoutRecord;
100
+ let t9;
101
+ if ($[18] !== allLayouts || $[19] !== camoxApp || $[20] !== page || $[21] !== project?.name) {
102
+ pageLayoutRecord = allLayouts?.find((l) => l.id === page?.layoutId);
95
103
  const layoutDef = pageLayoutRecord ? camoxApp.getLayoutById(pageLayoutRecord.layoutId) : void 0;
96
- t8 = layoutDef && page ? layoutDef._internal.buildMetaTitle({
104
+ t9 = layoutDef && page ? layoutDef._internal.buildMetaTitle({
97
105
  pageMetaTitle: page.metaTitle ?? "",
98
106
  projectName: project?.name ?? "",
99
107
  pageFullPath: page.fullPath
100
108
  }) : page?.metaTitle ?? "";
101
- $[15] = camoxApp;
102
- $[16] = layouts;
103
- $[17] = page;
104
- $[18] = project?.name;
105
- $[19] = pageLayoutRecord;
106
- $[20] = t8;
109
+ $[18] = allLayouts;
110
+ $[19] = camoxApp;
111
+ $[20] = page;
112
+ $[21] = project?.name;
113
+ $[22] = pageLayoutRecord;
114
+ $[23] = t9;
107
115
  } else {
108
- pageLayoutRecord = $[19];
109
- t8 = $[20];
116
+ pageLayoutRecord = $[22];
117
+ t9 = $[23];
110
118
  }
111
- const metaTitle = t8;
112
- let t9;
113
- if ($[21] !== camoxApp || $[22] !== layouts || $[23] !== metaTitle || $[24] !== page || $[25] !== pageLayoutRecord || $[26] !== pages || $[27] !== project) {
114
- t9 = {
119
+ const metaTitle = t9;
120
+ let t10;
121
+ if ($[24] !== camoxApp || $[25] !== layouts || $[26] !== metaTitle || $[27] !== page || $[28] !== pageLayoutRecord || $[29] !== pages || $[30] !== project) {
122
+ t10 = {
115
123
  page,
116
124
  project,
117
125
  pages,
@@ -120,22 +128,22 @@ const usePageMetadataData = (pageId) => {
120
128
  metaTitle,
121
129
  camoxApp
122
130
  };
123
- $[21] = camoxApp;
124
- $[22] = layouts;
125
- $[23] = metaTitle;
126
- $[24] = page;
127
- $[25] = pageLayoutRecord;
128
- $[26] = pages;
129
- $[27] = project;
130
- $[28] = t9;
131
- } else t9 = $[28];
132
- return t9;
131
+ $[24] = camoxApp;
132
+ $[25] = layouts;
133
+ $[26] = metaTitle;
134
+ $[27] = page;
135
+ $[28] = pageLayoutRecord;
136
+ $[29] = pages;
137
+ $[30] = project;
138
+ $[31] = t10;
139
+ } else t10 = $[31];
140
+ return t10;
133
141
  };
134
142
  const PageInfoSidebar = (t0) => {
135
143
  const $ = c(66);
136
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
144
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
137
145
  for (let $i = 0; $i < 66; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
138
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
146
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
139
147
  }
140
148
  const { pageId, scrollable: t1, aboutOnly: t2 } = t0;
141
149
  const scrollable = t1 === void 0 ? true : t1;
@@ -416,9 +424,9 @@ const PageInfoSidebar = (t0) => {
416
424
  };
417
425
  const PageNicknameSidebarEditor = (t0) => {
418
426
  const $ = c(21);
419
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
427
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
420
428
  for (let $i = 0; $i < 21; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
421
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
429
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
422
430
  }
423
431
  const { data } = t0;
424
432
  const { page } = data;
@@ -527,9 +535,9 @@ const PageNicknameSidebarEditor = (t0) => {
527
535
  };
528
536
  const PageLayoutSidebarSelect = (t0) => {
529
537
  const $ = c(30);
530
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
538
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
531
539
  for (let $i = 0; $i < 30; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
532
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
540
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
533
541
  }
534
542
  const { data } = t0;
535
543
  const { page, layouts, camoxApp } = data;
@@ -661,9 +669,9 @@ const PageLayoutSidebarSelect = (t0) => {
661
669
  };
662
670
  const PageStructureModal = (t0) => {
663
671
  const $ = c(10);
664
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
672
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
665
673
  for (let $i = 0; $i < 10; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
666
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
674
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
667
675
  }
668
676
  const { open, onOpenChange, pageId } = t0;
669
677
  const data = usePageMetadataData(pageId);
@@ -837,9 +845,9 @@ const PageStructureEditor = ({ data, includeNickname = true, includeLayout = tru
837
845
  };
838
846
  const PageSeoModal = (t0) => {
839
847
  const $ = c(8);
840
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
848
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
841
849
  for (let $i = 0; $i < 8; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
842
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
850
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
843
851
  }
844
852
  const { open, onOpenChange, pageId } = t0;
845
853
  let t1;
@@ -872,9 +880,9 @@ const PageSeoModal = (t0) => {
872
880
  };
873
881
  const PageSeoContent = (t0) => {
874
882
  const $ = c(6);
875
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
883
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
876
884
  for (let $i = 0; $i < 6; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
877
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
885
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
878
886
  }
879
887
  const { pageId } = t0;
880
888
  const { page, metaTitle, pageLayoutRecord, project } = usePageMetadataData(pageId);
@@ -899,9 +907,9 @@ const PageSeoContent = (t0) => {
899
907
  };
900
908
  const PageSeoEditor = (t0) => {
901
909
  const $ = c(43);
902
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
910
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
903
911
  for (let $i = 0; $i < 43; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
904
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
912
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
905
913
  }
906
914
  const { page, metaTitle, layoutId, projectName } = t0;
907
915
  let t1;
@@ -1074,9 +1082,9 @@ const PageSeoEditor = (t0) => {
1074
1082
  };
1075
1083
  const PageMarkdownModal = (t0) => {
1076
1084
  const $ = c(10);
1077
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
1085
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
1078
1086
  for (let $i = 0; $i < 10; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
1079
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
1087
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
1080
1088
  }
1081
1089
  const { open, onOpenChange, pageId, metaTitle, metaDescription } = t0;
1082
1090
  let t1;
@@ -1115,9 +1123,9 @@ const PageMarkdownModal = (t0) => {
1115
1123
  };
1116
1124
  const PageMarkdownContent = (t0) => {
1117
1125
  const $ = c(6);
1118
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
1126
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
1119
1127
  for (let $i = 0; $i < 6; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
1120
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
1128
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
1121
1129
  }
1122
1130
  const { pageId } = t0;
1123
1131
  const { page, metaTitle } = usePageMetadataData(pageId);
@@ -1150,9 +1158,9 @@ function truncateText(text, maxLen) {
1150
1158
  }
1151
1159
  const SearchEnginePreview = (t0) => {
1152
1160
  const $ = c(17);
1153
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
1161
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
1154
1162
  for (let $i = 0; $i < 17; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
1155
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
1163
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
1156
1164
  }
1157
1165
  const { page, metaTitle, metaDescription } = t0;
1158
1166
  const url = `${typeof window !== "undefined" ? window.location.origin : ""}${page.fullPath}`;
@@ -1235,9 +1243,9 @@ const SearchEnginePreview = (t0) => {
1235
1243
  };
1236
1244
  const SocialPreviewSection = (t0) => {
1237
1245
  const $ = c(60);
1238
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
1246
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
1239
1247
  for (let $i = 0; $i < 60; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
1240
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
1248
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
1241
1249
  }
1242
1250
  const { page, metaTitle, metaDescription, layoutId, projectName } = t0;
1243
1251
  const pageMetaTitle = page.metaTitle ?? page.pathSegment;
@@ -1511,9 +1519,9 @@ const SocialPreviewSection = (t0) => {
1511
1519
  };
1512
1520
  const PageMarkdownPreview = (t0) => {
1513
1521
  const $ = c(9);
1514
- if ($[0] !== "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9") {
1522
+ if ($[0] !== "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0") {
1515
1523
  for (let $i = 0; $i < 9; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
1516
- $[0] = "6429fc16e5e144c75214ac94981064682ca467e61e74e9280c01a2159d34fef9";
1524
+ $[0] = "cd84946ba5d655224ba80e40321889a8fc523c868499649dee3151d8808afbe0";
1517
1525
  }
1518
1526
  const { pageId, metaTitle, metaDescription } = t0;
1519
1527
  let t1;