Bookmark widget (#890)

* 🚧 Bookmark widget

*  Add input type

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>

*  Add content display and input fields

* 🐛 Fix delete button updating to invalid schema

* 🌐 Add translations for options

*  Add field for image

* ♻️ Refactor IconSelector and add forward ref

* 🦺 Add form validation

* 🦺 Add validation for icon url and fix state for icon picker

* 🌐 PR feedback

---------

Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
This commit is contained in:
Manuel
2023-05-15 09:54:50 +02:00
committed by GitHub
parent 194da2b6e5
commit c52acd2913
14 changed files with 708 additions and 210 deletions

View File

@@ -39,6 +39,7 @@ export type IWidgetOptionValue =
| ISelectOptionValue
| INumberInputOptionValue
| IDraggableListInputValue
| IDraggableEditableListInputValue<any>
| IMultipleTextInputOptionValue;
// Interface for data type
@@ -107,6 +108,18 @@ export type IDraggableListInputValue = {
>;
};
export type IDraggableEditableListInputValue<TData extends { id: string }> = {
type: 'draggable-editable-list';
defaultValue: TData[];
create: () => TData;
getLabel: (data: TData) => string | JSX.Element;
itemComponent: (props: {
data: TData;
onChange: (data: TData) => void;
delete: () => void;
}) => JSX.Element;
};
// will show a text-input with a button to add a new line
export type IMultipleTextInputOptionValue = {
type: 'multiple-text';