@actuate-media/cms-admin 0.56.0 → 0.56.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 (216) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/__tests__/components/posts-badges.test.js +3 -3
  3. package/dist/__tests__/components/posts-badges.test.js.map +1 -1
  4. package/dist/actuate-admin.css +1 -1
  5. package/dist/components/AICoauthorBubbleMenu.js +2 -2
  6. package/dist/components/AICoauthorBubbleMenu.js.map +1 -1
  7. package/dist/components/Breadcrumbs.js +2 -2
  8. package/dist/components/Breadcrumbs.js.map +1 -1
  9. package/dist/components/CoauthorResultPopover.d.ts.map +1 -1
  10. package/dist/components/CoauthorResultPopover.js +1 -1
  11. package/dist/components/CoauthorResultPopover.js.map +1 -1
  12. package/dist/components/CommandPalette.d.ts.map +1 -1
  13. package/dist/components/CommandPalette.js +11 -11
  14. package/dist/components/CommandPalette.js.map +1 -1
  15. package/dist/components/CommentSidePanel.js +11 -11
  16. package/dist/components/CommentSidePanel.js.map +1 -1
  17. package/dist/components/ContentOverviewChart.js +2 -2
  18. package/dist/components/ContentOverviewChart.js.map +1 -1
  19. package/dist/components/FocalPointPicker.js +1 -1
  20. package/dist/components/FocalPointPicker.js.map +1 -1
  21. package/dist/components/LivePreview.d.ts.map +1 -1
  22. package/dist/components/LivePreview.js +5 -5
  23. package/dist/components/LivePreview.js.map +1 -1
  24. package/dist/components/LogoPlaceholder.js +1 -1
  25. package/dist/components/LogoPlaceholder.js.map +1 -1
  26. package/dist/components/MentionableTextarea.js +3 -3
  27. package/dist/components/MentionableTextarea.js.map +1 -1
  28. package/dist/components/NotificationBell.js +1 -1
  29. package/dist/components/NotificationBell.js.map +1 -1
  30. package/dist/components/OfflineStatus.js +8 -8
  31. package/dist/components/OfflineStatus.js.map +1 -1
  32. package/dist/components/PresenceChips.d.ts.map +1 -1
  33. package/dist/components/PresenceChips.js +10 -6
  34. package/dist/components/PresenceChips.js.map +1 -1
  35. package/dist/components/SEOConfigPanel.d.ts.map +1 -1
  36. package/dist/components/SEOConfigPanel.js +10 -10
  37. package/dist/components/SEOConfigPanel.js.map +1 -1
  38. package/dist/components/SEOPanel.js +12 -12
  39. package/dist/components/SEOPanel.js.map +1 -1
  40. package/dist/components/SEOPerformance.d.ts.map +1 -1
  41. package/dist/components/SEOPerformance.js +3 -3
  42. package/dist/components/SEOPerformance.js.map +1 -1
  43. package/dist/components/TipTapEditor.js +6 -6
  44. package/dist/components/TipTapEditor.js.map +1 -1
  45. package/dist/components/pages/tag-badges.js +6 -6
  46. package/dist/components/pages/tag-badges.js.map +1 -1
  47. package/dist/components/posts/badges.d.ts +0 -4
  48. package/dist/components/posts/badges.d.ts.map +1 -1
  49. package/dist/components/posts/badges.js +28 -42
  50. package/dist/components/posts/badges.js.map +1 -1
  51. package/dist/components/ui/Badge.js +5 -5
  52. package/dist/components/ui/Badge.js.map +1 -1
  53. package/dist/components/ui/Toast.d.ts.map +1 -1
  54. package/dist/components/ui/Toast.js +4 -4
  55. package/dist/components/ui/Toast.js.map +1 -1
  56. package/dist/fields/ComponentBlockField.js +2 -2
  57. package/dist/fields/ComponentBlockField.js.map +1 -1
  58. package/dist/fields/FieldRenderer.js +1 -1
  59. package/dist/fields/FieldRenderer.js.map +1 -1
  60. package/dist/fields/PropInput.js +1 -1
  61. package/dist/fields/PropInput.js.map +1 -1
  62. package/dist/fields/RelationshipField.js +5 -5
  63. package/dist/fields/RelationshipField.js.map +1 -1
  64. package/dist/fields/ToggleField.js +1 -1
  65. package/dist/fields/ToggleField.js.map +1 -1
  66. package/dist/views/Dashboard.js +5 -5
  67. package/dist/views/Dashboard.js.map +1 -1
  68. package/dist/views/DocumentEdit.d.ts.map +1 -1
  69. package/dist/views/DocumentEdit.js +5 -5
  70. package/dist/views/DocumentEdit.js.map +1 -1
  71. package/dist/views/ForgotPassword.d.ts.map +1 -1
  72. package/dist/views/ForgotPassword.js +3 -2
  73. package/dist/views/ForgotPassword.js.map +1 -1
  74. package/dist/views/FormEditor.d.ts.map +1 -1
  75. package/dist/views/FormEditor.js +5 -5
  76. package/dist/views/FormEditor.js.map +1 -1
  77. package/dist/views/Login.d.ts.map +1 -1
  78. package/dist/views/Login.js +17 -17
  79. package/dist/views/Login.js.map +1 -1
  80. package/dist/views/PageEditor.d.ts.map +1 -1
  81. package/dist/views/PageEditor.js +2 -2
  82. package/dist/views/PageEditor.js.map +1 -1
  83. package/dist/views/Pages/PagesListView.js +6 -6
  84. package/dist/views/Pages/PagesListView.js.map +1 -1
  85. package/dist/views/Pages.d.ts.map +1 -1
  86. package/dist/views/Pages.js +16 -19
  87. package/dist/views/Pages.js.map +1 -1
  88. package/dist/views/ResetPassword.d.ts.map +1 -1
  89. package/dist/views/ResetPassword.js +3 -2
  90. package/dist/views/ResetPassword.js.map +1 -1
  91. package/dist/views/Settings.js +2 -2
  92. package/dist/views/Settings.js.map +1 -1
  93. package/dist/views/SetupWizard.d.ts.map +1 -1
  94. package/dist/views/SetupWizard.js +6 -5
  95. package/dist/views/SetupWizard.js.map +1 -1
  96. package/dist/views/page-builder/DesignScore.js +12 -12
  97. package/dist/views/page-builder/DesignScore.js.map +1 -1
  98. package/dist/views/page-builder/SEOPanel.js +9 -9
  99. package/dist/views/page-builder/SEOPanel.js.map +1 -1
  100. package/dist/views/page-editor/EditorCanvas.js +1 -1
  101. package/dist/views/page-editor/EditorCanvas.js.map +1 -1
  102. package/dist/views/page-editor/EditorTopBar.js +2 -2
  103. package/dist/views/page-editor/EditorTopBar.js.map +1 -1
  104. package/dist/views/page-editor/PagePreview.js +1 -1
  105. package/dist/views/page-editor/PagePreview.js.map +1 -1
  106. package/dist/views/page-editor/SectionInspector.js +1 -1
  107. package/dist/views/page-editor/SectionInspector.js.map +1 -1
  108. package/dist/views/page-editor/SitePreviewFrame.js +1 -1
  109. package/dist/views/page-editor/SitePreviewFrame.js.map +1 -1
  110. package/dist/views/page-editor/sections/ArticleBodySection.js +1 -1
  111. package/dist/views/page-editor/sections/ArticleBodySection.js.map +1 -1
  112. package/dist/views/page-editor/sections/AuthorBioSection.js +2 -2
  113. package/dist/views/page-editor/sections/AuthorBioSection.js.map +1 -1
  114. package/dist/views/page-editor/sections/ByTheNumbersSection.js +1 -1
  115. package/dist/views/page-editor/sections/ByTheNumbersSection.js.map +1 -1
  116. package/dist/views/page-editor/sections/CtaBannerSection.js +1 -1
  117. package/dist/views/page-editor/sections/CtaBannerSection.js.map +1 -1
  118. package/dist/views/page-editor/sections/EmbedSection.d.ts.map +1 -1
  119. package/dist/views/page-editor/sections/EmbedSection.js +1 -1
  120. package/dist/views/page-editor/sections/EmbedSection.js.map +1 -1
  121. package/dist/views/page-editor/sections/FeatureHighlightSection.d.ts.map +1 -1
  122. package/dist/views/page-editor/sections/FeatureHighlightSection.js +2 -2
  123. package/dist/views/page-editor/sections/FeatureHighlightSection.js.map +1 -1
  124. package/dist/views/page-editor/sections/GallerySection.d.ts.map +1 -1
  125. package/dist/views/page-editor/sections/GallerySection.js +1 -1
  126. package/dist/views/page-editor/sections/GallerySection.js.map +1 -1
  127. package/dist/views/page-editor/sections/HeroBannerSection.js +1 -1
  128. package/dist/views/page-editor/sections/HeroBannerSection.js.map +1 -1
  129. package/dist/views/page-editor/sections/MissionSection.d.ts.map +1 -1
  130. package/dist/views/page-editor/sections/MissionSection.js +1 -1
  131. package/dist/views/page-editor/sections/MissionSection.js.map +1 -1
  132. package/dist/views/page-editor/sections/PullQuoteSection.js +1 -1
  133. package/dist/views/page-editor/sections/PullQuoteSection.js.map +1 -1
  134. package/dist/views/page-editor/sections/RelatedPostsSection.js +1 -1
  135. package/dist/views/page-editor/sections/RelatedPostsSection.js.map +1 -1
  136. package/dist/views/page-editor/sections/SectionRenderer.js +1 -1
  137. package/dist/views/page-editor/sections/SectionRenderer.js.map +1 -1
  138. package/dist/views/page-editor/sections/parts.js +6 -6
  139. package/dist/views/page-editor/sections/parts.js.map +1 -1
  140. package/dist/views/post-editor/PostEditorCanvas.js +2 -2
  141. package/dist/views/post-editor/PostEditorCanvas.js.map +1 -1
  142. package/dist/views/post-editor/PostHeader.js +2 -2
  143. package/dist/views/post-editor/PostHeader.js.map +1 -1
  144. package/dist/views/post-editor/PostHeaderPanel.js +1 -1
  145. package/dist/views/post-editor/PostHeaderPanel.js.map +1 -1
  146. package/dist/views/post-editor/PostPreview.js +1 -1
  147. package/dist/views/post-editor/PostPreview.js.map +1 -1
  148. package/dist/views/profile/AccountSecurity.js +1 -1
  149. package/dist/views/profile/AccountSecurity.js.map +1 -1
  150. package/dist/views/settings/components.js +1 -1
  151. package/dist/views/settings/components.js.map +1 -1
  152. package/package.json +2 -2
  153. package/src/__tests__/components/posts-badges.test.tsx +3 -3
  154. package/src/components/AICoauthorBubbleMenu.tsx +4 -4
  155. package/src/components/Breadcrumbs.tsx +5 -5
  156. package/src/components/CoauthorResultPopover.tsx +26 -23
  157. package/src/components/CommandPalette.tsx +41 -39
  158. package/src/components/CommentSidePanel.tsx +20 -20
  159. package/src/components/ContentOverviewChart.tsx +4 -4
  160. package/src/components/FocalPointPicker.tsx +2 -2
  161. package/src/components/LivePreview.tsx +20 -17
  162. package/src/components/LogoPlaceholder.tsx +1 -1
  163. package/src/components/MentionableTextarea.tsx +5 -5
  164. package/src/components/NotificationBell.tsx +10 -10
  165. package/src/components/OfflineStatus.tsx +8 -8
  166. package/src/components/PresenceChips.tsx +12 -8
  167. package/src/components/SEOConfigPanel.tsx +40 -38
  168. package/src/components/SEOPanel.tsx +15 -15
  169. package/src/components/SEOPerformance.tsx +25 -23
  170. package/src/components/TipTapEditor.tsx +7 -7
  171. package/src/components/pages/tag-badges.tsx +6 -6
  172. package/src/components/posts/badges.tsx +28 -46
  173. package/src/components/ui/Badge.tsx +5 -5
  174. package/src/components/ui/Toast.tsx +4 -5
  175. package/src/fields/ComponentBlockField.tsx +2 -2
  176. package/src/fields/FieldRenderer.tsx +1 -1
  177. package/src/fields/PropInput.tsx +1 -1
  178. package/src/fields/RelationshipField.tsx +5 -5
  179. package/src/fields/ToggleField.tsx +1 -1
  180. package/src/views/Dashboard.tsx +5 -5
  181. package/src/views/DocumentEdit.tsx +13 -11
  182. package/src/views/ForgotPassword.tsx +21 -18
  183. package/src/views/FormEditor.tsx +74 -69
  184. package/src/views/Login.tsx +45 -39
  185. package/src/views/PageEditor.tsx +26 -22
  186. package/src/views/Pages/PagesListView.tsx +6 -6
  187. package/src/views/Pages.tsx +64 -65
  188. package/src/views/ResetPassword.tsx +32 -29
  189. package/src/views/Settings.tsx +2 -2
  190. package/src/views/SetupWizard.tsx +42 -33
  191. package/src/views/page-builder/DesignScore.tsx +12 -12
  192. package/src/views/page-builder/SEOPanel.tsx +12 -12
  193. package/src/views/page-editor/EditorCanvas.tsx +1 -1
  194. package/src/views/page-editor/EditorTopBar.tsx +2 -2
  195. package/src/views/page-editor/PagePreview.tsx +1 -1
  196. package/src/views/page-editor/SectionInspector.tsx +1 -1
  197. package/src/views/page-editor/SitePreviewFrame.tsx +1 -1
  198. package/src/views/page-editor/sections/ArticleBodySection.tsx +5 -5
  199. package/src/views/page-editor/sections/AuthorBioSection.tsx +6 -6
  200. package/src/views/page-editor/sections/ByTheNumbersSection.tsx +5 -5
  201. package/src/views/page-editor/sections/CtaBannerSection.tsx +1 -1
  202. package/src/views/page-editor/sections/EmbedSection.tsx +6 -4
  203. package/src/views/page-editor/sections/FeatureHighlightSection.tsx +7 -5
  204. package/src/views/page-editor/sections/GallerySection.tsx +6 -4
  205. package/src/views/page-editor/sections/HeroBannerSection.tsx +2 -2
  206. package/src/views/page-editor/sections/MissionSection.tsx +4 -2
  207. package/src/views/page-editor/sections/PullQuoteSection.tsx +4 -4
  208. package/src/views/page-editor/sections/RelatedPostsSection.tsx +5 -5
  209. package/src/views/page-editor/sections/SectionRenderer.tsx +2 -2
  210. package/src/views/page-editor/sections/parts.tsx +6 -6
  211. package/src/views/post-editor/PostEditorCanvas.tsx +4 -4
  212. package/src/views/post-editor/PostHeader.tsx +5 -5
  213. package/src/views/post-editor/PostHeaderPanel.tsx +1 -1
  214. package/src/views/post-editor/PostPreview.tsx +1 -1
  215. package/src/views/profile/AccountSecurity.tsx +1 -1
  216. package/src/views/settings/components.tsx +1 -1
