4.3.29 • Published 9 months ago

@forter/dropdown v4.3.29

Weekly downloads
112
License
Apache-2.0
Repository
github
Last release
9 months ago

fc-dropdown

Control for picking values from a list.

⚠️⚠️ This component is deprecated and might be unstable. please use fc-select or fc-popover. ⚠️⚠️ <fc-dropdown> makes use of flatMap, so users should take care to polyfill if they need to serve dropdowns to legacy browsers.

Usage

<fc-dropdown>
   <fc-dropdown-item>Eenie</fc-dropdown-item>
   <fc-dropdown-item>Meenie</fc-dropdown-item>
   <fc-dropdown-item>Miny</fc-dropdown-item>
   <fc-dropdown-item>Mo</fc-dropdown-item>
</fc-dropdown>

Examples

<!-- header -->
<fc-dropdown no-close-on-select>
   <fc-dropdown-header>Finance</fc-dropdown-header>
   <fc-dropdown-header>Support</fc-dropdown-header>
  </fc-dropdown>

<!-- icon -->

<fc-dropdown
    on-dropdown-opened="${onDropdownOpen}"
    on-dropdown-closed="${onDropdownClose}"
    on-select="${onSelect}">
  <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
  <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
  <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
  <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>

<!-- filterableItems -->

<fc-dropdown no-close-on-select no-close-on-focusout label="Users" multi>
   <fc-button slot="trigger" icon="user">Assign to User</fc-button>

   <fc-input slot="filter" label="Filter" flat>
     <fc-icon icon="search" slot="prefix"></fc-icon>
   </fc-input>

   <fc-dropdown-header>Finance</fc-dropdown-header>

   <fc-dropdown-header>Support</fc-dropdown-header>

   <fc-button slot="action" intent="apply">Assign</fc-button>
</fc-dropdown>

<!-- stayOpened -->
<fc-dropdown
     no-close-on-select
     no-close-on-focusout
     on-dropdown-opened="${onDropdownOpen}"
     on-dropdown-closed="${onDropdownClose}"
     on-select="${onSelect}">
   <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>

<!-- topLeft -->
<fc-dropdown style="position: fixed; bottom: calc(100vh - 50px)">
   <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>

<!-- topRight -->
<fc-dropdown style="position: fixed; buttom: calc(100vh - 50px); left: calc(100vw - 50px);">
   <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>

<!-- buttomLeft -->
<fc-dropdown style="position: fixed; top: calc(100vh - 50px)">
   <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>

<!-- buttomRight -->
<fc-dropdown style="position: fixed; top: calc(100vh - 50px); left: calc(100vw - 50px);">
   <fc-dropdown-icon-item icon="star">Eenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="user">Meenie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="home">Minie</fc-dropdown-icon-item>
   <fc-dropdown-icon-item icon="add">Mo</fc-dropdown-icon-item>
</fc-dropdown>
import { html, render } from 'lit-html';
import '@forter/dropdown';

const itemTemplate = ({ icon, label = '' }) => html`
   <fc-dropdown-icon-item value="${label.toLowerCase()}">
     ${label}
   </fc-dropdown-icon-item>`

