@dyrected/admin 2.6.0 → 2.6.2

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 (55) hide show
  1. package/dist/admin.css +221 -32
  2. package/dist/components/forms/field-renderer.d.ts +3 -9
  3. package/dist/components/forms/fields/date-picker.d.ts +4 -1
  4. package/dist/components/forms/fields/format-aware-inputs.test.d.ts +1 -0
  5. package/dist/components/forms/fields/text-field.d.ts +1 -1
  6. package/dist/components/forms/fields/url-field.d.ts +1 -1
  7. package/dist/components/forms/form-engine.d.ts +13 -2
  8. package/dist/components/media/__tests__/media-library-dialog.test.d.ts +1 -0
  9. package/dist/components/media/storage-notice.d.ts +7 -0
  10. package/dist/components/workflow/WorkflowPanel.d.ts +8 -1
  11. package/dist/components/workflow/draft-live-compare-sheet.d.ts +6 -0
  12. package/dist/components/workflow/workflow-transition-controls.d.ts +60 -0
  13. package/dist/controllers/__tests__/field.test.d.ts +1 -0
  14. package/dist/controllers/__tests__/form.test.d.ts +1 -0
  15. package/dist/controllers/__tests__/media.test.d.ts +1 -0
  16. package/dist/controllers/__tests__/theme.test.d.ts +1 -0
  17. package/dist/controllers/field.d.ts +13 -0
  18. package/dist/controllers/form.d.ts +102 -0
  19. package/dist/controllers/media.d.ts +119 -0
  20. package/dist/controllers/theme.d.ts +28 -0
  21. package/dist/favicon.ico +0 -0
  22. package/dist/favicon.svg +85 -1
  23. package/dist/hooks/__tests__/use-add-media-from-url.test.d.ts +1 -0
  24. package/dist/hooks/__tests__/use-field.test.d.ts +1 -0
  25. package/dist/hooks/admin-theme-context.d.ts +2 -8
  26. package/dist/hooks/admin-theme-provider.d.ts +3 -1
  27. package/dist/hooks/admin-theme.d.ts +1 -0
  28. package/dist/hooks/use-add-media-from-url.d.ts +8 -17
  29. package/dist/hooks/use-admin-theme.d.ts +2 -1
  30. package/dist/hooks/use-dyrected-form.d.ts +2 -0
  31. package/dist/hooks/use-field.d.ts +2 -0
  32. package/dist/hooks/use-media-library.d.ts +26 -0
  33. package/dist/hooks/use-media-upload.d.ts +20 -0
  34. package/dist/hooks/use-media-url.d.ts +20 -0
  35. package/dist/index.d.ts +30 -3
  36. package/dist/index.mjs +2878 -1827
  37. package/dist/lib/__tests__/external-media.test.d.ts +1 -0
  38. package/dist/lib/__tests__/media-utils.test.d.ts +1 -0
  39. package/dist/lib/compress-image.d.ts +9 -0
  40. package/dist/lib/draft-live-compare.d.ts +38 -0
  41. package/dist/lib/draft-live-compare.test.d.ts +1 -0
  42. package/dist/lib/external-media.d.ts +9 -4
  43. package/dist/lib/media-utils.d.ts +26 -0
  44. package/dist/lib/workflow-autosave.d.ts +18 -0
  45. package/dist/lib/workflow-autosave.test.d.ts +1 -0
  46. package/dist/lib/workflow-ui.d.ts +22 -0
  47. package/dist/lib/workflow-ui.test.d.ts +1 -0
  48. package/dist/providers/dyrected-form-context.d.ts +14 -0
  49. package/dist/public/contracts.d.ts +230 -0
  50. package/dist/public/index.d.ts +26 -0
  51. package/dist/public/index.js +2 -0
  52. package/dist/public.d.ts +2 -0
  53. package/dist/types/admin-components.d.ts +17 -2
  54. package/dist/use-add-media-from-url-DHGAAVLY.js +1604 -0
  55. package/package.json +10 -4
