From 6f1d5b736dce6c5beb71c9d1b5ec810e653a45bf Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Sun, 5 Apr 2026 19:44:00 -0300 Subject: [PATCH 1/3] feat: add themeable action toolbar hooks Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- src/components/DraggableElement.vue | 83 +++++++++++++++++++++++------ 1 file changed, 67 insertions(+), 16 deletions(-) diff --git a/src/components/DraggableElement.vue b/src/components/DraggableElement.vue index 549a4b4..ec9ca8c 100644 --- a/src/components/DraggableElement.vue +++ b/src/components/DraggableElement.vue @@ -7,16 +7,36 @@ SPDX-License-Identifier: AGPL-3.0-or-later
- - -
From a662b5d483b6c7d4a21566fc8190139f6ec65da5 Mon Sep 17 00:00:00 2001 From: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> Date: Sun, 5 Apr 2026 19:44:02 -0300 Subject: [PATCH 3/3] docs: document action slot hooks and theme variables Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com> --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/README.md b/README.md index d47901c..b69aa8a 100644 --- a/README.md +++ b/README.md @@ -69,3 +69,55 @@ Example: - `element-{type}` - Custom element rendering (e.g., `element-signature`) - `custom` - Fallback for elements without specific type - `actions` - Custom action buttons + +#### `actions` slot props + +The `actions` slot receives: + +- `object` +- `onDelete` +- `onDuplicate` +- `toolbarClass` (`pdf-elements-actions-toolbar`) +- `actionClass` (`pdf-elements-action-btn`) +- `actionAttrs` (`{ 'data-pdf-elements-action': 'true' }`) + +Use these hooks to style third-party button components consistently (for example, Nextcloud `NcButton`) without relying on internal scoped selectors. + +Example: + +```vue + +``` + +### Theme variables + +Action toolbar and action buttons can be themed via CSS variables and follow host theme tokens by default. + +| Variable | Description | +|---|---| +| `--pdf-elements-toolbar-gap` | Toolbar button gap | +| `--pdf-elements-toolbar-padding` | Toolbar padding | +| `--pdf-elements-toolbar-background` | Toolbar background color | +| `--pdf-elements-toolbar-color` | Toolbar text/icon color | +| `--pdf-elements-toolbar-border-color` | Toolbar border color | +| `--pdf-elements-toolbar-border-radius` | Toolbar border radius | +| `--pdf-elements-toolbar-shadow` | Toolbar shadow | +| `--pdf-elements-action-btn-border` | Action button border | +| `--pdf-elements-action-btn-background` | Action button background | +| `--pdf-elements-action-btn-color` | Action button text/icon color | +| `--pdf-elements-action-btn-padding` | Action button padding | +| `--pdf-elements-action-btn-radius` | Action button border radius | +| `--pdf-elements-action-btn-min-height` | Action button min height | +| `--pdf-elements-action-btn-min-width` | Action button min width | +| `--pdf-elements-action-btn-shadow` | Action button shadow | +| `--pdf-elements-action-btn-hover-background` | Action button hover background |