@alpaca-editor/core 1.0.3812 → 1.0.3815

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 (117) hide show
  1. package/dist/components/ui/context-menu.d.ts +25 -0
  2. package/dist/components/ui/context-menu.js +51 -0
  3. package/dist/components/ui/context-menu.js.map +1 -0
  4. package/dist/config/config.js +3 -2
  5. package/dist/config/config.js.map +1 -1
  6. package/dist/config/types.d.ts +4 -2
  7. package/dist/editor/ComponentInfo.js +1 -1
  8. package/dist/editor/ComponentInfo.js.map +1 -1
  9. package/dist/editor/ConfirmationDialog.d.ts +1 -1
  10. package/dist/editor/ContextMenu.d.ts +1 -1
  11. package/dist/editor/ContextMenu.js +24 -9
  12. package/dist/editor/ContextMenu.js.map +1 -1
  13. package/dist/editor/ImageEditor.js +2 -2
  14. package/dist/editor/ImageEditor.js.map +1 -1
  15. package/dist/editor/ItemInfo.js +2 -2
  16. package/dist/editor/ItemInfo.js.map +1 -1
  17. package/dist/editor/MainLayout.js +3 -3
  18. package/dist/editor/MainLayout.js.map +1 -1
  19. package/dist/editor/Titlebar.js +1 -1
  20. package/dist/editor/Titlebar.js.map +1 -1
  21. package/dist/editor/ai/AiTerminal.js +19 -12
  22. package/dist/editor/ai/AiTerminal.js.map +1 -1
  23. package/dist/editor/client/EditorClient.js +19 -4
  24. package/dist/editor/client/EditorClient.js.map +1 -1
  25. package/dist/editor/client/editContext.d.ts +1 -1
  26. package/dist/editor/client/operations.js +15 -14
  27. package/dist/editor/client/operations.js.map +1 -1
  28. package/dist/editor/client/pageModelBuilder.js +8 -5
  29. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  30. package/dist/editor/commands/componentCommands.js +15 -13
  31. package/dist/editor/commands/componentCommands.js.map +1 -1
  32. package/dist/editor/componentTreeHelper.js +3 -3
  33. package/dist/editor/componentTreeHelper.js.map +1 -1
  34. package/dist/editor/control-center/ControlCenterMenu.js +3 -3
  35. package/dist/editor/control-center/ControlCenterMenu.js.map +1 -1
  36. package/dist/editor/field-types/TreeListEditor.js +4 -4
  37. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  38. package/dist/editor/page-editor-chrome/FrameMenu.js +52 -14
  39. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  40. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +5 -5
  41. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  42. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +114 -45
  43. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  44. package/dist/editor/page-viewer/PageViewerFrame.d.ts +0 -1
  45. package/dist/editor/page-viewer/PageViewerFrame.js +119 -215
  46. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  47. package/dist/editor/page-viewer/pageModelBuilder.d.ts +3 -0
  48. package/dist/editor/page-viewer/pageModelBuilder.js +299 -0
  49. package/dist/editor/page-viewer/pageModelBuilder.js.map +1 -0
  50. package/dist/editor/pageModel.d.ts +5 -0
  51. package/dist/editor/sidebar/ComponentPalette.js +30 -30
  52. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  53. package/dist/editor/sidebar/ComponentTree.js +7 -6
  54. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  55. package/dist/editor/sidebar/MainContentTree.js +1 -1
  56. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  57. package/dist/editor/sidebar/SidebarView.js +3 -3
  58. package/dist/editor/sidebar/SidebarView.js.map +1 -1
  59. package/dist/editor/ui/CopyToClipboardButton.js +2 -1
  60. package/dist/editor/ui/CopyToClipboardButton.js.map +1 -1
  61. package/dist/editor/ui/Icons.d.ts +0 -1
  62. package/dist/editor/ui/Icons.js +0 -3
  63. package/dist/editor/ui/Icons.js.map +1 -1
  64. package/dist/editor/ui/Section.js +1 -1
  65. package/dist/editor/ui/Section.js.map +1 -1
  66. package/dist/editor/ui/SimpleMenu.d.ts +1 -8
  67. package/dist/editor/ui/SimpleMenu.js +1 -1
  68. package/dist/editor/ui/SimpleMenu.js.map +1 -1
  69. package/dist/editor/utils.d.ts +2 -2
  70. package/dist/editor/utils.js +57 -9
  71. package/dist/editor/utils.js.map +1 -1
  72. package/dist/lib/safelist.js +1 -1
  73. package/dist/lib/safelist.js.map +1 -1
  74. package/dist/splash-screen/SplashScreen.js +0 -1
  75. package/dist/splash-screen/SplashScreen.js.map +1 -1
  76. package/dist/styles.css +242 -59
  77. package/dist/types.d.ts +2 -2
  78. package/package.json +3 -2
  79. package/src/components/ui/context-menu.tsx +250 -0
  80. package/src/config/config.tsx +2 -2
  81. package/src/config/types.ts +4 -2
  82. package/src/editor/ComponentInfo.tsx +3 -5
  83. package/src/editor/ConfirmationDialog.tsx +1 -1
  84. package/src/editor/ContextMenu.tsx +68 -19
  85. package/src/editor/ImageEditor.tsx +2 -2
  86. package/src/editor/ItemInfo.tsx +4 -4
  87. package/src/editor/MainLayout.tsx +3 -4
  88. package/src/editor/Titlebar.tsx +1 -1
  89. package/src/editor/ai/AiTerminal.tsx +31 -24
  90. package/src/editor/client/EditorClient.tsx +23 -6
  91. package/src/editor/client/editContext.ts +1 -1
  92. package/src/editor/client/operations.ts +16 -14
  93. package/src/editor/client/pageModelBuilder.ts +26 -18
  94. package/src/editor/commands/componentCommands.tsx +58 -39
  95. package/src/editor/componentTreeHelper.tsx +3 -2
  96. package/src/editor/control-center/ControlCenterMenu.tsx +4 -4
  97. package/src/editor/field-types/TreeListEditor.tsx +11 -11
  98. package/src/editor/page-editor-chrome/FrameMenu.tsx +81 -17
  99. package/src/editor/page-editor-chrome/InlineEditor.tsx +5 -5
  100. package/src/editor/page-editor-chrome/PlaceholderDropZone.tsx +12 -15
  101. package/src/editor/page-editor-chrome/PlaceholderDropZones.tsx +159 -68
  102. package/src/editor/page-viewer/PageViewerFrame.tsx +131 -300
  103. package/src/editor/page-viewer/pageModelBuilder.ts +412 -0
  104. package/src/editor/pageModel.ts +5 -0
  105. package/src/editor/sidebar/ComponentPalette.tsx +108 -106
  106. package/src/editor/sidebar/ComponentTree.tsx +10 -5
  107. package/src/editor/sidebar/MainContentTree.tsx +1 -1
  108. package/src/editor/sidebar/SidebarView.tsx +9 -9
  109. package/src/editor/ui/CopyToClipboardButton.tsx +2 -1
  110. package/src/editor/ui/Icons.tsx +0 -18
  111. package/src/editor/ui/Section.tsx +4 -4
  112. package/src/editor/ui/SimpleMenu.tsx +5 -13
  113. package/src/editor/utils.ts +74 -17
  114. package/src/lib/safelist.tsx +2 -0
  115. package/src/splash-screen/SplashScreen.tsx +0 -1
  116. package/src/types.ts +2 -4
  117. package/styles.css +58 -17
