@morphika/andami 0.5.2 → 0.5.4

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 (68) hide show
  1. package/README.md +27 -2
  2. package/app/admin/layout.tsx +26 -14
  3. package/app/admin/pages/[slug]/page.tsx +39 -22
  4. package/app/admin/pages/page.tsx +13 -8
  5. package/app/admin/projects/page.tsx +17 -8
  6. package/app/api/admin/assets/register/route.ts +51 -14
  7. package/app/api/admin/assets/registry/route.ts +4 -1
  8. package/app/api/admin/assets/relink/confirm/route.ts +4 -1
  9. package/app/api/admin/assets/relink/route.ts +4 -1
  10. package/app/api/admin/assets/scan/route.ts +4 -1
  11. package/app/api/admin/backups/restore-data/route.ts +4 -1
  12. package/app/api/admin/r2/connect/route.ts +4 -1
  13. package/app/api/admin/r2/delete/route.ts +4 -1
  14. package/app/api/admin/r2/rename/route.ts +4 -1
  15. package/app/api/admin/r2/upload-url/route.ts +4 -1
  16. package/app/api/admin/revalidate/route.ts +4 -1
  17. package/app/api/admin/storage/switch/route.ts +4 -1
  18. package/app/api/custom-sections/[id]/route.ts +5 -6
  19. package/components/admin/PublishToggle.tsx +2 -2
  20. package/components/admin/nav-builder/NavGridItem.tsx +4 -2
  21. package/components/admin/nav-builder/NavSettingsFields.tsx +10 -6
  22. package/components/admin/styles/ColorsEditor.tsx +7 -6
  23. package/components/admin/styles/FontsEditor.tsx +3 -1
  24. package/components/blocks/CoverSectionRenderer.tsx +7 -1
  25. package/components/blocks/SectionV2Renderer.tsx +8 -1
  26. package/components/builder/BubbleIcons.tsx +14 -0
  27. package/components/builder/CanvasMinimap.tsx +66 -49
  28. package/components/builder/CanvasToolbar.tsx +31 -41
  29. package/components/builder/SectionEditorBar.tsx +4 -2
  30. package/components/builder/SectionTypePicker.tsx +4 -2
  31. package/components/builder/SectionV2Column.tsx +13 -1
  32. package/components/builder/SettingsPanel.tsx +21 -17
  33. package/components/builder/SortableBlock.tsx +2 -2
  34. package/components/builder/SortableRow.tsx +6 -9
  35. package/components/builder/VirtualAssetGrid.tsx +8 -2
  36. package/components/builder/asset-browser/R2BrowserContent.tsx +8 -4
  37. package/components/builder/color-picker/EyedropperButton.tsx +7 -6
  38. package/components/builder/color-picker/SwatchBar.tsx +11 -6
  39. package/components/builder/color-picker/UnifiedColorPicker.tsx +11 -6
  40. package/components/builder/editors/ImageGridBlockEditor.tsx +4 -2
  41. package/components/builder/editors/MarqueeBlockEditor.tsx +3 -2
  42. package/components/builder/editors/ProjectGridEditor.tsx +12 -7
  43. package/components/builder/editors/SpacerBlockEditor.tsx +25 -23
  44. package/components/builder/editors/TextBlockEditor.tsx +19 -14
  45. package/components/builder/editors/shared.tsx +4 -2
  46. package/components/builder/live-preview/LiveImagePreview.tsx +3 -1
  47. package/components/builder/live-preview/ProjectCardWrapper.tsx +3 -1
  48. package/components/builder/live-preview/RichTextBubbleMenu.tsx +10 -6
  49. package/components/builder/live-preview/shared.tsx +5 -2
  50. package/components/builder/settings-panel/BlockLayoutTab.tsx +4 -2
  51. package/components/builder/settings-panel/ColumnV2LayoutTab.tsx +242 -0
  52. package/components/builder/settings-panel/CoverSectionSettings.tsx +4 -2
  53. package/components/builder/settings-panel/SectionV2Settings.tsx +13 -8
  54. package/components/builder/settings-panel/index.ts +1 -0
  55. package/components/ui/NavContentLightbox.tsx +41 -4
  56. package/lib/builder/serializer/normalizers.ts +14 -0
  57. package/lib/builder/serializer/serializers.ts +27 -0
  58. package/lib/builder/store-blocks.ts +15 -5
  59. package/lib/builder/store-cover.ts +16 -6
  60. package/lib/builder/store-sections.ts +151 -51
  61. package/lib/builder/types-slices.ts +14 -0
  62. package/lib/sanity/queries.ts +48 -0
  63. package/lib/sanity/types.ts +14 -0
  64. package/lib/version.ts +1 -1
  65. package/package.json +7 -5
  66. package/sanity/schemas/objects/coverSection.ts +32 -0
  67. package/sanity/schemas/objects/parallaxSlide.ts +32 -0
  68. package/sanity/schemas/pageSectionV2.ts +32 -0
@@ -50,6 +50,38 @@ const columnFields = [
50
50
  title: "Enter Animation",
51
51
  type: "enterAnimationConfig",
52
52
  }),
