1.0.3 • Published 1 year ago

solar-kit v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Solar Kit

Advanced UI made using Ant Design for React.

Filter Component

The Filter component is used to provide a filtering interface for data in the application.

Props

  • filters: An array of filter configurations. Each configuration should be an object with properties that define the filter.
  • filtersCallback: A function that is called when the filters are applied. The function should take the applied filters as its argument.
  • open: A boolean that controls whether the filter interface is open or closed.
  • setOpen: A function that is called to open or close the filter interface. The function should take a boolean as its argument.

Usage

Here is an example of how to use the Filter component:

import { Filter } from "solar-kit"

function MyComponent() {
  // Enable Disable state from Button, initial set as enable to check how filter looks
  const [open, setOpen] = React.useState(true);

  const handleApplyFilters = (filters) => {
    console.log(filters);
  };

  return (
    <Filter
      filters={[
        {
          id: 'email',
          label: 'Email or Name',
          placeholder: 'Enter Email or Name',
          type: 'TEXT-INPUT',
        },
        {
          id: 'status',
          label: 'Status',
          placeholder: 'Select Status',
          type: 'SELECT',
          options: [
            { label: 'Pending', value: 'PENDING' },
            { label: 'Done', value: 'DONE' },
          ],
        },
        {
          id: 'user_email',
          label: 'User Email',
          placeholder: 'Search Email',
          type: 'SELECT-REMOTE',
          remoteOptions: async (search) => {
            console.log('search', search);
            // Mocked response
            return [
              { label: 'user1@example.com', value: 'user1@example.com' },
              { label: 'user2@example.com', value: 'user2@example.com' },
            ];
          },
        },
        {
          id: 'date',
          label: 'Date',
          placeholder: 'Select Date',
          type: 'DATE',
        },
        {
          id: 'date_range',
          label: 'Date Range',
          placeholder: 'Select Date Range',
          type: 'DATE-RANGE',
        },
      ]}
      filtersCallback={handleApplyFilters}
      open={open}
      setOpen={setOpen}
    />
  );
}

Filter Demo UI

Filter Component

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago