+31
@@ -0,0 +1,31 @@
|
||||
// Layout & components
|
||||
@import "bootstrap/scss/root";
|
||||
@import "bootstrap/scss/reboot";
|
||||
@import "bootstrap/scss/type";
|
||||
@import "bootstrap/scss/images";
|
||||
@import "bootstrap/scss/containers";
|
||||
@import "bootstrap/scss/grid";
|
||||
@import "bootstrap/scss/tables";
|
||||
@import "bootstrap/scss/forms";
|
||||
@import "bootstrap/scss/buttons";
|
||||
@import "bootstrap/scss/transitions";
|
||||
@import "bootstrap/scss/dropdown";
|
||||
@import "bootstrap/scss/button-group";
|
||||
@import "bootstrap/scss/nav";
|
||||
@import "bootstrap/scss/navbar";
|
||||
@import "bootstrap/scss/card";
|
||||
@import "bootstrap/scss/breadcrumb";
|
||||
@import "bootstrap/scss/pagination";
|
||||
@import "bootstrap/scss/progress";
|
||||
@import "bootstrap/scss/list-group";
|
||||
@import "bootstrap/scss/toasts";
|
||||
@import "bootstrap/scss/modal";
|
||||
@import "bootstrap/scss/tooltip";
|
||||
@import "bootstrap/scss/popover";
|
||||
@import "bootstrap/scss/carousel";
|
||||
@import "bootstrap/scss/spinners";
|
||||
@import "bootstrap/scss/offcanvas";
|
||||
@import "bootstrap/scss/placeholders";
|
||||
|
||||
// Utilities
|
||||
@import "bootstrap/scss/utilities/api";
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// Config
|
||||
@import "bootstrap/scss/functions";
|
||||
@import "bootstrap/scss/variables";
|
||||
@import "bootstrap/scss/variables-dark";
|
||||
@import "bootstrap/scss/maps";
|
||||
@import "bootstrap/scss/mixins";
|
||||
@import "bootstrap/scss/utilities";
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
@mixin caret($direction: down) {
|
||||
$selector: "after";
|
||||
|
||||
@if $direction == "left" {
|
||||
$selector: "before";
|
||||
}
|
||||
|
||||
&:#{$selector} {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
vertical-align: $caret-vertical-align;
|
||||
width: $caret-width;
|
||||
height: $caret-width;
|
||||
border-bottom: 1px var(--#{$prefix}border-style);
|
||||
border-left: 1px var(--#{$prefix}border-style);
|
||||
margin-right: 0.1em;
|
||||
|
||||
@if $direction != "left" {
|
||||
margin-left: $caret-spacing;
|
||||
} @else {
|
||||
margin-right: $caret-spacing;
|
||||
}
|
||||
|
||||
@if $direction == down {
|
||||
transform: rotate(-45deg);
|
||||
} @else if $direction == up {
|
||||
transform: rotate(135deg);
|
||||
} @else if $direction == end {
|
||||
transform: rotate(-135deg);
|
||||
} @else {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
}
|
||||
|
||||
@if $direction == "left" {
|
||||
&:after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@mixin alert-variant($background: null, $border: null, $color: null) {
|
||||
// Override bootstrap core
|
||||
}
|
||||
|
||||
@mixin button-variant(
|
||||
$background: null,
|
||||
$border: null,
|
||||
$color: null,
|
||||
$hover-background: null,
|
||||
$hover-border: null,
|
||||
$hover-color: null,
|
||||
$active-background: null,
|
||||
$active-border: null,
|
||||
$active-color: null,
|
||||
$disabled-background: null,
|
||||
$disabled-border: null,
|
||||
$disabled-color: null
|
||||
) {
|
||||
// Override bootstrap core
|
||||
}
|
||||
|
||||
@mixin button-outline-variant(
|
||||
$color: null,
|
||||
$color-hover: null,
|
||||
$active-background: null,
|
||||
$active-border: null,
|
||||
$active-color: null
|
||||
) {
|
||||
// Override bootstrap core
|
||||
}
|
||||
|
||||
//
|
||||
// TODO: remove when https://github.com/twbs/bootstrap/pull/37425/ will be released
|
||||
//
|
||||
@function opaque($background, $foreground) {
|
||||
@return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%);
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
@import "bootstrap/scss/functions";
|
||||
|
||||
@import "mixins";
|
||||
@import "variables";
|
||||
@import "variables-dark";
|
||||
@import "utilities";
|
||||
|
||||
@import "bootstrap-config";
|
||||
@import "bootstrap-override";
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
@import "config";
|
||||
@import "bootstrap-components";
|
||||
|
||||
@import "props";
|
||||
|
||||
@import "fonts/webfonts";
|
||||
|
||||
@import "layout/root";
|
||||
@import "layout/animations";
|
||||
@import "layout/core";
|
||||
@import "layout/navbar";
|
||||
@import "layout/page";
|
||||
@import "layout/footer";
|
||||
@import "layout/dark";
|
||||
|
||||
@import "ui/accordion";
|
||||
@import "ui/alerts";
|
||||
@import "ui/avatars";
|
||||
@import "ui/badges";
|
||||
@import "ui/breadcrumbs";
|
||||
@import "ui/buttons";
|
||||
@import "ui/button-group";
|
||||
@import "ui/calendars";
|
||||
@import "ui/carousel";
|
||||
@import "ui/cards";
|
||||
@import "ui/close";
|
||||
@import "ui/dropdowns";
|
||||
@import "ui/datagrid";
|
||||
@import "ui/empty";
|
||||
@import "ui/grid";
|
||||
@import "ui/icons";
|
||||
@import "ui/images";
|
||||
@import "ui/forms";
|
||||
@import "ui/forms/form-icon";
|
||||
@import "ui/forms/form-colorinput";
|
||||
@import "ui/forms/form-imagecheck";
|
||||
@import "ui/forms/form-selectgroup";
|
||||
@import "ui/forms/form-custom";
|
||||
@import "ui/forms/form-check";
|
||||
@import "ui/forms/validation";
|
||||
@import "ui/legend";
|
||||
@import "ui/lists";
|
||||
@import "ui/loaders";
|
||||
@import "ui/login";
|
||||
@import "ui/modals";
|
||||
@import "ui/nav";
|
||||
@import "ui/stars";
|
||||
@import "ui/pagination";
|
||||
@import "ui/popovers";
|
||||
@import "ui/progress";
|
||||
@import "ui/ribbons";
|
||||
@import "ui/markdown";
|
||||
@import "ui/placeholder";
|
||||
@import "ui/segmented";
|
||||
@import "ui/steps";
|
||||
@import "ui/status";
|
||||
@import "ui/switch-icon";
|
||||
@import "ui/tables";
|
||||
@import "ui/tags";
|
||||
@import "ui/toasts";
|
||||
@import "ui/toolbar";
|
||||
@import "ui/tracking";
|
||||
@import "ui/timeline";
|
||||
@import "ui/type";
|
||||
@import "ui/charts";
|
||||
@import "ui/offcanvas";
|
||||
@import "ui/chat";
|
||||
@import "ui/signature";
|
||||
|
||||
@import "helpers/index";
|
||||
|
||||
@import "utils/background";
|
||||
@import "utils/colors";
|
||||
@import "utils/scroll";
|
||||
@import "utils/sizing";
|
||||
@import "utils/opacity";
|
||||
@import "utils/shadow";
|
||||
@import "utils/text";
|
||||
|
||||
@import "debug";
|
||||
|
||||
|
||||
@import "debug";
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
$debug: false;
|
||||
|
||||
@if $debug {
|
||||
$colors: (
|
||||
"blue": $blue,
|
||||
"azure": $azure,
|
||||
"indigo": $indigo,
|
||||
"purple": $purple,
|
||||
"pink": $pink,
|
||||
"red": $red,
|
||||
"orange": $orange,
|
||||
"yellow": $yellow,
|
||||
"lime": $lime,
|
||||
"green": $green,
|
||||
"teal": $teal,
|
||||
"cyan": $cyan,
|
||||
);
|
||||
|
||||
@each $name, $color in $colors {
|
||||
@debug ("#{$name}: '#{$color}'");
|
||||
@debug ("#{$name}-100: '#{tint-color($color, 8)}'");
|
||||
@debug ("#{$name}-200: '#{tint-color($color, 6)}'");
|
||||
@debug ("#{$name}-300: '#{tint-color($color, 4)}'");
|
||||
@debug ("#{$name}-400: '#{tint-color($color, 2)}'");
|
||||
@debug ("#{$name}-500: '#{$color}'");
|
||||
@debug ("#{$name}-600: '#{shade-color($color, 2)}'");
|
||||
@debug ("#{$name}-700: '#{shade-color($color, 4)}'");
|
||||
@debug ("#{$name}-800: '#{shade-color($color, 6)}'");
|
||||
@debug ("#{$name}-900: '#{shade-color($color, 8)}'");
|
||||
}
|
||||
|
||||
@debug ("gray: '#{$gray-500}'");
|
||||
@debug ("gray-100: '#{$gray-100}'");
|
||||
@debug ("gray-200: '#{$gray-200}'");
|
||||
@debug ("gray-300: '#{$gray-300}'");
|
||||
@debug ("gray-400: '#{$gray-400}'");
|
||||
@debug ("gray-500: '#{$gray-500}'");
|
||||
@debug ("gray-600: '#{$gray-600}'");
|
||||
@debug ("gray-700: '#{$gray-700}'");
|
||||
@debug ("gray-800: '#{$gray-800}'");
|
||||
@debug ("gray-900: '#{$gray-900}'");
|
||||
|
||||
@debug ("border-color: '#{$border-color}'");
|
||||
@debug ("text-secondary: '#{$text-secondary}'");
|
||||
|
||||
@each $name, $color in $social-colors {
|
||||
@debug ("#{$name}: '#{$color}'");
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@import "mixins/mixins";
|
||||
@import "mixins/functions";
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
@import "config";
|
||||
|
||||
:root,
|
||||
:host {
|
||||
/** Fonts */
|
||||
--#{$prefix}font-monospace: #{$font-family-monospace};
|
||||
--#{$prefix}font-sans-serif: #{$font-family-sans-serif};
|
||||
--#{$prefix}font-serif: #{$font-family-serif};
|
||||
--#{$prefix}font-comic: #{$font-family-comic};
|
||||
|
||||
/** Gray colors */
|
||||
--#{$prefix}gray-50: #{$gray-50};
|
||||
--#{$prefix}gray-100: #{$gray-100};
|
||||
--#{$prefix}gray-200: #{$gray-200};
|
||||
--#{$prefix}gray-300: #{$gray-300};
|
||||
--#{$prefix}gray-400: #{$gray-400};
|
||||
--#{$prefix}gray-500: #{$gray-500};
|
||||
--#{$prefix}gray-600: #{$gray-600};
|
||||
--#{$prefix}gray-700: #{$gray-700};
|
||||
--#{$prefix}gray-800: #{$gray-800};
|
||||
--#{$prefix}gray-900: #{$gray-900};
|
||||
--#{$prefix}gray-950: #{$gray-950};
|
||||
|
||||
--#{$prefix}white: #{$white};
|
||||
--#{$prefix}black: #{$black};
|
||||
--#{$prefix}dark: #{$dark};
|
||||
--#{$prefix}light: #{$light};
|
||||
|
||||
/** Brand colors */
|
||||
--#{$prefix}brand: #{$primary};
|
||||
|
||||
/** Theme colors */
|
||||
@each $name, $color in map-merge($theme-colors, $social-colors) {
|
||||
--#{$prefix}#{$name}: #{$color};
|
||||
--#{$prefix}#{$name}-rgb: #{to-rgb($color)};
|
||||
--#{$prefix}#{$name}-fg: #{if(contrast-ratio($color) > $min-contrast-ratio, var(--#{$prefix}light), var(--#{$prefix}dark))};
|
||||
--#{$prefix}#{$name}-darken: #{theme-color-darker($color)};
|
||||
--#{$prefix}#{$name}-darken: color-mix(in oklab, var(--#{$prefix}#{$name}), transparent 20%);
|
||||
--#{$prefix}#{$name}-lt: #{theme-color-lighter($color)};
|
||||
--#{$prefix}#{$name}-lt: color-mix(in oklab, var(--#{$prefix}#{$name}) 10%, transparent);
|
||||
--#{$prefix}#{$name}-200: color-mix(in oklab, var(--#{$prefix}#{$name}) 20%, transparent);
|
||||
--#{$prefix}#{$name}-lt-rgb: #{to-rgb(theme-color-lighter($color))};
|
||||
}
|
||||
|
||||
/** Gray colors */
|
||||
@each $name, $color in $gray-colors {
|
||||
--#{$prefix}#{$name}-fg: #{if(contrast-ratio($color, white) > $min-contrast-ratio, var(--#{$prefix}white), var(--#{$prefix}body-color))};
|
||||
}
|
||||
|
||||
/** Spacers */
|
||||
@each $name, $value in $spacers {
|
||||
--#{$prefix}spacer-#{$name}: #{$value};
|
||||
}
|
||||
|
||||
/** Font sizes */
|
||||
@each $name, $value in $font-weights {
|
||||
--#{$prefix}font-weight-#{$name}: #{$value};
|
||||
}
|
||||
|
||||
@each $name, $value in $font-sizes {
|
||||
--#{$prefix}font-size-h#{$name}: #{$value};
|
||||
}
|
||||
|
||||
@each $name, $value in $line-heights {
|
||||
--#{$prefix}line-height-#{$name}: #{$value};
|
||||
}
|
||||
|
||||
/** Shadows */
|
||||
@each $name, $value in $box-shadows {
|
||||
--#{$prefix}shadow#{if($name, '-#{$name}', '')}: #{$value};
|
||||
}
|
||||
|
||||
/** Border radiuses */
|
||||
--#{$prefix}border-radius-scale: 1;
|
||||
@each $name, $value in $border-radiuses {
|
||||
@if $name {
|
||||
--#{$prefix}border-radius-#{$name}: calc(#{$value} * var(--#{$prefix}border-radius-scale, 1));
|
||||
} @else {
|
||||
--#{$prefix}border-radius: #{$value};
|
||||
}
|
||||
}
|
||||
|
||||
/** Backdrops */
|
||||
--#{$prefix}backdrop-opacity: #{$backdrop-opacity};
|
||||
--#{$prefix}backdrop-bg: var(--#{$prefix}bg-surface-dark);
|
||||
@each $name, $value in $backdrops {
|
||||
--#{$prefix}backdrop-bg#{if($name, '-#{$name}', '')}: #{$value};
|
||||
}
|
||||
--#{$prefix}backdrop-blur: #{$backdrop-blur};
|
||||
--#{$prefix}backdrop-filter: blur(var(--#{$prefix}backdrop-blur));
|
||||
}
|
||||
+209
@@ -0,0 +1,209 @@
|
||||
$negative-spacers-extra: if(
|
||||
$enable-negative-margins,
|
||||
negativify-map(map-merge($spacers, $spacers-extra)),
|
||||
null
|
||||
);
|
||||
|
||||
$utilities: (
|
||||
// Margin utilities
|
||||
"margin":
|
||||
(
|
||||
responsive: true,
|
||||
property: margin,
|
||||
class: m,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-x": (
|
||||
responsive: true,
|
||||
property: margin-right margin-left,
|
||||
class: mx,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-y": (
|
||||
responsive: true,
|
||||
property: margin-top margin-bottom,
|
||||
class: my,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-top": (
|
||||
responsive: true,
|
||||
property: margin-top,
|
||||
class: mt,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-end": (
|
||||
responsive: true,
|
||||
property: margin-right,
|
||||
class: me,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-bottom": (
|
||||
responsive: true,
|
||||
property: margin-bottom,
|
||||
class: mb,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"margin-start": (
|
||||
responsive: true,
|
||||
property: margin-left,
|
||||
class: ms,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
// Negative margin utilities
|
||||
"negative-margin":
|
||||
(
|
||||
responsive: true,
|
||||
property: margin,
|
||||
class: m,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-x": (
|
||||
responsive: true,
|
||||
property: margin-right margin-left,
|
||||
class: mx,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-y": (
|
||||
responsive: true,
|
||||
property: margin-top margin-bottom,
|
||||
class: my,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-top": (
|
||||
responsive: true,
|
||||
property: margin-top,
|
||||
class: mt,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-end": (
|
||||
responsive: true,
|
||||
property: margin-right,
|
||||
class: me,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-bottom": (
|
||||
responsive: true,
|
||||
property: margin-bottom,
|
||||
class: mb,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
"negative-margin-start": (
|
||||
responsive: true,
|
||||
property: margin-left,
|
||||
class: ms,
|
||||
values: $negative-spacers-extra,
|
||||
),
|
||||
// Padding utilities
|
||||
"padding":
|
||||
(
|
||||
responsive: true,
|
||||
property: padding,
|
||||
class: p,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-x": (
|
||||
responsive: true,
|
||||
property: padding-right padding-left,
|
||||
class: px,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-y": (
|
||||
responsive: true,
|
||||
property: padding-top padding-bottom,
|
||||
class: py,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-top": (
|
||||
responsive: true,
|
||||
property: padding-top,
|
||||
class: pt,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-end": (
|
||||
responsive: true,
|
||||
property: padding-right,
|
||||
class: pe,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-bottom": (
|
||||
responsive: true,
|
||||
property: padding-bottom,
|
||||
class: pb,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"padding-start": (
|
||||
responsive: true,
|
||||
property: padding-left,
|
||||
class: ps,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
// Gap utility
|
||||
"gap":
|
||||
(
|
||||
responsive: true,
|
||||
property: gap,
|
||||
class: gap,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"row-gap": (
|
||||
responsive: true,
|
||||
property: row-gap,
|
||||
class: row-gap,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"column-gap": (
|
||||
responsive: true,
|
||||
property: column-gap,
|
||||
class: column-gap,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
// Letter spacing
|
||||
"spacing":
|
||||
(
|
||||
property: letter-spacing,
|
||||
class: tracking,
|
||||
values: (
|
||||
tight: $spacing-tight,
|
||||
normal: $spacing-normal,
|
||||
wide: $spacing-wide,
|
||||
),
|
||||
),
|
||||
"width": (
|
||||
property: width,
|
||||
class: w,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"height": (
|
||||
property: height,
|
||||
class: h,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"filter": (
|
||||
property: filter,
|
||||
class: filter,
|
||||
values: (
|
||||
grayscale: grayscale(100%),
|
||||
),
|
||||
),
|
||||
"gutter-x": (
|
||||
responsive: true,
|
||||
css-var: true,
|
||||
css-variable-name: gutter-x,
|
||||
class: gx,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"gutter-y": (
|
||||
responsive: true,
|
||||
css-var: true,
|
||||
css-variable-name: gutter-y,
|
||||
class: gy,
|
||||
values: $spacers-extra,
|
||||
),
|
||||
"gutter": (
|
||||
responsive: true,
|
||||
css-var: true,
|
||||
css-variable-name: gutter-x,
|
||||
class: g,
|
||||
values: $spacers-extra,
|
||||
)
|
||||
);
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
$border-values: (
|
||||
null: var(--#{$prefix}border-width) var(--#{$prefix}border-style)
|
||||
var(--#{$prefix}border-color-translucent),
|
||||
wide: $border-width-wide var(--#{$prefix}border-style)
|
||||
var(--#{$prefix}border-color-translucent),
|
||||
0: 0,
|
||||
);
|
||||
|
||||
$utilities-border-colors: map-loop((
|
||||
"red": red,
|
||||
"green": green,
|
||||
), rgba-css-var, "$key", "border") !default;
|
||||
|
||||
//Utilities
|
||||
$utilities: (
|
||||
"object": (
|
||||
property: object-fit,
|
||||
class: object,
|
||||
values: (
|
||||
contain: contain,
|
||||
cover: cover,
|
||||
fill: fill,
|
||||
scale-down: scale-down,
|
||||
none: none,
|
||||
),
|
||||
),
|
||||
"cursor": (
|
||||
property: cursor,
|
||||
class: cursor,
|
||||
values: (
|
||||
auto: auto,
|
||||
pointer: pointer,
|
||||
move: move,
|
||||
not-allowed: not-allowed,
|
||||
zoom-in: zoom-in,
|
||||
zoom-out: zoom-out,
|
||||
default: default,
|
||||
none: none,
|
||||
help: help,
|
||||
progress: progress,
|
||||
wait: wait,
|
||||
text: text,
|
||||
v-text: vertical-text,
|
||||
grab: grab,
|
||||
grabbing: grabbing,
|
||||
crosshair: crosshair,
|
||||
),
|
||||
),
|
||||
"border": (
|
||||
property: border,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-top": (
|
||||
property: border-top,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-end": (
|
||||
class: border-end,
|
||||
property: border-right,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-bottom": (
|
||||
property: border-bottom,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-start": (
|
||||
class: border-start,
|
||||
property: border-left,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-x": (
|
||||
class: border-x,
|
||||
property: border-left border-right,
|
||||
values: $border-values,
|
||||
),
|
||||
"border-y": (
|
||||
class: border-y,
|
||||
property: border-top border-bottom,
|
||||
values: $border-values,
|
||||
),
|
||||
"width": (
|
||||
property: width,
|
||||
class: w,
|
||||
values: $size-values,
|
||||
),
|
||||
"height": (
|
||||
property: height,
|
||||
class: h,
|
||||
values: $size-values,
|
||||
),
|
||||
"columns": (
|
||||
property: columns,
|
||||
class: columns,
|
||||
responsive: true,
|
||||
values: 2 3 4,
|
||||
),
|
||||
"bg-pattern": (
|
||||
property: background,
|
||||
class: bg-pattern,
|
||||
values: (
|
||||
transparent: #{url-svg(
|
||||
'<svg width="16" height="16" viewBox="0 0 16 16"><rect x="0" y="0" width="8" height="8" fill="rgba(130, 130, 130, .1)" /><rect x="8" y="8" width="8" height="8" fill="rgba(130, 130, 130, .1)" /></svg>'
|
||||
)} repeat center/16px 16px,
|
||||
)
|
||||
),
|
||||
"bg-gradient": (
|
||||
property: background,
|
||||
class: bg-gradient,
|
||||
values: (
|
||||
null: linear-gradient(var(--#{$prefix}gradient-direction, to right), var(--#{$prefix}gradient-stops, var(--#{$prefix}gradient-from, transparent), var(--#{$prefix}gradient-to, transparent))) no-repeat,
|
||||
),
|
||||
),
|
||||
"bg-gradient-direction": (
|
||||
property: --#{$prefix}gradient-direction,
|
||||
class: bg-gradient,
|
||||
values: (
|
||||
to-t: to top,
|
||||
to-te: to top right,
|
||||
to-e: to right,
|
||||
to-be: to bottom right,
|
||||
to-b: to bottom,
|
||||
to-bs: to bottom left,
|
||||
to-s: to left,
|
||||
to-ts: to top left,
|
||||
),
|
||||
),
|
||||
"table-layout": (
|
||||
property: table-layout,
|
||||
class: table,
|
||||
values: (
|
||||
auto: auto,
|
||||
fixed: fixed,
|
||||
),
|
||||
),
|
||||
) !default;
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
@use "sass:color";
|
||||
|
||||
//
|
||||
// Dark mode
|
||||
//
|
||||
$darken-dark: color.adjust($dark, $lightness: -2%) !default;
|
||||
$lighten-dark: color.adjust($dark, $lightness: 2%) !default;
|
||||
$border-color-dark: color.adjust($dark, $lightness: 8%) !default;
|
||||
$border-color-translucent-dark: rgba(72, 110, 149, .14) !default;
|
||||
$border-dark-color-dark: color.adjust($dark, $lightness: 4%) !default;
|
||||
$border-active-color-dark: color.adjust($dark, $lightness: 12%) !default;
|
||||
|
||||
//new bootsrap variables
|
||||
$body-color-dark: $gray-200 !default;
|
||||
$body-emphasis-color-dark: $white !default;
|
||||
|
||||
$code-color-dark: var(--#{$prefix}gray-300) !default;
|
||||
$text-secondary-dark: rgba(153, 159, 164, 1) !default;
|
||||
|
||||
+1007
File diff suppressed because it is too large
Load Diff
+15
@@ -0,0 +1,15 @@
|
||||
@if $font-google {
|
||||
$google-font-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
|
||||
@import url($google-font-url);
|
||||
}
|
||||
|
||||
@if $font-google-monospaced {
|
||||
$google-font-monospaced-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google-monospaced, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
|
||||
@import url($google-font-monospaced-url);
|
||||
}
|
||||
|
||||
@if $font-icons {
|
||||
@each $icon-font in $font-icons {
|
||||
@import url($icon-font);
|
||||
}
|
||||
}
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
//
|
||||
// Clearfix
|
||||
//
|
||||
.clearfix {
|
||||
@include clearfix();
|
||||
}
|
||||
|
||||
//
|
||||
// Text truncation
|
||||
//
|
||||
.text-truncate {
|
||||
@include text-truncate();
|
||||
}
|
||||
|
||||
//
|
||||
// Vertical rule
|
||||
//
|
||||
.vr {
|
||||
display: inline-block;
|
||||
align-self: stretch;
|
||||
width: $vr-border-width;
|
||||
min-height: 1em;
|
||||
background-color: currentcolor;
|
||||
opacity: $hr-opacity;
|
||||
}
|
||||
|
||||
//
|
||||
// Stretched link
|
||||
//
|
||||
.stretched-link {
|
||||
&::#{$stretched-link-pseudo-element} {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: $stretched-link-z-index;
|
||||
content: "";
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Visually hidden
|
||||
//
|
||||
.visually-hidden,
|
||||
.visually-hidden-focusable:not(:focus):not(:focus-within) {
|
||||
@include visually-hidden();
|
||||
}
|
||||
|
||||
//
|
||||
// Stacks
|
||||
//
|
||||
.hstack {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.vstack {
|
||||
display: flex;
|
||||
flex: 1 1 auto;
|
||||
flex-direction: column;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
//
|
||||
// Position
|
||||
//
|
||||
// Shorthand
|
||||
|
||||
.fixed-top {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: $zindex-fixed;
|
||||
}
|
||||
|
||||
.fixed-bottom {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: $zindex-fixed;
|
||||
}
|
||||
|
||||
// Responsive sticky top and bottom
|
||||
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||
@include media-breakpoint-up($breakpoint) {
|
||||
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
||||
|
||||
.sticky#{$infix}-top {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: $zindex-sticky;
|
||||
}
|
||||
|
||||
.sticky#{$infix}-bottom {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
z-index: $zindex-sticky;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Aspect ratio
|
||||
//
|
||||
.ratio {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
&::before {
|
||||
display: block;
|
||||
padding-top: var(--#{$prefix}aspect-ratio);
|
||||
content: "";
|
||||
}
|
||||
|
||||
> * {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@each $key, $ratio in $aspect-ratios {
|
||||
.ratio-#{$key} {
|
||||
--#{$prefix}aspect-ratio: #{$ratio};
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Focus ring
|
||||
//
|
||||
.focus-ring:focus {
|
||||
outline: 0;
|
||||
// By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
|
||||
box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
|
||||
}
|
||||
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
@keyframes pulse {
|
||||
from {
|
||||
opacity: 1;
|
||||
transform: scale3d(.8, .8, .8)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale3d(1, 1, 1);
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale3d(.8, .8, .8)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes tada {
|
||||
0% {
|
||||
transform: scale3d(1, 1, 1)
|
||||
}
|
||||
|
||||
10%, 5% {
|
||||
transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -5deg)
|
||||
}
|
||||
|
||||
15%, 25%, 35%, 45% {
|
||||
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg)
|
||||
}
|
||||
|
||||
20%, 30%, 40% {
|
||||
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg)
|
||||
}
|
||||
|
||||
50% {
|
||||
transform: scale3d(1, 1, 1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes rotate-360 {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
50% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
// stylelint-disable property-no-vendor-prefix
|
||||
body {
|
||||
letter-spacing: $body-letter-spacing;
|
||||
touch-action: manipulation;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-feature-settings: "liga" 0, "cv03", "cv04", "cv11";
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
@media print {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
@include scrollbar;
|
||||
|
||||
//
|
||||
// Fluid container
|
||||
//
|
||||
.layout-fluid {
|
||||
.container,
|
||||
[class^="container-"],
|
||||
[class*=" container-"] {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Boxed container
|
||||
//
|
||||
.layout-boxed {
|
||||
--#{$prefix}theme-boxed-border-radius: 0;
|
||||
--#{$prefix}theme-boxed-width: #{map-get($container-max-widths, xxl)};
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
background: $dark linear-gradient(to right, rgba(#fff, .1), transparent) fixed;
|
||||
padding: 1rem;
|
||||
--#{$prefix}theme-boxed-border-radius: #{$border-radius};
|
||||
}
|
||||
|
||||
.page {
|
||||
margin: 0 auto;
|
||||
max-width: var(--#{$prefix}theme-boxed-width);
|
||||
border-radius: var(--#{$prefix}theme-boxed-border-radius);
|
||||
color: var(--#{$prefix}body-color);
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
background: var(--#{$prefix}body-bg);
|
||||
}
|
||||
|
||||
> .navbar:first-child {
|
||||
border-top-left-radius: var(--#{$prefix}theme-boxed-border-radius);
|
||||
border-top-right-radius: var(--#{$prefix}theme-boxed-border-radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
@use "sass:color";
|
||||
|
||||
// stylelint-disable declaration-no-important
|
||||
|
||||
@if $enable-dark-mode {
|
||||
:root {
|
||||
&:not(.theme-dark):not([data-bs-theme="dark"]) {
|
||||
.hide-theme-light {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.img-dark {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.theme-dark,
|
||||
&[data-bs-theme="dark"] {
|
||||
.hide-theme-dark {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.img-light {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@include color-mode(dark, true) {
|
||||
color-scheme: dark;
|
||||
--#{$prefix}body-color: var(--#{$prefix}gray-200);
|
||||
--#{$prefix}secondary: var(--#{$prefix}gray-400);
|
||||
|
||||
--#{$prefix}body-bg: var(--#{$prefix}gray-900);
|
||||
--#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
|
||||
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
|
||||
|
||||
--#{$prefix}bg-forms: var(--#{$prefix}gray-900);
|
||||
--#{$prefix}bg-surface: var(--#{$prefix}gray-800);
|
||||
--#{$prefix}bg-surface-inverted: var(--#{$prefix}gray-100);
|
||||
--#{$prefix}bg-surface-secondary: var(--#{$prefix}gray-900);
|
||||
--#{$prefix}bg-surface-tertiary: var(--#{$prefix}gray-800);
|
||||
|
||||
--#{$prefix}text-inverted: var(--#{$prefix}gray-800);
|
||||
|
||||
--#{$prefix}link-color: var(--#{$prefix}primary);
|
||||
--#{$prefix}link-hover-color: color-mix(in srgb, var(--#{$prefix}primary), black 20%);
|
||||
|
||||
--#{$prefix}active-bg: #{$lighten-dark};
|
||||
--#{$prefix}disabled-color: #{color-transparent(var(--#{$prefix}body-color), .4)};
|
||||
|
||||
--#{$prefix}border-color: var(--#{$prefix}gray-700);
|
||||
--#{$prefix}border-color-translucent: var(
|
||||
--#{$prefix}dark-mode-border-color-translucent
|
||||
);
|
||||
--#{$prefix}border-dark-color: var(--#{$prefix}dark-mode-border-dark-color);
|
||||
--#{$prefix}border-active-color: var(
|
||||
--#{$prefix}dark-mode-border-active-color
|
||||
);
|
||||
|
||||
--#{$prefix}btn-color: #{$darken-dark};
|
||||
|
||||
.navbar-brand-autodark {
|
||||
.navbar-brand-image {
|
||||
@include autodark-image;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body[data-bs-theme=dark] [data-bs-theme=light] {
|
||||
@extend [data-bs-theme=dark];
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
.footer {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $footer-border-color;
|
||||
background-color: $footer-bg;
|
||||
padding: $footer-padding-y 0;
|
||||
color: $footer-color;
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
.footer-transparent {
|
||||
background-color: transparent;
|
||||
border-top: 0;
|
||||
}
|
||||
+392
@@ -0,0 +1,392 @@
|
||||
@mixin navbar-vertical-nav {
|
||||
.navbar-collapse {
|
||||
flex-direction: column;
|
||||
|
||||
[class^="container"] {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
|
||||
.nav-link {
|
||||
padding: 0.5rem calc(#{$container-padding-x} / 2);
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu-columns {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
position: static;
|
||||
color: inherit;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
min-width: 0;
|
||||
margin: 0;
|
||||
|
||||
.dropdown-item {
|
||||
min-width: 0;
|
||||
display: flex;
|
||||
width: auto;
|
||||
padding-left: add(calc(#{$container-padding-x} / 2), 1.75rem);
|
||||
color: inherit;
|
||||
|
||||
&.disabled {
|
||||
color: var(--#{$prefix}disabled-color);
|
||||
pointer-events: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&.active,
|
||||
&:active {
|
||||
background: var(--#{$prefix}navbar-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu .dropdown-item {
|
||||
padding-left: add(calc(#{$container-padding-x} / 2), 3.25rem);
|
||||
}
|
||||
|
||||
.dropdown-menu .dropdown-menu .dropdown-item {
|
||||
padding-left: add(calc(#{$container-padding-x} / 2), 4.75rem);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-toggle:after {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.nav-item.active:after {
|
||||
border-bottom-width: 0;
|
||||
border-left-width: 3px;
|
||||
right: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar
|
||||
*/
|
||||
.navbar {
|
||||
--#{$prefix}navbar-bg: var(--#{$prefix}bg-surface);
|
||||
--#{$prefix}navbar-border-width: #{$navbar-border-width};
|
||||
--#{$prefix}navbar-active-border-color: #{$navbar-active-border-color};
|
||||
--#{$prefix}navbar-active-bg: #{$navbar-light-active-bg};
|
||||
--#{$prefix}navbar-border-color: #{$navbar-border-color};
|
||||
--#{$prefix}navbar-hover-color: #{$navbar-hover-color};
|
||||
align-items: stretch;
|
||||
min-height: $navbar-height;
|
||||
box-shadow: inset 0 calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 var(--#{$prefix}navbar-border-color);
|
||||
background: var(--#{$prefix}navbar-bg);
|
||||
color: var(--#{$prefix}navbar-color);
|
||||
|
||||
.navbar-collapse & {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
&.collapsing {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
position: absolute;
|
||||
z-index: $zindex-fixed;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
min-height: subtract($navbar-height, 2 * $navbar-padding-y);
|
||||
|
||||
.nav-link {
|
||||
position: relative;
|
||||
min-width: 2.5rem;
|
||||
min-height: 2.5rem;
|
||||
justify-content: center;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
|
||||
.badge {
|
||||
position: absolute;
|
||||
top: 0.375rem;
|
||||
right: 0.375rem;
|
||||
transform: translate(50%, -50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-expand {
|
||||
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
||||
$infix: breakpoint-infix($next, $grid-breakpoints);
|
||||
|
||||
&#{$infix} {
|
||||
@include media-breakpoint-down(breakpoint-next($breakpoint)) {
|
||||
@include navbar-vertical-nav;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up($next) {
|
||||
.navbar-collapse {
|
||||
width: auto;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.nav-item.active {
|
||||
position: relative;
|
||||
|
||||
.nav-link {
|
||||
color: var(--#{$prefix}navbar-active-color);
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: -0.25rem;
|
||||
border: 0 var(--#{$prefix}border-style) var(--#{$prefix}navbar-active-border-color);
|
||||
border-bottom-width: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
&.navbar-vertical {
|
||||
box-shadow: inset calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 0 var(--#{$prefix}navbar-border-color);
|
||||
|
||||
&.navbar-right {
|
||||
box-shadow: inset calc(1 * var(--#{$prefix}navbar-border-width)) 0 0 0 var(--#{$prefix}navbar-border-color);
|
||||
}
|
||||
}
|
||||
|
||||
&.navbar-vertical {
|
||||
~ .navbar,
|
||||
~ .page-wrapper {
|
||||
margin-left: $sidebar-width;
|
||||
}
|
||||
}
|
||||
|
||||
&.navbar-vertical.navbar-right {
|
||||
~ .navbar,
|
||||
~ .page-wrapper {
|
||||
margin-left: 0;
|
||||
margin-right: $sidebar-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar brand
|
||||
*/
|
||||
.navbar-brand {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-weight: $navbar-brand-font-weight;
|
||||
margin: 0;
|
||||
line-height: 1;
|
||||
gap: $spacer-2;
|
||||
}
|
||||
|
||||
.navbar-brand-image {
|
||||
height: $navbar-brand-image-height;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar toggler
|
||||
*/
|
||||
.navbar-toggler {
|
||||
border: 0;
|
||||
width: $navbar-brand-image-height;
|
||||
height: $navbar-brand-image-height;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.navbar-toggler-icon {
|
||||
height: 2px;
|
||||
width: 1.25em;
|
||||
background: currentColor;
|
||||
border-radius: 10px;
|
||||
@include transition(
|
||||
top $navbar-toggler-animation-time $navbar-toggler-animation-time,
|
||||
bottom $navbar-toggler-animation-time $navbar-toggler-animation-time,
|
||||
transform $navbar-toggler-animation-time,
|
||||
opacity 0s $navbar-toggler-animation-time
|
||||
);
|
||||
position: relative;
|
||||
|
||||
&:before,
|
||||
&:after {
|
||||
content: "";
|
||||
display: block;
|
||||
height: inherit;
|
||||
width: inherit;
|
||||
border-radius: inherit;
|
||||
background: inherit;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
@include transition(inherit);
|
||||
}
|
||||
|
||||
&:before {
|
||||
top: -0.45em;
|
||||
}
|
||||
|
||||
&:after {
|
||||
bottom: -0.45em;
|
||||
}
|
||||
|
||||
.navbar-toggler[aria-expanded="true"] & {
|
||||
transform: rotate(45deg);
|
||||
@include transition(top $transition-time, bottom $transition-time, transform $transition-time $transition-time, opacity 0s $transition-time);
|
||||
|
||||
&:before {
|
||||
top: 0;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
|
||||
&:after {
|
||||
bottom: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar transparent
|
||||
*/
|
||||
.navbar-transparent {
|
||||
--#{$prefix}navbar-border-color: transparent !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar nav
|
||||
*/
|
||||
.navbar-nav {
|
||||
--#{$prefix}nav-link-hover-bg: #{color-transparent(var(--#{$prefix}nav-link-color), 0.04)};
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
align-items: stretch;
|
||||
|
||||
.nav-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar side
|
||||
*/
|
||||
.navbar-side {
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
/**
|
||||
Navbar vertical
|
||||
*/
|
||||
@if $enable-navbar-vertical {
|
||||
.navbar-vertical {
|
||||
&.navbar-expand {
|
||||
@each $breakpoint in map-keys($grid-breakpoints) {
|
||||
$next: breakpoint-next($breakpoint, $grid-breakpoints);
|
||||
$infix: breakpoint-infix($next, $grid-breakpoints);
|
||||
|
||||
&#{$infix} {
|
||||
@include media-breakpoint-up($next) {
|
||||
width: $sidebar-width;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
z-index: $zindex-fixed;
|
||||
align-items: flex-start;
|
||||
@include transition(transform $transition-time);
|
||||
overflow-y: scroll;
|
||||
padding: 0;
|
||||
|
||||
&.navbar-right {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
padding: (($navbar-height - $navbar-brand-image-height) * 0.5) 0;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.navbar-collapse {
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
min-height: auto;
|
||||
|
||||
.nav-link {
|
||||
padding-top: 0.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
> [class^="container"] {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
min-height: 100%;
|
||||
justify-content: flex-start;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
~ .page {
|
||||
padding-left: $sidebar-width;
|
||||
|
||||
[class^="container"] {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
&.navbar-right ~ .page {
|
||||
padding-left: 0;
|
||||
padding-right: $sidebar-width;
|
||||
}
|
||||
|
||||
@include navbar-vertical-nav;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-overlap {
|
||||
&:after {
|
||||
content: "";
|
||||
height: $navbar-overlap-height;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: inherit;
|
||||
z-index: -1;
|
||||
box-shadow: inherit;
|
||||
}
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
.page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
.page-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.page-wrapper {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@media print {
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.page-wrapper-full {
|
||||
.page-body:first-child {
|
||||
margin: 0;
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Content body
|
||||
.page-body {
|
||||
margin-top: var(--#{$prefix}page-padding-y);
|
||||
margin-bottom: var(--#{$prefix}page-padding-y);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.page-body-card {
|
||||
background: var(--#{$prefix}bg-surface);
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $card-border-color;
|
||||
padding: var(--#{$prefix}page-padding) 0;
|
||||
margin-bottom: 0;
|
||||
flex: 1;
|
||||
|
||||
.page-body ~ & {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.page-cover {
|
||||
background: no-repeat center/cover;
|
||||
min-height: 9rem;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
min-height: 12rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
min-height: 15rem;
|
||||
}
|
||||
}
|
||||
|
||||
.page-cover-overlay {
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-image: $overlay-gradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.page-header {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
min-height: 2.25rem;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
max-width: 100%;
|
||||
|
||||
.page-wrapper & {
|
||||
margin: var(--#{$prefix}page-padding-y) 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.page-header-border {
|
||||
border-bottom: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
padding: var(--#{$prefix}page-padding-y) 0;
|
||||
margin: 0 !important;
|
||||
background-color: var(--#{$prefix}bg-surface);
|
||||
}
|
||||
|
||||
.page-pretitle {
|
||||
@include subheader;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
margin: 0;
|
||||
font-size: $page-title-font-size;
|
||||
line-height: $page-title-line-height;
|
||||
font-weight: $page-title-font-weight;
|
||||
color: inherit;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
svg {
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
margin-right: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.page-title-lg {
|
||||
font-size: $h1-font-size;
|
||||
line-height: $h1-line-height;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
margin-top: .25rem;
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
//
|
||||
// Page cover
|
||||
//
|
||||
.page-cover {
|
||||
--#{$prefix}page-cover-blur: 20px;
|
||||
--#{$prefix}page-cover-padding: 1rem;
|
||||
min-height: 6rem;
|
||||
padding: var(--#{$prefix}page-cover-padding) 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.page-cover-img {
|
||||
position: absolute;
|
||||
top: calc(-2 * var(--#{$prefix}page-cover-blur, 0));
|
||||
left: calc(-2 * var(--#{$prefix}page-cover-blur, 0));
|
||||
right: calc(-2 * var(--#{$prefix}page-cover-blur, 0));
|
||||
bottom: calc(-2 * var(--#{$prefix}page-cover-blur, 0));
|
||||
pointer-events: none;
|
||||
filter: blur(var(--#{$prefix}page-cover-blur));
|
||||
object-fit: cover;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
//
|
||||
// Page tabs
|
||||
//
|
||||
.page-tabs {
|
||||
margin-top: .5rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.page-header-tabs {
|
||||
.nav-bordered {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
+ .page-body-card {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
:root,
|
||||
:host {
|
||||
font-size: 16px;
|
||||
height: 100%;
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
margin-left: calc(100vw - 100%);
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
:root,
|
||||
:host,
|
||||
[data-bs-theme="light"] {
|
||||
color-scheme: light;
|
||||
--#{$prefix}spacer: var(--#{$prefix}spacer-2);
|
||||
|
||||
--#{$prefix}bg-surface: var(--#{$prefix}bg-surface-primary);
|
||||
--#{$prefix}bg-surface-primary: var(--#{$prefix}white);
|
||||
--#{$prefix}bg-surface-secondary: var(--#{$prefix}gray-50);
|
||||
--#{$prefix}bg-surface-tertiary: var(--#{$prefix}gray-50);
|
||||
--#{$prefix}bg-surface-dark: var(--#{$prefix}gray-900);
|
||||
--#{$prefix}bg-surface-inverted: var(--#{$prefix}gray-900);
|
||||
--#{$prefix}bg-forms: var(--#{$prefix}bg-surface);
|
||||
|
||||
--#{$prefix}text-inverted: var(--#{$prefix}gray-100);
|
||||
|
||||
--#{$prefix}body-color: var(--#{$prefix}gray-700);
|
||||
--#{$prefix}body-bg: var(--#{$prefix}bg-surface-secondary);
|
||||
|
||||
--#{$prefix}link-color: var(--#{$prefix}primary);
|
||||
--#{$prefix}link-hover-color: color-mix(in srgb, var(--#{$prefix}primary), #000 20%);
|
||||
|
||||
--#{$prefix}secondary: var(--#{$prefix}gray-500);
|
||||
--#{$prefix}tertiary: var(--#{$prefix}gray-400);
|
||||
|
||||
--#{$prefix}border-color: #{$border-color};
|
||||
--#{$prefix}border-color-translucent: #{$border-color-translucent};
|
||||
--#{$prefix}border-dark-color: #{$border-dark-color};
|
||||
--#{$prefix}border-dark-color-translucent: #{$border-dark-color-translucent};
|
||||
--#{$prefix}border-active-color: #{$border-active-color};
|
||||
|
||||
--#{$prefix}icon-color: #{$icon-color};
|
||||
|
||||
--#{$prefix}active-bg: #{$active-bg};
|
||||
|
||||
--#{$prefix}disabled-bg: #{$disabled-bg};
|
||||
--#{$prefix}disabled-color: #{$disabled-color};
|
||||
|
||||
--#{$prefix}code-color: #{$code-color};
|
||||
--#{$prefix}code-bg: #{$code-bg};
|
||||
|
||||
--#{$prefix}dark-mode-border-color: #{$border-color-dark};
|
||||
--#{$prefix}dark-mode-border-color-translucent: #{$border-color-translucent-dark};
|
||||
--#{$prefix}dark-mode-border-active-color: #{$border-active-color-dark};
|
||||
--#{$prefix}dark-mode-border-dark-color: #{$border-dark-color-dark};
|
||||
|
||||
--#{$prefix}page-padding: #{$page-padding};
|
||||
--#{$prefix}page-padding-y: #{$page-padding-y};
|
||||
|
||||
@include media-breakpoint-down($cards-grid-breakpoint) {
|
||||
--#{$prefix}page-padding: #{$page-padding-sm};
|
||||
}
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// Browser
|
||||
//
|
||||
.browser {
|
||||
border-radius: var(--#{$prefix}border-radius-lg);
|
||||
box-shadow: 0 0 0 1px var(--#{$prefix}border-color);
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.browser-header {
|
||||
padding: .25rem 1rem;
|
||||
background: var(--#{$prefix}border-color-light) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .03));
|
||||
border-bottom: 1px solid var(--#{$prefix}border-color);
|
||||
border-radius: calc(var(--#{$prefix}border-radius-lg) - 1px) calc(var(--#{$prefix}border-radius-lg) - 1px) 0 0;
|
||||
}
|
||||
|
||||
.browser-dots {
|
||||
margin-right: 3rem;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.browser-dots-colored {
|
||||
.browser-dot {
|
||||
&:nth-child(1) {
|
||||
background: #fb6058;
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
background: #fcbe3b;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
background: #2ccb4c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.browser-dot {
|
||||
margin-right: .5rem;
|
||||
width: .75rem;
|
||||
min-width: .75rem;
|
||||
height: .75rem;
|
||||
background: var(--#{$prefix}border-color);
|
||||
border-radius: 50%;
|
||||
border: 1px solid var(--#{$prefix}border-color-dark);
|
||||
}
|
||||
|
||||
.browser-input {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-decoration: none;
|
||||
padding: .25rem;
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-size: var(--#{$prefix}font-size-h5);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 0 0 1px rgba(0, 0, 0, .05), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
background-image: linear-gradient(to bottom, var(--#{$prefix}bg-surface), var(--#{$prefix}bg-surface-secondary));
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
.body-marketing {
|
||||
--#{$prefix}body-font-size: 1rem;
|
||||
--#{$prefix}body-line-height: 1.75;
|
||||
}
|
||||
|
||||
.body-gradient {
|
||||
background: var(--#{$prefix}bg-surface) linear-gradient(to bottom, var(--#{$prefix}bg-surface-secondary) 12%, var(--#{$prefix}bg-surface) 99%) repeat-x top center/100% 100vh;
|
||||
}
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// Hero
|
||||
//
|
||||
.hero {
|
||||
text-align: center;
|
||||
padding: 6.5rem 0;
|
||||
}
|
||||
|
||||
.hero-title {
|
||||
font-size: 3rem;
|
||||
font-weight: var(--#{$prefix}font-weight-black);
|
||||
letter-spacing: $spacing-tight;
|
||||
line-height: $headings-line-height;
|
||||
|
||||
@include media-breakpoint-down(md) {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.hero-description {
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-size: var(--#{$prefix}font-size-h2);
|
||||
line-height: 1.5;
|
||||
margin: 0 auto;
|
||||
max-width: 45rem;
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
font-size: var(--#{$prefix}font-size-h3);
|
||||
}
|
||||
}
|
||||
|
||||
.hero-description-wide {
|
||||
max-width: 61.875rem;
|
||||
}
|
||||
|
||||
//
|
||||
// Hero subheader
|
||||
//
|
||||
.hero-subheader {
|
||||
@include subheader;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.hero-img {
|
||||
margin: 4rem auto;
|
||||
max-width: 65rem;
|
||||
border-radius: $border-radius-lg;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
//box-shadow: 0 10px 15px -3px rgba($color-text, 0.1),
|
||||
// 0 4px 6px -2px rgba($color-text, 0.05);
|
||||
|
||||
img,
|
||||
svg {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
//
|
||||
//.hero-img-side {
|
||||
// img,
|
||||
// svg {
|
||||
// max-width: 100%;
|
||||
// height: auto;
|
||||
// display: block;
|
||||
// }
|
||||
//}
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
$pricing-card-width: 22rem;
|
||||
|
||||
.pricing {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
justify-content: center;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.pricing-card {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: var(--#{$prefix}bg-surface);
|
||||
border: 1px solid $border-color;
|
||||
padding: 2rem;
|
||||
margin: 0 0 1rem;
|
||||
position: relative;
|
||||
box-shadow: $box-shadow-card;
|
||||
text-align: center;
|
||||
border-radius: $border-radius-lg;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
margin: 1rem -1px;
|
||||
max-width: $pricing-card-width;
|
||||
|
||||
&:first-child {
|
||||
border-radius: $border-radius-lg 0 0 $border-radius-lg;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-radius: 0 $border-radius-lg $border-radius-lg 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.featured {
|
||||
z-index: 1;
|
||||
border: 2px solid var(--#{$prefix}primary);
|
||||
order: -1;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
order: unset;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
box-shadow: $box-shadow-card;
|
||||
border-radius: $border-radius-lg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pricing-title {
|
||||
font-size: $h2-font-size;
|
||||
line-height: $h2-line-height;
|
||||
}
|
||||
|
||||
.pricing-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: translateY(-50%);
|
||||
vertical-align: bottom;
|
||||
right: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.pricing-btn {
|
||||
margin-top: auto;
|
||||
padding-top: 2rem;
|
||||
}
|
||||
|
||||
.pricing-price {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 2.5rem;
|
||||
line-height: 1;
|
||||
font-weight: $font-weight-black;
|
||||
margin: 0.75rem 0;
|
||||
}
|
||||
|
||||
.pricing-price-currency {
|
||||
font-size: $h2-font-size;
|
||||
line-height: 1.5;
|
||||
margin-right: 0.25rem;
|
||||
font-weight: $font-weight-bold;
|
||||
}
|
||||
|
||||
.pricing-price-description {
|
||||
font-size: $h4-font-size;
|
||||
line-height: $h4-line-height;
|
||||
font-weight: $font-weight-normal;
|
||||
color: $text-secondary;
|
||||
align-self: center;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.pricing-features {
|
||||
margin: 1rem 0 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
text-align: left;
|
||||
|
||||
> li:not(:first-child) {
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
@keyframes move-forever1 {
|
||||
0% {
|
||||
transform: translate(85px, 0%);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(-90px, 0%);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes move-forever2 {
|
||||
0% {
|
||||
transform: translate(-90px, 0%);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(85px, 0%);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes move-forever3 {
|
||||
0% {
|
||||
transform: translate(-90px, 0%);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(85px, 0%);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Sections
|
||||
//
|
||||
.section {
|
||||
--section-bg: transparent;
|
||||
background: var(--section-bg);
|
||||
position: relative;
|
||||
padding: 5rem 0;
|
||||
}
|
||||
|
||||
.section-sm {
|
||||
padding: 4rem 0;
|
||||
}
|
||||
|
||||
.section-white {
|
||||
--section-bg: var(--#{$prefix}bg-surface);
|
||||
}
|
||||
|
||||
.section-light {
|
||||
--section-bg: var(--#{$prefix}bg-surface-secondary);
|
||||
}
|
||||
|
||||
.section-primary {
|
||||
--section-bg: var(--#{$prefix}primary);
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.section-dark {
|
||||
--section-bg: var(--#{$prefix}dark);
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
max-width: 45rem;
|
||||
margin: 0 auto 5rem;
|
||||
|
||||
@at-root .section-sm & {
|
||||
margin-bottom: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: var(--#{$prefix}font-size-h1);
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-title-lg {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.section-description {
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-size: var(--#{$prefix}font-size-h3);
|
||||
line-height: var(--#{$prefix}line-height-h3);
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
//
|
||||
// Section divider
|
||||
//
|
||||
.section-divider {
|
||||
position: absolute;
|
||||
bottom: 100%;
|
||||
pointer-events: none;
|
||||
height: 5rem;
|
||||
width: 100%;
|
||||
|
||||
path {
|
||||
fill: var(--section-bg);
|
||||
}
|
||||
|
||||
.wave-1 {
|
||||
animation: move-forever1 30s linear infinite;
|
||||
animation-delay: -2s;
|
||||
}
|
||||
|
||||
.wave-2 {
|
||||
animation: move-forever2 24s linear infinite;
|
||||
opacity: .5;
|
||||
animation-delay: -2s;
|
||||
}
|
||||
|
||||
.wave-3 {
|
||||
animation: move-forever3 18s linear infinite;
|
||||
opacity: .3;
|
||||
animation-delay: -2s;
|
||||
}
|
||||
}
|
||||
|
||||
.section-divider-auto {
|
||||
height: auto;
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
.shape {
|
||||
--#{$prefix}shape-size: #{$avatar-size};
|
||||
--#{$prefix}shape-icon-size: #{$avatar-icon-size};
|
||||
background-color: var(--#{$prefix}primary-lt);
|
||||
color: var(--#{$prefix}primary);
|
||||
border-radius: 35%;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: var(--#{$prefix}shape-size);
|
||||
width: var(--#{$prefix}shape-size);
|
||||
|
||||
.icon {
|
||||
width: var(--#{$prefix}shape-icon-size);
|
||||
height: var(--#{$prefix}shape-icon-size);
|
||||
}
|
||||
}
|
||||
|
||||
@each $avatar-size, $size in $avatar-sizes {
|
||||
.shape-#{$avatar-size} {
|
||||
--#{$prefix}shape-size: #{map-get($size, size)};
|
||||
--#{$prefix}shape-icon-size: #{map-get($size, icon-size)};
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $color in $colors {
|
||||
.shape-#{$name} {
|
||||
background: var(--#{$prefix}#{$name}-lt);
|
||||
color: var(--#{$prefix}#{$name});
|
||||
}
|
||||
}
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
@function theme-color-lighter($color, $background: #fff) {
|
||||
@return mix($color, $background, 10%);
|
||||
}
|
||||
|
||||
@function theme-color-darker($color) {
|
||||
@return shade-color($color, 10%);
|
||||
}
|
||||
|
||||
//
|
||||
// Replace all occurrences of a substring within a string.
|
||||
//
|
||||
@function str-replace($string, $search, $replace: "") {
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
}
|
||||
|
||||
@mixin media-breakpoint-down-than($name, $breakpoints: $grid-breakpoints) {
|
||||
$prev: breakpoint-prev($name);
|
||||
|
||||
@if $prev == null {
|
||||
@content;
|
||||
} @else {
|
||||
$max: breakpoint-max($prev, $breakpoints);
|
||||
|
||||
@if $max {
|
||||
@media (max-width: $max) {
|
||||
@content;
|
||||
}
|
||||
} @else {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@function breakpoint-prev($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
|
||||
$n: index($breakpoint-names, $name);
|
||||
@if not $n {
|
||||
@error "breakpoint `#{$name}` not found in `#{$breakpoints}`";
|
||||
}
|
||||
@return if($n > 1, nth($breakpoint-names, $n - 1), null);
|
||||
}
|
||||
|
||||
//
|
||||
// Escape SVG strings.
|
||||
//
|
||||
@function escape-svg($string) {
|
||||
@if str-index($string, "data:image/svg+xml") {
|
||||
@each $char, $encoded in $escaped-characters {
|
||||
// Do not escape the url brackets
|
||||
@if str-index($string, "url(") == 1 {
|
||||
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
|
||||
} @else {
|
||||
$string: str-replace($string, $char, $encoded);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a given value to a percentage string.
|
||||
*
|
||||
* @param {Number} $value - The value to be converted to a percentage.
|
||||
* @return {String} - The percentage representation of the value.
|
||||
*/
|
||||
@function to-percentage($value) {
|
||||
@return if(unitless($value), percentage($value), $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a transparent version of the given color.
|
||||
*
|
||||
* @param {Color} $color - The base color to be made transparent.
|
||||
* @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.
|
||||
* @return {Color} - The resulting color with the specified transparency.
|
||||
*/
|
||||
@function color-transparent($color, $alpha: 1, $background: transparent) {
|
||||
@if $alpha == 1 {
|
||||
@return $color;
|
||||
} @else {
|
||||
@return color-mix(in srgb, #{$color} #{to-percentage($alpha)}, $background);
|
||||
}
|
||||
}
|
||||
|
||||
@function url-svg($svg) {
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
|
||||
|
||||
@return url('data:image/svg+xml;charset=UTF-8,#{$svg}');
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
@mixin subheader($include-color: true, $include-line-height: true) {
|
||||
font-size: $h5-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .04em;
|
||||
|
||||
@if $include-line-height {
|
||||
line-height: $h5-line-height;
|
||||
}
|
||||
|
||||
@if ($include-color) {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
}
|
||||
|
||||
@mixin scrollbar {
|
||||
#{if(&, "&", "*")} {
|
||||
scrollbar-color: color-transparent(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color)), .20) transparent;
|
||||
}
|
||||
|
||||
#{if(&, "&", "*")}::-webkit-scrollbar {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
@include transition(background $transition-time);
|
||||
}
|
||||
|
||||
#{if(&, "&", "*")}::-webkit-scrollbar-thumb {
|
||||
border-radius: 1rem;
|
||||
border: 5px solid transparent;
|
||||
box-shadow: inset 0 0 0 1rem color-transparent(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color)), .20);
|
||||
}
|
||||
|
||||
#{if(&, "&", "*")}::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#{if(&, "&", "*")}:hover::-webkit-scrollbar-thumb {
|
||||
box-shadow: inset 0 0 0 1rem color-transparent(var(--#{$prefix}scrollbar-color, var(--#{$prefix}body-color)), .40);
|
||||
}
|
||||
|
||||
#{if(&, "&", "*")}::-webkit-scrollbar-corner {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@mixin autodark-image {
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
//
|
||||
// Elements list
|
||||
//
|
||||
@mixin elements-list($gap: .5rem) {
|
||||
--#{$prefix}list-gap: #{$gap};
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--#{$prefix}list-gap);
|
||||
}
|
||||
|
||||
@mixin focus-ring($show-border: false) {
|
||||
outline: 0;
|
||||
box-shadow: 0 0 $focus-ring-blur $focus-ring-width rgba(var(--#{$prefix}primary-rgb), 0.25);
|
||||
|
||||
@if($show-border) {
|
||||
border-color: rgba(var(--#{$prefix}primary-rgb), 0.25);
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@import "config";
|
||||
@import "ui/flags";
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
@import "config";
|
||||
@import "variables";
|
||||
@import "utilities-marketing";
|
||||
|
||||
@import "marketing/core";
|
||||
@import "marketing/hero";
|
||||
@import "marketing/browser";
|
||||
@import "marketing/sections";
|
||||
@import "marketing/filters";
|
||||
@import "marketing/pricing";
|
||||
@import "marketing/shape";
|
||||
|
||||
@import "bootstrap/scss/utilities/api";
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@import "config";
|
||||
@import "ui/payments";
|
||||
+1
@@ -0,0 +1 @@
|
||||
@import "props"
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@import "config";
|
||||
@import "ui/social";
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
@import "config";
|
||||
|
||||
[data-bs-theme-base="slate"] {
|
||||
--#{$prefix}gray-50: #f8fafc;
|
||||
--#{$prefix}gray-100: #f1f5f9;
|
||||
--#{$prefix}gray-200: #e2e8f0;
|
||||
--#{$prefix}gray-300: #cbd5e1;
|
||||
--#{$prefix}gray-400: #94a3b8;
|
||||
--#{$prefix}gray-500: #64748b;
|
||||
--#{$prefix}gray-600: #475569;
|
||||
--#{$prefix}gray-700: #334155;
|
||||
--#{$prefix}gray-800: #1e293b;
|
||||
--#{$prefix}gray-900: #0f172a;
|
||||
--#{$prefix}gray-950: #020617;
|
||||
}
|
||||
|
||||
[data-bs-theme-base="gray"] {
|
||||
--#{$prefix}gray-50: #f9fafb;
|
||||
--#{$prefix}gray-100: #f3f4f6;
|
||||
--#{$prefix}gray-200: #e5e7eb;
|
||||
--#{$prefix}gray-300: #d1d5db;
|
||||
--#{$prefix}gray-400: #9ca3af;
|
||||
--#{$prefix}gray-500: #6b7280;
|
||||
--#{$prefix}gray-600: #4b5563;
|
||||
--#{$prefix}gray-700: #374151;
|
||||
--#{$prefix}gray-800: #1f2937;
|
||||
--#{$prefix}gray-900: #111827;
|
||||
--#{$prefix}gray-950: #030712;
|
||||
}
|
||||
|
||||
[data-bs-theme-base="zinc"] {
|
||||
--#{$prefix}gray-50: #fafafa;
|
||||
--#{$prefix}gray-100: #f4f4f5;
|
||||
--#{$prefix}gray-200: #e4e4e7;
|
||||
--#{$prefix}gray-300: #d4d4d8;
|
||||
--#{$prefix}gray-400: #a1a1aa;
|
||||
--#{$prefix}gray-500: #71717a;
|
||||
--#{$prefix}gray-600: #52525b;
|
||||
--#{$prefix}gray-700: #3f3f46;
|
||||
--#{$prefix}gray-800: #27272a;
|
||||
--#{$prefix}gray-900: #18181b;
|
||||
--#{$prefix}gray-950: #09090b;
|
||||
}
|
||||
|
||||
[data-bs-theme-base="neutral"] {
|
||||
--#{$prefix}gray-50: #fafafa;
|
||||
--#{$prefix}gray-100: #f5f5f5;
|
||||
--#{$prefix}gray-200: #e5e5e5;
|
||||
--#{$prefix}gray-300: #d4d4d4;
|
||||
--#{$prefix}gray-400: #a3a3a3;
|
||||
--#{$prefix}gray-500: #737373;
|
||||
--#{$prefix}gray-600: #525252;
|
||||
--#{$prefix}gray-700: #404040;
|
||||
--#{$prefix}gray-800: #262626;
|
||||
--#{$prefix}gray-900: #171717;
|
||||
--#{$prefix}gray-950: #0a0a0a;
|
||||
}
|
||||
|
||||
[data-bs-theme-base="stone"] {
|
||||
--#{$prefix}gray-50: #fafaf9;
|
||||
--#{$prefix}gray-100: #f5f5f4;
|
||||
--#{$prefix}gray-200: #e7e5e4;
|
||||
--#{$prefix}gray-300: #d6d3d1;
|
||||
--#{$prefix}gray-400: #a8a29e;
|
||||
--#{$prefix}gray-500: #78716c;
|
||||
--#{$prefix}gray-600: #57534e;
|
||||
--#{$prefix}gray-700: #44403c;
|
||||
--#{$prefix}gray-800: #292524;
|
||||
--#{$prefix}gray-900: #1c1917;
|
||||
--#{$prefix}gray-950: #0c0a09;
|
||||
}
|
||||
|
||||
[data-bs-theme-base="pink"] {
|
||||
--#{$prefix}gray-50: #fdf2f8;
|
||||
--#{$prefix}gray-100: #fce7f3;
|
||||
--#{$prefix}gray-200: #fbcfe8;
|
||||
--#{$prefix}gray-300: #f9a8d4;
|
||||
--#{$prefix}gray-400: #f472b6;
|
||||
--#{$prefix}gray-500: #ec4899;
|
||||
--#{$prefix}gray-600: #db2777;
|
||||
--#{$prefix}gray-700: #be185d;
|
||||
--#{$prefix}gray-800: #9d174d;
|
||||
--#{$prefix}gray-900: #831843;
|
||||
--#{$prefix}gray-950: #500724;
|
||||
}
|
||||
|
||||
@each $name, $value in $extra-colors {
|
||||
[data-bs-theme-primary="#{$name}"] {
|
||||
--#{$prefix}primary: #{$value};
|
||||
--#{$prefix}primary-rgb: #{to-rgb($value)};
|
||||
}
|
||||
}
|
||||
|
||||
@each $value in (0, .5, 1, 1.5, 2) {
|
||||
[data-bs-theme-radius="#{$value}"] {
|
||||
--#{$prefix}border-radius-scale: #{$value};
|
||||
}
|
||||
}
|
||||
|
||||
[data-bs-theme-primary="inverted"] {
|
||||
--#{$prefix}primary: var(--#{$prefix}gray-800);
|
||||
--#{$prefix}primary-fg: var(--#{$prefix}light);
|
||||
--#{$prefix}primary-rgb: #{to-rgb($dark)};
|
||||
|
||||
&[data-bs-theme="dark"],
|
||||
[data-bs-theme="dark"] {
|
||||
--#{$prefix}primary: #{$light};
|
||||
--#{$prefix}primary-fg: var(--#{$prefix}dark);
|
||||
--#{$prefix}primary-rgb: #{to-rgb($light)};
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $value in (monospace: $font-family-monospace, sans-serif: $font-family-sans-serif, serif: $font-family-serif, comic: $font-family-comic) {
|
||||
[data-bs-theme-font="#{$name}"] {
|
||||
--#{$prefix}body-font-family: var(--#{$prefix}font-#{$name});
|
||||
|
||||
@if $name == "monospace" {
|
||||
--#{$prefix}body-font-size: 80%;
|
||||
}
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
@import "config";
|
||||
|
||||
@import "vendor/nouislider";
|
||||
@import "vendor/litepicker";
|
||||
@import "vendor/tom-select";
|
||||
@import "vendor/apexcharts";
|
||||
@import "vendor/jsvectormap";
|
||||
@import "vendor/dropzone";
|
||||
@import "vendor/fslightbox";
|
||||
@import "vendor/plyr";
|
||||
@import "vendor/wysiwyg";
|
||||
@import "vendor/stars-rating";
|
||||
@import "vendor/coloris";
|
||||
@import "vendor/typed";
|
||||
@import "vendor/turbo";
|
||||
@import "vendor/fullcalendar";
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@import "core";
|
||||
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
.accordion {
|
||||
--#{$prefix}accordion-color: var(--#{$prefix}body-color);
|
||||
--#{$prefix}accordion-border-color: var(--#{$prefix}border-color);
|
||||
--#{$prefix}accordion-border-radius: #{$accordion-border-radius};
|
||||
--#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};
|
||||
--#{$prefix}accordion-padding-x: #{$accordion-body-padding-x};
|
||||
--#{$prefix}accordion-gap: 0;
|
||||
--#{$prefix}accordion-active-color: #{$accordion-button-active-color};
|
||||
--#{$prefix}accordion-btn-color: var(--#{$prefix}accordion-color);
|
||||
--#{$prefix}accordion-btn-bg: #{$accordion-button-bg};
|
||||
--#{$prefix}accordion-btn-toggle-width: 1.25rem;
|
||||
--#{$prefix}accordion-btn-padding-x: var(--#{$prefix}accordion-padding-x);
|
||||
--#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};
|
||||
--#{$prefix}accordion-btn-font-weight: var(--#{$prefix}font-weight-medium);
|
||||
--#{$prefix}accordion-body-padding-x: var(--#{$prefix}accordion-padding-x);
|
||||
--#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--#{$prefix}accordion-gap);
|
||||
}
|
||||
|
||||
.accordion-button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-padding-x);
|
||||
color: inherit;
|
||||
text-align: inherit;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
font-size: inherit;
|
||||
font-weight: var(--#{$prefix}accordion-btn-font-weight);
|
||||
gap: .75rem;
|
||||
|
||||
&:not(.collapsed) {
|
||||
border-bottom-color: transparent;
|
||||
box-shadow: none;
|
||||
color: var(--#{$prefix}accordion-active-color);
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-header {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
color: var(--#{$prefix}accordion-btn-color);
|
||||
text-align: left;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
overflow-anchor: none;
|
||||
transition: transform $transition-time;
|
||||
|
||||
&:hover {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
z-index: 3;
|
||||
outline: 0;
|
||||
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
||||
|
||||
&:not(:focus-visible) {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-button-icon {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.accordion-button-toggle {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
transition: $transition-time transform;
|
||||
margin-left: auto;
|
||||
margin-right: 0;
|
||||
color: var(--#{$prefix}secondary);
|
||||
width: var(--#{$prefix}accordion-btn-toggle-width);
|
||||
height: var(--#{$prefix}accordion-btn-toggle-width);
|
||||
|
||||
.accordion-button:not(.collapsed) & {
|
||||
transform: rotate(-180deg);
|
||||
color: var(--#{$prefix}accordion-active-color);
|
||||
}
|
||||
|
||||
path {
|
||||
transition: $transition-time opacity;
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-button-toggle-plus {
|
||||
.accordion-button:not(.collapsed) & {
|
||||
path:first-child {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-item {
|
||||
color: var(--#{$prefix}accordion-color);
|
||||
border: var(--#{$prefix}border-width) solid var(--#{$prefix}accordion-border-color);
|
||||
|
||||
&:first-of-type {
|
||||
@include border-top-radius(var(--#{$prefix}accordion-border-radius));
|
||||
|
||||
> .accordion-header {
|
||||
@include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:first-of-type) {
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
&:last-of-type {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
|
||||
|
||||
> .accordion-header {
|
||||
&.collapsed {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
|
||||
}
|
||||
}
|
||||
|
||||
> .accordion-collapse {
|
||||
@include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-body {
|
||||
color: var(--#{$prefix}secondary);
|
||||
padding: 0 var(--#{$prefix}accordion-body-padding-x) var(--#{$prefix}accordion-body-padding-y);
|
||||
}
|
||||
|
||||
.accordion-flush {
|
||||
> .accordion-item {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
@include border-radius(0);
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
> .accordion-collapse,
|
||||
> .accordion-header .accordion-button,
|
||||
> .accordion-header .accordion-button.collapsed {
|
||||
@include border-radius(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-tabs {
|
||||
--#{$prefix}accordion-gap: 0.75rem;
|
||||
|
||||
> .accordion-item {
|
||||
border: var(--#{$prefix}border-width) solid var(--#{$prefix}accordion-border-color);
|
||||
border-radius: var(--#{$prefix}accordion-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.accordion-inverted {
|
||||
.accordion-button-toggle {
|
||||
order: -1;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
.alert {
|
||||
// scss-docs-start alert-variables
|
||||
--#{$prefix}alert-color: var(--#{$prefix}body-color);
|
||||
--#{$prefix}alert-bg: #{color-transparent(var(--#{$prefix}alert-color), .1)};
|
||||
--#{$prefix}alert-padding-x: #{$alert-padding-x};
|
||||
--#{$prefix}alert-padding-y: #{$alert-padding-y};
|
||||
--#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
|
||||
--#{$prefix}alert-border-color: #{color-transparent(var(--#{$prefix}alert-color), .2)};
|
||||
--#{$prefix}alert-border: var(--#{$prefix}border-width) solid var(--#{$prefix}alert-border-color);
|
||||
--#{$prefix}alert-border-radius: var(--#{$prefix}border-radius);
|
||||
--#{$prefix}alert-link-color: inherit;
|
||||
--#{$prefix}alert-heading-font-weight: var(--#{$prefix}font-weight-medium);
|
||||
// scss-docs-end
|
||||
|
||||
position: relative;
|
||||
padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
|
||||
margin-bottom: var(--#{$prefix}alert-margin-bottom);
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}alert-bg), var(--#{$prefix}bg-surface));
|
||||
border-radius: var(--#{$prefix}alert-border-radius);
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}alert-border-color);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.alert-heading {
|
||||
color: inherit;
|
||||
margin-bottom: .25rem; // todo: use variable
|
||||
font-weight: var(--#{$prefix}alert-heading-font-weight);
|
||||
}
|
||||
|
||||
.alert-description {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.alert-icon {
|
||||
color: var(--#{$prefix}alert-color);
|
||||
width: 1.25rem !important; // todo: use variable
|
||||
height: 1.25rem !important;
|
||||
}
|
||||
|
||||
.alert-action {
|
||||
color: var(--#{$prefix}alert-color);
|
||||
text-decoration: underline;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.alert-list {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.alert-link {
|
||||
font-weight: $alert-link-font-weight;
|
||||
color: var(--#{$prefix}alert-link-color);
|
||||
|
||||
&,
|
||||
&:hover {
|
||||
color: var(--#{$prefix}alert-color);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.alert-dismissible {
|
||||
padding-right: 3rem; //todo: use variable
|
||||
|
||||
.btn-close {
|
||||
position: absolute;
|
||||
top: calc(var(--#{$prefix}alert-padding-x) / 2 - 1px);
|
||||
right: calc(var(--#{$prefix}alert-padding-y) / 2 - 1px);
|
||||
z-index: 1;
|
||||
padding: calc(var(--#{$prefix}alert-padding-y) * 1.25) var(--#{$prefix}alert-padding-x);
|
||||
}
|
||||
}
|
||||
|
||||
.alert-important {
|
||||
border-color: var(--#{$prefix}alert-color);
|
||||
background-color: var(--#{$prefix}alert-color);
|
||||
color: var(--#{$prefix}white);
|
||||
|
||||
.alert-description {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.alert-icon {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.alert-minor {
|
||||
background: transparent;
|
||||
border-color: var(--tblr-border-color);
|
||||
}
|
||||
|
||||
@each $name, $color in $theme-colors {
|
||||
.alert-#{$name} {
|
||||
--#{$prefix}alert-color: var(--#{$prefix}#{$name});
|
||||
}
|
||||
}
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
.avatar {
|
||||
--#{$prefix}avatar-size: var(--#{$prefix}avatar-list-size, #{$avatar-size});
|
||||
--#{$prefix}avatar-status-size: #{$avatar-status-size};
|
||||
--#{$prefix}avatar-bg: #{$avatar-bg};
|
||||
--#{$prefix}avatar-box-shadow-color: var(--#{$prefix}border-color-translucent);
|
||||
--#{$prefix}avatar-box-shadow: inset 0 0 0 1px var(--#{$prefix}avatar-box-shadow-color);
|
||||
--#{$prefix}avatar-font-size: #{$avatar-font-size};
|
||||
--#{$prefix}avatar-icon-size: #{$avatar-icon-size};
|
||||
--#{$prefix}avatar-brand-size: #{$avatar-brand-size};
|
||||
position: relative;
|
||||
width: var(--#{$prefix}avatar-size);
|
||||
height: var(--#{$prefix}avatar-size);
|
||||
font-size: var(--#{$prefix}avatar-font-size);
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
line-height: 1;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--#{$prefix}secondary);
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
vertical-align: bottom;
|
||||
user-select: none;
|
||||
background: var(--#{$prefix}avatar-bg) no-repeat center/cover;
|
||||
border-radius: $avatar-border-radius;
|
||||
box-shadow: var(--#{$prefix}avatar-box-shadow);
|
||||
transition: color $transition-time, background-color $transition-time, box-shadow $transition-time;
|
||||
|
||||
.icon {
|
||||
width: var(--#{$prefix}avatar-icon-size);
|
||||
height: var(--#{$prefix}avatar-icon-size);
|
||||
}
|
||||
|
||||
.badge {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: $border-radius-pill;
|
||||
box-shadow: 0 0 0 calc(var(--#{$prefix}avatar-status-size) / 4) $card-bg;
|
||||
}
|
||||
|
||||
@at-root a#{&} {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: var(--#{$prefix}primary);
|
||||
--#{$prefix}avatar-box-shadow-color: var(--#{$prefix}primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-rounded {
|
||||
border-radius: $border-radius-pill;
|
||||
}
|
||||
|
||||
@each $avatar-size, $size in $avatar-sizes {
|
||||
.avatar-#{$avatar-size} {
|
||||
--#{$prefix}avatar-size: #{map-get($size, size)};
|
||||
--#{$prefix}avatar-status-size: #{map-get($size, status-size)};
|
||||
--#{$prefix}avatar-font-size: #{map-get($size, font-size)};
|
||||
--#{$prefix}avatar-icon-size: #{map-get($size, icon-size)};
|
||||
--#{$prefix}avatar-brand-size: #{map-get($size, brand-size)};
|
||||
|
||||
.badge:empty {
|
||||
width: map-get($size, status-size);
|
||||
height: map-get($size, status-size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Avatar list
|
||||
//
|
||||
.avatar-list {
|
||||
--#{$prefix}avatar-list-size: #{$avatar-size};
|
||||
@include elements-list;
|
||||
|
||||
a.avatar {
|
||||
&:hover {
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-list-stacked {
|
||||
display: block;
|
||||
--#{$prefix}list-gap: 0;
|
||||
|
||||
.avatar {
|
||||
margin-right: calc(#{$avatar-list-spacing} * var(--#{$prefix}avatar-size)) !important;
|
||||
box-shadow: var(--#{$prefix}avatar-box-shadow), 0 0 0 2px var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
}
|
||||
}
|
||||
|
||||
@each $avatar-size, $size in $avatar-sizes {
|
||||
.avatar-list-#{$avatar-size} {
|
||||
--#{$prefix}avatar-list-size: #{map-get($size, size)};
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Avatar upload
|
||||
//
|
||||
.avatar-upload {
|
||||
border: var(--#{$prefix}border-width) dashed var(--#{$prefix}border-color);
|
||||
background: $form-check-input-bg;
|
||||
box-shadow: none;
|
||||
flex-direction: column;
|
||||
@include transition(color $transition-time, background-color $transition-time);
|
||||
|
||||
svg {
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
border-color: var(--#{$prefix}primary);
|
||||
color: var(--#{$prefix}primary);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-upload-text {
|
||||
font-size: $h6-font-size;
|
||||
line-height: 1;
|
||||
margin-top: .25rem;
|
||||
}
|
||||
|
||||
.avatar-cover {
|
||||
margin-top: calc(-.5 * var(--#{$prefix}avatar-size));
|
||||
box-shadow: 0 0 0 .25rem var(--#{$prefix}card-bg, var(--#{$prefix}body-bg));
|
||||
}
|
||||
|
||||
.avatar-brand {
|
||||
width: var(--#{$prefix}avatar-brand-size);
|
||||
height: var(--#{$prefix}avatar-brand-size);
|
||||
position: absolute;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
z-index: 1000;
|
||||
background: var(--#{$prefix}bg-surface);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
border: 1px solid var(--#{$prefix}border-color);
|
||||
}
|
||||
+113
@@ -0,0 +1,113 @@
|
||||
.badge {
|
||||
--#{$prefix}badge-padding-x: #{$badge-padding-x};
|
||||
--#{$prefix}badge-padding-y: #{$badge-padding-y};
|
||||
--#{$prefix}badge-font-size: #{$badge-font-size};
|
||||
--#{$prefix}badge-font-weight: #{$badge-font-weight};
|
||||
--#{$prefix}badge-color: #{$badge-color};
|
||||
--#{$prefix}badge-border-radius: #{$badge-border-radius};
|
||||
--#{$prefix}badge-icon-size: 1em;
|
||||
--#{$prefix}badge-line-height: 1;
|
||||
display: inline-flex;
|
||||
padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
|
||||
font-weight: var(--#{$prefix}badge-font-weight);
|
||||
font-size: var(--#{$prefix}badge-font-size);
|
||||
color: var(--#{$prefix}badge-color);
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: .25rem;
|
||||
background: $badge-bg-color;
|
||||
overflow: hidden;
|
||||
user-select: none;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
|
||||
border-radius: var(--#{$prefix}badge-border-radius);
|
||||
min-width: calc(1em + var(--#{$prefix}badge-padding-y) * 2 + 2px);
|
||||
letter-spacing: 0.04em;
|
||||
vertical-align: bottom;
|
||||
line-height: var(--#{$prefix}badge-line-height);
|
||||
|
||||
@at-root a#{&} {
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
font-size: var(--#{$prefix}badge-icon-size);
|
||||
stroke-width: 2;
|
||||
}
|
||||
}
|
||||
|
||||
.badge:empty,
|
||||
.badge-dot {
|
||||
display: inline-block;
|
||||
width: $badge-empty-size;
|
||||
height: $badge-empty-size;
|
||||
min-width: 0;
|
||||
min-height: auto;
|
||||
padding: 0;
|
||||
border-radius: $border-radius-pill;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
//
|
||||
// Outline badge
|
||||
//
|
||||
.badge-outline {
|
||||
background-color: transparent;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) currentColor;
|
||||
}
|
||||
|
||||
//
|
||||
// Pill badge
|
||||
//
|
||||
.badge-pill {
|
||||
border-radius: $border-radius-pill;
|
||||
}
|
||||
|
||||
//
|
||||
// Badges list
|
||||
//
|
||||
.badges-list {
|
||||
@include elements-list;
|
||||
}
|
||||
|
||||
//
|
||||
// Notification badge
|
||||
//
|
||||
.badge-notification {
|
||||
position: absolute !important;
|
||||
top: 0 !important;
|
||||
right: 0 !important;
|
||||
transform: translate(50%, -50%);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.badge-blink {
|
||||
animation: blink 2s infinite;
|
||||
}
|
||||
|
||||
//
|
||||
// Badge sizes
|
||||
//
|
||||
.badge-sm {
|
||||
--#{$prefix}badge-font-size: #{$badge-font-size-sm};
|
||||
--#{$prefix}badge-icon-size: 1em;
|
||||
--#{$prefix}badge-padding-y: 2px;
|
||||
--#{$prefix}badge-padding-x: 0.25rem;
|
||||
}
|
||||
|
||||
.badge-lg {
|
||||
--#{$prefix}badge-font-size: #{$badge-font-size-lg};
|
||||
--#{$prefix}badge-icon-size: 1em;
|
||||
--#{$prefix}badge-padding-y: 0.25rem;
|
||||
--#{$prefix}badge-padding-x: 0.5rem;
|
||||
}
|
||||
|
||||
//
|
||||
// Badge with only icon
|
||||
//
|
||||
.badge-icononly {
|
||||
--#{$prefix}badge-padding-x: 0;
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
.breadcrumb {
|
||||
--#{$prefix}breadcrumb-item-active-font-weight: #{$breadcrumb-active-font-weight};
|
||||
--#{$prefix}breadcrumb-item-disabled-color: #{$breadcrumb-disabled-color};
|
||||
--#{$prefix}breadcrumb-link-color: #{$breadcrumb-link-color};
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
|
||||
a {
|
||||
color: var(--#{$prefix}breadcrumb-link-color);
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.breadcrumb-muted {
|
||||
--#{$prefix}breadcrumb-link-color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.breadcrumb-item {
|
||||
&.active {
|
||||
font-weight: var(--#{$prefix}breadcrumb-item-active-font-weight);
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
color: var(--#{$prefix}breadcrumb-item-disabled-color);
|
||||
|
||||
&:before {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $symbol in $breadcrumb-variants {
|
||||
.breadcrumb-#{$name} {
|
||||
--#{$prefix}breadcrumb-divider: "#{quote($symbol)}";
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
.btn-group,
|
||||
.btn-group-vertical {
|
||||
box-shadow: $input-box-shadow;
|
||||
|
||||
> .btn-check:checked + .btn,
|
||||
> .btn:active,
|
||||
> .btn.active {
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
> .btn-check:focus + .btn,
|
||||
> .btn:hover,
|
||||
> .btn:focus {
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
+261
@@ -0,0 +1,261 @@
|
||||
@use "sass:color";
|
||||
|
||||
//
|
||||
// Button
|
||||
//
|
||||
.btn {
|
||||
--#{$prefix}btn-icon-size: #{$input-btn-icon-size};
|
||||
--#{$prefix}btn-bg: var(--#{$prefix}bg-surface);
|
||||
--#{$prefix}btn-color: var(--#{$prefix}body-color);
|
||||
--#{$prefix}btn-border-color: #{$btn-border-color};
|
||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}btn-bg);
|
||||
--#{$prefix}btn-hover-border-color: var(--#{$prefix}border-active-color);
|
||||
--#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
|
||||
--#{$prefix}btn-active-color: #{$active-color};
|
||||
--#{$prefix}btn-active-bg: #{$active-bg};
|
||||
--#{$prefix}btn-active-border-color: #{$active-border-color};
|
||||
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
white-space: nowrap;
|
||||
box-shadow: var(--#{$prefix}btn-box-shadow);
|
||||
position: relative;
|
||||
|
||||
.icon {
|
||||
width: var(--#{$prefix}btn-icon-size);
|
||||
height: var(--#{$prefix}btn-icon-size);
|
||||
min-width: var(--#{$prefix}btn-icon-size);
|
||||
font-size: var(--#{$prefix}btn-icon-size);
|
||||
margin: 0 calc(var(--#{$prefix}btn-padding-x) / 2) 0 calc(var(--#{$prefix}btn-padding-x) / -4);
|
||||
vertical-align: bottom;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: var(--#{$prefix}btn-icon-size);
|
||||
height: var(--#{$prefix}btn-icon-size);
|
||||
margin: 0 calc(var(--#{$prefix}btn-padding-x) / 2) 0 calc(var(--#{$prefix}btn-padding-x) / -4);
|
||||
}
|
||||
|
||||
.icon-right {
|
||||
margin: 0 calc(var(--#{$prefix}btn-padding-x) / -4) 0 calc(var(--#{$prefix}btn-padding-x) / 2);
|
||||
}
|
||||
|
||||
.badge {
|
||||
top: auto;
|
||||
}
|
||||
|
||||
.btn-check + &:hover {
|
||||
color: var(--#{$prefix}btn-hover-color);
|
||||
background-color: var(--#{$prefix}btn-hover-bg);
|
||||
border-color: var(--#{$prefix}btn-hover-border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
color: #{color.adjust($primary, $lightness: 5%)};
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
box-shadow: none;
|
||||
|
||||
.icon {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $link-hover-color;
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Button color variations
|
||||
//
|
||||
@each $color, $value in map-merge($theme-colors, $social-colors) {
|
||||
.btn-#{$color} {
|
||||
@if $color == 'dark' {
|
||||
--#{$prefix}btn-border-color: var(--#{$prefix}dark-mode-border-color);
|
||||
--#{$prefix}btn-hover-border-color: var(--#{$prefix}dark-mode-border-active-color);
|
||||
--#{$prefix}btn-active-border-color: var(--#{$prefix}dark-mode-border-active-color);
|
||||
} @else {
|
||||
--#{$prefix}btn-border-color: transparent;
|
||||
--#{$prefix}btn-hover-border-color: transparent;
|
||||
--#{$prefix}btn-active-border-color: transparent;
|
||||
}
|
||||
|
||||
--#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg, #{$white});
|
||||
--#{$prefix}btn-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color}-darken);
|
||||
--#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color}-darken);
|
||||
--#{$prefix}btn-disabled-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
|
||||
}
|
||||
|
||||
.btn-outline-#{$color} {
|
||||
--#{$prefix}btn-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-bg: transparent;
|
||||
--#{$prefix}btn-border-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-hover-border-color: transparent;
|
||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color});
|
||||
}
|
||||
|
||||
.btn-ghost-#{$color} {
|
||||
--#{$prefix}btn-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-bg: transparent;
|
||||
--#{$prefix}btn-border-color: transparent;
|
||||
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
|
||||
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-active-border-color: transparent;
|
||||
--#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
|
||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}btn-disabled-bg: transparent;
|
||||
--#{$prefix}btn-disabled-border-color: transparent;
|
||||
--#{$prefix}gradient: none;
|
||||
--#{$prefix}btn-box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Button sizes
|
||||
//
|
||||
.btn-sm, .btn-group-sm > .btn {
|
||||
--#{$prefix}btn-line-height: #{$input-btn-line-height-sm};
|
||||
--#{$prefix}btn-icon-size: #{$input-btn-icon-size-sm};
|
||||
}
|
||||
|
||||
.btn-lg, .btn-group-lg > .btn {
|
||||
--#{$prefix}btn-line-height: #{$input-btn-line-height-lg};
|
||||
--#{$prefix}btn-icon-size: #{$input-btn-icon-size-lg};
|
||||
}
|
||||
|
||||
//
|
||||
// Button shapes
|
||||
//
|
||||
.btn-pill {
|
||||
padding-right: 1.5em;
|
||||
padding-left: 1.5em;
|
||||
border-radius: 10rem;
|
||||
|
||||
&[class*="btn-icon"] {
|
||||
padding: 0.375rem 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-square {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
//
|
||||
// Icon button
|
||||
//
|
||||
.btn-icon {
|
||||
min-width: calc((var(--#{$prefix}btn-line-height) * var(--#{$prefix}btn-font-size)) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2));
|
||||
min-height: calc((var(--#{$prefix}btn-line-height) * var(--#{$prefix}btn-font-size)) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2));
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
|
||||
.icon {
|
||||
margin: calc(-1 * var(--#{$prefix}btn-padding-x));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Button list
|
||||
//
|
||||
.btn-list {
|
||||
@include elements-list;
|
||||
}
|
||||
|
||||
//
|
||||
// Button floating
|
||||
//
|
||||
.btn-floating {
|
||||
position: fixed;
|
||||
z-index: $zindex-fixed;
|
||||
bottom: 1rem;
|
||||
left: 1rem;
|
||||
box-shadow: var(--#{$prefix}shadow-dropdown);
|
||||
}
|
||||
|
||||
//
|
||||
// Button loading
|
||||
//
|
||||
.btn-loading {
|
||||
position: relative;
|
||||
color: transparent !important;
|
||||
text-shadow: none !important;
|
||||
pointer-events: none;
|
||||
|
||||
> * {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
vertical-align: text-bottom;
|
||||
border: $spinner-border-width var(--#{$prefix}border-style) currentColor;
|
||||
border-right-color: transparent;
|
||||
border-radius: $border-radius-pill;
|
||||
color: var(--#{$prefix}btn-color);
|
||||
position: absolute;
|
||||
width: var(--#{$prefix}btn-icon-size);
|
||||
height: var(--#{$prefix}btn-icon-size);
|
||||
left: calc(50% - var(--#{$prefix}btn-icon-size) / 2);
|
||||
top: calc(50% - var(--#{$prefix}btn-icon-size) / 2);
|
||||
animation: spinner-border .75s linear infinite;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Action button
|
||||
//
|
||||
.btn-action {
|
||||
--#{$prefix}border-color: transparent;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
color: var(--#{$prefix}secondary);
|
||||
display: inline-flex;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
|
||||
&:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&.show {
|
||||
color: var(--#{$prefix}body-color);
|
||||
background: var(--#{$prefix}active-bg);
|
||||
}
|
||||
|
||||
&.show {
|
||||
color: var(--#{$prefix}primary);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-actions {
|
||||
display: flex;
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
.calendar {
|
||||
display: block;
|
||||
font-size: $font-size-sm;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
|
||||
.calendar-nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.calendar-title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.calendar-body,
|
||||
.calendar-header {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
padding: .5rem 0;
|
||||
}
|
||||
|
||||
.calendar-header {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.calendar-date {
|
||||
flex: 0 0 calc(100% / 7);
|
||||
max-width: calc(100% / 7);
|
||||
padding: .2rem;
|
||||
text-align: center;
|
||||
border: 0;
|
||||
|
||||
&.prev-month,
|
||||
&.next-month {
|
||||
opacity: .25;
|
||||
}
|
||||
|
||||
.date-item {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
line-height: 1.4rem;
|
||||
color: #66758c;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
background: 0 0;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
|
||||
border-radius: $border-radius-pill;
|
||||
outline: 0;
|
||||
@include transition(background $transition-time, border $transition-time, box-shadow .32s, color $transition-time);
|
||||
|
||||
&:hover {
|
||||
color: var(--#{$prefix}primary);
|
||||
text-decoration: none;
|
||||
background: #fefeff;
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.date-today {
|
||||
color: var(--#{$prefix}primary);
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.calendar-range {
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
left: 0;
|
||||
height: 1.4rem;
|
||||
content: "";
|
||||
background: rgba(var(--#{$prefix}primary-rgb), .1);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
&.range-start,
|
||||
&.range-end {
|
||||
.date-item {
|
||||
color: $white;
|
||||
background: var(--#{$prefix}primary);
|
||||
border-color: var(--#{$prefix}primary);
|
||||
}
|
||||
}
|
||||
|
||||
&.range-start:before {
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
&.range-end:before {
|
||||
right: 50%;
|
||||
}
|
||||
}
|
||||
+595
@@ -0,0 +1,595 @@
|
||||
.card {
|
||||
@include transition(transform $transition-time ease-out, opacity $transition-time ease-out, box-shadow $transition-time ease-out);
|
||||
|
||||
@media print {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@at-root a#{&} {
|
||||
color: inherit;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
box-shadow: $box-shadow-card-hover;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Card borderless
|
||||
.card-borderless {
|
||||
&,
|
||||
.card-header,
|
||||
.card-footer {
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// Card stamp
|
||||
.card-stamp {
|
||||
--#{$prefix}stamp-size: 7rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: calc(var(--#{$prefix}stamp-size) * 1);
|
||||
height: calc(var(--#{$prefix}stamp-size) * 1);
|
||||
max-height: 100%;
|
||||
border-top-right-radius: $border-radius;
|
||||
opacity: $card-stamp-opacity;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.card-stamp-lg {
|
||||
--#{$prefix}stamp-size: 13rem;
|
||||
}
|
||||
|
||||
.card-stamp-icon {
|
||||
background: var(--#{$prefix}secondary);
|
||||
color: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: $border-radius-pill;
|
||||
width: calc(var(--#{$prefix}stamp-size) * 1);
|
||||
height: calc(var(--#{$prefix}stamp-size) * 1);
|
||||
position: relative;
|
||||
top: calc(var(--#{$prefix}stamp-size) * -.25);
|
||||
right: calc(var(--#{$prefix}stamp-size) * -.25);
|
||||
font-size: calc(var(--#{$prefix}stamp-size) * .75);
|
||||
transform: rotate(10deg);
|
||||
|
||||
.icon {
|
||||
stroke-width: 2;
|
||||
width: calc(var(--#{$prefix}stamp-size) * .75);
|
||||
height: calc(var(--#{$prefix}stamp-size) * .75);
|
||||
}
|
||||
}
|
||||
|
||||
// Card image
|
||||
.card-img,
|
||||
.card-img-start {
|
||||
@include border-start-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card-img,
|
||||
.card-img-end {
|
||||
@include border-end-radius($card-inner-border-radius);
|
||||
}
|
||||
|
||||
.card-img-overlay {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.card-img-overlay-dark {
|
||||
background-image: $overlay-gradient;
|
||||
}
|
||||
|
||||
.card-inactive {
|
||||
pointer-events: none;
|
||||
box-shadow: none;
|
||||
|
||||
.card-body {
|
||||
opacity: .64;
|
||||
}
|
||||
}
|
||||
|
||||
.card-active {
|
||||
--#{$prefix}card-border-color: var(--#{$prefix}primary);
|
||||
--#{$prefix}card-bg: var(--#{$prefix}active-bg);
|
||||
}
|
||||
|
||||
.card-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: $card-spacer-y $card-spacer-x;
|
||||
text-align: center;
|
||||
@include transition(background $transition-time);
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
flex: 1;
|
||||
color: inherit;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
background: $active-bg;
|
||||
}
|
||||
|
||||
& + & {
|
||||
border-left: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Stacked card
|
||||
*/
|
||||
.card-stacked {
|
||||
--#{$prefix}card-stacked-offset: .25rem;
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: calc(-1 * var(--#{$prefix}card-stacked-offset));
|
||||
right: var(--#{$prefix}card-stacked-offset);
|
||||
left: var(--#{$prefix}card-stacked-offset);
|
||||
height: var(--#{$prefix}card-stacked-offset);
|
||||
content: "";
|
||||
background: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}card-border-color);
|
||||
border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-cover {
|
||||
position: relative;
|
||||
padding: $card-spacer-y $card-spacer-x;
|
||||
background: #666666 no-repeat center/cover;
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
content: "";
|
||||
background: rgba($dark, .48);
|
||||
}
|
||||
|
||||
&:first-child,
|
||||
&:first-child:before {
|
||||
border-radius: $border-radius $border-radius 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-cover-blurred {
|
||||
&:before {
|
||||
backdrop-filter: blur(2px);
|
||||
}
|
||||
}
|
||||
|
||||
.card-actions {
|
||||
margin: -.5rem -.5rem -.5rem auto;
|
||||
padding-left: .5rem;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
// Card header
|
||||
.card-header {
|
||||
color: inherit;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: transparent;
|
||||
|
||||
&:first-child {
|
||||
border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-header-light {
|
||||
border-bottom-color: transparent;
|
||||
background: var(--#{$prefix}bg-surface-tertiary);
|
||||
}
|
||||
|
||||
.card-header-tabs {
|
||||
background: $card-header-tabs-bg;
|
||||
flex: 1;
|
||||
margin: calc(var(--#{$prefix}card-cap-padding-y) * -1) calc(var(--#{$prefix}card-cap-padding-x) * -1) calc(var(--#{$prefix}card-cap-padding-y) * -1);
|
||||
padding: calc(var(--#{$prefix}card-cap-padding-y) * .5) calc(var(--#{$prefix}card-cap-padding-x) * .5) 0;
|
||||
border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
|
||||
}
|
||||
|
||||
.card-header-pills {
|
||||
flex: 1;
|
||||
margin-top: -.5rem;
|
||||
margin-bottom: -.5rem;
|
||||
}
|
||||
|
||||
// Card rotate
|
||||
.card-rotate-left {
|
||||
transform: rotate(-1.5deg);
|
||||
}
|
||||
|
||||
.card-rotate-right {
|
||||
transform: rotate(1.5deg);
|
||||
}
|
||||
|
||||
// Card link
|
||||
.card-link {
|
||||
color: inherit;
|
||||
|
||||
&:hover {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, .08);
|
||||
}
|
||||
}
|
||||
|
||||
.card-link-rotate:hover {
|
||||
transform: rotate(1.5deg);
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.card-link-pop:hover {
|
||||
transform: translateY(-2px);
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
// Card footer
|
||||
.card-footer {
|
||||
margin-top: auto;
|
||||
|
||||
&:last-child {
|
||||
border-radius: 0 0 var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius);
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer-transparent {
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.card-footer-borderless {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
// Card progress
|
||||
.card-progress {
|
||||
height: .25rem;
|
||||
|
||||
&:last-child {
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-radius: 2px 2px 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-meta {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.card-title {
|
||||
display: block;
|
||||
margin: 0 0 1rem;
|
||||
font-size: $h3-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
color: $headings-color;
|
||||
line-height: 1.5rem;
|
||||
|
||||
@at-root a#{&}:hover {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.card-header & {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-subtitle {
|
||||
margin-bottom: $card-title-spacer-y;
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-weight: normal;
|
||||
|
||||
.card-header & {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.card-title & {
|
||||
margin: 0 0 0 .25rem;
|
||||
font-size: $h4-font-size;
|
||||
}
|
||||
}
|
||||
|
||||
.card-body {
|
||||
position: relative;
|
||||
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-sm > & {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.card-md > & {
|
||||
@include media-breakpoint-up(md) {
|
||||
padding: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.card-lg > & {
|
||||
@include media-breakpoint-up(md) {
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
padding: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
& + & {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.card-body-scrollable {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
Card optinos
|
||||
*/
|
||||
.card-options {
|
||||
top: 1.5rem;
|
||||
right: .75rem;
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.card-options-link {
|
||||
display: inline-block;
|
||||
min-width: 1rem;
|
||||
margin-left: .25rem;
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Card status
|
||||
*/
|
||||
.card-status-top {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
height: $card-status-size;
|
||||
border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
|
||||
}
|
||||
|
||||
.card-status-start {
|
||||
position: absolute;
|
||||
right: auto;
|
||||
bottom: 0;
|
||||
width: $card-status-size;
|
||||
height: 100%;
|
||||
border-radius: var(--#{$prefix}card-border-radius) 0 0 var(--#{$prefix}card-border-radius);
|
||||
}
|
||||
|
||||
.card-status-bottom {
|
||||
position: absolute;
|
||||
top: initial;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: $card-status-size;
|
||||
border-radius: 0 0 var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius);
|
||||
}
|
||||
|
||||
/**
|
||||
Card table
|
||||
*/
|
||||
.card-table {
|
||||
margin-bottom: 0 !important;
|
||||
|
||||
tr {
|
||||
td,
|
||||
th {
|
||||
&:first-child {
|
||||
padding-left: $card-spacer-x;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-right: $card-spacer-x;
|
||||
border-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
thead,
|
||||
tbody,
|
||||
tfoot {
|
||||
tr {
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
|
||||
td,
|
||||
th {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-body + & {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}table-border-color);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Card code
|
||||
*/
|
||||
.card-code {
|
||||
padding: 0;
|
||||
|
||||
.highlight {
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 0 !important;
|
||||
border: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Card chart
|
||||
*/
|
||||
.card-chart {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 3.5rem;
|
||||
}
|
||||
|
||||
/**
|
||||
Card avatar
|
||||
*/
|
||||
.card-avatar {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
box-shadow: 0 0 0 .25rem var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
margin-top: calc(-1 * calc(var(--#{$prefix}avatar-size) * .5));
|
||||
}
|
||||
|
||||
/*
|
||||
Card list group
|
||||
*/
|
||||
.card-list-group {
|
||||
.card-body + & {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
padding-right: $card-spacer-x;
|
||||
padding-left: $card-spacer-x;
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
border-radius: 0;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Card tabs
|
||||
.card-tabs {
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
z-index: $zindex-dropdown;
|
||||
border-bottom: 0;
|
||||
|
||||
.nav-link {
|
||||
background: $card-cap-bg;
|
||||
border: $card-border-width var(--#{$prefix}border-style) $card-border-color;
|
||||
|
||||
&.active,
|
||||
&:active,
|
||||
&:hover {
|
||||
border-color: $card-border-color;
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $headings-color;
|
||||
background: var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
&:not(:first-child) {
|
||||
.nav-link {
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
.nav-link {
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
+ .nav-item {
|
||||
margin-left: calc(-1 * #{$card-border-width});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-tabs-bottom {
|
||||
margin-bottom: 0;
|
||||
|
||||
.nav-link {
|
||||
margin-bottom: 0;
|
||||
|
||||
&.active {
|
||||
border-top-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
margin-top: calc(-1 * #{$card-border-width});
|
||||
margin-bottom: 0;
|
||||
|
||||
.nav-link {
|
||||
border-bottom: $card-border-width var(--#{$prefix}border-style) $card-border-color;
|
||||
border-radius: 0 0 $card-border-radius $card-border-radius;
|
||||
}
|
||||
|
||||
&:not(:first-child) .nav-link {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
&:not(:last-child) .nav-link {
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.nav-tabs + .tab-content .card {
|
||||
border-bottom-left-radius: var(--#{$prefix}card-border-radius);
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Card note
|
||||
*/
|
||||
.card-note {
|
||||
--#{$prefix}card-bg: #fff7dd;
|
||||
--#{$prefix}card-border-color: #fff1c9;
|
||||
}
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
.carousel {
|
||||
|
||||
}
|
||||
|
||||
.carousel-indicators-vertical {
|
||||
left: auto;
|
||||
top: 0;
|
||||
margin: 0 1rem 0 0;
|
||||
flex-direction: column;
|
||||
|
||||
[data-bs-target] {
|
||||
margin: $carousel-indicator-spacer 0 $carousel-indicator-spacer;
|
||||
width: $carousel-indicator-height;
|
||||
height: $carousel-indicator-width;
|
||||
border: 0;
|
||||
border-left: $carousel-indicator-hit-area-height var(--#{$prefix}border-style) transparent;
|
||||
border-right: $carousel-indicator-hit-area-height var(--#{$prefix}border-style) transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-indicators-dot {
|
||||
[data-bs-target] {
|
||||
width: $carousel-indicator-dot-width;
|
||||
height: $carousel-indicator-dot-width;
|
||||
border-radius: $border-radius-pill;
|
||||
border: $carousel-indicator-hit-area-height var(--#{$prefix}border-style) transparent;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-indicators-thumb {
|
||||
[data-bs-target] {
|
||||
width: $carousel-indicator-thumb-width * .5;
|
||||
height: auto;
|
||||
background: no-repeat center/cover;
|
||||
border: 0;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
box-shadow: $box-shadow;
|
||||
margin: 0 $carousel-indicator-spacer;
|
||||
opacity: $carousel-indicator-thumb-opacity;
|
||||
|
||||
@include media-breakpoint-up(lg) {
|
||||
width: $carousel-indicator-thumb-width;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
padding-top: var(--#{$prefix}aspect-ratio, 100%);
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
&.carousel-indicators-vertical {
|
||||
[data-bs-target] {
|
||||
margin: $carousel-indicator-spacer 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-caption-background {
|
||||
background: red;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 90%;
|
||||
background: linear-gradient(0deg, rgba($dark, .9), rgba($dark, 0));
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
.chart {
|
||||
display: block;
|
||||
min-height: 10rem;
|
||||
|
||||
text {
|
||||
font-family: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.chart-sm {
|
||||
height: 2.5rem;
|
||||
}
|
||||
|
||||
.chart-lg {
|
||||
height: 15rem;
|
||||
}
|
||||
|
||||
.chart-square {
|
||||
height: 5.75rem;
|
||||
}
|
||||
|
||||
/**
|
||||
Chart sparkline
|
||||
*/
|
||||
.chart-sparkline {
|
||||
position: relative;
|
||||
width: 4rem;
|
||||
height: 2.5rem;
|
||||
line-height: 1;
|
||||
min-height: 0 !important;
|
||||
}
|
||||
|
||||
.chart-sparkline-sm {
|
||||
height: 1.5rem;
|
||||
}
|
||||
|
||||
.chart-sparkline-square {
|
||||
width: 2.5rem;
|
||||
}
|
||||
|
||||
.chart-sparkline-wide {
|
||||
width: 6rem;
|
||||
}
|
||||
|
||||
.chart-sparkline-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: $h6-font-size;
|
||||
|
||||
.icon {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
.chat {
|
||||
}
|
||||
|
||||
.chat-bubbles {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.chat-bubble {
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
border-radius: var(--#{$prefix}border-radius-lg);
|
||||
padding: 1rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.chat-bubble-me {
|
||||
background-color: var(--#{$prefix}primary-lt);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.chat-bubble-title {
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
.chat-bubble-author {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.chat-bubble-date {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.chat-bubble-body {
|
||||
> *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
.btn-close {
|
||||
--#{$prefix}btn-close-color: currentColor;
|
||||
--#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
|
||||
--#{$prefix}btn-close-opacity: #{$btn-close-opacity};
|
||||
--#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
|
||||
--#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
|
||||
--#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
|
||||
--#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
|
||||
--#{$prefix}btn-close-size: #{$btn-close-width};
|
||||
|
||||
width: var(--#{$prefix}btn-close-size);
|
||||
height: var(--#{$prefix}btn-close-size);
|
||||
padding: $btn-close-padding-y $btn-close-padding-x;
|
||||
color: var(--#{$prefix}btn-close-color);
|
||||
mask: var(--#{$prefix}btn-close-bg) no-repeat center/calc(var(--#{$prefix}btn-close-size) * .75);
|
||||
background-color: var(--#{$prefix}btn-close-color);
|
||||
border: 0;
|
||||
border-radius: var(--tblr-border-radius);
|
||||
opacity: var(--#{$prefix}btn-close-opacity);
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
|
||||
&:hover {
|
||||
color: var(--#{$prefix}btn-close-color);
|
||||
text-decoration: none;
|
||||
opacity: var(--#{$prefix}btn-close-hover-opacity);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: 0;
|
||||
box-shadow: var(--#{$prefix}btn-close-focus-shadow);
|
||||
opacity: var(--#{$prefix}btn-close-focus-opacity);
|
||||
}
|
||||
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
pointer-events: none;
|
||||
user-select: none;
|
||||
opacity: var(--#{$prefix}btn-close-disabled-opacity);
|
||||
}
|
||||
}
|
||||
|
||||
// @mixin btn-close-white() {
|
||||
// --#{$prefix}btn-close-filter: #{$btn-close-filter-dark};
|
||||
// }
|
||||
|
||||
// .btn-close-white {
|
||||
// @include btn-close-white();
|
||||
// }
|
||||
|
||||
// :root,
|
||||
// [data-bs-theme="light"] {
|
||||
// --#{$prefix}btn-close-filter: #{$btn-close-filter};
|
||||
// }
|
||||
|
||||
// @if $enable-dark-mode {
|
||||
// @include color-mode(dark, true) {
|
||||
// @include btn-close-white();
|
||||
// }
|
||||
// }
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// Base styles
|
||||
//
|
||||
|
||||
.datagrid {
|
||||
--#{$prefix}datagrid-padding: #{$datagrid-padding};
|
||||
--#{$prefix}datagrid-item-width: #{$datagrid-item-width};
|
||||
|
||||
display: grid;
|
||||
grid-gap: var(--#{$prefix}datagrid-padding);
|
||||
grid-template-columns: repeat(auto-fit, minmax(var(--#{$prefix}datagrid-item-width), 1fr));
|
||||
}
|
||||
|
||||
.datagrid-title {
|
||||
@include subheader;
|
||||
margin-bottom: .25rem;
|
||||
}
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
.dropdown-menu {
|
||||
user-select: none;
|
||||
background-clip: border-box;
|
||||
|
||||
&.card {
|
||||
padding: 0;
|
||||
min-width: $dropdown-max-width;
|
||||
display: none;
|
||||
|
||||
&.show {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
min-width: $dropdown-min-width;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0;
|
||||
line-height: $line-height-base;
|
||||
gap: .5rem;
|
||||
}
|
||||
|
||||
.dropdown-item-icon {
|
||||
width: $icon-size !important;
|
||||
height: $icon-size !important;
|
||||
margin-right: .5rem;
|
||||
color: var(--#{$prefix}secondary);
|
||||
opacity: $text-secondary-opacity;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dropdown-item-indicator {
|
||||
margin-right: .5rem;
|
||||
margin-left: -.25rem;
|
||||
height: 1.25rem;
|
||||
display: inline-flex;
|
||||
line-height: 1;
|
||||
vertical-align: bottom;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.dropdown-header {
|
||||
@include subheader;
|
||||
padding-bottom: .25rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.dropdown-menu-scrollable {
|
||||
height: auto;
|
||||
max-height: $dropdown-scrollable-height;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.dropdown-menu-column {
|
||||
min-width: $dropdown-min-width;
|
||||
|
||||
.dropdown-item {
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu-columns {
|
||||
display: flex;
|
||||
flex: 0 .25rem;
|
||||
}
|
||||
|
||||
.dropdown-menu-arrow {
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: -.25rem;
|
||||
left: .75rem;
|
||||
display: block;
|
||||
background: inherit;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
/*rtl:ignore*/
|
||||
transform: rotate(45deg);
|
||||
transform-origin: center;
|
||||
border: 1px solid;
|
||||
border-color: inherit;
|
||||
z-index: -1;
|
||||
clip: rect(0px, 9px, 9px, 0px);
|
||||
}
|
||||
|
||||
&.dropdown-menu-end {
|
||||
&:before {
|
||||
right: .75rem;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropend {
|
||||
> .dropdown-menu {
|
||||
margin-top: subtract(-$dropdown-padding-y, 1px);
|
||||
margin-left: -.25rem;
|
||||
}
|
||||
|
||||
.dropdown-toggle {
|
||||
&:after {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-menu-card {
|
||||
padding: 0;
|
||||
min-width: 20rem;
|
||||
|
||||
> .card {
|
||||
margin: 0;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
.empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
padding: 1rem;
|
||||
text-align: center;
|
||||
|
||||
@include media-breakpoint-up(md) {
|
||||
padding: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
.empty-icon {
|
||||
margin: 0 0 1rem;
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
line-height: 1;
|
||||
color: var(--#{$prefix}secondary);
|
||||
|
||||
svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.empty-img {
|
||||
margin: 0 0 2rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.empty-header {
|
||||
margin: 0 0 1rem;
|
||||
font-size: 4rem;
|
||||
font-weight: var(--#{$prefix}font-weight-light);
|
||||
line-height: 1;
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.empty-title {
|
||||
font-size: $h2-font-size;
|
||||
line-height: $h2-line-height;
|
||||
font-weight: $headings-font-weight;
|
||||
}
|
||||
|
||||
.empty-title,
|
||||
.empty-subtitle {
|
||||
margin: 0 0 .5rem;
|
||||
}
|
||||
|
||||
.empty-action {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
|
||||
.empty-bordered {
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
$countries: (
|
||||
'ad', 'af', 'ae', 'afrun', 'ag', 'ai', 'al', 'am', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bl', 'bm', 'bn', 'bo', 'bq-bo', 'bq-sa', 'bq-se', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cw', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb-eng', 'gb-sct', 'gb', 'gb-wls', 'gb-nir', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mf', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 'rainbow', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'sv', 'sx', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'um', 'unasur', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'za', 'zm', 'zw'
|
||||
);
|
||||
|
||||
.flag {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: $avatar-size;
|
||||
aspect-ratio: 1.33333;
|
||||
background: no-repeat center/cover;
|
||||
box-shadow: $flag-box-shadow;
|
||||
border-radius: $flag-border-radius;
|
||||
vertical-align: bottom;
|
||||
|
||||
&.flag-country-np {
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@each $country in $countries {
|
||||
.flag-country-#{$country} {
|
||||
background-image: url("#{$assets-base}/img/flags/#{$country}.svg");
|
||||
}
|
||||
}
|
||||
|
||||
@each $flag-size, $size in $flag-sizes {
|
||||
.flag-#{$flag-size} {
|
||||
height: map-get($size, size);
|
||||
}
|
||||
}
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
textarea {
|
||||
&[cols] {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Form label
|
||||
*/
|
||||
.col-form-label,
|
||||
.form-label {
|
||||
display: block;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
|
||||
&.required {
|
||||
&:after {
|
||||
content: "*";
|
||||
margin-left: .25rem;
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-label-description {
|
||||
float: right;
|
||||
font-weight: var(--#{$prefix}font-weight-normal);
|
||||
color: $form-secondary-color;
|
||||
}
|
||||
|
||||
/**
|
||||
Form hint
|
||||
*/
|
||||
.form-hint {
|
||||
display: block;
|
||||
color: $form-secondary-color;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
& + .form-control {
|
||||
margin-top: .25rem;
|
||||
}
|
||||
|
||||
.form-label + & {
|
||||
margin-top: -.25rem;
|
||||
}
|
||||
|
||||
.input-group + &,
|
||||
.form-control + &,
|
||||
.form-select + & {
|
||||
margin-top: .5rem;
|
||||
color: $form-secondary-color;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Form select
|
||||
*/
|
||||
.form-select {
|
||||
&:-moz-focusring {
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Form control
|
||||
*/
|
||||
.form-control {
|
||||
&:-webkit-autofill {
|
||||
box-shadow: 0 0 0 1000px var(--#{$prefix}bg-surface-secondary) inset;
|
||||
color: var(--#{$prefix}body-color);
|
||||
-webkit-text-fill-color: var(--#{$prefix}body-color);
|
||||
}
|
||||
|
||||
&:disabled,
|
||||
&.disabled {
|
||||
color: $form-secondary-color;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
&[size] {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.form-control-light {
|
||||
background-color: var(--#{$prefix}gray-100);
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.form-control-dark {
|
||||
background-color: rgba($black, .1);
|
||||
color: $white;
|
||||
border-color: transparent;
|
||||
|
||||
&:focus {
|
||||
background-color: rgba($black, .1);
|
||||
box-shadow: none;
|
||||
border-color: rgba($white, .24);
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: rgba($white, .6);
|
||||
}
|
||||
}
|
||||
|
||||
.form-control-rounded {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
|
||||
.form-control-flush {
|
||||
padding: 0;
|
||||
background: none !important;
|
||||
border-color: transparent !important;
|
||||
resize: none;
|
||||
box-shadow: none !important;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.form-footer {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.form-fieldset {
|
||||
padding: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
|
||||
fieldset:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
Form help
|
||||
*/
|
||||
.form-help {
|
||||
display: inline-flex;
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.125rem;
|
||||
height: 1.125rem;
|
||||
font-size: .75rem;
|
||||
color: $form-secondary-color;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
background: var(--#{$prefix}gray-100);
|
||||
border-radius: $border-radius-pill;
|
||||
@include transition(background-color $transition-time, color $transition-time);
|
||||
|
||||
&:hover,
|
||||
&[aria-describedby] {
|
||||
color: $white;
|
||||
background: var(--#{$prefix}primary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Input group
|
||||
*/
|
||||
.input-group {
|
||||
box-shadow: $input-box-shadow;
|
||||
border-radius: $input-border-radius;
|
||||
|
||||
.form-control,
|
||||
.btn {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.input-group-link {
|
||||
font-size: $h5-font-size;
|
||||
}
|
||||
|
||||
.input-group-flat {
|
||||
&:focus-within {
|
||||
box-shadow: $input-focus-box-shadow;
|
||||
border-radius: $input-border-radius;
|
||||
|
||||
.form-control,
|
||||
.input-group-text {
|
||||
border-color: $input-focus-border-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
.form-control {
|
||||
&:focus {
|
||||
border-color: $input-border-color;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
&:not(:first-child) {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
background: $form-check-input-bg;
|
||||
@include transition($input-transition);
|
||||
|
||||
&:first-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Upload files
|
||||
*/
|
||||
.form-file-button {
|
||||
margin-left: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Floating inputs
|
||||
*/
|
||||
// Fix for the bug in twbs/bootstrap v5.3.3. Issue #39080. Should be fixed in v5.3.4
|
||||
label[for="floating-input"] {
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/**
|
||||
Forms on mobile devices
|
||||
*/
|
||||
.form-control,
|
||||
.form-select {
|
||||
@include media-breakpoint-down(sm) {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
.row > * {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.col-separator {
|
||||
border-left: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
.container {
|
||||
@each $variation, $size in $container-variations {
|
||||
&-#{$variation} {
|
||||
@include make-container();
|
||||
max-width: $size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $value in (0: 0, sm: .375rem, md: 1.5rem, lg: 3rem) {
|
||||
.row-#{$name} {
|
||||
margin-right: (-$value);
|
||||
margin-left: -($value);
|
||||
|
||||
> .col,
|
||||
> [class*="col-"] {
|
||||
padding-right: $value;
|
||||
padding-left: $value;
|
||||
}
|
||||
|
||||
.card {
|
||||
margin-bottom: 2 * $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.row-deck {
|
||||
> .col,
|
||||
> [class*="col-"] {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
|
||||
.card {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.row-cards {
|
||||
--#{$prefix}gutter-x: #{$cards-grid-gap};
|
||||
--#{$prefix}gutter-y: #{$cards-grid-gap};
|
||||
min-width: 0;
|
||||
|
||||
.row-cards {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $size in map-merge((null: $spacer), $spacers) {
|
||||
$name-prefixed: if($name == null, null, '-#{$name}');
|
||||
|
||||
.space-y#{$name-prefixed} {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: $size;
|
||||
}
|
||||
|
||||
.space-x#{$name-prefixed} {
|
||||
display: flex;
|
||||
gap: $size;
|
||||
}
|
||||
}
|
||||
|
||||
@each $name, $size in map-merge((null: $spacer), $spacers) {
|
||||
$name-prefixed: if($name == null, null, '-#{$name}');
|
||||
|
||||
.divide-y#{$name-prefixed} {
|
||||
> :not(template) ~ :not(template) {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color-translucent) !important;
|
||||
}
|
||||
|
||||
> :not(template):not(:first-child) {
|
||||
padding-top: $size !important;
|
||||
}
|
||||
|
||||
> :not(template):not(:last-child) {
|
||||
padding-bottom: $size !important;
|
||||
}
|
||||
}
|
||||
|
||||
.divide-x#{$name-prefixed} {
|
||||
> :not(template) ~ :not(template) {
|
||||
border-left: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color-translucent) !important;
|
||||
}
|
||||
|
||||
> :not(template):not(:first-child) {
|
||||
padding-left: $size !important;
|
||||
}
|
||||
|
||||
> :not(template):not(:last-child) {
|
||||
padding-right: $size !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.divide-y-fill {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
|
||||
> :not(template) {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// Icon component
|
||||
//
|
||||
.icon {
|
||||
--#{$prefix}icon-size: #{$font-size-base * $line-height-base};
|
||||
width: var(--#{$prefix}icon-size);
|
||||
height: var(--#{$prefix}icon-size);
|
||||
font-size: var(--#{$prefix}icon-size);
|
||||
vertical-align: bottom;
|
||||
|
||||
@if $icon-stroke-width {
|
||||
stroke-width: $icon-stroke-width;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Inline icon
|
||||
//
|
||||
.icon-inline {
|
||||
--#{$prefix}icon-size: 1rem;
|
||||
vertical-align: -.2rem;
|
||||
}
|
||||
|
||||
//
|
||||
// Filled icon
|
||||
//
|
||||
.icon-filled {
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
//
|
||||
// Icon size
|
||||
//
|
||||
.icon-sm {
|
||||
--#{$prefix}icon-size: 1rem;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
.icon-md {
|
||||
--#{$prefix}icon-size: 2.5rem;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
.icon-lg {
|
||||
--#{$prefix}icon-size: 3.5rem;
|
||||
stroke-width: 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Icons animation
|
||||
//
|
||||
.icon-pulse {
|
||||
transition: all .15s ease 0s;
|
||||
animation: pulse 2s ease infinite;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
|
||||
.icon-tada {
|
||||
transition: all .15s ease 0s;
|
||||
animation: tada 3s ease infinite;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
|
||||
.icon-rotate {
|
||||
transition: all .15s ease 0s;
|
||||
animation: rotate-360 3s linear infinite;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
.img-responsive {
|
||||
--#{$prefix}img-responsive-ratio: #{percentage(.75)};
|
||||
background: no-repeat center/cover;
|
||||
padding-top: var(--#{$prefix}img-responsive-ratio);
|
||||
}
|
||||
|
||||
.img-responsive-grid {
|
||||
padding-top: calc(var(--#{$prefix}img-responsive-ratio) - calc(var(--#{$prefix}gutter-y) / 2));
|
||||
}
|
||||
|
||||
@each $key, $ratio in $aspect-ratios {
|
||||
.img-responsive-#{$key} {
|
||||
--#{$prefix}img-responsive-ratio: #{$ratio};
|
||||
}
|
||||
}
|
||||
|
||||
.img-bg {
|
||||
background: no-repeat center/cover;
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
Legend
|
||||
*/
|
||||
.legend {
|
||||
--#{$prefix}legend-size: #{$legend-size};
|
||||
display: inline-block;
|
||||
background: $legend-bg;
|
||||
width: var(--#{$prefix}legend-size);
|
||||
height: var(--#{$prefix}legend-size);
|
||||
border-radius: $legend-border-radius;
|
||||
border: 1px solid var(--#{$prefix}border-color-translucent);
|
||||
}
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
.list-group {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.list-group-header {
|
||||
background: $list-group-header-bg;
|
||||
padding: .5rem $list-group-item-padding-x;
|
||||
font-size: $h5-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
line-height: 1;
|
||||
text-transform: uppercase;
|
||||
color: $list-group-header-color;
|
||||
border-bottom: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
|
||||
.list-group-flush > & {
|
||||
&:last-child {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.list-group-item.active {
|
||||
background-color: $dropdown-link-hover-bg;
|
||||
border-left-color: $component-active-bg;
|
||||
border-left-width: $border-width-wide;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
&:active,
|
||||
&:focus,
|
||||
&:hover {
|
||||
background-color: $dropdown-link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
&.disabled,
|
||||
&:disabled {
|
||||
color: $gray-500;
|
||||
background-color: $dropdown-link-hover-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.list-bordered {
|
||||
.list-item {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
margin-top: -1px;
|
||||
|
||||
&:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-group-hoverable {
|
||||
.list-group-item-actions {
|
||||
opacity: 0;
|
||||
@include transition(opacity $transition-time);
|
||||
}
|
||||
|
||||
.list-group-item:hover .list-group-item-actions,
|
||||
.list-group-item-actions.show {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.list-group-transparent {
|
||||
--#{$prefix}list-group-border-radius: 0;
|
||||
margin: 0 (- $list-group-item-padding-x);
|
||||
|
||||
.list-group-item {
|
||||
background: none;
|
||||
border: 0;
|
||||
|
||||
.icon {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
color: inherit;
|
||||
background: $list-group-active-bg;
|
||||
|
||||
.icon {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Seprated list
|
||||
*/
|
||||
.list-separated {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: $spacer;
|
||||
}
|
||||
|
||||
/**
|
||||
Inline list
|
||||
*/
|
||||
.list-inline {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.list-inline-item:not(:last-child) {
|
||||
margin-right: auto;
|
||||
margin-inline-end: $list-inline-padding;
|
||||
}
|
||||
|
||||
.list-inline-dots {
|
||||
.list-inline-item + .list-inline-item:before {
|
||||
content: ' · ';
|
||||
margin-inline-end: $list-inline-padding;
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
.loader {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: $loader-size;
|
||||
height: $loader-size;
|
||||
color: $blue;
|
||||
vertical-align: middle;
|
||||
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
content: "";
|
||||
border: 1px var(--#{$prefix}border-style);
|
||||
border-color: transparent;
|
||||
border-top-color: currentColor;
|
||||
border-left-color: currentColor;
|
||||
|
||||
border-radius: $border-radius-pill;
|
||||
animation: rotate-360 .6s linear;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Dimmer
|
||||
*/
|
||||
.dimmer {
|
||||
position: relative;
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
margin: 0 auto;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.loader {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dimmer-content {
|
||||
pointer-events: none;
|
||||
opacity: .1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@keyframes animated-dots {
|
||||
0% {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
}
|
||||
|
||||
.animated-dots {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
vertical-align: bottom;
|
||||
|
||||
&:after {
|
||||
display: inline-block;
|
||||
content: "...";
|
||||
animation: animated-dots 1.2s steps(4, jump-none) infinite;
|
||||
}
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
//.col-login {
|
||||
// max-width: 24rem;
|
||||
//}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
Markdown
|
||||
*/
|
||||
.markdown {
|
||||
line-height: $line-height-xl;
|
||||
|
||||
> :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
> :last-child,
|
||||
> :last-child .highlight {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
> hr {
|
||||
@include media-breakpoint-up(md) {
|
||||
margin-top: 3em;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
}
|
||||
|
||||
> {
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
margin-top: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
> table {
|
||||
font-size: var(--#{$prefix}body-font-size);
|
||||
@extend .table, .table-bordered, .table-sm;
|
||||
}
|
||||
|
||||
> blockquote {
|
||||
font-size: $h3-font-size;
|
||||
margin: 1.5rem 0;
|
||||
padding: .5rem 1.5rem;
|
||||
}
|
||||
|
||||
> img,
|
||||
> p > img {
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
border: 1px solid var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
pre {
|
||||
max-height: 20rem;
|
||||
}
|
||||
}
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
.modal-content, .modal-header {
|
||||
> .btn-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: $modal-header-height;
|
||||
height: $modal-header-height;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
@include scrollbar;
|
||||
|
||||
.modal-title {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
& + & {
|
||||
border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.modal-status {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: $modal-status-size;
|
||||
background: var(--#{$prefix}secondary);
|
||||
border-radius: $modal-content-border-radius $modal-content-border-radius 0 0;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
align-items: center;
|
||||
min-height: $modal-header-height;
|
||||
background: $modal-header-bg;
|
||||
padding: 0 $modal-header-height 0 $modal-inner-padding;
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
font-size: $h3-font-size;
|
||||
font-weight: $headings-font-weight;
|
||||
color: $headings-color;
|
||||
line-height: $line-height-base;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
@if $modal-footer-border-width == 0 {
|
||||
padding-top: 0;
|
||||
} @else {
|
||||
padding-top: .75rem;
|
||||
}
|
||||
|
||||
padding-bottom: .75rem;
|
||||
}
|
||||
|
||||
.modal-blur {
|
||||
backdrop-filter: blur($modal-backdrop-blur);
|
||||
}
|
||||
|
||||
.modal-full-width {
|
||||
max-width: none;
|
||||
margin: 0 $modal-dialog-margin;
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
.nav {
|
||||
--#{$prefix}nav-link-hover-bg: #{color-transparent(var(--#{$prefix}nav-link-color), 0.04)};
|
||||
}
|
||||
|
||||
.nav-vertical {
|
||||
&,
|
||||
.nav {
|
||||
flex-direction: column;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.nav {
|
||||
margin-left: 1.25rem;
|
||||
border-left: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
padding-left: .5rem;
|
||||
}
|
||||
|
||||
.nav-link.active,
|
||||
.nav-item.show .nav-link {
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
color: var(--#{$prefix}nav-link-active-color);
|
||||
}
|
||||
|
||||
&.nav-pills {
|
||||
margin: 0 (-$nav-link-padding-x);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Nav bordered
|
||||
//
|
||||
.nav-bordered {
|
||||
border-bottom: $nav-bordered-border-width var(--#{$prefix}border-style) $nav-bordered-border-color;
|
||||
|
||||
.nav-item {
|
||||
+ .nav-item {
|
||||
margin-left: $nav-bordered-margin-x;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
margin: 0 0 calc(-1 * #{$nav-bordered-border-width});
|
||||
border: 0;
|
||||
border-bottom: $nav-bordered-link-active-border-width var(--#{$prefix}border-style) transparent;
|
||||
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link.active,
|
||||
.nav-item.show .nav-link {
|
||||
color: $nav-bordered-link-active-color;
|
||||
border-color: $nav-bordered-link-active-border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-underline {
|
||||
.nav-link {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
display: flex;
|
||||
@include transition(color $transition-time, background-color $transition-time);
|
||||
align-items: center;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: var(--#{$prefix}nav-link-hover-bg);
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link-toggle {
|
||||
margin-left: auto;
|
||||
padding: 0 .25rem;
|
||||
@include transition(transform $transition-time);
|
||||
@include caret();
|
||||
|
||||
&:after {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@at-root .nav-link[aria-expanded="true"] & {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link-icon {
|
||||
width: $nav-link-icon-size;
|
||||
height: $nav-link-icon-size;
|
||||
margin-right: .5rem;
|
||||
color: $nav-link-icon-color;
|
||||
|
||||
svg {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-fill {
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
.offcanvas-header {
|
||||
border-bottom: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
.offcanvas-footer {
|
||||
padding: $offcanvas-padding-y $offcanvas-padding-x;
|
||||
}
|
||||
|
||||
.offcanvas-title {
|
||||
font-size: $h3-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.offcanvas-narrow {
|
||||
width: 20rem;
|
||||
}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
.pagination {
|
||||
margin: 0;
|
||||
--#{$prefix}pagination-gap: .25rem;
|
||||
user-select: none;
|
||||
gap: var(--#{$prefix}pagination-gap);
|
||||
line-height: var(--#{$prefix}body-line-height);
|
||||
}
|
||||
|
||||
.page-link {
|
||||
min-width: 2rem;
|
||||
border-radius: var(--#{$prefix}pagination-border-radius);
|
||||
|
||||
&:hover {
|
||||
background: var(--#{$prefix}pagination-hover-bg);
|
||||
}
|
||||
}
|
||||
|
||||
.page-text {
|
||||
padding-left: .5rem;
|
||||
padding-right: .5rem;
|
||||
}
|
||||
|
||||
.page-item {
|
||||
text-align: center;
|
||||
|
||||
&.page-prev,
|
||||
&.page-next {
|
||||
flex: 0 0 50%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&.page-next {
|
||||
margin-left: auto;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.page-item-subtitle {
|
||||
margin-bottom: 2px;
|
||||
font-size: 12px;
|
||||
color: var(--#{$prefix}secondary);
|
||||
text-transform: uppercase;
|
||||
|
||||
.page-item.disabled & {
|
||||
color: $pagination-disabled-color;
|
||||
}
|
||||
}
|
||||
|
||||
.page-item-title {
|
||||
font-size: $h3-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-normal);
|
||||
color: var(--#{$prefix}body-color);
|
||||
|
||||
.page-link:hover & {
|
||||
color: $link-color;
|
||||
}
|
||||
|
||||
.page-item.disabled & {
|
||||
color: $pagination-disabled-color;
|
||||
}
|
||||
}
|
||||
|
||||
.pagination-outline {
|
||||
--#{$prefix}pagination-border-color: var(--#{$prefix}border-color);
|
||||
--#{$prefix}pagination-disabled-border-color: var(--#{$prefix}border-color);
|
||||
--#{$prefix}pagination-border-width: 1px;
|
||||
}
|
||||
|
||||
.pagination-circle {
|
||||
--#{$prefix}pagination-border-radius: var(--tblr-border-radius-pill);
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
$payment-icons: ("2c2p", "2checkout", "adyen", "affirm", "alipay-plus", "alipay", "allegro-pay", "amazon-pay", "amazon", "americanexpress", "applepay", "authorize", "autopay", "bancontact", "binance-usd", "bitcoin", "bitpay", "bkash", "blik", "braintree", "cash-app", "chime", "cirrus", "clickandbuy", "coinkite", "dinersclub", "directdebit", "discover", "dotpay", "dwolla", "easypaisa", "ebay", "elo", "epayco", "esewa", "ethereum", "eway", "fonepay", "giropay", "google-pay", "googlewallet", "hubspot", "ingenico", "ideal", "imepay", "jcb", "khalti", "klarna", "laser", "litecoin", "maestro", "mastercard", "mercado-pago", "metamask", "mir", "monero", "moneygram", "neteller", "ogone", "okpay", "opensea", "paybox", "payconiq", "payka", "payline", "paymill", "payone", "payoneer", "paypal", "paypo", "paysafe", "paysafecard", "payu", "payza", "poli", "przelewy24", "revolut-pay", "ripple", "sage", "samsung-pay", "sepa", "shop-pay", "shopify", "skrill", "solana", "solo", "spingo", "square", "stax", "stripe", "switch", "tether", "tpay", "troy", "true-usd", "ukash", "unionpay", "venmo", "verifone", "verisign", "visa", "we-chat-pay", "webmoney", "westernunion", "wise", "worldpay", "zelle");
|
||||
|
||||
.payment {
|
||||
height: $avatar-size;
|
||||
aspect-ratio: 1.66666;
|
||||
display: inline-block;
|
||||
background: no-repeat center/100% 100%;
|
||||
vertical-align: bottom;
|
||||
font-style: normal;
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, .1);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
@each $payment in $payment-icons {
|
||||
.payment-provider-#{$payment} {
|
||||
background-image: url("#{$assets-base}/img/payments/#{$payment}.svg");
|
||||
}
|
||||
|
||||
.payment-provider-#{$payment}-dark {
|
||||
background-image: url("#{$assets-base}/img/payments/#{$payment}-dark.svg");
|
||||
}
|
||||
}
|
||||
|
||||
@each $payment-size, $size in $payment-sizes {
|
||||
.payment-#{$payment-size} {
|
||||
height: map-get($size, size);
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
.placeholder {
|
||||
&:not(.btn):not([class*="bg-"]) {
|
||||
background-color: currentColor !important;
|
||||
}
|
||||
|
||||
&:not(.avatar):not([class*="card-img-"]), {
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
.popover {
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
@keyframes progress-indeterminate {
|
||||
0% {
|
||||
right: 100%;
|
||||
left: -35%;
|
||||
}
|
||||
|
||||
100%,
|
||||
60% {
|
||||
right: -90%;
|
||||
left: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Progress
|
||||
*/
|
||||
.progress {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
line-height: $progress-height;
|
||||
appearance: none;
|
||||
|
||||
&::-webkit-progress-bar {
|
||||
background: var(--#{$prefix}progress-bg);
|
||||
}
|
||||
|
||||
&::-webkit-progress-value {
|
||||
background-color: var(--#{$prefix}primary);
|
||||
}
|
||||
|
||||
&::-moz-progress-bar {
|
||||
background-color: var(--#{$prefix}primary);
|
||||
}
|
||||
|
||||
&::-ms-fill {
|
||||
background-color: var(--#{$prefix}primary);
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-sm {
|
||||
height: .25rem;
|
||||
}
|
||||
|
||||
/**
|
||||
Progress bar
|
||||
*/
|
||||
.progress-bar {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.progress-bar-indeterminate {
|
||||
&:after,
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
content: "";
|
||||
background-color: inherit;
|
||||
will-change: left, right;
|
||||
}
|
||||
|
||||
&:before {
|
||||
animation: progress-indeterminate 1.5s cubic-bezier(.65, .815, .735, .395) infinite;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-separated {
|
||||
.progress-bar {
|
||||
box-shadow: 0 0 0 2px var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Progressbg
|
||||
*/
|
||||
.progressbg {
|
||||
position: relative;
|
||||
padding: .25rem .5rem;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.progressbg-text {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
@include text-truncate;
|
||||
}
|
||||
|
||||
.progressbg-progress {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 0;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.progressbg-value {
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
margin-left: auto;
|
||||
padding-left: 2rem;
|
||||
}
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
// stylelint-disable declaration-no-important
|
||||
|
||||
.ribbon {
|
||||
--#{$prefix}ribbon-margin: #{$card-ribbon-margin};
|
||||
--#{$prefix}ribbon-border-radius: #{$card-ribbon-border-radius};
|
||||
position: absolute;
|
||||
top: .75rem;
|
||||
right: calc(-1 * var(--#{$prefix}ribbon-margin));
|
||||
z-index: 1;
|
||||
padding: .25rem .75rem;
|
||||
font-size: $card-ribbon-font-size;
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
line-height: 1;
|
||||
color: $white;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
background: var(--#{$prefix}primary);
|
||||
border-color: var(--#{$prefix}primary);
|
||||
border-radius: var(--#{$prefix}ribbon-border-radius) 0 var(--#{$prefix}ribbon-border-radius) var(--#{$prefix}ribbon-border-radius);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 2rem;
|
||||
min-width: 2rem;
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 100%;
|
||||
width: 0;
|
||||
height: 0;
|
||||
content: "";
|
||||
filter: brightness(70%);
|
||||
border: calc(var(--#{$prefix}ribbon-margin) * .5) var(--#{$prefix}border-style);
|
||||
border-color: inherit;
|
||||
border-top-color: transparent;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
|
||||
@if $enable-extra-colors {
|
||||
@each $color, $value in $extra-colors {
|
||||
&.bg-#{$color} {
|
||||
border-color: var(--#{$prefix}#{$color});
|
||||
}
|
||||
|
||||
&.bg-#{$color}-lt {
|
||||
border-color: rgba(var(--#{$prefix}#{$color}-rgb), .1) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.ribbon-top {
|
||||
top: calc(-1 * var(--#{$prefix}ribbon-margin));
|
||||
right: .75rem;
|
||||
width: 2rem;
|
||||
padding: .5rem 0;
|
||||
border-radius: 0 var(--#{$prefix}ribbon-border-radius) var(--#{$prefix}ribbon-border-radius) var(--#{$prefix}ribbon-border-radius);
|
||||
|
||||
&:before {
|
||||
top: 0;
|
||||
right: 100%;
|
||||
bottom: auto;
|
||||
border-color: inherit;
|
||||
border-top-color: transparent;
|
||||
border-left-color: transparent;
|
||||
}
|
||||
|
||||
&.ribbon-start {
|
||||
right: auto;
|
||||
left: .75rem;
|
||||
|
||||
&:before {
|
||||
top: 0;
|
||||
right: 100%;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ribbon-start {
|
||||
right: auto;
|
||||
left: calc(-1 * var(--#{$prefix}ribbon-margin));
|
||||
border-radius: 0 var(--#{$prefix}ribbon-border-radius) var(--#{$prefix}ribbon-border-radius) var(--#{$prefix}ribbon-border-radius);
|
||||
|
||||
&:before {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
left: 0;
|
||||
border-color: inherit;
|
||||
border-top-color: transparent;
|
||||
border-left-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.ribbon-bottom {
|
||||
top: auto;
|
||||
bottom: .75rem;
|
||||
}
|
||||
|
||||
.ribbon-bookmark {
|
||||
padding-left: .25rem;
|
||||
border-radius: 0 0 var(--#{$prefix}ribbon-border-radius) 0;
|
||||
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 100%;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
content: "";
|
||||
border: 1rem var(--#{$prefix}border-style);
|
||||
border-color: inherit;
|
||||
border-right-width: 0;
|
||||
border-left-color: transparent;
|
||||
border-left-width: .5rem;
|
||||
}
|
||||
|
||||
&.ribbon-left {
|
||||
padding-right: .5rem;
|
||||
|
||||
&:after {
|
||||
right: auto;
|
||||
left: 100%;
|
||||
border-right-color: transparent;
|
||||
|
||||
border-right-width: .5rem;
|
||||
border-left-width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.ribbon-top {
|
||||
padding-right: 0;
|
||||
padding-bottom: .25rem;
|
||||
padding-left: 0;
|
||||
border-radius: 0 var(--#{$prefix}ribbon-border-radius) 0 0;
|
||||
|
||||
&:after {
|
||||
top: 100%;
|
||||
right: 0;
|
||||
left: 0;
|
||||
border-color: inherit;
|
||||
border-width: 1rem;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: transparent;
|
||||
border-bottom-width: .5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
.nav-segmented {
|
||||
--#{$prefix}nav-bg: var(--#{$prefix}bg-surface-tertiary);
|
||||
--#{$prefix}nav-padding: 2px;
|
||||
--#{$prefix}nav-height: 2.5rem;
|
||||
--#{$prefix}nav-gap: .25rem;
|
||||
--#{$prefix}nav-active-bg: var(--#{$prefix}bg-surface);
|
||||
--#{$prefix}nav-font-size: inherit;
|
||||
--#{$prefix}nav-radius: 6px;
|
||||
|
||||
|
||||
--#{$prefix}nav-link-disabled-color: var(--#{$prefix}disabled-color);
|
||||
--#{$prefix}nav-link-gap: .25rem;
|
||||
--#{$prefix}nav-link-padding-x: .75rem;
|
||||
--#{$prefix}nav-link-icon-size: 1.25rem;
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--#{$prefix}nav-gap);
|
||||
padding: var(--#{$prefix}nav-padding);
|
||||
list-style: none;
|
||||
background: var(--#{$prefix}nav-bg);
|
||||
border-radius: calc(var(--#{$prefix}nav-radius) + var(--#{$prefix}nav-padding));
|
||||
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
|
||||
|
||||
.nav-link {
|
||||
display: inline-flex;
|
||||
gap: calc(.25rem + var(--#{$prefix}nav-link-gap));
|
||||
align-items: center;
|
||||
margin: 0;
|
||||
font-size: var(--#{$prefix}nav-font-size);
|
||||
min-width: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding));
|
||||
height: calc(var(--#{$prefix}nav-height) - 2 * var(--#{$prefix}nav-padding));
|
||||
padding: 0 calc(var(--#{$prefix}nav-link-padding-x) - 2px);
|
||||
border: 1px solid transparent;
|
||||
background: transparent;
|
||||
color: var(--#{$prefix}secondary);
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
transition: background-color $transition-time, color $transition-time;
|
||||
border-radius: var(--#{$prefix}nav-radius);
|
||||
flex-grow: 1;
|
||||
justify-content: center;
|
||||
|
||||
&:hover,
|
||||
&.hover {
|
||||
background: rgba(0, 0, 0, .04);
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&:disabled {
|
||||
color: var(--#{$prefix}nav-link-disabled-color);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link-input:checked + .nav-link,
|
||||
.nav-link.active {
|
||||
color: var(--#{$prefix}body-color);
|
||||
background: var(--#{$prefix}nav-active-bg);
|
||||
border-color: var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
.nav-link-input {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-link-icon {
|
||||
width: var(--#{$prefix}nav-link-icon-size);
|
||||
height: var(--#{$prefix}nav-link-icon-size);
|
||||
margin: 0 -.25rem;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-segmented-vertical {
|
||||
flex-direction: column;
|
||||
|
||||
.nav-link {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-sm {
|
||||
--#{$prefix}nav-height: 2rem;
|
||||
--#{$prefix}nav-font-size: var(--tblr-font-size-h5);
|
||||
--#{$prefix}nav-radius: 4px;
|
||||
--#{$prefix}nav-link-padding-x: .5rem;
|
||||
--#{$prefix}nav-link-gap: .25rem;
|
||||
--#{$prefix}nav-link-icon-size: 1rem;
|
||||
}
|
||||
|
||||
.nav-lg {
|
||||
--#{$prefix}nav-height: 3rem;
|
||||
--#{$prefix}nav-font-size: var(--tblr-font-size-h3);
|
||||
--#{$prefix}nav-radius: 8px;
|
||||
--#{$prefix}nav-link-padding-x: 1rem;
|
||||
--#{$prefix}nav-link-gap: .5rem;
|
||||
--#{$prefix}nav-link-icon-size: 1.5rem;
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
.signature {
|
||||
--#{$prefix}signature-padding: var(--#{$prefix}spacer-1);
|
||||
--#{$prefix}signature-border-radius: var(--#{$prefix}border-radius);
|
||||
border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color);
|
||||
padding: var(--#{$prefix}signature-padding);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
|
||||
.signature-canvas {
|
||||
border: var(--#{$prefix}border-width) dashed var(--#{$prefix}border-color);
|
||||
border-radius: calc(var(--#{$prefix}signature-border-radius) - var(--#{$prefix}signature-padding));
|
||||
display: block;
|
||||
cursor: crosshair;
|
||||
width: 100%;
|
||||
}
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
$apps: (
|
||||
"apple",
|
||||
"discord",
|
||||
"dribbble",
|
||||
"facebook",
|
||||
"figma",
|
||||
"github",
|
||||
"google",
|
||||
"instagram",
|
||||
"linkedin",
|
||||
"medium",
|
||||
"meta",
|
||||
"metamask",
|
||||
"pinterest",
|
||||
"reddit",
|
||||
"signal",
|
||||
"skype",
|
||||
"snapchat",
|
||||
"spotify",
|
||||
"telegram",
|
||||
"tiktok",
|
||||
"tumblr",
|
||||
"twitch",
|
||||
"vk",
|
||||
"x",
|
||||
"youtube"
|
||||
);
|
||||
|
||||
.social {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: $avatar-size;
|
||||
aspect-ratio: 1;
|
||||
background: no-repeat center/cover;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
@each $app in $apps {
|
||||
.social-app-#{$app} {
|
||||
background-image: url("#{$assets-base}/img/social/#{$app}.svg");
|
||||
|
||||
&.social-gray {
|
||||
background-image: url("#{$assets-base}/img/social/#{$app}-gray.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $flag-size, $size in $flag-sizes {
|
||||
.social-#{$flag-size} {
|
||||
height: map-get($size, size);
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
.stars {
|
||||
display: inline-flex;
|
||||
color: $gray-400;
|
||||
font-size: $h5-font-size;
|
||||
|
||||
.star:not(:first-child) {
|
||||
margin-left: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.star {
|
||||
|
||||
}
|
||||
+163
@@ -0,0 +1,163 @@
|
||||
@keyframes status-pulsate-main {
|
||||
40% {
|
||||
transform: scale(1.25, 1.25);
|
||||
}
|
||||
60% {
|
||||
transform: scale(1.25, 1.25);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes status-pulsate-secondary {
|
||||
10% {
|
||||
transform: scale(1, 1)
|
||||
}
|
||||
30% {
|
||||
transform: scale(3, 3)
|
||||
}
|
||||
80% {
|
||||
transform: scale(3, 3)
|
||||
}
|
||||
100% {
|
||||
transform: scale(1, 1)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes status-pulsate-tertiary {
|
||||
25% {
|
||||
transform: scale(1, 1);
|
||||
}
|
||||
80% {
|
||||
transform: scale(3, 3);
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
transform: scale(3, 3);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Status
|
||||
//
|
||||
.status {
|
||||
--#{$prefix}status-height: #{$status-height};
|
||||
--#{$prefix}status-color: #{$text-secondary};
|
||||
--#{$prefix}status-color-rgb: #{to-rgb($text-secondary)};
|
||||
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: var(--#{$prefix}status-height);
|
||||
padding: .25rem .75rem;
|
||||
gap: .5rem;
|
||||
color: var(--#{$prefix}status-color);
|
||||
background: rgba(var(--#{$prefix}status-color-rgb), .1);
|
||||
font-size: $font-size-base;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
border-radius: $border-radius-pill;
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
line-height: 1;
|
||||
margin: 0;
|
||||
|
||||
.status-dot {
|
||||
background: var(--#{$prefix}status-color);
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.status-lite {
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color) !important;
|
||||
background: transparent !important;
|
||||
color: var(--#{$prefix}body-color) !important;
|
||||
}
|
||||
|
||||
@each $name, $color in $theme-colors {
|
||||
.status-#{$name} {
|
||||
--#{$prefix}status-color: #{$color};
|
||||
--#{$prefix}status-color-rgb: #{to-rgb($color)};
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Status dot
|
||||
//
|
||||
.status-dot {
|
||||
--#{$prefix}status-dot-color: var(--#{$prefix}status-color, #{$text-secondary});
|
||||
--#{$prefix}status-size: #{$status-dot-size};
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: var(--#{$prefix}status-size);
|
||||
height: var(--#{$prefix}status-size);
|
||||
background: var(--#{$prefix}status-dot-color);
|
||||
border-radius: $border-radius-pill;
|
||||
}
|
||||
|
||||
.status-dot-animated {
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 0;
|
||||
background: inherit;
|
||||
border-radius: inherit;
|
||||
opacity: .6;
|
||||
animation: 1s linear 2s backwards infinite status-pulsate-tertiary;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Status indicator
|
||||
//
|
||||
.status-indicator {
|
||||
--#{$prefix}status-indicator-size: 2.5rem;
|
||||
--#{$prefix}status-indicator-color: var(--#{$prefix}status-color, #{$text-secondary});
|
||||
display: block;
|
||||
position: relative;
|
||||
width: var(--#{$prefix}status-indicator-size);
|
||||
height: var(--#{$prefix}status-indicator-size);
|
||||
}
|
||||
|
||||
.status-indicator-circle {
|
||||
--#{$prefix}status-circle-size: .75rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin: calc(var(--#{$prefix}status-circle-size) / -2) 0 0 calc(var(--#{$prefix}status-circle-size) / -2);
|
||||
width: var(--#{$prefix}status-circle-size);
|
||||
height: var(--#{$prefix}status-circle-size);
|
||||
border-radius: $border-radius-pill;
|
||||
background: var(--#{$prefix}status-color);
|
||||
|
||||
&:nth-child(1) {
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
z-index: 2;
|
||||
opacity: .1;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
z-index: 1;
|
||||
opacity: .3;
|
||||
}
|
||||
}
|
||||
|
||||
.status-indicator-animated {
|
||||
.status-indicator-circle {
|
||||
&:nth-child(1) {
|
||||
animation: 2s linear 1s infinite backwards status-pulsate-main;
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
animation: 2s linear 1s infinite backwards status-pulsate-secondary;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
animation: 2s linear 1s infinite backwards status-pulsate-tertiary;
|
||||
}
|
||||
}
|
||||
}
|
||||
+156
@@ -0,0 +1,156 @@
|
||||
//
|
||||
// Steps
|
||||
//
|
||||
.steps {
|
||||
--#{$prefix}steps-color: #{$steps-color};
|
||||
--#{$prefix}steps-inactive-color: #{$steps-inactive-color};
|
||||
--#{$prefix}steps-dot-size: .5rem;
|
||||
--#{$prefix}steps-border-width: #{$steps-border-width};
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
@each $name, $color in $extra-colors {
|
||||
.steps-#{$name} {
|
||||
--#{$prefix}steps-color: var(--#{$prefix}#{$name});
|
||||
|
||||
&-lt {
|
||||
--#{$prefix}steps-color: var(--#{$prefix}#{$name}-lt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Step item
|
||||
//
|
||||
.step-item {
|
||||
position: relative;
|
||||
flex: 1 1 0;
|
||||
min-height: 1rem;
|
||||
margin-top: 0;
|
||||
color: inherit;
|
||||
text-align: center;
|
||||
cursor: default;
|
||||
padding-top: calc(var(--#{$prefix}steps-dot-size));
|
||||
|
||||
@at-root a#{&} {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
&:after,
|
||||
&:before {
|
||||
background: var(--#{$prefix}steps-color);
|
||||
}
|
||||
|
||||
&:not(:last-child):after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
content: "";
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
&:after {
|
||||
top: calc(var(--#{$prefix}steps-dot-size) * .5);
|
||||
height: var(--#{$prefix}steps-border-width);
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
z-index: 1;
|
||||
box-sizing: content-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: $border-radius-pill;
|
||||
transform: translateX(-50%);
|
||||
color: var(--#{$prefix}white);
|
||||
width: var(--#{$prefix}steps-dot-size);
|
||||
height: var(--#{$prefix}steps-dot-size);
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
|
||||
&:after {
|
||||
background: var(--#{$prefix}steps-inactive-color);
|
||||
}
|
||||
|
||||
& ~ .step-item {
|
||||
color: var(--#{$prefix}disabled-color);
|
||||
|
||||
&:after,
|
||||
&:before {
|
||||
background: var(--#{$prefix}steps-inactive-color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Steps counter
|
||||
//
|
||||
.steps-counter {
|
||||
--#{$prefix}steps-dot-size: 1.5rem;
|
||||
counter-reset: steps;
|
||||
|
||||
.step-item {
|
||||
counter-increment: steps;
|
||||
|
||||
&:before {
|
||||
content: counter(steps);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Steps vertical
|
||||
//
|
||||
.steps-vertical {
|
||||
--#{$prefix}steps-dot-offset: 6px;
|
||||
flex-direction: column;
|
||||
|
||||
&.steps-counter {
|
||||
--#{$prefix}steps-dot-offset: -2px;
|
||||
}
|
||||
|
||||
.step-item {
|
||||
text-align: left;
|
||||
padding-top: 0;
|
||||
padding-left: calc(var(--#{$prefix}steps-dot-size) + 1rem);
|
||||
min-height: auto;
|
||||
|
||||
&:not(:first-child) {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
&:before {
|
||||
top: var(--#{$prefix}steps-dot-offset);
|
||||
left: 0;
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
&:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
transform: translateX(-50%);
|
||||
top: var(--#{$prefix}steps-dot-offset);
|
||||
left: calc(var(--#{$prefix}steps-dot-size) * 0.5);
|
||||
width: var(--#{$prefix}steps-border-width);
|
||||
height: calc(100% + 1rem);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+211
@@ -0,0 +1,211 @@
|
||||
.switch-icon {
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
width: $icon-size;
|
||||
height: $icon-size;
|
||||
vertical-align: bottom;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
|
||||
&.disabled {
|
||||
pointer-events: none;
|
||||
opacity: $btn-disabled-opacity;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
svg {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.switch-icon-a {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fade variant
|
||||
.switch-icon-fade {
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
@include transition(opacity .5s);
|
||||
}
|
||||
}
|
||||
|
||||
// Scale variant
|
||||
.switch-icon-scale {
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
@include transition(opacity .5s, transform .0s .5s);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: scale(1.5);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
@include transition(opacity .0s, transform .5s);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Flip variant
|
||||
.switch-icon-flip {
|
||||
perspective: 10em;
|
||||
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
backface-visibility: hidden;
|
||||
transform-style: preserve-3d;
|
||||
@include transition(opacity 0s .2s, transform .4s ease-in-out);
|
||||
}
|
||||
|
||||
.switch-icon-a {
|
||||
opacity: 1;
|
||||
transform: rotateY(0deg);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
opacity: 1;
|
||||
transform: rotateY(-180deg);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
opacity: 1;
|
||||
transform: rotateY(180deg);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
opacity: 1;
|
||||
transform: rotateY(0deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Slide variant
|
||||
.switch-icon-slide-up,
|
||||
.switch-icon-slide-left,
|
||||
.switch-icon-slide-right,
|
||||
.switch-icon-slide-down {
|
||||
overflow: hidden;
|
||||
|
||||
.switch-icon-a,
|
||||
.switch-icon-b {
|
||||
@include transition(opacity $transition-time, transform $transition-time);
|
||||
}
|
||||
|
||||
.switch-icon-a {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateY(100%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.switch-icon-slide-left {
|
||||
.switch-icon-a {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.switch-icon-slide-right {
|
||||
.switch-icon-a {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateX(-100%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.switch-icon-slide-down {
|
||||
.switch-icon-a {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
.switch-icon-a {
|
||||
transform: translateY(100%);
|
||||
}
|
||||
|
||||
.switch-icon-b {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
.table {
|
||||
thead {
|
||||
th {
|
||||
background: $table-th-bg;
|
||||
@include subheader;
|
||||
padding-top: $table-th-padding-y;
|
||||
padding-bottom: $table-th-padding-y;
|
||||
white-space: nowrap;
|
||||
|
||||
@media print {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table-responsive {
|
||||
.table {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
+ .card-footer {
|
||||
border-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.table-transparent {
|
||||
thead {
|
||||
th {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table-nowrap {
|
||||
> :not(caption) > * > * {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.table-vcenter {
|
||||
> :not(caption) > * > * {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.table-center {
|
||||
> :not(caption) > * > * {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.td-truncate {
|
||||
max-width: 1px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table-mobile {
|
||||
@each $breakpoint, $breakpoint-max-widthin in $grid-breakpoints {
|
||||
&#{breakpoint-infix($breakpoint)} {
|
||||
@include media-breakpoint-down($breakpoint) {
|
||||
display: block;
|
||||
|
||||
thead {
|
||||
display: none;
|
||||
}
|
||||
|
||||
tbody,
|
||||
tr {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
td {
|
||||
display: block;
|
||||
padding: $table-cell-padding-x $table-cell-padding-y !important;
|
||||
border: none;
|
||||
color: var(--#{$prefix}body-color) !important;
|
||||
|
||||
&[data-label] {
|
||||
&:before {
|
||||
@include subheader;
|
||||
content: attr(data-label);
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tr {
|
||||
border-bottom: var(--#{$prefix}border-width)
|
||||
var(--#{$prefix}border-style) $table-border-color;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Table sort
|
||||
*/
|
||||
.table-sort {
|
||||
font: inherit;
|
||||
color: inherit;
|
||||
text-transform: inherit;
|
||||
letter-spacing: inherit;
|
||||
border: 0;
|
||||
background: inherit;
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: inherit;
|
||||
@include transition(color $transition-time);
|
||||
|
||||
margin: (-$table-th-padding-y) (-$table-th-padding-x);
|
||||
padding: $table-th-padding-y $table-th-padding-x;
|
||||
|
||||
&:hover,
|
||||
&.asc,
|
||||
&.desc {
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
display: inline-flex;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
vertical-align: bottom;
|
||||
mask-image: $table-sort-bg-image;
|
||||
background: currentColor;
|
||||
margin-left: .25rem;
|
||||
}
|
||||
|
||||
&.asc:after {
|
||||
mask-image: $table-sort-desc-bg-image;
|
||||
}
|
||||
|
||||
&.desc:after {
|
||||
mask-image: $table-sort-asc-bg-image;
|
||||
}
|
||||
}
|
||||
|
||||
.table-borderless {
|
||||
thead th {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Table selectable
|
||||
//
|
||||
.table-selectable {
|
||||
tbody tr {
|
||||
.on-checked {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.on-unchecked {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
&:has(.table-selectable-check:checked) {
|
||||
background-color: $table-active-bg;
|
||||
|
||||
.on-checked {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
.on-unchecked {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
.tag {
|
||||
--#{$prefix}tag-height: 1.5rem;
|
||||
border: $border-width solid var(--#{$prefix}border-color);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: var(--#{$prefix}tag-height);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
padding: 0 0.5rem;
|
||||
background: var(--#{$prefix}bg-surface);
|
||||
box-shadow: var(--#{$prefix}shadow-input);
|
||||
gap: .5rem;
|
||||
|
||||
.btn-close {
|
||||
margin-right: -0.25rem;
|
||||
margin-left: -0.125rem;
|
||||
padding: 0;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
font-size: .5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.tag-badge {
|
||||
--#{$prefix}badge-font-size: #{$h6-font-size};
|
||||
--#{$prefix}badge-padding-x: .25rem;
|
||||
--#{$prefix}badge-padding-y: .125rem;
|
||||
margin-right: -.25rem;
|
||||
}
|
||||
|
||||
.tag-avatar,
|
||||
.tag-flag,
|
||||
.tag-payment,
|
||||
.tag-icon,
|
||||
.tag-check {
|
||||
margin-left: -.25rem;
|
||||
}
|
||||
|
||||
.tag-icon {
|
||||
color: var(--#{$prefix}secondary);
|
||||
margin-right: -0.125rem;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
.tag-check {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
background-size: 1rem;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Tags list
|
||||
//
|
||||
.tags-list {
|
||||
@include elements-list;
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// Timeline
|
||||
//
|
||||
.timeline {
|
||||
--#{$prefix}timeline-icon-size: #{$avatar-size};
|
||||
position: relative;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
//
|
||||
// Timeline event
|
||||
//
|
||||
.timeline-event {
|
||||
position: relative;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-bottom: var(--#{$prefix}page-padding);
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: var(--#{$prefix}timeline-icon-size);
|
||||
left: calc(var(--#{$prefix}timeline-icon-size) / 2);
|
||||
bottom: calc(-1 * var(--#{$prefix}page-padding));
|
||||
width: var(--#{$prefix}border-width);
|
||||
background-color: var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.timeline-event-icon {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: var(--#{$prefix}timeline-icon-size, $avatar-size);
|
||||
height: var(--#{$prefix}timeline-icon-size, $avatar-size);
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
color: var(--#{$prefix}secondary);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
z-index: 5
|
||||
}
|
||||
|
||||
.timeline-event-card {
|
||||
margin-left: calc(var(--#{$prefix}timeline-icon-size, $avatar-size) + var(--#{$prefix}page-padding));
|
||||
}
|
||||
|
||||
//
|
||||
// Simple timeline
|
||||
//
|
||||
.timeline-simple {
|
||||
.timeline-event-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.timeline-event-card {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
.toast {
|
||||
border: $alert-border-width var(--#{$prefix}border-style) $alert-border-color;
|
||||
box-shadow: $alert-shadow;
|
||||
|
||||
.toast-header {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
button[data-bs-dismiss="toast"] {
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
@each $state, $value in $theme-colors {
|
||||
.toast-#{$state} {
|
||||
--#{$prefix}toast-color: #{$value};
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
.toolbar {
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
flex-shrink: 0;
|
||||
margin: 0 -.5rem;
|
||||
|
||||
> * {
|
||||
margin: 0 .5rem;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
.tracking {
|
||||
--#{$prefix}tracking-height: #{$tracking-height};
|
||||
--#{$prefix}tracking-gap-width: #{$tracking-gap-width};
|
||||
--#{$prefix}tracking-block-border-radius: #{$tracking-border-radius};
|
||||
display: flex;
|
||||
gap: var(--#{$prefix}tracking-gap-width);
|
||||
}
|
||||
|
||||
.tracking-squares {
|
||||
--#{$prefix}tracking-block-border-radius: var(--#{$prefix}border-radius-sm);
|
||||
|
||||
.tracking-block {
|
||||
height: auto;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: block;
|
||||
padding-top: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tracking-block {
|
||||
flex: 1;
|
||||
border-radius: var(--#{$prefix}tracking-block-border-radius);
|
||||
height: var(--#{$prefix}tracking-height);
|
||||
min-width: .25rem;
|
||||
background: var(--#{$prefix}border-color);
|
||||
}
|
||||
+330
@@ -0,0 +1,330 @@
|
||||
@import "typo/hr";
|
||||
|
||||
.lead {
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration-skip-ink: auto;
|
||||
color: color-mix(in srgb, transparent, var(--#{$prefix}link-color) var(--#{$prefix}link-opacity, 100%));
|
||||
|
||||
&:hover {
|
||||
color: color-mix(in srgb, transparent, var(--#{$prefix}link-hover-color) var(--#{$prefix}link-opacity, 100%));
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
a {
|
||||
color: inherit;
|
||||
|
||||
&:hover {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
.h1 {
|
||||
font-size: var(--#{$prefix}font-size-h1);
|
||||
line-height: var(--#{$prefix}line-height-h1);
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2 {
|
||||
font-size: var(--#{$prefix}font-size-h2);
|
||||
line-height: var(--#{$prefix}line-height-h2);
|
||||
}
|
||||
|
||||
h3,
|
||||
.h3 {
|
||||
font-size: var(--#{$prefix}font-size-h3);
|
||||
line-height: var(--#{$prefix}line-height-h3);
|
||||
}
|
||||
|
||||
h4,
|
||||
.h4 {
|
||||
font-size: var(--#{$prefix}font-size-h4);
|
||||
line-height: var(--#{$prefix}line-height-h4);
|
||||
}
|
||||
|
||||
h5,
|
||||
.h5 {
|
||||
font-size: var(--#{$prefix}font-size-h5);
|
||||
line-height: var(--#{$prefix}line-height-h5);
|
||||
}
|
||||
|
||||
h6,
|
||||
.h6 {
|
||||
font-size: var(--#{$prefix}font-size-h6);
|
||||
line-height: var(--#{$prefix}line-height-h6);
|
||||
}
|
||||
|
||||
.fs-base {
|
||||
font-size: var(--#{$prefix}body-font-size);
|
||||
}
|
||||
|
||||
strong,
|
||||
.strong,
|
||||
b {
|
||||
font-weight: $headings-font-weight;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 1rem 1rem 1rem;
|
||||
border-left: 2px var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
|
||||
p {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
cite {
|
||||
display: block;
|
||||
text-align: right;
|
||||
|
||||
&:before {
|
||||
content: "— ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
padding-left: 1.5rem;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
dl {
|
||||
dd {
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
--#{$prefix}scrollbar-color: #{$pre-color};
|
||||
padding: $pre-padding;
|
||||
background: $pre-bg;
|
||||
color: $pre-color;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
line-height: $line-height-base;
|
||||
|
||||
@include scrollbar;
|
||||
|
||||
code {
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
background: var(--#{$prefix}code-bg);
|
||||
padding: 2px 4px;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
}
|
||||
|
||||
abbr {
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
text-decoration-skip-ink: none;
|
||||
}
|
||||
|
||||
kbd,
|
||||
.kbd {
|
||||
border: $kbd-border;
|
||||
display: inline-block;
|
||||
box-sizing: border-box;
|
||||
max-width: 100%;
|
||||
font-size: $kbd-font-size;
|
||||
font-weight: $kbd-font-weight;
|
||||
line-height: 1;
|
||||
vertical-align: baseline;
|
||||
border-radius: $kbd-border-radius;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Selection
|
||||
*/
|
||||
::selection,
|
||||
.text-selected {
|
||||
background-color: color-transparent(var(--#{$prefix}primary), 0.1);
|
||||
}
|
||||
|
||||
.text-selected {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
Links
|
||||
*/
|
||||
[class^="link-"],
|
||||
[class*=" link-"] {
|
||||
&.disabled {
|
||||
color: $nav-link-disabled-color !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
a:hover:has(.icon) {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.link-hoverable {
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
transition: background-color 0.15s ease-in-out;
|
||||
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
color: var(--#{$prefix}primary);
|
||||
background: color-transparent(var(--#{$prefix}secondary), 0.04);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Subheader
|
||||
*/
|
||||
.subheader {
|
||||
@include subheader;
|
||||
}
|
||||
|
||||
/**
|
||||
Mentions
|
||||
*/
|
||||
.mention {
|
||||
display: inline-block;
|
||||
box-shadow: var(--#{$prefix}shadow-border);
|
||||
border-radius: var(--#{$prefix}border-radius-pill);
|
||||
line-height: calc(16em / 12);
|
||||
font-size: calc(12em / 14);
|
||||
color: var(--#{$prefix}body-color);
|
||||
background: var(--#{$prefix}bg-surface-tertiary);
|
||||
padding: calc(2em / 12) calc(8em / 12);
|
||||
font-weight: var(--#{$prefix}font-weight-medium);
|
||||
|
||||
@at-root a#{&} {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover,
|
||||
&.hover {
|
||||
background: var(--#{$prefix}bg-surface-secondary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.mention-avatar,
|
||||
.mention-app,
|
||||
.mention-color {
|
||||
width: calc(14em / 12);
|
||||
height: calc(14em / 12);
|
||||
border-radius: var(--#{$prefix}border-radius-pill);
|
||||
margin: calc(-2em / 12) calc(4em / 12) 0 calc(-4em / 12);
|
||||
display: inline-flex;
|
||||
background: no-repeat center center/cover;
|
||||
box-shadow: var(--#{$prefix}shadow-border);
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mention-app {
|
||||
box-shadow: none;
|
||||
background: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.mention-count {
|
||||
color: var(--#{$prefix}secondary);
|
||||
margin-left: calc(8em / 12);
|
||||
}
|
||||
|
||||
$text-variants: (
|
||||
incorrect: var(--#{$prefix}red),
|
||||
correct: var(--#{$prefix}green),
|
||||
);
|
||||
|
||||
@each $variant, $color in $text-variants {
|
||||
.text-#{$variant} {
|
||||
background: color-transparent($color, 0.04);
|
||||
background: color-transparent($color, 4%);
|
||||
text-decoration: underline;
|
||||
text-decoration-thickness: 1px;
|
||||
text-decoration-color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
.steps {
|
||||
--#{$prefix}steps-padding: 2rem;
|
||||
--#{$prefix}steps-item-size: 1.5rem;
|
||||
margin-left: 1rem;
|
||||
padding-left: var(--#{$prefix}steps-padding);
|
||||
counter-reset: step;
|
||||
border-left: 1px solid var(--#{$prefix}border-color);
|
||||
margin-bottom: 2rem;
|
||||
|
||||
h3 {
|
||||
counter-increment: step;
|
||||
|
||||
&:not(:first-child) {
|
||||
margin-top: 2.5rem !important;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: counter(step);
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
margin-top: 1px;
|
||||
margin-left: calc(-1 * var(--#{$prefix}steps-padding) - var(--#{$prefix}steps-item-size) / 2);
|
||||
width: var(--#{$prefix}steps-item-size);
|
||||
height: var(--#{$prefix}steps-item-size);
|
||||
text-align: center;
|
||||
color: var(--#{$prefix}body-color);
|
||||
border: 1px solid var(--#{$prefix}border-color);
|
||||
background: var(--#{$prefix}bg-surface);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
line-height: calc(var(--#{$prefix}steps-item-size) - 2px);
|
||||
font-size: var(--#{$prefix}font-size-h4);
|
||||
font-weight: var(--#{$prefix}font-weight-bold);
|
||||
}
|
||||
}
|
||||
|
||||
>:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.callout {
|
||||
margin-bottom: 1.5rem;
|
||||
border: 1px solid var(--#{$prefix}primary-200);
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
padding: .5rem 1rem;
|
||||
background: var(--#{$prefix}primary-lt);
|
||||
|
||||
&>:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
Form check
|
||||
*/
|
||||
.form-check {
|
||||
user-select: none;
|
||||
|
||||
&.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.form-check-label-off {
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
.form-check-input:checked ~ .form-check-label-off {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form-check-input:not(:checked) ~ .form-check-label-on {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.form-check-input {
|
||||
background-size: $form-check-input-width;
|
||||
margin-top: ($form-check-min-height - $form-check-input-width) * .5;
|
||||
box-shadow: $form-check-input-box-shadow;
|
||||
|
||||
.form-switch & {
|
||||
@include transition(background-color$transition-time, background-position $transition-time);
|
||||
}
|
||||
}
|
||||
|
||||
.form-check-label {
|
||||
display: block;
|
||||
|
||||
&.required {
|
||||
&:after {
|
||||
content: "*";
|
||||
margin-left: .25rem;
|
||||
color: $red;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-check-description {
|
||||
display: block;
|
||||
color: var(--#{$prefix}secondary);
|
||||
font-size: $h5-font-size;
|
||||
margin-top: .25rem;
|
||||
}
|
||||
|
||||
|
||||
.form-check-single {
|
||||
margin: 0;
|
||||
|
||||
.form-check-input {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Form switch
|
||||
*/
|
||||
.form-switch {
|
||||
.form-check-input {
|
||||
height: $form-switch-height;
|
||||
margin-top: ($form-check-min-height - $form-switch-height) * .5;
|
||||
}
|
||||
}
|
||||
|
||||
.form-switch-lg {
|
||||
padding-left: 3.5rem;
|
||||
min-height: 1.5rem;
|
||||
|
||||
.form-check-input {
|
||||
height: 1.5rem;
|
||||
width: 2.75rem;
|
||||
background-size: 1.5rem;
|
||||
margin-left: -3.5rem;
|
||||
}
|
||||
|
||||
.form-check-label {
|
||||
padding-top: .125rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*Correction of Form-check position*/
|
||||
.form-check-input:checked{
|
||||
border: none;
|
||||
}
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
Color Input
|
||||
*/
|
||||
.form-colorinput {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.form-colorinput-input {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.form-colorinput-color {
|
||||
display: block;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
color: $white;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $input-border-color-translucent;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
content: "";
|
||||
background: no-repeat center center/$form-check-input-checked-bg-size;
|
||||
background-image: escape-svg($form-check-input-checked-bg-image);
|
||||
opacity: 0;
|
||||
@include transition(opacity $transition-time);
|
||||
|
||||
.form-colorinput-input:checked ~ & {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.form-colorinput-input:focus ~ & {
|
||||
border-color: var(--#{$prefix}primary);
|
||||
box-shadow: $input-btn-focus-box-shadow;
|
||||
}
|
||||
|
||||
@at-root .form-colorinput-light & {
|
||||
&:before {
|
||||
background-image: escape-svg($form-check-input-checked-bg-image-dark);
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
Bootstrap color input
|
||||
*/
|
||||
.form-control-color {
|
||||
&::-webkit-color-swatch {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Remove the cancel buttons in Chrome and Safari on macOS.
|
||||
*/
|
||||
[type="search"]::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
Form control dark theme fix
|
||||
*/
|
||||
.form-control {
|
||||
&::file-selector-button {
|
||||
background-color: var(--#{$prefix}btn-color, #{$form-file-button-bg});
|
||||
}
|
||||
|
||||
&:hover:not(:disabled):not([readonly])::file-selector-button {
|
||||
background-color: var(--#{$prefix}btn-color, #{$form-file-button-hover-bg});
|
||||
}
|
||||
}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
Icon input
|
||||
*/
|
||||
.input-icon {
|
||||
position: relative;
|
||||
|
||||
.form-control:not(:last-child),
|
||||
.form-select:not(:last-child) {
|
||||
padding-right: 2.5rem;
|
||||
}
|
||||
|
||||
.form-control:not(:first-child),
|
||||
.form-select:not(:last-child) {
|
||||
padding-left: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.input-icon-addon {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 2.5rem;
|
||||
color: var(--#{$prefix}icon-color);
|
||||
pointer-events: none;
|
||||
font-size: 1.2em;
|
||||
|
||||
&:last-child {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
/**
|
||||
Image check
|
||||
*/
|
||||
.form-imagecheck {
|
||||
--#{$prefix}form-imagecheck-radius: var(--#{$prefix}border-radius);
|
||||
position: relative;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.form-imagecheck-input {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.form-imagecheck-figure {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin: 0;
|
||||
user-select: none;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
border-radius: var(--#{$prefix}form-imagecheck-radius);
|
||||
|
||||
.form-imagecheck-input:focus ~ & {
|
||||
border-color: var(--#{$prefix}primary);
|
||||
box-shadow: $input-btn-focus-box-shadow;
|
||||
}
|
||||
|
||||
.form-imagecheck-input:checked ~ & {
|
||||
border-color: var(--#{$prefix}primary);
|
||||
}
|
||||
|
||||
&:before {
|
||||
position: absolute;
|
||||
top: .25rem;
|
||||
left: .25rem;
|
||||
z-index: 1;
|
||||
display: block;
|
||||
width: $form-check-input-width;
|
||||
height: $form-check-input-width;
|
||||
color: $white;
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
user-select: none;
|
||||
background: $form-check-input-bg;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||
border-radius: $form-check-input-border-radius;
|
||||
@include transition(opacity $transition-time);
|
||||
|
||||
.form-imagecheck-input:checked ~ & {
|
||||
background-color: $form-check-input-checked-bg-color;
|
||||
background-image: escape-svg($form-check-input-checked-bg-image);
|
||||
background-repeat: $form-check-input-checked-bg-repeat;
|
||||
background-position: center;
|
||||
background-size: $form-check-input-checked-bg-size;
|
||||
border-color: $form-check-input-checked-border-color;
|
||||
}
|
||||
|
||||
.form-imagecheck-input[type="radio"] ~ & {
|
||||
border-radius: $form-check-radio-border-radius;
|
||||
}
|
||||
|
||||
.form-imagecheck-input[type="radio"]:checked ~ & {
|
||||
background-image: escape-svg($form-check-radio-checked-bg-image);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.form-imagecheck-image {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
opacity: .64;
|
||||
@include transition(opacity $transition-time);
|
||||
|
||||
&:first-child {
|
||||
border-top-left-radius: calc(var(--#{$prefix}form-imagecheck-radius) - 1px);
|
||||
border-top-right-radius: calc(var(--#{$prefix}form-imagecheck-radius) - 1px);
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-bottom-right-radius: calc(var(--#{$prefix}form-imagecheck-radius) - 1px);
|
||||
border-bottom-left-radius: calc(var(--#{$prefix}form-imagecheck-radius) - 1px);
|
||||
}
|
||||
|
||||
.form-imagecheck:hover &,
|
||||
.form-imagecheck-input:focus ~ .form-imagecheck-figure &,
|
||||
.form-imagecheck-input:checked ~ .form-imagecheck-figure & {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.form-imagecheck-caption {
|
||||
padding: .25rem;
|
||||
font-size: $font-size-sm;
|
||||
color: var(--#{$prefix}secondary);
|
||||
text-align: center;
|
||||
@include transition(color $transition-time);
|
||||
|
||||
.form-imagecheck:hover &,
|
||||
.form-imagecheck-input:focus ~ .form-imagecheck-figure &,
|
||||
.form-imagecheck-input:checked ~ .form-imagecheck-figure & {
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
}
|
||||
+153
@@ -0,0 +1,153 @@
|
||||
/*
|
||||
Select group
|
||||
*/
|
||||
.form-selectgroup {
|
||||
display: inline-flex;
|
||||
margin: 0 -.5rem -.5rem 0;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.form-selectgroup-item {
|
||||
margin: 0 .5rem .5rem 0;
|
||||
}
|
||||
}
|
||||
|
||||
.form-selectgroup-vertical {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.form-selectgroup-item {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.form-selectgroup-input {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.form-selectgroup-label {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-width: $input-height;
|
||||
margin: 0;
|
||||
padding: $input-btn-padding-y $input-btn-padding-x;
|
||||
font-size: $input-btn-font-size;
|
||||
line-height: $input-line-height;
|
||||
color: var(--#{$prefix}secondary);
|
||||
background: $form-check-input-bg;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $input-border-color;
|
||||
border-radius: var(--#{$prefix}border-radius);
|
||||
box-shadow: $input-box-shadow;
|
||||
@include transition(border-color $transition-time, background $transition-time, color $transition-time);
|
||||
|
||||
.icon:only-child {
|
||||
margin: 0 -.25rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: var(--#{$prefix}body-color);
|
||||
}
|
||||
}
|
||||
|
||||
.form-selectgroup-check {
|
||||
display: inline-block;
|
||||
width: $form-check-input-width;
|
||||
height: $form-check-input-width;
|
||||
border: $form-check-input-border;
|
||||
vertical-align: middle;
|
||||
box-shadow: $form-check-input-box-shadow;
|
||||
|
||||
.form-selectgroup-input[type="checkbox"] + .form-selectgroup-label & {
|
||||
border-radius: $form-check-input-border-radius;
|
||||
}
|
||||
|
||||
.form-selectgroup-input[type="radio"] + .form-selectgroup-label & {
|
||||
border-radius: $form-check-radio-border-radius;
|
||||
}
|
||||
|
||||
.form-selectgroup-input:checked + .form-selectgroup-label & {
|
||||
background-color: $form-check-input-checked-bg-color;
|
||||
background-repeat: $form-check-input-checked-bg-repeat;
|
||||
background-position: center;
|
||||
background-size: $form-check-input-checked-bg-size;
|
||||
border-color: $form-check-input-checked-border-color;
|
||||
}
|
||||
|
||||
.form-selectgroup-input[type="checkbox"]:checked + .form-selectgroup-label & {
|
||||
background-image: escape-svg($form-check-input-checked-bg-image);
|
||||
}
|
||||
|
||||
.form-selectgroup-input[type="radio"]:checked + .form-selectgroup-label & {
|
||||
background-image: escape-svg($form-check-radio-checked-bg-image);
|
||||
}
|
||||
}
|
||||
|
||||
.form-selectgroup-check-floated {
|
||||
position: absolute;
|
||||
top: $input-btn-padding-y;
|
||||
right: $input-btn-padding-y;
|
||||
}
|
||||
|
||||
.form-selectgroup-input:checked + .form-selectgroup-label {
|
||||
z-index: 1;
|
||||
color: #{$active-color};
|
||||
background: #{$active-bg};
|
||||
border-color: #{$active-border-color};
|
||||
}
|
||||
|
||||
.form-selectgroup-input:focus + .form-selectgroup-label {
|
||||
z-index: 2;
|
||||
color: var(--#{$prefix}primary);
|
||||
border-color: var(--#{$prefix}primary);
|
||||
box-shadow: $input-btn-focus-box-shadow;
|
||||
}
|
||||
|
||||
.form-selectgroup-label-content {
|
||||
}
|
||||
|
||||
/**
|
||||
Alternate version of form select group
|
||||
*/
|
||||
.form-selectgroup-boxes {
|
||||
.form-selectgroup-label {
|
||||
text-align: left;
|
||||
padding: $card-spacer-x $card-spacer-y;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.form-selectgroup-input:checked {
|
||||
+ .form-selectgroup-label {
|
||||
color: inherit;
|
||||
|
||||
.form-selectgroup-title {
|
||||
color: var(--#{$prefix}primary);
|
||||
}
|
||||
|
||||
.form-selectgroup-label-content {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Select group
|
||||
*/
|
||||
.form-selectgroup-pills {
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-start;
|
||||
|
||||
.form-selectgroup-item {
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
.form-selectgroup-label {
|
||||
border-radius: 50px;
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
%validation-lite {
|
||||
border-color: var(--#{$prefix}border-color) !important;
|
||||
}
|
||||
|
||||
@each $state, $data in $form-validation-states {
|
||||
.form-control.is-#{$state}-lite {
|
||||
@extend %validation-lite;
|
||||
}
|
||||
|
||||
.form-select.is-#{$state}-lite {
|
||||
@extend %validation-lite;
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
|
||||
/**
|
||||
Horizontal rules
|
||||
*/
|
||||
.hr {
|
||||
@extend hr;
|
||||
}
|
||||
|
||||
/**
|
||||
Hr text
|
||||
*/
|
||||
.hr-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: $hr-margin-y 0;
|
||||
@include subheader;
|
||||
height: 1px;
|
||||
|
||||
&:after,
|
||||
&:before {
|
||||
flex: 1 1 auto;
|
||||
height: 1px;
|
||||
background-color: var(--#{$prefix}border-color);
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
margin-right: .5rem;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
margin-left: .5rem;
|
||||
}
|
||||
|
||||
> *:first-child {
|
||||
padding-right: .5rem;
|
||||
padding-left: 0;
|
||||
color: var(--#{$prefix}secondary);
|
||||
}
|
||||
|
||||
&.hr-text-left,
|
||||
&.hr-text-start {
|
||||
&:before {
|
||||
content: none;
|
||||
}
|
||||
|
||||
& > *:first-child {
|
||||
padding-right: .5rem;
|
||||
padding-left: .5rem;
|
||||
}
|
||||
}
|
||||
|
||||
&.hr-text-right,
|
||||
&.hr-text-end {
|
||||
&:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
& > *:first-child {
|
||||
padding-right: 0;
|
||||
padding-left: .5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.card > & {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.hr-text-spaceless {
|
||||
margin: -.5rem 0;
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
.bg-white-overlay {
|
||||
color: $white;
|
||||
background-color: rgba($light, .24);
|
||||
}
|
||||
|
||||
.bg-dark-overlay {
|
||||
color: $white;
|
||||
background-color: rgba($dark, .24);
|
||||
}
|
||||
|
||||
.bg-cover {
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
// All colors
|
||||
@each $color, $value in map-merge($theme-colors, ( white: $white)) {
|
||||
.bg-#{"" + $color} {
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}bg-opacity, 1) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.bg-#{"" + $color}-lt {
|
||||
color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}text-opacity, 1) * 100%), transparent) !important;
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}-lt) calc(var(--#{$prefix}bg-opacity, 1) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.border-#{"" + $color} {
|
||||
border-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}border-opacity, 1) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.bg-gradient-from-#{"" + $color} {
|
||||
--#{$prefix}gradient-from: var(--#{$prefix}#{$color});
|
||||
}
|
||||
|
||||
.bg-gradient-to-#{"" + $color} {
|
||||
--#{$prefix}gradient-to: var(--#{$prefix}#{$color});
|
||||
}
|
||||
|
||||
.bg-gradient-via-#{"" + $color} {
|
||||
--#{$prefix}gradient-via: var(--#{$prefix}#{$color});
|
||||
--#{$prefix}gradient-stops: var(--#{$prefix}gradient-from, transparent), var(--#{$prefix}gradient-via, transparent), var(--#{$prefix}gradient-to, transparent);
|
||||
}
|
||||
|
||||
.text-bg-#{"" + $color} {
|
||||
color: color-contrast($value) if($enable-important-utilities, !important, null);
|
||||
background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
|
||||
.link-#{"" + $color} {
|
||||
color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}link-opacity, 1) * 100%), transparent) !important;
|
||||
text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}link-underline-opacity, 1) * 100%), transparent) !important;
|
||||
|
||||
@if $link-shade-percentage != 0 {
|
||||
&:hover,
|
||||
&:focus {
|
||||
$hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));
|
||||
color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);
|
||||
text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
.text-#{"" + $color} {
|
||||
--#{$prefix}text-opacity: 1;
|
||||
color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}text-opacity) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.text-#{"" + $color}-fg {
|
||||
color: var(--#{$prefix}#{$color}-fg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $gray-colors {
|
||||
.bg-#{"" + $color} {
|
||||
--#{$prefix}bg-opacity: 1;
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}bg-opacity) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.text-#{"" + $color}-fg {
|
||||
color: var(--#{$prefix}#{$color}-fg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $social-colors {
|
||||
.bg-#{"" + $color} {
|
||||
--#{$prefix}bg-opacity: 1;
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}bg-opacity) * 100%), transparent) !important;
|
||||
}
|
||||
|
||||
.text-#{"" + $color}-fg {
|
||||
color: var(--#{$prefix}#{$color}-fg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.bg-inverted {
|
||||
--#{$prefix}bg-opacity: 1;
|
||||
background-color: color-mix(in srgb, var(--#{$prefix}bg-surface-inverted) calc(var(--#{$prefix}bg-opacity) * 100%), transparent) !important;
|
||||
}
|
||||
.bg-surface {
|
||||
background-color: var(--#{$prefix}bg-surface) !important;
|
||||
}
|
||||
|
||||
.bg-surface-secondary {
|
||||
background-color: var(--#{$prefix}bg-surface-secondary) !important;
|
||||
}
|
||||
|
||||
.bg-surface-tertiary {
|
||||
background-color: var(--#{$prefix}bg-surface-tertiary) !important;
|
||||
}
|
||||
|
||||
.bg-surface-backdrop {
|
||||
background-color: color-transparent($modal-backdrop-bg, $modal-backdrop-opacity) !important;
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// stylelint-disable declaration-no-important
|
||||
|
||||
@for $i from 0 through 20 {
|
||||
.opacity-#{$i * 5} {
|
||||
opacity: calc(#{$i * 5} / 100) !important;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user