0.8.89 • Published 2 days ago

@synerise/ds-search v0.8.89

Weekly downloads
451
License
ISC
Repository
github
Last release
2 days ago

id: search

title: Search

Search UI Component

Installation

npm i @synerise/ds-search
or
yarn add @synerise/ds-search

Usage

import Search from '@synerise/ds-search';

const parameters = [
  { text: 'First Name', icon: <VarTypeStringM /> },
  { text: 'Last Name', icon: <VarTypeStringM /> },
  { text: 'Sex', icon: <VarTypeStringM /> },
  { text: 'City', icon: <VarTypeStringM /> },
  { text: 'Transactions', icon: <VarTypeNumberM /> }
];
const recent = [
  { text: 'Bangkok', filter: 'City', icon: <VarTypeStringM /> },
  { text: 'Frank', filter: 'Last Name', icon: <VarTypeStringM /> },
  { text: 'Basel', filter: 'City', icon: <VarTypeStringM /> },
];
const [value, setValue] = React.useState<string>('');
const [parameterValue, setParameterValue] = React.useState<string>('');
const [suggestions, setSuggestions] = React.useState([]);
return (
      <Search
        clearTooltip="Clear"
        placeholder="Search"
        parameters={parameters.slice(0, parametersCount)}
        recent={recent.slice(0, recentCount)}
        suggestions={suggestions}
        value={value}
        parameterValue={parameterValue}
        onValueChange={value => {
          setValue(value);
        }}
        onParameterValueChange={(value, parameter) => {
          setParameterValue(value);
          const fakeApiResponse = getSuggestions(value);
          setSuggestions(fakeApiResponse);
        }}
        recentDisplayProps={{
          tooltip: "recentTooltip",
          title: "recentTitle",
          rowHeight: 32,
          visibleRows: 3,
          itemRender: (item: FilterElement) => <Menu.Item onItemHover={(): void => {}}>{item && item.text}</Menu.Item>,
          divider: (
            <div style={{ padding: '12px', paddingBottom: '0px' }}>
              <Divider dashed />{' '}
            </div>
          ),
        }}
        parametersDisplayProps={{
          tooltip: "parametersTooltip",
          title: "parametersTitle",
          rowHeight: 32,
          visibleRows: 6,
          itemRender: (item: FilterElement) => (
            <Menu.Item
              highlight={value}
              onItemHover={(): void => {}}
              prefixel={item && <Icon component={item && item.icon} />}
            >
              {item && item.text}
            </Menu.Item>
          ),
        }}
        suggestionsDisplayProps={{
          tooltip: "suggestionsTooltip",
          title: "suggestionsTitle",
          rowHeight: 32,
          visibleRows: 6,
          itemRender: (item: FilterElement) => <Menu.Item onItemHover={(): void => {}}>{item && item.text}</Menu.Item>,
        }}
      />
)

Demo

API

PropertyDescriptionTypeDefault
clearTooltipClear button tooltip textstring-
filterLookupKeykey in parameter item object for displaying parameter label in inputstring-
hideLabelHide label in search inputboolean-
disableInputDisable search inputboolean-
inputPropsProps object passed to the SearchInput componentInputProps-
onParameterValueChangeCallback when set parameter typefunction-
onValueChangeCallback when input changesfunction-
parametersParameters items data displayed in search dropdownobject-
parametersDisplayPropsAn object containing the details of how parameters list should renderDataSetProps-
parameterValueChosen parameter typestring-
placeholderInput placeholderstring-
recentRecent items data displayed in search dropdownobject-
recentDisplayPropsAn object containing the details of how recent items list should renderDataSetProps-
suggestionsSuggestions items data displayed after picking particular parameter in search dropdownobject or undefined or null-
suggestionsDisplayPropsAn object containing the details of how suggestions list should renderDataSetProps or undefined or null-
textLookupConfigconfig of keys for lookup in parameters, recent and suggestions datasets{ parameters: string; recent: string; suggestions: string}-
valueThe input content valuestring-
widthWidth of the search input when expandednumber-
alwaysExpandedEnable expanded input on Search component with dropdownboolean / undefined-

DataSetProps

PropertyDescriptionTypeDefault
dividerReactElement displayed at the bottom of the listReactElement-
itemRenderFunction rendering single item of the list(item: object) => JSX.Element-
rowHeightHeight of item in the listnumber-
titleTitle of the item liststring-
tooltipTooltip of the item list, displayed when hovering on the icon next to the titlestring-
visibleRowsNumber of rows visible in the liststring-

Search usage

import { SearchInput } from '@synerise/ds-search/dist/Elements';

    const [value, setValue] = React.useState<string>('');
      <SearchInput
        clearTooltip="Clear"
        placeholder="Search"
        onValueChange={value => {
          console.log(value);
          setValue(value);
        }}
        value={value}
        onClear={() => {
          console.log('Cleared!');
        }}
        closeOnClickOutside={true}
      />

