Back to Tuist

Dropdown

noora/docs/components/dropdown.md

4.204.06.2 KB
Original Source
<!-- Generated by scripts/generate-web-components.js. Do not edit directly. -->

Dropdown

Opens a menu of actions or navigational items.

html
<noora-dropdown label="Dropdown">
  <noora-dropdown-item value="1">Item 1</noora-dropdown-item>
</noora-dropdown>

Attributes

AttributeType or allowed valuesDefaultDescription
labelstring""Sets the trigger label.
sizemedium, large"large"Controls the trigger dimensions.
secondary-textstringNoneAdds text before the main label.
icon-onlybooleanfalseUses the icon slot as the complete trigger.
hintstringNoneAdds supporting text.
disabledbooleanfalseDisables the trigger.
openbooleanfalseControls whether the menu is open.
close-on-selectbooleantrueCloses the menu after selection.
keep-openbooleanfalseKeeps the menu open after selection.

Properties

PropertyType or allowed valuesDefaultDescription
itemsArray<Record<string, unknown>>[]Defines menu items programmatically when declarative noora-dropdown-item children are not used.

Events

EventTypeDescription
noora-open-changeCustomEvent<{ open: boolean }>Emitted when the dropdown opens or closes.
noora-selectCustomEvent<{ item: Record<string, unknown>; value: unknown }>Emitted when an enabled item is selected.

Slots

SlotDescription
iconThe trigger icon.
searchSearch content above the item list.
defaultDeclarative noora-dropdown-item children.

Styling parts

PartDescription
triggerThe menu trigger.
contentThe menu content.
itemsThe item list.

Selections emit a noora-select event with the selected item.

Default

Provide structured action items.

html
<noora-dropdown label="Dropdown">
  <noora-dropdown-item value="1">Item 1</noora-dropdown-item>
  <noora-dropdown-item value="2" right-icon="chevron_right">Item 2</noora-dropdown-item>
  <noora-dropdown-item value="3" secondary-text="Foo">Item 3</noora-dropdown-item>
  <noora-dropdown-item value="4" icon="category">Item 4</noora-dropdown-item>
  <noora-dropdown-item value="5">Item 5</noora-dropdown-item>
</noora-dropdown>

Disabled

Disable the complete menu when its actions are unavailable.

html
<noora-dropdown label="Dropdown" disabled></noora-dropdown>

Large items

Use larger rows for prominent action menus.

html
<noora-dropdown label="Dropdown with large items">
  <noora-dropdown-item value="1" size="large" icon="category">Item 1</noora-dropdown-item>
  <noora-dropdown-item value="2" size="large" icon="category">Item 2</noora-dropdown-item>
  <noora-dropdown-item value="3" size="large" icon="category" secondary-text="Foo">Item 3</noora-dropdown-item>
  <noora-dropdown-item value="4" size="large" icon="category">Item 4</noora-dropdown-item>
  <noora-dropdown-item value="5" size="large" icon="category">Item 5</noora-dropdown-item>
</noora-dropdown>

Trigger icon

Add an icon to the dropdown trigger.

html
<noora-dropdown label="Dropdown">
  <noora-icon slot="icon" name="category"></noora-icon>
  <noora-dropdown-item value="1">Item 1</noora-dropdown-item>
</noora-dropdown>

Secondary text

Add concise context beside an item label.

html
<noora-dropdown label="Date" secondary-text="Order by">
  <noora-dropdown-item value="1" secondary-text="Foo">Item 1</noora-dropdown-item>
</noora-dropdown>

Icons and secondary text

Combine visual cues with supporting text.

html
<noora-dropdown label="Date" secondary-text="Order by">
  <noora-icon slot="icon" name="category"></noora-icon>
  <noora-dropdown-item value="1" secondary-text="Foo">Item 1</noora-dropdown-item>
</noora-dropdown>

Hint

Explain the purpose of the menu below its trigger.

html
<noora-dropdown label="Dropdown" hint="This is a hint">
  <noora-dropdown-item value="1">Item 1</noora-dropdown-item>
</noora-dropdown>

Many options

Allow the menu content to scroll when it contains many choices.

html
<noora-dropdown label="Many Options">
  <noora-dropdown-item value="1">Option 1</noora-dropdown-item>
  <noora-dropdown-item value="2">Option 2</noora-dropdown-item>
  <noora-dropdown-item value="3">Option 3</noora-dropdown-item>
  <noora-dropdown-item value="4">Option 4</noora-dropdown-item>
  <noora-dropdown-item value="5">Option 5</noora-dropdown-item>
  <noora-dropdown-item value="6">Option 6</noora-dropdown-item>
  <noora-dropdown-item value="7">Option 7</noora-dropdown-item>
  <noora-dropdown-item value="8">Option 8</noora-dropdown-item>
  <noora-dropdown-item value="9">Option 9</noora-dropdown-item>
  <noora-dropdown-item value="10">Option 10</noora-dropdown-item>
  <noora-dropdown-item value="11">Option 11</noora-dropdown-item>
  <noora-dropdown-item value="12">Option 12</noora-dropdown-item>
  <noora-dropdown-item value="13">Option 13</noora-dropdown-item>
  <noora-dropdown-item value="14">Option 14</noora-dropdown-item>
  <noora-dropdown-item value="15">Option 15</noora-dropdown-item>
  <noora-dropdown-item value="16">Option 16</noora-dropdown-item>
  <noora-dropdown-item value="17">Option 17</noora-dropdown-item>
  <noora-dropdown-item value="18">Option 18</noora-dropdown-item>
  <noora-dropdown-item value="19">Option 19</noora-dropdown-item>
  <noora-dropdown-item value="20">Option 20</noora-dropdown-item>
</noora-dropdown>

Checkbox items

Communicate selected items with checkbox indicators.

html
<noora-dropdown label="Select days" keep-open>
  <noora-dropdown-item value="monday" checkable checked>Monday</noora-dropdown-item>
  <noora-dropdown-item value="tuesday" checkable checked>Tuesday</noora-dropdown-item>
  <noora-dropdown-item value="wednesday" checkable>Wednesday</noora-dropdown-item>
  <noora-dropdown-item value="thursday" checkable>Thursday</noora-dropdown-item>
  <noora-dropdown-item value="friday" checkable checked>Friday</noora-dropdown-item>
  <noora-dropdown-item value="saturday" checkable>Saturday</noora-dropdown-item>
  <noora-dropdown-item value="sunday" checkable>Sunday</noora-dropdown-item>
</noora-dropdown>