206 lines
5.2 KiB
SCSS
206 lines
5.2 KiB
SCSS
// Extend utilities
|
|
|
|
$rounded-sizes: () !default;
|
|
$rounded-sizes: map-merge(
|
|
$rounded-sizes,
|
|
(
|
|
null: $border-radius,
|
|
0: 0,
|
|
1: $border-radius-sm,
|
|
2: $border-radius,
|
|
3: $border-radius-lg,
|
|
circle: 50%,
|
|
pill: $border-radius-pill,
|
|
)
|
|
);
|
|
|
|
$utilities-opacity: () !default;
|
|
$utilities-opacity: map-merge($utilities-opacity, $o-opacities);
|
|
|
|
$utilities-sizes: () !default;
|
|
$utilities-sizes: map-merge(
|
|
$utilities-sizes,
|
|
(
|
|
0: 0,
|
|
25: 25%,
|
|
50: 50%,
|
|
75: 75%,
|
|
100: 100%,
|
|
auto: auto,
|
|
)
|
|
);
|
|
|
|
$order-array: (
|
|
first: -1,
|
|
last: $grid-columns + 1,
|
|
) !default;
|
|
@for $i from 0 through $grid-columns {
|
|
$order-array: map-merge(
|
|
$order-array,
|
|
(#{$i}: $i)
|
|
);
|
|
}
|
|
|
|
|
|
$utilities: () !default;
|
|
$utilities: map-merge(
|
|
$utilities,
|
|
(
|
|
"display": map-merge(
|
|
map-get($utilities, "display"),
|
|
(
|
|
values: join(map-get(map-get($utilities, "display"), "values"), contents),
|
|
),
|
|
),
|
|
"white-space": map-merge(
|
|
map-get($utilities, "white-space"),
|
|
(
|
|
values: map-merge(
|
|
map-get(map-get($utilities, "white-space"), "values"),
|
|
("prewrap": pre-wrap),
|
|
),
|
|
),
|
|
),
|
|
"position": map-merge(
|
|
map-get($utilities, "position"),
|
|
(
|
|
responsive: true,
|
|
),
|
|
),
|
|
"opacity": map-merge(
|
|
map-get($utilities, "opacity"),
|
|
(
|
|
values: $utilities-opacity,
|
|
),
|
|
),
|
|
"border-color": map-merge(
|
|
map-get($utilities, "border-color"),
|
|
(
|
|
values: map-merge(
|
|
map-get(map-get($utilities, "border-color"), "values"),
|
|
("transparent": transparent),
|
|
),
|
|
),
|
|
),
|
|
"rounded-top": (
|
|
property: border-top-left-radius border-top-right-radius,
|
|
class: rounded-top,
|
|
values: $rounded-sizes,
|
|
),
|
|
"rounded-end": (
|
|
property: border-top-right-radius border-bottom-right-radius,
|
|
class: rounded-end,
|
|
values: $rounded-sizes,
|
|
),
|
|
"rounded-bottom": (
|
|
property: border-bottom-right-radius border-bottom-left-radius,
|
|
class: rounded-bottom,
|
|
values: $rounded-sizes,
|
|
),
|
|
"rounded-start": (
|
|
property: border-bottom-left-radius border-top-left-radius,
|
|
class: rounded-start,
|
|
values: $rounded-sizes,
|
|
),
|
|
"width": map-merge(
|
|
map-get($utilities, "width"),
|
|
(
|
|
responsive: true,
|
|
values: $utilities-sizes,
|
|
),
|
|
),
|
|
"height": map-merge(
|
|
map-get($utilities, "height"),
|
|
(
|
|
responsive: true,
|
|
values: $utilities-sizes,
|
|
),
|
|
),
|
|
"max-width": map-merge(
|
|
map-get($utilities, "max-width"),
|
|
(
|
|
responsive: true,
|
|
values: $utilities-sizes,
|
|
),
|
|
),
|
|
"max-height": map-merge(
|
|
map-get($utilities, "max-height"),
|
|
(
|
|
responsive: true,
|
|
values: $utilities-sizes,
|
|
),
|
|
),
|
|
"font-family": map-merge(
|
|
map-get($utilities, "font-family"),
|
|
(
|
|
values: map-merge(
|
|
map-get(map-get($utilities, "font-family"), "values"),
|
|
(sans-serif: var(--#{$variable-prefix}font-sans-serif)),
|
|
),
|
|
),
|
|
),
|
|
"order": map-merge(
|
|
map-get($utilities, "order"),
|
|
(
|
|
values: $order-array,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
// Odoo Custom Utility Classes
|
|
$utilities: map-merge(
|
|
$utilities,
|
|
(
|
|
"cursor": (
|
|
property: cursor,
|
|
values: default pointer,
|
|
),
|
|
"bg-opacity": (
|
|
css-var: true,
|
|
class: bg-opacity,
|
|
values: $utilities-opacity,
|
|
),
|
|
"flex-basis": (
|
|
responsive: true,
|
|
property: flex-basis,
|
|
values: $utilities-sizes,
|
|
),
|
|
"transition": (
|
|
property: transition,
|
|
values: (
|
|
none: none,
|
|
base: $transition-base,
|
|
fade: $transition-fade,
|
|
),
|
|
),
|
|
"min-width": (
|
|
class: min-w,
|
|
property: min-width,
|
|
values: 0,
|
|
),
|
|
)
|
|
);
|
|
|
|
|
|
// Define opacity:hover classes while defining the triggerer behavior.
|
|
// Use'.opacity-trigger-hover' class to allow hovered parents to
|
|
// trigger their children ':hover' opacity state.
|
|
@each $-opacity-key, $-opacity-level in $utilities-opacity {
|
|
.opacity-#{$-opacity-key}-hover {
|
|
&:hover, .opacity-trigger-hover:hover & {
|
|
opacity: $-opacity-level!important;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Hide empty elements
|
|
.d-empty-none:empty {
|
|
display: none !important;
|
|
}
|
|
|
|
// Define a smaller font-size
|
|
.smaller {
|
|
font-size: $o-font-size-base-smaller;
|
|
}
|