---
name: "@soldevelo"
slug: "soldevelo"
description: "Components, blocks and templates from the open-source projects SolDevelo builds, starting with OpenLMIS. Built on Base UI."
category: "Forms"
tags: ["auth", "blocks", "cards", "dashboard", "editor", "forms", "media", "navigation", "overlays", "tables"]
framework: "react"
license: "MIT"
author: "SolDevelo"
website: "https://registry.soldevelo.com"
github: "https://github.com/SolDevelo/soldevelo-registry"
registry: "https://registry.soldevelo.com/r/registry.json"
pro: false
pro_url: null
github_stars: 3
component_count: 48
generated_at: "2026-10-10T06:32:55.998Z"
---

# @soldevelo

Components, blocks and templates from the open-source projects SolDevelo builds, starting with OpenLMIS. Built on Base UI.

## Links

- Website: https://registry.soldevelo.com
- GitHub: https://github.com/SolDevelo/soldevelo-registry
- Registry JSON: https://registry.soldevelo.com/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/soldevelo
- This file: https://sh4dcn.vercel.app/md/soldevelo.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://registry.soldevelo.com/r/registry.json
pnpm dlx shadcn@latest add https://registry.soldevelo.com/r/registry.json
bunx shadcn@latest add https://registry.soldevelo.com/r/registry.json
# clone the source repo
git clone https://github.com/SolDevelo/soldevelo-registry.git
# fetch the raw registry index
curl -s https://registry.soldevelo.com/r/registry.json
```

## Components (48)

| name | type | description | install |
| --- | --- | --- | --- |
| openlmis-form-actions | registry:component | Cancel and Save actions for a form, with dirty and pending states, usable inside the form or in a page footer. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-form-actions.json` |
| openlmis-settings-list | registry:block | Bordered setting rows with labels, descriptions, badges and editable or read-only values. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-settings-list.json` |
| openlmis-date-picker | registry:component | A calendar date picker with date bounds, a clear button and accessible labels. Values stay in yyyy-MM-dd format. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-date-picker.json` |
| openlmis-password-requirements | registry:component | A live checklist of password rules with pure validation helpers. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-password-requirements.json` |
| openlmis-table-selection | registry:component | A page selection checkbox column and a floating selected-count bar with Clear and actions. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-table-selection.json` |
| openlmis-combobox-filter | registry:component | A searchable toolbar filter with caller-supplied options, search callbacks, status and empty messages. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-combobox-filter.json` |
| openlmis-workspace-tabs | registry:component | Controlled page section tabs that wrap into a column or grid on narrow screens. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-workspace-tabs.json` |
| openlmis-pagination | registry:component | Pager for a server-paged list: rows per page, the range on screen out of the total, and first, previous, next and last page buttons, with a matching loading sk… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-pagination.json` |
| openlmis-search-input | registry:component | Search field that reports after a pause in typing, on Enter or when it loses focus, with a clear button, so a list updates once per search rather than on every… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-search-input.json` |
| openlmis-select-filter | registry:component | Toolbar dropdown that narrows a list to one value, reading "Status: Active" once picked, with a button to clear it. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-select-filter.json` |
| openlmis-column-view-options | registry:component | View menu that shows or hides a table's columns with checkboxes, and resets them to their defaults. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-column-view-options.json` |
| openlmis-status-badge | registry:component | Badge for a state such as active, unsaved or ignored, in a success, warning, info or destructive tone with an icon of its own, so the state reads without relyi… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-status-badge.json` |
| openlmis-page-breadcrumbs | registry:component | Breadcrumb trail from a list of steps, where a step without a page, such as a menu section, shows as text, and links render through any router. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-page-breadcrumbs.json` |
| openlmis-form-fields | registry:component | Thirteen TanStack Form controls with stacked, row and inline layouts, accessible hints and errors, password reveal, searchable options, tags, images and dates,… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-form-fields.json` |
| openlmis-form-dialog | registry:component | Dialog for a form that stays inside the viewport and scrolls only its body, ignores clicks outside so nothing typed is lost, locks while a save runs, and shows… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-form-dialog.json` |
| openlmis-dashboard-card | registry:block | Card frame for a dashboard: a title with its count in a badge, a one-line description, placeholders and an error with Try Again for a body whose data is not re… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-dashboard-card.json` |
| openlmis-stat-strip | registry:block | One panel of headline numbers split by hairlines, with as many columns as there are stats, and a placeholder or Try Again for any number that is not ready. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-stat-strip.json` |
| openlmis-discard-changes-dialog | registry:component | Alert dialog asked before leaving a page with unsaved changes: how many would be lost and whose, Keep Editing, and a destructive Discard whose label says what … | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-discard-changes-dialog.json` |
| openlmis-callout | registry:component | Message box in a warning, info or success tone, tinted border and background with an icon of its own and text in the foreground colours, for the states the sto… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-callout.json` |
| openlmis-data-table | registry:block | Server-paged table on TanStack Table v9: sortable headers, fixed column widths that hold steady from page to page, columns that drop when the table is narrow, … | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-data-table.json` |
| openlmis-role-assignments | registry:block | One role type's assignments for a user: search, sortable columns that fold into one on a narrow card, a role's rights in a popover, unsaved and ignored badges,… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-role-assignments.json` |
| openlmis-workspace | registry:block | Page frame for an app screen: breadcrumbs, a heading with an icon, title and one-line description, header actions that share the width when the header stacks, … | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-workspace.json` |
| openlmis-list-toolbar | registry:block | Layout for the controls above a list, installed with the search, filter and View menu it arranges: one row with room, and the search on a row of its own once t… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-list-toolbar.json` |
| openlmis-profile-page | registry:page | A mock profile with basic information, read-only role assignments, notification settings and a change password dialog. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-profile-page.json` |
| openlmis-roles-page | registry:page | Search and filter roles by type, create or edit them, and view their rights using local mock data. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-roles-page.json` |
| openlmis-list-page | registry:page | Complete users list screen on mock data: breadcrumbs and heading, a toolbar with search, a status filter, a View menu and Add User, a table with sorting, pagin… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-list-page.json` |
| openlmis-home-dashboard | registry:page | OpenLMIS home screen on mock data: a greeting with what is waiting, Add User, system notices, a stat strip, requisitions by period and by status, cold chain eq… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-home-dashboard.json` |
| openlmis-user-roles-page | registry:page | Edit User Roles on mock data: Supervision, Fulfillment, Reports and Administration tabs with counts over one draft, Add Role, Import Roles and View Rights dial… | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-user-roles-page.json` |
| openlmis-not-found-page | registry:page | A 404 page that shows the address that was asked for, with Go Back and Back Home, ready to render inside an app shell so the navigation stays. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-not-found-page.json` |
| openlmis-valid-assignments-page | registry:page | Mock valid sources and destinations with paired facility and program filters, responsive tables, selection across pages, Add and partial Delete. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-valid-assignments-page.json` |
| openlmis-system-settings-page | registry:page | Mock branding and feature flag settings with sticky Save and Cancel, discard confirmation, defaults, conflict Reload and partial-save feedback. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-system-settings-page.json` |
| openlmis-number-text | registry:component | Pure number validation for text fields, including whole numbers, bounds and decimal precision. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-number-text.json` |
| openlmis-product-editor-page | registry:page | Mock product editor with General, Programs, Facility Types and Kit Unpack List tabs, dialogs and discard confirmation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-product-editor-page.json` |
| openlmis-facility-editor-page | registry:page | Mock facility editor with Information and Associated Programs tabs, managed fields, combined validation and discard confirmation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-facility-editor-page.json` |
| openlmis-reason-editor-page | registry:page | Mock stock reason editor with assignment pairs, partial-save feedback and discard confirmation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-reason-editor-page.json` |
| openlmis-auth-card | registry:block | Composable authentication cards and a page shell with logo, title, form, actions and Powered By footer. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-auth-card.json` |
| openlmis-no-access | registry:component | No-access empty state with a heading-level choice and optional Back Home link. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-no-access.json` |
| openlmis-sign-in-page | registry:page | Mock sign-in page with credentials, refused feedback and a signed-in result. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-sign-in-page.json` |
| openlmis-forgot-password-page | registry:page | Mock email reset request page with a neutral confirmation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-forgot-password-page.json` |
| openlmis-reset-password-page | registry:page | Mock password reset page with validation and link-status presentation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-reset-password-page.json` |
| openlmis-lots-page | registry:page | Mock lot list with product/expiry filters, paging and editable lot dialogs. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-lots-page.json` |
| openlmis-service-accounts-page | registry:page | Mock service-key list with sorting, paging, add/delete dialogs and copy-state presentation. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-service-accounts-page.json` |
| openlmis-copyable-value | registry:component | A value display and controlled copy button, with caller-owned copy behavior and feedback. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-copyable-value.json` |
| openlmis-label-popover | registry:component | A truncated label with an accessible details button and a composable popover panel. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-label-popover.json` |
| openlmis-segmented-meter | registry:component | A stacked meter with a labeled count and percentage legend, locale formatting and right-to-left support. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-segmented-meter.json` |
| openlmis-status-meter-list | registry:component | Composable labeled meters with icons, counts and semantic tones. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-status-meter-list.json` |
| openlmis-programs-page | registry:page | Mock program administration with responsive columns, sorting, paging and create/edit forms. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-programs-page.json` |
| openlmis-facility-types-page | registry:page | Mock facility type administration with responsive columns, sorting, paging and create/edit forms. | `npx shadcn@latest add https://registry.soldevelo.com/r/openlmis-facility-types-page.json` |

## For AI agents

```text
You are adding components from @soldevelo to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/soldevelo.md) for the component list.
2. Fetch the machine-readable index: https://registry.soldevelo.com/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: soldevelo).
```
