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 diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.css b/packages/root-cms/ui/components/DocEditor/DocEditor.css index cdf71cf3..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,6 +413,8 @@ .DocEditor__ArrayField__add { margin-top: 16px; + display: flex; + gap: 4px; } .DocEditor__OneOfField__select { diff --git a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx index 92771bf3..08e2776e 100644 --- a/packages/root-cms/ui/components/DocEditor/DocEditor.tsx +++ b/packages/root-cms/ui/components/DocEditor/DocEditor.tsx @@ -1240,6 +1240,7 @@ DocEditor.ArrayField = (props: FieldProps) => { const addButtonRow = (
+ + + + } + > + CLIPBOARD + } + onClick={() => pasteFromVirtualClipboard(order.length - 1)} + > + Paste item to end + +
); @@ -1379,21 +1397,21 @@ DocEditor.ArrayField = (props: FieldProps) => { > INSERT } onClick={() => insertBefore(i)} > Add before } onClick={() => insertAfter(i)} > Add after } onClick={() => duplicate(i)} > @@ -1401,14 +1419,14 @@ DocEditor.ArrayField = (props: FieldProps) => { CLIPBOARD } onClick={() => copyToVirtualClipboard(i)} > Copy } onClick={async () => pasteBefore(i, await virtualClipboard.get()) @@ -1417,7 +1435,7 @@ DocEditor.ArrayField = (props: FieldProps) => { Paste before } onClick={async () => pasteAfter(i, await virtualClipboard.get()) @@ -1427,7 +1445,7 @@ DocEditor.ArrayField = (props: FieldProps) => { CODE } onClick={() => editJson(i)} > @@ -1435,7 +1453,7 @@ DocEditor.ArrayField = (props: FieldProps) => { {experiments.ai && ( } @@ -1446,7 +1464,7 @@ DocEditor.ArrayField = (props: FieldProps) => { )} REMOVE } onClick={() => removeAt(i)} >