diff --git a/packages/text-editor/src/components/ReferenceInput.svelte b/packages/text-editor/src/components/ReferenceInput.svelte index c745bfefb6..dfacb1d929 100644 --- a/packages/text-editor/src/components/ReferenceInput.svelte +++ b/packages/text-editor/src/components/ReferenceInput.svelte @@ -25,7 +25,9 @@ handler, registerFocus, showPopup, - tooltip + tooltip, + deviceOptionsStore as deviceInfo, + checkAdaptiveMatching } from '@hcengineering/ui' import { createEventDispatcher } from 'svelte' import { Completion } from '../Completion' @@ -73,6 +75,8 @@ let isEmpty = true $: setContent(content) + $: devSize = $deviceInfo.size + $: shrinkButtons = checkAdaptiveMatching(devSize, 'sm') function setContent (content: string) { textEditor?.setContent(content) @@ -379,7 +383,7 @@ {/if}
-
+
{#each actions as a}
{#if extraActions && extraActions.length > 0} -
+
{#each extraActions as a}
p === kind) + $: devSize = $deviceInfo.size + $: adaptive = adaptiveShrink !== null ? checkAdaptiveMatching(devSize, adaptiveShrink) : false + onMount(() => { if (focus && input) { input.focus() @@ -102,7 +115,7 @@ use:tooltip={showTooltip} bind:this={input} class="antiButton {kind} {size} jf-{justify} sh-{shape ?? 'no-shape'} bs-{borderStyle}" - class:only-icon={iconOnly} + class:only-icon={iconOnly || adaptive} class:no-focus={noFocus} class:accent class:highlight @@ -138,7 +151,7 @@
{/if} - {#if label} + {#if label && !adaptive} diff --git a/packages/ui/src/components/DropdownLabelsIntl.svelte b/packages/ui/src/components/DropdownLabelsIntl.svelte index 24a6b7ff40..3165488310 100644 --- a/packages/ui/src/components/DropdownLabelsIntl.svelte +++ b/packages/ui/src/components/DropdownLabelsIntl.svelte @@ -27,10 +27,11 @@ export let icon: Asset | AnySvelteComponent | undefined = undefined export let label: IntlString = ui.string.DropdownDefaultLabel + export let params: Record = {} export let items: DropdownIntlItem[] export let selected: DropdownIntlItem['id'] | undefined = undefined export let disabled: boolean = false - export let kind: ButtonKind = 'no-border' + export let kind: ButtonKind = 'regular' export let size: ButtonSize = 'small' export let justify: 'left' | 'center' = 'center' export let width: string | undefined = undefined @@ -86,7 +87,7 @@ on:click={openPopup} > - diff --git a/packages/ui/src/components/DropdownLabelsPopupIntl.svelte b/packages/ui/src/components/DropdownLabelsPopupIntl.svelte index 84d69f0257..7fa57832bf 100644 --- a/packages/ui/src/components/DropdownLabelsPopupIntl.svelte +++ b/packages/ui/src/components/DropdownLabelsPopupIntl.svelte @@ -50,7 +50,7 @@ dispatch('close', item.id) }} > -
+
{#if item.id === selected}{/if}
diff --git a/packages/ui/src/components/ModeSelector.svelte b/packages/ui/src/components/ModeSelector.svelte index bcf10dc4cf..5ef71abdfe 100644 --- a/packages/ui/src/components/ModeSelector.svelte +++ b/packages/ui/src/components/ModeSelector.svelte @@ -19,6 +19,7 @@ items={modeList} selected={props.mode} kind={'separated'} + adaptiveShrink={'sm'} on:select={(result) => { if (result.detail !== undefined && result.detail.action) result.detail.action() }} diff --git a/packages/ui/src/components/Panel.svelte b/packages/ui/src/components/Panel.svelte index 166ad3c033..1bf3393cba 100644 --- a/packages/ui/src/components/Panel.svelte +++ b/packages/ui/src/components/Panel.svelte @@ -14,7 +14,7 @@ --> {#if items.length > 0} -
- {#each items as item, i} - -
{ - if (multiselect) { - if (Array.isArray(selected)) { - if (selected.includes(item.id)) selected = selected.filter((it) => it !== item.id) - else selected.push(item.id) - } - } else selected = item.id - dispatch('select', item) - items = items - }} - > - {#if item.icon} -
- -
- {:else if item.color} -
- {/if} - {#if item.label || item.labelIntl} - - {#if item.label} - {item.label} - {:else if item.labelIntl} - - {/if} -
- {/each} -
+ {#if adaptive} + { + const item = items.filter((it) => it.id === e.detail)[0] + if (Array.isArray(selected)) selected[0] = item.id + else selected = item.id + dispatch('select', item) + }} + /> + {:else} +
+ {#each items as item, i} + +
{ + if (multiselect) { + if (Array.isArray(selected)) { + if (selected.includes(item.id)) selected = selected.filter((it) => it !== item.id) + else selected.push(item.id) + } + } else selected = item.id + dispatch('select', item) + items = items + }} + > + {#if item.icon} +
+ +
+ {:else if item.color} +
+ {/if} + {#if item.label || item.labelIntl} + + {#if item.label} + {item.label} + {:else if item.labelIntl} + + {/if} +
+ {/each} +
+ {/if} {/if}