ActionList
Description
An ActionList is a styled list of links. It acts as the base component for many
other menu-type components, including ActionMenu and SelectPanel, as well as
the navigational component NavList.
Each item in an action list can be augmented by specifying corresponding leading and/or trailing visuals.
Arguments
| Name | Default | Description |
|---|---|---|
id | StringHTML ID value. | |
role | BooleanARIA role describing the function of the list. listbox and menu are a common values. | |
item_classes | StringAdditional CSS classes to attach to items. | |
scheme | SymbolOne of | |
show_dividers | BooleanDisplay a divider above each item in the list when it does not follow a header or divider. | |
select_variant | SymbolHow items may be selected in the list. One of | |
aria_selection_variant | SymbolSpecifies which aria selection to use. One of | |
form_arguments | HashAllows an | |
system_arguments | Hash |
Slots
heading
Heading text rendered above the list of items.
| Name | Default | Description |
|---|---|---|
component_klass | ClassThe class to use instead of the default | |
system_arguments | HashThe arguments accepted by |
items
Items. Items can be individual items, avatar items, or dividers. See the documentation for #with_item, #with_divider, and #with_avatar_item respectively for more information.
Methods
with_item(component_klass: Class, system_arguments: Hash)
Adds an item to the list.
Parameters
| Name | Default | Description |
|---|---|---|
component_klass | ClassThe class to use instead of the default | |
system_arguments | HashThese arguments are forwarded to |
with_divider(system_arguments: Hash)
Adds a divider to the list. Dividers visually separate items.
Parameters
| Name | Default | Description |
|---|---|---|
system_arguments | HashThe arguments accepted by |
with_avatar_item(src: String, username: String, full_name: String, full_name_scheme: Symbol, component_klass: Class, avatar_arguments: Hash, system_arguments: Hash)
Adds an avatar item to the list. Avatar items are a convenient way to accessibly add an item with a leading avatar image.
Parameters
| Name | Default | Description |
|---|---|---|
src | StringThe source url of the avatar image. | |
username | StringThe username associated with the avatar. | |
full_name | StringOptional. The user's full name. | |
full_name_scheme | SymbolOptional. How to display the user's full name. One of | |
component_klass | ClassThe class to use instead of the default | |
avatar_arguments | HashOptional. The arguments accepted by | |
system_arguments | HashThese arguments are forwarded to |
id
Returns the value of attribute id.
select_variant
Returns the value of attribute select_variant.
role
Returns the value of attribute role.
aria_selection_variant
Returns the value of attribute aria_selection_variant.
build_item(component_klass: Class, system_arguments: Hash)
Builds a new item but does not add it to the list. Use this method
instead of the #with_item slot if you need to render an item outside
the context of a list, eg. if rendering additional items to append to
an existing list, perhaps via a separate HTTP request.
Parameters
| Name | Default | Description |
|---|---|---|
component_klass | ClassThe class to use instead of the default | |
system_arguments | HashThese arguments are forwarded to |
build_avatar_item(src: String, username: String, full_name: String, full_name_scheme: Symbol, component_klass: Class, avatar_arguments: Hash, system_arguments: Hash)
Builds a new avatar item but does not add it to the list. Avatar items
are a convenient way to accessibly add an item with a leading avatar
image. Use this method instead of the #with_avatar_item slot if you
need to render an avatar item outside the context of a list, eg. if
rendering additional items to append to an existing list, perhaps via
a separate HTTP request.
Parameters
| Name | Default | Description |
|---|---|---|
src | StringThe source url of the avatar image. | |
username | StringThe username associated with the avatar. | |
full_name | StringOptional. The user's full name. | |
full_name_scheme | SymbolOptional. How to display the user's full name. One of | |
component_klass | ClassThe class to use instead of the default | |
avatar_arguments | HashOptional. The arguments accepted by | |
system_arguments | HashThese arguments are forwarded to |
post_list_content_block
Returns the value of attribute post_list_content_block.
ActionList::Item
An individual ActionList item. Items can optionally include leading and/or trailing visuals,
such as icons, avatars, and counters.
Arguments
| Name | Default | Description |
|---|---|---|
list | Primer::Alpha::ActionListThe list that contains this item. Used internally. | |
parent | Primer::Alpha::ActionList::ItemThis item's parent item. | |
label | StringItem label. If no label is provided, content is used. | |
item_id | StringAn ID that will be attached to the item's | |
label_classes | StringCSS classes that will be added to the label. | |
label_arguments | HashSystem arguments used to construct the label. | |
content_arguments | HashSystem arguments used to construct the item's anchor or button tag. | |
form_arguments | HashAllows the item to submit a form on click. The URL passed in the | |
truncate_label | Boolean | SymbolHow the label should be truncated when the text does not fit inside the bounds of the list item. One of | |
href | StringLink URL. | |
role | StringARIA role describing the function of the item. | |
size | SymbolControls block sizing of the item. | |
scheme | SymbolControls color/style based on behavior. | |
disabled | BooleanDisabled items are not clickable and visually dim. | |
description_scheme | SymbolDisplay description inline with label, or block on the next line. One of | |
active | BooleanIf the parent list's | |
on_click | StringJavaScript to execute when the item is clicked. | |
id | StringUsed internally. | |
system_arguments | Hash |
Slots
description
Description content that complements the item's label, with optional test_selector.
See ActionList's description_scheme argument for layout options.
| Name | Default | Description |
|---|---|---|
legacy_content | StringSlot content, provided for backwards-compatibility. Pass a content block instead, or call | |
test_selector | StringThe value of this argument is set as the value of a |
leading_visual
An icon, avatar, SVG, or custom content that will render to the left of the label.
To render an icon, call the with_leading_visual_icon method, which accepts the arguments accepted by Primer::Beta::Octicon.
To render an SVG, call the with_leading_visual_svg method.
To render custom content, call the with_leading_visual_content method and pass a block that returns a string.
trailing_visual
An icon, label, counter, or text to render to the right of the label.
To render an icon, call the with_leading_visual_icon method, which accepts the arguments accepted by Primer::Beta::Octicon.
To render a label, call the with_leading_visual_label method, which accepts the arguments accepted by Primer::Beta::Label.
To render a counter, call the with_leading_visual_counter method, which accepts the arguments accepted by Primer::Beta::Counter.
To render text, call the with_leading_visual_text method and pass a block that returns a string. Eg:
with_leading_visual_text { "Text here" }
trailing_action
A button rendered after the trailing icon that can be used to show a menu, activate a dialog, etc.
| Name | Default | Description |
|---|---|---|
system_arguments | HashThe arguments accepted by |
tooltip
Tooltip that appears on mouse hover or keyboard focus over the trailing action button. Use tooltips sparingly and as
a last resort. Important: This tooltip defaults to type: :description. In a few scenarios, type: :label may be
more appropriate. Consult the Primer::Alpha::Tooltip documentation for more information.
| Name | Default | Description |
|---|---|---|
type | SymbolOne of | |
system_arguments | HashThe arguments accepted by |
Methods
id
Returns the value of attribute id.
item_id
Returns the value of attribute item_id.
list
Returns the value of attribute list.
href
Returns the value of attribute href.
active
Returns the value of attribute active.
disabled
Returns the value of attribute disabled.
parent
Returns the value of attribute parent.
active? -> Boolean
Returns the value of attribute active. Whether or not this item is active.
disabled? -> Boolean
Returns the value of attribute disabled. Whether or not this item is disabled.
ActionList::Heading
Heading used to describe each sub list within an action list.
Arguments
| Name | Default | Description |
|---|---|---|
title | StringSub list title. | |
heading_level | IntegerHeading level. Level 2 results in an | |
subtitle | StringOptional sub list description. | |
scheme | SymbolDisplay a background color if scheme is | |
system_arguments | Hash |
Methods
title_id
Returns the value of attribute title_id.
subtitle_id
Returns the value of attribute subtitle_id.
ActionList::FormWrapper
Utility component for wrapping ActionLists or individual ActionList::Items in forms.
ActionList::Divider
Separator with optional text rendered above groups or between individual items.
Arguments
| Name | Default | Description |
|---|---|---|
scheme | SymbolDisplay a background color if scheme is | |
system_arguments | Hash |