m1/org/openalice-ui
openalice-ui
“> Atelier — the OpenAlice ecosystem design system. Editorial precision × cinematic depth × agentic confidence. Linear-meets-Twitch-meets-Apple-Pro-app.”
Features
54
Status
·unknown
Last activity
12d ago
Branch
mvp
ui/api-hooks
11 features- ui.api-hooks.errorssrc/api-hooks/errors.ts:2Shared error message helpers for API hooks — extracts user-facing message from ApiRequestError, generic Error, or unknown, and strips bearer tokens / auth credentials before display.function:errorMessagefunction:sanitizeErrorsince 0.5.0
- ui.api-hooks.useAsyncStatesrc/api-hooks/useAsyncState.ts:19Tiny generic helper that owns {data, loading, error} for an async fetch — collapses three useStates into one.hook:useAsyncStatesince 0.5.0
- ui.api-hooks.useAuthGuardsrc/api-hooks/useAuthGuard.ts:44Verify the current session against /auth/me on mount. On 401 or missing token, clear auth + redirect to /login. Returns the authenticated user once verified.hook:useAuthGuardsince 0.5.0
- ui.api-hooks.useBillingsrc/api-hooks/hooks.ts:162Fetch billing status + plans, expose changePlan against the active OpenAliceClient.hook:useBillingsince 0.5.0
- ui.api-hooks.useKeyssrc/api-hooks/hooks.ts:90List/create/delete API keys against the active OpenAliceClient. Exposes newKey + clearNewKey for one-shot reveal.hook:useKeyssince 0.5.0
- ui.api-hooks.useLoginActionsrc/api-hooks/actions.ts:33Returns an async (email, password) → AuthActionResult that drives AuthProvider.login + sets the SSO sessionStorage flag. Translates RateLimitError into a UI-friendly message with retryAfter seconds.hook:useLoginActionsince 0.5.0
- ui.api-hooks.useLogoutActionsrc/api-hooks/actions.ts:107Returns an async () → void that drives AuthProvider.logout, then clears the SSO sessionStorage flag. Errors during logout are swallowed — local state is cleared regardless.hook:useLogoutActionsince 0.5.0
- ui.api-hooks.useMesrc/api-hooks/hooks.ts:55Fetch the currently authenticated PublicUser from the active OpenAliceClient and expose loading/error/refetch.hook:useMesince 0.5.0
- ui.api-hooks.useRegisterActionsrc/api-hooks/actions.ts:67Returns an async (name, email, password, _confirm?) → AuthActionResult that drives AuthProvider.register + sets the SSO sessionStorage flag. Translates RateLimitError into a UI-friendly message.hook:useRegisterActionsince 0.5.0
- ui.api-hooks.useUsagesrc/api-hooks/hooks.ts:232Fetch usage rollup for the last N days from the active OpenAliceClient.hook:useUsagesince 0.5.0
- ui.api-hooks.useUsersrc/api-hooks/hooks.ts:20Legacy adapter — fetch the current User (legacy shape) from the active OpenAliceClient. Prefer useMe() for new code.hook:useUsersince 0.5.0
ui/auth
3 features- ui.auth.gatesrc/auth/AuthGate.tsx:25Client-side route guard — renders skeleton until auth resolves, redirects to /login if unauthenticated.component:AuthGatesince 0.4.0
- ui.auth.providersrc/auth/AuthProvider.tsx:67Shared React context for cross-domain SSO — JWT in localStorage, HttpOnly cookie probe, cross-tab sync.component:AuthProviderhook:useAuthcomponent:AuthGatesince 0.4.0
- ui.auth.realtime-wssrc/auth/useAuthWs.ts:7Hook that opens a WebSocket to /auth/ws while the user is signed in, dispatches each incoming event envelope to a handler, and reconnects with exponential backoff on disconnect.hook:useAuthWssince 0.5.0
ui/composite
8 features- ui.composite.auth-shellsrc/composites/AuthShell.tsx:28Centered auth-page layout — atmospheric grain + halo, brand mark, card, footer.component:AuthShellsince 0.6.0
- ui.composite.brand-marksrc/composites/BrandMark.tsx:17OpenAlice wordmark / monogram — SVG, crisp at any size.component:BrandMarksince 0.6.0
- ui.composite.dashboard-gridsrc/composites/DashboardGrid.tsx:21Responsive auto-fit grid for stat / card lists.component:DashboardGridsince 0.6.0
- ui.composite.live-indicatorsrc/composites/LiveIndicator.tsx:16Pulsing chip for live/recording state. Plasma cyan or warm red tone.component:LiveIndicatorsince 0.6.0
- ui.composite.page-headersrc/composites/PageHeader.tsx:22Standard page title + description + actions row.component:PageHeadersince 0.6.0
- ui.composite.section-headersrc/composites/SectionHeader.tsx:13Sub-section title row (h2-weight) inside a page.component:SectionHeadersince 0.6.0
- ui.composite.settings-shellsrc/composites/SettingsShell.tsx:29Left-nav + main-content layout for settings/account pages.component:SettingsShellsince 0.6.0
- ui.composite.theme-providersrc/composites/ThemeProvider.tsx:22Sets data-theme on document root, persists to localStorage, optional system mode.component:ThemeProvidersince 0.6.0
ui/primitive
30 features- ui.primitive.avatarsrc/primitives/Avatar.tsx:14Circular avatar with image fallback to initials and optional ring.component:Avatarsince 0.1.0
- ui.primitive.badgesrc/primitives/Badge.tsx:21Chip / tag — 2px radius, hairline ring, semantic + brand variants.component:Badgesince 0.1.0
- ui.primitive.bannersrc/primitives/Banner.tsx:28Full-width persistent message with left-edge accent and optional dismiss.component:Bannersince 0.6.0
- ui.primitive.breadcrumbssrc/primitives/Breadcrumbs.tsx:14Chevron-separated path navigation. Last item is current page.component:Breadcrumbssince 0.6.0
- ui.primitive.buttonsrc/primitives/Button.tsx:28Tactile button primitive — five variants, three sizes, loading state, spring press.component:Buttonsince 0.1.0
- ui.primitive.cardsrc/primitives/Card.tsx:17Surface card with hairline border. Optional hover-lift via `interactive`.component:Cardsince 0.1.0
- ui.primitive.checkboxsrc/primitives/Checkbox.tsx:17Square checkbox with smooth check animation, native semantics, validators.component:Checkboxsince 0.6.0
- ui.primitive.comboboxsrc/primitives/Combobox.tsx:18Searchable typeahead select. Custom filter, keyboard nav, validators.component:Comboboxsince 0.6.0
- ui.primitive.copy-buttonsrc/primitives/CopyButton.tsx:17Clipboard copy with success-state animation.component:CopyButtonsince 0.6.0
- ui.primitive.dialogsrc/primitives/Dialog.tsx:31Compositional dialog API on top of Modal — header, title, description, footer slots.component:Dialogsince 0.4.0
- ui.primitive.dropdownsrc/primitives/Dropdown.tsx:26Compound dropdown menu — trigger / content / item / separator / label, click-outside + ESC close.component:Dropdownsince 0.1.0
- ui.primitive.empty-statesrc/primitives/EmptyState.tsx:21Centered empty-state panel — icon/illustration slot, title, body, optional CTA.component:EmptyStatesince 0.6.0
- ui.primitive.form-fieldsrc/primitives/FormField.tsx:32Composes Label + control + helper/error + optional validators. Universal form row.component:FormFieldsince 0.6.0
- ui.primitive.inputsrc/primitives/Input.tsx:20Hairline text input — supports validators, helper text, icon slots, monospace mode.component:Inputsince 0.1.0
- ui.primitive.kbd-keysrc/primitives/KbdKey.tsx:21Keyboard-shortcut chip. Multi-key combos via `combo` (string) or `keys` (array).component:KbdKeysince 0.6.0
- ui.primitive.labelsrc/primitives/Label.tsx:12Semantic form label with required-star slot.component:Labelsince 0.6.0
- ui.primitive.modalsrc/primitives/Modal.tsx:19Centered dialog primitive — focus trap, ESC, scroll-lock, glass backdrop with grain.component:Modalsince 0.1.0
- ui.primitive.paginationsrc/primitives/Pagination.tsx:14Page-number navigator with prev/next + ellipsis.component:Paginationsince 0.6.0
- ui.primitive.progresssrc/primitives/Progress.tsx:13Bar progress — determinate (0-100) or indeterminate sliding bar.component:Progresssince 0.6.0
- ui.primitive.radio-groupsrc/primitives/RadioGroup.tsx:20Radio button group with native semantics + Atelier styling + validators.component:RadioGroupsince 0.6.0
- ui.primitive.scroll-areasrc/primitives/ScrollArea.tsx:13Scrollable container with Atelier scrollbar styling.component:ScrollAreasince 0.1.0
- ui.primitive.selectsrc/primitives/Select.tsx:18Headless select with keyboard nav, click-outside close, and validators.component:Selectsince 0.6.0
- ui.primitive.separatorsrc/primitives/Separator.tsx:13Hairline horizontal/vertical divider with optional decorative gradient variant.component:Separatorsince 0.1.0
- ui.primitive.skeletonsrc/primitives/Skeleton.tsx:14Loading placeholder with warm shimmer.component:Skeletonsince 0.1.0
- ui.primitive.slidersrc/primitives/Slider.tsx:14Range slider — native input semantics, brand-500 fill, focus ring.component:Slidersince 0.6.0
- ui.primitive.spinnersrc/primitives/Spinner.tsx:14Indeterminate circular loader. Matches button sizes for inline use.component:Spinnersince 0.6.0
- ui.primitive.switchsrc/primitives/Switch.tsx:16Pill toggle. Solar amber active state, hairline ring, native checkbox semantics.component:Switchsince 0.1.0
- ui.primitive.tabssrc/primitives/Tabs.tsx:27Hairline-underline tabs with keyboard arrow nav.component:Tabssince 0.6.0
- ui.primitive.textareasrc/primitives/Textarea.tsx:13Multi-line text input with auto-resize, char count, and validators.component:Textareasince 0.1.0
- ui.primitive.tooltipsrc/primitives/Tooltip.tsx:14Hover hint with 4-position support, configurable delay, hairline border.component:Tooltipsince 0.1.0
ui/shell
2 features- ui.command-palettesrc/composites/CommandPalette.tsx:7Cmd+K / Ctrl+K command palette — modal overlay with fuzzy filter over a flat list of commands. Mounted by EcosystemShell so every product gets the same shortcut surface.component:CommandPalettesince 0.5.0
- ui.ecosystem.shellsrc/composites/EcosystemShell.tsx:11Persistent cross-product chrome — left sidebar with product switcher, top bar with account chip. Wraps each product's layout so the 5 products feel like one app.component:EcosystemShellsince 0.4.0