package/dist/styles.css CHANGED
@@ -3,58 +3,58 @@
3
3
  :root, :host {
4
4
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
5
5
  monospace;
6
- --color-red-100: oklch(0.936 0.032 17.717);
7
- --color-red-200: oklch(0.885 0.062 18.334);
8
- --color-red-300: oklch(0.808 0.114 19.571);
9
- --color-red-400: oklch(0.704 0.191 22.216);
10
- --color-red-500: oklch(0.637 0.237 25.331);
11
- --color-red-600: oklch(0.577 0.245 27.325);
12
- --color-red-800: oklch(0.444 0.177 26.899);
13
- --color-orange-400: oklch(0.75 0.183 55.934);
14
- --color-orange-600: oklch(0.646 0.222 41.116);
15
- --color-yellow-100: oklch(0.973 0.071 103.193);
16
- --color-yellow-200: oklch(0.945 0.129 101.54);
17
- --color-yellow-300: oklch(0.905 0.182 98.111);
18
- --color-yellow-500: oklch(0.795 0.184 86.047);
19
- --color-yellow-600: oklch(0.681 0.162 75.834);
20
- --color-green-50: oklch(0.982 0.018 155.826);
21
- --color-green-100: oklch(0.962 0.044 156.743);
22
- --color-green-200: oklch(0.925 0.084 155.995);
23
- --color-green-400: oklch(0.792 0.209 151.711);
24
- --color-green-500: oklch(0.723 0.219 149.579);
25
- --color-green-600: oklch(0.627 0.194 149.214);
26
- --color-green-700: oklch(0.527 0.154 150.069);
27
- --color-green-800: oklch(0.448 0.119 151.328);
28
- --color-sky-200: oklch(0.901 0.058 230.902);
29
- --color-sky-400: oklch(0.746 0.16 232.661);
30
- --color-sky-500: oklch(0.685 0.169 237.323);
31
- --color-blue-50: oklch(0.97 0.014 254.604);
32
- --color-blue-100: oklch(0.932 0.032 255.585);
33
- --color-blue-200: oklch(0.882 0.059 254.128);
34
- --color-blue-300: oklch(0.809 0.105 251.813);
35
- --color-blue-400: oklch(0.707 0.165 254.624);
36
- --color-blue-500: oklch(0.623 0.214 259.815);
37
- --color-blue-600: oklch(0.546 0.245 262.881);
38
- --color-blue-700: oklch(0.488 0.243 264.376);
39
- --color-blue-800: oklch(0.424 0.199 265.638);
40
- --color-indigo-100: oklch(0.93 0.034 272.788);
41
- --color-indigo-950: oklch(0.257 0.09 281.288);
42
- --color-purple-400: oklch(0.714 0.203 305.504);
43
- --color-pink-400: oklch(0.718 0.202 349.761);
44
- --color-slate-100: oklch(0.968 0.007 247.896);
45
- --color-gray-50: oklch(0.985 0.002 247.839);
46
- --color-gray-100: oklch(0.967 0.003 264.542);
47
- --color-gray-200: oklch(0.928 0.006 264.531);
48
- --color-gray-300: oklch(0.872 0.01 258.338);
49
- --color-gray-400: oklch(0.707 0.022 261.325);
50
- --color-gray-500: oklch(0.551 0.027 264.364);
51
- --color-gray-600: oklch(0.446 0.03 256.802);
52
- --color-gray-700: oklch(0.373 0.034 259.733);
53
- --color-gray-800: oklch(0.278 0.033 256.848);
54
- --color-gray-900: oklch(0.21 0.034 264.665);
55
- --color-gray-950: oklch(0.13 0.028 261.692);
56
- --color-neutral-100: oklch(0.97 0 0);
57
- --color-neutral-200: oklch(0.922 0 0);
6
+ --color-red-100: oklch(93.6% 0.032 17.717);
7
+ --color-red-200: oklch(88.5% 0.062 18.334);
8
+ --color-red-300: oklch(80.8% 0.114 19.571);
9
+ --color-red-400: oklch(70.4% 0.191 22.216);
10
+ --color-red-500: oklch(63.7% 0.237 25.331);
11
+ --color-red-600: oklch(57.7% 0.245 27.325);
12
+ --color-red-800: oklch(44.4% 0.177 26.899);
13
+ --color-orange-400: oklch(75% 0.183 55.934);
14
+ --color-orange-600: oklch(64.6% 0.222 41.116);
15
+ --color-yellow-100: oklch(97.3% 0.071 103.193);
16
+ --color-yellow-200: oklch(94.5% 0.129 101.54);
17
+ --color-yellow-300: oklch(90.5% 0.182 98.111);
18
+ --color-yellow-500: oklch(79.5% 0.184 86.047);
19
+ --color-yellow-600: oklch(68.1% 0.162 75.834);
20
+ --color-green-50: oklch(98.2% 0.018 155.826);
21
+ --color-green-100: oklch(96.2% 0.044 156.743);
22
+ --color-green-200: oklch(92.5% 0.084 155.995);
23
+ --color-green-400: oklch(79.2% 0.209 151.711);
24
+ --color-green-500: oklch(72.3% 0.219 149.579);
25
+ --color-green-600: oklch(62.7% 0.194 149.214);
26
+ --color-green-700: oklch(52.7% 0.154 150.069);
27
+ --color-green-800: oklch(44.8% 0.119 151.328);
28
+ --color-sky-200: oklch(90.1% 0.058 230.902);
29
+ --color-sky-400: oklch(74.6% 0.16 232.661);
30
+ --color-sky-500: oklch(68.5% 0.169 237.323);
31
+ --color-blue-50: oklch(97% 0.014 254.604);
32
+ --color-blue-100: oklch(93.2% 0.032 255.585);
33
+ --color-blue-200: oklch(88.2% 0.059 254.128);
34
+ --color-blue-300: oklch(80.9% 0.105 251.813);
35
+ --color-blue-400: oklch(70.7% 0.165 254.624);
36
+ --color-blue-500: oklch(62.3% 0.214 259.815);
37
+ --color-blue-600: oklch(54.6% 0.245 262.881);
38
+ --color-blue-700: oklch(48.8% 0.243 264.376);
39
+ --color-blue-800: oklch(42.4% 0.199 265.638);
40
+ --color-indigo-100: oklch(93% 0.034 272.788);
41
+ --color-indigo-950: oklch(25.7% 0.09 281.288);
42
+ --color-purple-400: oklch(71.4% 0.203 305.504);
43
+ --color-pink-400: oklch(71.8% 0.202 349.761);
44
+ --color-slate-100: oklch(96.8% 0.007 247.896);
45
+ --color-gray-50: oklch(98.5% 0.002 247.839);
46
+ --color-gray-100: oklch(96.7% 0.003 264.542);
47
+ --color-gray-200: oklch(92.8% 0.006 264.531);
48
+ --color-gray-300: oklch(87.2% 0.01 258.338);
49
+ --color-gray-400: oklch(70.7% 0.022 261.325);
50
+ --color-gray-500: oklch(55.1% 0.027 264.364);
51
+ --color-gray-600: oklch(44.6% 0.03 256.802);
52
+ --color-gray-700: oklch(37.3% 0.034 259.733);
53
+ --color-gray-800: oklch(27.8% 0.033 256.848);
54
+ --color-gray-900: oklch(21% 0.034 264.665);
55
+ --color-gray-950: oklch(13% 0.028 261.692);
56
+ --color-neutral-100: oklch(97% 0 0);
57
+ --color-neutral-200: oklch(92.2% 0 0);
58
58
  --color-black: #000;
59
59
  --color-white: #fff;
60
60
  --spacing: 0.25rem;
@@ -80,6 +80,8 @@
80
80
  --font-weight-medium: 500;
81
81
  --font-weight-semibold: 600;
82
82
  --font-weight-bold: 700;
83
+ --tracking-widest: 0.1em;
84
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
83
85
  --animate-spin: spin 1s linear infinite;
84
86
  --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
85
87
  --default-transition-duration: 150ms;
@@ -196,6 +198,9 @@
196
198
  .left-1\/2 {
197
199
  left: calc(1/2 * 100%);
198
200
  }
201
+ .left-2 {
202
+ left: calc(var(--spacing) * 2);
203
+ }
199
204
  .left-\[-1000px\] {
200
205
  left: -1000px;
201
206
  }
@@ -250,6 +255,9 @@
250
255
  .m-4 {
251
256
  margin: calc(var(--spacing) * 4);
252
257
  }
258
+ .-mx-1 {
259
+ margin-inline: calc(var(--spacing) * -1);
260
+ }
253
261
  .mx-1 {
254
262
  margin-inline: calc(var(--spacing) * 1);
255
263
  }
@@ -370,6 +378,21 @@
370
378
  .inline-flex {
371
379
  display: inline-flex;
372
380
  }
381
+ .inline-grid {
382
+ display: inline-grid;
383
+ }
384
+ .size-2 {
385
+ width: calc(var(--spacing) * 2);
386
+ height: calc(var(--spacing) * 2);
387
+ }
388
+ .size-3\.5 {
389
+ width: calc(var(--spacing) * 3.5);
390
+ height: calc(var(--spacing) * 3.5);
391
+ }
392
+ .size-4 {
393
+ width: calc(var(--spacing) * 4);
394
+ height: calc(var(--spacing) * 4);
395
+ }
373
396
  .size-9 {
374
397
  width: calc(var(--spacing) * 9);
375
398
  height: calc(var(--spacing) * 9);
@@ -444,6 +467,12 @@
444
467
  .h-full {
445
468
  height: 100%;
446
469
  }
470
+ .h-px {
471
+ height: 1px;
472
+ }
473
+ .max-h-\(--radix-context-menu-content-available-height\) {
474
+ max-height: var(--radix-context-menu-content-available-height);
475
+ }
447
476
  .max-h-28 {
448
477
  max-height: calc(var(--spacing) * 28);
449
478
  }
@@ -579,6 +608,9 @@
579
608
  .min-w-64 {
580
609
  min-width: calc(var(--spacing) * 64);
581
610
  }
611
+ .min-w-\[8rem\] {
612
+ min-width: 8rem;
613
+ }
582
614
  .min-w-\[80px\] {
583
615
  min-width: 80px;
584
616
  }
@@ -608,6 +640,9 @@
608
640
  --tw-border-spacing-y: calc(var(--spacing) * 1);
609
641
  border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
610
642
  }
643
+ .origin-\(--radix-context-menu-content-transform-origin\) {
644
+ transform-origin: var(--radix-context-menu-content-transform-origin);
645
+ }
611
646
  .-translate-x-1\/2 {
612
647
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
613
648
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -818,6 +853,10 @@
818
853
  border-top-left-radius: var(--radius);
819
854
  border-top-right-radius: var(--radius);
820
855
  }
856
+ .rounded-t-sm {
857
+ border-top-left-radius: calc(var(--radius) - 4px);
858
+ border-top-right-radius: calc(var(--radius) - 4px);
859
+ }
821
860
  .rounded-l-full {
822
861
  border-top-left-radius: calc(infinity * 1px);
823
862
  border-bottom-left-radius: calc(infinity * 1px);
@@ -826,6 +865,13 @@
826
865
  border-top-left-radius: var(--radius);
827
866
  border-bottom-left-radius: var(--radius);
828
867
  }
868
+ .rounded-tl-sm {
869
+ border-top-left-radius: calc(var(--radius) - 4px);
870
+ }
871
+ .rounded-b-sm {
872
+ border-bottom-right-radius: calc(var(--radius) - 4px);
873
+ border-bottom-left-radius: calc(var(--radius) - 4px);
874
+ }
829
875
  .rounded-bl-lg {
830
876
  border-bottom-left-radius: var(--radius);
831
877
  }
@@ -853,6 +899,10 @@
853
899
  border-top-style: var(--tw-border-style);
854
900
  border-top-width: 1px;
855
901
  }