SearchInput

PropertyDescriptionTypeDefault
alwaysHighlightWhen set, the input always has blue border when expandedbooleanfalse
alwaysExpandedBoolean value to force expanded state of the inputbooleanfalse
clearTooltipClear button tooltip textstring-
closeOnClickOutsideBoolean value to prevent / force toggling the input when clicking outsidebooleanfalse
filterLabelLabel displayed on the left-hand side of the input caretobject-
focusTriggerBoolean value for triggering focus on the inputboolean-
inputPropsProps object passed to the input element of the componentInputProps-
onValueChangeCallback when input changesfunction-
onButtonClickCallback executed when clicking search buttonfunction-
onClearCallback after clicking clear buttonfunction-
onClickCallback executed when clicking inside an inputfunction-
onKeyDownCallback executed when pressing a keyboard key.function-
onToggleCallback executed when expanding / narrowing the input wrapperfunction-
placeholderInput placeholderstring-
toggleTriggerBoolean value for triggering expanding / narrowing the inputboolean-
valueThe input content valuestring-

SearchInput usage

import { SearchInput } from '@synerise/ds-search/dist/Elements';

const [value, setValue] = React.useState<string>('');
return (
      <SearchInput
        clearTooltip="Clear"
        placeholder="Search"
        onValueChange={value => {
          console.log(value);
          setValue(value);
        }}
        value={value}
        onClear={() => {
          console.log('Cleared!');
        }}
        closeOnClickOutside={true}
      />
)
0.8.89

2 days ago

0.8.88

15 days ago

0.8.87

25 days ago

0.8.86

1 month ago

0.8.85

1 month ago

0.8.84

1 month ago

0.8.83

2 months ago

0.8.82

2 months ago

0.8.81

3 months ago

0.8.80

3 months ago

0.8.79

3 months ago

0.8.78

4 months ago

0.8.77

4 months ago

0.8.76

4 months ago

0.8.75

5 months ago

0.8.74

5 months ago

0.8.73

5 months ago

0.8.70

7 months ago

0.8.72

6 months ago

0.8.71

6 months ago

0.8.67

7 months ago

0.8.66

7 months ago

0.8.69

7 months ago

0.8.68

7 months ago

0.8.63

8 months ago

0.8.62

8 months ago

0.8.65

8 months ago

0.8.64

8 months ago

0.8.61

9 months ago

0.8.60

9 months ago

0.8.56

10 months ago

0.8.55

10 months ago

0.8.58

10 months ago

0.8.57

10 months ago

0.8.59

9 months ago

0.8.54

11 months ago

0.8.53

11 months ago

0.8.52

12 months ago

0.8.51

12 months ago

0.8.50

12 months ago

0.8.45

1 year ago

0.8.44

1 year ago

0.8.47

1 year ago

0.8.46

1 year ago

0.8.41

1 year ago

0.8.43

1 year ago

0.8.42

1 year ago

0.8.49

1 year ago

0.8.48

1 year ago

0.8.40

1 year ago

0.8.38

1 year ago

0.8.39

1 year ago

0.8.36

1 year ago

0.8.35

1 year ago

0.8.34

1 year ago

0.8.33

1 year ago

0.8.30

1 year ago

0.8.32

1 year ago

0.8.31

1 year ago

0.8.25

2 years ago

0.8.24

2 years ago

0.8.27

2 years ago

0.8.26

2 years ago

0.8.29

1 year ago

0.8.28

1 year ago

0.8.23

2 years ago

0.8.22

2 years ago

0.8.21

2 years ago

0.8.20

2 years ago

0.8.14

2 years ago

0.8.13

2 years ago

0.8.19

2 years ago

0.8.16

2 years ago

0.8.15

2 years ago

0.8.17

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.7

2 years ago

0.8.6

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.12

2 years ago

0.8.11

2 years ago

0.8.10

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.10

2 years ago

0.7.9

2 years ago

0.7.6

2 years ago

0.7.5

2 years ago

0.7.8

2 years ago

0.7.7

2 years ago

0.7.2

2 years ago

0.7.1

2 years ago

0.7.4

2 years ago

0.7.3

2 years ago

0.7.0

2 years ago

0.6.10

2 years ago

0.6.7

2 years ago

0.6.6

2 years ago

0.6.9

2 years ago

0.6.8

2 years ago

0.6.3

2 years ago

0.6.2

2 years ago

0.6.5

2 years ago

0.6.4

2 years ago

0.6.1

3 years ago

0.6.0

3 years ago

0.5.54

3 years ago

0.5.53

3 years ago

0.5.52

3 years ago

0.5.51

3 years ago

0.5.50

3 years ago

0.5.49

3 years ago

0.5.47

3 years ago

0.5.48

