JSPM

  • Created
  • Published
  • Downloads 288
  • Score
    100M100P100Q104985F
  • License MIT

Devalok Design System — accessible React components, OKLCH design tokens, and Tailwind 4 CSS-first setup. Ships with AI-agent setup recipes.

Package Exports

  • @devalok/shilp-sutra
  • @devalok/shilp-sutra/ai
  • @devalok/shilp-sutra/ai/ai-command-provider
  • @devalok/shilp-sutra/ai/block-renderer
  • @devalok/shilp-sutra/ai/blocks
  • @devalok/shilp-sutra/ai/command-bar
  • @devalok/shilp-sutra/ai/conversation
  • @devalok/shilp-sutra/ai/types
  • @devalok/shilp-sutra/composed
  • @devalok/shilp-sutra/composed/activity-feed
  • @devalok/shilp-sutra/composed/avatar-group
  • @devalok/shilp-sutra/composed/bulk-action-bar
  • @devalok/shilp-sutra/composed/command-palette
  • @devalok/shilp-sutra/composed/confirm-dialog
  • @devalok/shilp-sutra/composed/content-card
  • @devalok/shilp-sutra/composed/date-picker
  • @devalok/shilp-sutra/composed/deadline-indicator
  • @devalok/shilp-sutra/composed/emoji-picker
  • @devalok/shilp-sutra/composed/empty-state
  • @devalok/shilp-sutra/composed/error-boundary
  • @devalok/shilp-sutra/composed/file-preview
  • @devalok/shilp-sutra/composed/filter-bar
  • @devalok/shilp-sutra/composed/form-section
  • @devalok/shilp-sutra/composed/global-loading
  • @devalok/shilp-sutra/composed/inline-edit
  • @devalok/shilp-sutra/composed/lib/string-utils
  • @devalok/shilp-sutra/composed/loading-skeleton
  • @devalok/shilp-sutra/composed/markdown-viewer
  • @devalok/shilp-sutra/composed/master-detail
  • @devalok/shilp-sutra/composed/member-picker
  • @devalok/shilp-sutra/composed/multi-select-popover
  • @devalok/shilp-sutra/composed/page-header
  • @devalok/shilp-sutra/composed/page-skeletons
  • @devalok/shilp-sutra/composed/priority-indicator
  • @devalok/shilp-sutra/composed/rich-chat-input
  • @devalok/shilp-sutra/composed/rich-text-editor
  • @devalok/shilp-sutra/composed/schedule-view
  • @devalok/shilp-sutra/composed/simple-tooltip
  • @devalok/shilp-sutra/composed/status-badge
  • @devalok/shilp-sutra/css
  • @devalok/shilp-sutra/docs/_header.md
  • @devalok/shilp-sutra/docs/composed/activity-feed.md
  • @devalok/shilp-sutra/docs/composed/avatar-group.md
  • @devalok/shilp-sutra/docs/composed/bulk-action-bar.md
  • @devalok/shilp-sutra/docs/composed/command-palette.md
  • @devalok/shilp-sutra/docs/composed/confirm-dialog.md
  • @devalok/shilp-sutra/docs/composed/content-card.md
  • @devalok/shilp-sutra/docs/composed/date-picker.md
  • @devalok/shilp-sutra/docs/composed/deadline-indicator.md
  • @devalok/shilp-sutra/docs/composed/emoji-picker.md
  • @devalok/shilp-sutra/docs/composed/empty-state.md
  • @devalok/shilp-sutra/docs/composed/error-boundary.md
  • @devalok/shilp-sutra/docs/composed/file-preview.md
  • @devalok/shilp-sutra/docs/composed/filter-bar.md
  • @devalok/shilp-sutra/docs/composed/form-section.md
  • @devalok/shilp-sutra/docs/composed/global-loading.md
  • @devalok/shilp-sutra/docs/composed/inline-edit.md
  • @devalok/shilp-sutra/docs/composed/loading-skeleton.md
  • @devalok/shilp-sutra/docs/composed/markdown-viewer.md
  • @devalok/shilp-sutra/docs/composed/master-detail.md
  • @devalok/shilp-sutra/docs/composed/member-picker.md
  • @devalok/shilp-sutra/docs/composed/multi-select-popover.md
  • @devalok/shilp-sutra/docs/composed/page-header.md
  • @devalok/shilp-sutra/docs/composed/page-skeletons.md
  • @devalok/shilp-sutra/docs/composed/priority-indicator.md
  • @devalok/shilp-sutra/docs/composed/rich-chat-input.md
  • @devalok/shilp-sutra/docs/composed/rich-text-editor.md
  • @devalok/shilp-sutra/docs/composed/schedule-view.md
  • @devalok/shilp-sutra/docs/composed/simple-tooltip.md
  • @devalok/shilp-sutra/docs/composed/status-badge.md
  • @devalok/shilp-sutra/docs/shell/app-command-palette.md
  • @devalok/shilp-sutra/docs/shell/bottom-navbar.md
  • @devalok/shilp-sutra/docs/shell/command-registry.md
  • @devalok/shilp-sutra/docs/shell/link-context.md
  • @devalok/shilp-sutra/docs/shell/notification-center.md
  • @devalok/shilp-sutra/docs/shell/notification-preferences.md
  • @devalok/shilp-sutra/docs/shell/sidebar.md
  • @devalok/shilp-sutra/docs/shell/top-bar.md
  • @devalok/shilp-sutra/docs/ui/accordion.md
  • @devalok/shilp-sutra/docs/ui/alert-dialog.md
  • @devalok/shilp-sutra/docs/ui/alert.md
  • @devalok/shilp-sutra/docs/ui/aspect-ratio.md
  • @devalok/shilp-sutra/docs/ui/autocomplete.md
  • @devalok/shilp-sutra/docs/ui/avatar.md
  • @devalok/shilp-sutra/docs/ui/badge-group.md
  • @devalok/shilp-sutra/docs/ui/badge-indicator.md
  • @devalok/shilp-sutra/docs/ui/badge.md
  • @devalok/shilp-sutra/docs/ui/banner.md
  • @devalok/shilp-sutra/docs/ui/breadcrumb.md
  • @devalok/shilp-sutra/docs/ui/button-group.md
  • @devalok/shilp-sutra/docs/ui/button-processing.md
  • @devalok/shilp-sutra/docs/ui/button.md
  • @devalok/shilp-sutra/docs/ui/card.md
  • @devalok/shilp-sutra/docs/ui/charts.md
  • @devalok/shilp-sutra/docs/ui/chat.md
  • @devalok/shilp-sutra/docs/ui/checkbox.md
  • @devalok/shilp-sutra/docs/ui/chip.md
  • @devalok/shilp-sutra/docs/ui/code.md
  • @devalok/shilp-sutra/docs/ui/collapsible.md
  • @devalok/shilp-sutra/docs/ui/color-input.md
  • @devalok/shilp-sutra/docs/ui/color-swatch.md
  • @devalok/shilp-sutra/docs/ui/combobox.md
  • @devalok/shilp-sutra/docs/ui/container.md
  • @devalok/shilp-sutra/docs/ui/context-menu.md
  • @devalok/shilp-sutra/docs/ui/data-table-body.md
  • @devalok/shilp-sutra/docs/ui/data-table-bulk-actions.md
  • @devalok/shilp-sutra/docs/ui/data-table-card.md
  • @devalok/shilp-sutra/docs/ui/data-table-context.md
  • @devalok/shilp-sutra/docs/ui/data-table-header.md
  • @devalok/shilp-sutra/docs/ui/data-table-pagination.md
  • @devalok/shilp-sutra/docs/ui/data-table-toolbar.md
  • @devalok/shilp-sutra/docs/ui/data-table.md
  • @devalok/shilp-sutra/docs/ui/devalok-grain.md
  • @devalok/shilp-sutra/docs/ui/dialog.md
  • @devalok/shilp-sutra/docs/ui/dropdown-menu.md
  • @devalok/shilp-sutra/docs/ui/file-upload.md
  • @devalok/shilp-sutra/docs/ui/form.md
  • @devalok/shilp-sutra/docs/ui/hover-card.md
  • @devalok/shilp-sutra/docs/ui/icon-button.md
  • @devalok/shilp-sutra/docs/ui/icon-context.md
  • @devalok/shilp-sutra/docs/ui/icon-group.md
  • @devalok/shilp-sutra/docs/ui/icon.md
  • @devalok/shilp-sutra/docs/ui/input-otp.md
  • @devalok/shilp-sutra/docs/ui/input.md
  • @devalok/shilp-sutra/docs/ui/label.md
  • @devalok/shilp-sutra/docs/ui/link.md
  • @devalok/shilp-sutra/docs/ui/menubar.md
  • @devalok/shilp-sutra/docs/ui/navigation-menu.md
  • @devalok/shilp-sutra/docs/ui/number-input.md
  • @devalok/shilp-sutra/docs/ui/pagination.md
  • @devalok/shilp-sutra/docs/ui/popover.md
  • @devalok/shilp-sutra/docs/ui/progress-ring.md
  • @devalok/shilp-sutra/docs/ui/progress.md
  • @devalok/shilp-sutra/docs/ui/radio.md
  • @devalok/shilp-sutra/docs/ui/search-input.md
  • @devalok/shilp-sutra/docs/ui/segmented-control.md
  • @devalok/shilp-sutra/docs/ui/select.md
  • @devalok/shilp-sutra/docs/ui/separator.md
  • @devalok/shilp-sutra/docs/ui/sheet.md
  • @devalok/shilp-sutra/docs/ui/sidebar.md
  • @devalok/shilp-sutra/docs/ui/skeleton.md
  • @devalok/shilp-sutra/docs/ui/slider.md
  • @devalok/shilp-sutra/docs/ui/spinner.md
  • @devalok/shilp-sutra/docs/ui/split-button.md
  • @devalok/shilp-sutra/docs/ui/stack.md
  • @devalok/shilp-sutra/docs/ui/stat-card.md
  • @devalok/shilp-sutra/docs/ui/status-dot.md
  • @devalok/shilp-sutra/docs/ui/stepper.md
  • @devalok/shilp-sutra/docs/ui/switch.md
  • @devalok/shilp-sutra/docs/ui/table.md
  • @devalok/shilp-sutra/docs/ui/tabs.md
  • @devalok/shilp-sutra/docs/ui/text.md
  • @devalok/shilp-sutra/docs/ui/textarea.md
  • @devalok/shilp-sutra/docs/ui/toast.md
  • @devalok/shilp-sutra/docs/ui/toaster.md
  • @devalok/shilp-sutra/docs/ui/toggle-group.md
  • @devalok/shilp-sutra/docs/ui/toggle.md
  • @devalok/shilp-sutra/docs/ui/tooltip.md
  • @devalok/shilp-sutra/docs/ui/tree-view.md
  • @devalok/shilp-sutra/docs/ui/visually-hidden.md
  • @devalok/shilp-sutra/fonts/Inter-Italic-Variable.woff2
  • @devalok/shilp-sutra/fonts/Inter-Variable.woff2
  • @devalok/shilp-sutra/fonts/Ranade-Variable.woff2
  • @devalok/shilp-sutra/fonts/Ranade-VariableItalic.woff2
  • @devalok/shilp-sutra/hooks
  • @devalok/shilp-sutra/hooks/use-color-mode
  • @devalok/shilp-sutra/hooks/use-mobile
  • @devalok/shilp-sutra/motion
  • @devalok/shilp-sutra/motion/primitives
  • @devalok/shilp-sutra/shell
  • @devalok/shilp-sutra/shell/app-command-palette
  • @devalok/shilp-sutra/shell/bottom-navbar
  • @devalok/shilp-sutra/shell/command-registry
  • @devalok/shilp-sutra/shell/link-context
  • @devalok/shilp-sutra/shell/notification-center
  • @devalok/shilp-sutra/shell/notification-preferences
  • @devalok/shilp-sutra/shell/sidebar
  • @devalok/shilp-sutra/shell/top-bar
  • @devalok/shilp-sutra/tokens
  • @devalok/shilp-sutra/ui
  • @devalok/shilp-sutra/ui/accordion
  • @devalok/shilp-sutra/ui/alert
  • @devalok/shilp-sutra/ui/alert-dialog
  • @devalok/shilp-sutra/ui/aspect-ratio
  • @devalok/shilp-sutra/ui/autocomplete
  • @devalok/shilp-sutra/ui/avatar
  • @devalok/shilp-sutra/ui/badge
  • @devalok/shilp-sutra/ui/badge-group
  • @devalok/shilp-sutra/ui/badge-indicator
  • @devalok/shilp-sutra/ui/banner
  • @devalok/shilp-sutra/ui/breadcrumb
  • @devalok/shilp-sutra/ui/button
  • @devalok/shilp-sutra/ui/button-group
  • @devalok/shilp-sutra/ui/card
  • @devalok/shilp-sutra/ui/charts
  • @devalok/shilp-sutra/ui/chat
  • @devalok/shilp-sutra/ui/checkbox
  • @devalok/shilp-sutra/ui/code
  • @devalok/shilp-sutra/ui/collapsible
  • @devalok/shilp-sutra/ui/color-input
  • @devalok/shilp-sutra/ui/color-swatch
  • @devalok/shilp-sutra/ui/combobox
  • @devalok/shilp-sutra/ui/container
  • @devalok/shilp-sutra/ui/context-menu
  • @devalok/shilp-sutra/ui/data-table
  • @devalok/shilp-sutra/ui/data-table-toolbar
  • @devalok/shilp-sutra/ui/devalok-grain
  • @devalok/shilp-sutra/ui/dialog
  • @devalok/shilp-sutra/ui/dropdown-menu
  • @devalok/shilp-sutra/ui/file-upload
  • @devalok/shilp-sutra/ui/form
  • @devalok/shilp-sutra/ui/hover-card
  • @devalok/shilp-sutra/ui/icon
  • @devalok/shilp-sutra/ui/icon-button
  • @devalok/shilp-sutra/ui/icon-context
  • @devalok/shilp-sutra/ui/icon-group
  • @devalok/shilp-sutra/ui/input
  • @devalok/shilp-sutra/ui/input-otp
  • @devalok/shilp-sutra/ui/label
  • @devalok/shilp-sutra/ui/lib/date-utils
  • @devalok/shilp-sutra/ui/lib/motion
  • @devalok/shilp-sutra/ui/lib/utils
  • @devalok/shilp-sutra/ui/link
  • @devalok/shilp-sutra/ui/menubar
  • @devalok/shilp-sutra/ui/navigation-menu
  • @devalok/shilp-sutra/ui/number-input
  • @devalok/shilp-sutra/ui/pagination
  • @devalok/shilp-sutra/ui/popover
  • @devalok/shilp-sutra/ui/progress
  • @devalok/shilp-sutra/ui/progress-ring
  • @devalok/shilp-sutra/ui/radio
  • @devalok/shilp-sutra/ui/search-input
  • @devalok/shilp-sutra/ui/segmented-control
  • @devalok/shilp-sutra/ui/select
  • @devalok/shilp-sutra/ui/separator
  • @devalok/shilp-sutra/ui/sheet
  • @devalok/shilp-sutra/ui/sidebar
  • @devalok/shilp-sutra/ui/skeleton
  • @devalok/shilp-sutra/ui/slider
  • @devalok/shilp-sutra/ui/spinner
  • @devalok/shilp-sutra/ui/split-button
  • @devalok/shilp-sutra/ui/stack
  • @devalok/shilp-sutra/ui/stat-card
  • @devalok/shilp-sutra/ui/status-dot
  • @devalok/shilp-sutra/ui/stepper
  • @devalok/shilp-sutra/ui/switch
  • @devalok/shilp-sutra/ui/table
  • @devalok/shilp-sutra/ui/tabs
  • @devalok/shilp-sutra/ui/text
  • @devalok/shilp-sutra/ui/textarea
  • @devalok/shilp-sutra/ui/toast
  • @devalok/shilp-sutra/ui/toast-types
  • @devalok/shilp-sutra/ui/toaster
  • @devalok/shilp-sutra/ui/toggle
  • @devalok/shilp-sutra/ui/toggle-group
  • @devalok/shilp-sutra/ui/tooltip
  • @devalok/shilp-sutra/ui/tree-view
  • @devalok/shilp-sutra/ui/visually-hidden
  • @devalok/shilp-sutra/utils