const dropDownTemplate = items => html`
   <fc-dropdown
       \@dropdown-open="${onDropdownOpen}"
       \@dropdown-close="${onDropdownClose}"
       \@select="${onSelect}">
     ${items.map(itemTemplate)}
   </fc-dropdown>
`;
render(dropDownTemplate([
   { icon: 'star', label: 'Eenie' },
   { icon: 'home', label: 'Meenie' },
   { icon: 'user', label: 'Miny' },
   { icon: 'add', label: 'Mo }',
]), document.body)

Properties

PropertyAttributeTypeDefaultDescription
delegateFilterdelegate-filterbooleanWhen true, instead of filtering the list client side,fire an event, in order to receive a new list from without.
filterfilterstring
filterPredicate(value: string, item: HTMLElement) => booleanDefault predicate by which to filter items
horizontalOffsethorizontal-offsetnumber0Number of pixels on the horizontal axis to offset the dropdown list by. example: 50
labellabelstring"Items"Label that describes the list of the items
noCloseOnFocusoutno-close-on-focusoutbooleanfalseWhen true, focusing outside the dropdown menu will not close the dropdown.
noCloseOnSelectno-close-on-selectbooleanfalseWhen true, selecting an item will not close the dropdown.
openedopened"dropdown-opened" \| "dropdown-closed"
triggerLabeltrigger-labelstringLabel for the default trigger
verticalOffsetvertical-offsetnumberNumber of pixels on the vertical axis to offset the dropdown list by. example: 50

Events

EventDescription
dropdown-closedfired when the dropdown closes
dropdown-openedfired when the dropdown opens

Slots

NameDescription
dropdown content
triggercustom trigger button (optional)

CSS Custom Properties

PropertyDescription
--fc-dropdown-horizontal-paddingdropdown content horizontal-padding. default: 20px
--fc-dropdown-widthdropdown's width. default: auto

fc-dropdown-item

Control for picking values from a list.

Usage

<fc-dropdown-item value="Hello World"></fc-dropdown-item>

Properties

PropertyAttributeTypeDefaultDescription
selectedselectedbooleanfalseWhether the item is selected
tabIndexnumber
valuevaluestringValue for the item

Events

Event
item-selected fired when an item is selected

Slots

Name

CSS Custom Properties

PropertyDescription
--fc-dropdown-item-justifyflex justification for item content. default: space-between
--fc-dropdown-item-padding-horizontalhorizontal padding. default: 25px
--fc-dropdown-item-padding-verticalvertical padding. default: 20px

fc-dropdown-icon-item

Just like a dropdown item, but with a stylish icon.

Usage

<fc-dropdown-icon-item icon="star" value="hello"></fc-dropdown-icon-item>

Properties

PropertyAttributeTypeDefaultDescription
iconiconstringThe icon to use for the item
selectedselectedbooleanfalseWhether the item is selected
tabIndexnumber
valuevaluestringValue for the item

Events

Event
item-selected fired when an item is selected

Slots

Name

CSS Custom Properties

PropertyDescription
--fc-dropdown-item-justifyflex justification for item content. default: space-between
--fc-dropdown-item-padding-horizontalhorizontal padding. default: 25px
--fc-dropdown-item-padding-verticalvertical padding. default: 20px
4.3.29

9 months ago

4.3.24

2 years ago

4.3.28

2 years ago

4.3.27

2 years ago

4.3.26

2 years ago

4.3.25

2 years ago

4.3.17

2 years ago

4.3.19

2 years ago

4.3.18

2 years ago

4.3.20

2 years ago

4.3.23

2 years ago

4.3.22

2 years ago

4.3.21

2 years ago

4.3.13

2 years ago

4.3.16

2 years ago

4.3.15

2 years ago

4.3.14

2 years ago

4.3.12

2 years ago

4.3.11

2 years ago

4.3.9

2 years ago

4.3.6

2 years ago

4.3.8

2 years ago

4.3.7

2 years ago

4.3.10

2 years ago

4.3.2

3 years ago

4.3.1

3 years ago

4.3.4

3 years ago

4.3.3

3 years ago

4.3.5

3 years ago

4.3.0

3 years ago

4.2.40

3 years ago

4.2.41

3 years ago

4.2.34

3 years ago

4.2.39

3 years ago

4.2.35

3 years ago

4.2.36

3 years ago

4.2.37

3 years ago

4.2.38

3 years ago

4.2.33

3 years ago

4.2.30

3 years ago

4.2.29

3 years ago

4.2.28

3 years ago

4.2.27

3 years ago

4.2.25

3 years ago

4.2.26

3 years ago

4.2.22

3 years ago

4.2.23

3 years ago

4.2.24

3 years ago

4.2.21

4 years ago

4.2.20

4 years ago

4.2.19

4 years ago

4.2.18

4 years ago

4.2.17

4 years ago

4.2.16

5 years ago

4.2.15

5 years ago

4.2.14

5 years ago

4.2.13

5 years ago

4.2.12

5 years ago

4.2.11

5 years ago

4.2.10

5 years ago

4.2.9

5 years ago

4.2.8

5 years ago

4.2.5

5 years ago

4.2.4

5 years ago

4.2.7

5 years ago

4.2.6

5 years ago

4.2.3

5 years ago

4.2.2

5 years ago

4.2.1

5 years ago

4.2.0

5 years ago

4.1.25

5 years ago

4.1.24

5 years ago

4.1.22

5 years ago

4.1.23

5 years ago

4.1.21

5 years ago

4.1.20

5 years ago

4.1.19

5 years ago

4.1.18

5 years ago

4.1.17

5 years ago

4.1.16

5 years ago

4.1.15

5 years ago

4.1.14

5 years ago

4.1.13

5 years ago

4.1.12

5 years ago

4.1.11

5 years ago

4.1.10

5 years ago

4.1.9

5 years ago

4.1.8

5 years ago

4.1.7

5 years ago

4.1.6

5 years ago

4.1.4

5 years ago

4.1.5

5 years ago

4.1.3

5 years ago

4.1.2

5 years ago

4.1.1

5 years ago

4.0.28

5 years ago

4.1.0

5 years ago

4.0.27

5 years ago

4.0.26

5 years ago

4.0.25

5 years ago

4.0.24

5 years ago

4.0.23

5 years ago

4.0.22

5 years ago

4.0.21

5 years ago

4.0.20

5 years ago

4.0.19

5 years ago

4.0.18

5 years ago

4.0.17

5 years ago

4.0.16

5 years ago

4.0.15

6 years ago

4.0.14

6 years ago

4.0.13

6 years ago

4.0.12

6 years ago

4.0.11

6 years ago

4.0.10

6 years ago

4.0.9

6 years ago

4.0.8

6 years ago

4.0.7

6 years ago

4.0.6

6 years ago

4.0.5

6 years ago

4.0.4

6 years ago

4.0.3

6 years ago

4.0.2

6 years ago

4.0.1

6 years ago

3.2.11

6 years ago

4.0.0

6 years ago

3.2.10

6 years ago

3.2.9

6 years ago

3.2.8

6 years ago

3.2.7

6 years ago

3.2.6

6 years ago

3.2.5

6 years ago

3.2.4

6 years ago

3.2.3

6 years ago

3.2.2

6 years ago

3.2.1

6 years ago

3.2.0

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.1-beta.315

6 years ago

1.0.1-beta.295

6 years ago

1.0.1-beta.292

6 years ago

1.0.1-beta.262

6 years ago

1.0.1-beta.254

6 years ago

1.0.1-beta.247

6 years ago

1.0.1-beta.246

6 years ago

1.0.1-beta.245

6 years ago

1.0.1-beta.229

6 years ago

1.0.0

6 years ago

1.0.0-alpha.3

6 years ago

1.0.0-alpha.2

6 years ago

1.0.0-alpha.1

6 years ago

1.0.0-alpha.0

6 years ago