OctantisWeb.Components.PolarisWC.SStack (octantis v0.2.0)
View SourceOrganizes elements horizontally or vertically along the block or inline axis. Use to structure layouts, group related components, or control spacing between elements.
Useful for
- Placing items in rows or columns when sections don't work for your layout.
- Controlling the spacing between elements.
Considerations
- Stack doesn't add any padding by default. If you want padding around your stacked elements, use
baseto apply the default padding. - When spacing becomes limited, Stack will always wrap children to a new line.
Best practices
- Use smaller gaps between small elements and larger gaps between big ones.
- Maintain consistent spacing in stacks across all pages of your app.
Example
<.s_stack gap="base">
<.s_badge>Paid</.s_badge>
<.s_badge>Processing</.s_badge>
<.s_badge>Filled</.s_badge>
<.s_badge>Completed</.s_badge>
</.s_stack>See
Summary
Functions
Organizes elements horizontally or vertically along the block or inline axis. Use to structure layouts, group related components, or control spacing between elements.
Functions
Organizes elements horizontally or vertically along the block or inline axis. Use to structure layouts, group related components, or control spacing between elements.
Useful for
- Placing items in rows or columns when sections don't work for your layout.
- Controlling the spacing between elements.
Considerations
- Stack doesn't add any padding by default. If you want padding around your stacked elements, use
baseto apply the default padding. - When spacing becomes limited, Stack will always wrap children to a new line.
Best practices
- Use smaller gaps between small elements and larger gaps between big ones.
- Maintain consistent spacing in stacks across all pages of your app.
Example
<.s_stack gap="base">
<.s_badge>Paid</.s_badge>
<.s_badge>Processing</.s_badge>
<.s_badge>Filled</.s_badge>
<.s_badge>Completed</.s_badge>
</.s_stack>See
Attributes
accessibility_label(:string) - A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.Only use this when the element's content is not enough context for users using assistive technologies.
accessibility_role(:string) - 'main' | 'header' | 'footer' | 'section' | 'aside' | 'navigation' | 'ordered-list' | 'list-item' | 'list-item-separator' | 'unordered-list' | 'separator' | 'status' | 'alert' | 'generic' | 'presentation' | 'none'Sets the semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.
accessibility_visibility(:string) - "visible" | "hidden" | "exclusive"Changes the visibility of the element.
visible: the element is visible to all users.hidden: the element is removed from the accessibility tree but remains visible.exclusive: the element is visually hidden but remains in the accessibility tree.
align_content(:string) - 'normal' | BaselinePosition | ContentDistribution | OverflowPosition | ContentPositionAligns the Stack's children along the block axis.
This overrides the block value of
alignContent.align_items(:string) - 'normal' | 'stretch' | BaselinePosition | OverflowPosition | ContentPositionAligns the Stack's children along the block axis.
background(:string) - 'transparent' | 'subdued' | 'base' | 'strong'Adjust the background of the component.
block_size(:string) - SizeUnitsOrAutoAdjust the block size.
border(:string) - BorderShorthandSet the border via the shorthand property.
This can be a size, optionally followed by a color, optionally followed by a style.
If the color is not specified, it will be
base.If the style is not specified, it will be
auto.Values can be overridden by
borderWidth,borderStyle, andborderColor.border_color(:string) - "" | ColorKeywordAdjust the color of the border.
border_radius(:string) - MaybeAllValuesShorthandProperty<BoxBorderRadii>Adjust the radius of the border.
border_style(:string) - "" | MaybeAllValuesShorthandProperty<BoxBorderStyles>Adjust the style of the border.
border_width(:string) - "" | MaybeAllValuesShorthandProperty<"small" | "small-100" | "base" | "large" | "large-100" | "none">Adjust the width of the border.
column_gap(:any) - MaybeResponsive<"" | SpacingKeyword>Adjust spacing between elements in the inline axis.
This overrides the column value of
gap.columnGapeither accepts:- a single SpacingKeyword value (e.g.
large-100) - OR a responsive value string with the supported SpacingKeyword as a query value.
- a single SpacingKeyword value (e.g.
direction(:any) - MaybeResponsive<"inline" | "block">Sets how the Stack's children are placed within the Stack.
directioneither accepts:- a single value either
inlineorblock - OR a responsive value string with the supported SpacingKeyword as a query value.
- a single value either
display(:any) - MaybeResponsive<"auto" | "none">Sets the outer display type of the component. The outer type sets a component's participation in flow layout.
autothe component's initial value. The actual value depends on the component and context.nonehides the component from display and removes it from the accessibility tree, making it invisible to screen readers.
gap(:any) - MaybeResponsive<MaybeTwoValuesShorthandProperty<SpacingKeyword>>Adjust spacing between elements.
gapcan either accept:- a single SpacingKeyword value applied to both axes (e.g.
large-100) - OR a pair of values (eg
large-100 large-500) can be used to set the inline and block axes respectively - OR a responsive value string with the supported SpacingKeyword as a query value.
- a single SpacingKeyword value applied to both axes (e.g.
inline_size(:string) - SizeUnitsOrAutoAdjust the inline size.
justify_content(:string) - JustifyContentKeywordAligns the Stack's children along the inline axis.
max_block_size(:string) - SizeUnitsOrNoneAdjust the maximum block size.
max_inline_size(:string) - SizeUnitsOrNoneAdjust the maximum inline size.
min_block_size(:string) - SizeUnitsAdjust the minimum block size.
min_inline_size(:string) - SizeUnitsAdjust the minimum inline size.
overflow(:string) - "visible" | "hidden"Sets the overflow behavior of the element.
hidden: clips the content when it is larger than the element’s container. The element will not be scrollable and the users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.visible: the content that extends beyond the element’s container is visible.
padding(:any) - MaybeResponsive<MaybeAllValuesShorthandProperty<PaddingKeyword>>Adjust the padding of all edges.
1-to-4-value syntax is supported. Note that, contrary to the CSS, it uses flow-relative values and the order is:
- 4 values:
block-start inline-end block-end inline-start - 3 values:
block-start inline block-end - 2 values:
block inline
For example:
largemeans block-start, inline-end, block-end and inline-start paddings arelarge.large nonemeans block-start and block-end paddings arelarge, inline-start and inline-end paddings arenone.large none largemeans block-start padding islarge, inline-end padding isnone, block-end padding islargeand inline-start padding isnone.large none large smallmeans block-start padding islarge, inline-end padding isnone, block-end padding islargeand inline-start padding issmall.
A padding value of
autowill use the default padding for the closest container that has had its usual padding removed.paddingalso accepts a responsive value string with the supported PaddingKeyword as a query value.- 4 values:
padding_block(:any) - MaybeResponsive<"" | MaybeTwoValuesShorthandProperty<PaddingKeyword>>Adjust the block-padding.
large nonemeans block-start padding islarge, block-end padding isnone.
This overrides the block value of
padding.paddingBlockalso accepts a responsive value string with the supported PaddingKeyword as a query value.padding_block_end(:any) - MaybeResponsive<"" | PaddingKeyword>Adjust the block-end padding.
This overrides the block-end value of
paddingBlock.paddingBlockEndalso accepts a responsive value string with the supported PaddingKeyword as a query value.padding_block_start(:any) - MaybeResponsive<"" | PaddingKeyword>Adjust the block-start padding.
This overrides the block-start value of
paddingBlock.paddingBlockStartalso accepts a responsive value string with the supported PaddingKeyword as a query value.padding_inline(:any) - MaybeResponsive<"" | MaybeTwoValuesShorthandProperty<PaddingKeyword>>Adjust the inline padding.
large nonemeans inline-start padding islarge, inline-end padding isnone.
This overrides the inline value of
padding.paddingInlinealso accepts a responsive value string with the supported PaddingKeyword as a query value.padding_inline_end(:any) - MaybeResponsive<"" | PaddingKeyword>Adjust the inline-end padding.
This overrides the inline-end value of
paddingInline.paddingInlineEndalso accepts a responsive value string with the supported PaddingKeyword as a query value.padding_inline_start(:any) - MaybeResponsive<"" | PaddingKeyword>Adjust the inline-start padding.
This overrides the inline-start value of
paddingInline.paddingInlineStartalso accepts a responsive value string with the supported PaddingKeyword as a query value.row_gap(:any) - MaybeResponsive<"" | SpacingKeyword>Adjust spacing between elements in the block axis.
This overrides the row value of
gap.rowGapeither accepts:- a single SpacingKeyword value (e.g.
large-100) - OR a responsive value string with the supported SpacingKeyword as a query value.
- a single SpacingKeyword value (e.g.
Global attributes are accepted.
Slots
inner_block