Package-level declarations
Skapa Components available for Android.
Types
AccordionSize defines the minimum height of the Accordion. The height of the container will expand if the text size is increased. Use medium and large size to add an extra caption in the accordion.
AccordionTextStyle defines the style variant of the Accordion. It indicates whether the title is regular or bold.
AvatarSize Enum class which represents the sizing of the Avatar component.
AvatarStyle Enum class which represents the color scheme of the Avatar component.
Data class that represents the different display types in AvatarVariant as well as the necessary properties for each type.
Colors for Badge
Variants for Badge
Pre-defined sizes for Button component
Pre-defined styles for the Button component
Data class that represent the necessary data to add an close CarouselDismissParams in the component.
Used to adjust the space between items, using a predetermined set of Space tokens
CarouselVariant enum class which defines the variant of the Carousel component.
Character limit counter values.
Data class used for CheckboxGroup
Appearance of the Checkbox
Content interface for Choice.
Content alignment for leading and trailing content.
Data class used for Choice group items.
Leading content for Choice: Icon, Payment Logo, or Image
Sizes for Choice. The sizes affect the minimum height of the component. Keep in mind that the small variant should ideally be used without a caption or larger add-ons. If the content is larger than the container, it will grow accordingly.
Trailing content for Choice: Icon, Image, Text, or Price.
Data class that represent the necessary data to add an close DismissParams in a component.
Orientation to use with Dual button Use DualButtonOrientation.Horizontal to have the buttons side-by-side. Use DualButtonOrientation.Vertical to stack the buttons vertically.
Data class for DualButton content.
Position for Dual button First is the Start Orientation.Horizontal or Top Orientation.Vertical Second is the End Orientation.Horizontal or Bottom Orientation.Vertical
DualButtonSize Small or Medium. Default is Medium.
Use DualButtonVariant.Primary to stand out on top of images or other graphics such as interactive maps. Uses Static colors. Use DualButtonVariant.Secondary for low emphasis. Adapts to Light/Dark Themes. Use DualButtonVariant.SecondaryInverse Use secondary inverse dual buttons for low emphasis on dark backgrounds. Uses static colors.
Variants for Expander
Enum class used for Prompt footer alignment when two buttons are used.
Helper class for Helper text parameters
Helper text states
Pre-defined colours for Hyperlink component
Pre-defined sizes for IconButton
Pre-defined styles for the IconButton component
Icon parameters for clickable icons used in eg. Input field related components.
Pre-defined sizes for IconPill
Data class to be used for header images in Card component.
Pre-defined accentuation for Inline message styling.
Pre-defined Inline message variants.
Enum class to handle InlineMessage visibility state, changing the state will trigger AnimatedVisibility effect on the component
Variants for Jumbo buttons
Interface used to determine if item in list is header
Data class that represents a list of items that Implement ListBoxItemHeader interface and is used to separate the items by headers
Trailing controls are used to distinguish between Navigation and Action behaviour.
Leading content: Text, Icon, Image, Payment Logo or Avatar All list view item sizes supports leading content. Please note that Leading image and Medium Payment logos are only supported in Medium and Large list view items. Small list view items also supports a small version of the payment logo container.
ListViewItemSize defines the minimum height of the List View Item container. All list view item variants are available in three different sizes. The height of the container will expand if the text size is increased. Use medium and large list view items for images and double lines of text.
Controls the title text style of the ListViewItem component.
Sizes for LoadingBall component
Color variants for LoadingBall component
Leading content: Only Icon for now All menu item sizes supports leading content.
Enum class used for Modals footer alignment when two buttons are used.
A ModalHeaderAction is represented as an IconButton added to the header component
Class that represents the necessary data to build a ModalHeader
Class that represents the necessary data to build a ModalsActionFooter
Data class that represents the necessary data to add navigation buttons in the component.
PaymentLogoSize defines the overall size of the Payment Logo container.
Data class used for PillGroup
State of the PillGroup component. It determines if the group is either PillGroupState.Expanded or PillGroupState.Collapsed
Data class used for Prompt primaryAction & secondaryAction
The QuantityStepperActions class actions that will be triggered in response to users triggering an input action on the QuantityStepper component. This can be used together with the default onValueChange param.
QuantityStepperSize defines the overall size of the Quantity Stepper component.
Styles for RadioButton
Data class used for RadioButtonGroup
Select interaction params
Style for Choice In most cases, emphasised styles are preferred, as it’s important to highlight user selections. Subtle styles are useful in contexts where the coloured selection competes in the hierarchy of nearby elements, like other emphasised elements, or coloured content within the Choice Button content.
Class that controls the aspects related with the Select items
State of the SheetState composable.
Possible values of SheetState.
Params for Shop all button. Uses a ButtonVariant.ImageOverlay when rendered.
Data class to be used for background image option.
Shoppable image item data class
Set of aspect ratios defined by Skapa
This Object provides the necessary properties to build an Skapa Image component
Example of usage
Position of the status dot when if used with label
Sizes for Status component
Styles for Status component
Appearance of the Switch
TabVariant is used to define the style of the tabs.
Data class for Toggle content.
Functions
Accordion component is usually used as a list of headers that hide or reveal additional content when selected.
A wrap box container for presenting visual media, in Skapa standardised aspect ratios
Example of usage
Avatar is a visual representation of a user profile either by image, icon or text.
Badge is a non-interactable component for informational purposes.
Sheet is a modal window that dims and disables the parent view allowing for a short, focused task or providing additional information before returning to the main screen. They are an alternative to inline menus and simple dialogs, providing additional room for content, iconography, and actions.
Sheet is a modal window that dims and disables the parent view allowing for a short, focused task or providing additional information before returning to the main screen. They are an alternative to inline menus and simple dialogs, providing additional room for content, iconography, and actions.
Button component is a control used to perform actions when triggered. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Card 2.0 is a component that displays grouped content and actions on a single topic. It provides an entry point to more detailed information.
Card Emphasised is a Card with a background that provides a stronger visual contrast and creates a more traditional card silhouette.
Deprecated Emphasised Card.
Card Regular is a background-less Card that blends passively into the page.
Deprecated Regular Card.
Carousel is a container used to horizontally slide or cycle through content placed inside of it. This Implementation does not have a counter badge on display.
Carousel is a container used to horizontally slide or cycle through content placed inside of it. This Implementation has a counter badge on display and is accessed through the counterBadgeFormatter property, if you choose CarouselVariant.Overflow the counter will no be shown.
Checkbox component is a control that toggles between checked and unchecked as its default states. Used to choose one or more options from a limited number of options.
This is the grouped Composable function for Choice.
This is the stand-alone Choice Composable, with this power comes great responsibility. This is only to be used if the list layout variant we provide isn't enough, and a custom layout is needed. Please follow guidelines available on Choice info and guidelines
Divider is a thin grey keyline that help create subsections of content.
Dropdown component can be used as a trigger for ListBox, Prompt, BottomSheet or other container components to display a list of options to choose
Dual button is a group of two buttons with binary actions.
Expander component allows user to reveals and hide extra content.
Helper Text is a validation component designed to help out and provide guidance to form elements. This component consists only of an icon indicator and a label and it should be used together with other components.
Hyperlink A text component that is able to handle click event on the text.
HyperlinkStyle method is meant to be style text as an Skapa Hyperlink component in those cases the raw component is not enough by itself
Icon Button component a button for compact spaces that is labelled with an icon instead of text. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Icon Pill component is a button that represents an attribute or unit of data. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Inline Message is use to displays highly contextual, non-interruptive messages inline with content.
Input Field enables users to edit text via hardware or software keyboard, providing different decorations such as Label, helper text, prefix and more. Whenever the user edits the text, onChange is called with the most up to date state represented by value. value contains the text entered by user. Note: If apart from Suffix/Prefix decorator you also want leading or trailing icon use the InputField overload with the IconId parameter instead.
Jumbo Button component is a control used to trigger the final action on a linear flow. It has a predefined appearance based on Skapa design and guidelines.
Wrapped Material DropdownMenu with Skapa features, used to display select options
List View Item consist of one or more items and can contain actions represented by Icons and text. The List View Item is available in three sizes. Small for one line text, medium and large.
List View Item consists of one or more items and can contain actions represented by Icons and text. The List View Item is available in three sizes. Small for one line text, medium and large.
LoadingBall is used when there is a indeterminate loading time, when it is not possible to know the completion time. Meant to be used when the process lasts between 2 to 10 seconds.
Loading Linear is used when there is a determinate loading time, when it is possible to know the completion time. Meant to be used when the process takes more than 10 seconds. Preferable when time remaining can be displayed.
Composable to be use for selection patters with ListBox, Sheet and Prompt.
Payment Logo is a Container for payment provider logos. Our payment logo container is an empty container that comes with a few pre-defined rules such as sizing and borders and sizing.
Pill component is a button that represents an attribute or unit of data. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Pill component with Thumbnail is a button that represents an attribute or unit of data. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Pill component with Icon is a button that represents an attribute or unit of data. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Pill component with Icon and Badge is a button that represents an attribute or unit of data. It's built on top of androidx.compose.material.Button and comes with predefined appearance based on Skapa design and guidelines.
Pill Group component allows Pills to be combined together inside a Row to achieve group-like behaviour. PillGroup implements the fixed-width container behaviour and wrap pills onto new rows, similar to a paragraph of text. The container height can be controlled by determining a maximum number of visible pills. When the number of maximum visible pills is set, an overflow button allows users to reveal the remaining content. Actions bound to the overflow button can vary.
Prompt is a modal window that appears in the centre of a screen, disabling the content below. It interrupts the user with a critical task, decision, or acknowledgement that needs to be addressed before continuing. It's built on top of androidx.compose.ui.window.Dialog and comes with a predefined appearance based on Skapa design and guidelines (https://skapa.ikea.net/).
QuantityStepper component allows you to select an number value by increasing/decreasing that value with the button controls or writing the value directly in the input field inside the component
QuantityStepper component allows you to select an number value by increasing/decreasing that value with the button controls or writing the value directly in the input field inside the component.
Radio Button component is a control that allows a single selection of a list of mutually exclusive options. It's built on top of androidx.compose.material.RadioButton and comes with predefined appearance based on Skapa design and guidelines.
Radio Button Group component allows RadioButtons to be combined together with a Text inside a Column to achieve group-like behaviour. We recommend using no more than five radio buttons in a layout.
Rating component is used to display a star rating with average value and number of reviews/ratings for a product.
Create a SheetState and remember it.
Select enables users to display and choose an option within a set of given SelectItemsParams.items that are display as specified in SelectItemsParams.itemContent function. Whenever the user select an option, SelectItemsParams.onItemSelected is called with the selected item as parameter.
Shoppable image is an image with markers that showcases and links to IKEA products pictured within.
Skeleton is a visual component for content being loaded which create the impression of faster, gradual loading.
Status is typically used to highlight product availability but might work in other applications.
Switch is a binary control for turning a setting or feature 'on' or 'off' with immediate effect.
Tabs Groups and allows navigation between groups of related content at the same level of the hierarchy, without leaving the page. Tabs can be used on full page layouts or nested in components.
Tag is used to classify and link to content.
Text area enables users to edit Multi-line text via hardware or software keyboard, providing different decorations such as Label, helper text, and counter. Whenever the user edits the text, onChange is called with the most up to date state represented by value. value contains the text entered by user. fields, useful when you want to allow users to enter a sizeable amount of text.
Toast component displays a brief, non-interruptive message that floats in front of the screen. It is built to be used in conjunction with Scaffold and SnackbarHost in the same manner as Material Design Snackbar, using snackbarData for input. Comes with predefined appearance based on Skapa design and guidelines.
Converting Helper text states to Base field states
Toggle component is a control that allows a single selection of a list of mutually exclusive options. The component comes with a predefined appearance based on Skapa design and guidelines.
Converting Base field states to Helper text states
TriStateCheckbox should be used when selections can contain sub-selections.