53
+ // Column-level layout — desktop-only, background + border only.
54
+ defineField({ name: "background_color", title: "Background Color", type: "string" }),
55
+ defineField({ name: "background_opacity", title: "Background Opacity", type: "number" }),
56
+ defineField({ name: "background_image", title: "Background Image", type: "string" }),
57
+ defineField({
58
+ name: "background_size",
59
+ title: "Background Size",
60
+ type: "string",
61
+ options: { list: ["cover", "contain", "auto"] },
62
+ }),
63
+ defineField({ name: "background_position", title: "Background Position", type: "string" }),
64
+ defineField({
65
+ name: "background_repeat",
66
+ title: "Background Repeat",
67
+ type: "string",
68
+ options: { list: ["no-repeat", "repeat", "repeat-x", "repeat-y"] },
69
+ }),
70
+ defineField({ name: "border_color", title: "Border Color", type: "string" }),
71
+ defineField({ name: "border_width", title: "Border Width", type: "string" }),
72
+ defineField({
73
+ name: "border_style",
74
+ title: "Border Style",
75
+ type: "string",
76
+ options: { list: ["none", "solid", "dashed", "dotted"] },
77
+ }),
78
+ defineField({
79
+ name: "border_sides",
80
+ title: "Border Sides",
81
+ type: "string",
82
+ options: { list: ["all", "top", "right", "bottom", "left", "top-bottom", "left-right"] },
83
+ }),
84
+ defineField({ name: "border_radius", title: "Border Radius", type: "string" }),
53
85
  ];
54
86
 
55
87
  const responsiveColumnOverrideFields = [
@@ -115,6 +115,38 @@ export default defineType({
115
115
  title: "Enter Animation",
116
116
  type: "enterAnimationConfig",
117
117
  }),
118
+ // Column-level layout — desktop-only, background + border only.
119
+ defineField({ name: "background_color", title: "Background Color", type: "string" }),
120
+ defineField({ name: "background_opacity", title: "Background Opacity", type: "number" }),
121
+ defineField({ name: "background_image", title: "Background Image", type: "string" }),
122
+ defineField({
123
+ name: "background_size",
124
+ title: "Background Size",
125
+ type: "string",
126
+ options: { list: ["cover", "contain", "auto"] },
127
+ }),
128
+ defineField({ name: "background_position", title: "Background Position", type: "string" }),
129
+ defineField({
130
+ name: "background_repeat",
131
+ title: "Background Repeat",
132
+ type: "string",
133
+ options: { list: ["no-repeat", "repeat", "repeat-x", "repeat-y"] },
134
+ }),
135
+ defineField({ name: "border_color", title: "Border Color", type: "string" }),
136
+ defineField({ name: "border_width", title: "Border Width", type: "string" }),
137
+ defineField({
138
+ name: "border_style",
139
+ title: "Border Style",
140
+ type: "string",
141
+ options: { list: ["none", "solid", "dashed", "dotted"] },
142
+ }),
143
+ defineField({
144
+ name: "border_sides",
145
+ title: "Border Sides",
146
+ type: "string",
147
+ options: { list: ["all", "top", "right", "bottom", "left", "top-bottom", "left-right"] },
148
+ }),
149
+ defineField({ name: "border_radius", title: "Border Radius", type: "string" }),
118
150
  ],
119
151
  },
120
152
  ],
@@ -76,6 +76,38 @@ export default defineType({
76
76
  title: "Enter Animation",
77
77
  type: "enterAnimationConfig",
78
78
  }),
79
+ // Column-level layout — desktop-only, background + border only.
80
+ defineField({ name: "background_color", title: "Background Color", type: "string" }),
81
+ defineField({ name: "background_opacity", title: "Background Opacity", type: "number" }),
82
+ defineField({ name: "background_image", title: "Background Image", type: "string" }),
83
+ defineField({
84
+ name: "background_size",
85
+ title: "Background Size",
86
+ type: "string",
87
+ options: { list: ["cover", "contain", "auto"] },
88
+ }),
89
+ defineField({ name: "background_position", title: "Background Position", type: "string" }),
90
+ defineField({
91
+ name: "background_repeat",
92
+ title: "Background Repeat",
93
+ type: "string",
94
+ options: { list: ["no-repeat", "repeat", "repeat-x", "repeat-y"] },
95
+ }),
96
+ defineField({ name: "border_color", title: "Border Color", type: "string" }),
97
+ defineField({ name: "border_width", title: "Border Width", type: "string" }),
98
+ defineField({
99
+ name: "border_style",
100
+ title: "Border Style",
101
+ type: "string",
102
+ options: { list: ["none", "solid", "dashed", "dotted"] },
103
+ }),
104
+ defineField({
105
+ name: "border_sides",
106
+ title: "Border Sides",
107
+ type: "string",
108
+ options: { list: ["all", "top", "right", "bottom", "left", "top-bottom", "left-right"] },
109
+ }),
110
+ defineField({ name: "border_radius", title: "Border Radius", type: "string" }),
79
111
  ],
80
112
  },
81
113
  ],