package/dist/admin.css CHANGED
@@ -1222,6 +1222,10 @@
1222
1222
  z-index: 20;
1223
1223
  }
1224
1224
 
1225
+ .dy-z-30{
1226
+ z-index: 30;
1227
+ }
1228
+
1225
1229
  .dy-z-50{
1226
1230
  z-index: 50;
1227
1231
  }
@@ -1631,6 +1635,10 @@
1631
1635
  height: 92dvh;
1632
1636
  }
1633
1637
 
1638
+ .dy-h-\[calc\(100vh-132px\)\]{
1639
+ height: calc(100vh - 132px);
1640
+ }
1641
+
1634
1642
  .dy-h-\[calc\(100vh-200px\)\]{
1635
1643
  height: calc(100vh - 200px);
1636
1644
  }
@@ -1755,6 +1763,10 @@
1755
1763
  min-height: 3rem;
1756
1764
  }
1757
1765
 
1766
+ .dy-min-h-28{
1767
+ min-height: 7rem;
1768
+ }
1769
+
1758
1770
  .dy-min-h-56{
1759
1771
  min-height: 14rem;
1760
1772
  }
@@ -1955,6 +1967,10 @@
1955
1967
  width: 56px;
1956
1968
  }
1957
1969
 
1970
+ .dy-w-\[96vw\]{
1971
+ width: 96vw;
1972
+ }
1973
+
1958
1974
  .dy-w-\[calc\(100vw-1rem\)\]{
1959
1975
  width: calc(100vw - 1rem);
1960
1976
  }
@@ -2229,6 +2245,12 @@
2229
2245
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2230
2246
  }
2231
2247
 
2248
+ .dy-scale-\[0\.99\]{
2249
+ --tw-scale-x: 0.99;
2250
+ --tw-scale-y: 0.99;
2251
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2252
+ }
2253
+
2232
2254
  .dy-transform{
2233
2255
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2234
2256
  }
@@ -2316,10 +2338,6 @@
2316
2338
  user-select: all;
2317
2339
  }
2318
2340
 
2319
- .dy-resize-none{
2320
- resize: none;
2321
- }
2322
-
2323
2341
  .dy-resize-y{
2324
2342
  resize: vertical;
2325
2343
  }
@@ -2388,6 +2406,10 @@
2388
2406
  align-items: center;
2389
2407
  }
2390
2408
 
2409
+ .dy-items-stretch{
2410
+ align-items: stretch;
2411
+ }
2412
+
2391
2413
  .dy-justify-start{
2392
2414
  justify-content: flex-start;
2393
2415
  }
@@ -2581,6 +2603,10 @@
2581
2603
  white-space: nowrap;
2582
2604
  }
2583
2605
 
2606
+ .dy-whitespace-pre-wrap{
2607
+ white-space: pre-wrap;
2608
+ }
2609
+
2584
2610
  .dy-break-words{
2585
2611
  overflow-wrap: break-word;
2586
2612
  }
@@ -2617,6 +2643,10 @@
2617
2643
  border-radius: calc(var(--radius) - 2px);
2618
2644
  }
2619
2645
 
2646
+ .dy-rounded-none{
2647
+ border-radius: 0px;
2648
+ }
2649
+
2620
2650
  .dy-rounded-sm{
2621
2651
  border-radius: calc(var(--radius) - 4px);
2622
2652
  }
@@ -2696,6 +2726,10 @@
2696
2726
  border-color: rgb(245 158 11 / 0.2);
2697
2727
  }
2698
2728
 
2729
+ .dy-border-amber-500\/30{
2730
+ border-color: rgb(245 158 11 / 0.3);
2731
+ }
2732
+
2699
2733
  .dy-border-blue-100{
2700
2734
  --tw-border-opacity: 1;
2701
2735
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
@@ -2830,10 +2864,28 @@
2830
2864
  border-color: rgb(239 68 68 / 0.2);
2831
2865
  }
