npm package: @lipagas/ember-ui
Description: Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.
Author: Fleetbase Pte Ltd
Latest version: 0.2.23

# 🛠️ Fleetbase Ember UI

This library contains a collection of reusable UI components that you can use in your application and extensions to create a consistent and cohesive user interface.

## Installation

To install the Fleetbase Ember UI library, simply run the following command:

<code>npm install @lipagas/ember-ui</code>

## Usage

Once you have installed the Fleetbase Components library, you can start using the components in your application. 

For more information on how to use each component, please refer to the documentation.

## Components

The following components are included in the Fleetbase Ember UI Components library:

<details>
  <summary>Attach</summary>
  
  * [`popover`](./popover.md) A component for displaying content in a popup box that appears when the user clicks on an element.
  * [`tooltip`](./tooltip.md) A component for displaying a brief description or explanation of an element when the user hovers over it.
</details>

<details>
    <summary>Filter</summary>
  
  * [`date-filter`](./date.md): A component for filtering a list of data based on a date range.
  * [`model-filter`](./model.md): A component for filtering a list of data based on a model.
  * [`multi-option-filter`](./multi-option.md):A component for filtering a list of data based on multiple options.
  * [`select-filter`](./select.md): A component for filtering a list of data based on a single selected option.
  * [`string-filter`](./string.md): A component for filtering a list of data based on a search string.
</details>

<details>
    <summary>Filters Picker</summary>

  * [`filters-picker-button`](./filters-picker-button.md):  A button component for opening and closing a dropdown list of filters.
</details>

<details>
    <summary>Layout</summary>

  * [`dropdown-header-item`](./dropdown-header-item.md): A component for displaying a single item in a dropdown list in the header.
  
  * [`dark-mode-toggle`](./dark-mode-toggle.md): A toggle button component for switching between light and dark mode.
  * [`dropdown`](.dropdown.md):  A component for displaying a dropdown.
  
  * [`section-body`](./section-body.md):  A component for displaying the body of a section.
  * [`section-container`](./section-container.md): A container component for a section..
  * [`section-header`](./section-header.md):  A component for displaying the header of a section.
  
  * [`sidebar-item`](./sidebar-item.md): A component for displaying a single item in a sidebar.
  * [`sidebar-panel`](./sidebar-panel.md): A component for displaying a panel in a sidebar.
  
  * [`layout-container`](./layout-container.md):   A container component for the layout.
  * [`header`](./header.md):  A component for displaying the header of the page.
  * [`main`](./main.md): A component for displaying the main content of the page.
  * [`mobile-navbar`](./mobile-navbar.md): A component for displaying the navigation bar on mobile devices.
  * [`section`](./section.md): A component for displaying a section on the page.
  * [`sidebar`](./sidebar.md): A component for displaying a sidebar on the page.

  
</details>

<details>
    <summary>Modal</summary>

   * [`modal-body-container`](./docs/components/modal/modal-body-container.md): A component that represents the body content of a modal dialog.
  
   * [`modal-header-close.md`](./docs/components/modal/modal-header-close.md): A component that represents the body content of a modal dialog.
   * [`modal-header-title.md`](./docs/components/modal/modal-header-title.md): A component that represents the body content of a modal dialog.
  
   * [`modal-layout-alert`](./docs/components/modal/modal-layout-alert.md): A default template for a modal dialog that includes a header, body, and footer.
   * [`modal-layout-bulk-action`](./docs/components/modal/modal-layout-bulk-action.md): A component that represents the entire modal dialog, including the header, body, and footer.
   * [`modal-layout-confirm`](./docs/components/modal/modal-layout-confirm.md): A component that represents the footer content of a modal dialog.
   * [`modal-layout-loading`](./docs/components/modal/modal-layout-loading.md): A component that represents the header content of a modal dialog.
   * [`modal-layout-option-prompt`](./docs/components/modal/modal-layout-option-prompt.md): A component that represents the title and buttons in the header of a modal dialog.
   * [`modal-layout-process`](./docs/components/modal/modal-layout-layout-process.md): A component that represents the title and buttons in the header of a modal dialog.
  
   * [`modal-default`](./docs/components/modal/modal-default.md): A default template for a modal dialog that includes a header, body, and footer.
   * [`modal-dialog`](./docs/components/modal/modal-dialog.md): A component that represents the entire modal dialog, including the header, body, and footer.
   * [`modal-footer`](./docs/components/modal/modal-footer.md): A component that represents the footer content of a modal dialog.
   * [`modal-header`](./docs/components/modal/modal-header.md): A component that represents the header content of a modal dialog.
   * [`modal-title-with-buttons`](./docs/components/modal/modal-title-with-buttons.md): A component that represents the title and buttons in the header of a modal dialog.

</details>

<details>
    <summary>Model-Select</summary>

  * [`options`](./options.md):  A component for displaying content in a popup box that appears when the user clicks on an element.
  * [`spinner`](./spinner.md):  A component for displaying content in a popup box that appears when the user clicks on an element.

</details>

