newOS Dev Portal

newOS Component Inventory

Complete documentation of 83 input/output components in the newOS platform.

18
Input Components
31
Output Components
3
Hybrid Components
19
React Hooks
12
API Actions

Output Components

Post

Single post renderer

Model/post/Post.tsx

PostWidget30,260 bytes

Full post card with actions

Model/post/PostWidget.tsx

PostActionPanel

Like, share, save actions

Model/post/PostActionPanel.tsx

PostThinkingClaims

AI reasoning/claims display

Model/post/PostThinkingClaims.tsx

ReasoningV222,992 bytes

AI reasoning chain display

Model/post/ReasoningV2.tsx

VotingPostItem

Post with voting UI

Model/post/VotingPostItem.tsx

Folder42,782 bytes

Main folder/mood view - complex

Model/folder/Folder.tsx

FolderWidget

Folder card widget

Model/folder/FolderWidget.tsx

FolderCore38,412 bytes

Core folder layout

Model/folder/Views/FolderCore.tsx

FolderChat35,767 bytes

Chat view inside folder

Model/folder/Views/FolderChat.tsx

FolderAnalytics

Folder analytics dashboard

Model/folder/Views/FolderAnalytics.tsx

FolderInfoWrapper

Folder metadata display

Model/folder/Views/FolderInfoWrapper.tsx

ContributorsWidgets

Folder contributors display

Model/folder/Views/ContributorsWidgets.tsx

User

Basic user display

Model/user/User.tsx

UserAvatar

User avatar with fallback

Model/user/UserAvatar.tsx

UserCard

User summary card

Model/user/UserCard.tsx

UserCardExtended20,046 bytes

Full user profile card

Model/user/UserCardExtended.tsx

UserChip

Inline user mention chip

Model/user/UserChip.tsx

UserFolders

User's folders list

Model/user/UserFolders.tsx

UsersGrid

Grid of users

Model/user/UsersGrid.tsx

Watts

WATTS token display

Model/user/Watts.tsx

outgraph8,629 bytes

Social graph visualization

Model/user/outgraph.tsx

MediaComponent

Universal media renderer

MediaComponents/MediaComponent.tsx

ImageMediaComponent

Image display with zoom

MediaComponents/ImageMediaComponent.tsx

VideoMediaComponent

Video player

MediaComponents/VideoMediaComponent.tsx

TextMediaComponent13,834 bytes

Rich text renderer

MediaComponents/TextMediaComponent.tsx

UniversalComponent

Auto-detect media type

MediaComponents/UniversalComponent.tsx

ItemGrid12,571 bytes

Main content grid

Components/ItemGrid.tsx

ItemMatrix

Matrix layout component

Components/ItemMatrix.tsx

FlexibleList

Flexible item list

Components/FlexibleList.tsx

LeaderBoard13,260 bytes

Ranking display

Components/LeaderBoard.tsx

Core Data Types

// Post with local enhancements
type EnrichedPost = PostReadResponse & {
  uploadState?: PostUploadState;
  thumbUrl?: string;
  aiMeta?: AIMeta;
  reasoning?: string[];
  relativeRating?: number;
};

// Folder/Mood with local state
type EnrichedFolder = MoodReadResponse & 
  FolderVotingState & 
  LocalFolderExhancements;

// Upload state machine
type PostUploadState = {
  status: "preparing" | "created" | "attached" | 
          "upload-requested" | "uploaded";
  filename: string;
  blob: Blob;
  thumb: string;
  foldersToAttach: { id: string }[];
};

// AI response metadata
interface AIMeta {
  model?: { name?: string; provider?: string };
  usage?: { tokens?: { prompt?: number; completion?: number } };
  request?: {
    prompt?: string;
    completion?: string;
    reasoning?: string[];
    references?: string[];
    swarm?: string[];
  };
}