0.0.6 • Published 11 months ago

@fajrindev/custom-select v0.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

Documentation

Custom select for react components

How to use it

Import components from @fajrindev/custom-select library Install package using npm:

npm i @fajrindev/custom-select

now import export default component:

import SelectDropdown from "@fajrindev/custom-select";

render in react component:

const YourComponent = () => {
  return (
    <SelectDropdown
      withSearch={true}
      options={stateOptions}
      isMulti={true}
      value={value}
      onChange={(result) => {
        console.log(result); //cast types result as []
      }}
    />
  );
};

You may have warning if you are using typescript at value for setState hooks, you need to cast args "result" with your value type:

setState(result as []) // "result" types is []

Table Props

PropsTypesDefaultDescription
idstringundefinedId attribute
withSearchboolean*requiredTo enable search input in list of options
isMultiboolean*requiredEnable multiselect value
optionsarraynoneOptions value list
valuearray*requireDefined value
namestringnoneName attribute input
classNamestring""Style css using classname
placeholderstring""Placeholder attribute for input
onChangefunction*requireHandling function for response value
styleCustom style for input and option
optionListCustom component for render option list

Styling

You may want to change the way option to be renderd in components

  • Create your own components
    const Menu = ((props: OptionPropsList) => {
      return (
        <div className="bg-[salmon] text-[16px]">
          <components.Option {...props}>{props.children}</components.Option>
        </div>
      );
    }) as OptionMenuList;

then you can pass "Menu" component as a props via "optionList"

  • You can change mark highlight color using css by className ".custom-select-marked-highlight-color":
.custom-select-marked-highlight-color {
  background-color: #4eb2ab;
  // another style here
}

if you are using typescript you may want to import types:

import { OptionMenuList, OptionPropsList } from "@fajrindev/custom-select";

also components:

import { components } from "@fajrindev/custom-select";

See demo and storybook doc url below:

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago