@nadicodeai/design-system 12.1.87 → 12.1.89

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/DESIGN.md CHANGED
@@ -571,7 +571,7 @@ Content stays solid: cards, KPIs, tables, chat, forms, and dialog, sheet and dra
571
571
 
572
572
  Related membership collections share one tabbed workspace: Members, Invitations and, where supported, Teams. One collection is visible at a time and its selection is retained in the URL.
573
573
 
574
- **Product views on the website** preserve the real interface. Nadia uses captures of the running application, with demonstration content labelled and the unchanged full-size image linked, following the founder's 12 October correction of invented UI. Portal and Alveare may use inert scenes built from real components with labelled example data. Never invent interface controls or frame a view in a device mockup. A product window takes the raised height on its ground; a card that overlaps it floats. Live components use dark mode in a black section; captures preserve the application's captured theme.
574
+ **Product views on the website** preserve the real interface. Nadia uses captures of the running application, with the unchanged full-size image linked and capture provenance recorded in the repository, following the founder's 12 October correction of invented UI. Portal and Alveare may use inert scenes built from real components with fictional example data recorded in the repository. Never invent interface controls or frame a view in a device mockup. A product window takes the raised height on its ground; a card that overlaps it floats. Live components use dark mode in a black section; captures preserve the application's captured theme.
575
575
 
576
576
  Absence follows its container. The Portal uses plain operational empty states throughout: no collection illustrations, a solid boundary for a page or region, and the same spacing and typography for first use, no data, and no results. Other products may use the illustrated register with a dashed boundary. In every product, an empty state inside a card is unframed, because the card already owns the edge. `EmptyState` (`@nadicodeai/ui/components/empty-state`) is the only owner of an absence: nothing else draws one, and its `scope` (`page`, `region` or `card`) sets that frame. A collection's `DataTable` takes the same props as `empty`. Its kind determines the message and recovery; presentation determines whether first-use artwork is present:
577
577
 
