@dyrected/admin 2.5.62 → 2.5.64
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/admin.css +122 -7
- package/dist/index.mjs +162 -87
- package/dist/lib/workflow-badge.d.ts +6 -0
- package/package.json +3 -3
package/dist/admin.css
CHANGED
|
@@ -221,8 +221,8 @@
|
|
|
221
221
|
--destructive: 0 72% 58%;
|
|
222
222
|
--destructive-foreground: 0 0% 100%;
|
|
223
223
|
|
|
224
|
-
--border: 256
|
|
225
|
-
--input: 256
|
|
224
|
+
--border: 256 18% 28%;
|
|
225
|
+
--input: 256 18% 28%;
|
|
226
226
|
--ring: 259 100% 70% / 0.34;
|
|
227
227
|
|
|
228
228
|
--sidebar-background: 240 10% 4%;
|
|
@@ -2771,6 +2771,11 @@
|
|
|
2771
2771
|
border-color: rgb(16 185 129 / 0.2);
|
|
2772
2772
|
}
|
|
2773
2773
|
|
|
2774
|
+
.dy-border-green-200{
|
|
2775
|
+
--tw-border-opacity: 1;
|
|
2776
|
+
border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
|
|
2777
|
+
}
|
|
2778
|
+
|
|
2774
2779
|
.dy-border-input{
|
|
2775
2780
|
border-color: hsl(var(--input));
|
|
2776
2781
|
}
|
|
@@ -3024,11 +3029,6 @@
|
|
|
3024
3029
|
background-color: hsl(var(--destructive) / 0.9);
|
|
3025
3030
|
}
|
|
3026
3031
|
|
|
3027
|
-
.dy-bg-emerald-100{
|
|
3028
|
-
--tw-bg-opacity: 1;
|
|
3029
|
-
background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
|
|
3030
|
-
}
|
|
3031
|
-
|
|
3032
3032
|
.dy-bg-emerald-50{
|
|
3033
3033
|
--tw-bg-opacity: 1;
|
|
3034
3034
|
background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
|
|
@@ -3043,6 +3043,11 @@
|
|
|
3043
3043
|
background-color: rgb(16 185 129 / 0.1);
|
|
3044
3044
|
}
|
|
3045
3045
|
|
|
3046
|
+
.dy-bg-green-100{
|
|
3047
|
+
--tw-bg-opacity: 1;
|
|
3048
|
+
background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
|
|
3049
|
+
}
|
|
3050
|
+
|
|
3046
3051
|
.dy-bg-green-500\/10{
|
|
3047
3052
|
background-color: rgb(34 197 94 / 0.1);
|
|
3048
3053
|
}
|
|
@@ -3770,6 +3775,11 @@
|
|
|
3770
3775
|
color: rgb(22 163 74 / var(--tw-text-opacity, 1));
|
|
3771
3776
|
}
|
|
3772
3777
|
|
|
3778
|
+
.dy-text-green-700{
|
|
3779
|
+
--tw-text-opacity: 1;
|
|
3780
|
+
color: rgb(21 128 61 / var(--tw-text-opacity, 1));
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3773
3783
|
.dy-text-muted-foreground{
|
|
3774
3784
|
color: hsl(var(--muted-foreground));
|
|
3775
3785
|
}
|
|
@@ -5566,25 +5576,121 @@
|
|
|
5566
5576
|
padding: 0px !important;
|
|
5567
5577
|
}
|
|
5568
5578
|
|
|
5579
|
+
.dark\:dy-border-amber-500\/30:is(.dy-dark *){
|
|
5580
|
+
border-color: rgb(245 158 11 / 0.3);
|
|
5581
|
+
}
|
|
5582
|
+
|
|
5583
|
+
.dark\:dy-border-blue-500\/30:is(.dy-dark *){
|
|
5584
|
+
border-color: rgb(59 130 246 / 0.3);
|
|
5585
|
+
}
|
|
5586
|
+
|
|
5587
|
+
.dark\:dy-border-border\/80:is(.dy-dark *){
|
|
5588
|
+
border-color: hsl(var(--border) / 0.8);
|
|
5589
|
+
}
|
|
5590
|
+
|
|
5591
|
+
.dark\:dy-border-emerald-500\/30:is(.dy-dark *){
|
|
5592
|
+
border-color: rgb(16 185 129 / 0.3);
|
|
5593
|
+
}
|
|
5594
|
+
|
|
5595
|
+
.dark\:dy-border-green-500\/30:is(.dy-dark *){
|
|
5596
|
+
border-color: rgb(34 197 94 / 0.3);
|
|
5597
|
+
}
|
|
5598
|
+
|
|
5599
|
+
.dark\:dy-border-red-500\/30:is(.dy-dark *){
|
|
5600
|
+
border-color: rgb(239 68 68 / 0.3);
|
|
5601
|
+
}
|
|
5602
|
+
|
|
5603
|
+
.dark\:dy-bg-amber-400:is(.dy-dark *){
|
|
5604
|
+
--tw-bg-opacity: 1;
|
|
5605
|
+
background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
|
|
5606
|
+
}
|
|
5607
|
+
|
|
5608
|
+
.dark\:dy-bg-amber-600:is(.dy-dark *){
|
|
5609
|
+
--tw-bg-opacity: 1;
|
|
5610
|
+
background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
|
|
5611
|
+
}
|
|
5612
|
+
|
|
5613
|
+
.dark\:dy-bg-blue-400:is(.dy-dark *){
|
|
5614
|
+
--tw-bg-opacity: 1;
|
|
5615
|
+
background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
|
|
5616
|
+
}
|
|
5617
|
+
|
|
5618
|
+
.dark\:dy-bg-blue-600:is(.dy-dark *){
|
|
5619
|
+
--tw-bg-opacity: 1;
|
|
5620
|
+
background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
|
|
5621
|
+
}
|
|
5622
|
+
|
|
5623
|
+
.dark\:dy-bg-emerald-400:is(.dy-dark *){
|
|
5624
|
+
--tw-bg-opacity: 1;
|
|
5625
|
+
background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
|
|
5626
|
+
}
|
|
5627
|
+
|
|
5628
|
+
.dark\:dy-bg-foreground\/60:is(.dy-dark *){
|
|
5629
|
+
background-color: hsl(var(--foreground) / 0.6);
|
|
5630
|
+
}
|
|
5631
|
+
|
|
5632
|
+
.dark\:dy-bg-green-600:is(.dy-dark *){
|
|
5633
|
+
--tw-bg-opacity: 1;
|
|
5634
|
+
background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
|
|
5635
|
+
}
|
|
5636
|
+
|
|
5637
|
+
.dark\:dy-bg-muted\/60:is(.dy-dark *){
|
|
5638
|
+
background-color: hsl(var(--muted) / 0.6);
|
|
5639
|
+
}
|
|
5640
|
+
|
|
5641
|
+
.dark\:dy-bg-red-400:is(.dy-dark *){
|
|
5642
|
+
--tw-bg-opacity: 1;
|
|
5643
|
+
background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
|
|
5644
|
+
}
|
|
5645
|
+
|
|
5646
|
+
.dark\:dy-bg-red-600:is(.dy-dark *){
|
|
5647
|
+
--tw-bg-opacity: 1;
|
|
5648
|
+
background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
|
|
5649
|
+
}
|
|
5650
|
+
|
|
5569
5651
|
.dark\:dy-bg-white\/5:is(.dy-dark *){
|
|
5570
5652
|
background-color: rgb(255 255 255 / 0.05);
|
|
5571
5653
|
}
|
|
5572
5654
|
|
|
5655
|
+
.dark\:dy-text-amber-300:is(.dy-dark *){
|
|
5656
|
+
--tw-text-opacity: 1;
|
|
5657
|
+
color: rgb(252 211 77 / var(--tw-text-opacity, 1));
|
|
5658
|
+
}
|
|
5659
|
+
|
|
5573
5660
|
.dark\:dy-text-amber-400:is(.dy-dark *){
|
|
5574
5661
|
--tw-text-opacity: 1;
|
|
5575
5662
|
color: rgb(251 191 36 / var(--tw-text-opacity, 1));
|
|
5576
5663
|
}
|
|
5577
5664
|
|
|
5665
|
+
.dark\:dy-text-blue-300:is(.dy-dark *){
|
|
5666
|
+
--tw-text-opacity: 1;
|
|
5667
|
+
color: rgb(147 197 253 / var(--tw-text-opacity, 1));
|
|
5668
|
+
}
|
|
5669
|
+
|
|
5578
5670
|
.dark\:dy-text-blue-400:is(.dy-dark *){
|
|
5579
5671
|
--tw-text-opacity: 1;
|
|
5580
5672
|
color: rgb(96 165 250 / var(--tw-text-opacity, 1));
|
|
5581
5673
|
}
|
|
5582
5674
|
|
|
5675
|
+
.dark\:dy-text-emerald-300:is(.dy-dark *){
|
|
5676
|
+
--tw-text-opacity: 1;
|
|
5677
|
+
color: rgb(110 231 183 / var(--tw-text-opacity, 1));
|
|
5678
|
+
}
|
|
5679
|
+
|
|
5583
5680
|
.dark\:dy-text-emerald-400:is(.dy-dark *){
|
|
5584
5681
|
--tw-text-opacity: 1;
|
|
5585
5682
|
color: rgb(52 211 153 / var(--tw-text-opacity, 1));
|
|
5586
5683
|
}
|
|
5587
5684
|
|
|
5685
|
+
.dark\:dy-text-foreground\/80:is(.dy-dark *){
|
|
5686
|
+
color: hsl(var(--foreground) / 0.8);
|
|
5687
|
+
}
|
|
5688
|
+
|
|
5689
|
+
.dark\:dy-text-green-300:is(.dy-dark *){
|
|
5690
|
+
--tw-text-opacity: 1;
|
|
5691
|
+
color: rgb(134 239 172 / var(--tw-text-opacity, 1));
|
|
5692
|
+
}
|
|
5693
|
+
|
|
5588
5694
|
.dark\:dy-text-green-400:is(.dy-dark *){
|
|
5589
5695
|
--tw-text-opacity: 1;
|
|
5590
5696
|
color: rgb(74 222 128 / var(--tw-text-opacity, 1));
|
|
@@ -5595,6 +5701,15 @@
|
|
|
5595
5701
|
color: rgb(192 132 252 / var(--tw-text-opacity, 1));
|
|
5596
5702
|
}
|
|
5597
5703
|
|
|
5704
|
+
.dark\:dy-text-red-300:is(.dy-dark *){
|
|
5705
|
+
--tw-text-opacity: 1;
|
|
5706
|
+
color: rgb(252 165 165 / var(--tw-text-opacity, 1));
|
|
5707
|
+
}
|
|
5708
|
+
|
|
5709
|
+
.dark\:focus-visible\:dy-border-primary\/45:focus-visible:is(.dy-dark *){
|
|
5710
|
+
border-color: hsl(var(--primary) / 0.45);
|
|
5711
|
+
}
|
|
5712
|
+
|
|
5598
5713
|
@media (min-width: 640px){
|
|
5599
5714
|
|
|
5600
5715
|
.sm\:dy-order-1{
|
package/dist/index.mjs
CHANGED
|
@@ -1038,7 +1038,7 @@ function isNewerVersion(latest, current) {
|
|
|
1038
1038
|
return false;
|
|
1039
1039
|
}
|
|
1040
1040
|
function useUpdateCheck() {
|
|
1041
|
-
const currentVersion = "2.5.
|
|
1041
|
+
const currentVersion = "2.5.63";
|
|
1042
1042
|
const [updateInfo, setUpdateInfo] = useState(() => {
|
|
1043
1043
|
if (typeof window === "undefined") return null;
|
|
1044
1044
|
const cacheKey = "dyrected_latest_release";
|
|
@@ -1264,7 +1264,7 @@ function getStatusLabel(doc) {
|
|
|
1264
1264
|
}
|
|
1265
1265
|
function Dashboard() {
|
|
1266
1266
|
const { client, components, user } = useDyrected();
|
|
1267
|
-
const currentVersion = "2.5.
|
|
1267
|
+
const currentVersion = "2.5.63";
|
|
1268
1268
|
const [latestVersion, setLatestVersion] = useState(() => {
|
|
1269
1269
|
if (typeof window === "undefined") return null;
|
|
1270
1270
|
return localStorage.getItem("dyrected_latest_release");
|
|
@@ -1599,7 +1599,7 @@ function Dashboard() {
|
|
|
1599
1599
|
var Input = React$1.forwardRef(({ className, type, ...props }, ref) => {
|
|
1600
1600
|
return /* @__PURE__ */ jsx("input", {
|
|
1601
1601
|
type,
|
|
1602
|
-
className: cn("dy-flex dy-h-12 dy-w-full dy-rounded-xl dy-border dy-border-border/
|
|
1602
|
+
className: cn("dy-flex dy-h-12 dy-w-full dy-rounded-xl dy-border dy-border-border/50 dark:dy-border-border/80 dy-bg-background dy-px-4 dy-py-2 dy-text-base dy-transition-all", "placeholder:dy-text-muted-foreground/60 focus-visible:dy-outline-none focus-visible:dy-border-primary/30 dark:focus-visible:dy-border-primary/45 focus-visible:dy-bg-background focus-visible:dy-shadow-md", "disabled:dy-cursor-not-allowed disabled:dy-opacity-50 md:dy-text-sm dy-shadow-sm", className),
|
|
1603
1603
|
ref,
|
|
1604
1604
|
...props
|
|
1605
1605
|
});
|
|
@@ -2344,6 +2344,34 @@ var Checkbox = React$1.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
2344
2344
|
}));
|
|
2345
2345
|
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
|
2346
2346
|
//#endregion
|
|
2347
|
+
//#region src/lib/workflow-badge.ts
|
|
2348
|
+
var WORKFLOW_BADGE_COLORS = {
|
|
2349
|
+
success: "dy-bg-green-100 dy-text-green-700 dy-border-green-200 dark:dy-bg-green-600 dark:dy-text-green-300 dark:dy-border-green-500/30",
|
|
2350
|
+
warning: "dy-bg-amber-100 dy-text-amber-700 dy-border-amber-200 dark:dy-bg-amber-600 dark:dy-text-amber-300 dark:dy-border-amber-500/30",
|
|
2351
|
+
danger: "dy-bg-red-100 dy-text-red-700 dy-border-red-200 dark:dy-bg-red-600 dark:dy-text-red-300 dark:dy-border-red-500/30",
|
|
2352
|
+
info: "dy-bg-blue-100 dy-text-blue-700 dy-border-blue-200 dark:dy-bg-blue-600 dark:dy-text-blue-300 dark:dy-border-blue-500/30",
|
|
2353
|
+
neutral: "dy-bg-muted dy-text-muted-foreground dy-border-border dark:dy-bg-muted/60 dark:dy-text-foreground/80 dark:dy-border-border/80"
|
|
2354
|
+
};
|
|
2355
|
+
function getWorkflowBadgePresentation(color) {
|
|
2356
|
+
if (!color) return {
|
|
2357
|
+
className: WORKFLOW_BADGE_COLORS.neutral,
|
|
2358
|
+
style: void 0
|
|
2359
|
+
};
|
|
2360
|
+
const preset = WORKFLOW_BADGE_COLORS[color];
|
|
2361
|
+
if (preset) return {
|
|
2362
|
+
className: preset,
|
|
2363
|
+
style: void 0
|
|
2364
|
+
};
|
|
2365
|
+
return {
|
|
2366
|
+
className: "",
|
|
2367
|
+
style: {
|
|
2368
|
+
color,
|
|
2369
|
+
borderColor: `color-mix(in srgb, ${color} 32%, white)`,
|
|
2370
|
+
backgroundColor: `color-mix(in srgb, ${color} 14%, white)`
|
|
2371
|
+
}
|
|
2372
|
+
};
|
|
2373
|
+
}
|
|
2374
|
+
//#endregion
|
|
2347
2375
|
//#region src/components/ui/progress.tsx
|
|
2348
2376
|
var Progress = React$1.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(ProgressPrimitive.Root, {
|
|
2349
2377
|
ref,
|
|
@@ -3985,7 +4013,7 @@ function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues,
|
|
|
3985
4013
|
})]
|
|
3986
4014
|
})]
|
|
3987
4015
|
}), /* @__PURE__ */ jsxs(TabsList, {
|
|
3988
|
-
className: "dy-grid dy-h-auto dy-grid-cols-3 dy-bg-muted/50 dy-p-1 dy-rounded-
|
|
4016
|
+
className: "dy-grid dy-h-auto dy-grid-cols-3 dy-bg-muted/50 dy-p-1 dy-rounded-lg sm:dy-flex",
|
|
3989
4017
|
children: [
|
|
3990
4018
|
/* @__PURE__ */ jsxs(TabsTrigger, {
|
|
3991
4019
|
value: "library",
|
|
@@ -4020,7 +4048,7 @@ function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues,
|
|
|
4020
4048
|
className: "dy-relative dy-flex-1 dy-group",
|
|
4021
4049
|
children: [/* @__PURE__ */ jsx(Search, { className: "dy-absolute dy-left-3.5 dy-top-1/2 dy--translate-y-1/2 dy-h-4 dy-w-4 dy-text-muted-foreground dy-group-focus-within:dy-text-primary dy-transition-colors" }), /* @__PURE__ */ jsx(Input, {
|
|
4022
4050
|
placeholder: "Search your media library...",
|
|
4023
|
-
className: "dy-pl-11 dy-h-11 dy-rounded-
|
|
4051
|
+
className: "dy-pl-11 dy-h-11 dy-rounded-lg dy-border-muted dy-bg-muted/10 focus:dy-bg-background dy-transition-all",
|
|
4024
4052
|
value: searchQuery,
|
|
4025
4053
|
onChange: (e) => setSearchQuery(e.target.value)
|
|
4026
4054
|
})]
|
|
@@ -4141,12 +4169,12 @@ function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues,
|
|
|
4141
4169
|
}), /* @__PURE__ */ jsx("div", {
|
|
4142
4170
|
className: "dy-space-y-3 dy-border-t dy-border-muted/20 dy-pt-4 md:dy-pt-6",
|
|
4143
4171
|
children: multiple ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Button, {
|
|
4144
|
-
className: "dy-w-full dy-h-11 dy-rounded-
|
|
4172
|
+
className: "dy-w-full dy-h-11 dy-rounded-lg dy-shadow-sm dy-font-bold dy-tracking-tight dy-transition-all",
|
|
4145
4173
|
variant: sVals.some((v) => v === selectedItem.id || v === selectedItem.filename || v === selectedItem.url) ? "outline" : "default",
|
|
4146
4174
|
onClick: () => onSelect(selectedItem.id, selectedItem),
|
|
4147
4175
|
children: sVals.some((v) => v === selectedItem.id || v === selectedItem.filename || v === selectedItem.url) ? "Deselect Item" : "Add to Selection"
|
|
4148
4176
|
}), sVals.length > 0 && /* @__PURE__ */ jsxs(Button, {
|
|
4149
|
-
className: "dy-w-full dy-h-11 dy-rounded-
|
|
4177
|
+
className: "dy-w-full dy-h-11 dy-rounded-lg dy-shadow-xl dy-bg-primary hover:dy-bg-primary/90 dy-font-bold dy-tracking-tight dy-transition-all dy-group",
|
|
4150
4178
|
onClick: handleConfirm,
|
|
4151
4179
|
children: [/* @__PURE__ */ jsxs("span", { children: [
|
|
4152
4180
|
"Confirm ",
|
|
@@ -4155,7 +4183,7 @@ function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues,
|
|
|
4155
4183
|
sVals.length === 1 ? "Asset" : "Assets"
|
|
4156
4184
|
] }), /* @__PURE__ */ jsx(Sparkles, { className: "dy-ml-2 dy-h-4 dy-w-4 dy-opacity-50 dy-group-hover:dy-opacity-100 dy-group-hover:dy-scale-110 dy-transition-all" })]
|
|
4157
4185
|
})] }) : /* @__PURE__ */ jsx(Button, {
|
|
4158
|
-
className: "dy-w-full dy-h-11 dy-rounded-
|
|
4186
|
+
className: "dy-w-full dy-h-11 dy-rounded-lg dy-shadow-lg dy-font-bold dy-tracking-tight dy-bg-primary hover:dy-bg-primary/90 dy-transition-all",
|
|
4159
4187
|
onClick: () => {
|
|
4160
4188
|
onSelect(selectedItem.id, selectedItem);
|
|
4161
4189
|
onOpenChange(false);
|
|
@@ -4295,7 +4323,7 @@ function MediaLibraryDialog({ collection, isOpen, onOpenChange, selectedValues,
|
|
|
4295
4323
|
/* @__PURE__ */ jsxs("div", {
|
|
4296
4324
|
className: "dy-flex dy-items-center dy-gap-3 dy-p-4 dy-rounded-2xl dy-bg-muted/20 dy-border dy-border-muted/30",
|
|
4297
4325
|
children: [/* @__PURE__ */ jsx("div", {
|
|
4298
|
-
className: "dy-p-2 dy-bg-background dy-rounded-
|
|
4326
|
+
className: "dy-p-2 dy-bg-background dy-rounded-lg dy-shadow-sm dy-text-muted-foreground",
|
|
4299
4327
|
children: /* @__PURE__ */ jsx(Info, { className: "dy-h-4 dy-w-4" })
|
|
4300
4328
|
}), /* @__PURE__ */ jsxs("p", {
|
|
4301
4329
|
className: "dy-text-[11px] dy-text-muted-foreground/80 dy-font-medium dy-leading-relaxed",
|
|
@@ -4828,7 +4856,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4828
4856
|
isDragActive && /* @__PURE__ */ jsx("div", {
|
|
4829
4857
|
className: "dy-absolute dy-inset-0 dy-z-50 dy-bg-primary/10 dy-backdrop-blur-[2px] dy-border-2 dy-border-dashed dy-border-primary dy-rounded-2xl dy-flex dy-items-center dy-justify-center dy-pointer-events-none",
|
|
4830
4858
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4831
|
-
className: "dy-bg-card dy-p-4 dy-rounded-
|
|
4859
|
+
className: "dy-bg-card dy-p-4 dy-rounded-lg dy-shadow-xl dy-flex dy-items-center dy-gap-2",
|
|
4832
4860
|
children: [/* @__PURE__ */ jsx(UploadCloud, { className: "dy-h-5 dy-w-5 dy-text-primary dy-animate-bounce" }), /* @__PURE__ */ jsx("p", {
|
|
4833
4861
|
className: "dy-text-xs dy-font-bold",
|
|
4834
4862
|
children: "Drop to upload & select"
|
|
@@ -4838,7 +4866,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4838
4866
|
uploading && /* @__PURE__ */ jsx("div", {
|
|
4839
4867
|
className: "dy-absolute dy-inset-0 dy-z-50 dy-bg-background/60 dy-backdrop-blur-[1px] dy-rounded-2xl dy-flex dy-items-center dy-justify-center dy-pointer-events-none",
|
|
4840
4868
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4841
|
-
className: "dy-bg-card dy-p-4 dy-rounded-
|
|
4869
|
+
className: "dy-bg-card dy-p-4 dy-rounded-lg dy-shadow-xl dy-w-56 dy-max-w-[80%] dy-space-y-2",
|
|
4842
4870
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
4843
4871
|
className: "dy-flex dy-items-center dy-justify-between dy-gap-2",
|
|
4844
4872
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
@@ -4866,7 +4894,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4866
4894
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
4867
4895
|
type: "button",
|
|
4868
4896
|
onClick: () => setIsOpen(true),
|
|
4869
|
-
className: "dy-group dy-relative dy-aspect-square dy-rounded-
|
|
4897
|
+
className: "dy-group dy-relative dy-aspect-square dy-rounded-lg dy-border-2 dy-border-dashed dy-border-muted hover:dy-border-primary/40 hover:dy-bg-primary/5 dy-transition-all dy-flex dy-flex-col dy-items-center dy-justify-center dy-gap-3 dy-overflow-hidden",
|
|
4870
4898
|
children: [
|
|
4871
4899
|
/* @__PURE__ */ jsx("div", { className: "dy-absolute dy-inset-0 dy-bg-primary/5 dy-opacity-0 dy-group-hover:dy-opacity-100 dy-transition-opacity" }),
|
|
4872
4900
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -4890,7 +4918,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4890
4918
|
return /* @__PURE__ */ jsx("div", {
|
|
4891
4919
|
className: "dy-relative dy-group dy-animate-in dy-zoom-in dy-duration-300",
|
|
4892
4920
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4893
|
-
className: cn("dy-relative dy-aspect-square dy-rounded-
|
|
4921
|
+
className: cn("dy-relative dy-aspect-square dy-rounded-lg dy-overflow-hidden dy-border-2 dy-bg-muted/20 dy-transition-all dy-shadow-sm", index === 0 ? "dy-border-primary dy-ring-4 dy-ring-primary/10" : "dy-border-border/40 hover:dy-border-border/80"),
|
|
4894
4922
|
children: [
|
|
4895
4923
|
item ? /* @__PURE__ */ jsx("img", {
|
|
4896
4924
|
src: getPreviewUrl(item),
|
|
@@ -4968,7 +4996,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4968
4996
|
isDragActive && /* @__PURE__ */ jsx("div", {
|
|
4969
4997
|
className: "dy-absolute dy-inset-0 dy-z-50 dy-bg-primary/10 dy-backdrop-blur-[2px] dy-border-2 dy-border-dashed dy-border-primary dy-rounded-2xl dy-flex dy-items-center dy-justify-center dy-pointer-events-none",
|
|
4970
4998
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4971
|
-
className: "dy-bg-card dy-p-3 dy-rounded-
|
|
4999
|
+
className: "dy-bg-card dy-p-3 dy-rounded-lg dy-shadow-xl dy-flex dy-items-center dy-gap-2",
|
|
4972
5000
|
children: [/* @__PURE__ */ jsx(UploadCloud, { className: "dy-h-4 dy-w-4 dy-text-primary dy-animate-bounce" }), /* @__PURE__ */ jsx("p", {
|
|
4973
5001
|
className: "dy-text-[11px] dy-font-bold",
|
|
4974
5002
|
children: "Drop file here"
|
|
@@ -4978,7 +5006,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
4978
5006
|
uploading && /* @__PURE__ */ jsx("div", {
|
|
4979
5007
|
className: "dy-absolute dy-inset-0 dy-z-50 dy-bg-background/60 dy-backdrop-blur-[1px] dy-rounded-2xl dy-flex dy-items-center dy-justify-center dy-pointer-events-none",
|
|
4980
5008
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4981
|
-
className: "dy-bg-card dy-p-3 dy-rounded-
|
|
5009
|
+
className: "dy-bg-card dy-p-3 dy-rounded-lg dy-shadow-xl dy-w-48 dy-max-w-[85%] dy-space-y-2",
|
|
4982
5010
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
4983
5011
|
className: "dy-flex dy-items-center dy-justify-between dy-gap-2",
|
|
4984
5012
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
@@ -5010,7 +5038,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
5010
5038
|
type: "button",
|
|
5011
5039
|
onClick: () => setIsOpen(true),
|
|
5012
5040
|
disabled,
|
|
5013
|
-
className: "dy-group dy-relative dy-aspect-square dy-rounded-
|
|
5041
|
+
className: "dy-group dy-relative dy-aspect-square dy-rounded-lg dy-border-2 dy-border-dashed dy-border-muted hover:dy-border-primary/40 hover:dy-bg-primary/5 disabled:dy-cursor-not-allowed disabled:dy-opacity-60 dy-transition-all dy-flex dy-flex-col dy-items-center dy-justify-center dy-gap-3 dy-overflow-hidden",
|
|
5014
5042
|
children: [
|
|
5015
5043
|
/* @__PURE__ */ jsx("div", { className: "dy-absolute dy-inset-0 dy-bg-primary/5 dy-opacity-0 dy-group-hover:dy-opacity-100 dy-transition-opacity" }),
|
|
5016
5044
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -5033,7 +5061,7 @@ function MediaPicker({ collection, value, onChange, label, variant = "default",
|
|
|
5033
5061
|
const item = localMediaCache.find((m) => m.id === valId || m.filename === valId || m.url === valId);
|
|
5034
5062
|
const previewUrl = item ? getPreviewUrl(item) : val ? getMediaUrl(val, client?.getBaseUrl() || "") : "";
|
|
5035
5063
|
return /* @__PURE__ */ jsxs("div", {
|
|
5036
|
-
className: "dy-relative dy-aspect-square dy-group dy-rounded-
|
|
5064
|
+
className: "dy-relative dy-aspect-square dy-group dy-rounded-lg dy-overflow-hidden dy-border-2 dy-border-primary dy-ring-4 dy-ring-primary/10 dy-transition-all dy-bg-muted/20 dy-shadow-sm",
|
|
5037
5065
|
children: [
|
|
5038
5066
|
/* @__PURE__ */ jsx("button", {
|
|
5039
5067
|
type: "button",
|
|
@@ -5849,10 +5877,10 @@ function JsonEditor({ value, onChange, label, disabled }) {
|
|
|
5849
5877
|
value: internalValue,
|
|
5850
5878
|
onChange: handleChange,
|
|
5851
5879
|
disabled,
|
|
5852
|
-
className: cn("dy-font-mono dy-text-xs dy-min-h-[180px] dy-bg-muted/15 dy-border-dashed focus-visible:dy-ring-1 dy-rounded-
|
|
5880
|
+
className: cn("dy-font-mono dy-text-xs dy-min-h-[180px] dy-bg-muted/15 dy-border-dashed focus-visible:dy-ring-1 dy-rounded-lg", error && "dy-border-destructive/60 focus-visible:dy-ring-destructive/30"),
|
|
5853
5881
|
placeholder: "{ \"key\": \"value\" }"
|
|
5854
5882
|
}) : /* @__PURE__ */ jsx(ScrollArea, {
|
|
5855
|
-
className: "dy-h-[180px] dy-w-full dy-rounded-
|
|
5883
|
+
className: "dy-h-[180px] dy-w-full dy-rounded-lg dy-border dy-border-dashed dy-border-border/60 dy-bg-muted/15 dy-p-4",
|
|
5856
5884
|
children: value ? /* @__PURE__ */ jsx("div", {
|
|
5857
5885
|
className: "dy-flex dy-flex-col",
|
|
5858
5886
|
children: /* @__PURE__ */ jsx(JsonTreeNode, {
|
|
@@ -6372,7 +6400,7 @@ function JoinField({ schema, control }) {
|
|
|
6372
6400
|
return /* @__PURE__ */ jsxs("div", {
|
|
6373
6401
|
className: "dy-space-y-3",
|
|
6374
6402
|
children: [data && data.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
6375
|
-
className: "dy-divide-y dy-divide-border/30 dy-rounded-
|
|
6403
|
+
className: "dy-divide-y dy-divide-border/30 dy-rounded-lg dy-border dy-border-border/40 dy-overflow-hidden",
|
|
6376
6404
|
children: data.map((item) => /* @__PURE__ */ jsxs("button", {
|
|
6377
6405
|
type: "button",
|
|
6378
6406
|
onClick: () => navigate(`/collections/${targetCollection}/edit/${item.id}`),
|
|
@@ -6386,7 +6414,7 @@ function JoinField({ schema, control }) {
|
|
|
6386
6414
|
}), /* @__PURE__ */ jsx(ExternalLink, { className: "dy-h-3 dy-w-3 dy-text-muted-foreground/30 dy-opacity-0 dy-group-hover:dy-opacity-100 dy-transition-opacity dy-shrink-0 dy-ml-2" })]
|
|
6387
6415
|
}, item.id))
|
|
6388
6416
|
}) : /* @__PURE__ */ jsx("div", {
|
|
6389
|
-
className: "dy-rounded-
|
|
6417
|
+
className: "dy-rounded-lg dy-border dy-border-dashed dy-border-border/40 dy-bg-muted/5 dy-px-4 dy-py-6 dy-text-center",
|
|
6390
6418
|
children: /* @__PURE__ */ jsxs("p", {
|
|
6391
6419
|
className: "dy-text-xs dy-text-muted-foreground/60 dy-italic",
|
|
6392
6420
|
children: [
|
|
@@ -6399,7 +6427,7 @@ function JoinField({ schema, control }) {
|
|
|
6399
6427
|
type: "button",
|
|
6400
6428
|
variant: "outline",
|
|
6401
6429
|
size: "sm",
|
|
6402
|
-
className: "dy-h-8 dy-text-[11px] dy-font-bold dy-rounded-
|
|
6430
|
+
className: "dy-h-8 dy-text-[11px] dy-font-bold dy-rounded-lg dy-border-primary/20 hover:dy-bg-primary/5 hover:dy-text-primary dy-transition-all dy-shadow-sm",
|
|
6403
6431
|
onClick: () => navigate(`/collections/${targetCollection}/new?${onField}=${docId}`),
|
|
6404
6432
|
children: [
|
|
6405
6433
|
/* @__PURE__ */ jsx(Plus, { className: "dy-w-3 dy-h-3 dy-mr-1.5" }),
|
|
@@ -6675,7 +6703,7 @@ function SelectField({ schema, field, disabled, collection, siblingValues }) {
|
|
|
6675
6703
|
role: "combobox",
|
|
6676
6704
|
"aria-expanded": open,
|
|
6677
6705
|
disabled: disabled || isDynamic && isLoading,
|
|
6678
|
-
className: cn("dy-h-12 dy-w-full dy-justify-between dy-rounded-
|
|
6706
|
+
className: cn("dy-h-12 dy-w-full dy-justify-between dy-rounded-lg dy-border-border/40 dy-bg-background/50 dy-px-4 dy-font-normal dy-shadow-sm dy-transition-all hover:dy-shadow-md", !selectedOption && "dy-text-muted-foreground"),
|
|
6679
6707
|
children: [/* @__PURE__ */ jsx("span", {
|
|
6680
6708
|
className: "dy-truncate",
|
|
6681
6709
|
children: selectedOption?.label || (currentValue && !selectedOption ? currentValue : placeholder)
|
|
@@ -6699,7 +6727,7 @@ function SelectField({ schema, field, disabled, collection, siblingValues }) {
|
|
|
6699
6727
|
})]
|
|
6700
6728
|
})
|
|
6701
6729
|
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
6702
|
-
className: "dy-w-[var(--radix-popover-trigger-width)] dy-p-0 dy-rounded-
|
|
6730
|
+
className: "dy-w-[var(--radix-popover-trigger-width)] dy-p-0 dy-rounded-lg dy-border-border/40 dy-shadow-xl",
|
|
6703
6731
|
align: "start",
|
|
6704
6732
|
children: /* @__PURE__ */ jsxs(Command$1, {
|
|
6705
6733
|
shouldFilter: !isDynamic,
|
|
@@ -6806,7 +6834,7 @@ function RadioField({ schema, field, disabled, collection, siblingValues }) {
|
|
|
6806
6834
|
1,
|
|
6807
6835
|
2,
|
|
6808
6836
|
3
|
|
6809
|
-
].map((i) => /* @__PURE__ */ jsx("div", { className: "dy-h-12 dy-w-32 dy-rounded-
|
|
6837
|
+
].map((i) => /* @__PURE__ */ jsx("div", { className: "dy-h-12 dy-w-32 dy-rounded-lg dy-bg-muted dy-animate-pulse" }, i))
|
|
6810
6838
|
});
|
|
6811
6839
|
return /* @__PURE__ */ jsx(RadioGroup, {
|
|
6812
6840
|
onValueChange: field.onChange,
|
|
@@ -6821,7 +6849,7 @@ function RadioField({ schema, field, disabled, collection, siblingValues }) {
|
|
|
6821
6849
|
className: "dy-peer dy-absolute dy-left-4 dy-z-10"
|
|
6822
6850
|
}), /* @__PURE__ */ jsx(Label, {
|
|
6823
6851
|
htmlFor: `${field.name}-${opt.value}`,
|
|
6824
|
-
className: cn("dy-flex dy-flex-1 dy-items-center dy-pl-12 dy-pr-4 dy-py-3 dy-rounded-
|
|
6852
|
+
className: cn("dy-flex dy-flex-1 dy-items-center dy-pl-12 dy-pr-4 dy-py-3 dy-rounded-lg dy-border dy-border-border/40 dy-bg-background/50 dy-cursor-pointer dy-transition-all hover:dy-bg-background/80 hover:dy-shadow-sm", "dy-peer-data-[state=checked]:dy-border-primary dy-peer-data-[state=checked]:dy-bg-primary/5 dy-peer-data-[state=checked]:dy-shadow-md dy-peer-data-[state=checked]:dy-ring-1 dy-peer-data-[state=checked]:dy-ring-primary/20", "dy-text-sm dy-font-medium dy-text-foreground/70 dy-peer-data-[state=checked]:dy-text-primary"),
|
|
6825
6853
|
children: opt.label
|
|
6826
6854
|
})]
|
|
6827
6855
|
}, opt.value))
|
|
@@ -6905,7 +6933,7 @@ function MultiSelect({ options, value = [], onChange, label, placeholder = "Sele
|
|
|
6905
6933
|
role: "combobox",
|
|
6906
6934
|
"aria-expanded": open,
|
|
6907
6935
|
disabled: disabled || isDynamic && isLoading,
|
|
6908
|
-
className: "dy-min-h-12 dy-w-full dy-justify-between dy-rounded-
|
|
6936
|
+
className: "dy-min-h-12 dy-w-full dy-justify-between dy-rounded-lg dy-border-border/40 dy-bg-background/50 dy-px-4 dy-font-normal dy-shadow-sm dy-transition-all hover:dy-shadow-md",
|
|
6909
6937
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6910
6938
|
className: "dy-flex dy-min-w-0 dy-flex-1 dy-flex-wrap dy-items-center dy-gap-1",
|
|
6911
6939
|
children: [value.length === 0 && /* @__PURE__ */ jsx("span", {
|
|
@@ -6951,7 +6979,7 @@ function MultiSelect({ options, value = [], onChange, label, placeholder = "Sele
|
|
|
6951
6979
|
})]
|
|
6952
6980
|
})
|
|
6953
6981
|
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
6954
|
-
className: "dy-w-[var(--radix-popover-trigger-width)] dy-p-0 dy-rounded-
|
|
6982
|
+
className: "dy-w-[var(--radix-popover-trigger-width)] dy-p-0 dy-rounded-lg dy-border-border/40 dy-shadow-xl",
|
|
6955
6983
|
align: "start",
|
|
6956
6984
|
children: /* @__PURE__ */ jsxs(Command$1, {
|
|
6957
6985
|
shouldFilter: !isDynamic,
|
|
@@ -7041,7 +7069,7 @@ function InlinePicker({ open, setOpen, triggerRef, children }) {
|
|
|
7041
7069
|
triggerRef
|
|
7042
7070
|
]);
|
|
7043
7071
|
return /* @__PURE__ */ jsx("div", {
|
|
7044
|
-
className: cn("dy-absolute dy-left-0 dy-top-full dy-z-50 dy-mt-1 dy-rounded-
|
|
7072
|
+
className: cn("dy-absolute dy-left-0 dy-top-full dy-z-50 dy-mt-1 dy-rounded-lg dy-border dy-border-border/50 dy-bg-popover dy-shadow-2xl dy-transition-[opacity,transform] dy-duration-100 dy-origin-top-left", open ? "dy-opacity-100 dy-scale-100 dy-pointer-events-auto" : "dy-opacity-0 dy-scale-95 dy-pointer-events-none dy-invisible"),
|
|
7045
7073
|
inert: !open ? true : void 0,
|
|
7046
7074
|
children
|
|
7047
7075
|
});
|
|
@@ -7429,7 +7457,7 @@ function IconPicker({ schema, field, disabled }) {
|
|
|
7429
7457
|
type: "button",
|
|
7430
7458
|
variant: "outline",
|
|
7431
7459
|
disabled,
|
|
7432
|
-
className: "dy-flex-1 dy-justify-start dy-gap-3 dy-h-12 dy-rounded-
|
|
7460
|
+
className: "dy-flex-1 dy-justify-start dy-gap-3 dy-h-12 dy-rounded-lg dy-border-border/40 dy-bg-background/50 dy-font-normal hover:dy-shadow-md dy-transition-all",
|
|
7433
7461
|
children: SelectedIcon ? /* @__PURE__ */ jsxs(Fragment, { children: [React$1.createElement(SelectedIcon, { className: "dy-h-5 dy-w-5 dy-text-primary dy-shrink-0" }), /* @__PURE__ */ jsx("span", {
|
|
7434
7462
|
className: "dy-text-sm dy-text-foreground/80",
|
|
7435
7463
|
children: selectedIconName
|
|
@@ -7519,7 +7547,7 @@ function IconPicker({ schema, field, disabled }) {
|
|
|
7519
7547
|
]
|
|
7520
7548
|
})]
|
|
7521
7549
|
}), SelectedIcon && /* @__PURE__ */ jsx("div", {
|
|
7522
|
-
className: "dy-flex dy-items-center dy-justify-center dy-h-12 dy-w-12 dy-rounded-
|
|
7550
|
+
className: "dy-flex dy-items-center dy-justify-center dy-h-12 dy-w-12 dy-rounded-lg dy-border dy-border-border/40 dy-bg-background/50 dy-shrink-0",
|
|
7523
7551
|
children: React$1.createElement(SelectedIcon, { className: "dy-h-6 dy-w-6 dy-text-foreground/70" })
|
|
7524
7552
|
})]
|
|
7525
7553
|
});
|
|
@@ -8196,7 +8224,7 @@ function SortableBlockItem({ id, index, item, schema, basePath, control, remove,
|
|
|
8196
8224
|
return /* @__PURE__ */ jsxs("div", {
|
|
8197
8225
|
ref: setNodeRef,
|
|
8198
8226
|
style,
|
|
8199
|
-
className: cn("dy-group dy-bg-card dy-border dy-rounded-
|
|
8227
|
+
className: cn("dy-group dy-bg-card dy-border dy-rounded-lg dy-overflow-hidden dy-transition-all", active ? "dy-border-primary dy-ring-1 dy-ring-primary/40 dy-shadow-sm" : "dy-border-border/50 hover:dy-border-border hover:dy-shadow-sm", isDragging && "dy-shadow-xl dy-ring-2 dy-ring-primary/40 dy-border-primary/50"),
|
|
8200
8228
|
children: [
|
|
8201
8229
|
/* @__PURE__ */ jsxs("div", {
|
|
8202
8230
|
className: "dy-flex dy-items-center dy-gap-3 dy-px-3 dy-py-3 dy-cursor-pointer dy-select-none",
|
|
@@ -8423,7 +8451,7 @@ function BlockBuilder({ schema, basePath, control, collection, documentId }) {
|
|
|
8423
8451
|
children: ["Add Block", /* @__PURE__ */ jsx(Plus, { className: "dy-w-3 dy-h-3 dy-ml-1.5" })]
|
|
8424
8452
|
})
|
|
8425
8453
|
}), /* @__PURE__ */ jsxs(DialogContent, {
|
|
8426
|
-
className: "dy-max-w-md md:dy-max-w-4xl dy-p-6 dy-rounded-
|
|
8454
|
+
className: "dy-max-w-md md:dy-max-w-4xl dy-p-6 dy-rounded-lg dy-border-border/40 dy-shadow-2xl !dy-flex dy-flex-col dy-max-h-[85vh] dy-overflow-hidden",
|
|
8427
8455
|
children: [
|
|
8428
8456
|
/* @__PURE__ */ jsxs(DialogHeader, {
|
|
8429
8457
|
className: "dy-pb-2 dy-flex-shrink-0",
|
|
@@ -8454,7 +8482,7 @@ function BlockBuilder({ schema, basePath, control, collection, documentId }) {
|
|
|
8454
8482
|
}) : filteredBlocks.map((block) => {
|
|
8455
8483
|
return /* @__PURE__ */ jsxs("div", {
|
|
8456
8484
|
onClick: () => handleAddBlock(block),
|
|
8457
|
-
className: "dy-group dy-border dy-border-muted/30 dy-rounded-
|
|
8485
|
+
className: "dy-group dy-border dy-border-muted/30 dy-rounded-lg dy-p-4 dy-flex dy-items-start dy-gap-3 hover:dy-border-primary/40 hover:dy-bg-primary/[0.02] dy-transition-all dy-cursor-pointer dy-select-none",
|
|
8458
8486
|
children: [/* @__PURE__ */ jsx("div", {
|
|
8459
8487
|
className: "dy-p-2.5 dy-bg-muted/50 dy-rounded-lg dy-text-muted-foreground/60 group-hover:dy-text-primary group-hover:dy-bg-primary/10 dy-transition-colors",
|
|
8460
8488
|
children: /* @__PURE__ */ jsx(resolveAdminIcon(block.icon, Layers), { className: "dy-w-4 dy-h-4" })
|
|
@@ -8477,7 +8505,7 @@ function BlockBuilder({ schema, basePath, control, collection, documentId }) {
|
|
|
8477
8505
|
})
|
|
8478
8506
|
})]
|
|
8479
8507
|
}), fields.length === 0 ? /* @__PURE__ */ jsxs("div", {
|
|
8480
|
-
className: "dy-text-center dy-p-8 dy-border dy-border-dashed dy-border-border/40 dy-rounded-
|
|
8508
|
+
className: "dy-text-center dy-p-8 dy-border dy-border-dashed dy-border-border/40 dy-rounded-lg dy-bg-muted/10 dy-flex dy-flex-col dy-items-center dy-gap-3",
|
|
8481
8509
|
children: [/* @__PURE__ */ jsx("p", {
|
|
8482
8510
|
className: "dy-text-[11px] dy-text-muted-foreground/50",
|
|
8483
8511
|
children: "No blocks added yet."
|
|
@@ -8736,7 +8764,7 @@ function SortableArrayItem({ id, index, schema, basePath, control, remove, move,
|
|
|
8736
8764
|
type: "button",
|
|
8737
8765
|
variant: "ghost",
|
|
8738
8766
|
size: "icon",
|
|
8739
|
-
className: "dy-h-10 dy-w-10 dy-rounded-
|
|
8767
|
+
className: "dy-h-10 dy-w-10 dy-rounded-lg dy-text-muted-foreground/30 hover:dy-text-destructive hover:dy-bg-destructive/10 sm:dy-h-8 sm:dy-w-8",
|
|
8740
8768
|
onClick: (event) => {
|
|
8741
8769
|
event.stopPropagation();
|
|
8742
8770
|
setShowDeleteConfirm(true);
|
|
@@ -8747,7 +8775,7 @@ function SortableArrayItem({ id, index, schema, basePath, control, remove, move,
|
|
|
8747
8775
|
type: "button",
|
|
8748
8776
|
variant: "ghost",
|
|
8749
8777
|
size: "icon",
|
|
8750
|
-
className: "dy-h-10 dy-w-10 dy-rounded-
|
|
8778
|
+
className: "dy-h-10 dy-w-10 dy-rounded-lg dy-text-muted-foreground hover:dy-bg-muted hover:dy-text-foreground sm:dy-h-8 sm:dy-w-8",
|
|
8751
8779
|
onClick: (event) => {
|
|
8752
8780
|
event.stopPropagation();
|
|
8753
8781
|
onToggleExpand();
|
|
@@ -8760,7 +8788,7 @@ function SortableArrayItem({ id, index, schema, basePath, control, remove, move,
|
|
|
8760
8788
|
type: "button",
|
|
8761
8789
|
variant: "ghost",
|
|
8762
8790
|
size: "icon",
|
|
8763
|
-
className: "dy-h-10 dy-w-10 dy-rounded-
|
|
8791
|
+
className: "dy-h-10 dy-w-10 dy-rounded-lg dy-text-muted-foreground hover:dy-bg-muted hover:dy-text-foreground sm:dy-h-8 sm:dy-w-8",
|
|
8764
8792
|
onClick: (event) => event.stopPropagation(),
|
|
8765
8793
|
title: "Item actions",
|
|
8766
8794
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "dy-w-4 dy-h-4" })
|
|
@@ -8855,7 +8883,7 @@ function SimpleArrayItem({ id, index, field, basePath, remove, move, onDuplicate
|
|
|
8855
8883
|
zIndex: isDragging ? 50 : 1,
|
|
8856
8884
|
opacity: isDragging ? .9 : 1
|
|
8857
8885
|
},
|
|
8858
|
-
className: cn("dy-group dy-flex dy-items-center dy-gap-1.5 dy-rounded-
|
|
8886
|
+
className: cn("dy-group dy-flex dy-items-center dy-gap-1.5 dy-rounded-lg dy-px-1 dy-py-1 dy-transition-colors", isDragging ? "dy-bg-muted/40 dy-shadow-lg dy-ring-1 dy-ring-primary/30" : "hover:dy-bg-muted/30"),
|
|
8859
8887
|
children: [
|
|
8860
8888
|
/* @__PURE__ */ jsx("div", {
|
|
8861
8889
|
...attributes,
|
|
@@ -8874,7 +8902,7 @@ function SimpleArrayItem({ id, index, field, basePath, remove, move, onDuplicate
|
|
|
8874
8902
|
type: "button",
|
|
8875
8903
|
variant: "ghost",
|
|
8876
8904
|
size: "icon",
|
|
8877
|
-
className: "dy-h-9 dy-w-9 dy-flex-shrink-0 dy-rounded-
|
|
8905
|
+
className: "dy-h-9 dy-w-9 dy-flex-shrink-0 dy-rounded-lg dy-text-muted-foreground/50 dy-opacity-0 dy-transition-opacity group-hover:dy-opacity-100 focus:dy-opacity-100 data-[state=open]:dy-opacity-100 hover:dy-bg-muted hover:dy-text-foreground sm:dy-h-8 sm:dy-w-8",
|
|
8878
8906
|
title: "Item actions",
|
|
8879
8907
|
children: /* @__PURE__ */ jsx(MoreHorizontal, { className: "dy-w-4 dy-h-4" })
|
|
8880
8908
|
})
|
|
@@ -9086,14 +9114,14 @@ function ArrayFieldRenderer({ schema, basePath, control, renderField }) {
|
|
|
9086
9114
|
type: "button",
|
|
9087
9115
|
variant: "outline",
|
|
9088
9116
|
size: "sm",
|
|
9089
|
-
className: "dy-h-9 dy-text-[11px] dy-font-bold dy-rounded-
|
|
9117
|
+
className: "dy-h-9 dy-text-[11px] dy-font-bold dy-rounded-lg dy-border-primary/20 hover:dy-bg-primary/5 hover:dy-text-primary dy-transition-all dy-shadow-sm",
|
|
9090
9118
|
onClick: () => setIsBulkOpen(true),
|
|
9091
9119
|
children: "Bulk Add Images"
|
|
9092
9120
|
}), /* @__PURE__ */ jsxs(Button, {
|
|
9093
9121
|
type: "button",
|
|
9094
9122
|
variant: "outline",
|
|
9095
9123
|
size: "sm",
|
|
9096
|
-
className: "dy-h-9 dy-text-[11px] dy-font-bold dy-rounded-
|
|
9124
|
+
className: "dy-h-9 dy-text-[11px] dy-font-bold dy-rounded-lg dy-border-primary/20 hover:dy-bg-primary/5 hover:dy-text-primary dy-transition-all dy-shadow-sm",
|
|
9097
9125
|
onClick: addItem,
|
|
9098
9126
|
children: [
|
|
9099
9127
|
/* @__PURE__ */ jsx(Plus, { className: "dy-w-3.5 dy-h-3.5 dy-mr-1.5" }),
|
|
@@ -9303,7 +9331,7 @@ function FormFieldRenderer({ schema, basePath, control, collection, documentId }
|
|
|
9303
9331
|
documentId
|
|
9304
9332
|
});
|
|
9305
9333
|
if (jexlError) return /* @__PURE__ */ jsxs("div", {
|
|
9306
|
-
className: "dy-space-y-2 dy-border dy-border-destructive/30 dy-bg-destructive/5 dy-p-3 dy-rounded-
|
|
9334
|
+
className: "dy-space-y-2 dy-border dy-border-destructive/30 dy-bg-destructive/5 dy-p-3 dy-rounded-lg dy-my-2",
|
|
9307
9335
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
9308
9336
|
className: "dy-text-xs dy-font-semibold dy-text-destructive dy-flex dy-items-center dy-gap-2",
|
|
9309
9337
|
children: [/* @__PURE__ */ jsxs("span", { children: [
|
|
@@ -9482,7 +9510,7 @@ function FormFieldRendererInner({ schema, basePath, control, collection, canUpda
|
|
|
9482
9510
|
name: fullPath,
|
|
9483
9511
|
render: ({ field: formField }) => /* @__PURE__ */ jsxs(FormItem, {
|
|
9484
9512
|
"data-dy-field": schema.name,
|
|
9485
|
-
className: cn(isSwitchBoolean ? "dy-flex dy-flex-row dy-items-center dy-justify-between dy-rounded-
|
|
9513
|
+
className: cn(isSwitchBoolean ? "dy-flex dy-flex-row dy-items-center dy-justify-between dy-rounded-lg dy-border dy-border-border/40 dy-p-4 dy-bg-background/50 dy-shadow-sm dy-space-y-0" : isBoolean ? "dy-flex dy-flex-row-reverse dy-items-start dy-justify-end dy-gap-3 dy-space-y-0" : hideLabel ? "dy-space-y-0" : "dy-space-y-3"),
|
|
9486
9514
|
children: [
|
|
9487
9515
|
!hideLabel && /* @__PURE__ */ jsxs("div", {
|
|
9488
9516
|
className: cn(isBoolean ? "dy-space-y-1" : "dy-flex dy-items-center dy-flex-wrap dy-gap-2 dy-mb-1"),
|
|
@@ -9894,7 +9922,7 @@ function FormEngineInner({ collection, fields, defaultValues = {}, onSubmit, onC
|
|
|
9894
9922
|
...form.register(field.name)
|
|
9895
9923
|
}, field.name)),
|
|
9896
9924
|
flatErrors.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
9897
|
-
className: "dy-p-4 dy-rounded-
|
|
9925
|
+
className: "dy-p-4 dy-rounded-lg dy-bg-destructive/10 dy-border dy-border-destructive/20 dy-text-destructive dy-space-y-2",
|
|
9898
9926
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
9899
9927
|
className: "dy-flex dy-items-center dy-gap-2 dy-font-semibold",
|
|
9900
9928
|
children: [/* @__PURE__ */ jsx(AlertCircle, { className: "dy-h-4 dy-w-4 dy-shrink-0" }), /* @__PURE__ */ jsx("span", { children: "Please resolve the following validation errors:" })]
|
|
@@ -9929,7 +9957,7 @@ function FormEngineInner({ collection, fields, defaultValues = {}, onSubmit, onC
|
|
|
9929
9957
|
}),
|
|
9930
9958
|
fieldsContent,
|
|
9931
9959
|
hasPassword && passwordChangeMode !== null && /* @__PURE__ */ jsxs("div", {
|
|
9932
|
-
className: "dy-rounded-
|
|
9960
|
+
className: "dy-rounded-lg dy-border dy-border-border dy-p-5 dy-space-y-4",
|
|
9933
9961
|
children: [
|
|
9934
9962
|
/* @__PURE__ */ jsxs("div", {
|
|
9935
9963
|
className: "dy-flex dy-items-center dy-gap-2 dy-text-sm dy-font-semibold dy-text-muted-foreground dy-uppercase dy-tracking-wide",
|
|
@@ -10909,6 +10937,23 @@ function SortableColumnItem({ id, label, visible, onToggleVisible }) {
|
|
|
10909
10937
|
]
|
|
10910
10938
|
});
|
|
10911
10939
|
}
|
|
10940
|
+
function resolvePublishedStateName(schema, item) {
|
|
10941
|
+
const hasPublishingState = !!(schema?.workflow || schema?.drafts);
|
|
10942
|
+
const workflowConfig = schema?.workflow;
|
|
10943
|
+
const workflowMeta = item?._workflow;
|
|
10944
|
+
const workflowState = workflowConfig && workflowMeta ? workflowConfig.states?.find((state) => state.name === workflowMeta.state) : null;
|
|
10945
|
+
if (workflowState) return workflowState.published ? "Published" : "Draft";
|
|
10946
|
+
if (!hasPublishingState) return null;
|
|
10947
|
+
const plainStatus = item.status;
|
|
10948
|
+
if (plainStatus === "published") return "Published";
|
|
10949
|
+
if (plainStatus === "draft") return "Draft";
|
|
10950
|
+
return null;
|
|
10951
|
+
}
|
|
10952
|
+
function resolveWorkflowState(schema, item) {
|
|
10953
|
+
const workflowConfig = schema?.workflow;
|
|
10954
|
+
const workflowMeta = item?._workflow;
|
|
10955
|
+
return workflowConfig && workflowMeta ? workflowConfig.states?.find((state) => state.name === workflowMeta.state) ?? null : null;
|
|
10956
|
+
}
|
|
10912
10957
|
function CollectionListPage({ slug }) {
|
|
10913
10958
|
const { client, components, user } = useDyrected();
|
|
10914
10959
|
const queryClient = useQueryClient();
|
|
@@ -11253,6 +11298,7 @@ function CollectionListPage({ slug }) {
|
|
|
11253
11298
|
const allColumnNames = visibleColumnNames;
|
|
11254
11299
|
const firstVisibleFieldName = visibleColumnNames.find((name) => fieldByName.has(name));
|
|
11255
11300
|
const titleFieldName = visibleColumnNames.includes(schema.admin?.useAsTitle || "") ? schema.admin?.useAsTitle : firstVisibleFieldName;
|
|
11301
|
+
const showPublishingStatus = !!(schema.workflow || schema.drafts);
|
|
11256
11302
|
const deleteAccess = schema.access?.delete;
|
|
11257
11303
|
const canDeleteRow = (item) => {
|
|
11258
11304
|
if (deleteAccess === false) return false;
|
|
@@ -11395,6 +11441,29 @@ function CollectionListPage({ slug }) {
|
|
|
11395
11441
|
const systemColumn = makeSystemColumn(name);
|
|
11396
11442
|
if (systemColumn) cols.push(systemColumn);
|
|
11397
11443
|
});
|
|
11444
|
+
if (showPublishingStatus) cols.push({
|
|
11445
|
+
id: "publishingStatus",
|
|
11446
|
+
header: "Status",
|
|
11447
|
+
enableHiding: false,
|
|
11448
|
+
cell: ({ row }) => {
|
|
11449
|
+
const status = resolvePublishedStateName(schema, row.original);
|
|
11450
|
+
if (!status) return /* @__PURE__ */ jsx("span", {
|
|
11451
|
+
className: "dy-text-xs dy-text-muted-foreground",
|
|
11452
|
+
children: "-"
|
|
11453
|
+
});
|
|
11454
|
+
const workflowState = resolveWorkflowState(schema, row.original);
|
|
11455
|
+
const badgePresentation = workflowState ? getWorkflowBadgePresentation(workflowState.color) : {
|
|
11456
|
+
className: status === "Published" ? WORKFLOW_BADGE_COLORS.success : WORKFLOW_BADGE_COLORS.warning,
|
|
11457
|
+
style: void 0
|
|
11458
|
+
};
|
|
11459
|
+
return /* @__PURE__ */ jsx(Badge, {
|
|
11460
|
+
variant: "outline",
|
|
11461
|
+
className: cn("dy-px-2 dy-py-0 dy-rounded-full dy-text-[10px] dy-font-bold dy-uppercase dy-tracking-wider dy-shrink-0", badgePresentation.className),
|
|
11462
|
+
style: badgePresentation.style,
|
|
11463
|
+
children: status
|
|
11464
|
+
});
|
|
11465
|
+
}
|
|
11466
|
+
});
|
|
11398
11467
|
return cols;
|
|
11399
11468
|
}, [
|
|
11400
11469
|
schema,
|
|
@@ -12059,29 +12128,29 @@ function LivePreviewPane({ previewUrl, data, mode = "postMessage", collectionSlu
|
|
|
12059
12128
|
//#region src/components/workflow/WorkflowPanel.tsx
|
|
12060
12129
|
var STATE_COLORS = {
|
|
12061
12130
|
success: {
|
|
12062
|
-
bg: "dy-bg-emerald-50 dy-border-emerald-200",
|
|
12063
|
-
text: "dy-text-emerald-700",
|
|
12064
|
-
dot: "dy-bg-emerald-500"
|
|
12131
|
+
bg: "dy-bg-emerald-50 dy-border-emerald-200 dark:dy-bg-emerald-500/12 dark:dy-border-emerald-500/30",
|
|
12132
|
+
text: "dy-text-emerald-700 dark:dy-text-emerald-300",
|
|
12133
|
+
dot: "dy-bg-emerald-500 dark:dy-bg-emerald-400"
|
|
12065
12134
|
},
|
|
12066
12135
|
warning: {
|
|
12067
|
-
bg: "dy-bg-amber-50 dy-border-amber-200",
|
|
12068
|
-
text: "dy-text-amber-700",
|
|
12069
|
-
dot: "dy-bg-amber-500"
|
|
12136
|
+
bg: "dy-bg-amber-50 dy-border-amber-200 dark:dy-bg-amber-500/12 dark:dy-border-amber-500/30",
|
|
12137
|
+
text: "dy-text-amber-700 dark:dy-text-amber-300",
|
|
12138
|
+
dot: "dy-bg-amber-500 dark:dy-bg-amber-400"
|
|
12070
12139
|
},
|
|
12071
12140
|
danger: {
|
|
12072
|
-
bg: "dy-bg-red-50 dy-border-red-200",
|
|
12073
|
-
text: "dy-text-red-700",
|
|
12074
|
-
dot: "dy-bg-red-500"
|
|
12141
|
+
bg: "dy-bg-red-50 dy-border-red-200 dark:dy-bg-red-500/12 dark:dy-border-red-500/30",
|
|
12142
|
+
text: "dy-text-red-700 dark:dy-text-red-300",
|
|
12143
|
+
dot: "dy-bg-red-500 dark:dy-bg-red-400"
|
|
12075
12144
|
},
|
|
12076
12145
|
info: {
|
|
12077
|
-
bg: "dy-bg-blue-50 dy-border-blue-200",
|
|
12078
|
-
text: "dy-text-blue-700",
|
|
12079
|
-
dot: "dy-bg-blue-500"
|
|
12146
|
+
bg: "dy-bg-blue-50 dy-border-blue-200 dark:dy-bg-blue-500/12 dark:dy-border-blue-500/30",
|
|
12147
|
+
text: "dy-text-blue-700 dark:dy-text-blue-300",
|
|
12148
|
+
dot: "dy-bg-blue-500 dark:dy-bg-blue-400"
|
|
12080
12149
|
},
|
|
12081
12150
|
neutral: {
|
|
12082
|
-
bg: "dy-bg-muted/40 dy-border-border/60",
|
|
12083
|
-
text: "dy-text-muted-foreground",
|
|
12084
|
-
dot: "dy-bg-muted-foreground/60"
|
|
12151
|
+
bg: "dy-bg-muted/40 dy-border-border/60 dark:dy-bg-muted/60 dark:dy-border-border/80",
|
|
12152
|
+
text: "dy-text-muted-foreground dark:dy-text-foreground/80",
|
|
12153
|
+
dot: "dy-bg-muted-foreground/60 dark:dy-bg-foreground/60"
|
|
12085
12154
|
}
|
|
12086
12155
|
};
|
|
12087
12156
|
function stateColors(color) {
|
|
@@ -12207,7 +12276,7 @@ function WorkflowPanel({ collection, documentId, workflowMeta, workflowConfig })
|
|
|
12207
12276
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs(Button, {
|
|
12208
12277
|
size: "sm",
|
|
12209
12278
|
variant: t.unpublish || t.name === "reject" ? "outline" : "default",
|
|
12210
|
-
className: cn("dy-w-full dy-h-9 dy-rounded-
|
|
12279
|
+
className: cn("dy-w-full dy-h-9 dy-rounded-lg dy-text-xs dy-font-semibold dy-justify-start dy-gap-2", isWaiting && "dy-ring-2 dy-ring-primary/30"),
|
|
12211
12280
|
disabled: transitionMutation.isPending,
|
|
12212
12281
|
onClick: () => handleTransitionClick(t),
|
|
12213
12282
|
children: [isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "dy-h-3.5 dy-w-3.5 dy-animate-spin" }) : /* @__PURE__ */ jsx(StateIcon, { color: workflowConfig.states.find((s) => s.name === t.to)?.color }), t.label]
|
|
@@ -12653,7 +12722,7 @@ function EditEntryPage() {
|
|
|
12653
12722
|
]);
|
|
12654
12723
|
const hasWorkflow = !!schema?.workflow;
|
|
12655
12724
|
const syncShowWorkflow = useState(() => (next) => {
|
|
12656
|
-
setActiveTab((prev) => next ? "
|
|
12725
|
+
setActiveTab((prev) => next ? "workflow" : prev === "workflow" ? "edit" : prev);
|
|
12657
12726
|
})[0];
|
|
12658
12727
|
useEffect(() => {
|
|
12659
12728
|
if (!hasWorkflow || schemaPreviewUrl) return;
|
|
@@ -12760,6 +12829,11 @@ function EditEntryPage() {
|
|
|
12760
12829
|
const currentStatus = entry?.status || "draft";
|
|
12761
12830
|
const workflowState = workflowConfig && workflowMeta ? workflowConfig.states?.find((s) => s.name === workflowMeta.state) : null;
|
|
12762
12831
|
const isPublished = workflowState ? !!workflowState.published : currentStatus === "published";
|
|
12832
|
+
const statusBadgeLabel = workflowState ? workflowState.label || workflowState.name : currentStatus === "published" ? "Published" : currentStatus === "draft" ? "Draft" : String(currentStatus);
|
|
12833
|
+
const workflowBadgePresentation = workflowState ? getWorkflowBadgePresentation(workflowState.color) : {
|
|
12834
|
+
className: isPublished ? WORKFLOW_BADGE_COLORS.success : WORKFLOW_BADGE_COLORS.warning,
|
|
12835
|
+
style: void 0
|
|
12836
|
+
};
|
|
12763
12837
|
const showStatusBadge = workflowConfig ? !!workflowMeta : hasStatus;
|
|
12764
12838
|
const siteUrl = getSiteUrl(schemas?.admin?.siteUrl);
|
|
12765
12839
|
const previewUrl = resolvePreviewUrl(schema.admin?.previewUrl, previewData || entry, siteUrl);
|
|
@@ -12887,9 +12961,10 @@ function EditEntryPage() {
|
|
|
12887
12961
|
className: "dy-text-base dy-font-serif dy-font-bold dy-tracking-tight dy-text-foreground dy-truncate",
|
|
12888
12962
|
children: ["New ", schema?.labels?.singular || schema?.slug]
|
|
12889
12963
|
}), showStatusBadge && /* @__PURE__ */ jsx(Badge, {
|
|
12890
|
-
className: cn("dy-px-2 dy-py-0 dy-rounded-full dy-text-[10px] dy-font-bold dy-uppercase dy-tracking-wider dy-shrink-0",
|
|
12964
|
+
className: cn("dy-px-2 dy-py-0 dy-rounded-full dy-text-[10px] dy-font-bold dy-uppercase dy-tracking-wider dy-shrink-0", workflowBadgePresentation.className),
|
|
12965
|
+
style: workflowBadgePresentation.style,
|
|
12891
12966
|
variant: "outline",
|
|
12892
|
-
children:
|
|
12967
|
+
children: statusBadgeLabel
|
|
12893
12968
|
})]
|
|
12894
12969
|
}),
|
|
12895
12970
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -12918,10 +12993,10 @@ function EditEntryPage() {
|
|
|
12918
12993
|
}),
|
|
12919
12994
|
workflowAvailable && /* @__PURE__ */ jsx(HeaderAction, {
|
|
12920
12995
|
icon: Workflow,
|
|
12921
|
-
label: "
|
|
12922
|
-
active: activeTab === "
|
|
12923
|
-
title: activeTab === "
|
|
12924
|
-
onClick: () => setActiveTab((tab) => tab === "
|
|
12996
|
+
label: "Workflow",
|
|
12997
|
+
active: activeTab === "workflow",
|
|
12998
|
+
title: activeTab === "workflow" ? "Hide workflow transitions" : "Show workflow transitions",
|
|
12999
|
+
onClick: () => setActiveTab((tab) => tab === "workflow" ? "edit" : "workflow")
|
|
12925
13000
|
}),
|
|
12926
13001
|
schema?.audit && isEdit && canReadAudit && /* @__PURE__ */ jsx(HeaderAction, {
|
|
12927
13002
|
icon: History,
|
|
@@ -13030,7 +13105,7 @@ function EditEntryPage() {
|
|
|
13030
13105
|
children: /* @__PURE__ */ jsxs("div", {
|
|
13031
13106
|
className: "dy-space-y-4",
|
|
13032
13107
|
children: [
|
|
13033
|
-
activeTab === "
|
|
13108
|
+
activeTab === "workflow" && workflowAvailable && /* @__PURE__ */ jsx("div", {
|
|
13034
13109
|
className: "dy-animate-in dy-fade-in dy-duration-200 dy-max-w-3xl dy-mx-auto dy-py-6",
|
|
13035
13110
|
children: /* @__PURE__ */ jsx(WorkflowPanel, {
|
|
13036
13111
|
collection: slug,
|
|
@@ -13723,7 +13798,7 @@ function MediaPage({ collectionSlug, schema }) {
|
|
|
13723
13798
|
className: "dy-relative dy-w-full sm:dy-max-w-sm",
|
|
13724
13799
|
children: [/* @__PURE__ */ jsx(Search, { className: "dy-absolute dy-left-3 dy-top-1/2 dy--translate-y-1/2 dy-h-4 dy-w-4 dy-text-muted-foreground/60" }), /* @__PURE__ */ jsx(Input, {
|
|
13725
13800
|
placeholder: "Search assets by filename...",
|
|
13726
|
-
className: "dy-pl-10 dy-h-11 dy-bg-card dy-border-border/60 dy-rounded-
|
|
13801
|
+
className: "dy-pl-10 dy-h-11 dy-bg-card dy-border-border/60 dy-rounded-lg dy-shadow-sm focus-visible:dy-ring-primary/20",
|
|
13727
13802
|
value: search,
|
|
13728
13803
|
onChange: (e) => setSearch(e.target.value)
|
|
13729
13804
|
})]
|
|
@@ -13733,14 +13808,14 @@ function MediaPage({ collectionSlug, schema }) {
|
|
|
13733
13808
|
value: sortValue,
|
|
13734
13809
|
onValueChange: (v) => setSortValue(v),
|
|
13735
13810
|
children: [/* @__PURE__ */ jsxs(SelectTrigger, {
|
|
13736
|
-
className: "dy-h-11 dy-w-full dy-rounded-
|
|
13811
|
+
className: "dy-h-11 dy-w-full dy-rounded-lg dy-bg-card dy-border-border/60 dy-shadow-sm sm:dy-w-44",
|
|
13737
13812
|
children: [/* @__PURE__ */ jsx(ArrowUpDown, { className: "dy-h-4 dy-w-4 dy-text-muted-foreground/70" }), /* @__PURE__ */ jsx(SelectValue, { placeholder: "Sort by" })]
|
|
13738
13813
|
}), /* @__PURE__ */ jsx(SelectContent, { children: SORT_OPTIONS.map((opt) => /* @__PURE__ */ jsx(SelectItem, {
|
|
13739
13814
|
value: opt.value,
|
|
13740
13815
|
children: opt.label
|
|
13741
13816
|
}, opt.value)) })]
|
|
13742
13817
|
}), /* @__PURE__ */ jsxs("div", {
|
|
13743
|
-
className: "dy-flex dy-h-11 dy-items-center dy-rounded-
|
|
13818
|
+
className: "dy-flex dy-h-11 dy-items-center dy-rounded-lg dy-border dy-border-border/60 dy-bg-card dy-p-1 dy-shadow-sm",
|
|
13744
13819
|
children: [/* @__PURE__ */ jsx(Button, {
|
|
13745
13820
|
type: "button",
|
|
13746
13821
|
variant: "ghost",
|
|
@@ -13998,7 +14073,7 @@ function MediaCard({ item, baseUrl, onDelete, onClick, isSelected }) {
|
|
|
13998
14073
|
const previewUrl = getMediaPreviewUrl(item, baseUrl);
|
|
13999
14074
|
const hasPreview = (isImage || isExternalVideo) && !!previewUrl;
|
|
14000
14075
|
return /* @__PURE__ */ jsxs(Card, {
|
|
14001
|
-
className: cn("dy-overflow-hidden dy-group dy-relative dy-border-border/40 dy-bg-card dy-shadow-sm hover:dy-shadow-xl dy-transition-all dy-duration-300 dy-rounded-
|
|
14076
|
+
className: cn("dy-overflow-hidden dy-group dy-relative dy-border-border/40 dy-bg-card dy-shadow-sm hover:dy-shadow-xl dy-transition-all dy-duration-300 dy-rounded-lg dy-cursor-pointer", isSelected && "dy-ring-2 dy-ring-primary dy-ring-offset-2 dy-shadow-lg dy-scale-[0.98]"),
|
|
14002
14077
|
onClick,
|
|
14003
14078
|
children: [
|
|
14004
14079
|
/* @__PURE__ */ jsx(CardHeader, {
|
|
@@ -14133,7 +14208,7 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14133
14208
|
children: [/* @__PURE__ */ jsx("div", {
|
|
14134
14209
|
className: "dy-relative dy-flex dy-w-full dy-flex-none dy-items-center dy-justify-center dy-border-b dy-border-border/40 dy-bg-muted/15 dy-p-3 sm:dy-p-5 md:dy-h-full md:dy-min-h-0 md:dy-w-3/5 md:dy-flex-shrink md:dy-border-b-0 md:dy-border-r lg:dy-w-2/3",
|
|
14135
14210
|
children: /* @__PURE__ */ jsx("div", {
|
|
14136
|
-
className: "dy-relative dy-flex dy-h-[40dvh] dy-min-h-[220px] dy-max-h-80 dy-w-full dy-max-w-full dy-items-center dy-justify-center dy-overflow-hidden dy-rounded-
|
|
14211
|
+
className: "dy-relative dy-flex dy-h-[40dvh] dy-min-h-[220px] dy-max-h-80 dy-w-full dy-max-w-full dy-items-center dy-justify-center dy-overflow-hidden dy-rounded-lg dy-border dy-border-border/40 dy-bg-checkered dy-shadow-inner md:dy-h-full md:dy-max-h-full",
|
|
14137
14212
|
children: embedUrl ? /* @__PURE__ */ jsx("iframe", {
|
|
14138
14213
|
src: embedUrl,
|
|
14139
14214
|
title: item.filename,
|
|
@@ -14181,7 +14256,7 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14181
14256
|
className: "dy-text-xs dy-text-muted-foreground",
|
|
14182
14257
|
children: ["Uploaded on ", item.createdAt ? new Date(item.createdAt).toLocaleDateString() : "N/A"]
|
|
14183
14258
|
})] }), /* @__PURE__ */ jsxs("div", {
|
|
14184
|
-
className: "dy-grid dy-grid-cols-2 dy-gap-x-4 dy-gap-y-3 dy-bg-muted/30 dy-p-3.5 dy-rounded-
|
|
14259
|
+
className: "dy-grid dy-grid-cols-2 dy-gap-x-4 dy-gap-y-3 dy-bg-muted/30 dy-p-3.5 dy-rounded-lg dy-border dy-border-border/40",
|
|
14185
14260
|
children: [
|
|
14186
14261
|
/* @__PURE__ */ jsxs("div", {
|
|
14187
14262
|
className: "dy-space-y-0.5",
|
|
@@ -14289,7 +14364,7 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14289
14364
|
}), /* @__PURE__ */ jsxs("div", {
|
|
14290
14365
|
className: "dy-flex dy-flex-shrink-0 dy-flex-col dy-gap-3 dy-border-t dy-border-border/40 dy-bg-muted/5 dy-p-4 sm:dy-p-6",
|
|
14291
14366
|
children: [hasChanges && /* @__PURE__ */ jsx(Button, {
|
|
14292
|
-
className: "dy-w-full dy-h-11 dy-rounded-
|
|
14367
|
+
className: "dy-w-full dy-h-11 dy-rounded-lg dy-font-bold dy-bg-primary dy-text-card dy-shadow-lg dy-shadow-primary/20 dy-animate-in dy-fade-in dy-slide-in-from-bottom-2",
|
|
14293
14368
|
onClick: handleSave,
|
|
14294
14369
|
disabled: isSaving,
|
|
14295
14370
|
children: isSaving ? "Saving..." : "Save Changes"
|
|
@@ -14297,7 +14372,7 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14297
14372
|
className: "dy-grid dy-grid-cols-2 dy-gap-2 sm:dy-flex",
|
|
14298
14373
|
children: [
|
|
14299
14374
|
collectionSlug && /* @__PURE__ */ jsx(Button, {
|
|
14300
|
-
className: "dy-col-span-2 dy-h-11 dy-rounded-
|
|
14375
|
+
className: "dy-col-span-2 dy-h-11 dy-rounded-lg dy-font-bold dy-gap-2 dy-bg-card sm:dy-flex-1",
|
|
14301
14376
|
variant: "outline",
|
|
14302
14377
|
asChild: true,
|
|
14303
14378
|
children: /* @__PURE__ */ jsxs(Link, {
|
|
@@ -14306,7 +14381,7 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14306
14381
|
})
|
|
14307
14382
|
}),
|
|
14308
14383
|
/* @__PURE__ */ jsx(Button, {
|
|
14309
|
-
className: cn("dy-h-11 dy-rounded-
|
|
14384
|
+
className: cn("dy-h-11 dy-rounded-lg dy-font-bold dy-gap-2 dy-bg-card", collectionSlug ? "dy-px-3" : "dy-flex-1"),
|
|
14310
14385
|
variant: "outline",
|
|
14311
14386
|
asChild: true,
|
|
14312
14387
|
title: "Open Original File",
|
|
@@ -14319,14 +14394,14 @@ function MediaDetailsDialog({ item, collectionSlug, onClose, baseUrl, onUpdate,
|
|
|
14319
14394
|
}),
|
|
14320
14395
|
isImage && item.mimeType !== "image/svg+xml" && /* @__PURE__ */ jsxs(Button, {
|
|
14321
14396
|
onClick: () => setIsCropOpen(true),
|
|
14322
|
-
className: cn("dy-h-11 dy-rounded-
|
|
14397
|
+
className: cn("dy-h-11 dy-rounded-lg dy-font-bold dy-gap-2 dy-bg-card", collectionSlug ? "dy-px-3" : "dy-flex-1"),
|
|
14323
14398
|
variant: "outline",
|
|
14324
14399
|
title: "Crop Image",
|
|
14325
14400
|
children: [/* @__PURE__ */ jsx(Scissors, { className: "dy-h-4 dy-w-4" }), !collectionSlug && "Crop"]
|
|
14326
14401
|
}),
|
|
14327
14402
|
onDelete && /* @__PURE__ */ jsx(Button, {
|
|
14328
14403
|
onClick: onDelete,
|
|
14329
|
-
className: "dy-h-11 dy-px-4 dy-rounded-
|
|
14404
|
+
className: "dy-h-11 dy-px-4 dy-rounded-lg dy-text-destructive hover:dy-bg-destructive/10 hover:dy-text-destructive dy-transition-colors",
|
|
14330
14405
|
variant: "ghost",
|
|
14331
14406
|
title: "Delete Permanently",
|
|
14332
14407
|
children: /* @__PURE__ */ jsx(Trash2, { className: "dy-h-4 dy-w-4" })
|
|
@@ -14457,7 +14532,7 @@ function FileUploader({ collectionSlug, files, setFiles, onComplete }) {
|
|
|
14457
14532
|
/* @__PURE__ */ jsx("div", {
|
|
14458
14533
|
className: "dy-max-h-[240px] dy-overflow-auto dy-space-y-2 dy-pr-2 dy-custom-scrollbar",
|
|
14459
14534
|
children: files.map((file, idx) => /* @__PURE__ */ jsxs("div", {
|
|
14460
|
-
className: "dy-flex dy-items-center dy-justify-between dy-p-3 dy-bg-muted/30 dy-border dy-border-border/40 dy-rounded-
|
|
14535
|
+
className: "dy-flex dy-items-center dy-justify-between dy-p-3 dy-bg-muted/30 dy-border dy-border-border/40 dy-rounded-lg dy-text-sm dy-group dy-transition-colors hover:dy-bg-muted/50",
|
|
14461
14536
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
14462
14537
|
className: "dy-flex dy-items-center dy-gap-3 dy-truncate",
|
|
14463
14538
|
children: [/* @__PURE__ */ jsx("div", {
|
|
@@ -14488,7 +14563,7 @@ function FileUploader({ collectionSlug, files, setFiles, onComplete }) {
|
|
|
14488
14563
|
children: /* @__PURE__ */ jsx(Button, {
|
|
14489
14564
|
onClick: handleUpload,
|
|
14490
14565
|
disabled: uploading || files.length === 0,
|
|
14491
|
-
className: "dy-w-full dy-h-12 dy-rounded-
|
|
14566
|
+
className: "dy-w-full dy-h-12 dy-rounded-lg dy-bg-primary hover:dy-bg-primary/90 dy-text-card dy-font-bold dy-shadow-lg dy-shadow-primary/20 dy-transition-all active:dy-scale-[0.98]",
|
|
14492
14567
|
children: uploading ? /* @__PURE__ */ jsxs("span", {
|
|
14493
14568
|
className: "dy-flex dy-items-center dy-gap-2",
|
|
14494
14569
|
children: [/* @__PURE__ */ jsx("div", { className: "dy-h-4 dy-w-4 dy-border-2 dy-border-card/30 dy-border-t-card dy-rounded-full dy-animate-spin" }), "Uploading Assets..."]
|
|
@@ -14533,7 +14608,7 @@ function FileUploader({ collectionSlug, files, setFiles, onComplete }) {
|
|
|
14533
14608
|
}), /* @__PURE__ */ jsx(Button, {
|
|
14534
14609
|
onClick: handleAddUrl,
|
|
14535
14610
|
disabled: addingUrl || !externalUrl.trim(),
|
|
14536
|
-
className: "dy-h-12 dy-rounded-
|
|
14611
|
+
className: "dy-h-12 dy-rounded-lg dy-bg-primary hover:dy-bg-primary/90 dy-text-card dy-font-bold dy-shadow-lg dy-shadow-primary/20 dy-transition-all active:dy-scale-[0.98] sm:dy-w-auto",
|
|
14537
14612
|
children: addingUrl ? /* @__PURE__ */ jsxs("span", {
|
|
14538
14613
|
className: "dy-flex dy-items-center dy-gap-2",
|
|
14539
14614
|
children: [/* @__PURE__ */ jsx("div", { className: "dy-h-4 dy-w-4 dy-border-2 dy-border-card/30 dy-border-t-card dy-rounded-full dy-animate-spin" }), "Adding…"]
|
|
@@ -14734,7 +14809,7 @@ function SetupPromptUI({ config }) {
|
|
|
14734
14809
|
setCopied(true);
|
|
14735
14810
|
window.setTimeout(() => setCopied(false), 1800);
|
|
14736
14811
|
}
|
|
14737
|
-
const currentVersion = "2.5.
|
|
14812
|
+
const currentVersion = "2.5.63";
|
|
14738
14813
|
const [latestVersion, setLatestVersion] = useState(() => {
|
|
14739
14814
|
if (typeof window === "undefined") return null;
|
|
14740
14815
|
return localStorage.getItem("dyrected_latest_release");
|
|
@@ -15812,7 +15887,7 @@ function AdminUI({ apiKey, baseUrl = "/dyrected", siteId, onNavigate, isEmbedded
|
|
|
15812
15887
|
onNavigate,
|
|
15813
15888
|
isEmbedded
|
|
15814
15889
|
}) }) }), /* @__PURE__ */ jsx(Toaster$1, {
|
|
15815
|
-
position: "top-
|
|
15890
|
+
position: "top-center",
|
|
15816
15891
|
expand: true,
|
|
15817
15892
|
richColors: true
|
|
15818
15893
|
})] }) })
|
|
@@ -15858,7 +15933,7 @@ function AdminStandalone({ apiKey, baseUrl, siteId }) {
|
|
|
15858
15933
|
baseUrl,
|
|
15859
15934
|
siteId,
|
|
15860
15935
|
children: /* @__PURE__ */ jsx(AdminThemeProvider, { children: /* @__PURE__ */ jsxs(AdminThemedRoot, { children: [/* @__PURE__ */ jsx(QueryProvider, { children: /* @__PURE__ */ jsx(MemoryRouter, { children: /* @__PURE__ */ jsx(AdminRoutes, {}) }) }), /* @__PURE__ */ jsx(Toaster$1, {
|
|
15861
|
-
position: "top-
|
|
15936
|
+
position: "top-center",
|
|
15862
15937
|
expand: true,
|
|
15863
15938
|
richColors: true
|
|
15864
15939
|
})] }) })
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dyrected/admin",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.64",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"tailwind-merge": "^3.5.0",
|
|
65
65
|
"tailwindcss-animate": "^1.0.7",
|
|
66
66
|
"zod": "^3.25.76",
|
|
67
|
-
"@dyrected/core": "^2.5.
|
|
67
|
+
"@dyrected/core": "^2.5.64",
|
|
68
68
|
"@dyrected/knowledge": "^0.2.15",
|
|
69
|
-
"@dyrected/sdk": "^2.5.
|
|
69
|
+
"@dyrected/sdk": "^2.5.64"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"@tanstack/react-query": "^5.0.0",
|