npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ogcio/design-system-react

v1.31.1

Published

The Government of Ireland Design System React components.

Readme

Government of Ireland Design System – React

Welcome to the Government of Ireland Design System React component library, a collection of reusable React components designed to help you build modern React web applications utilising the Government of Ireland Design System.

Getting Started

To install the library, use the following command:

npm install @ogcio/design-system-react @ogcio/theme-govie

Usage

Import the Government of Ireland theme.css from the @ogcio/theme-govie theme package at the entry point of your application, for example:

+import '@ogcio/theme-govie/theme.css'

export function App() {
  return (
    ...
  );
}

Note that you should typically run some form of CSS reset or normalisation of styles as part of your application entry point, depending on your application styling solution. For example Tailwind includes preflight, an optinionated set of base styles.

Use components within your application from the @ogcio/design-system-react component package:

import { Header } from '@ogcio/design-system-react';

export function MyComponent() {
  return (
    <>
      <Header serviceName="My Service" />
    </>
  );
}

Typography

The @ogcio/design-system-react package contains Heading and Paragraph components that implement the Government of Ireland Design System responsive text guidelines:

import { Heading, Paragraph } from '@ogcio/design-system-react';

function MyComponent() {
  return (
    <>
      <Heading>Heading</Heading>
      <Paragraph>This is a paragraph</Paragraph>
    </>
  );
}

Font Loading

The Government of Ireland Design System uses the Lato font family via @fontsource/lato. Lato fonts are included in styles.css — no additional font import is needed.

Your bundler (Vite, webpack, etc.) resolves the @fontsource/lato imports and bundles the font files automatically.

A standalone fonts.css is also available if you need to import fonts separately:

import '@ogcio/design-system-react/fonts.css';

Next.js: We recommend using next/font/google to load the Lato font family for optimal performance.

// app/layout.tsx (App Router)
import { Lato } from 'next/font/google';

const lato = Lato({
  subsets: ['latin'],
  weight: ['100', '300', '400', '700', '900'],
  style: ['normal', 'italic'],
  display: 'swap',
});

export default function RootLayout({ children }) {
  return (
    <html lang="en" className={lato.className}>
      <body>{children}</body>
    </html>
  );
}

Internationalization (i18n) Guidelines

To support multiple languages across your application, we use the initI18n utility provided by @ogcio/design-system-react. This ensures consistency, accessibility, and localization across all components.

Before rendering your app, make sure to initialize i18n with your language resources:

import { initI18n } from '@ogcio/design-system-react';

initI18n({
  resources: {
    en: {
      translation: {
        // Component namespaces go here
      },
    },
    fr: {
      translation: {
        // Component namespaces go here
      },
    },
    ar: {
      translation: {
        // Component namespaces go here
      },
    },
  },
  lng: 'en', // Default language
});

Example Localisation of Pagination

The pagination component uses the following i18n keys:

resources: {
  en: {
    translation: {
      pagination: {
        previous: 'Previous',
        next: 'Next',
        page: 'Page {{currentPage}} of {{totalPages}}',
        goToPage: 'Go to page {{page}}',
        goToPrevious: 'Go to previous page',
        goToNext: 'Go to next page',
      },
    },
  },
  fr: {
    translation: {
      pagination: {
        previous: 'Précédent:,
        next: 'Suivant',
        page: 'Page {{currentPage}} sur {{totalPages}}',
        goToPage: 'Aller à la page {{page}}',
        goToPrevious: 'Aller à la page précédente',
        goToNext: 'Aller à la page suivante',
      },
    },
  },
}

Note: Each component in the design system documents its relevant i18n keys under an i18n Keys heading, if available, for example Pagination i18n Keys. Be sure to refer to this section when using or implementing a component to ensure all necessary translations are provided.