2832
2866
 
2867
+ .dy-border-rose-200{
2868
+ --tw-border-opacity: 1;
2869
+ border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
2870
+ }
2871
+
2833
2872
  .dy-border-sidebar-border{
2834
2873
  border-color: hsl(var(--sidebar-border));
2835
2874
  }
2836
2875
 
2876
+ .dy-border-sky-200{
2877
+ --tw-border-opacity: 1;
2878
+ border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
2879
+ }
2880
+
2881
+ .dy-border-sky-400\/30{
2882
+ border-color: rgb(56 189 248 / 0.3);
2883
+ }
2884
+
2885
+ .dy-border-sky-500\/20{
2886
+ border-color: rgb(14 165 233 / 0.2);
2887
+ }
2888
+
2837
2889
  .dy-border-transparent{
2838
2890
  border-color: transparent;
2839
2891
  }
@@ -2847,6 +2899,10 @@
2847
2899
  border-color: rgb(255 255 255 / 0.1);
2848
2900
  }
2849
2901
 
2902
+ .dy-border-white\/20{
2903
+ border-color: rgb(255 255 255 / 0.2);
2904
+ }
2905
+
2850
2906
  .dy-border-white\/30{
2851
2907
  border-color: rgb(255 255 255 / 0.3);
2852
2908
  }
@@ -2880,6 +2936,10 @@
2880
2936
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
2881
2937
  }
2882
2938
 
2939
+ .dy-bg-amber-400\/15{
2940
+ background-color: rgb(251 191 36 / 0.15);
2941
+ }
2942
+
2883
2943
  .dy-bg-amber-50{
2884
2944
  --tw-bg-opacity: 1;
2885
2945
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
@@ -2894,6 +2954,10 @@
2894
2954
  background-color: rgb(245 158 11 / 0.1);
2895
2955
  }
2896
2956
 
2957
+ .dy-bg-amber-500\/20{
2958
+ background-color: rgb(245 158 11 / 0.2);
2959
+ }
2960
+
2897
2961
  .dy-bg-amber-500\/5{
2898
2962
  background-color: rgb(245 158 11 / 0.05);
2899
2963
  }
@@ -3076,6 +3140,10 @@
3076
3140
  background-color: hsl(var(--muted) / 0.3);
3077
3141
  }
3078
3142
 
3143
+ .dy-bg-muted\/35{
3144
+ background-color: hsl(var(--muted) / 0.35);
3145
+ }
3146
+
3079
3147
  .dy-bg-muted\/40{
3080
3148
  background-color: hsl(var(--muted) / 0.4);
3081
3149
  }
@@ -3135,6 +3203,11 @@
3135
3203
  background-color: rgb(239 68 68 / 0.1);
3136
3204
  }
3137
3205
 
3206
+ .dy-bg-rose-50{
3207
+ --tw-bg-opacity: 1;
3208
+ background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
3209
+ }
3210
+
3138
3211
  .dy-bg-secondary{
3139
3212
  background-color: hsl(var(--secondary));
3140
3213
  }
@@ -3147,18 +3220,37 @@
3147
3220
  background-color: hsl(var(--sidebar-border));
3148
3221
  }
3149
3222
 
3223
+ .dy-bg-sky-50{
3224
+ --tw-bg-opacity: 1;
3225
+ background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
3226
+ }
3227
+
3228
+ .dy-bg-sky-500\/10{
3229
+ background-color: rgb(14 165 233 / 0.1);
3230
+ }
3231
+
3232
+ .dy-bg-sky-950\/80{
3233
+ background-color: rgb(8 47 73 / 0.8);
3234
+ }
3235
+
3150
3236
  .dy-bg-transparent{
3151
3237
  background-color: transparent;
3152
3238
  }
3153
3239
 
