@alpaca-editor/core 1.0.3896 → 1.0.3897

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 (99) hide show
  1. package/dist/components/ActionButton.js +2 -2
  2. package/dist/components/ActionButton.js.map +1 -1
  3. package/dist/components/ui/button.js +2 -2
  4. package/dist/components/ui/button.js.map +1 -1
  5. package/dist/config/config.js +37 -22
  6. package/dist/config/config.js.map +1 -1
  7. package/dist/editor/FieldListField.js +1 -1
  8. package/dist/editor/FieldListField.js.map +1 -1
  9. package/dist/editor/Titlebar.js +2 -1
  10. package/dist/editor/Titlebar.js.map +1 -1
  11. package/dist/editor/client/EditorClient.d.ts +18 -2
  12. package/dist/editor/client/EditorClient.js +117 -1
  13. package/dist/editor/client/EditorClient.js.map +1 -1
  14. package/dist/editor/client/editContext.d.ts +4 -1
  15. package/dist/editor/client/editContext.js.map +1 -1
  16. package/dist/editor/client/itemsRepository.js +1 -1
  17. package/dist/editor/client/itemsRepository.js.map +1 -1
  18. package/dist/editor/client/operations.js +1 -1
  19. package/dist/editor/client/operations.js.map +1 -1
  20. package/dist/editor/control-center/About.d.ts +1 -0
  21. package/dist/editor/control-center/About.js +8 -0
  22. package/dist/editor/control-center/About.js.map +1 -0
  23. package/dist/editor/control-center/ControlCenterMenu.js +3 -0
  24. package/dist/editor/control-center/ControlCenterMenu.js.map +1 -1
  25. package/dist/editor/control-center/Info.d.ts +1 -0
  26. package/dist/editor/control-center/Info.js +10 -0
  27. package/dist/editor/control-center/Info.js.map +1 -0
  28. package/dist/editor/control-center/QuotaInfo.d.ts +1 -0
  29. package/dist/editor/control-center/QuotaInfo.js +52 -0
  30. package/dist/editor/control-center/QuotaInfo.js.map +1 -0
  31. package/dist/editor/control-center/Status.js +69 -2
  32. package/dist/editor/control-center/Status.js.map +1 -1
  33. package/dist/editor/page-editor-chrome/FieldActionIndicator.js +7 -6
  34. package/dist/editor/page-editor-chrome/FieldActionIndicator.js.map +1 -1
  35. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  36. package/dist/editor/services/aiService.d.ts +6 -1
  37. package/dist/editor/services/aiService.js +4 -0
  38. package/dist/editor/services/aiService.js.map +1 -1
  39. package/dist/editor/sidebar/ComponentTree.js +1 -1
  40. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  41. package/dist/editor/sidebar/ViewSelector.js +9 -4
  42. package/dist/editor/sidebar/ViewSelector.js.map +1 -1
  43. package/dist/editor/ui/Icons.d.ts +17 -1
  44. package/dist/editor/ui/Icons.js +23 -5
  45. package/dist/editor/ui/Icons.js.map +1 -1
  46. package/dist/editor/ui/SimpleMenu.js +1 -1
  47. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  48. package/dist/images/wizard-bg.png +0 -0
  49. package/dist/page-wizard/WizardBox.d.ts +8 -0
  50. package/dist/page-wizard/WizardBox.js +6 -0
  51. package/dist/page-wizard/WizardBox.js.map +1 -0
  52. package/dist/page-wizard/WizardBoxConnector.d.ts +3 -0
  53. package/dist/page-wizard/WizardBoxConnector.js +6 -0
  54. package/dist/page-wizard/WizardBoxConnector.js.map +1 -0
  55. package/dist/page-wizard/WizardSteps.js +63 -16
  56. package/dist/page-wizard/WizardSteps.js.map +1 -1
  57. package/dist/page-wizard/steps/CollectStep.js +16 -21
  58. package/dist/page-wizard/steps/CollectStep.js.map +1 -1
  59. package/dist/page-wizard/steps/ComponentTypesSelector.js +50 -45
  60. package/dist/page-wizard/steps/ComponentTypesSelector.js.map +1 -1
  61. package/dist/page-wizard/steps/CreatePageAndLayoutStep.js +21 -28
  62. package/dist/page-wizard/steps/CreatePageAndLayoutStep.js.map +1 -1
  63. package/dist/page-wizard/steps/usePageCreator.js +41 -12
  64. package/dist/page-wizard/steps/usePageCreator.js.map +1 -1
  65. package/dist/revision.d.ts +2 -2
  66. package/dist/revision.js +2 -2
  67. package/dist/styles.css +144 -49
  68. package/images/wizard-bg.png +0 -0
  69. package/package.json +1 -1
  70. package/src/components/ActionButton.tsx +6 -8
  71. package/src/components/ui/button.tsx +2 -2
  72. package/src/config/config.tsx +47 -22
  73. package/src/editor/FieldListField.tsx +2 -2
  74. package/src/editor/Titlebar.tsx +2 -1
  75. package/src/editor/client/EditorClient.tsx +153 -8
  76. package/src/editor/client/editContext.ts +4 -2
  77. package/src/editor/client/itemsRepository.ts +1 -1
  78. package/src/editor/client/operations.ts +1 -1
  79. package/src/editor/control-center/About.tsx +342 -0
  80. package/src/editor/control-center/ControlCenterMenu.tsx +5 -0
  81. package/src/editor/control-center/Info.tsx +104 -0
  82. package/src/editor/control-center/QuotaInfo.tsx +171 -0
  83. package/src/editor/control-center/Status.tsx +108 -2
  84. package/src/editor/page-editor-chrome/FieldActionIndicator.tsx +20 -5
  85. package/src/editor/page-viewer/PageViewer.tsx +1 -1
  86. package/src/editor/services/aiService.ts +13 -1
  87. package/src/editor/sidebar/ComponentTree.tsx +1 -1
  88. package/src/editor/sidebar/ViewSelector.tsx +10 -11
  89. package/src/editor/ui/Icons.tsx +147 -26
  90. package/src/editor/ui/SimpleMenu.tsx +1 -1
  91. package/src/page-wizard/WizardBox.tsx +40 -0
  92. package/src/page-wizard/WizardBoxConnector.tsx +21 -0
  93. package/src/page-wizard/WizardSteps.tsx +134 -84
  94. package/src/page-wizard/steps/CollectStep.tsx +129 -67
  95. package/src/page-wizard/steps/ComponentTypesSelector.tsx +32 -11
  96. package/src/page-wizard/steps/CreatePageAndLayoutStep.tsx +47 -30
  97. package/src/page-wizard/steps/usePageCreator.ts +40 -14
  98. package/src/revision.ts +2 -2
  99. package/styles.css +11 -8
