You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 5 months ago | |
| index.ts | 5 months ago | |
| picker-shell-body.svelte | 5 months ago | |
| picker-shell-cancel.svelte | 5 months ago | |
| picker-shell-clear.svelte | 5 months ago | |
| picker-shell-close.svelte | 5 months ago | |
| picker-shell-footer.svelte | 5 months ago | |
| picker-shell-header.svelte | 5 months ago | |
| picker-shell.css | 5 months ago | |
| picker-shell.svelte | 4 months ago | |
| types.ts | 5 months ago | |
README.md
PickerShell (INTERNAL primitive)
Status: Internal layout primitive. Not a public component.
PickerShell is the shared layout chrome used by the five composite pickers:
DatePickerDateRangePickerTimePickerTimeRangePickerColorPicker
Each of those re-exports the picker-shell parts under its own namespace, so apps write <DatePicker.Footer> / <ColorPicker.Clear> / etc., never <PickerShell> directly. The main $uix/eidos barrel intentionally does not export PickerShell.
Why internal
- Zero standalone semantics — no events, no state, no morfo contract beyond a single Provider stub.
- All meaningful behaviour (Clear / Cancel / Close actions) flows through
pickerShellContextregistered by the host picker's provider in soma. - The contract surface that matters for apps is each individual picker's namespace, not the shell.
What lives where
- Morfo declaration:
src/uix/morfo/internal/picker-shell.ts— outsidemorfo/components/so the component audit (which walks public components) does not flag it for the public-artefact ruleset (demo,texts.label, public README requirements). - Soma:
src/uix/soma/components/picker-shell/— thePickerShellHandle+ context machinery the five pickers register against. - Eidos parts (this directory):
picker-shell.svelte— Rootpicker-shell-header.svelte— Header zonepicker-shell-body.svelte— Body zone (where the picker's payload lives)picker-shell-footer.svelte— Footer (action row)picker-shell-clear.svelte— Clear actionpicker-shell-cancel.svelte— Cancel actionpicker-shell-close.svelte— Close action
Adding a new composite picker
- Soma provider registers a
PickerShellHandleviapickerShellContext. - Eidos picker barrel re-exports the shell parts under its namespace:
import Footer from '../picker-shell/picker-shell-footer.svelte';
import Clear from '../picker-shell/picker-shell-clear.svelte';
// …
MyPicker.Footer = Footer;
MyPicker.Clear = Clear;
- Apps use
<MyPicker.Footer>/<MyPicker.Clear>like any other picker.
Closes
audit-codex-full-1.md P1 #5 — "picker-shell existe pero no esta cerrado como pieza de sistema". Closed as INTERNAL primitive per the audit's own recommendation: "Si es interna, no deberia salir como demo publica ni Morfo publico incompleto."