3154
- .dy-bg-\[radial-gradient\(circle_at_center\,var\(--primary\)_0\%\,transparent_100\%\)\]{
3155
- background-image: radial-gradient(circle at center,var(--primary) 0%,transparent 100%);
3240
+ .dy-bg-gradient-to-r{
3241
+ background-image: linear-gradient(to right, var(--tw-gradient-stops));
3156
3242
  }
3157
3243
 
3158
3244
  .dy-bg-gradient-to-t{
3159
3245
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
3160
3246
  }
3161
3247
 
3248
+ .dy-from-amber-500\/10{
3249
+ --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
3250
+ --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
3251
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
3252
+ }
3253
+
3162
3254
  .dy-from-black\/60{
3163
3255
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
3164
3256
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
@@ -3171,6 +3263,11 @@
3171
3263
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
3172
3264
  }
3173
3265
 
3266
+ .dy-via-amber-500\/5{
3267
+ --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
3268
+ --tw-gradient-stops: var(--tw-gradient-from), rgb(245 158 11 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
3269
+ }
3270
+
3174
3271
  .dy-via-black\/40{
3175
3272
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
3176
3273
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
@@ -3367,6 +3464,11 @@
3367
3464
  padding-bottom: 1rem;
3368
3465
  }
3369
3466
 
3467
+ .dy-py-5{
3468
+ padding-top: 1.25rem;
3469
+ padding-bottom: 1.25rem;
3470
+ }
3471
+
3370
3472
  .dy-py-6{
3371
3473
  padding-top: 1.5rem;
3372
3474
  padding-bottom: 1.5rem;
@@ -3449,6 +3551,10 @@
3449
3551
  padding-right: 0.25rem;
3450
3552
  }
3451
3553
 
3554
+ .dy-pr-14{
3555
+ padding-right: 3.5rem;
3556
+ }
3557
+
3452
3558
  .dy-pr-2{
3453
3559
  padding-right: 0.5rem;
3454
3560
  }
@@ -3645,6 +3751,10 @@
3645
3751
  letter-spacing: 0.12em;
3646
3752
  }
3647
3753
 
3754
+ .dy-tracking-\[0\.18em\]{
3755
+ letter-spacing: 0.18em;
3756
+ }
3757
+
3648
3758
  .dy-tracking-tight{
3649
3759
  letter-spacing: -0.025em;
3650
3760
  }
@@ -3690,13 +3800,18 @@
3690
3800
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
3691
3801
  }
3692
3802
 
3693
- .dy-text-background{
3694
- color: hsl(var(--background));
3803
+ .dy-text-amber-900{
3804
+ --tw-text-opacity: 1;
3805
+ color: rgb(120 53 15 / var(--tw-text-opacity, 1));
3695
3806
  }
3696
3807
 
3697
- .dy-text-blue-500{
3808
+ .dy-text-amber-950{
3698
3809
  --tw-text-opacity: 1;
3699
- color: rgb(59 130 246 / var(--tw-text-opacity, 1));
3810
+ color: rgb(69 26 3 / var(--tw-text-opacity, 1));
3811
+ }
3812
+
3813
+ .dy-text-background{
3814
+ color: hsl(var(--background));
3700
3815
  }
3701
3816
 
3702
3817
  .dy-text-blue-600{
@@ -3796,6 +3911,10 @@
3796
3911
  color: hsl(var(--muted-foreground) / 0.3);
3797
3912
  }
3798
3913
 
3914
+ .dy-text-muted-foreground\/35{
3915
+ color: hsl(var(--muted-foreground) / 0.35);
3916
+ }
3917
+
3799
3918
  .dy-text-muted-foreground\/40{
3800
3919
  color: hsl(var(--muted-foreground) / 0.4);
3801
3920
  }
@@ -3849,6 +3968,11 @@
3849
3968
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
3850
3969
  }
3851
3970
 
3971
+ .dy-text-purple-500{
3972
+ --tw-text-opacity: 1;
3973
+ color: rgb(168 85 247 / var(--tw-text-opacity, 1));
3974
+ }
3975
+
3852
3976
  .dy-text-purple-500\/70{
3853
3977
  color: rgb(168 85 247 / 0.7);
3854
3978
  }
@@ -3877,6 +4001,11 @@
3877
4001
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
3878
4002
  }
