@nomosui/react 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +6 -2
- package/dist/index.js +159 -41
- package/dist/mcp/bin.js +82 -60
- package/dist/types/components/timeline/timeline.d.ts +15 -1
- package/dist/types/composites/index.d.ts +19 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -4,16 +4,30 @@ import type { HTMLAttributes } from 'react';
|
|
|
4
4
|
* Présentation seule — l'ordre, le format de `at` et le texte viennent de l'appelant.
|
|
5
5
|
* Aucune donnée d'app, aucun état.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
type TimelineItemBase = {
|
|
8
8
|
id: string;
|
|
9
9
|
/** La date/l'heure déjà formatée, fournie par l'appelant. */
|
|
10
10
|
at: string;
|
|
11
11
|
label: string;
|
|
12
12
|
detail?: string;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* L'état du point est une **intention** (`done` par défaut, `past` grisé), comme le
|
|
16
|
+
* `tone` d'`Alert` — pas une couleur. La couleur seule ne suffit pas (WCAG) : un point
|
|
17
|
+
* `past` porte obligatoirement `stateLabel`, le texte accessible fourni par l'app (le
|
|
18
|
+
* cœur n'a pas d'i18n).
|
|
19
|
+
*/
|
|
20
|
+
export type TimelineItem = TimelineItemBase & ({
|
|
21
|
+
state?: 'done';
|
|
22
|
+
stateLabel?: string;
|
|
23
|
+
} | {
|
|
24
|
+
state: 'past';
|
|
25
|
+
stateLabel: string;
|
|
26
|
+
});
|
|
14
27
|
export type TimelineProps = HTMLAttributes<HTMLOListElement> & {
|
|
15
28
|
items: TimelineItem[];
|
|
16
29
|
/** Le nom accessible de la frise ; le cœur n'a pas d'i18n. */
|
|
17
30
|
ariaLabel?: string;
|
|
18
31
|
};
|
|
19
32
|
export declare function Timeline({ items, ariaLabel, className, ...props }: TimelineProps): import("react").JSX.Element;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Les **scènes composites** (ADR 0019) : plusieurs briques du catalogue assemblées en une
|
|
4
|
+
* vue qui a du sens pour un agent — un formulaire complet, une carte de statut. Elles ne
|
|
5
|
+
* sont pas au catalogue des composants : ce sont des **rendus**, servis comme vues MCP
|
|
6
|
+
* Apps (`ui://nomos/composite/<nom>`) et exposés sur la surface publique JS (ADR 0031).
|
|
7
|
+
* Aucune n'écrit ni ne possède d'état, et leurs défauts sont neutres : la copie se
|
|
8
|
+
* **injecte par props** (ADR 0002).
|
|
9
|
+
*/
|
|
10
|
+
export type Composite = {
|
|
11
|
+
name: string;
|
|
12
|
+
title: string;
|
|
13
|
+
summary: string;
|
|
14
|
+
/** Rend la scène pour des données propres à la scène (ADR 0023) ; sans données, son rendu par défaut. */
|
|
15
|
+
render: (props?: Record<string, unknown>) => ReactElement;
|
|
16
|
+
};
|
|
17
|
+
export declare const composites: Composite[];
|
|
18
|
+
export declare const compositeNames: string[];
|
|
19
|
+
export declare function findComposite(name: string): Composite;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -153,6 +153,8 @@ export { catalogue, componentNames, findComponent, validateCatalogue } from './c
|
|
|
153
153
|
export type { CatalogueEntry } from './catalogue/registry';
|
|
154
154
|
export { componentManifestSchema } from './catalogue/contract';
|
|
155
155
|
export type { ComponentManifest, ComponentProp, ComponentUsage, ComponentVariant, } from './catalogue/contract';
|
|
156
|
+
export { composites, compositeNames, findComposite } from './composites';
|
|
157
|
+
export type { Composite } from './composites';
|
|
156
158
|
export { cn } from './lib/cn';
|
|
157
159
|
export { TONES, toneClasses } from './lib/tone';
|
|
158
160
|
export type { Tone } from './lib/tone';
|
package/package.json
CHANGED