From 3050d273dddacd7dd9b229ebb0da6eb62c643673 Mon Sep 17 00:00:00 2001 From: dev Date: Fri, 15 May 2026 21:30:35 +0200 Subject: [PATCH] Align Select public types and Soma inventory --- src/uix/soma/README.md | 22 +++++++++++++------ src/uix/soma/components/select/exports.ts | 4 ++-- .../select/select-provider.svelte.test.ts | 2 +- .../select/select-provider.svelte.ts | 4 +--- src/uix/soma/components/select/types.ts | 4 +++- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/uix/soma/README.md b/src/uix/soma/README.md index 67be95c32..075c67728 100644 --- a/src/uix/soma/README.md +++ b/src/uix/soma/README.md @@ -1047,16 +1047,24 @@ Referencia completa con todos los pasos en `COMPONENT_GUIDE.md`. Resumen: ### Implemented -Accordion, Checkbox (Group), Collapsible, Combobox, ContextMenu, Dialog (AlertDialog variant), Drawer, DropdownMenu, Editable, LinkPreview, NumberField, Pagination, Popover, RadioGroup, ScrollArea, Select, Slider, Splitter, Stepper, Switch, Tabs, Table, TagsInput, Toast, Toggle (Group), Toolbar, Tooltip, TreeView. +Accordion, AlertDialog, Announce, Breadcrumb, Calendar, Carousel, Checkbox +(Group), Clipboard, Collapsible, ColorField, ColorPicker, Combobox, Command, +ContextMenu, DateField, DatePicker, DateRangeField, DateRangePicker, Dialog, +DragDrop, Drawer, DropdownMenu, Editable, Feed, Field, FileUpload, Form, +GridList, LinkPreview, Listbox, Menubar, Meter, NavigationMenu, NumberField, +Pagination, PinInput, Popover, Progress, RadioGroup, RangeCalendar, +RatingGroup, ScrollArea, SearchField, Select, Slider, Splitter, Stepper, +Switch, Tabs, Table, TagGroup, TagsInput, TimeField, TimePicker, +TimeRangeField, TimeRangePicker, Toast, Toggle (Group), Toolbar, Tooltip, +TreeGrid, TreeView, VirtualGrid and VirtualList. ### Planned -**Tier 2 (menu + form):** Menubar, Command, Field/Form, FileUpload -**Tier 3 (dates):** Calendar, RangeCalendar, DateField, DatePicker, DateRangeField, DateRangePicker -**Tier 4 (time):** TimeField, TimePicker, TimeRangeField -**Tier 5 (color):** ColorPicker, ColorField, ColorRangePicker, ColorRangeField -**Tier 6 (sound):** SoundPicker, SoundRangePicker +No hay tiers planned vigentes en este documento. Nuevas piezas se aceptan solo +si cumplen el criterio de pertenencia de §2 y declaran primero su morfo. ### Visual-native (no soma) -Avatar (eidos-native), Badge, Button, Label, Meter, Progress, Separator, Spinner, PinInput, RatingGroup, ColorPicker, AspectRatio, Typography, Layout, Icon. +Avatar, Icon y SVG son eidos-native hoy. Primitivas de una sola parte como +Badge, Button, Label, Separator, Spinner, AspectRatio, Typography o Layout +deben seguir eidos-native salvo que aparezca behavior compuesto real. diff --git a/src/uix/soma/components/select/exports.ts b/src/uix/soma/components/select/exports.ts index 7db296371..04881e7ec 100644 --- a/src/uix/soma/components/select/exports.ts +++ b/src/uix/soma/components/select/exports.ts @@ -9,9 +9,9 @@ export { default as GroupHeading } from './components/select-group-heading.svelt export { default as Separator } from './components/select-separator.svelte'; export { default as Arrow } from './components/select-arrow.svelte'; -export type { SelectType, ScrollAlignment } from './select-provider.svelte'; - export type { + SelectType, + ScrollAlignment, SelectProps as ProviderProps, SelectTriggerProps as TriggerProps, SelectValueProps as ValueProps, diff --git a/src/uix/soma/components/select/select-provider.svelte.test.ts b/src/uix/soma/components/select/select-provider.svelte.test.ts index 87a7f447e..8af4545ec 100644 --- a/src/uix/soma/components/select/select-provider.svelte.test.ts +++ b/src/uix/soma/components/select/select-provider.svelte.test.ts @@ -11,7 +11,7 @@ import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte import { FloatingProvider } from '$soma/layers/floating'; import { SelectProvider } from './select-provider.svelte'; -import type { ScrollAlignment, SelectType } from './select-provider.svelte'; +import type { ScrollAlignment, SelectType } from './types'; function withEffectRoot(fn: () => T): { result: T; cleanup: () => void } { let result!: T; diff --git a/src/uix/soma/components/select/select-provider.svelte.ts b/src/uix/soma/components/select/select-provider.svelte.ts index ca79f456e..07ae9fbea 100644 --- a/src/uix/soma/components/select/select-provider.svelte.ts +++ b/src/uix/soma/components/select/select-provider.svelte.ts @@ -35,12 +35,10 @@ import { import { selectMorfo } from '../../../morfo/components/select'; import type { SomaRuntime, SomaRuntimePart } from '../../runtime.svelte'; +import type { ScrollAlignment, SelectType } from './types'; const attrs = createAttrs(selectMorfo); -export type SelectType = 'single' | 'multiple'; -export type ScrollAlignment = 'nearest' | 'center' | 'start' | 'end'; - // ── Root ───────────────────────────────────────────────────────────────────── interface SelectOpts diff --git a/src/uix/soma/components/select/types.ts b/src/uix/soma/components/select/types.ts index 9526258de..b5b3967b9 100644 --- a/src/uix/soma/components/select/types.ts +++ b/src/uix/soma/components/select/types.ts @@ -13,7 +13,9 @@ import type { } from '../../types'; import type { DismissalBehavior } from '../../layers/dismissal.svelte'; import type { Side, Align, Boundary } from '../../types'; -import type { SelectType, ScrollAlignment } from './select-provider.svelte'; + +export type SelectType = 'single' | 'multiple'; +export type ScrollAlignment = 'nearest' | 'center' | 'start' | 'end'; export type SelectProps = { /** Unique identifier. Auto-generated if omitted. */