3879
4003
 
4004
+ .dy-text-rose-700{
4005
+ --tw-text-opacity: 1;
4006
+ color: rgb(190 18 60 / var(--tw-text-opacity, 1));
4007
+ }
4008
+
3880
4009
  .dy-text-secondary-foreground{
3881
4010
  color: hsl(var(--secondary-foreground));
3882
4011
  }
@@ -3889,6 +4018,21 @@
3889
4018
  color: hsl(var(--sidebar-foreground) / 0.7);
3890
4019
  }
3891
4020
 
4021
+ .dy-text-sky-300{
4022
+ --tw-text-opacity: 1;
4023
+ color: rgb(125 211 252 / var(--tw-text-opacity, 1));
4024
+ }
4025
+
4026
+ .dy-text-sky-600{
4027
+ --tw-text-opacity: 1;
4028
+ color: rgb(2 132 199 / var(--tw-text-opacity, 1));
4029
+ }
4030
+
4031
+ .dy-text-sky-700{
4032
+ --tw-text-opacity: 1;
4033
+ color: rgb(3 105 161 / var(--tw-text-opacity, 1));
4034
+ }
4035
+
3892
4036
  .dy-text-white{
3893
4037
  --tw-text-opacity: 1;
3894
4038
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -3898,6 +4042,10 @@
3898
4042
  color: rgb(255 255 255 / 0.6);
3899
4043
  }
3900
4044
 
4045
+ .dy-text-white\/90{
4046
+ color: rgb(255 255 255 / 0.9);
4047
+ }
4048
+
3901
4049
  .dy-underline-offset-2{
3902
4050
  text-underline-offset: 2px;
3903
4051
  }
@@ -3934,8 +4082,8 @@
3934
4082
  opacity: 0.8;
3935
4083
  }
3936
4084
 
3937
- .dy-opacity-\[0\.03\]{
3938
- opacity: 0.03;
4085
+ .dy-opacity-90{
4086
+ opacity: 0.9;
3939
4087
  }
3940
4088
 
3941
4089
  .dy-shadow-2xl{
@@ -4076,6 +4224,11 @@
4076
4224
  --tw-ring-offset-color: hsl(var(--background));
4077
4225
  }
4078
4226
 
4227
+ .dy-backdrop-blur{
4228
+ --tw-backdrop-blur: blur(8px);
4229
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
4230
+ }
4231
+
4079
4232
  .dy-backdrop-blur-\[1px\]{
4080
4233
  --tw-backdrop-blur: blur(1px);
4081
4234
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -4950,6 +5103,10 @@
4950
5103
  color: hsl(var(--primary-foreground));
4951
5104
  }
4952
5105
 
5106
+ .hover\:dy-text-primary\/80:hover{
5107
+ color: hsl(var(--primary) / 0.8);
5108
+ }
5109
+
4953
5110
  .hover\:dy-text-sidebar-accent-foreground:hover{
4954
5111
  color: hsl(var(--sidebar-accent-foreground));
4955
5112
  }
@@ -4962,6 +5119,10 @@
4962
5119
  opacity: 1;
4963
5120
  }
4964
5121
 
5122
+ .hover\:dy-opacity-85:hover{
5123
+ opacity: 0.85;
5124
+ }
5125
+
4965
5126
  .hover\:dy-shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{
4966
5127
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
4967
5128
  --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
@@ -5656,6 +5817,16 @@
5656
5817
  background-color: rgb(255 255 255 / 0.05);
5657
5818
  }
5658
5819
 
