Skip to content

goatui/components

Repository files navigation

GOAT UI

Build GitHub license Version

GOAT UI contains most used web components built using Stencil. So you don't need to include any additional framework dependencies, You can simply import required component js, and right away start using it.

Checkout the complete documentation over here -> https://goatui.com

GOAT UI LOGO

Getting Started

Script tag

  • Put a script tag similar to this <script type="module" src="https://cdn.jsdelivr.net/npm/@goatui/[email protected]/dist/goatui/goatui.esm.js"></script> in the head of your index.html
  • Include default font Roboto in the page
  • Then you can use the element anywhere in your template, JSX, html etc
<!doctype html>
<html lang='en'>
<head>
  <meta charset='utf-8' />
  <meta name='viewport' content='width=device-width' />
  <title>Goat UI Component</title>

  <!-- include your custom theme variable values, view variable names at https://cdn.jsdelivr.net/npm/@goatui/[email protected]/dist/goatui/assets/styles/theme.css -->
  <!--link rel="stylesheet" href="/custom-theme.css"></link-->
  <script type='module'
          src='https://cdn.jsdelivr.net/npm/@goatui/[email protected]/dist/goatui/goatui.esm.js'></script>

  <style>
    @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital@0;1&family=IBM+Plex+Sans+Condensed:ital@0;1&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital@0;1&display=swap');

    :root {
      --font-family-base: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
    }
  </style>
</head>
<body>
<goat-button size='lg' color='primary'>Click me</goat-button>
</body>
</html>

Components

  • 🟢 ready (feature complete for now)
  • 🟡 beta (changes possible, not feature complete)
  • 🔴 not ready (unstyled / no functions)
  • 🔵 planned (created, but empty files)

Input Controls

Input controls are UI design elements that allow users to input information into the system. They are essential for collecting data and enabling user interactions. Some common examples of input controls include text fields, dropdown menus, checkboxes, and radio buttons.

Name Component State
Code editor goat-card-editor 🟢
Color picker goat-color-picker 🔴
Checkbox goat-checkbox 🟢
Date picker goat-date-picker 🟡
Date Time picker goat-datetime-picker 🔴
File picker goat-file-picker 🔴
HTML editor goat-html-editor 🟢
Input goat-input 🟢
Month picker goat-month-picker 🔴
Number goat-number 🟢
Select goat-select 🟢
Textarea goat-textarea 🟢
Time picker goat-time-picker 🟡
Week picker goat-week-picker 🔴
Form control goat-form-control 🟡

Navigation

Navigational components are UI elements that help users move around the app or website. They provide users with a clear and intuitive way to navigate through different sections and pages. Some common examples of navigational components include menus, tabs, and breadcrumbs.

Name Component State
Breadcrumb goat-breadcrumb 🟢
Dropdown goat-dropdown 🟡
Menu goat-menu 🟡
Tabs goat-tabs 🟢

Informational

Informational components are UI elements that provide information to users. They communicate important messages, updates, or instructions within the app or website. Some common examples of informational components include notifications, tooltips, and progress bars.

Name Component State
Badge goat-badge 🟢
Progress goat-progress 🟢
Spinner goat-spinner 🟢
Tooltip goat-tooltip 🟢
Notification goat-notification 🟢
Notification Manager / Toast goat-notification-manager 🟢

Containers

Containers are UI elements that group similar content together, making it easier for users to navigate and scan through the interface. Examples of common containers include cards, carousels, and accordions, which provide structure and organization to the content.

Name Component State
Accordion goat-accordion 🟢
Card goat-card 🟡

General

These components are used for general purpose. They include

Name Component State
Avatar goat-avatar 🟢
Button goat-button 🟢
Button Group goat-button-group 🟢
Calendar goat-calendar 🟢
Card Select goat-cardselect 🔴
Code Highlighter goat-card-highlighter 🟢
Column goat-col 🔴
Empty State goat-empty-state 🟡
Flow Designer goat-flow-designer 🔵
Grid goat-grid 🔴
Group goat-group 🔴
Header goat-header 🟢
Icon goat-icon 🟢
Link goat-link 🟢
Modal goat-modal 🟢
Notification Manager goat-notification-manager 🟡
Observer goat-observer 🔴
Pagination goat-pagination 🔴
Radio Group goat-radiogroup 🔴
Row goat-row 🔴
Slider goat-slider 🟡
Spoiler goat-spoiler 🔴
Stepper goat-stepper 🔴
Table goat-table 🟡
Tag / Chip goat-tag 🟢
Text goat-text 🟢
Tree View goat-tree-view 🟡
Toggle goat-toggle 🟢

Charts

These components are used to display data in a graphical format. They include

Name Component State
Doughnut Chart goat-chart-doughnut 🟢
Pie Chart goat-chart-pie 🟢