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.
62 lines
2.4 KiB
62 lines
2.4 KiB
/**
|
|
* Cross-cutting attrs the EIDOS layer owns — stamped by wrappers or shared
|
|
* styling hooks, deliberately NOT part of any morfo contract (the signed
|
|
* "visual wrapper attrs do not enter the morfo" doctrine; `data-combobox-
|
|
* control` set the precedent for hooks that squat a component's namespace).
|
|
*
|
|
* Consumed by BOTH instruments so they cannot drift apart (P0 fase A, audit
|
|
* 2026-08-26): `eidos-lint-all` classifies CSS selectors with it, and
|
|
* `morfo-check` skips these names in its undeclared-attr sweep.
|
|
*/
|
|
export const EIDOS_ONLY_ATTRS = new Set([
|
|
'data-archetype',
|
|
// Aura's status part default rendering: two internal spans styled by
|
|
// aura.css. Structural hooks squatting the aura namespace, not parts —
|
|
// no registration, no id, no provider surface.
|
|
'data-aura-status-label',
|
|
'data-aura-status-detail',
|
|
'data-block',
|
|
// Shared calendar-surface sizing hook (`src/uix/eidos/lib/calendar-surface.css`):
|
|
// calendar / month-grid / year-grid / range-calendar wrappers stamp it.
|
|
// Squats the calendar namespace the way data-combobox-control squats combobox's.
|
|
'data-calendar-surface',
|
|
'data-collapsed',
|
|
'data-combobox-control',
|
|
'data-color',
|
|
'data-columns',
|
|
'data-dragging',
|
|
// The sema stamp (`src/uix/sema/stamp.ts`), not a morfo part. Allowlisted
|
|
// STRUCTURALLY only — the VALUE is validated against the morfo catalogue
|
|
// by `lintEventValues` in eidos-lint-all.
|
|
'data-event',
|
|
'data-event-direction',
|
|
'data-event-family',
|
|
'data-event-id',
|
|
'data-event-intent',
|
|
'data-event-phase',
|
|
// Fab's wrapper visual axis (`fab.svelte` stamps it next to data-extended;
|
|
// the recipe sizes off it). Wrapper attr, not contract.
|
|
'data-fab-size',
|
|
'data-fitted',
|
|
'data-icon-only',
|
|
'data-indicator-placement',
|
|
'data-motion',
|
|
'data-motion-disabled',
|
|
'data-position',
|
|
// `data-ready` left this list 2026-08-26: soma stamps it (MeasuredIndicator)
|
|
// and the tabs / radio-group morfos now DECLARE it (stateRef 'ready'), so it
|
|
// is contract, not an eidos-only hook.
|
|
'data-scrollable',
|
|
'data-sheet',
|
|
'data-size',
|
|
'data-floating-wrapper',
|
|
'data-svg',
|
|
'data-svg-direction',
|
|
'data-variant',
|
|
// Waveform's two path copies (remaining + played clipped to the playhead),
|
|
// signed in waveform-wave.svelte and waveform.css as "eidos-only visual
|
|
// hooks (F3)" — rendering structure, not contract parts.
|
|
'data-waveform-played',
|
|
'data-waveform-remaining'
|
|
]);
|