5820
+ .dark\:dy-text-amber-100:is(.dy-dark *){
5821
+ --tw-text-opacity: 1;
5822
+ color: rgb(254 243 199 / var(--tw-text-opacity, 1));
5823
+ }
5824
+
5825
+ .dark\:dy-text-amber-200:is(.dy-dark *){
5826
+ --tw-text-opacity: 1;
5827
+ color: rgb(253 230 138 / var(--tw-text-opacity, 1));
5828
+ }
5829
+
5659
5830
  .dark\:dy-text-amber-300:is(.dy-dark *){
5660
5831
  --tw-text-opacity: 1;
5661
5832
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
@@ -5768,10 +5939,6 @@
5768
5939
  height: 5rem;
5769
5940
  }
5770
5941
 
5771
- .sm\:dy-h-24{
5772
- height: 6rem;
5773
- }
5774
-
5775
5942
  .sm\:dy-h-60{
5776
5943
  height: 15rem;
5777
5944
  }
@@ -5800,10 +5967,6 @@
5800
5967
  width: 5rem;
5801
5968
  }
5802
5969
 
5803
- .sm\:dy-w-24{
5804
- width: 6rem;
5805
- }
5806
-
5807
5970
  .sm\:dy-w-44{
5808
5971
  width: 11rem;
5809
5972
  }
@@ -5848,6 +6011,10 @@
5848
6011
  max-width: 56rem;
5849
6012
  }
5850
6013
 
6014
+ .sm\:dy-max-w-\[300px\]{
6015
+ max-width: 300px;
6016
+ }
6017
+
5851
6018
  .sm\:dy-max-w-\[360px\]{
5852
6019
  max-width: 360px;
5853
6020
  }
@@ -5939,10 +6106,6 @@
5939
6106
  gap: 1rem;
5940
6107
  }
5941
6108
 
5942
- .sm\:dy-gap-8{
5943
- gap: 2rem;
5944
- }
5945
-
5946
6109
  .sm\:dy-space-x-2 > :not([hidden]) ~ :not([hidden]){
5947
6110
  --tw-space-x-reverse: 0;
5948
6111
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
@@ -5983,10 +6146,6 @@
5983
6146
  border-radius: 1.5rem;
5984
6147
  }
5985
6148
 
5986
- .sm\:dy-rounded-\[2\.5rem\]{
5987
- border-radius: 2.5rem;
5988
- }
5989
-
5990
6149
  .sm\:dy-rounded-xl{
5991
6150
  border-radius: 0.75rem;
5992
6151
  }
@@ -5995,6 +6154,10 @@
5995
6154
  background-color: rgb(0 0 0 / 0.4);
5996
6155
  }
5997
6156
 
6157
+ .sm\:dy-p-10{
6158
+ padding: 2.5rem;
6159
+ }
6160
+
5998
6161
  .sm\:dy-p-12{
5999
6162
  padding: 3rem;
6000
6163
  }
@@ -6015,10 +6178,6 @@
6015
6178
  padding: 1.5rem;
6016
6179
  }
6017
6180
 
6018
- .sm\:dy-p-8{
6019
- padding: 2rem;
6020
- }
6021
-
6022
6181
  .sm\:dy-px-10{
6023
6182
  padding-left: 2.5rem;
6024
6183
  padding-right: 2.5rem;
@@ -6065,6 +6224,11 @@
6065
6224
  line-height: 1.5rem;
6066
6225
  }
6067
6226
 
6227
+ .sm\:dy-text-sm{
6228
+ font-size: 0.875rem;
6229
+ line-height: 1.25rem;
6230
+ }
6231
+
6068
6232
  .sm\:dy-text-xl{
6069
6233
  font-size: 1.25rem;
6070
6234
  line-height: 1.75rem;
@@ -6287,6 +6451,10 @@
6287
6451
  display: block;
6288
6452
  }
6289
6453
 
6454
+ .lg\:dy-inline{
6455
+ display: inline;
6456
+ }
6457
+
6290
6458
  .lg\:dy-flex{
6291
6459
  display: flex;
6292
6460
  }
@@ -6311,6 +6479,10 @@
6311
6479
  width: 33.333333%;
6312
6480
  }
6313
6481
 
