From 9d6da6080a16fabd52250af834d521819fec4768 Mon Sep 17 00:00:00 2001
From: Steven Le <387282+stevenle@users.noreply.github.com>
Date: Tue, 24 Feb 2026 09:48:15 -0800
Subject: [PATCH 1/3] fix(root-cms): add paste option to empty array field UI
---
.../ui/components/DocEditor/DocEditor.css | 5 +++
.../ui/components/DocEditor/DocEditor.tsx | 38 +++++++++++++++----
2 files changed, 35 insertions(+), 8 deletions(-)
diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.css b/packages/root-cms/ui/components/DocEditor/DocEditor.css
index cdf71cf3..c65f1691 100644
--- a/packages/root-cms/ui/components/DocEditor/DocEditor.css
+++ b/packages/root-cms/ui/components/DocEditor/DocEditor.css
@@ -415,6 +415,11 @@
margin-top: 16px;
}
+.DocEditor__ArrayField__add__actions {
+ display: flex;
+ gap: 4px;
+}
+
.DocEditor__OneOfField__select {
display: flex;
gap: 8px;
diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
index 92771bf3..93d7d810 100644
--- a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
+++ b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
@@ -1239,14 +1239,36 @@ DocEditor.ArrayField = (props: FieldProps) => {
const addButtonRow = (
-
}
- onClick={() => add()}
- >
- {field.buttonLabel || 'Add'}
-
+
+ }
+ onClick={() => add()}
+ >
+ {field.buttonLabel || 'Add'}
+
+
+
);
From 7d288f3ae871d724ac64d701a2b132738b2cb142 Mon Sep 17 00:00:00 2001
From: Steven Le
Date: Wed, 25 Feb 2026 16:29:11 -0800
Subject: [PATCH 2/3] chore: update styles
---
.../ui/components/DocEditor/DocEditor.css | 7 +-
.../ui/components/DocEditor/DocEditor.tsx | 72 +++++++++----------
2 files changed, 36 insertions(+), 43 deletions(-)
diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.css b/packages/root-cms/ui/components/DocEditor/DocEditor.css
index c65f1691..5ce4abbf 100644
--- a/packages/root-cms/ui/components/DocEditor/DocEditor.css
+++ b/packages/root-cms/ui/components/DocEditor/DocEditor.css
@@ -380,11 +380,11 @@
background-color: var(--button-background-active);
}
-.DocEditor__ArrayField__item__header__controls__menu__item {
+.DocEditor__ArrayField__menu__item {
padding: 6px 10px;
}
-.DocEditor__ArrayField__item__header__controls__menu__item .mantine-Menu-itemLabel {
+.DocEditor__ArrayField__menu__item .mantine-Menu-itemLabel {
font-size: 12px;
}
@@ -413,9 +413,6 @@
.DocEditor__ArrayField__add {
margin-top: 16px;
-}
-
-.DocEditor__ArrayField__add__actions {
display: flex;
gap: 4px;
}
diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
index 93d7d810..08e2776e 100644
--- a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
+++ b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx
@@ -1239,36 +1239,32 @@ DocEditor.ArrayField = (props: FieldProps) => {
const addButtonRow = (
-
- }
- onClick={() => add()}
+ }
+ onClick={() => add()}
+ >
+ {field.buttonLabel || 'Add'}
+
+
+ Paste item to end
+
+
);
@@ -1401,21 +1397,21 @@ DocEditor.ArrayField = (props: FieldProps) => {
>
INSERT
}
onClick={() => insertBefore(i)}
>
Add before
}
onClick={() => insertAfter(i)}
>
Add after
}
onClick={() => duplicate(i)}
>
@@ -1423,14 +1419,14 @@ DocEditor.ArrayField = (props: FieldProps) => {
CLIPBOARD
}
onClick={() => copyToVirtualClipboard(i)}
>
Copy
}
onClick={async () =>
pasteBefore(i, await virtualClipboard.get())
@@ -1439,7 +1435,7 @@ DocEditor.ArrayField = (props: FieldProps) => {
Paste before
}
onClick={async () =>
pasteAfter(i, await virtualClipboard.get())
@@ -1449,7 +1445,7 @@ DocEditor.ArrayField = (props: FieldProps) => {
CODE
}
onClick={() => editJson(i)}
>
@@ -1457,7 +1453,7 @@ DocEditor.ArrayField = (props: FieldProps) => {
{experiments.ai && (
}
@@ -1468,7 +1464,7 @@ DocEditor.ArrayField = (props: FieldProps) => {
)}
REMOVE
}
onClick={() => removeAt(i)}
>
From b82968fd12a3ee73fbfacebcb133ff96c5870dea Mon Sep 17 00:00:00 2001
From: Steven Le
Date: Wed, 25 Feb 2026 16:29:43 -0800
Subject: [PATCH 3/3] chore: add changeset
---
.changeset/orange-pans-worry.md | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 .changeset/orange-pans-worry.md
diff --git a/.changeset/orange-pans-worry.md b/.changeset/orange-pans-worry.md
new file mode 100644
index 00000000..8c0e455d
--- /dev/null
+++ b/.changeset/orange-pans-worry.md
@@ -0,0 +1,5 @@
+---
+'@blinkk/root-cms': patch
+---
+
+feat: enable paste for empty array fields