902
+ .border-t-0 {
903
+ border-top-style: var(--tw-border-style);
904
+ border-top-width: 0px;
905
+ }
856
906
  .border-r {
857
907
  border-right-style: var(--tw-border-style);
858
908
  border-right-width: 1px;
@@ -974,6 +1024,9 @@
974
1024
  .bg-blue-600 {
975
1025
  background-color: var(--color-blue-600);
976
1026
  }
1027
+ .bg-border {
1028
+ background-color: var(--border);
1029
+ }
977
1030
  .bg-canvas-pink {
978
1031
  background-color: var(--color-canvas-pink);
979
1032
  }
@@ -1025,6 +1078,9 @@
1025
1078
  .bg-pink-400 {
1026
1079
  background-color: var(--color-pink-400);
1027
1080
  }
1081
+ .bg-popover {
1082
+ background-color: var(--popover);
1083
+ }
1028
1084
  .bg-primary {
1029
1085
  background-color: var(--primary);
1030
1086
  }
@@ -1037,6 +1093,9 @@
1037
1093
  .bg-red-200 {
1038
1094
  background-color: var(--color-red-200);
1039
1095
  }
1096
+ .bg-red-400 {
1097
+ background-color: var(--color-red-400);
1098
+ }
1040
1099
  .bg-red-500 {
1041
1100
  background-color: var(--color-red-500);
1042
1101
  }
@@ -1082,6 +1141,9 @@
1082
1141
  --tw-gradient-to: var(--color-indigo-950);
1083
1142
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1084
1143
  }
