From 47e8b96b03e8a65bc65d7c2e82c7947546569d66 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Thu, 8 Oct 2026 11:26:05 +0200 Subject: [PATCH] docs(web): document the icon type of apps and extensions --- .../extension-types/account-extensions.md | 4 ++-- .../extension-types/action-extensions.md | 2 +- .../app-menu-item-extensions.md | 4 +++- .../floating-action-button-extensions.md | 4 ++-- .../extension-types/folder-view-extensions.md | 2 +- .../left-sidebar-menu-item-extensions.md | 2 +- .../resource-indicator-extensions.md | 8 +++---- .../right-sidebar-panel-extensions.md | 5 ++-- .../web/extension-system/extensions/index.md | 24 +++++++++++++++++++ .../viewer-editor-apps/index.md | 4 +++- 10 files changed, 43 insertions(+), 16 deletions(-) diff --git a/docs/dev/web/extension-system/extensions/extension-types/account-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/account-extensions.md index 42afb6be..9d7da8b4 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/account-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/account-extensions.md @@ -20,7 +20,7 @@ interface AccountExtension { extensionPointIds?: string[] content: Slot | Component label: () => string - icon: string + icon: Icon } ``` @@ -28,7 +28,7 @@ For `id`, `type`, and `extensionPointIds`, please see [base configuration sectio - `content` - The component to render inside the panel. - `label` - Returns the title of the panel. Wrap it in `$gettext` to make it translatable. -- `icon` - The icon of the navigation entry, can be picked from [Remix Icon](https://remixicon.com/). +- `icon` - The icon of the navigation entry, see the [icons section](../index.md#icons). ### Example diff --git a/docs/dev/web/extension-system/extensions/extension-types/action-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/action-extensions.md index 6549b7dd..6726475d 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/action-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/action-extensions.md @@ -27,7 +27,7 @@ For `id`, `type`, and `extensionPointIds`, please see [base configuration sectio The most important configuration options are: -- `icon` - The icon to be displayed, can be picked from [Remix Icon](https://remixicon.com/) +- `icon` - The icon to be displayed, or a function returning it. See the [icons section](../index.md#icons) - `name` - The name of the action (not displayed in the UI) - `label` - The text to be displayed - `route` - The string/route to navigate to. The nav item will be a `` tag. diff --git a/docs/dev/web/extension-system/extensions/extension-types/app-menu-item-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/app-menu-item-extensions.md index d11704e3..7877de54 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/app-menu-item-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/app-menu-item-extensions.md @@ -20,7 +20,7 @@ interface AppMenuItemExtension { label: () => string color?: string handler?: () => Promise | void - icon?: string + icon?: Icon path?: string priority?: number url?: string @@ -37,6 +37,8 @@ A `url` will result in an `` element that links to an external page. External At least one of these properties has to be provided when registering an extension. If you define more than one, the priority order is `handler` > `path` > `url`. +`icon` is the icon of the menu item, see the [icons section](../index.md#icons). + `priority` specifies the order of the menu items. 50 is a good number to start with, then go up/down based on where the item should be placed. Defaults to the highest possible number, so the item will most likely end up at the bottom of the list if you don't specify a `priority`. Leave it empty if unsure what to pick. ## Example diff --git a/docs/dev/web/extension-system/extensions/extension-types/floating-action-button-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/floating-action-button-extensions.md index 7862a2a3..eb214f9c 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/floating-action-button-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/floating-action-button-extensions.md @@ -26,7 +26,7 @@ interface FloatingActionButtonExtension { isVisible?: () => boolean isDisabled?: () => boolean color?: string - icon?: string + icon?: Icon mode: () => 'drop' | 'handler' handler?: () => Promise | void dropComponent?: Component @@ -39,7 +39,7 @@ The `mode` property determines whether the floating action button triggers a han `isDisabled` controls the disabled state of the button whereas `isVisible` determines if the button is showing at all. `tooltip` returns the text of the tooltip, for example to explain why the button is disabled. -`icon` is an icon name string that can be picked from [Remix Icon](https://remixicon.com/). +`icon` is the icon of the button, see the [icons section](../index.md#icons). ### Example diff --git a/docs/dev/web/extension-system/extensions/extension-types/folder-view-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/folder-view-extensions.md index 2f6f2984..f0249f68 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/folder-view-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/folder-view-extensions.md @@ -29,7 +29,7 @@ For the folderView object, you have the following configuration options: - `name` - The name of the action (not displayed in the UI) - `label` - The text to be displayed to the user when switching between different FolderView options -- `icon` - Object, expecting an icon `name` and a corresponding `IconFillType`, see [Remix Icon](https://remixicon.com/) for available options +- `icon` - The icon to be displayed to the user when switching between different FolderView options, see the [icons section](../index.md#icons) - `component` - The Vue component to render the resources. It should expect a prop of type `Resource[]` - `componentAttrs` - Optional function returning additional props for the component mentioned above diff --git a/docs/dev/web/extension-system/extensions/extension-types/left-sidebar-menu-item-extensions.md b/docs/dev/web/extension-system/extensions/extension-types/left-sidebar-menu-item-extensions.md index ed10603c..2a3ce48e 100644 --- a/docs/dev/web/extension-system/extensions/extension-types/left-sidebar-menu-item-extensions.md +++ b/docs/dev/web/extension-system/extensions/extension-types/left-sidebar-menu-item-extensions.md @@ -30,7 +30,7 @@ place your nav item in the left sidebar of that app. The most important configuration options are: -- `icon` - The icon to be displayed, can be picked from [Remix Icon](https://remixicon.com/) +- `icon` - The icon to be displayed, see the [icons section](../index.md#icons) - `name` - The text to be displayed - `route` - The string/route to navigate to, if the nav item should be a `` (Mutually exclusive with `handler`) - `handler` - The action to perform upon click, if the nav item should be a `