|
|
|
|
@ -31,7 +31,7 @@
|
|
|
|
|
Upload,
|
|
|
|
|
ArrowBigUp,
|
|
|
|
|
ArrowBigDown,
|
|
|
|
|
LayersPlus,
|
|
|
|
|
Plus,
|
|
|
|
|
RotateCcw
|
|
|
|
|
} from '$uix/eidos/components/icon';
|
|
|
|
|
import { getPanelSchema, crumbLabel, PALABRAS_FONTS } from './panel-schema';
|
|
|
|
|
@ -661,9 +661,11 @@
|
|
|
|
|
</Field>
|
|
|
|
|
</div>
|
|
|
|
|
{:else if field.type === 'spacing'}
|
|
|
|
|
<!-- The control OWNS its header row (label + the single link toggle on the
|
|
|
|
|
trailing edge — the ratified mockup) — no external label span. -->
|
|
|
|
|
<div data-palabras-field data-stack>
|
|
|
|
|
<span data-palabras-field-label>{ts(field.label)}</span>
|
|
|
|
|
<PalabrasSpacing
|
|
|
|
|
label={ts(field.label)}
|
|
|
|
|
value={effective(field) as WordsSpacing | undefined}
|
|
|
|
|
{disabled}
|
|
|
|
|
onValueChange={(s) => commit(field, s)}
|
|
|
|
|
@ -703,8 +705,8 @@
|
|
|
|
|
the destination from `loc`. -->
|
|
|
|
|
{#snippet insertMenu()}
|
|
|
|
|
<DropdownMenu>
|
|
|
|
|
<DropdownMenu.Trigger variant="ghost" size="xs" data-words-external-tool>
|
|
|
|
|
{#snippet icon()}<LayersPlus />{/snippet}
|
|
|
|
|
<DropdownMenu.Trigger variant="ghost" size="xs" color="primary" data-words-external-tool>
|
|
|
|
|
{#snippet icon()}<Plus />{/snippet}
|
|
|
|
|
{ts('#?components.palabras.action.insert|Insertar bloque')}
|
|
|
|
|
</DropdownMenu.Trigger>
|
|
|
|
|
<DropdownMenu.Portal>
|
|
|
|
|
@ -777,7 +779,7 @@
|
|
|
|
|
no trip to the breadcrumb above the document. Ancestor crumbs
|
|
|
|
|
activate their node (the panel follows); the current node is inert
|
|
|
|
|
ink; the document crumb is context, not an action. -->
|
|
|
|
|
{#if loc && loc.ancestry.length > 2}
|
|
|
|
|
{#if loc && loc.ancestry.length > 1}
|
|
|
|
|
<nav
|
|
|
|
|
data-palabras-panel-crumbs
|
|
|
|
|
aria-label={ts('#?components.palabras.crumb.path|Ruta del bloque')}
|
|
|
|
|
@ -808,8 +810,9 @@
|
|
|
|
|
<Tabs
|
|
|
|
|
value={tab}
|
|
|
|
|
onValueChange={(v) => (tab = v)}
|
|
|
|
|
variant="line"
|
|
|
|
|
size="xs"
|
|
|
|
|
variant="segmented"
|
|
|
|
|
size="sm"
|
|
|
|
|
fitted
|
|
|
|
|
data-palabras-tabs
|
|
|
|
|
>
|
|
|
|
|
<Tabs.List aria-label={ts('#?components.palabras.action.sections|Secciones del bloque')}>
|
|
|
|
|
|