Skip to content

The UI components for TACC/Core-Portal.

Notifications You must be signed in to change notification settings

TACC/Core-Components

Repository files navigation

TACC Core-Components

The shared components for TACC WMA Workspace Portals & Websites

Known Clients

  • TUP UI, the client code for TACC User Portal
  • Hazmapper, a TACC application for geospatial data

Table of Contents

Related Repositories

  • Core Styles, the shared UI pattern code for TACC WMA CMS Websites

Project Architecture

directory contents
src/lib components, tests, stories

Prerequisites

Getting Started

  1. Install with any package manager e.g.

    • npm install @tacc/core-styles
    • yarn add @tacc/core-styles
  2. Import component(s) e.g.

    import { Button } from '@tacc/core-components';
    import {
      FormikInput,
      FormikTextarea,
      FormikCheck,
    } from '@tacc/core-components';
  3. Use component(s)…

    Sorry. Examples are limited and incomplete:

Developing

The components are React components that should be written in TypeScript.

Setup

  1. Clone this Repository.

  2. Enter the Repository Clone:

    cd Core-Components
  3. Install Dependencies:

    npm install --include=optional
  4. Start demo:

    npm start

For more commands, see Commands.

Contributing

Fix a Component

  1. Fix it.
  2. Update story (as relevant).
  3. Update tests (as relevant).

Add a Component

Minimum Viable Product

  1. Create or Improve a common component from a TACC repository e.g.

  2. Put your work in a branch in this repository.

  3. Open a Pull Request.

  4. Test your work in a client repository.

Complete Contribution

  1. Create a story to demo the component.
  2. Create unit tests.

in the Demo

task reference
add/edit component https://storybook.js.org/docs/writing-stories
change interaction https://storybook.js.org/docs/essentials/controls

Testing

Unit Tests

Run npm test to execute the unit tests via Vitest.

End-to-End Tests

Perform manually by installing and testing the components in a separate respository. See different approaches to testing your own packages.

Resources

Commands

command task service
npm run start start demo Storybook
npm run build build components Vite
npm run test execute unit tests Vitest