1144
+ .fill-current {
1145
+ fill: currentColor;
1146
+ }
1085
1147
  .object-contain {
1086
1148
  object-fit: contain;
1087
1149
  }
@@ -1160,12 +1222,12 @@
1160
1222
  .py-1 {
1161
1223
  padding-block: calc(var(--spacing) * 1);
1162
1224
  }
1225
+ .py-1\.5 {
1226
+ padding-block: calc(var(--spacing) * 1.5);
1227
+ }
1163
1228
  .py-2 {
1164
1229
  padding-block: calc(var(--spacing) * 2);
1165
1230
  }
1166
- .py-2\.5 {
1167
- padding-block: calc(var(--spacing) * 2.5);
1168
- }
1169
1231
  .py-3 {
1170
1232
  padding-block: calc(var(--spacing) * 3);
1171
1233
  }
@@ -1190,6 +1252,9 @@
1190
1252
  .pt-9 {
1191
1253
  padding-top: calc(var(--spacing) * 9);
1192
1254
  }
1255
+ .pr-2 {
1256
+ padding-right: calc(var(--spacing) * 2);
1257
+ }
1193
1258
  .pr-4 {
1194
1259
  padding-right: calc(var(--spacing) * 4);
1195
1260
  }
@@ -1223,12 +1288,18 @@
1223
1288
  .pl-2 {
1224
1289
  padding-left: calc(var(--spacing) * 2);
1225
1290
  }