3 years ago

0.5.44

3 years ago

0.5.45

3 years ago

0.5.46

3 years ago

0.5.43

3 years ago

0.5.42

3 years ago

0.5.41

3 years ago

0.5.40

3 years ago

0.5.39

3 years ago

0.5.38

3 years ago

0.5.37

3 years ago

0.5.36

3 years ago

0.5.34

3 years ago

0.5.35

3 years ago

0.5.33

3 years ago

0.5.32

3 years ago

0.5.31

3 years ago

0.5.30

3 years ago

0.5.29

3 years ago

0.5.26

3 years ago

0.5.21

3 years ago

0.5.22

3 years ago

0.5.23

3 years ago

0.5.20

3 years ago

0.5.19

3 years ago

0.5.18

3 years ago

0.5.17

3 years ago

0.5.16

3 years ago

0.5.15

3 years ago

0.5.11

3 years ago

0.5.14

3 years ago

0.5.12

3 years ago

0.5.13

3 years ago

0.5.10

3 years ago

0.5.9

3 years ago

0.5.8

3 years ago

0.5.7

3 years ago

0.5.6

3 years ago

0.5.5

3 years ago

0.5.4

3 years ago

0.5.3

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.20

3 years ago

0.4.18

3 years ago

0.4.17

3 years ago

0.4.16

3 years ago

0.4.15

3 years ago

0.4.14

3 years ago

0.4.13

3 years ago

0.4.12

3 years ago

0.4.11

3 years ago

0.4.10

3 years ago

0.4.9

3 years ago

0.4.8

3 years ago

0.4.7

3 years ago

0.4.5

3 years ago

0.4.6

3 years ago

0.4.4

3 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.3

3 years ago

0.2.4

3 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.94

4 years ago

0.1.92

4 years ago

0.1.93

4 years ago

0.1.90

4 years ago

0.1.89

4 years ago

0.1.87

4 years ago

0.1.88

4 years ago

0.1.86

4 years ago

0.1.85

4 years ago

0.1.84

4 years ago

0.1.82

4 years ago

0.1.80

4 years ago

0.1.81

4 years ago

0.1.78

4 years ago

0.1.79

4 years ago

0.1.77

4 years ago

0.1.76

4 years ago

0.1.75

4 years ago

0.1.74

4 years ago

0.1.73

4 years ago

0.1.72

4 years ago

0.1.71

4 years ago

0.1.70

4 years ago

0.1.69

4 years ago

0.1.68

4 years ago

0.1.67

4 years ago

0.1.66

4 years ago

0.1.65

4 years ago

0.1.64

4 years ago

0.1.63

4 years ago

0.1.62

4 years ago

0.1.61

4 years ago

0.1.59

4 years ago

0.1.60

4 years ago

0.1.57

4 years ago

0.1.58

4 years ago

0.1.56

4 years ago

0.1.55

4 years ago

0.1.54

4 years ago

0.1.53

4 years ago

0.1.52

4 years ago

0.1.51

4 years ago

0.1.50

4 years ago

0.1.49

4 years ago

0.1.48

4 years ago

0.1.47

4 years ago

0.1.44

4 years ago

0.1.45

4 years ago

0.1.46

4 years ago

0.1.41

4 years ago

0.1.43

4 years ago

0.1.40

4 years ago

0.1.39

4 years ago

0.1.38

4 years ago

0.1.37

4 years ago

0.1.35

4 years ago

0.1.36

4 years ago

0.1.34

4 years ago

0.1.33

4 years ago

0.1.32

4 years ago

0.1.30

4 years ago

0.1.31

4 years ago

0.1.29

4 years ago

0.1.28

4 years ago

0.1.27

4 years ago

0.1.26

4 years ago

0.1.25

4 years ago

0.1.24

4 years ago

0.1.22

4 years ago

0.1.23

4 years ago

0.1.21

4 years ago

0.1.20

4 years ago

0.1.19

4 years ago

0.1.18

4 years ago

0.1.16

4 years ago

0.1.17

4 years ago

0.1.15

4 years ago

0.1.14

4 years ago

0.1.12

4 years ago

0.1.13

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.0

4 years ago

0.1.1

4 years ago

0.0.33

4 years ago

0.0.34

4 years ago

0.0.32

4 years ago

0.0.31

4 years ago

0.0.30

4 years ago

0.0.29

4 years ago

0.0.28

4 years ago

0.0.27

4 years ago

0.0.26

4 years ago

0.0.25

4 years ago

0.0.24

4 years ago

0.0.23

4 years ago

0.0.22

4 years ago

0.0.21

4 years ago

0.0.20

4 years ago

0.0.19

4 years ago

0.0.18

4 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.13

4 years ago

0.0.14

4 years ago

0.0.11

4 years ago

0.0.12

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.5

4 years ago

0.0.6

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago