From 97798f00975abbc63fc5771a1b2eae63d69995d4 Mon Sep 17 00:00:00 2001 From: Alexander Platov <sas_lord@mail.ru> Date: Wed, 1 Sep 2021 18:12:50 +0300 Subject: [PATCH] Add maxWidth in EditBox (#117) Signed-off-by: Alexander Platov <sas_lord@mail.ru> --- packages/ui/src/components/EditBox.svelte | 13 +++++++------ .../src/components/SocialEditor.svelte | 8 +++++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/ui/src/components/EditBox.svelte b/packages/ui/src/components/EditBox.svelte index 06a611f758..2a258aa768 100644 --- a/packages/ui/src/components/EditBox.svelte +++ b/packages/ui/src/components/EditBox.svelte @@ -19,7 +19,7 @@ import Label from './Label.svelte' export let label: IntlString | undefined - export let width: string | undefined + export let maxWidth: string | undefined export let value: string | undefined export let placeholder: string = 'placeholder' export let password: boolean = false @@ -29,6 +29,9 @@ let text: HTMLElement let input: HTMLInputElement + let style: string + + $: style = maxWidth ? `max-width: ${maxWidth};` : '' function computeSize(t: EventTarget | null) { const target = t as HTMLInputElement @@ -47,16 +50,14 @@ }) </script> -<div class="container" style="{width ? 'width: ' + width : ''}" - on:click={() => { input.focus() }} -> +<div class="container" on:click={() => { input.focus() }}> <div class="hidden-text" bind:this={text}></div> {#if label}<div class="label"><Label label={label}/></div>{/if} <div class="wrap"> {#if password} - <input bind:this={input} type="password" bind:value {placeholder} on:input={(ev) => ev.target && computeSize(ev.target)} /> + <input bind:this={input} type="password" bind:value {placeholder} {style} on:input={(ev) => ev.target && computeSize(ev.target)} /> {:else} - <input bind:this={input} type="text" bind:value {placeholder} on:input={(ev) => ev.target && computeSize(ev.target)} /> + <input bind:this={input} type="text" bind:value {placeholder} {style} on:input={(ev) => ev.target && computeSize(ev.target)} /> {/if} </div> </div> diff --git a/plugins/recruit-resources/src/components/SocialEditor.svelte b/plugins/recruit-resources/src/components/SocialEditor.svelte index 3a41f41c95..00aca6c33e 100644 --- a/plugins/recruit-resources/src/components/SocialEditor.svelte +++ b/plugins/recruit-resources/src/components/SocialEditor.svelte @@ -56,13 +56,13 @@ <div class="popup-block"> <span>Contact</span> {#each providers as provider, i} - <EditBox label={provider.label} placeholder={'+7 (000) 000-00-00'} bind:value={newValues[i].value}/> + <EditBox label={provider.label} placeholder={'+7 (000) 000-00-00'} bind:value={newValues[i].value} maxWidth={'12.5rem'}/> {/each} </div> <!-- <div class="popup-block"> <span>SOCIAL LINKS</span> - <EditBox label={'Twitter'} placeholder={'@rosychen'} /> - <EditBox label={'Facebook'} placeholder={'facebook/rosamundch'} /> + <EditBox label={'Twitter'} placeholder={'@rosychen'} maxWidth={'12.5rem'} /> + <EditBox label={'Facebook'} placeholder={'facebook/rosamundch'} maxWidth={'12.5rem'} /> </div> --> <Button label="Apply" on:click={() => { dispatch('close', newValues) }}/> </div> @@ -72,6 +72,8 @@ display: flex; flex-direction: column; padding: 1.5rem 1.25rem; + width: 15rem; + max-width: 15rem; color: var(--theme-caption-color); background-color: var(--theme-button-bg-hovered); border: 1px solid var(--theme-button-border-enabled);