@@ -32,19 +32,19 @@ export function RelatedPostsSection({
32
32
  return (
33
33
  <div className="mx-auto max-w-5xl px-6">
34
34
  {heading && (
35
- <h2 className="mb-6 text-2xl font-semibold tracking-tight text-zinc-900">{heading}</h2>
35
+ <h2 className="text-foreground mb-6 text-2xl font-semibold tracking-tight">{heading}</h2>
36
36
  )}
37
37
  <div className={`grid grid-cols-1 gap-4 ${cols}`}>
38
38
  {cards.map((post, i) => (
39
39
  <div
40
40
  key={i}
41
- className="overflow-hidden rounded-xl border border-zinc-200 bg-white shadow-sm"
41
+ className="border-border bg-card overflow-hidden rounded-xl border shadow-sm"
42
42
  >
43
- <div className="aspect-[16/9] bg-zinc-100" aria-hidden />
43
+ <div className="bg-muted aspect-[16/9]" aria-hidden />
44
44
  <div className="p-4">
45
- <p className="text-base font-medium text-zinc-900">{post.title}</p>
45
+ <p className="text-foreground text-base font-medium">{post.title}</p>
46
46
  {post.excerpt && (
47
- <p className="mt-1 line-clamp-2 text-sm text-zinc-500">{post.excerpt}</p>
47
+ <p className="text-muted-foreground mt-1 line-clamp-2 text-sm">{post.excerpt}</p>
48
48
  )}
49
49
  </div>
50
50
  </div>
@@ -165,12 +165,12 @@ export function SectionRenderer({
165
165
  aria-label={editable ? `${section.name} section` : undefined}
166
166
  >
167
167
  {editable && selected && (
168
- <span className="pointer-events-none absolute top-0 left-0 z-10 rounded-br-md bg-violet-600 px-2 py-0.5 text-xs font-medium text-white">
168
+ <span className="bg-brand pointer-events-none absolute top-0 left-0 z-10 rounded-br-md px-2 py-0.5 text-xs font-medium text-white">
169
169
  {section.name}
170
170
  </span>
171
171
  )}
172
172
  {editable && hidden && (
173
- <span className="pointer-events-none absolute top-0 right-0 z-10 rounded-bl-md bg-zinc-700 px-2 py-0.5 text-xs font-medium text-white">
173
+ <span className="bg-foreground pointer-events-none absolute top-0 right-0 z-10 rounded-bl-md px-2 py-0.5 text-xs font-medium text-white">
174
174
  Hidden
175
175
  </span>
176
176
  )}
@@ -67,12 +67,12 @@ export function backgroundClass(settings: SectionSettings): string {
67
67
  return 'bg-gradient-to-br from-violet-600 to-violet-700 text-white'
68
68
  }
69
69
  if (settings.backgroundType === 'solid' && settings.backgroundColor === 'purple') {
70
- return 'bg-violet-600 text-white'
70
+ return 'bg-brand text-white'
71
71
  }
72
72
  if (settings.backgroundType === 'solid' && settings.backgroundColor === 'muted') {
73
- return 'bg-zinc-50 text-zinc-900'
73
+ return 'bg-muted text-foreground'
74
74
  }
75
- return 'bg-white text-zinc-900'
75
+ return 'bg-card text-foreground'
76
76
  }
77
77
 
78
78
  /**
@@ -94,10 +94,10 @@ export function PreviewButton({
94
94
  'inline-flex items-center justify-center rounded-lg px-5 py-2.5 text-sm font-medium transition-colors'
95
95
  const toneClass =
96
96
  tone === 'onDark'
97
- ? 'bg-white text-violet-700 hover:bg-violet-50'
97
+ ? 'bg-card text-brand hover:bg-brand/10'
98
98
  : tone === 'ghost'
99
- ? 'border border-zinc-300 text-zinc-700 hover:bg-zinc-50'
100
- : 'bg-violet-600 text-white hover:bg-violet-700'
99
+ ? 'border border-border text-foreground hover:bg-muted'
100
+ : 'bg-brand text-white hover:bg-brand'
101
101
  // Editor preview: links are inert (preventDefault) so clicking content
102
102
  // selects the section instead of navigating away.
103
103
  return (
@@ -81,7 +81,7 @@ export function PostEditorCanvas({
81
81
  >
82
82
  <div
83
83
  ref={surfaceRef}
84
- className="border-border origin-top overflow-hidden rounded-xl border bg-white shadow-sm"
84
+ className="border-border bg-card origin-top overflow-hidden rounded-xl border shadow-sm"
85
85
  style={{ width: vp.width, transform: `scale(${scale})`, transformOrigin: 'top left' }}
86
86
  >
87
87
  <PostHeader config={header} context={context} />
@@ -115,10 +115,10 @@ function EmptyBody({ onAddSection }: { onAddSection: () => void }) {
115
115
  // which carries a guaranteed-contrast foreground in both modes.
116
116
  return (
117
117
  <div className="flex flex-col items-center justify-center gap-3 border-t border-zinc-100 px-6 py-16 text-center">
118
- <span className="flex h-12 w-12 items-center justify-center rounded-full bg-zinc-100">
119
- <FileText className="h-5 w-5 text-zinc-400" aria-hidden />
118
+ <span className="bg-muted flex h-12 w-12 items-center justify-center rounded-full">
119
+ <FileText className="text-muted-foreground h-5 w-5" aria-hidden />
120
120
  </span>
121
- <p className="text-sm text-zinc-500">
121
+ <p className="text-muted-foreground text-sm">
122
122
  The header is set by the template. Add body sections to build out this post.
123
123
  </p>
124
124
  <button
@@ -31,10 +31,10 @@ export function PostHeader({ config, context }: PostHeaderProps) {
31
31
  <div
32
32
  className={`mt-4 flex flex-wrap gap-x-3 gap-y-1 text-sm ${
33
33
  config.layout === 'centered' ? 'justify-center' : ''
34
- } ${overlay ? 'text-white/80' : 'text-zinc-500'}`}
34
+ } ${overlay ? 'text-white/80' : 'text-muted-foreground'}`}
35
35
  >
36
36
  {config.showCategory && context.category && (
37
- <span className="font-medium text-violet-500">{context.category}</span>
37
+ <span className="text-brand font-medium">{context.category}</span>
38
38
  )}
39
39
  {config.showAuthor && <span>{context.author?.name || 'Author name'}</span>}
40
40
  {date && <span>{date}</span>}
@@ -61,13 +61,13 @@ export function PostHeader({ config, context }: PostHeaderProps) {
61
61
  }
62
62
 
63
63
  return (
64
- <header className="bg-white px-6 pt-12 pb-2">
64
+ <header className="bg-card px-6 pt-12 pb-2">
65
65
  <div
66
66
  className={`flex max-w-3xl flex-col ${align} ${config.layout === 'centered' ? 'mx-auto' : ''}`}
67
67
  >
68
- <h1 className="text-3xl font-medium tracking-tight text-zinc-900 sm:text-4xl">{title}</h1>
68
+ <h1 className="text-foreground text-3xl font-medium tracking-tight sm:text-4xl">{title}</h1>
69
69
  {config.showExcerpt && context.excerpt && (
70
- <p className="mt-3 max-w-2xl text-lg text-zinc-600">{context.excerpt}</p>
70
+ <p className="text-muted-foreground mt-3 max-w-2xl text-lg">{context.excerpt}</p>
71
71
  )}
72
72
  {meta}
73
73
  </div>
@@ -92,7 +92,7 @@ export function PostHeaderPanel({ header, canEdit, onClose, onChange }: PostHead
92
92
  }`}
93
93
  >
94
94
  <span
95
- className={`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${
95
+ className={`bg-card inline-block h-4 w-4 transform rounded-full transition-transform ${
96
96
  value ? 'translate-x-4' : 'translate-x-0.5'
97
97
  }`}
98
98
  />
@@ -114,7 +114,7 @@ export function PostPreview({ postType, documentId, session, onNavigate }: PostP
114
114
  </button>
115
115
  </div>
116
116
 
117
- <div className="flex-1 overflow-auto bg-white">
117
+ <div className="bg-card flex-1 overflow-auto">
118
118
  <PostHeader config={header} context={context} />
119
119
  {visible.map((section) => (
120
120
  <SectionRenderer key={section.id} section={section} context={context} />
@@ -294,7 +294,7 @@ export function AccountSecurity() {
294
294
  <ol className="text-foreground list-decimal space-y-4 pl-5 text-sm">
295
295
  <li>
296
296
  <p className="font-medium">Scan this QR code with your authenticator app.</p>
297
- <div className="border-border mt-2 inline-flex rounded-lg border bg-white p-3">
297
+ <div className="border-border bg-card mt-2 inline-flex rounded-lg border p-3">
298
298
  <QRCodeSVG
299
299
  value={mfa.enrollment.uri}
300
300
  size={160}
@@ -188,7 +188,7 @@ export function SettingsToggleRow({
188
188
  }`}
189
189
  >
190
190
  <span
191
- className={`absolute top-0.5 block h-5 w-5 rounded-full bg-white shadow-sm transition-transform ${
191
+ className={`bg-card absolute top-0.5 block h-5 w-5 rounded-full shadow-sm transition-transform ${
192
192
  checked ? 'translate-x-[22px]' : 'translate-x-0.5'
193
193
  }`}
194
194
  />