@dialpad/dialtone-css
Version:
Dialpad's design system
200 lines (163 loc) • 4.38 kB
text/less
//
// DIALTONE
// COMPONENTS: STACK
//
// These are the styles for stack component.
//
//
// TABLE OF CONTENTS
// • BASE STYLE
// • VISUAL STYLES
// • SIZES
// • RESPONSIVE STYLE
// @@ BASE STYLE
// ----------------------------------------------------------------------------
.direction-options() {
&-column {
--stack-direction: column;
justify-content: flex-start;
}
&-column-reverse {
--stack-direction: column-reverse;
justify-content: flex-start;
}
&-row {
--stack-direction: row;
align-items: center;
justify-content: normal;
}
&-row-reverse {
--stack-direction: row-reverse;
align-items: center;
justify-content: normal;
}
}
.gap-options() {
&-gap-50 {
.d-stack--gap-50();
}
&-gap-100 {
.d-stack--gap-100();
}
&-gap-200 {
.d-stack--gap-200();
}
&-gap-300 {
.d-stack--gap-300();
}
&-gap-350 {
.d-stack--gap-350();
}
&-gap-400 {
.d-stack--gap-400();
}
&-gap-450 {
.d-stack--gap-450();
}
&-gap-500 {
.d-stack--gap-500();
}
&-gap-525 {
.d-stack--gap-525();
}
&-gap-550 {
.d-stack--gap-550();
}
&-gap-600 {
.d-stack--gap-600();
}
&-gap-625 {
.d-stack--gap-625();
}
&-gap-650 {
.d-stack--gap-650();
}
&-gap-700 {
.d-stack--gap-700();
}
}
.d-stack {
--stack-gap: 0;
--stack-direction: column;
display: flex;
flex-direction: var(--stack-direction);
gap: var(--stack-gap);
justify-content: flex-start;
}
// ============================================================================
// $ VISUAL STYLES
// ----------------------------------------------------------------------------
// $$ COLUMN-REVERSE
// ----------------------------------------------------------------------------
.d-stack--column-reverse {
--stack-direction: column-reverse;
justify-content: flex-start;
}
// ----------------------------------------------------------------------------
// $$ ROW
// ----------------------------------------------------------------------------
.d-stack--row {
--stack-direction: row;
align-items: center;
justify-content: normal;
}
// ----------------------------------------------------------------------------
// $$ ROW-REVERSE
// ----------------------------------------------------------------------------
.d-stack--row-reverse {
--stack-direction: row-reverse;
align-items: center;
justify-content: normal;
}
// ============================================================================
// $ SIZES
// ----------------------------------------------------------------------------
.d-stack--gap-50 { --stack-gap: var(--dt-space-50); }
.d-stack--gap-100 { --stack-gap: var(--dt-space-100); }
.d-stack--gap-200 { --stack-gap: var(--dt-space-200); }
.d-stack--gap-300 { --stack-gap: var(--dt-space-300); }
.d-stack--gap-350 { --stack-gap: var(--dt-space-350); }
.d-stack--gap-400 { --stack-gap: var(--dt-space-400); }
.d-stack--gap-450 { --stack-gap: var(--dt-space-450); }
.d-stack--gap-500 { --stack-gap: var(--dt-space-500); }
.d-stack--gap-525 { --stack-gap: var(--dt-space-525); }
.d-stack--gap-550 { --stack-gap: var(--dt-space-550); }
.d-stack--gap-600 { --stack-gap: var(--dt-space-600); }
.d-stack--gap-625 { --stack-gap: var(--dt-space-625); }
.d-stack--gap-650 { --stack-gap: var(--dt-space-650); }
.d-stack--gap-700 { --stack-gap: var(--dt-space-700); }
// ============================================================================
// $ RESPONSIVE
// ----------------------------------------------------------------------------
// $$ SMALL
// ----------------------------------------------------------------------------
.d-stack--sm {
@media screen and (min-width: 480px) {
.direction-options();
.gap-options();
}
}
// $$ MEDIUM
// ----------------
.d-stack--md {
@media screen and (min-width: 640px) {
.direction-options();
.gap-options();
}
}
// $$ LARGE
// ----------------------------------------------------------------------------
.d-stack--lg {
@media screen and (min-width: 980px) {
.direction-options();
.gap-options();
}
}
// $$ EXTRA LARGE
// ----------------------------------------------------------------------------
.d-stack--xl {
@media screen and (min-width: 1264px) {
.direction-options();
.gap-options();
}
}