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 | Required | Description |
---|---|---|
id | String HTML ID value. | |
role | Boolean ARIA role describing the function of the list. listbox and menu are a common values. | |
item_classes | String Additional CSS classes to attach to items. | |
scheme | Symbol One of | |
show_dividers | Boolean Display a divider above each item in the list when it does not follow a header or divider. | |
select_variant | Symbol How items may be selected in the list. One of | |
aria_selection_variant | Symbol Specifies which aria selection to use. One of | |
form_arguments | Hash Allows an | |
system_arguments | Hash |
Slots
heading
Heading text rendered above the list of items.
Name | Required | Description |
---|---|---|
component_klass | Class The class to use instead of the default | |
system_arguments | Hash The 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 | Required | Description |
---|---|---|
component_klass | Class The class to use instead of the default | |
system_arguments | Hash These arguments are forwarded to |
with_divider(system_arguments: Hash)
Adds a divider to the list. Dividers visually separate items.
Parameters
Name | Required | Description |
---|---|---|
system_arguments | Hash The 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 | Required | Description |
---|---|---|
src | String The source url of the avatar image. | |
username | String The username associated with the avatar. | |
full_name | String Optional. The user's full name. | |
full_name_scheme | Symbol Optional. How to display the user's full name. One of | |
component_klass | Class The class to use instead of the default | |
avatar_arguments | Hash Optional. The arguments accepted by | |
system_arguments | Hash These 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 | Required | Description |
---|---|---|
component_klass | Class The class to use instead of the default | |
system_arguments | Hash These 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 | Required | Description |
---|---|---|
src | String The source url of the avatar image. | |
username | String The username associated with the avatar. | |
full_name | String Optional. The user's full name. | |
full_name_scheme | Symbol Optional. How to display the user's full name. One of | |
component_klass | Class The class to use instead of the default | |
avatar_arguments | Hash Optional. The arguments accepted by | |
system_arguments | Hash These 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 | Required | Description |
---|---|---|
list | Primer::Alpha::ActionList The list that contains this item. Used internally. | |
parent | Primer::Alpha::ActionList::Item This item's parent item. | |
label | String Item label. If no label is provided, content is used. | |
item_id | String An ID that will be attached to the item's | |
label_classes | String CSS classes that will be added to the label. | |
label_arguments | Hash System arguments used to construct the label. | |
content_arguments | Hash System arguments used to construct the item's anchor or button tag. | |
form_arguments | Hash Allows the item to submit a form on click. The URL passed in the | |
truncate_label | Boolean | Symbol How the label should be truncated when the text does not fit inside the bounds of the list item. One of | |
href | String Link URL. | |
role | String ARIA role describing the function of the item. | |
size | Symbol Controls block sizing of the item. | |
scheme | Symbol Controls color/style based on behavior. | |
disabled | Boolean Disabled items are not clickable and visually dim. | |
description_scheme | Symbol Display description inline with label, or block on the next line. One of | |
active | Boolean If the parent list's | |
on_click | String JavaScript to execute when the item is clicked. | |
id | String Used 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 | Required | Description |
---|---|---|
legacy_content | String Slot content, provided for backwards-compatibility. Pass a content block instead, or call | |
test_selector | String The 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 | Required | Description |
---|---|---|
system_arguments | Hash The 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 | Required | Description |
---|---|---|
type | Symbol One of | |
system_arguments | Hash The 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 | Required | Description |
---|---|---|
title | String Sub list title. | |
heading_level | Integer Heading level. Level 2 results in an | |
subtitle | String Optional sub list description. | |
scheme | Symbol Display 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 | Required | Description |
---|---|---|
scheme | Symbol Display a background color if scheme is | |
system_arguments | Hash |