6482
+ .lg\:dy-w-auto{
6483
+ width: auto;
6484
+ }
6485
+
6314
6486
  .lg\:dy-max-w-6xl{
6315
6487
  max-width: 72rem;
6316
6488
  }
@@ -6319,6 +6491,10 @@
6319
6491
  flex: 1 1 0%;
6320
6492
  }
6321
6493
 
6494
+ .lg\:dy-grid-cols-2{
6495
+ grid-template-columns: repeat(2, minmax(0, 1fr));
6496
+ }
6497
+
6322
6498
  .lg\:dy-grid-cols-4{
6323
6499
  grid-template-columns: repeat(4, minmax(0, 1fr));
6324
6500
  }
@@ -6339,10 +6515,18 @@
6339
6515
  align-items: flex-end;
6340
6516
  }
6341
6517
 
6518
+ .lg\:dy-justify-start{
6519
+ justify-content: flex-start;
6520
+ }
6521
+
6342
6522
  .lg\:dy-justify-between{
6343
6523
  justify-content: space-between;
6344
6524
  }
6345
6525
 
6526
+ .lg\:dy-gap-2{
6527
+ gap: 0.5rem;
6528
+ }
6529
+
6346
6530
  .lg\:dy-gap-4{
6347
6531
  gap: 1rem;
6348
6532
  }
@@ -6365,6 +6549,11 @@
6365
6549
  border-right-width: 0px;
6366
6550
  }
6367
6551
 