<details>
    <summary>Money-Input</summary>

  * [`money-input/currency-dropdown`](./money-input/currency-dropdown.md): A component that renders a dropdown menu to select a currency for the money-input component.
  * [`money-input/currency-handle:`](./money-input/currency-handle:.md): AA component that displays the selected currency for the money-input component.
  
</details>

<details>
    <summary>Overlay</summary>

  * [`overlay-body`](./overlay-body.md): A component that renders the body content for an overlay.
  * [`overlay-footer`](./overlay-footer.md): A component that renders the footer content for an overlay.
  * [`overlay-header`](./overlay-header.md): A component that renders the header content for an overlay.
</details>

<details>
    <summary>Table</summary>

   * [`table-cell-anchor`](./table-cell-anchor.md): A component that renders an anchor element within a table cell.
   * [`table-cell-base`](./table-cell-base.md): A base component for table cells.
   * [`table-cell-checkbox`](./table-cell-checkbox.md): A component that renders a checkbox within a table cell.
   * [`table-cell-country`](./table-cell-country.md): A component that renders a country flag within a table cell.
   * [`table-cell-dropdown`](./table-cell-dropdown.md): A component that renders a dropdown menu within a table cell.
   * [`table-cell-link-to`](./table-cell-link-to.md): A component that renders a link within a table cell.
   * [`table-cell-media-name`](./table-cell-media-name.md): A component that renders the name of a media item within a table cell.</details>

<details>
    <summary>Components</summary>

   * [`app-container`](./app-container.md): A component for the main application container.
   * [`badge`](./badge.md): A badge component.
   * [`button`](./button.md): A button component.
   * [`checkbox`](./checkbox.md): A checkbox component. 
   * [`click-to-copy`](./click-to-copy.md): A component for copying text on click. 
   * [`click-to-reveal`](./click-to-reveal.md): A component for revealing text on click. 
   * [`content-panel`](./content-panel.md): A component that can be used to display content that can be toggled open or closed.   
   * [`date-picker`](./date-picker.md): A component for selecting a date. 
   * [`date-time-input`](./date-time-input.md): A component for selecting a date and time. 
   * [`dropdown-button`](./dropdown-button.md): A button component that opens a dropdown menu.
   * [`extensions-list`](./extensions-list.md): A component for displaying a list of file extensions.
   * [`fetch-select`](./fetch-select.md): A component for selecting an item from a fetched list.
   * [`file-upload`](./file-upload.md): : A component for uploading files. 
   * [`filters-picker`](./filters-picker.md): A component for selecting filters.  
   * [`floating`](./floating.md): A component for creating a floating element.  
   * [`image`](./image.md): A component for displaying an image.  
   * [`info-block`](./info-block.md): A component for selecting a country. 
   * [`input-group`](./input-group.md): : A component that groups together multiple input components, such as a text input and a dropdown menu, and provides additional functionality such as label and error handling.
   * [`input-info`](./input-info.md): A component that displays additional information about an input field, such as helper text or validation errors..  
   * [`input-label`](.//input-label.md): A component that displays a label for an input field.  
   * [`modal`](./modal.md):  A component that displays a modal window, which is a pop-up dialog box that requires user interaction before the user can return to the main application..  
   * [`modals-container`](./modals-container.md): A component that manages the display of multiple modals, ensuring that only one is visible at a time. 
   * [`model-select-multiple`](./model-select-multiple.md): A component that allows the user to select multiple items from a list of models.
   * [`model-select`](./model-select.md): A component that allows the user to select a single item from a list of models.
   * [`money-input`](./money-input.md): A component that allows the user to input monetary values, with additional functionality such as currency selection.
   * [`multi-select`](./multi-select.md): A component that allows the user to select multiple items from a list.  
   * [`overlay`](./overlay.md): A component that displays an overlay, which is a semi-transparent layer that covers the main application and is typically used to provide a modal-like user interface.  
   * [`pagination`](./pagination.md): A component that displays pagination controls, allowing the user to navigate through a large list of items.  
   * [`phone-input`](./phone-input.md): A component that allows the user to input phone numbers, with additional functionality such as international formatting. 
   * [`scrollable`](./scrollable.md): A component that provides a scrollable container for other components, allowing the user to scroll through a large amount of content. 
   * [`select`](./select.md): A component that allows the user to select a single item from a list of options.
   * [`spinner`](./spinner.md): A component that displays a spinner, which is typically used to indicate that a task is in progress.
   * [`table`](./table.md): A component that displays tabular data in a scrollable and sortable format, with support for pagination and filtering.
   * [`toggle`](./toggle.md):  A component that displays a toggle switch, allowing the user to toggle a boolean value.
   * [`upload-button`](./upload-button.md): A component that displays a button for uploading files, with additional functionality such as drag-and-drop support.
   * [`toggle`](./toggle.md):  A component that allows the user to select which columns to display in a table.</details>


We are continually adding new components, so be sure to check back for updates!

## Contributing

See the [Contributing](CONTRIBUTING.md) guide for details.


## License

This project is licensed under the [MIT License](LICENSE.md).