Readme

@devalok/shilp-sutra

Devalok Design System -- tokens, components, and patterns for React & Next.js.

npm Storybook License: MIT

For full documentation, setup guides, and architecture details, see the monorepo README.

Install

pnpm add @devalok/shilp-sutra framer-motion
# Only if you render a <Toaster />:
pnpm add sonner

Upgrading from < 0.37? 0.37 is a Tailwind 4 CSS-first release — the setup has changed. Read MIGRATION.md.

Quick Start

/* app/globals.css */
@import "tailwindcss";
@import "@devalok/shilp-sutra/css";
// next.config.ts
export default {
  transpilePackages: ['@devalok/shilp-sutra', '@devalok/shilp-sutra-brand'],
}
// Any component
import { Button } from '@devalok/shilp-sutra/ui/button'

No tailwind.config.ts required from us. Your own plugins or content globs go in globals.css via TW4 directives (@plugin, @source, @theme).

Peer Dependencies

Required

Package Version Why
react ^18 || ^19
react-dom ^18 || ^19
tailwindcss ^4.0.0 We ship TW4 @theme CSS; TW3 is not supported
framer-motion ^12.0.0 Shared-state motion contexts must be single-copy

Optional

Install only what you use:

Feature Packages
Toasts (./ui/toaster, ./ui/toast) sonner
Charts (./ui/charts) d3-array, d3-axis, d3-format, d3-interpolate, d3-scale, d3-selection, d3-shape, d3-time-format, d3-transition
Rich Text Editor (./composed/rich-text-editor) @tiptap/react, @tiptap/starter-kit
DataTable (./ui/data-table) @tanstack/react-table, @tanstack/react-virtual
Icons @tabler/icons-react
Date components (./composed/date-picker) date-fns
OTP Input (./ui/input-otp) input-otp
Markdown rendering react-markdown, remark-gfm
PDF preview (./composed/file-preview) react-pdf, react-zoom-pan-pinch

License

MIT -- Copyright 2026 Devalok Design & Strategy Studios