6552
+ .lg\:dy-px-3{
6553
+ padding-left: 0.75rem;
6554
+ padding-right: 0.75rem;
6555
+ }
6556
+
6368
6557
  .lg\:dy-px-4{
6369
6558
  padding-left: 1rem;
6370
6559
  padding-right: 1rem;
@@ -1,4 +1,5 @@
1
- import { Field as FieldSchema, CollectionConfig, GlobalConfig } from '@dyrected/core';
1
+ import { Field as FieldSchema } from '@dyrected/core';
2
+ import { AdminFieldComponentContext } from '../../types/admin-components';
2
3
  interface FieldRendererProps {
3
4
  schema: FieldSchema;
4
5
  field: {
@@ -8,14 +9,7 @@ interface FieldRendererProps {
8
9
  ref: any;
9
10
  };
10
11
  collection: string;
11
- context?: {
12
- user: Record<string, unknown> | null;
13
- schemas?: {
14
- collections: CollectionConfig[];
15
- globals: GlobalConfig[];
16
- };
17
- siblingData: Record<string, unknown>;
18
- };
12
+ context?: AdminFieldComponentContext;
19
13
  }
20
14
  /**
21
15
  * FieldRenderer (Field Registry/Dispatcher)
@@ -1,3 +1,4 @@
1
+ import { DateFormat } from '@dyrected/core';
1
2
  import * as React from "react";
2
3
  interface DatePickerProps {
3
4
  value?: string | Date;
@@ -5,8 +6,10 @@ interface DatePickerProps {
5
6
  label?: string;
6
7
  disabled?: boolean;
7
8
  withTime?: boolean;
9
+ fieldType: "date" | "datetime" | "time";
10
+ format?: DateFormat;
8
11
  }
9
- export declare function DatePicker({ value, onChange, label, disabled, withTime }: DatePickerProps): React.JSX.Element;
12
+ export declare function DatePicker({ value, onChange, label, disabled, withTime, fieldType, format: valueFormat }: DatePickerProps): React.JSX.Element;
10
13
  interface DateRangePickerProps {
11
14
  value?: {
12
15
  from?: string;
@@ -5,7 +5,7 @@ interface TextFieldProps {
5
5
  schema: TextInputSchema;
6
6
  field: {
7
7
  value: string | number | null | undefined;
8
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
8
+ onChange: (...event: any[]) => void;
9
9
  onBlur?: () => void;
10
10
  name: string;
11
11
  ref: React.Ref<HTMLInputElement>;
@@ -10,5 +10,5 @@ interface UrlFieldProps {
10
10
  siblingData: any;
11
11
  };
12
12
  }
13
- export declare function UrlField({ field, disabled }: UrlFieldProps): React.JSX.Element;
13
+ export declare function UrlField({ schema, field, disabled }: UrlFieldProps): React.JSX.Element;
14
14
  export {};
@@ -1,11 +1,12 @@
1
1
  import { default as React } from 'react';
2
2
  import { Field as FieldSchema, Block as BlockSchema } from '@dyrected/sdk';
3
+ import { WorkflowAutosaveState } from '../../lib/workflow-autosave';
3
4
  export type { FieldSchema, BlockSchema };
4
5
  interface FormEngineProps {
5
6
  collection: string;
6
7
  fields: FieldSchema[];
7
8
  defaultValues?: Record<string, unknown>;
8
- onSubmit: (data: Record<string, unknown>) => void;
9
+ onSubmit: (data: Record<string, unknown>) => Promise<unknown> | unknown;
9
10
  onChange?: (isDirty: boolean) => void;
10
11
  isLoading?: boolean;
11
12
  submitLabel?: string;
@@ -30,5 +31,15 @@ interface FormEngineProps {
30
31
  * (e.g. "Page"). Falls back to a capitalised collection slug.
31
32
  */
32
33
  defaultTabLabel?: string;
34
+ autosave?: {
35
+ enabled: boolean;
36
+ delayMs?: number;
37
+ onSave: (data: Record<string, unknown>) => Promise<void>;
38
+ onStatusChange?: (state: WorkflowAutosaveState) => void;
39
+ };
33
40
  }
34
- export declare function FormEngine(props: FormEngineProps): React.JSX.Element;
41
+ export interface FormEngineHandle {
42
+ submitCurrentDraft: () => Promise<unknown>;
43
+ isDirty: () => boolean;
44
+ }
45
+ export declare const FormEngine: React.ForwardRefExoticComponent<FormEngineProps & React.RefAttributes<FormEngineHandle>>;
@@ -0,0 +1,7 @@
1
+ interface StorageNotConfiguredNoticeProps {
2
+ variant?: "banner" | "inline";
3
+ className?: string;
4
+ showSetupLink?: boolean;
5
+ }
6
+ export declare function StorageNotConfiguredNotice({ variant, className, showSetupLink, }: StorageNotConfiguredNoticeProps): import("react").JSX.Element;
7
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { WorkflowMetadata } from '@dyrected/core';
2
+ import { PrepareWorkflowTransition } from './workflow-transition-controls';
2
3
  interface WorkflowState {
3
4
  name: string;
4
5
  label: string;
@@ -26,6 +27,12 @@ interface WorkflowPanelProps {
26
27
  availableTransitions?: string[];
27
28
  };
28
29
  workflowConfig: WorkflowConfig;
30
+ onCompareToLive?: () => void;
31
+ compareToLiveEnabled?: boolean;
32
+ compareToLiveReason?: string | null;
33
+ onSaveDraft?: () => Promise<void> | void;
34
+ saveDraftPending?: boolean;
35
+ prepareTransition?: PrepareWorkflowTransition;
29
36
  }
30
- export declare function WorkflowPanel({ collection, documentId, workflowMeta, workflowConfig, }: WorkflowPanelProps): import("react").JSX.Element;
37
+ export declare function WorkflowPanel({ collection, documentId, workflowMeta, workflowConfig, onCompareToLive, compareToLiveEnabled, compareToLiveReason, onSaveDraft, saveDraftPending, prepareTransition, }: WorkflowPanelProps): import("react").JSX.Element;
31
38
  export {};
@@ -0,0 +1,6 @@
1
+ import { DraftLiveComparison } from '../../lib/draft-live-compare';
2
+ export declare function DraftLiveCompareSheet({ open, onOpenChange, comparison, }: {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ comparison: DraftLiveComparison;
6
+ }): import("react").JSX.Element;