package/dist/styles.css CHANGED
@@ -11,6 +11,7 @@
11
11
  --color-red-600: oklch(57.7% 0.245 27.325);
12
12
  --color-red-800: oklch(44.4% 0.177 26.899);
13
13
  --color-orange-400: oklch(75% 0.183 55.934);
14
+ --color-orange-500: oklch(70.5% 0.213 47.604);
14
15
  --color-orange-600: oklch(64.6% 0.222 41.116);
15
16
  --color-yellow-100: oklch(97.3% 0.071 103.193);
16
17
  --color-yellow-200: oklch(94.5% 0.129 101.54);
@@ -56,6 +57,8 @@
56
57
  --color-gray-900: oklch(21% 0.034 264.665);
57
58
  --color-neutral-100: oklch(97% 0 0);
58
59
  --color-neutral-200: oklch(92.2% 0 0);
60
+ --color-neutral-500: oklch(55.6% 0 0);
61
+ --color-neutral-800: oklch(26.9% 0 0);
59
62
  --color-black: #000;
60
63
  --color-white: #fff;
61
64
  --spacing: 0.25rem;
@@ -89,11 +92,11 @@
89
92
  --animate-bounce: bounce 1s infinite;
90
93
  --default-transition-duration: 150ms;
91
94
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
92
- --font-geist-sans: "GeistSans";
93
- --color-canvas-red: #e32e52;
94
95
  --color-canvas-pink: #e32e52;
95
96
  --color-alpaca-blue: #209cfc;
96
97
  --color-alpaca-blue-light: #41aafd;
98
+ --color-theme-secondary: #9650fb;
99
+ --color-neutral-350: #b4b4b4;
97
100
  --text-2xs: 0.7rem;
98
101
  --animate-sparkle: "sparkle 1.5s ease-in-out infinite";
