Strong-Tie UXR Documentation
Research Repository

Command Palette

Search for a command to run...

Q4 2025
  • Platform Model (BIM) Viewer
  • (Preliminary Report) Project Hub Research
  • Personas
Q3 2025
  • Estimating Tools Unification
  • Outdoor Living Solutions Pro Tier
  • Director Engineering Tab
  • Roles and Permissions
  • Cornerstone Point Offsetting Discovery
  • Truss Design Seal Submittal Workflow
Q2 2025
  • CS Engineer
  • Digital Solutions CSAT/NPS Survey
  • Past Communication Research
  • Director Admin Settings
  • Director Pricing
Q1 2025
  • License and Account Management
  • Estimating JTBD Survey
  • Product Materials Catalogs
  • Truss Studio Settings / Envdata
  • Residential Construction Ecosystem
  • Cloud Director Project Creation
Q4 2024
  • Platform Discovery Research Findings
  • Director Settings
  • Truss Studio Ribbon Bar
  • Cloud Director Roles and Permissions
  • Deck Planner Pro Features
Q3 2024
  • ICS Assessment and Platform Features
  • Document Management Services
  • LotSpec for Revit
  • LotSpec for Revit User Personas
Q2 2024
  • Platform Sprint
  • LBM Estimating Digital Portal Discovery
  • LBM Q2 Customer Interviews
  • Fastener Designer Prototype Testing
  • Production Scheduler
  • LotSpec for Revit Competitive Analysis
  • Field Verification
  • Kentley Insights Truss Market Research
Q1 2024
  • LBM Takeoff Tool MVP Testing
  • Anchor Finder
  • LBM Q1 Customer Interviews
  • Customer Connectivity
  • Reporting Manager Modal
Q4 2023
  • PDP Heatmapping
  • Pipeline Modernization
  • Truss Studio Envdata
  • Enterprise User Roles Prototype Test
Q3 2023
  • Reporting Manager Parameters
  • Customer Portal Jump
Q2 2023
  • Internal UX Team Satisfaction Survey
  • PDP Navigation
2026 Simpson Strong-Tie
  1. Docs
  2. Getting Started
  3. Installing the @strongtie/design-system Package

Installing the @strongtie/design-system Package

PreviousNext

Pre-built React components with Strongtie styling for rapid development.

The @strongtie/design-system package provides pre-built React components. It's built on the same shadcn/ui + Tailwind foundation as the recommended approach, but packaged for convenience.

Trade-off: Faster setup, less customization. For deeper control over components, consider the ShadCN + Tailwind approach instead.

When to Choose This

  • Internal tools - Quick setup for admin dashboards, internal apps
  • Rapid prototyping - Get something working fast
  • Teams new to shadcn/Tailwind - Familiar package-based workflow
  • Consistency over customization - Standard components are fine

What's Included

  • 50+ React components - Buttons, forms, dialogs, navigation, data display
  • TypeScript - Full type definitions
  • Accessibility - WCAG compliant, keyboard navigation, ARIA attributes

Prerequisites

  • React 18+ or 19+
  • Node.js >= 20.0.0
  • npm >= 10.0.0

Installation

Configure Azure Artifacts

The package is hosted on Azure Artifacts (Simpson feed). You'll need to configure npm authentication:

  1. Create a .npmrc file in your project root:
@strongtie:registry=https://pkgs.dev.azure.com/StrongTie/_packaging/Simpson/npm/registry/
@strongtie:always-auth=true
registry=https://registry.npmjs.org/

