← back to Dw Theme Boost Fix
snippets/element.divider.liquid
83 lines
{% doc %}
Copyright © 2025 Archetype Themes LP. All rights reserved.
A horizontal divider component for creating visual separation between content.
Features include configurable custom colors with semantic sizing options
for small, medium, and large spacing requirements.
@param {string} [classlist] - Class list
@param {string} [style] - Style attribute
@param {string} [size] - Margin size (small, medium, large)
@param {string} [color] - Divider color
@example
{% render 'element.divider', size: 'medium', color: '#000000' %}
{% enddoc %}
{% liquid
assign classlist = classlist | default: '' | append: ' element-divider' | strip
assign style = style | default: ''
assign size = size | default: ''
assign color = color | default: ''
if color != blank
capture style
echo style | append: ' --element-divider-border-color: ' | append: color | append: ';'
endcapture
endif
if size != blank
assign classlist = classlist | append: ' element-divider--' | append: size
endif
%}
<hr
class="{{ classlist }}"
{% if style != blank %}
style="{{ style }}"
{% endif %}
aria-hidden="true"
>
{% render 'style.primitive-tokens' %}
{% render 'style.normalize' %}
{% stylesheet %}
.element-divider {
/* Layout & Typography */
--_width: var(--element-divider-width, 100%);
--_margin: var(--element-divider-margin, 0);
--_border-width: var(--element-divider-border-width, var(--size-0-25));
/* Colors */
--_color-primary: var(--color-primary);
--_color-secondary: var(--color-secondary);
--_shade-border: var(--element-divider-border-shade, var(--shade-12));
--_border-color: var(
--element-divider-border-color,
color-mix(in srgb, var(--_color-primary) var(--_shade-border), var(--_color-secondary))
);
width: var(--_width);
margin: var(--_margin) auto;
border: 0;
border-top: var(--_border-width) solid var(--_border-color);
}
.element-divider--small {
--_margin: var(--size-4);
}
.element-divider--medium {
--_margin: var(--size-7-5);
}
.element-divider--large {
--_margin: var(--size-7-5);
@media (min-width: 769px) {
--_margin: calc(var(--size-7-5) * 1.5);
}
}
{% endstylesheet %}