99
102
  --animate-fadeIn: "fadeIn 0.5s ease-in-out";
@@ -231,6 +234,9 @@
231
234
  .z-1000 {
232
235
  z-index: 1000;
233
236
  }
237
+ .col-span-2 {
238
+ grid-column: span 2 / span 2;
239
+ }
234
240
  .container {
235
241
  width: 100%;
236
242
  @media (width >= 40rem) {
@@ -294,6 +300,9 @@
294
300
  .mt-3 {
295
301
  margin-top: calc(var(--spacing) * 3);
296
302
  }
303
+ .mt-3\.5 {
304
+ margin-top: calc(var(--spacing) * 3.5);
305
+ }
297
306
  .mt-4 {
298
307
  margin-top: calc(var(--spacing) * 4);
299
308
  }
@@ -315,6 +324,9 @@
315
324
  .mr-20 {
316
325
  margin-right: calc(var(--spacing) * 20);
317
326
  }
327
+ .mr-\[-3px\] {
328
+ margin-right: -3px;
329
+ }
318
330
  .mr-auto {
319
331
  margin-right: auto;
320
332
  }
@@ -333,6 +345,9 @@
333
345
  .mb-4 {
334
346
  margin-bottom: calc(var(--spacing) * 4);
335
347
  }
348
+ .mb-10 {
349
+ margin-bottom: calc(var(--spacing) * 10);
350
+ }
336
351
  .mb-20 {
337
352
  margin-bottom: calc(var(--spacing) * 20);
338
353
  }
@@ -357,6 +372,9 @@
357
372
  .ml-20 {
358
373
  margin-left: calc(var(--spacing) * 20);
359
374
  }
375
+ .ml-\[-3px\] {
376
+ margin-left: -3px;
377
+ }
360
378
  .ml-\[1px\] {
361
379
  margin-left: 1px;
362
380
  }
@@ -416,6 +434,9 @@
416
434
  .h-1 {
417
435
  height: calc(var(--spacing) * 1);
418
436
  }
437
+ .h-2 {
438
+ height: calc(var(--spacing) * 2);
439
+ }
419
440
  .h-3 {
420
441
  height: calc(var(--spacing) * 3);
421
442
  }
@@ -488,6 +509,9 @@
488
509
  .max-h-\(--radix-context-menu-content-available-height\) {
489
510
  max-height: var(--radix-context-menu-content-available-height);
490
511
  }
512
+ .max-h-0 {
513
+ max-height: calc(var(--spacing) * 0);
514
+ }
491
515
  .max-h-28 {
492
516
  max-height: calc(var(--spacing) * 28);
493
517
  }
@@ -503,6 +527,9 @@
503
527
  .max-h-\[400px\] {
504
528
  max-height: 400px;
505
529
  }
530
+ .max-h-\[1000px\] {
531
+ max-height: 1000px;
532
+ }
506
533
  .max-h-full {
507
534
  max-height: 100%;
508
535
  }
@@ -551,9 +578,6 @@
551
578
  .w-6 {
552
579
  width: calc(var(--spacing) * 6);
553
580
  }
554
- .w-7 {
555
- width: calc(var(--spacing) * 7);
556
- }
557
581
  .w-8 {
558
582
  width: calc(var(--spacing) * 8);
559
583
  }
@@ -605,6 +629,9 @@
605
629
  .max-w-24 {
606
630
  max-width: calc(var(--spacing) * 24);
607
631
  }
632
+ .max-w-40 {
633
+ max-width: calc(var(--spacing) * 40);
634
+ }
608
635
  .max-w-48 {
609
636
  max-width: calc(var(--spacing) * 48);
610
637
  }
@@ -620,6 +647,9 @@
620
647
  .min-w-0 {
621
648
  min-width: calc(var(--spacing) * 0);
622
649
  }
650
+ .min-w-10 {
651
+ min-width: calc(var(--spacing) * 10);
652
+ }
623
653
  .min-w-20 {
624
654
  min-width: calc(var(--spacing) * 20);
625
655
  }
@@ -684,6 +714,9 @@
684
714
  .rotate-90 {
685
715
  rotate: 90deg;
686
716
  }
717
+ .rotate-180 {
718
+ rotate: 180deg;
719
+ }
687
720
  .transform {
688
721
  transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
689
722
  }
@@ -825,6 +858,41 @@
825
858
  .gap-6 {
826
859
  gap: calc(var(--spacing) * 6);
827
860
  }
861
+ .space-y-1 {
862
+ :where(& > :not(:last-child)) {
863
+ --tw-space-y-reverse: 0;
864
+ margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
865
+ margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
866
+ }
867
+ }
868
+ .space-y-2 {
869
+ :where(& > :not(:last-child)) {
870
+ --tw-space-y-reverse: 0;
871
+ margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
872
+ margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
873
+ }
874
+ }
875
+ .space-y-3 {
876
+ :where(& > :not(:last-child)) {
877
+ --tw-space-y-reverse: 0;
878
+ margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
879
+ margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
880
+ }
881
+ }
882
+ .space-y-4 {
883
+ :where(& > :not(:last-child)) {
884
+ --tw-space-y-reverse: 0;
885
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
886
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
887
+ }
888
+ }
889
+ .space-y-6 {
890
+ :where(& > :not(:last-child)) {
891
+ --tw-space-y-reverse: 0;
892
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
893
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
894
+ }
895
+ }
828
896
  .space-y-8 {
829
897
  :where(& > :not(:last-child)) {
830
898
  --tw-space-y-reverse: 0;
@@ -932,6 +1000,10 @@
932
1000
  border-style: var(--tw-border-style);
933
1001
  border-width: 0px;
934
1002
  }
1003
+ .border-1 {
1004
+ border-style: var(--tw-border-style);
1005
+ border-width: 1px;
1006
+ }
935
1007
  .border-2 {
936
1008
  border-style: var(--tw-border-style);
937
1009
  border-width: 2px;
@@ -992,9 +1064,6 @@
992
1064
  .border-canvas-pink {
993
1065
  border-color: var(--color-canvas-pink);
994
1066
  }
995
- .border-canvas-red {
996
- border-color: var(--color-canvas-red);
997
- }
998
1067
  .border-gray-200 {
999
1068
  border-color: var(--color-gray-200);
1000
1069
  }
@@ -1037,6 +1106,9 @@
1037
1106
  .border-teal-400 {
1038
1107
  border-color: var(--color-teal-400);
1039
1108
  }
1109
+ .border-theme-secondary {
1110
+ border-color: var(--color-theme-secondary);
1111
+ }
1040
1112
  .border-transparent {
1041
1113
  border-color: transparent;
1042
1114
  }
@@ -1073,15 +1145,15 @@
1073
1145
  .bg-blue-500 {
1074
1146
  background-color: var(--color-blue-500);
1075
1147
  }
1148
+ .bg-blue-500\/20 {
1149
+ background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
1150
+ }
1076
1151
  .bg-blue-600 {
1077
1152
  background-color: var(--color-blue-600);
1078
1153
  }
1079
1154
  .bg-border {
1080
1155
  background-color: var(--border);
1081
1156
  }
1082
- .bg-canvas-pink {
1083
- background-color: var(--color-canvas-pink);
1084
- }
1085
1157
  .bg-destructive {
1086
1158
  background-color: var(--destructive);
1087
1159
  }
@@ -1136,18 +1208,24 @@
1136
1208
  .bg-neutral-100 {
1137
1209
  background-color: var(--color-neutral-100);
1138
1210
  }
1211
+ .bg-neutral-200 {
1212
+ background-color: var(--color-neutral-200);
1213
+ }
1214
+ .bg-neutral-350 {
1215
+ background-color: var(--color-neutral-350);
1216
+ }
1139
1217
  .bg-orange-400 {
1140
1218
  background-color: var(--color-orange-400);
1141
1219
  }
1220
+ .bg-orange-500 {
1221
+ background-color: var(--color-orange-500);
1222
+ }
1142
1223
  .bg-pink-400 {
1143
1224
  background-color: var(--color-pink-400);
1144
1225
  }
1145
1226
  .bg-popover {
1146
1227
  background-color: var(--popover);
1147
1228
  }
1148
- .bg-primary {
1149
- background-color: var(--primary);
1150
- }
1151
1229
  .bg-purple-400 {
1152
1230
  background-color: var(--color-purple-400);
1153
1231
  }
@@ -1184,6 +1262,9 @@
1184
1262
  .bg-teal-400 {
1185
1263
  background-color: var(--color-teal-400);
1186
1264
  }
1265
+ .bg-theme-secondary {
1266
+ background-color: var(--color-theme-secondary);
1267
+ }
1187
1268
  .bg-white {
1188
1269
  background-color: var(--color-white);
1189
1270
  }
@@ -1193,6 +1274,9 @@
1193
1274
  .bg-yellow-200 {
1194
1275
  background-color: var(--color-yellow-200);
1195
1276
  }
1277
+ .bg-yellow-500 {
1278
+ background-color: var(--color-yellow-500);
1279
+ }
1196
1280
  .bg-gradient-to-r {
1197
1281
  --tw-gradient-position: to right in oklab;
1198
1282
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -1241,9 +1325,6 @@
1241
1325
  .p-4 {
1242
1326
  padding: calc(var(--spacing) * 4);
1243
1327
  }
1244
- .p-5 {
1245
- padding: calc(var(--spacing) * 5);
1246
- }
1247
1328
  .p-6 {
1248
1329
  padding: calc(var(--spacing) * 6);
1249
1330
  }
@@ -1280,6 +1361,12 @@
1280
1361
  .px-6 {
1281
1362
  padding-inline: calc(var(--spacing) * 6);
1282
1363
  }
1364
+ .px-7 {
1365
+ padding-inline: calc(var(--spacing) * 7);
1366
+ }
1367
+ .px-10 {
1368
+ padding-inline: calc(var(--spacing) * 10);
1369
+ }
1283
1370
  .py-0\.5 {
1284
1371
  padding-block: calc(var(--spacing) * 0.5);
1285
1372
  }
@@ -1298,6 +1385,9 @@
1298
1385
  .py-3 {
1299
1386
  padding-block: calc(var(--spacing) * 3);
1300
1387
  }
1388
+ .py-5 {
1389
+ padding-block: calc(var(--spacing) * 5);
1390
+ }
1301
1391
  .py-\[5px\] {
1302
1392
  padding-block: 5px;
1303
1393
  }
@@ -1376,9 +1466,6 @@
1376
1466
  .text-right {
1377
1467
  text-align: right;
1378
1468
  }
1379
- .font-geist-sans {
1380
- font-family: var(--font-geist-sans);
1381
- }
1382
1469
  .font-mono {
1383
1470
  font-family: var(--font-mono);
1384
1471
  }
@@ -1477,9 +1564,6 @@
1477
1564
  .text-canvas-pink {
1478
1565
  color: var(--color-canvas-pink);
1479
1566
  }
1480
- .text-canvas-red {
1481
- color: var(--color-canvas-red);
1482
- }
1483
1567
  .text-foreground {
1484
1568
  color: var(--foreground);
1485
1569
  }
@@ -1528,12 +1612,15 @@
1528
1612
  .text-muted-foreground {
1529
1613
  color: var(--muted-foreground);
1530
1614
  }
1615
+ .text-neutral-500 {
1616
+ color: var(--color-neutral-500);
1617
+ }
1618
+ .text-neutral-800 {
1619
+ color: var(--color-neutral-800);
1620
+ }
1531
1621
  .text-orange-600 {
1532
1622
  color: var(--color-orange-600);
1533
1623
  }
1534
- .text-pink-400 {
1535
- color: var(--color-pink-400);
1536
- }
1537
1624
  .text-popover-foreground {
1538
1625
  color: var(--popover-foreground);
1539
1626
  }
@@ -1558,6 +1645,9 @@
1558
1645
  .text-secondary-foreground {
1559
1646
  color: var(--secondary-foreground);
1560
1647
  }
1648
+ .text-theme-secondary {
1649
+ color: var(--color-theme-secondary);
1650
+ }
1561
1651
  .text-white {
1562
1652
  color: var(--color-white);
1563
1653
  }
@@ -1696,6 +1786,11 @@
1696
1786
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1697
1787
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1698
1788
  }
1789
+ .transition-transform {
1790
+ transition-property: transform, translate, scale, rotate;
1791
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1792
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1793
+ }
1699
1794
  .delay-500 {
1700
1795
  transition-delay: 500ms;
1701
1796
  }
@@ -1710,6 +1805,10 @@
1710
1805
  --tw-duration: 150ms;
1711
1806
  transition-duration: 150ms;
1712
1807
  }
1808
+ .duration-200 {
1809
+ --tw-duration: 200ms;
1810
+ transition-duration: 200ms;
1811
+ }
1713
1812
  .duration-300 {
1714
1813
  --tw-duration: 300ms;
1715
1814
  transition-duration: 300ms;
@@ -1815,13 +1914,6 @@
1815
1914
  }
1816
1915
  }
1817
1916
  }
1818
- .hover\:border-canvas-pink {
1819
- &:hover {
1820
- @media (hover: hover) {
1821
- border-color: var(--color-canvas-pink);
1822
- }
1823
- }
1824
- }
1825
1917
  .hover\:border-gray-300 {
1826
1918
  &:hover {
1827
1919
  @media (hover: hover) {
@@ -1920,24 +2012,24 @@
1920
2012
  }
1921
2013
  }
1922
2014
  }
1923
- .hover\:bg-primary\/90 {
2015
+ .hover\:bg-red-600 {
1924
2016
  &:hover {
1925
2017
  @media (hover: hover) {
1926
- background-color: color-mix(in oklab, var(--primary) 90%, transparent);
2018
+ background-color: var(--color-red-600);
1927
2019
  }
1928
2020
  }
1929
2021
  }
1930
- .hover\:bg-red-600 {
2022
+ .hover\:bg-secondary\/80 {
1931
2023
  &:hover {
1932
2024
  @media (hover: hover) {
1933
- background-color: var(--color-red-600);
2025
+ background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
1934
2026
  }
1935
2027
  }
1936
2028
  }
1937
- .hover\:bg-secondary\/80 {
2029
+ .hover\:bg-theme-secondary\/80 {
1938
2030
  &:hover {
1939
2031
  @media (hover: hover) {
1940
- background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
2032
+ background-color: color-mix(in oklab, var(--color-theme-secondary) 80%, transparent);
1941
2033
  }
1942
2034
  }
1943
2035
  }
@@ -1962,13 +2054,6 @@
1962
2054
  }
1963
2055
  }
1964
2056
  }
1965
- .hover\:text-canvas-pink {
1966
- &:hover {
1967
- @media (hover: hover) {
1968
- color: var(--color-canvas-pink);
1969
- }
1970
- }
1971
- }
1972
2057
  .hover\:text-gray-200 {
1973
2058
  &:hover {
1974
2059
  @media (hover: hover) {
@@ -2231,6 +2316,11 @@
2231
2316
  }
2232
2317
  }
2233
2318
  }
2319
+ .md\:grid-cols-2 {
2320
+ @media (width >= 48rem) {
2321
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2322
+ }
2323
+ }
2234
2324
  .lg\:pr-20 {
2235
2325
  @media (width >= 64rem) {
2236
2326
  padding-right: calc(var(--spacing) * 20);
@@ -2388,6 +2478,7 @@
2388
2478
  --sidebar-accent-foreground: oklch(0.205 0 0);
2389
2479
  --sidebar-border: oklch(0.922 0 0);
2390
2480
  --sidebar-ring: oklch(0.708 0 0);
2481
+ --neutral-350: #b4b4b4;
2391
2482
  }
2392
2483
  .dark {
2393
2484
  --background: oklch(0.145 0 0);
@@ -2440,12 +2531,16 @@
2440
2531
  background-position: right;
2441
2532
  background-repeat: no-repeat;
2442
2533
  }
2534
+ .bg-wizard {
2535
+ background-image: url("./images/wizard-bg.png");
2536
+ background-position: right;
2537
+ background-size: cover;
2538
+ background-repeat: no-repeat;
2539
+ opacity: 0.2;
2540
+ }
2443
2541
  .p-tree {
2444
2542
  background-color: unset;
2445
2543
  }
2446
- body, button, input, select, textarea {
2447
- font-family: GeistSans;
2448
- }
2449
2544
  .alpaceditor-tabs {
2450
2545
  display: flex;
2451
2546
  flex-direction: column;
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.3896",
3
+ "version": "1.0.3897",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1,5 +1,6 @@
1
1
  import { classNames } from "primereact/utils";
2
2
  import React from "react";
3
+ import { Button } from "./ui/button";
3
4
 
4
5
  interface ActionButtonProps {
5
6
  isLoading: boolean;
@@ -21,23 +22,20 @@ export const ActionButton: React.FC<ActionButtonProps> = ({
21
22
  className = "",
22
23
  }) => {
23
24
  return (
24
- <button
25
+ <Button
25
26
  type={type}
26
27
  onClick={onClick}
27
28
  disabled={disabled || isLoading}
28
- className={classNames(
29
- "bg-canvas-pink text-white px-4 py-2 rounded-lg font-medium hover:bg-gray-100 disabled:opacity-50 disabled:cursor-not-allowed border hover:border-canvas-pink hover:text-canvas-pink",
30
- className
31
- )}
29
+ className={className}
32
30
  >
33
31
  {isLoading ? (
34
- <div className="flex items-center gap-2 justify-center">
35
- <div className="animate-spin mr-2 h-4 w-4 border-2 border-white border-t-transparent rounded-full"></div>
32
+ <div className="flex items-center justify-center gap-2">
33
+ <div className="mr-2 h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"></div>
36
34
  <div>{loadingText}</div>
37
35
  </div>
38
36
  ) : (
39
37
  children
40
38
  )}
41
- </button>
39
+ </Button>
42
40
  );
43
41
  };
@@ -10,7 +10,7 @@ const buttonVariants = cva(
10
10
  variants: {
11
11
  variant: {
12
12
  default:
13
- "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
13
+ "bg-theme-secondary text-primary-foreground shadow-xs hover:bg-theme-secondary/80",
14
14
  destructive:
15
15
  "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
16
16
  outline:
@@ -22,7 +22,7 @@ const buttonVariants = cva(
22
22
  link: "text-primary underline-offset-4 hover:underline",
23
23
  },
24
24
  size: {
25
- default: "h-8 px-3 py-2 has-[>svg]:px-3",
25
+ default: "h-8 px-7 py-5 has-[>svg]:px-3",
26
26
  sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
27
27
  lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
28
28
  icon: "size-9",
@@ -33,7 +33,10 @@ import {
33
33
  GraphQLIcon,
34
34
  JsonIcon,
35
35
  PageWizardIcon,
36
+ TreeIcon,
36
37
  WizardIcon,
38
+ WorkboxIcon,
39
+ UsersIcon,
37
40
  } from "../editor/ui/Icons";
38
41
  import { Debug } from "../editor/sidebar/Debug";
39
42
  import { GraphQL } from "../editor/sidebar/GraphQL";
@@ -68,9 +71,12 @@ import { getDefaultTourSteps } from "../tour/default-tour";
68
71
  import { Translation } from "../editor/sidebar/Translations";
69
72
  import { EditView } from "../editor/views/EditView";
70
73
  import { InsertMenuTemplate } from "../editor/context-menu/InsertMenu";
71
- import { ControlCenterMenu } from "../editor/control-center/ControlCenterMenu";
74
+
72
75
  import { Status } from "../editor/control-center/Status";
73
76
  import { IndexOverview } from "../editor/control-center/IndexOverview";
77
+ import { Info } from "../editor/control-center/Info";
78
+ import { QuotaInfo } from "../editor/control-center/QuotaInfo";
79
+ import { About } from "../editor/control-center/About";
74
80
  import { MainContentTree } from "../editor/sidebar/MainContentTree";
75
81
  import { AttachmentEditor } from "../editor/field-types/AttachmentEditor";
76
82
  import { Comments } from "../editor/reviews/Comments";
@@ -93,14 +99,20 @@ import { getWizards } from "../page-wizard/service";
93
99
  import { startPageWizardCommand } from "../page-wizard/startPageWizardCommand";
94
100
  import { ImageFieldEditor } from "../editor/field-types/ImageFieldEditor";
95
101
 
96
- import { Ghost, Layers } from "lucide-react";
102
+ import {
103
+ BookA,
104
+ Ghost,
105
+ Languages,
106
+ Layers,
107
+ MessageCircleMore,
108
+ Settings,
109
+ } from "lucide-react";
97
110
  import { GhostWriter } from "../editor/ai/GhostWriter";
98
111
  import { SecondaryControls } from "../editor/menubar/SecondaryControls";
99
112
 
100
113
  import { Command } from "../editor/commands/commands";
101
114
  import { PreviewSecondaryControls } from "../editor/menubar/PreviewSecondaryControls";
102
115
  import { AboutDialog } from "../editor/client/AboutDialog";
103
- import { CopyMoveMenuTemplate } from "../editor/context-menu/CopyMoveMenu";
104
116
 
105
117
  const defaultRichTextEditorProfile: RichTextEditorProfile = {
106
118
  toolbar: {
@@ -316,6 +328,30 @@ export const getConfiguration = (): EditorConfiguration => {
316
328
 
317
329
  controlCenter: {
318
330
  groups: [
331
+ {
332
+ title: "System",
333
+ icon: <i className="pi pi-info-circle" />,
334
+ panels: [
335
+ {
336
+ id: "info",
337
+ title: "System Info",
338
+ icon: <i className="pi pi-info-circle" />,
339
+ content: <Info />,
340
+ },
341
+ {
342
+ id: "quota",
343
+ title: "AI Quota",
344
+ icon: <i className="pi pi-chart-bar" />,
345
+ content: <QuotaInfo />,
346
+ },
347
+ {
348
+ id: "about",
349
+ title: "About",
350
+ icon: <i className="pi pi-info" />,
351
+ content: <About />,
352
+ },
353
+ ],
354
+ },
319
355
  {
320
356
  title: "Indexing",
321
357
  icon: <i className="pi pi-search" />,
@@ -390,7 +426,7 @@ export const getConfiguration = (): EditorConfiguration => {
390
426
  },
391
427
  {
392
428
  name: "translate",
393
- icon: "pi pi-language",
429
+ icon: <Languages />,
394
430
  title: "Translate",
395
431
  leftSidebar: {
396
432
  panels: [
@@ -408,7 +444,7 @@ export const getConfiguration = (): EditorConfiguration => {
408
444
  {
409
445
  name: "reviews",
410
446
  title: "Reviews",
411
- icon: "pi pi-comments",
447
+ icon: <MessageCircleMore />,
412
448
  leftSidebar: {
413
449
  panels: [
414
450
  {
@@ -434,7 +470,7 @@ export const getConfiguration = (): EditorConfiguration => {
434
470
  {
435
471
  name: "publish",
436
472
  title: "Publish",
437
- icon: "pi pi-globe",
473
+ icon: <WorkboxIcon />,
438
474
 
439
475
  leftSidebar: {
440
476
  panels: [
@@ -460,13 +496,13 @@ export const getConfiguration = (): EditorConfiguration => {
460
496
  {
461
497
  name: "content-editor",
462
498
  title: "Content Editor",
463
- icon: "pi pi-sitemap",
499
+ icon: <TreeIcon />,
464
500
  defaultCenterPanelView: editView,
465
501
  leftSidebar: {
466
502
  panels: [
467
503
  {
468
504
  name: "tree",
469
- icon: "pi pi-sitemap",
505
+ icon: <TreeIcon />,
470
506
  title: "Content",
471
507
  content: <MainContentTree mode="normal" />,
472
508
  initialSize: 80,
@@ -481,7 +517,7 @@ export const getConfiguration = (): EditorConfiguration => {
481
517
  {
482
518
  name: "dictionary",
483
519
  title: "Dictionary",
484
- icon: "pi pi-book",
520
+ icon: <BookA />,
485
521
  leftSidebar: {
486
522
  panels: [
487
523
  {
@@ -498,7 +534,7 @@ export const getConfiguration = (): EditorConfiguration => {
498
534
  {
499
535
  name: "sessions",
500
536
  title: "Sessions",
501
- icon: "pi pi-users",
537
+ icon: <UsersIcon />,
502
538
  leftSidebar: {
503
539
  panels: [
504
540
  {
@@ -610,20 +646,9 @@ export const getConfiguration = (): EditorConfiguration => {
610
646
  {
611
647
  name: "control-center",
612
648
  title: "Control Center",
613
- icon: "pi pi-cog",
649
+ icon: <Settings />,
614
650
  defaultCenterPanelView: <Status />,
615
651
  menuBar: <></>,
616
- leftSidebar: {
617
- panels: [
618
- {
619
- name: "settings",
620
- icon: "pi pi-cog",
621
- title: "Control Center",
622
- content: <ControlCenterMenu />,
623
- initialSize: 30,
624
- },
625
- ],
626
- },
627
652
  },
628
653
  ],
629
654