1291
+ .pl-3 {
1292
+ padding-left: calc(var(--spacing) * 3);
1293
+ }
1226
1294
  .pl-6 {
1227
1295
  padding-left: calc(var(--spacing) * 6);
1228
1296
  }
1229
1297
  .pl-7 {
1230
1298
  padding-left: calc(var(--spacing) * 7);
1231
1299
  }
1300
+ .pl-8 {
1301
+ padding-left: calc(var(--spacing) * 8);
1302
+ }
1232
1303
  .text-center {
1233
1304
  text-align: center;
1234
1305
  }
@@ -1302,6 +1373,10 @@
1302
1373
  --tw-font-weight: var(--font-weight-semibold);
1303
1374
  font-weight: var(--font-weight-semibold);
1304
1375
  }
1376
+ .tracking-widest {
1377
+ --tw-tracking: var(--tracking-widest);
1378
+ letter-spacing: var(--tracking-widest);
1379
+ }
1305
1380
  .text-nowrap {
1306
1381
  text-wrap: nowrap;
1307
1382
  }
@@ -1338,6 +1413,9 @@
1338
1413
  .text-canvas-red {
1339
1414
  color: var(--color-canvas-red);
1340
1415
  }
1416
+ .text-foreground {
1417
+ color: var(--foreground);
1418
+ }
1341
1419
  .text-gray-100 {
1342
1420
  color: var(--color-gray-100);
1343
1421
  }