Important: Use @strongtie:registry (scoped) instead of registry (global). This ensures only @strongtie/* packages use Azure Artifacts authentication, while public packages like sonner, tsdown, etc. install from npmjs.org without errors.

  1. Set up authentication for the Simpson feed by following the Azure Artifacts npm authentication guide

The authentication setup differs for Windows (uses vsts-npm-auth) vs macOS/Linux (manual PAT configuration). Follow the instructions for your operating system in the Microsoft documentation.

Install the package

npm install @strongtie/design-system sonner

sonner is a peer dependency for toast notifications. Skip if you don't need toasts.

Import styles

Add the styles import to your application entry point:

import "@strongtie/design-system/styles"

Use components

import { Button } from "@strongtie/design-system/button"
import {
  Card,
  CardContent,
  CardHeader,
  CardTitle,
} from "@strongtie/design-system/card"
 
export function MyComponent() {
  return (
    <Card>
      <CardHeader>
        <CardTitle>Welcome</CardTitle>
      </CardHeader>
      <CardContent>
        <Button>Get Started</Button>
      </CardContent>
    </Card>
  )
}

Framework Setup

app/layout.tsx
import "@strongtie/design-system/styles"
import type { Metadata } from "next"
 
export const metadata: Metadata = {
  title: "My App",
  description: "Built with Strongtie Design System",
}
 
export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>{children}</body>
    </html>
  )
}

Using with Tailwind CSS

The design system source provides tailwindcss

If your project already uses Tailwind CSS, replace the tailwind import with the design system source to prevent conflicts:

globals.css
@import "@strongtie/design-system/styles/source";

Component Imports

Components are imported via path exports for optimal tree-shaking:

// Individual imports (recommended)
import { Button } from "@strongtie/design-system/button"
import {
  Card,
  CardContent,
  CardHeader,
  CardTitle,
} from "@strongtie/design-system/card"
import {
  Dialog,
  DialogContent,
  DialogTrigger,
} from "@strongtie/design-system/dialog"
import { Input } from "@strongtie/design-system/input"

Customization

Via className

Add custom classes to any component:

<Button className="my-custom-class">Custom Button</Button>

Limitations

Unlike the ShadCN + Tailwind approach, you cannot:

  • Modify component internals (variants, default props)
  • Add new component variants
  • Change the underlying primitive library

If you need this level of control, consider migrating to the shadcn approach.

CI/CD Configuration

For CI/CD pipelines, you'll need to configure Azure Artifacts authentication. See the Azure Artifacts npm authentication guide for details on:

  • Setting up Personal Access Tokens (PATs)
  • Configuring authentication in GitHub Actions, Azure DevOps, GitLab CI, etc.
  • Using the npmAuthenticate task in Azure Pipelines

The Simpson feed requires a PAT with Packaging > Read permissions for consuming packages.

Troubleshooting

Styles not loading

  1. Ensure @strongtie/design-system/styles is imported in your entry file
  2. Check import order - styles should come before component usage
  3. Clear build cache and restart dev server

Authentication errors

  1. Verify your Azure DevOps PAT has Packaging > Read permissions
  2. Check .npmrc configuration should have scoped registry:
    cat .npmrc
    # Should show:
    # @strongtie:registry=https://pkgs.dev.azure.com/StrongTie/_packaging/Simpson/npm/registry/
    # @strongtie:always-auth=true
    # registry=https://registry.npmjs.org/
  3. If you see registry= without @strongtie: prefix, you have the wrong config (this will cause auth errors for public packages)
  4. Re-run authentication setup following the Azure Artifacts guide

E401 Authentication errors for public packages

If you get authentication errors when installing public packages like tsdown, sonner, etc.:

  1. Check your .npmrc - if it has registry=https://pkgs.dev.azure.com/... (without @strongtie: prefix), this is the problem
  2. Update to use scoped registry as shown in Step 1 above
  3. Run npm install again

Module not found

  1. Clear node_modules and reinstall:
    rm -rf node_modules package-lock.json
    npm install
  2. Restart your dev server

TypeScript errors

  1. Ensure TypeScript 4.5+ is installed
  2. Set moduleResolution to "bundler" or "node16" in tsconfig.json
  3. Restart TypeScript server: Cmd/Ctrl + Shift + P > "TypeScript: Restart TS Server"

Migrating from @studs/react

If you're migrating from the deprecated @studs/react package, see our Migration Guide.

Next Steps

  • Browse components
  • View design tokens
  • Consider ShadCN + Tailwind for more control
Contributing to UXR DocumentationShadCN with Tailwind

On This Page

When to Choose ThisWhat's IncludedPrerequisitesInstallationFramework SetupUsing with Tailwind CSSComponent ImportsCustomizationVia classNameLimitationsCI/CD ConfigurationTroubleshootingStyles not loadingAuthentication errorsE401 Authentication errors for public packagesModule not foundTypeScript errorsMigrating from @studs/reactNext Steps

Contribute

  • Report an issue
  • Request a feature
  • Edit this page