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.
33 lines
919 B
33 lines
919 B
import type { Morfo } from '../types';
|
|
|
|
/**
|
|
* Box — universal box-model utility (layout primitive).
|
|
*
|
|
* Eidos-native: the recipe is entirely CSS-variable driven. Every public
|
|
* prop maps to a `--box-{prop}` custom property and the consumer just
|
|
* sees a single `<div data-box>` shell. No semantic events — Box is a
|
|
* pure visual / structural primitive, like the avatar / icon shells.
|
|
*
|
|
* Justification for 0-event surface: Box does not commit, emerge or
|
|
* react to anything. It is a passive container that styles its children
|
|
* via the cascade. Adding events would manufacture semantics the
|
|
* primitive doesn't carry.
|
|
*/
|
|
export const boxMorfo = {
|
|
name: 'Box',
|
|
kebab: 'box',
|
|
scope: ['eidos'],
|
|
parts: [
|
|
{
|
|
name: 'Provider',
|
|
kebab: 'provider',
|
|
archetype: 'provider',
|
|
kind: 'public',
|
|
defaultElement: 'div',
|
|
optional: false,
|
|
data: [],
|
|
aria: []
|
|
}
|
|
]
|
|
} as const satisfies Morfo;
|