@@ -1386,12 +1464,18 @@
1386
1464
  .text-green-800 {
1387
1465
  color: var(--color-green-800);
1388
1466
  }
1467
+ .text-muted-foreground {
1468
+ color: var(--muted-foreground);
1469
+ }
1389
1470
  .text-orange-600 {
1390
1471
  color: var(--color-orange-600);
1391
1472
  }
1392
1473
  .text-pink-400 {
1393
1474
  color: var(--color-pink-400);
1394
1475
  }
1476
+ .text-popover-foreground {
1477
+ color: var(--popover-foreground);
1478
+ }
1395
1479
  .text-primary {
1396
1480
  color: var(--primary);
1397
1481
  }
@@ -1495,6 +1579,14 @@
1495
1579
  .ring-offset-background {
1496
1580
  --tw-ring-offset-color: var(--background);
1497
1581
  }
1582
+ .outline-hidden {
1583
+ --tw-outline-style: none;
1584
+ outline-style: none;
1585
+ @media (forced-colors: active) {
1586
+ outline: 2px solid transparent;
1587
+ outline-offset: 2px;
1588
+ }
1589
+ }
1498
1590
  .outline {
1499
1591
  outline-style: var(--tw-outline-style);
1500
1592
  outline-width: 1px;
@@ -1554,10 +1646,6 @@
1554
1646
  --tw-duration: 150ms;
1555
1647
  transition-duration: 150ms;
1556
1648
  }
