diff --git a/src/uix/morfo/components/date-range-picker.ts b/src/uix/morfo/components/date-range-picker.ts index 92dd9aadf..870544416 100644 --- a/src/uix/morfo/components/date-range-picker.ts +++ b/src/uix/morfo/components/date-range-picker.ts @@ -258,6 +258,75 @@ export const dateRangePickerMorfo = { } ] }, + // MonthView internal layout slots — stamped by soma, targeted + // by eidos CSS. Flat in the morfo per `month-view-*` namespacing. + { + name: 'MonthViewHeader', + kebab: 'month-view-header', + archetype: 'header', + kind: 'public', + defaultElement: 'div', + optional: true, + data: [], + aria: [] + }, + { + name: 'MonthViewPrev', + kebab: 'month-view-prev', + archetype: 'trigger', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [], + aria: [{ attr: 'type', value: v.literal('button') }] + }, + { + name: 'MonthViewHeading', + kebab: 'month-view-heading', + archetype: 'label', + kind: 'public', + defaultElement: 'span', + optional: true, + data: [], + aria: [] + }, + { + name: 'MonthViewNext', + kebab: 'month-view-next', + archetype: 'trigger', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [], + aria: [{ attr: 'type', value: v.literal('button') }] + }, + { + name: 'MonthViewGrid', + kebab: 'month-view-grid', + archetype: 'group', + kind: 'public', + defaultElement: 'div', + optional: true, + data: [], + aria: [] + }, + { + name: 'MonthViewCell', + kebab: 'month-view-cell', + archetype: 'item', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [ + { attr: 'data-range-start', severity: 'optional' }, + { attr: 'data-range-end', severity: 'optional' }, + { attr: 'data-in-range', severity: 'optional' } + ], + aria: [{ attr: 'type', value: v.literal('button') }] + }, { // Year-view range bridge for `kind='year'`. Symmetric to the // MonthView but with decade pagination. @@ -276,6 +345,75 @@ export const dateRangePickerMorfo = { severity: 'optional' } ] + }, + // YearView internal layout slots — same shape as MonthView's, with + // decade navigation labels. + { + name: 'YearViewHeader', + kebab: 'year-view-header', + archetype: 'header', + kind: 'public', + defaultElement: 'div', + optional: true, + data: [], + aria: [] + }, + { + name: 'YearViewPrev', + kebab: 'year-view-prev', + archetype: 'trigger', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [], + aria: [{ attr: 'type', value: v.literal('button') }] + }, + { + name: 'YearViewHeading', + kebab: 'year-view-heading', + archetype: 'label', + kind: 'public', + defaultElement: 'span', + optional: true, + data: [], + aria: [] + }, + { + name: 'YearViewNext', + kebab: 'year-view-next', + archetype: 'trigger', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [], + aria: [{ attr: 'type', value: v.literal('button') }] + }, + { + name: 'YearViewGrid', + kebab: 'year-view-grid', + archetype: 'group', + kind: 'public', + defaultElement: 'div', + optional: true, + data: [], + aria: [] + }, + { + name: 'YearViewCell', + kebab: 'year-view-cell', + archetype: 'item', + kind: 'public', + defaultElement: 'button', + role: 'button', + optional: true, + data: [ + { attr: 'data-range-start', severity: 'optional' }, + { attr: 'data-range-end', severity: 'optional' }, + { attr: 'data-in-range', severity: 'optional' } + ], + aria: [{ attr: 'type', value: v.literal('button') }] } // Footer / Clear / Cancel / Close — chrome shared via picker-shell; // not declared here. Eidos `(fn: () => T): { result: T; cleanup: () => void } { let result!: T; diff --git a/src/uix/soma/components/radio-group/radio-group-provider.svelte.ts b/src/uix/soma/components/radio-group/radio-group-provider.svelte.ts index 018dbef7f..4456d6966 100644 --- a/src/uix/soma/components/radio-group/radio-group-provider.svelte.ts +++ b/src/uix/soma/components/radio-group/radio-group-provider.svelte.ts @@ -6,7 +6,7 @@ import type { Orientation, Direction, SomaMouseEvent, SomaKeyboardEvent } from ' import { getDirectionalKeys } from '../../keyboard'; import { Soma } from '../../core/soma.svelte'; import type { SomaRuntime, SomaRuntimePart } from '../../runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { radioGroupMorfo } from '../../../morfo/components/radio-group'; diff --git a/src/uix/soma/components/rating-group/rating-group-provider.svelte.ts b/src/uix/soma/components/rating-group/rating-group-provider.svelte.ts index 22d115496..0d7c66065 100644 --- a/src/uix/soma/components/rating-group/rating-group-provider.svelte.ts +++ b/src/uix/soma/components/rating-group/rating-group-provider.svelte.ts @@ -10,7 +10,7 @@ import type { } from '../../types'; import { KEYS, getDirectionalKeys } from '../../keyboard'; import { Soma } from '../../core/soma.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { RATING_GROUP_LANGS } from './langs'; import type { RatingItemDescriptor, RatingItemState } from './types'; diff --git a/src/uix/soma/components/search-field/search-field-provider.svelte.test.ts b/src/uix/soma/components/search-field/search-field-provider.svelte.test.ts index 136e96ee4..eb489aef4 100644 --- a/src/uix/soma/components/search-field/search-field-provider.svelte.test.ts +++ b/src/uix/soma/components/search-field/search-field-provider.svelte.test.ts @@ -8,7 +8,7 @@ import { state } from '$libs/reactive'; import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { SearchFieldClearTriggerProvider, diff --git a/src/uix/soma/components/search-field/search-field-provider.svelte.ts b/src/uix/soma/components/search-field/search-field-provider.svelte.ts index e13126394..2efa827e2 100644 --- a/src/uix/soma/components/search-field/search-field-provider.svelte.ts +++ b/src/uix/soma/components/search-field/search-field-provider.svelte.ts @@ -16,7 +16,7 @@ import type { } from '../../types'; import { KEYS } from '../../keyboard'; import { Soma } from '../../core/soma.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { SEARCH_FIELD_LANGS } from './langs'; import { searchFieldMorfo } from '../../../morfo/components/search-field'; diff --git a/src/uix/soma/components/slider/slider-provider.svelte.test.ts b/src/uix/soma/components/slider/slider-provider.svelte.test.ts index 9a7165819..adb279534 100644 --- a/src/uix/soma/components/slider/slider-provider.svelte.test.ts +++ b/src/uix/soma/components/slider/slider-provider.svelte.test.ts @@ -8,7 +8,7 @@ import { state } from '$libs/reactive'; import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { SliderProvider, diff --git a/src/uix/soma/components/slider/slider-provider.svelte.ts b/src/uix/soma/components/slider/slider-provider.svelte.ts index cff8fe184..d544acb69 100644 --- a/src/uix/soma/components/slider/slider-provider.svelte.ts +++ b/src/uix/soma/components/slider/slider-provider.svelte.ts @@ -6,7 +6,7 @@ import { KEYS, getDirectionalKeys } from '../../keyboard'; import { sliderMorfo } from '../../../morfo/components/slider'; import { Soma } from '../../core/soma.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import type { SomaRuntime, SomaRuntimePart } from '../../runtime.svelte'; import { resolveSliderDragSound, type SemaSignatureOverride } from '$uix/sema'; import type { SliderType } from './types'; diff --git a/src/uix/soma/components/switch/switch-provider.svelte.test.ts b/src/uix/soma/components/switch/switch-provider.svelte.test.ts index 835079b10..ae1342774 100644 --- a/src/uix/soma/components/switch/switch-provider.svelte.test.ts +++ b/src/uix/soma/components/switch/switch-provider.svelte.test.ts @@ -8,7 +8,7 @@ import { state } from '$libs/reactive'; import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { SwitchProvider, SwitchThumbProvider } from './switch-provider.svelte'; diff --git a/src/uix/soma/components/switch/switch-provider.svelte.ts b/src/uix/soma/components/switch/switch-provider.svelte.ts index 5faeaf7e8..561df5c79 100644 --- a/src/uix/soma/components/switch/switch-provider.svelte.ts +++ b/src/uix/soma/components/switch/switch-provider.svelte.ts @@ -4,7 +4,7 @@ import type { OptsFromProps } from '../../provider'; import type { OnChangeFn, SomaMouseEvent } from '../../types'; import { Soma } from '../../core/soma.svelte'; import type { SomaRuntime, SomaRuntimePart } from '../../runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { switchMorfo } from '../../../morfo/components/switch'; import type { SwitchProps } from './types'; diff --git a/src/uix/soma/components/textarea/textarea-provider.svelte.ts b/src/uix/soma/components/textarea/textarea-provider.svelte.ts index 33955a694..3456a92c2 100644 --- a/src/uix/soma/components/textarea/textarea-provider.svelte.ts +++ b/src/uix/soma/components/textarea/textarea-provider.svelte.ts @@ -15,7 +15,7 @@ import type { } from '../../types'; import { KEYS } from '../../keyboard'; import { Soma } from '../../core/soma.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { TEXTAREA_LANGS } from './langs'; import { textareaMorfo } from '../../../morfo/components/textarea'; diff --git a/src/uix/soma/components/time-field/time-field-provider.svelte.test.ts b/src/uix/soma/components/time-field/time-field-provider.svelte.test.ts index 3f0fba1e6..f47a24141 100644 --- a/src/uix/soma/components/time-field/time-field-provider.svelte.test.ts +++ b/src/uix/soma/components/time-field/time-field-provider.svelte.test.ts @@ -16,7 +16,7 @@ import { state } from '$libs/reactive'; import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { TimeFieldProvider } from './time-field-provider.svelte'; diff --git a/src/uix/soma/components/time-field/time-field-provider.svelte.ts b/src/uix/soma/components/time-field/time-field-provider.svelte.ts index 4a890d006..54990df45 100644 --- a/src/uix/soma/components/time-field/time-field-provider.svelte.ts +++ b/src/uix/soma/components/time-field/time-field-provider.svelte.ts @@ -53,7 +53,7 @@ import { setDescription, type Announcer } from '../../datetime'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { TIME_FIELD_LANGS } from './langs'; // ── Contract ───────────────────────────────────────────────────────────────── diff --git a/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.test.ts b/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.test.ts index f161601ca..5ab520468 100644 --- a/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.test.ts +++ b/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.test.ts @@ -18,7 +18,7 @@ import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; import type { Direction } from '../../types'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { TimeRangeFieldLabelProvider, diff --git a/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.ts b/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.ts index 6ed06e900..5e122a78e 100644 --- a/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.ts +++ b/src/uix/soma/components/time-range-field/time-range-field-provider.svelte.ts @@ -14,7 +14,7 @@ import { type TimeGranularity, type HourCycle } from '$libs/days'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { timeRangeFieldMorfo } from '../../../morfo/components/time-range-field'; diff --git a/src/uix/soma/components/toggle/toggle-provider.svelte.test.ts b/src/uix/soma/components/toggle/toggle-provider.svelte.test.ts index 39b5380cf..ff3acd28f 100644 --- a/src/uix/soma/components/toggle/toggle-provider.svelte.test.ts +++ b/src/uix/soma/components/toggle/toggle-provider.svelte.test.ts @@ -8,7 +8,7 @@ import { state } from '$libs/reactive'; import type { Morfo } from '$uix/morfo'; import { Soma } from '$soma/core/soma.svelte'; import { createSomaRuntime, type SomaRuntimeSources } from '$soma/runtime.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { ToggleProvider } from './toggle-provider.svelte'; diff --git a/src/uix/soma/components/toggle/toggle-provider.svelte.ts b/src/uix/soma/components/toggle/toggle-provider.svelte.ts index e6bfac270..50877c440 100644 --- a/src/uix/soma/components/toggle/toggle-provider.svelte.ts +++ b/src/uix/soma/components/toggle/toggle-provider.svelte.ts @@ -1,5 +1,5 @@ import { Soma } from '../../core/soma.svelte'; -import { FieldProvider } from '../field/field-provider.svelte'; +import { FieldProvider } from '../field'; import { toggleMorfo } from '../../../morfo/components/toggle'; import type { OptsFromProps } from '../../provider'; import type { OnChangeFn, SomaMouseEvent } from '../../types';