@@ -817,7 +817,7 @@ The Portal, Nadia and Alveare draw every status with the one `StatusBadge` in `@
817
817
 
818
818
  ### System activity
819
819
 
820
- Who does the work decides how it looks. An Agent's work is that Agent's orb in its state and a sentence saying what it does. The system's own work never takes an orb:
820
+ Who does the work decides how it looks. An Agent's work is that Agent's orb in its state and a sentence saying what it does. The system's own work never takes an orb; inside a conversation there is no system's work, only hers and the person's ("Agent orbs"):
821
821
 
822
822
  | The wait | What shows |
823
823
  | --- | --- |
@@ -850,7 +850,7 @@ An Agent is its orb, in every product; there is no other Agent picture. An orb i
850
850
  - **States.** Idle turns at its form's own pace and breathes. Working and thinking move with their cue, the ribbon around working and three dots above thinking, waiting holds, blocked makes one interrupted effort and stops, and done celebrates once and settles back into idle. A surface that only knows a machine checked in draws idle. No state draws a circle around the orb, and a label names the state wherever the exact state matters.
851
851
  - **Status and ambient.** An orb that stands for an Agent shows its real state. An orb in decorative artwork, such as a sign-in picture, takes ambient motion: its form moves at its own pace with no state pose or cue, and it claims no activity.
852
852
  - **Reduced motion.** Movement stops; a thinking or working orb breathes between full ink and 0.45 opacity so busy still reads as busy, and an ambient orb holds still.
853
- - **In a conversation.** Her states are the conversation's own: the orb in its header follows them, and every mark of her activity in the thread is her own orb in her real state, never another Agent's figure, a spinner, a ticker or a pulse. Her steps and tool calls hold still and say in words what they do or did, with a tool's kind as a decorative icon beside the words and no state of its own; a system wait inside the thread is the waiting line ("System activity"), the outcome of a step or a request is the `StatusBadge`, and a failed turn is the `MessageNotice`. Ruled by the owner on 11 October 2026: the Agent's states are the chat's default states, not random icons.
853
+ - **In a conversation.** Her states are the conversation's own: the orb in its header follows them, and every mark of her activity in the thread is her own orb in her real state, never another Agent's figure, a spinner, a ticker or a pulse. Her steps and tool calls hold still and say in words what they do or did, with a tool's kind as a decorative icon beside the words and no state of its own; the outcome of a step or a request is the `StatusBadge`, and a failed turn is the `MessageNotice`. A conversation has two actors, her and the person, and every wait in it belongs to one of them. Everything she does, including what follows the person's approval or answer, is her orb in its state: working once Run is pressed, thinking once a question is answered, waiting while an approval or a question waits for the person, blocked when a turn fails, done once when she finishes. The person's own action in progress shows on what they made: a file fills as it uploads, the microphone shows it records. A pressed control keeps its place and changes only its word. The waiting line is for the window's own loading, outside the conversation. Ruled by the owner on 11 October 2026: the Agent's states are the chat's default states, not random icons; and on 13 October 2026: the person never meets "the app" in a conversation, only the Agent.
854
854
 
855
855
  Text sits beside an orb, never on it.
856
856
 
@@ -868,7 +868,7 @@ A recognised app, platform or model maker is drawn with its genuine mark beside
868
868
 
869
869
  ### Product views
870
870
 
871
- Website product views follow "Product views on the website" in [Elevation & Depth](#elevation--depth): authentic captures or real-component scenes, with demonstration content identified. Preserve the product's register and interface. Crop to the detail being explained; retain an original-image link for captures and never frame a view in a device.
871
+ Website product views follow "Product views on the website" in [Elevation & Depth](#elevation--depth): authentic captures or real-component scenes, with provenance recorded in the repository. Preserve the product's register and interface. Crop to the detail being explained; retain an original-image link for captures and never frame a view in a device.
872
872
 
873
873
  ### CSS components
874
874
 
@@ -916,7 +916,7 @@ The clear space is one stroke width of the rendered logo on every side. The mini
916
916
  - **Website.** The page grammar is "The website column": full-bleed sections on white, soft and black grounds, alternating, with product views on them. Its cards are outlined; its product views take their real heights.
917
917
  - **Portal.** A product shell on the workspace ground, built from the page compositions and the package components, with `globals.css` giving every elevated surface its tone.
918
918
  - **Nadia.** Nadia draws her own window through Hermes's `window.shell` area, inside Hermes's app, which owns Tailwind and its own surface layering. Nadia's theme paints Hermes's roles with the shared `semantic` roles and core radii, and imports `@nadicodeai/ui/components.css` with the design system's host stylesheet, so the package components render with the same recipes and glass. The window follows the operating system's material where the system composites it. Hermes answers reduced motion by cutting every transition and animation; Nadia's stylesheet gives her own parts, the package overlays, the entry screen and the waiting line, the reduced-motion policy in "Motion" back.
919
- Her conversation is one centred column of `56rem` holding her replies, the person's messages and the chat bar: her reply is plain text across the column, only the person's message is a bubble, on the `raised` step at the column's trailing edge, and the chat bar floats over the messages as the lightest step, in glass. The selected Agent row carries the sidebar's selected fill, as the Agents list draws it.
919
+ Her conversation is one centred column of `56rem` holding her replies, the person's messages and the chat bar: her reply is plain text across the column, only the person's message is a bubble, grey (`{colors.canvas-soft-2}`) at the `raised` height in both modes, at the column's trailing edge, and the chat bar floats over the messages as the lightest step, in glass. The selected Agent row carries the sidebar's selected fill, as the Agents list draws it.
920
920
  - **Alveare.** The desktop keeps Buzz's components and layout, styled through an adapter as Nadia styles Hermes: Buzz's colour roles read the shared `semantic` roles, every text takes a type role, and Buzz's shared components take the package's geometry, states, focus and motion, over the design system's host stylesheet and `@nadicodeai/ui/components.css`.
921
921
 
922
922
  ## Do's and Don'ts
@@ -925,7 +925,7 @@ The clear space is one stroke width of the rendered logo on every side. The mini
925
925
  - Do use the identity hues at full strength in the places "Colour as stage" lists, with the text pole that clears AA. Don't tint them, grade them, or paint a control, chrome or a status with them.
926
926
  - Do choose a surface's height by its physical role, and let its edge and faint shadow show it in both modes. Don't add a border, ring or second shadow to an elevated surface.
927
927
  - Do put glass on floating chrome over content that scrolls or moves under it. Don't make content glass, or put glass over a plain ground.
928
- - Do show authentic captures or real-component scenes as "Product views on the website" specifies, with demonstration content identified. Don't use device frames or invented interfaces.
928
+ - Do show authentic captures or real-component scenes as "Product views on the website" specifies, with provenance recorded in the repository. Don't use device frames or invented interfaces.
929
929
  - Do give each thing the corner its role takes on the scale ("Shapes"). Don't give a higher surface a bigger corner.
930
930
  - Do give every line one owner, and draw focus only with the focus outline.
931
931
  - Do say a status with a Badge tone, a mark and a word. Don't use colour alone or a bare dot.
package/GLOSSARY.md CHANGED
@@ -58,7 +58,7 @@ The identity of one Agent across products: one of seven forms in one chosen colo
58
58
  _Avoid_: Agent glyph, Agent avatar, Agent visual
59
59
 
60
60
  **Product view**:
61
- A live, inert fragment of the Portal, Nadia or Alveare on the website, built from the real components with example data marked as example.
61
+ An authentic capture or inert fragment of the Portal, Nadia or Alveare on the website. Capture provenance and fictional data are recorded internally; production notes do not appear on the public page.
62
62
 
63
63
  **System activity**:
64
64
  What a person sees while the system does work they asked for: a pending label, then one waiting line, a counted progress line, or still skeletons. It never takes an orb, because an orb means an Agent.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadicodeai/design-system",
3
- "version": "12.1.87",
3
+ "version": "12.1.89",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"