1557
- .duration-200 {
1558
- --tw-duration: 200ms;
1559
- transition-duration: 200ms;
1560
- }
1561
1649
  .duration-300 {
1562
1650
  --tw-duration: 300ms;
1563
1651
  transition-duration: 300ms;
@@ -1570,6 +1658,10 @@
1570
1658
  --tw-duration: 900ms;
1571
1659
  transition-duration: 900ms;
1572
1660
  }
1661
+ .ease-in-out {
1662
+ --tw-ease: var(--ease-in-out);
1663
+ transition-timing-function: var(--ease-in-out);
1664
+ }
1573
1665
  .ease-linear {
1574
1666
  --tw-ease: linear;
1575
1667
  transition-timing-function: linear;
@@ -1811,6 +1903,13 @@
1811
1903
  }
1812
1904
  }
1813
1905
  }
1906
+ .hover\:text-gray-200 {
1907
+ &:hover {
1908
+ @media (hover: hover) {
1909
+ color: var(--color-gray-200);
1910
+ }
1911
+ }
1912
+ }
1814
1913
  .hover\:text-gray-400 {
1815
1914
  &:hover {
1816
1915
  @media (hover: hover) {
@@ -1889,6 +1988,16 @@
1889
1988
  }
1890
1989
  }
1891
1990
  }
1991
+ .focus\:bg-accent {
1992
+ &:focus {
1993
+ background-color: var(--accent);
1994
+ }
1995
+ }
1996
+ .focus\:text-accent-foreground {
1997
+ &:focus {
1998
+ color: var(--accent-foreground);
1999
+ }
2000
+ }
1892
2001
  .focus\:ring-1 {
1893
2002
  &:focus {
1894
2003
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);
@@ -2012,6 +2121,50 @@
2012
2121
  --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
2013
2122
  }
2014
2123
  }
2124
+ .data-\[disabled\]\:pointer-events-none {
2125
+ &[data-disabled] {
2126
+ pointer-events: none;
2127
+ }
2128
+ }
2129
+ .data-\[disabled\]\:opacity-50 {
2130
+ &[data-disabled] {
2131
+ opacity: 50%;
2132
+ }
2133
+ }
2134
+ .data-\[inset\]\:pl-8 {
2135
+ &[data-inset] {
2136
+ padding-left: calc(var(--spacing) * 8);
2137
+ }
2138
+ }
2139
+ .data-\[state\=open\]\:bg-accent {
2140
+ &[data-state="open"] {
2141
+ background-color: var(--accent);
2142
+ }
2143
+ }
2144
+ .data-\[state\=open\]\:text-accent-foreground {
2145
+ &[data-state="open"] {
2146
+ color: var(--accent-foreground);
2147
+ }
2148
+ }
2149
+ .data-\[variant\=destructive\]\:text-destructive {
2150
+ &[data-variant="destructive"] {
2151
+ color: var(--destructive);
2152
+ }
2153
+ }
2154
+ .data-\[variant\=destructive\]\:focus\:bg-destructive\/10 {
2155
+ &[data-variant="destructive"] {
2156
+ &:focus {
2157
+ background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
2158
+ }
2159
+ }
2160
+ }
2161
+ .data-\[variant\=destructive\]\:focus\:text-destructive {
2162
+ &[data-variant="destructive"] {
2163
+ &:focus {
2164
+ color: var(--destructive);
2165
+ }
2166
+ }
2167
+ }
2015
2168
  .lg\:pr-20 {
2016
2169
  @media (width >= 64rem) {
2017
2170
  padding-right: calc(var(--spacing) * 20);
@@ -2069,6 +2222,15 @@
2069
2222
  }
2070
2223
  }
