diff --git a/src/lib/components/drop.svelte b/src/lib/components/drop.svelte index a1c222e08..2daf57b7f 100644 --- a/src/lib/components/drop.svelte +++ b/src/lib/components/drop.svelte @@ -15,6 +15,8 @@ export let wrapperFullWidth = false; export let fixed = false; export let display = 'block'; + export let arrowSize = 10; + export let isPopover = false; const dispatch = createEventDispatcher<{ blur: undefined; @@ -33,13 +35,14 @@ { name: 'arrow', options: { - element: arrow + element: arrow, + padding: arrowSize * 1.75 } }, { name: 'offset', options: { - offset: [0, noArrow ? 0 : 6] + offset: [-arrowSize, noArrow ? 0 : arrowSize / 1.5] } }, { @@ -113,10 +116,15 @@
-
+
{#if show} {/if} @@ -124,36 +132,50 @@ diff --git a/src/lib/elements/forms/inputDomain.svelte b/src/lib/elements/forms/inputDomain.svelte index d98a8fe2b..c429f8ae3 100644 --- a/src/lib/elements/forms/inputDomain.svelte +++ b/src/lib/elements/forms/inputDomain.svelte @@ -1,5 +1,5 @@
@@ -10,11 +10,8 @@

{@html line}

{/each} - {#if popoverImage} - + {#if image} + {/if}
diff --git a/src/routes/console/project-[project]/messaging/providers/settingsFormInput.svelte b/src/routes/console/project-[project]/messaging/providers/settingsFormInput.svelte index 6bec64045..615e13353 100644 --- a/src/routes/console/project-[project]/messaging/providers/settingsFormInput.svelte +++ b/src/routes/console/project-[project]/messaging/providers/settingsFormInput.svelte @@ -41,7 +41,18 @@ >; export let fullWidth = false; - let popoverImage = input.popoverImage; + const popover = input.popover ? PopoverContent : null; + const popoverProps = getPopoverProps(input); + + function getPopoverProps(input: ProviderInput) { + if (!input.popover) { + return {}; + } + return { + lines: input.popover, + image: input.popoverImage + }; + } {#if input.type === 'text'} @@ -51,13 +62,10 @@ placeholder={input.placeholder} required={!input.optional} tooltip={input.tooltip} - isPopoverDefined={input.popover !== undefined} + {popover} + {popoverProps} {fullWidth} - bind:value={params[input.name]}> - - - - + bind:value={params[input.name]} /> {:else if input.type === 'password'} - - - - + bind:value={params[input.name]} /> {:else if input.type === 'email'} - - - - + bind:value={params[input.name]} /> {:else if input.type === 'domain'} - - - - + bind:value={params[input.name]} /> {:else if input.type === 'phone'} - - - - + bind:value={params[input.name]} /> {:else if input.type === 'file'} - {fullWidth} - - - - + {popover} + {popoverProps} + bind:files={files[input.name]} /> {:else if input.type === 'switch'}