camox 0.14.2 → 0.16.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.
- package/dist/components/AuthGate.js +6 -0
- package/dist/core/components/AddBlockControlBar.js +30 -26
- package/dist/core/components/lexical/InlineContentEditable.js +19 -15
- package/dist/core/components/lexical/InlineLexicalEditor.js +62 -42
- package/dist/core/components/lexical/SelectionBroadcaster.js +25 -21
- package/dist/core/components/lexical/SidebarLexicalEditor.js +33 -21
- package/dist/core/createBlock.js +524 -488
- package/dist/core/createLayout.js +40 -28
- package/dist/core/hooks/useFieldSelection.js +12 -8
- package/dist/core/hooks/useIsEditable.js +6 -0
- package/dist/core/hooks/useOverlayMessage.js +19 -15
- package/dist/core/lib/contentType.d.ts +8 -8
- package/dist/core/lib/contentType.js +63 -0
- package/dist/features/content/CamoxContent.js +92 -88
- package/dist/features/content/components/AssetCard.js +46 -42
- package/dist/features/content/components/AssetCardSkeleton.js +8 -4
- package/dist/features/content/components/ContentSidebar.js +8 -4
- package/dist/features/content/components/UploadDropZone.js +31 -27
- package/dist/features/content/components/UploadProgressDrawer.js +98 -90
- package/dist/features/preview/CamoxPreview.js +162 -146
- package/dist/features/preview/components/AddBlockSheet.js +105 -101
- package/dist/features/preview/components/AgentChatSheet.js +74 -21
- package/dist/features/preview/components/AssetFieldEditor.js +98 -90
- package/dist/features/preview/components/AssetLightbox.js +21 -17
- package/dist/features/preview/components/AssetPickerGrid.js +84 -80
- package/dist/features/preview/components/BlockActionsPopover.js +35 -31
- package/dist/features/preview/components/BlockErrorBoundary.js +12 -8
- package/dist/features/preview/components/CreatePageModal.js +1 -1
- package/dist/features/preview/components/DebouncedFieldEditor.js +41 -37
- package/dist/features/preview/components/EditPageModal.js +114 -98
- package/dist/features/preview/components/FieldOverlayStyles.js +8 -4
- package/dist/features/preview/components/FieldToolbar.js +95 -54
- package/dist/features/preview/components/Frame.js +50 -46
- package/dist/features/preview/components/ItemFieldsEditor.js +81 -79
- package/dist/features/preview/components/LinkFieldEditor.js +138 -134
- package/dist/features/preview/components/MultipleAssetFieldEditor.js +105 -97
- package/dist/features/preview/components/OverlayTracker.js +19 -15
- package/dist/features/preview/components/Overlays.js +27 -23
- package/dist/features/preview/components/PageContentSheet.js +54 -4
- package/dist/features/preview/components/PageLocationFieldset.js +113 -109
- package/dist/features/preview/components/PagePicker.js +1 -1
- package/dist/features/preview/components/PageTree.js +443 -399
- package/dist/features/preview/components/PeekedBlock.js +69 -65
- package/dist/features/preview/components/PreviewPanel.js +64 -52
- package/dist/features/preview/components/PreviewSideSheet.js +25 -16
- package/dist/features/preview/components/PreviewToolbar.js +127 -123
- package/dist/features/preview/components/RepeatableItemsList.js +176 -171
- package/dist/features/preview/components/ShikiMarkdown.js +18 -14
- package/dist/features/preview/components/UnlinkAssetButton.js +74 -70
- package/dist/features/preview/components/useRepeatableItemActions.js +266 -0
- package/dist/features/preview/components/useUpdateBlockPosition.js +13 -9
- package/dist/features/provider/CamoxProvider.js +60 -52
- package/dist/features/provider/components/CamoxAppContext.js +10 -6
- package/dist/features/provider/components/CommandPalette.js +77 -69
- package/dist/features/provider/useAdminShortcuts.js +11 -7
- package/dist/features/routes/pageRoute.js +8 -4
- package/dist/features/studio/CamoxStudio.js +23 -19
- package/dist/features/studio/components/EnvironmentMenu.js +32 -28
- package/dist/features/studio/components/Navbar.js +62 -54
- package/dist/features/studio/components/ProjectMenu.js +131 -123
- package/dist/features/studio/components/UserButton.js +15 -11
- package/dist/features/studio/useTheme.js +82 -42
- package/dist/features/vite/definitionsSync.js +5 -5
- package/dist/features/vite/skillGeneration.js +43 -8
- package/dist/features/vite/vite.d.ts +1 -1
- package/dist/features/vite/vite.js +20 -2
- package/dist/hooks/use-marquee-selection.js +36 -32
- package/dist/lib/auth.js +49 -22
- package/dist/lib/normalized-data.js +55 -47
- package/dist/lib/use-project-room.js +22 -18
- package/dist/studio.css +1 -1
- package/package.json +10 -11
- package/skills/camox-block/SKILL.md +4 -0
- package/skills/camox-cli/SKILL.md +142 -0
- package/skills/camox-layout/SKILL.md +4 -0
|
@@ -19,69 +19,73 @@ function assetLabel(isImage, multiple) {
|
|
|
19
19
|
return multiple ? "files" : "file";
|
|
20
20
|
}
|
|
21
21
|
const AssetActionButtons = (t0) => {
|
|
22
|
-
const $ = c(
|
|
22
|
+
const $ = c(27);
|
|
23
|
+
if ($[0] !== "511bbc6572b1a9ed249b95be0b61223953390bf5d43cd01f6b380f115b1aadaa") {
|
|
24
|
+
for (let $i = 0; $i < 27; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
25
|
+
$[0] = "511bbc6572b1a9ed249b95be0b61223953390bf5d43cd01f6b380f115b1aadaa";
|
|
26
|
+
}
|
|
23
27
|
const { isImage, multiple, fileInputRef, onPickerOpen, onFilesSelected, uploads } = t0;
|
|
24
28
|
let t1;
|
|
25
|
-
if ($[
|
|
29
|
+
if ($[1] !== isImage || $[2] !== multiple) {
|
|
26
30
|
t1 = assetLabel(isImage, multiple);
|
|
27
|
-
$[
|
|
28
|
-
$[
|
|
29
|
-
$[
|
|
30
|
-
} else t1 = $[
|
|
31
|
+
$[1] = isImage;
|
|
32
|
+
$[2] = multiple;
|
|
33
|
+
$[3] = t1;
|
|
34
|
+
} else t1 = $[3];
|
|
31
35
|
let t2;
|
|
32
|
-
if ($[
|
|
36
|
+
if ($[4] !== onPickerOpen || $[5] !== t1) {
|
|
33
37
|
t2 = /* @__PURE__ */ jsxs(Button, {
|
|
34
38
|
variant: "default",
|
|
35
39
|
className: "mx-auto flex w-full",
|
|
36
40
|
onClick: onPickerOpen,
|
|
37
41
|
children: ["Select existing ", t1]
|
|
38
42
|
});
|
|
39
|
-
$[
|
|
40
|
-
$[
|
|
41
|
-
$[
|
|
42
|
-
} else t2 = $[
|
|
43
|
+
$[4] = onPickerOpen;
|
|
44
|
+
$[5] = t1;
|
|
45
|
+
$[6] = t2;
|
|
46
|
+
} else t2 = $[6];
|
|
43
47
|
let t3;
|
|
44
|
-
if ($[
|
|
48
|
+
if ($[7] !== fileInputRef) {
|
|
45
49
|
t3 = () => fileInputRef.current?.click();
|
|
46
|
-
$[
|
|
47
|
-
$[
|
|
48
|
-
} else t3 = $[
|
|
50
|
+
$[7] = fileInputRef;
|
|
51
|
+
$[8] = t3;
|
|
52
|
+
} else t3 = $[8];
|
|
49
53
|
let t4;
|
|
50
|
-
if ($[
|
|
54
|
+
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
51
55
|
t4 = /* @__PURE__ */ jsx(Upload, { className: "h-4 w-4" });
|
|
52
|
-
$[
|
|
53
|
-
} else t4 = $[
|
|
56
|
+
$[9] = t4;
|
|
57
|
+
} else t4 = $[9];
|
|
54
58
|
let t5;
|
|
55
|
-
if ($[
|
|
59
|
+
if ($[10] !== t3) {
|
|
56
60
|
t5 = /* @__PURE__ */ jsxs(Button, {
|
|
57
61
|
variant: "secondary",
|
|
58
62
|
className: "mx-auto flex w-full",
|
|
59
63
|
onClick: t3,
|
|
60
64
|
children: [t4, "Upload new"]
|
|
61
65
|
});
|
|
62
|
-
$[
|
|
63
|
-
$[
|
|
64
|
-
} else t5 = $[
|
|
66
|
+
$[10] = t3;
|
|
67
|
+
$[11] = t5;
|
|
68
|
+
} else t5 = $[11];
|
|
65
69
|
let t6;
|
|
66
|
-
if ($[
|
|
70
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
67
71
|
t6 = /* @__PURE__ */ jsx("p", {
|
|
68
72
|
className: "text-muted-foreground text-center text-xs",
|
|
69
73
|
children: "Or drag anywhere to upload"
|
|
70
74
|
});
|
|
71
|
-
$[
|
|
72
|
-
} else t6 = $[
|
|
75
|
+
$[12] = t6;
|
|
76
|
+
} else t6 = $[12];
|
|
73
77
|
const t7 = isImage ? "image/*" : "*/*";
|
|
74
78
|
let t8;
|
|
75
|
-
if ($[
|
|
79
|
+
if ($[13] !== onFilesSelected) {
|
|
76
80
|
t8 = (e) => {
|
|
77
81
|
if (e.target.files) onFilesSelected(e.target.files);
|
|
78
82
|
e.target.value = "";
|
|
79
83
|
};
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
82
|
-
} else t8 = $[
|
|
84
|
+
$[13] = onFilesSelected;
|
|
85
|
+
$[14] = t8;
|
|
86
|
+
} else t8 = $[14];
|
|
83
87
|
let t9;
|
|
84
|
-
if ($[
|
|
88
|
+
if ($[15] !== fileInputRef || $[16] !== multiple || $[17] !== t7 || $[18] !== t8) {
|
|
85
89
|
t9 = /* @__PURE__ */ jsx("input", {
|
|
86
90
|
type: "file",
|
|
87
91
|
ref: fileInputRef,
|
|
@@ -90,20 +94,20 @@ const AssetActionButtons = (t0) => {
|
|
|
90
94
|
multiple,
|
|
91
95
|
onChange: t8
|
|
92
96
|
});
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
} else t9 = $[
|
|
97
|
+
$[15] = fileInputRef;
|
|
98
|
+
$[16] = multiple;
|
|
99
|
+
$[17] = t7;
|
|
100
|
+
$[18] = t8;
|
|
101
|
+
$[19] = t9;
|
|
102
|
+
} else t9 = $[19];
|
|
99
103
|
let t10;
|
|
100
|
-
if ($[
|
|
104
|
+
if ($[20] !== uploads) {
|
|
101
105
|
t10 = uploads.length > 0 && /* @__PURE__ */ jsx("div", { children: uploads.map(_temp) });
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
} else t10 = $[
|
|
106
|
+
$[20] = uploads;
|
|
107
|
+
$[21] = t10;
|
|
108
|
+
} else t10 = $[21];
|
|
105
109
|
let t11;
|
|
106
|
-
if ($[
|
|
110
|
+
if ($[22] !== t10 || $[23] !== t2 || $[24] !== t5 || $[25] !== t9) {
|
|
107
111
|
t11 = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
108
112
|
t2,
|
|
109
113
|
t5,
|
|
@@ -111,16 +115,20 @@ const AssetActionButtons = (t0) => {
|
|
|
111
115
|
t9,
|
|
112
116
|
t10
|
|
113
117
|
] });
|
|
114
|
-
$[
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
} else t11 = $[
|
|
118
|
+
$[22] = t10;
|
|
119
|
+
$[23] = t2;
|
|
120
|
+
$[24] = t5;
|
|
121
|
+
$[25] = t9;
|
|
122
|
+
$[26] = t11;
|
|
123
|
+
} else t11 = $[26];
|
|
120
124
|
return t11;
|
|
121
125
|
};
|
|
122
126
|
const SingleAssetFieldEditor = (t0) => {
|
|
123
|
-
const $ = c(
|
|
127
|
+
const $ = c(29);
|
|
128
|
+
if ($[0] !== "511bbc6572b1a9ed249b95be0b61223953390bf5d43cd01f6b380f115b1aadaa") {
|
|
129
|
+
for (let $i = 0; $i < 29; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
130
|
+
$[0] = "511bbc6572b1a9ed249b95be0b61223953390bf5d43cd01f6b380f115b1aadaa";
|
|
131
|
+
}
|
|
124
132
|
const { fieldName, assetType, currentData, onFieldChange } = t0;
|
|
125
133
|
const asset = currentData[fieldName];
|
|
126
134
|
const hasAsset = !!asset?.url;
|
|
@@ -130,57 +138,57 @@ const SingleAssetFieldEditor = (t0) => {
|
|
|
130
138
|
const fileInputRef = React.useRef(null);
|
|
131
139
|
const projectSlug = useProjectSlug();
|
|
132
140
|
let t1;
|
|
133
|
-
if ($[
|
|
141
|
+
if ($[1] !== projectSlug) {
|
|
134
142
|
t1 = projectQueries.getBySlug(projectSlug);
|
|
135
|
-
$[
|
|
136
|
-
$[
|
|
137
|
-
} else t1 = $[
|
|
143
|
+
$[1] = projectSlug;
|
|
144
|
+
$[2] = t1;
|
|
145
|
+
} else t1 = $[2];
|
|
138
146
|
const { data: project } = useQuery(t1);
|
|
139
147
|
const t2 = project?.id;
|
|
140
148
|
let t3;
|
|
141
|
-
if ($[
|
|
149
|
+
if ($[3] !== fieldName || $[4] !== onFieldChange) {
|
|
142
150
|
t3 = (result) => {
|
|
143
151
|
onFieldChange(fieldName, { _fileId: Number(result.fileId) });
|
|
144
152
|
};
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
} else t3 = $[
|
|
153
|
+
$[3] = fieldName;
|
|
154
|
+
$[4] = onFieldChange;
|
|
155
|
+
$[5] = t3;
|
|
156
|
+
} else t3 = $[5];
|
|
149
157
|
let t4;
|
|
150
|
-
if ($[
|
|
158
|
+
if ($[6] !== t2 || $[7] !== t3) {
|
|
151
159
|
t4 = {
|
|
152
160
|
projectId: t2,
|
|
153
161
|
onFileCommitted: t3
|
|
154
162
|
};
|
|
155
|
-
$[
|
|
156
|
-
$[
|
|
157
|
-
$[
|
|
158
|
-
} else t4 = $[
|
|
163
|
+
$[6] = t2;
|
|
164
|
+
$[7] = t3;
|
|
165
|
+
$[8] = t4;
|
|
166
|
+
} else t4 = $[8];
|
|
159
167
|
const { uploads, uploadFiles } = useFileUpload(t4);
|
|
160
168
|
let t5;
|
|
161
|
-
if ($[
|
|
169
|
+
if ($[9] !== uploadFiles) {
|
|
162
170
|
t5 = (files) => {
|
|
163
171
|
const dt = new DataTransfer();
|
|
164
172
|
dt.items.add(files[0]);
|
|
165
173
|
uploadFiles(dt.files);
|
|
166
174
|
};
|
|
167
|
-
$[
|
|
168
|
-
$[
|
|
169
|
-
} else t5 = $[
|
|
175
|
+
$[9] = uploadFiles;
|
|
176
|
+
$[10] = t5;
|
|
177
|
+
} else t5 = $[10];
|
|
170
178
|
const handleDrop = t5;
|
|
171
179
|
let t6;
|
|
172
|
-
if ($[
|
|
180
|
+
if ($[11] !== fieldName || $[12] !== onFieldChange) {
|
|
173
181
|
t6 = (file) => {
|
|
174
182
|
onFieldChange(fieldName, { _fileId: file.id });
|
|
175
183
|
setPickerOpen(false);
|
|
176
184
|
};
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
179
|
-
$[
|
|
180
|
-
} else t6 = $[
|
|
185
|
+
$[11] = fieldName;
|
|
186
|
+
$[12] = onFieldChange;
|
|
187
|
+
$[13] = t6;
|
|
188
|
+
} else t6 = $[13];
|
|
181
189
|
const handleSelectExisting = t6;
|
|
182
190
|
let t7;
|
|
183
|
-
if ($[
|
|
191
|
+
if ($[14] !== asset || $[15] !== assetType || $[16] !== fieldName || $[17] !== handleDrop || $[18] !== handleSelectExisting || $[19] !== hasAsset || $[20] !== isImage || $[21] !== lightboxOpen || $[22] !== onFieldChange || $[23] !== pickerOpen || $[24] !== uploads) {
|
|
184
192
|
t7 = pickerOpen ? /* @__PURE__ */ jsx(AssetPickerGrid, {
|
|
185
193
|
assetType,
|
|
186
194
|
mode: "single",
|
|
@@ -233,29 +241,29 @@ const SingleAssetFieldEditor = (t0) => {
|
|
|
233
241
|
uploads
|
|
234
242
|
})]
|
|
235
243
|
});
|
|
236
|
-
$[
|
|
237
|
-
$[
|
|
238
|
-
$[
|
|
239
|
-
$[
|
|
240
|
-
$[
|
|
241
|
-
$[
|
|
242
|
-
$[
|
|
243
|
-
$[
|
|
244
|
-
$[
|
|
245
|
-
$[
|
|
246
|
-
$[
|
|
247
|
-
$[
|
|
248
|
-
} else t7 = $[
|
|
244
|
+
$[14] = asset;
|
|
245
|
+
$[15] = assetType;
|
|
246
|
+
$[16] = fieldName;
|
|
247
|
+
$[17] = handleDrop;
|
|
248
|
+
$[18] = handleSelectExisting;
|
|
249
|
+
$[19] = hasAsset;
|
|
250
|
+
$[20] = isImage;
|
|
251
|
+
$[21] = lightboxOpen;
|
|
252
|
+
$[22] = onFieldChange;
|
|
253
|
+
$[23] = pickerOpen;
|
|
254
|
+
$[24] = uploads;
|
|
255
|
+
$[25] = t7;
|
|
256
|
+
} else t7 = $[25];
|
|
249
257
|
let t8;
|
|
250
|
-
if ($[
|
|
258
|
+
if ($[26] !== handleDrop || $[27] !== t7) {
|
|
251
259
|
t8 = /* @__PURE__ */ jsx(UploadDropZone, {
|
|
252
260
|
onDrop: handleDrop,
|
|
253
261
|
children: t7
|
|
254
262
|
});
|
|
255
|
-
$[
|
|
256
|
-
$[
|
|
257
|
-
$[
|
|
258
|
-
} else t8 = $[
|
|
263
|
+
$[26] = handleDrop;
|
|
264
|
+
$[27] = t7;
|
|
265
|
+
$[28] = t8;
|
|
266
|
+
} else t8 = $[28];
|
|
259
267
|
return t8;
|
|
260
268
|
};
|
|
261
269
|
function _temp(item) {
|
|
@@ -18,33 +18,37 @@ import { ButtonGroup } from "@camox/ui/button-group";
|
|
|
18
18
|
|
|
19
19
|
//#region src/features/preview/components/AssetLightbox.tsx
|
|
20
20
|
function MetadataRow(t0) {
|
|
21
|
-
const $ = c(
|
|
21
|
+
const $ = c(9);
|
|
22
|
+
if ($[0] !== "05f9e0872c77757727f460fb2be404c5141b1efde25a7aff370b8c6c80f3014c") {
|
|
23
|
+
for (let $i = 0; $i < 9; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
24
|
+
$[0] = "05f9e0872c77757727f460fb2be404c5141b1efde25a7aff370b8c6c80f3014c";
|
|
25
|
+
}
|
|
22
26
|
const { label, children } = t0;
|
|
23
27
|
let t1;
|
|
24
|
-
if ($[
|
|
28
|
+
if ($[1] !== label) {
|
|
25
29
|
t1 = /* @__PURE__ */ jsx("span", {
|
|
26
30
|
className: "shrink-0",
|
|
27
31
|
children: label
|
|
28
32
|
});
|
|
29
|
-
$[
|
|
30
|
-
$[
|
|
31
|
-
} else t1 = $[
|
|
33
|
+
$[1] = label;
|
|
34
|
+
$[2] = t1;
|
|
35
|
+
} else t1 = $[2];
|
|
32
36
|
let t2;
|
|
33
|
-
if ($[
|
|
37
|
+
if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
34
38
|
t2 = /* @__PURE__ */ jsx("span", { className: "border-border min-w-0 flex-1 border-b" });
|
|
35
|
-
$[
|
|
36
|
-
} else t2 = $[
|
|
39
|
+
$[3] = t2;
|
|
40
|
+
} else t2 = $[3];
|
|
37
41
|
let t3;
|
|
38
|
-
if ($[
|
|
42
|
+
if ($[4] !== children) {
|
|
39
43
|
t3 = /* @__PURE__ */ jsx("span", {
|
|
40
44
|
className: "text-foreground shrink-0",
|
|
41
45
|
children
|
|
42
46
|
});
|
|
43
|
-
$[
|
|
44
|
-
$[
|
|
45
|
-
} else t3 = $[
|
|
47
|
+
$[4] = children;
|
|
48
|
+
$[5] = t3;
|
|
49
|
+
} else t3 = $[5];
|
|
46
50
|
let t4;
|
|
47
|
-
if ($[
|
|
51
|
+
if ($[6] !== t1 || $[7] !== t3) {
|
|
48
52
|
t4 = /* @__PURE__ */ jsxs("div", {
|
|
49
53
|
className: "flex items-baseline gap-2",
|
|
50
54
|
children: [
|
|
@@ -53,10 +57,10 @@ function MetadataRow(t0) {
|
|
|
53
57
|
t3
|
|
54
58
|
]
|
|
55
59
|
});
|
|
56
|
-
$[
|
|
57
|
-
$[
|
|
58
|
-
$[
|
|
59
|
-
} else t4 = $[
|
|
60
|
+
$[6] = t1;
|
|
61
|
+
$[7] = t3;
|
|
62
|
+
$[8] = t4;
|
|
63
|
+
} else t4 = $[8];
|
|
60
64
|
return t4;
|
|
61
65
|
}
|
|
62
66
|
function formatRelativeTime(epochMs) {
|
|
@@ -12,39 +12,43 @@ import { Skeleton } from "@camox/ui/skeleton";
|
|
|
12
12
|
|
|
13
13
|
//#region src/features/preview/components/AssetPickerGrid.tsx
|
|
14
14
|
const AssetPickerGrid = (t0) => {
|
|
15
|
-
const $ = c(
|
|
15
|
+
const $ = c(46);
|
|
16
|
+
if ($[0] !== "304cb8ddef70ef73677034ff5f21cf46713e477681a8d7ac41df1f9785316fcf") {
|
|
17
|
+
for (let $i = 0; $i < 46; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
18
|
+
$[0] = "304cb8ddef70ef73677034ff5f21cf46713e477681a8d7ac41df1f9785316fcf";
|
|
19
|
+
}
|
|
16
20
|
const { assetType, mode, onSelectSingle, onSelectMultiple, onClose } = t0;
|
|
17
21
|
const projectSlug = useProjectSlug();
|
|
18
22
|
let t1;
|
|
19
|
-
if ($[
|
|
23
|
+
if ($[1] !== projectSlug) {
|
|
20
24
|
t1 = projectQueries.getBySlug(projectSlug);
|
|
21
|
-
$[
|
|
22
|
-
$[
|
|
23
|
-
} else t1 = $[
|
|
25
|
+
$[1] = projectSlug;
|
|
26
|
+
$[2] = t1;
|
|
27
|
+
} else t1 = $[2];
|
|
24
28
|
const { data: project } = useQuery(t1);
|
|
25
29
|
let t2;
|
|
26
|
-
if ($[
|
|
30
|
+
if ($[3] !== project?.id) {
|
|
27
31
|
t2 = fileQueries.list(project?.id ?? 0);
|
|
28
|
-
$[
|
|
29
|
-
$[
|
|
30
|
-
} else t2 = $[
|
|
32
|
+
$[3] = project?.id;
|
|
33
|
+
$[4] = t2;
|
|
34
|
+
} else t2 = $[4];
|
|
31
35
|
const t3 = !!project;
|
|
32
36
|
let t4;
|
|
33
|
-
if ($[
|
|
37
|
+
if ($[5] !== t2 || $[6] !== t3) {
|
|
34
38
|
t4 = {
|
|
35
39
|
...t2,
|
|
36
40
|
enabled: t3
|
|
37
41
|
};
|
|
38
|
-
$[
|
|
39
|
-
$[
|
|
40
|
-
$[
|
|
41
|
-
} else t4 = $[
|
|
42
|
+
$[5] = t2;
|
|
43
|
+
$[6] = t3;
|
|
44
|
+
$[7] = t4;
|
|
45
|
+
} else t4 = $[7];
|
|
42
46
|
const { data: allFiles } = useQuery(t4);
|
|
43
47
|
let t5;
|
|
44
|
-
if ($[
|
|
48
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
45
49
|
t5 = /* @__PURE__ */ new Set();
|
|
46
|
-
$[
|
|
47
|
-
} else t5 = $[
|
|
50
|
+
$[8] = t5;
|
|
51
|
+
} else t5 = $[8];
|
|
48
52
|
const [selectedIds, setSelectedIds] = React.useState(t5);
|
|
49
53
|
const [lightboxFile, setLightboxFile] = React.useState(null);
|
|
50
54
|
const isImage = assetType === "Image";
|
|
@@ -59,16 +63,16 @@ const AssetPickerGrid = (t0) => {
|
|
|
59
63
|
break bb0;
|
|
60
64
|
}
|
|
61
65
|
let t7;
|
|
62
|
-
if ($[
|
|
66
|
+
if ($[9] !== allFiles) {
|
|
63
67
|
t7 = allFiles.filter(_temp);
|
|
64
|
-
$[
|
|
65
|
-
$[
|
|
66
|
-
} else t7 = $[
|
|
68
|
+
$[9] = allFiles;
|
|
69
|
+
$[10] = t7;
|
|
70
|
+
} else t7 = $[10];
|
|
67
71
|
t6 = t7;
|
|
68
72
|
}
|
|
69
73
|
const files = t6;
|
|
70
74
|
let t7;
|
|
71
|
-
if ($[
|
|
75
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
72
76
|
t7 = (fileId) => {
|
|
73
77
|
setSelectedIds((prev) => {
|
|
74
78
|
const next = new Set(prev);
|
|
@@ -77,41 +81,41 @@ const AssetPickerGrid = (t0) => {
|
|
|
77
81
|
return next;
|
|
78
82
|
});
|
|
79
83
|
};
|
|
80
|
-
$[
|
|
81
|
-
} else t7 = $[
|
|
84
|
+
$[11] = t7;
|
|
85
|
+
} else t7 = $[11];
|
|
82
86
|
const toggleSelection = t7;
|
|
83
87
|
let t8;
|
|
84
|
-
if ($[
|
|
88
|
+
if ($[12] !== files || $[13] !== onSelectMultiple || $[14] !== selectedIds) {
|
|
85
89
|
t8 = () => {
|
|
86
90
|
if (!files) return;
|
|
87
91
|
onSelectMultiple(files.filter((f_0) => selectedIds.has(f_0.id)));
|
|
88
92
|
};
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
} else t8 = $[
|
|
93
|
+
$[12] = files;
|
|
94
|
+
$[13] = onSelectMultiple;
|
|
95
|
+
$[14] = selectedIds;
|
|
96
|
+
$[15] = t8;
|
|
97
|
+
} else t8 = $[15];
|
|
94
98
|
const handleConfirmMultiple = t8;
|
|
95
99
|
const title = mode === "multiple" ? `Select ${isImage ? "images" : "files"}` : `Select ${isImage ? "image" : "file"}`;
|
|
96
100
|
let t9;
|
|
97
|
-
if ($[
|
|
101
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
98
102
|
t9 = /* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" });
|
|
99
|
-
$[
|
|
100
|
-
} else t9 = $[
|
|
103
|
+
$[16] = t9;
|
|
104
|
+
} else t9 = $[16];
|
|
101
105
|
let t10;
|
|
102
|
-
if ($[
|
|
106
|
+
if ($[17] !== onClose || $[18] !== title) {
|
|
103
107
|
t10 = /* @__PURE__ */ jsxs(Button, {
|
|
104
108
|
variant: "ghost",
|
|
105
109
|
size: "sm",
|
|
106
110
|
onClick: onClose,
|
|
107
111
|
children: [t9, title]
|
|
108
112
|
});
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
} else t10 = $[
|
|
113
|
+
$[17] = onClose;
|
|
114
|
+
$[18] = title;
|
|
115
|
+
$[19] = t10;
|
|
116
|
+
} else t10 = $[19];
|
|
113
117
|
let t11;
|
|
114
|
-
if ($[
|
|
118
|
+
if ($[20] !== handleConfirmMultiple || $[21] !== mode || $[22] !== selectedIds) {
|
|
115
119
|
t11 = mode === "multiple" && /* @__PURE__ */ jsxs(Button, {
|
|
116
120
|
variant: "default",
|
|
117
121
|
size: "sm",
|
|
@@ -124,41 +128,41 @@ const AssetPickerGrid = (t0) => {
|
|
|
124
128
|
")"
|
|
125
129
|
]
|
|
126
130
|
});
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
130
|
-
$[
|
|
131
|
-
} else t11 = $[
|
|
131
|
+
$[20] = handleConfirmMultiple;
|
|
132
|
+
$[21] = mode;
|
|
133
|
+
$[22] = selectedIds;
|
|
134
|
+
$[23] = t11;
|
|
135
|
+
} else t11 = $[23];
|
|
132
136
|
let t12;
|
|
133
|
-
if ($[
|
|
137
|
+
if ($[24] !== t10 || $[25] !== t11) {
|
|
134
138
|
t12 = /* @__PURE__ */ jsxs("div", {
|
|
135
139
|
className: "sticky top-0 z-10 flex items-center gap-2 px-4 py-4",
|
|
136
140
|
children: [t10, t11]
|
|
137
141
|
});
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
} else t12 = $[
|
|
142
|
+
$[24] = t10;
|
|
143
|
+
$[25] = t11;
|
|
144
|
+
$[26] = t12;
|
|
145
|
+
} else t12 = $[26];
|
|
142
146
|
let t13;
|
|
143
|
-
if ($[
|
|
147
|
+
if ($[27] !== files) {
|
|
144
148
|
t13 = files === void 0 && /* @__PURE__ */ jsx("div", {
|
|
145
149
|
className: "grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-3",
|
|
146
150
|
children: Array.from({ length: 6 }).map(_temp2)
|
|
147
151
|
});
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
} else t13 = $[
|
|
152
|
+
$[27] = files;
|
|
153
|
+
$[28] = t13;
|
|
154
|
+
} else t13 = $[28];
|
|
151
155
|
let t14;
|
|
152
|
-
if ($[
|
|
156
|
+
if ($[29] !== files?.length) {
|
|
153
157
|
t14 = files?.length === 0 && /* @__PURE__ */ jsx("p", {
|
|
154
158
|
className: "text-muted-foreground py-8 text-center text-sm",
|
|
155
159
|
children: "No assets yet"
|
|
156
160
|
});
|
|
157
|
-
$[
|
|
158
|
-
$[
|
|
159
|
-
} else t14 = $[
|
|
161
|
+
$[29] = files?.length;
|
|
162
|
+
$[30] = t14;
|
|
163
|
+
} else t14 = $[30];
|
|
160
164
|
let t15;
|
|
161
|
-
if ($[
|
|
165
|
+
if ($[31] !== files || $[32] !== mode || $[33] !== onSelectSingle || $[34] !== selectedIds) {
|
|
162
166
|
t15 = files && files.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
163
167
|
className: "grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-3",
|
|
164
168
|
children: files.map((file) => /* @__PURE__ */ jsx(AssetCard, {
|
|
@@ -171,14 +175,14 @@ const AssetPickerGrid = (t0) => {
|
|
|
171
175
|
onOpen: () => setLightboxFile(file)
|
|
172
176
|
}, file.id))
|
|
173
177
|
});
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
179
|
-
} else t15 = $[
|
|
178
|
+
$[31] = files;
|
|
179
|
+
$[32] = mode;
|
|
180
|
+
$[33] = onSelectSingle;
|
|
181
|
+
$[34] = selectedIds;
|
|
182
|
+
$[35] = t15;
|
|
183
|
+
} else t15 = $[35];
|
|
180
184
|
let t16;
|
|
181
|
-
if ($[
|
|
185
|
+
if ($[36] !== t13 || $[37] !== t14 || $[38] !== t15) {
|
|
182
186
|
t16 = /* @__PURE__ */ jsxs("div", {
|
|
183
187
|
className: "px-4 pb-4",
|
|
184
188
|
children: [
|
|
@@ -187,13 +191,13 @@ const AssetPickerGrid = (t0) => {
|
|
|
187
191
|
t15
|
|
188
192
|
]
|
|
189
193
|
});
|
|
190
|
-
$[
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
193
|
-
$[
|
|
194
|
-
} else t16 = $[
|
|
194
|
+
$[36] = t13;
|
|
195
|
+
$[37] = t14;
|
|
196
|
+
$[38] = t15;
|
|
197
|
+
$[39] = t16;
|
|
198
|
+
} else t16 = $[39];
|
|
195
199
|
let t17;
|
|
196
|
-
if ($[
|
|
200
|
+
if ($[40] !== lightboxFile) {
|
|
197
201
|
t17 = lightboxFile && /* @__PURE__ */ jsx(AssetLightbox, {
|
|
198
202
|
open: !!lightboxFile,
|
|
199
203
|
onOpenChange: (open) => {
|
|
@@ -201,21 +205,21 @@ const AssetPickerGrid = (t0) => {
|
|
|
201
205
|
},
|
|
202
206
|
fileId: lightboxFile.id
|
|
203
207
|
});
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
} else t17 = $[
|
|
208
|
+
$[40] = lightboxFile;
|
|
209
|
+
$[41] = t17;
|
|
210
|
+
} else t17 = $[41];
|
|
207
211
|
let t18;
|
|
208
|
-
if ($[
|
|
212
|
+
if ($[42] !== t12 || $[43] !== t16 || $[44] !== t17) {
|
|
209
213
|
t18 = /* @__PURE__ */ jsxs("div", { children: [
|
|
210
214
|
t12,
|
|
211
215
|
t16,
|
|
212
216
|
t17
|
|
213
217
|
] });
|
|
214
|
-
$[
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
} else t18 = $[
|
|
218
|
+
$[42] = t12;
|
|
219
|
+
$[43] = t16;
|
|
220
|
+
$[44] = t17;
|
|
221
|
+
$[45] = t18;
|
|
222
|
+
} else t18 = $[45];
|
|
219
223
|
return t18;
|
|
220
224
|
};
|
|
221
225
|
function _temp(f) {
|