2071
2224
  }
2225
+ .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20 {
2226
+ @media (prefers-color-scheme: dark) {
2227
+ &[data-variant="destructive"] {
2228
+ &:focus {
2229
+ background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
2230
+ }
2231
+ }
2232
+ }
2233
+ }
2072
2234
  .\[\&_li\]\:my-1 {
2073
2235
  & li {
2074
2236
  margin-block: calc(var(--spacing) * 1);
@@ -2095,6 +2257,11 @@
2095
2257
  height: calc(var(--spacing) * 4);
2096
2258
  }
2097
2259
  }
2260
+ .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground {
2261
+ & svg:not([class*='text-']) {
2262
+ color: var(--muted-foreground);
2263
+ }
2264
+ }
2098
2265
  .\[\&_ul\]\:list-disc {
2099
2266
  & ul {
2100
2267
  list-style-type: disc;
@@ -2105,6 +2272,15 @@
2105
2272
  padding-left: calc(var(--spacing) * 5);
2106
2273
  }
2107
2274
  }
2275
+ .data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive {
2276
+ &[data-variant="destructive"] {
2277
+ :is(& > *) {
2278
+ &:is(svg) {
2279
+ color: var(--destructive) !important;
2280
+ }
2281
+ }
2282
+ }
2283
+ }
2108
2284
  .\[\&\:not\(\:first-child\)\]\:mt-4 {
2109
2285
  &:not(:first-child) {
2110
2286
  margin-top: calc(var(--spacing) * 4);
@@ -2562,6 +2738,9 @@
2562
2738
  width: 15px;
2563
2739
  height: 15px;
2564
2740
  }
2741
+ button {
2742
+ cursor: pointer;
2743
+ }
2565
2744
  }
2566
2745
  @property --tw-border-spacing-x {
2567
2746
  syntax: "<length>";
@@ -2674,6 +2853,10 @@
2674
2853
  syntax: "*";
2675
2854
  inherits: false;
2676
2855
  }
2856
+ @property --tw-tracking {
2857
+ syntax: "*";
2858
+ inherits: false;
2859
+ }
2677
2860
  @property --tw-shadow {
2678
2861
  syntax: "*";
2679
2862
  inherits: false;
package/dist/types.d.ts CHANGED
@@ -75,7 +75,7 @@ export type RenameItemOperation = EditOperation & {
75
75
  };
76
76
  export type EditFieldOperation = EditOperation & {
77
77
  type: "edit-field";
78
- item: ItemDescriptor;
78
+ itemId: string;
79
79
  fieldName: string;
80
80
  fieldId: string;
81
81
  fieldType?: string;
@@ -182,7 +182,7 @@ export type InsertOption = {
182
182
  isInvalid: boolean;
183
183
  message?: string;
184
184
  isHidden: any;
185
- compatibleTemplates?: string[];
185
+ compatibleTypeIds?: string[];
186
186
  };
187
187
  export type LanguagesAndVersions = {
188
188
  languages: LanguageVersions[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.3812",
3
+ "version": "1.0.3815",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -29,6 +29,7 @@
29
29
  "typescript": "5.8.2"
30
30
  },
31
31
  "dependencies": {
32
+ "@radix-ui/react-context-menu": "^2.2.7",
32
33
  "@radix-ui/react-slot": "^1.1.2",
33
34
  "@tailwindcss/postcss": "^4.0.14",
34
35
  "@types/lodash": "^4.17.16",
@@ -51,7 +52,7 @@
51
52
  "react-quill-new": "^3.4.1",
52
53
  "react-uuid": "^2.0.0",
53
54
  "tailwind-merge": "^3.1.0",
54
- "tailwindcss": "^4.0.14",
55
+ "tailwindcss": "^4.1.3",
55
56
  "tw-animate-css": "^1.2.5",
56
57
  "universal-cookie": "^8.0.0",
57
58
  "use-debounce": "^10.0.4"