mirror of
https://github.com/tabler/tabler.git
synced 2025-12-21 17:34:25 +04:00
Add theme settings (#2054)
This commit is contained in:
5
.changeset/shy-mangos-sit.md
Normal file
5
.changeset/shy-mangos-sit.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@tabler/core": minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Add theme settings wizard
|
||||||
@@ -29,8 +29,5 @@
|
|||||||
@import "bootstrap/scss/offcanvas";
|
@import "bootstrap/scss/offcanvas";
|
||||||
@import "bootstrap/scss/placeholders";
|
@import "bootstrap/scss/placeholders";
|
||||||
|
|
||||||
// Helpers
|
|
||||||
@import "bootstrap/scss/helpers";
|
|
||||||
|
|
||||||
// Utilities
|
// Utilities
|
||||||
@import "bootstrap/scss/utilities/api";
|
@import "bootstrap/scss/utilities/api";
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
@import "config";
|
@import "config";
|
||||||
@import "bootstrap-components";
|
@import "bootstrap-components";
|
||||||
|
|
||||||
|
@import "props";
|
||||||
|
|
||||||
@import "fonts/webfonts";
|
@import "fonts/webfonts";
|
||||||
|
|
||||||
@import "layout/root";
|
@import "layout/root";
|
||||||
@@ -65,6 +67,8 @@
|
|||||||
@import "ui/chat";
|
@import "ui/chat";
|
||||||
@import "ui/signature";
|
@import "ui/signature";
|
||||||
|
|
||||||
|
@import "helpers/index";
|
||||||
|
|
||||||
@import "utils/background";
|
@import "utils/background";
|
||||||
@import "utils/colors";
|
@import "utils/colors";
|
||||||
@import "utils/scroll";
|
@import "utils/scroll";
|
||||||
|
|||||||
87
core/scss/_props.scss
Normal file
87
core/scss/_props.scss
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
@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))};
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Social colors */
|
||||||
|
@each $name, $color in $social-colors {
|
||||||
|
--#{$prefix}#{$name}: #{$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 {
|
||||||
|
--#{$prefix}border-radius#{if($name, '-#{$name}', '')}: calc(#{$value} * var(--#{$prefix}border-radius-scale, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 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));
|
||||||
|
}
|
||||||
@@ -24,8 +24,9 @@ $font-local: null !default;
|
|||||||
$font-icons: () !default;
|
$font-icons: () !default;
|
||||||
|
|
||||||
$font-family-sans-serif: unquote("#{if($font-local, "#{$font-local}, ", ' ')}#{if($font-google, "#{$font-google}, ", ' ')}") 'Inter Var', Inter, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif !default;
|
$font-family-sans-serif: unquote("#{if($font-local, "#{$font-local}, ", ' ')}#{if($font-google, "#{$font-google}, ", ' ')}") 'Inter Var', Inter, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif !default;
|
||||||
$font-family-monospace: unquote("#{if($font-google-monospaced, "#{$font-google-monospaced}, ", '')}") Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace !default;
|
$font-family-monospace: unquote("#{if($font-google-monospaced, "#{$font-google-monospaced}, ", '')}") Monaco, Consolas, Liberation Mono, Courier New, monospace !default;
|
||||||
$font-family-serif: "Georgia", "Times New Roman", times, serif !default;
|
$font-family-serif: "Georgia", "Times New Roman", times, serif !default;
|
||||||
|
$font-family-comic: "Comic Sans MS", "Comic Sans", 'Chalkboard SE', 'Comic Neue', sans-serif, cursive !default;
|
||||||
|
|
||||||
//Icons
|
//Icons
|
||||||
$icon-stroke-width: 1.5 !default;
|
$icon-stroke-width: 1.5 !default;
|
||||||
@@ -144,16 +145,17 @@ $border-light-opacity: 0.08 !default;
|
|||||||
$border-dark-opacity: 0.24 !default;
|
$border-dark-opacity: 0.24 !default;
|
||||||
$border-active-opacity: 0.58 !default;
|
$border-active-opacity: 0.58 !default;
|
||||||
|
|
||||||
$gray-50: #f6f8fb !default;
|
$gray-50: #f9fafb !default;
|
||||||
$gray-100: #eef3f6 !default;
|
$gray-100: #f3f4f6 !default;
|
||||||
$gray-200: #dce1e7 !default;
|
$gray-200: #e5e7eb !default;
|
||||||
$gray-300: #b8c4d4 !default;
|
$gray-300: #d1d5db !default;
|
||||||
$gray-400: #8a97ab !default;
|
$gray-400: #9ca3af !default;
|
||||||
$gray-500: #6c7a91 !default;
|
$gray-500: #6b7280 !default;
|
||||||
$gray-600: #49566c !default;
|
$gray-600: #4b5563 !default;
|
||||||
$gray-700: #3a4859 !default;
|
$gray-700: #374151 !default;
|
||||||
$gray-800: #182433 !default;
|
$gray-800: #1f2937 !default;
|
||||||
$gray-900: #040a11 !default;
|
$gray-900: #111827 !default;
|
||||||
|
$gray-950: #030712 !default;
|
||||||
|
|
||||||
$black: #000000 !default;
|
$black: #000000 !default;
|
||||||
$white: #ffffff !default;
|
$white: #ffffff !default;
|
||||||
@@ -186,19 +188,7 @@ $green: #2fb344 !default;
|
|||||||
$teal: #0ca678 !default;
|
$teal: #0ca678 !default;
|
||||||
$cyan: #17a2b8 !default;
|
$cyan: #17a2b8 !default;
|
||||||
|
|
||||||
$color-blue: #066fd1;
|
$text-muted: $gray-500 !default;
|
||||||
$color-azure: #3586c9;
|
|
||||||
$color-indigo: #4263eb;
|
|
||||||
$color-purple: #ae3ec9;
|
|
||||||
$color-pink: #d6336c;
|
|
||||||
$color-red: #e73f3f;
|
|
||||||
$color-orange: #f76707;
|
|
||||||
$color-yellow: #f59f00;
|
|
||||||
$color-lime: #74b816;
|
|
||||||
$color-green: #2fb344;
|
|
||||||
$color-teal: #0ca678;
|
|
||||||
$color-cyan: #17a2b8;
|
|
||||||
|
|
||||||
$text-secondary: $gray-500 !default;
|
$text-secondary: $gray-500 !default;
|
||||||
$text-secondary-light: $gray-400 !default;
|
$text-secondary-light: $gray-400 !default;
|
||||||
$text-secondary-dark: $gray-600 !default;
|
$text-secondary-dark: $gray-600 !default;
|
||||||
@@ -223,6 +213,7 @@ $disabled-color: var(--#{$prefix}gray-300) !default;
|
|||||||
|
|
||||||
$primary: $blue !default;
|
$primary: $blue !default;
|
||||||
$secondary: $text-secondary !default;
|
$secondary: $text-secondary !default;
|
||||||
|
$muted: $text-secondary !default;
|
||||||
$success: $green !default;
|
$success: $green !default;
|
||||||
$info: $azure !default;
|
$info: $azure !default;
|
||||||
$warning: $orange !default;
|
$warning: $orange !default;
|
||||||
@@ -232,14 +223,14 @@ $link-color: $primary !default;
|
|||||||
|
|
||||||
$theme-colors: (
|
$theme-colors: (
|
||||||
"primary": $primary,
|
"primary": $primary,
|
||||||
"secondary": $text-secondary,
|
"secondary": $secondary,
|
||||||
"success": $success,
|
"success": $success,
|
||||||
"info": $info,
|
"info": $info,
|
||||||
"warning": $warning,
|
"warning": $warning,
|
||||||
"danger": $danger,
|
"danger": $danger,
|
||||||
"light": $light,
|
"light": $light,
|
||||||
"dark": $dark,
|
"dark": $dark,
|
||||||
"muted": $text-secondary,
|
"muted": $muted,
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
$extra-colors: (
|
$extra-colors: (
|
||||||
@@ -289,7 +280,16 @@ $gray-colors: (
|
|||||||
gray-900: $gray-900,
|
gray-900: $gray-900,
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
$theme-colors: map-merge($theme-colors, map-merge($extra-colors, $social-colors));
|
$theme-colors: map-merge($theme-colors, map-merge($extra-colors, ()));
|
||||||
|
|
||||||
|
// BACKDROPS
|
||||||
|
$backdrop-opacity: 24% !default;
|
||||||
|
$backdrop-blur: 4px !default;
|
||||||
|
$backdrop-bg: var(--#{$prefix}gray-800) !default;
|
||||||
|
$backdrops: (
|
||||||
|
dark: color-mix(in srgb, var(--#{$prefix}color-dark), transparent var(--#{$prefix}backdrop-opacity)),
|
||||||
|
light: color-mix(in srgb, var(--#{$prefix}color-light), transparent var(--#{$prefix}backdrop-opacity)),
|
||||||
|
) !default;
|
||||||
|
|
||||||
// Borders
|
// Borders
|
||||||
$border-width: 1px !default;
|
$border-width: 1px !default;
|
||||||
@@ -300,6 +300,15 @@ $border-radius: 6px !default;
|
|||||||
$border-radius-lg: 8px !default;
|
$border-radius-lg: 8px !default;
|
||||||
$border-radius-pill: 100rem !default;
|
$border-radius-pill: 100rem !default;
|
||||||
|
|
||||||
|
$border-radiuses: (
|
||||||
|
0: 0,
|
||||||
|
sm: $border-radius-sm,
|
||||||
|
md: $border-radius,
|
||||||
|
lg: $border-radius-lg,
|
||||||
|
pill: $border-radius-pill,
|
||||||
|
null: var(--#{$prefix}border-radius-md),
|
||||||
|
) !default;
|
||||||
|
|
||||||
$border-values: (
|
$border-values: (
|
||||||
null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $border-color-translucent,
|
null: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $border-color-translucent,
|
||||||
wide: $border-width-wide var(--#{$prefix}border-style) $border-color-translucent,
|
wide: $border-width-wide var(--#{$prefix}border-style) $border-color-translucent,
|
||||||
@@ -380,7 +389,7 @@ $avatar-sizes: (
|
|||||||
) !default;
|
) !default;
|
||||||
$avatar-border-radius: var(--#{$prefix}border-radius) !default;
|
$avatar-border-radius: var(--#{$prefix}border-radius) !default;
|
||||||
$avatar-font-size: $h4-font-size !default;
|
$avatar-font-size: $h4-font-size !default;
|
||||||
$avatar-box-shadow: var(--#{$prefix}box-shadow-border) !default;
|
$avatar-box-shadow: var(--#{$prefix}shadow-border) !default;
|
||||||
$avatar-list-spacing: -0.5;
|
$avatar-list-spacing: -0.5;
|
||||||
|
|
||||||
$link-decoration: none !default;
|
$link-decoration: none !default;
|
||||||
@@ -498,13 +507,13 @@ $box-shadow-card-hover: rgba(var(--#{$prefix}body-color-rgb), 0.16) 0 2px 16px 0
|
|||||||
$box-shadow-dropdown: 0 16px 24px 2px rgba(0, 0, 0, 0.07), 0 6px 30px 5px rgba(0, 0, 0, 0.06), 0 8px 10px -5px rgba(0, 0, 0, 0.1) !default;
|
$box-shadow-dropdown: 0 16px 24px 2px rgba(0, 0, 0, 0.07), 0 6px 30px 5px rgba(0, 0, 0, 0.06), 0 8px 10px -5px rgba(0, 0, 0, 0.1) !default;
|
||||||
|
|
||||||
$box-shadows: (
|
$box-shadows: (
|
||||||
box-shadow: $box-shadow,
|
null: $box-shadow,
|
||||||
box-shadow-border: $box-shadow-border,
|
border: $box-shadow-border,
|
||||||
box-shadow-transparent: $box-shadow-transparent,
|
transparent: $box-shadow-transparent,
|
||||||
box-shadow-input: $box-shadow-input,
|
input: $box-shadow-input,
|
||||||
box-shadow-card: $box-shadow-card,
|
card: $box-shadow-card,
|
||||||
box-shadow-card-hover: $box-shadow-card-hover,
|
card-hover: $box-shadow-card-hover,
|
||||||
box-shadow-dropdown: $box-shadow-dropdown,
|
dropdown: $box-shadow-dropdown,
|
||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
$box-shadow-inset: 0 0 transparent !default;
|
$box-shadow-inset: 0 0 transparent !default;
|
||||||
@@ -569,7 +578,7 @@ $badge-bg-color: var(--#{$prefix}bg-surface-secondary) !default;
|
|||||||
// Buttons
|
// Buttons
|
||||||
$input-btn-line-height: $line-height-base !default;
|
$input-btn-line-height: $line-height-base !default;
|
||||||
$input-btn-font-size: $font-size-base !default;
|
$input-btn-font-size: $font-size-base !default;
|
||||||
$input-btn-font-family: var(--#{$prefix}font-sans-serif) !default;
|
$input-btn-font-family: var(--#{$prefix}body-font-face) !default;
|
||||||
$input-btn-padding-y: 0.5rem - 0.0625rem !default;
|
$input-btn-padding-y: 0.5rem - 0.0625rem !default;
|
||||||
$input-btn-icon-size: $icon-size !default;
|
$input-btn-icon-size: $icon-size !default;
|
||||||
|
|
||||||
@@ -594,7 +603,7 @@ $input-height-lg: null !default;
|
|||||||
$input-border-radius: var(--#{$prefix}border-radius) !default;
|
$input-border-radius: var(--#{$prefix}border-radius) !default;
|
||||||
$input-color: var(--#{$prefix}body-color) !default;
|
$input-color: var(--#{$prefix}body-color) !default;
|
||||||
$input-focus-color: var(--#{$prefix}body-color) !default;
|
$input-focus-color: var(--#{$prefix}body-color) !default;
|
||||||
$input-box-shadow: var(--#{$prefix}box-shadow-input) !default;
|
$input-box-shadow: var(--#{$prefix}shadow-input) !default;
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
|
$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
|
||||||
@@ -605,7 +614,7 @@ $btn-padding-x: 1rem !default;
|
|||||||
$btn-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
$btn-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
||||||
$btn-border-color: var(--#{$prefix}border-color) !default;
|
$btn-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$btn-border-radius: var(--#{$prefix}border-radius) !default;
|
$btn-border-radius: var(--#{$prefix}border-radius) !default;
|
||||||
$btn-box-shadow: var(--#{$prefix}box-shadow-input) !default;
|
$btn-box-shadow: var(--#{$prefix}shadow-input) !default;
|
||||||
|
|
||||||
// Cards
|
// Cards
|
||||||
$card-title-spacer-y: 1.25rem !default;
|
$card-title-spacer-y: 1.25rem !default;
|
||||||
@@ -677,16 +686,16 @@ $dropdown-max-width: 25rem !default;
|
|||||||
$dropdown-scrollable-height: 13rem !default;
|
$dropdown-scrollable-height: 13rem !default;
|
||||||
$dropdown-link-active-color: var(--#{$prefix}primary) !default;
|
$dropdown-link-active-color: var(--#{$prefix}primary) !default;
|
||||||
$dropdown-link-active-bg: var(--#{$prefix}active-bg) !default;
|
$dropdown-link-active-bg: var(--#{$prefix}active-bg) !default;
|
||||||
$dropdown-box-shadow: var(--#{$prefix}box-shadow-dropdown) !default;
|
$dropdown-box-shadow: var(--#{$prefix}shadow-dropdown) !default;
|
||||||
|
|
||||||
$dropdown-divider-bg: $dropdown-border-color !default;
|
$dropdown-divider-bg: $dropdown-border-color !default;
|
||||||
$dropdown-divider-margin-y: var(--#{$prefix}spacer-2) !default;
|
$dropdown-divider-margin-y: var(--#{$prefix}spacer-2) !default;
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip
|
||||||
$tooltip-bg: var(--#{$prefix}bg-surface-dark) !default;
|
$tooltip-bg: var(--#{$prefix}bg-surface-inverted) !default;
|
||||||
$tooltip-color: var(--#{$prefix}light) !default;
|
$tooltip-color: var(--#{$prefix}text-inverted) !default;
|
||||||
$tooltip-padding-y: var(--#{$prefix}spacer-1) !default;
|
$tooltip-padding-y: var(--#{$prefix}spacer-1) !default;
|
||||||
$tooltip-padding-x: var(--#{$prefix}spacer-2) !default;
|
$tooltip-padding-x: var(--#{$prefix}spacer-3) !default;
|
||||||
|
|
||||||
// Loader
|
// Loader
|
||||||
$loader-size: 2.5rem !default;
|
$loader-size: 2.5rem !default;
|
||||||
@@ -701,7 +710,7 @@ $list-group-item-padding-x: $card-cap-padding-x !default;
|
|||||||
|
|
||||||
// Modals
|
// Modals
|
||||||
$modal-backdrop-opacity: 0.24 !default;
|
$modal-backdrop-opacity: 0.24 !default;
|
||||||
$modal-backdrop-bg: $dark !default;
|
$modal-backdrop-bg: $backdrop-bg !default;
|
||||||
$modal-backdrop-blur: 4px !default;
|
$modal-backdrop-blur: 4px !default;
|
||||||
|
|
||||||
$modal-fade-transform: translate(0, -1rem) !default;
|
$modal-fade-transform: translate(0, -1rem) !default;
|
||||||
@@ -760,7 +769,7 @@ $navbar-height: 3.5rem !default;
|
|||||||
$navbar-padding-y: 0.25rem !default;
|
$navbar-padding-y: 0.25rem !default;
|
||||||
$navbar-light-color: var(--#{$prefix}secondary) !default;
|
$navbar-light-color: var(--#{$prefix}secondary) !default;
|
||||||
|
|
||||||
$navbar-hover-color: $white !default;
|
$navbar-hover-color: var(--#{$prefix}body-color) !default;
|
||||||
|
|
||||||
$navbar-border-width: var(--#{$prefix}border-width) !default;
|
$navbar-border-width: var(--#{$prefix}border-width) !default;
|
||||||
$navbar-border-color: var(--#{$prefix}border-color) !default;
|
$navbar-border-color: var(--#{$prefix}border-color) !default;
|
||||||
@@ -899,7 +908,7 @@ $input-bg: var(--#{$prefix}bg-forms) !default;
|
|||||||
$input-disabled-bg: $disabled-bg !default;
|
$input-disabled-bg: $disabled-bg !default;
|
||||||
$input-border-color: var(--#{$prefix}border-color) !default;
|
$input-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$input-border-color-translucent: var(--#{$prefix}border-color-translucent) !default;
|
$input-border-color-translucent: var(--#{$prefix}border-color-translucent) !default;
|
||||||
$input-placeholder-color: $text-secondary-light !default;
|
$input-placeholder-color: var(--#{$prefix}tertiary) !default;
|
||||||
|
|
||||||
$input-group-addon-bg: var(--#{$prefix}bg-surface-secondary) !default;
|
$input-group-addon-bg: var(--#{$prefix}bg-surface-secondary) !default;
|
||||||
$input-group-addon-color: var(--#{$prefix}gray-500) !default;
|
$input-group-addon-color: var(--#{$prefix}gray-500) !default;
|
||||||
@@ -930,7 +939,7 @@ $form-check-radio-checked-bg-image: url("data:image/svg+xml,<svg xmlns='http://w
|
|||||||
$form-check-label-disabled-opacity: $text-secondary-opacity;
|
$form-check-label-disabled-opacity: $text-secondary-opacity;
|
||||||
|
|
||||||
$form-select-indicator-color: $text-secondary-light !default;
|
$form-select-indicator-color: $text-secondary-light !default;
|
||||||
$form-select-box-shadow: var(--#{$prefix}box-shadow-input) !default;
|
$form-select-box-shadow: var(--#{$prefix}shadow-input) !default;
|
||||||
|
|
||||||
$form-switch-width: 2rem !default;
|
$form-switch-width: 2rem !default;
|
||||||
$form-switch-height: 1.25rem !default;
|
$form-switch-height: 1.25rem !default;
|
||||||
@@ -959,7 +968,7 @@ $form-feedback-icon-invalid: str-replace(
|
|||||||
$form-label-font-size: $h4-font-size !default;
|
$form-label-font-size: $h4-font-size !default;
|
||||||
$form-label-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
$form-label-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
||||||
|
|
||||||
$form-secondary-color: var(--#{$prefix}gray-500) !default;
|
$form-secondary-color: var(--#{$prefix}secondary) !default;
|
||||||
|
|
||||||
// Legend
|
// Legend
|
||||||
$legend-bg: var(--#{$prefix}border-color) !default;
|
$legend-bg: var(--#{$prefix}border-color) !default;
|
||||||
@@ -967,7 +976,7 @@ $legend-size: 0.75em !default;
|
|||||||
$legend-border-radius: var(--#{$prefix}border-radius-sm) !default;
|
$legend-border-radius: var(--#{$prefix}border-radius-sm) !default;
|
||||||
|
|
||||||
// Flags
|
// Flags
|
||||||
$flag-box-shadow: var(--#{$prefix}box-shadow-border) !default;
|
$flag-box-shadow: var(--#{$prefix}shadow-border) !default;
|
||||||
$flag-border-radius: var(--#{$prefix}border-radius) !default;
|
$flag-border-radius: var(--#{$prefix}border-radius) !default;
|
||||||
$flag-sizes: $avatar-sizes !default;
|
$flag-sizes: $avatar-sizes !default;
|
||||||
|
|
||||||
@@ -977,6 +986,7 @@ $payment-sizes: $avatar-sizes !default;
|
|||||||
// Offcanvas
|
// Offcanvas
|
||||||
$offcanvas-bg-color: var(--#{$prefix}bg-surface) !default;
|
$offcanvas-bg-color: var(--#{$prefix}bg-surface) !default;
|
||||||
$offcanvas-border-color: var(--#{$prefix}border-color) !default;
|
$offcanvas-border-color: var(--#{$prefix}border-color) !default;
|
||||||
|
$offcanvas-backdrop-bg: $backdrop-bg !default;
|
||||||
|
|
||||||
// Placeholder
|
// Placeholder
|
||||||
$placeholder-opacity-min: 0.1 !default;
|
$placeholder-opacity-min: 0.1 !default;
|
||||||
|
|||||||
143
core/scss/helpers/_index.scss
Normal file
143
core/scss/helpers/_index.scss
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -2,8 +2,9 @@
|
|||||||
|
|
||||||
// stylelint-disable declaration-no-important
|
// stylelint-disable declaration-no-important
|
||||||
|
|
||||||
body {
|
@if $enable-dark-mode {
|
||||||
&:not(.theme-dark):not([data-bs-theme=dark]) {
|
:root {
|
||||||
|
&:not(.theme-dark):not([data-bs-theme="dark"]) {
|
||||||
.hide-theme-light {
|
.hide-theme-light {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
@@ -14,7 +15,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.theme-dark,
|
&.theme-dark,
|
||||||
&[data-bs-theme=dark] {
|
&[data-bs-theme="dark"] {
|
||||||
.hide-theme-dark {
|
.hide-theme-dark {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
@@ -25,30 +26,31 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@if $enable-dark-mode {
|
|
||||||
@include color-mode(dark, true) {
|
|
||||||
--#{$prefix}body-color: #{$body-color-dark};
|
|
||||||
--#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
|
|
||||||
--#{$prefix}muted: #{$text-secondary-dark};
|
|
||||||
|
|
||||||
--#{$prefix}body-bg: #{$darken-dark};
|
@include color-mode(dark, true) {
|
||||||
--#{$prefix}body-bg-rgb: #{to-rgb($darken-dark)};
|
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: #{$body-emphasis-color-dark};
|
||||||
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
|
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
|
||||||
|
|
||||||
--#{$prefix}bg-forms: #{$darken-dark};
|
--#{$prefix}bg-forms: var(--#{$prefix}gray-900);
|
||||||
--#{$prefix}bg-surface: #{$dark};
|
--#{$prefix}bg-surface: var(--#{$prefix}gray-800);
|
||||||
--#{$prefix}bg-surface-dark: #{$darken-dark};
|
--#{$prefix}bg-surface-inverted: var(--#{$prefix}gray-100);
|
||||||
--#{$prefix}bg-surface-secondary: #{$lighten-dark};
|
--#{$prefix}bg-surface-secondary: var(--#{$prefix}gray-900);
|
||||||
--#{$prefix}bg-surface-tertiary: #{$darken-dark};
|
--#{$prefix}bg-surface-tertiary: var(--#{$prefix}gray-800);
|
||||||
|
|
||||||
--#{$prefix}link-color: #{color.adjust($primary, $lightness: 8%)};
|
--#{$prefix}text-inverted: var(--#{$prefix}gray-800);
|
||||||
--#{$prefix}link-hover-color: #{$primary};
|
|
||||||
|
--#{$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}active-bg: #{$lighten-dark};
|
||||||
--#{$prefix}disabled-color: var(--#{$prefix}gray-700);
|
--#{$prefix}disabled-color: var(--#{$prefix}gray-700);
|
||||||
|
|
||||||
--#{$prefix}border-color: var(--#{$prefix}dark-mode-border-color);
|
--#{$prefix}border-color: var(--#{$prefix}gray-700);
|
||||||
--#{$prefix}border-color-translucent: var(
|
--#{$prefix}border-color-translucent: var(
|
||||||
--#{$prefix}dark-mode-border-color-translucent
|
--#{$prefix}dark-mode-border-color-translucent
|
||||||
);
|
);
|
||||||
@@ -62,13 +64,6 @@ body {
|
|||||||
--#{$prefix}code-color: var(--#{$prefix}body-color);
|
--#{$prefix}code-color: var(--#{$prefix}body-color);
|
||||||
--#{$prefix}code-bg: #{$border-dark-color-dark};
|
--#{$prefix}code-bg: #{$border-dark-color-dark};
|
||||||
|
|
||||||
@each $color, $value in $theme-colors {
|
|
||||||
--#{$prefix}#{$color}-lt: #{theme-color-lighter($value, $dark)};
|
|
||||||
--#{$prefix}#{$color}-lt-rgb: #{to-rgb(
|
|
||||||
theme-color-lighter($value, $dark)
|
|
||||||
)};
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-brand-autodark {
|
.navbar-brand-autodark {
|
||||||
.navbar-brand-image {
|
.navbar-brand-image {
|
||||||
@include autodark-image;
|
@include autodark-image;
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ Navbar
|
|||||||
--#{$prefix}navbar-active-border-color: #{$navbar-active-border-color};
|
--#{$prefix}navbar-active-border-color: #{$navbar-active-border-color};
|
||||||
--#{$prefix}navbar-active-bg: #{$navbar-light-active-bg};
|
--#{$prefix}navbar-active-bg: #{$navbar-light-active-bg};
|
||||||
--#{$prefix}navbar-border-color: #{$navbar-border-color};
|
--#{$prefix}navbar-border-color: #{$navbar-border-color};
|
||||||
|
--#{$prefix}navbar-hover-color: #{$navbar-hover-color};
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
min-height: $navbar-height;
|
min-height: $navbar-height;
|
||||||
box-shadow: inset 0 calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 var(--#{$prefix}navbar-border-color);
|
box-shadow: inset 0 calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 var(--#{$prefix}navbar-border-color);
|
||||||
|
|||||||
@@ -2,31 +2,34 @@
|
|||||||
:host {
|
:host {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:root,
|
:root,
|
||||||
:host,
|
:host,
|
||||||
[data-bs-theme="light"] {
|
[data-bs-theme="light"] {
|
||||||
@each $name, $color in map-merge($theme-colors, $gray-colors) {
|
color-scheme: light;
|
||||||
--#{$prefix}#{$name}: #{$color};
|
--#{$prefix}spacer: var(--#{$prefix}spacer-2);
|
||||||
--#{$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}-lt: #{theme-color-lighter($color)};
|
|
||||||
--#{$prefix}#{$name}-lt-rgb: #{to-rgb(theme-color-lighter($color))};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $name, $value in $spacers {
|
--#{$prefix}bg-surface: var(--#{$prefix}bg-surface-primary);
|
||||||
--#{$prefix}spacer-#{$name}: #{$value};
|
--#{$prefix}bg-surface-primary: var(--#{$prefix}white);
|
||||||
}
|
--#{$prefix}bg-surface-secondary: var(--#{$prefix}gray-50);
|
||||||
--#{$prefix}spacer: #{$spacer};
|
--#{$prefix}bg-surface-tertiary: var(--#{$prefix}gray-50);
|
||||||
|
--#{$prefix}bg-surface-dark: var(--#{$prefix}gray-900);
|
||||||
--#{$prefix}bg-surface: #{$bg-surface};
|
--#{$prefix}bg-surface-inverted: var(--#{$prefix}gray-900);
|
||||||
--#{$prefix}bg-surface-secondary: #{$bg-surface-secondary};
|
|
||||||
--#{$prefix}bg-surface-tertiary: #{$bg-surface-tertiary};
|
|
||||||
--#{$prefix}bg-surface-dark: #{$bg-surface-dark};
|
|
||||||
--#{$prefix}bg-forms: var(--#{$prefix}bg-surface);
|
--#{$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: #{$border-color};
|
||||||
--#{$prefix}border-color-translucent: #{$border-color-translucent};
|
--#{$prefix}border-color-translucent: #{$border-color-translucent};
|
||||||
--#{$prefix}border-dark-color: #{$border-dark-color};
|
--#{$prefix}border-dark-color: #{$border-dark-color};
|
||||||
@@ -50,23 +53,8 @@
|
|||||||
|
|
||||||
--#{$prefix}page-padding: #{$page-padding};
|
--#{$prefix}page-padding: #{$page-padding};
|
||||||
--#{$prefix}page-padding-y: #{$page-padding-y};
|
--#{$prefix}page-padding-y: #{$page-padding-y};
|
||||||
|
|
||||||
@include media-breakpoint-down($cards-grid-breakpoint) {
|
@include media-breakpoint-down($cards-grid-breakpoint) {
|
||||||
--#{$prefix}page-padding: #{$page-padding-sm};
|
--#{$prefix}page-padding: #{$page-padding-sm};
|
||||||
}
|
}
|
||||||
|
|
||||||
@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};
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $name, $value in $box-shadows {
|
|
||||||
--#{$prefix}#{$name}: #{$value};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -4,5 +4,5 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.body-gradient {
|
.body-gradient {
|
||||||
background: var(--tblr-bg-surface) linear-gradient(to bottom, var(--tblr-bg-surface-secondary) 12%, var(--tblr-bg-surface) 99%) repeat-x top center/100% 100vh;
|
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;
|
||||||
}
|
}
|
||||||
@@ -39,7 +39,7 @@ $pricing-card-width: 22rem;
|
|||||||
|
|
||||||
&.featured {
|
&.featured {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
border: 2px solid $primary;
|
border: 2px solid var(--#{$prefix}primary);
|
||||||
order: -1;
|
order: -1;
|
||||||
|
|
||||||
@include media-breakpoint-up(md) {
|
@include media-breakpoint-up(md) {
|
||||||
|
|||||||
1
core/scss/tabler-props.scss
Normal file
1
core/scss/tabler-props.scss
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@import "props"
|
||||||
121
core/scss/tabler-themes.scss
Normal file
121
core/scss/tabler-themes.scss
Normal file
@@ -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%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
@import "core";
|
@import "core";
|
||||||
|
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
--#{$prefix}btn-border-color: #{$btn-border-color};
|
--#{$prefix}btn-border-color: #{$btn-border-color};
|
||||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}btn-bg);
|
--#{$prefix}btn-hover-bg: var(--#{$prefix}btn-bg);
|
||||||
--#{$prefix}btn-hover-border-color: var(--#{$prefix}border-active-color);
|
--#{$prefix}btn-hover-border-color: var(--#{$prefix}border-active-color);
|
||||||
--#{$prefix}btn-box-shadow: var(--#{$prefix}box-shadow-input);
|
--#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
|
||||||
--#{$prefix}btn-active-color: #{$active-color};
|
--#{$prefix}btn-active-color: #{$active-color};
|
||||||
--#{$prefix}btn-active-bg: #{$active-bg};
|
--#{$prefix}btn-active-bg: #{$active-bg};
|
||||||
--#{$prefix}btn-active-border-color: #{$active-border-color};
|
--#{$prefix}btn-active-border-color: #{$active-border-color};
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
//
|
//
|
||||||
// Button color variations
|
// Button color variations
|
||||||
//
|
//
|
||||||
@each $color, $value in $theme-colors {
|
@each $color, $value in map-merge($theme-colors, $social-colors) {
|
||||||
.btn-#{$color} {
|
.btn-#{$color} {
|
||||||
@if $color == 'dark' {
|
@if $color == 'dark' {
|
||||||
--#{$prefix}btn-border-color: var(--#{$prefix}dark-mode-border-color);
|
--#{$prefix}btn-border-color: var(--#{$prefix}dark-mode-border-color);
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
--#{$prefix}btn-active-border-color: transparent;
|
--#{$prefix}btn-active-border-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
--#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg);
|
--#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg, #{$white});
|
||||||
--#{$prefix}btn-bg: var(--#{$prefix}#{$color});
|
--#{$prefix}btn-bg: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
||||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color}-darken);
|
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color}-darken);
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color}-darken);
|
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color}-darken);
|
||||||
--#{$prefix}btn-disabled-bg: var(--#{$prefix}#{$color});
|
--#{$prefix}btn-disabled-bg: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color}-fg);
|
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color}-fg);
|
||||||
--#{$prefix}btn-box-shadow: var(--#{$prefix}box-shadow-input);
|
--#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-outline-#{$color} {
|
.btn-outline-#{$color} {
|
||||||
@@ -107,21 +107,19 @@
|
|||||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
|
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color});
|
--#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@each $name, $color in $theme-colors {
|
.btn-ghost-#{$color} {
|
||||||
.btn-ghost-#{$name} {
|
--#{$prefix}btn-color: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-color: var(--#{$prefix}#{$name});
|
|
||||||
--#{$prefix}btn-bg: transparent;
|
--#{$prefix}btn-bg: transparent;
|
||||||
--#{$prefix}btn-border-color: transparent;
|
--#{$prefix}btn-border-color: transparent;
|
||||||
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$name}-fg);
|
--#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
|
||||||
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$name});
|
--#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$name});
|
--#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-active-color: var(--#{$prefix}#{$name}-fg);
|
--#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
|
||||||
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$name});
|
--#{$prefix}btn-active-bg: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-active-border-color: transparent;
|
--#{$prefix}btn-active-border-color: transparent;
|
||||||
--#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
|
--#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
|
||||||
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$name});
|
--#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
|
||||||
--#{$prefix}btn-disabled-bg: transparent;
|
--#{$prefix}btn-disabled-bg: transparent;
|
||||||
--#{$prefix}btn-disabled-border-color: transparent;
|
--#{$prefix}btn-disabled-border-color: transparent;
|
||||||
--#{$prefix}gradient: none;
|
--#{$prefix}gradient: none;
|
||||||
@@ -186,9 +184,9 @@
|
|||||||
.btn-floating {
|
.btn-floating {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: $zindex-fixed;
|
z-index: $zindex-fixed;
|
||||||
bottom: 1.5rem;
|
bottom: 1rem;
|
||||||
right: 1.5rem;
|
left: 1rem;
|
||||||
border-radius: $border-radius-pill;
|
box-shadow: var(--#{$prefix}shadow-dropdown);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ Form control
|
|||||||
*/
|
*/
|
||||||
.form-control {
|
.form-control {
|
||||||
&:-webkit-autofill {
|
&:-webkit-autofill {
|
||||||
box-shadow: 0 0 0 1000px var(--#{$prefix}body-bg) inset;
|
box-shadow: 0 0 0 1000px var(--#{$prefix}bg-surface-secondary) inset;
|
||||||
color: var(--#{$prefix}body-color);
|
color: var(--#{$prefix}body-color);
|
||||||
-webkit-text-fill-color: var(--#{$prefix}body-color);
|
-webkit-text-fill-color: var(--#{$prefix}body-color);
|
||||||
}
|
}
|
||||||
@@ -125,7 +125,7 @@ Form control
|
|||||||
.form-fieldset {
|
.form-fieldset {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
background: var(--#{$prefix}body-bg);
|
background: var(--#{$prefix}bg-surface-secondary);
|
||||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||||
border-radius: var(--#{$prefix}border-radius);
|
border-radius: var(--#{$prefix}border-radius);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.offcanvas-header {
|
.offcanvas-header {
|
||||||
border-bottom: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $border-color-translucent;
|
border-bottom: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.offcanvas-footer {
|
.offcanvas-footer {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
border-radius: var(--#{$prefix}border-radius);
|
border-radius: var(--#{$prefix}border-radius);
|
||||||
padding: 0 0.5rem;
|
padding: 0 0.5rem;
|
||||||
background: var(--#{$prefix}bg-surface);
|
background: var(--#{$prefix}bg-surface);
|
||||||
box-shadow: var(--#{$prefix}box-shadow-input);
|
box-shadow: var(--#{$prefix}shadow-input);
|
||||||
gap: .5rem;
|
gap: .5rem;
|
||||||
|
|
||||||
.btn-close {
|
.btn-close {
|
||||||
|
|||||||
@@ -6,6 +6,11 @@
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration-skip-ink: auto;
|
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,
|
h1,
|
||||||
|
|||||||
@@ -1,20 +1,16 @@
|
|||||||
// All colors
|
// All colors
|
||||||
@each $color, $value in map-merge($theme-colors, ( white: $white)) {
|
@each $color, $value in map-merge($theme-colors, ( white: $white)) {
|
||||||
.bg-#{"" + $color} {
|
.bg-#{"" + $color} {
|
||||||
--#{$prefix}bg-opacity: 1;
|
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}bg-opacity, 1) * 100%), transparent) !important;
|
||||||
background-color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity)) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-#{"" + $color}-lt {
|
.bg-#{"" + $color}-lt {
|
||||||
--#{$prefix}bg-opacity: 1;
|
color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}text-opacity, 1) * 100%), transparent) !important;
|
||||||
--#{$prefix}text-opacity: 1;
|
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}-lt) calc(var(--#{$prefix}bg-opacity, 1) * 100%), transparent) !important;
|
||||||
color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}text-opacity)) !important;
|
|
||||||
background-color: rgba(var(--#{$prefix}#{$color}-lt-rgb), var(--#{$prefix}bg-opacity)) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-#{"" + $color} {
|
.border-#{"" + $color} {
|
||||||
--#{$prefix}border-opacity: 1;
|
border-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}border-opacity, 1) * 100%), transparent) !important;
|
||||||
border-color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}border-opacity)) !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-gradient-from-#{"" + $color} {
|
.bg-gradient-from-#{"" + $color} {
|
||||||
@@ -29,12 +25,31 @@
|
|||||||
--#{$prefix}gradient-via: var(--#{$prefix}#{$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);
|
--#{$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 {
|
@each $color, $value in $theme-colors {
|
||||||
.text-#{"" + $color} {
|
.text-#{"" + $color} {
|
||||||
--#{$prefix}text-opacity: 1;
|
--#{$prefix}text-opacity: 1;
|
||||||
color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}text-opacity)) !important;
|
color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}text-opacity) * 100%), transparent) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-#{"" + $color}-fg {
|
.text-#{"" + $color}-fg {
|
||||||
@@ -45,7 +60,7 @@
|
|||||||
@each $color, $value in $gray-colors {
|
@each $color, $value in $gray-colors {
|
||||||
.bg-#{"" + $color} {
|
.bg-#{"" + $color} {
|
||||||
--#{$prefix}bg-opacity: 1;
|
--#{$prefix}bg-opacity: 1;
|
||||||
background-color: rgba(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity)) !important;
|
background-color: color-mix(in srgb, var(--#{$prefix}#{$color}) calc(var(--#{$prefix}bg-opacity) * 100%), transparent) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-#{"" + $color}-fg {
|
.text-#{"" + $color}-fg {
|
||||||
@@ -53,6 +68,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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: $value !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 {
|
.bg-surface {
|
||||||
background-color: var(--#{$prefix}bg-surface) !important;
|
background-color: var(--#{$prefix}bg-surface) !important;
|
||||||
}
|
}
|
||||||
|
|||||||
2
core/scss/vendor/_coloris.scss
vendored
2
core/scss/vendor/_coloris.scss
vendored
@@ -1,5 +1,5 @@
|
|||||||
.clr-picker {
|
.clr-picker {
|
||||||
box-shadow: var(--#{$prefix}box-shadow-dropdown);
|
box-shadow: var(--#{$prefix}shadow-dropdown);
|
||||||
background-color: var(--#{$prefix}bg-surface);
|
background-color: var(--#{$prefix}bg-surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
core/scss/vendor/_fslightbox.scss
vendored
2
core/scss/vendor/_fslightbox.scss
vendored
@@ -1,6 +1,6 @@
|
|||||||
.fslightbox-container {
|
.fslightbox-container {
|
||||||
font-family: inherit !important;
|
font-family: inherit !important;
|
||||||
background: rgba($modal-backdrop-bg, $modal-backdrop-opacity) !important;
|
background: var(--#{$prefix}backdrop-bg) !important;
|
||||||
backdrop-filter: blur($modal-backdrop-blur) !important;
|
backdrop-filter: blur($modal-backdrop-blur) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
core/scss/vendor/_tom-select.scss
vendored
2
core/scss/vendor/_tom-select.scss
vendored
@@ -46,7 +46,7 @@ $input-border-width: 1px;
|
|||||||
.ts-dropdown {
|
.ts-dropdown {
|
||||||
background: var(--#{$prefix}bg-surface);
|
background: var(--#{$prefix}bg-surface);
|
||||||
color: var(--#{$prefix}body-color);
|
color: var(--#{$prefix}body-color);
|
||||||
box-shadow: var(--#{$prefix}box-shadow-dropdown);
|
box-shadow: var(--#{$prefix}shadow-dropdown);
|
||||||
z-index: $zindex-dropdown;
|
z-index: $zindex-dropdown;
|
||||||
|
|
||||||
.option {
|
.option {
|
||||||
|
|||||||
127
pnpm-lock.yaml
generated
127
pnpm-lock.yaml
generated
@@ -114,8 +114,8 @@ importers:
|
|||||||
specifier: ^3.31.0
|
specifier: ^3.31.0
|
||||||
version: 3.31.0
|
version: 3.31.0
|
||||||
apexcharts:
|
apexcharts:
|
||||||
specifier: ^4.5.0
|
specifier: 3.54.1
|
||||||
version: 4.5.0
|
version: 3.54.1
|
||||||
autosize:
|
autosize:
|
||||||
specifier: ^6.0.1
|
specifier: ^6.0.1
|
||||||
version: 6.0.1
|
version: 6.0.1
|
||||||
@@ -708,31 +708,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==}
|
resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
'@svgdotjs/svg.draggable.js@3.0.6':
|
|
||||||
resolution: {integrity: sha512-7iJFm9lL3C40HQcqzEfezK2l+dW2CpoVY3b77KQGqc8GXWa6LhhmX5Ckv7alQfUXBuZbjpICZ+Dvq1czlGx7gA==}
|
|
||||||
peerDependencies:
|
|
||||||
'@svgdotjs/svg.js': ^3.2.4
|
|
||||||
|
|
||||||
'@svgdotjs/svg.filter.js@3.0.9':
|
|
||||||
resolution: {integrity: sha512-/69XMRCDoam2HgC4ldHIaDgeQf1ViHIsa0Ld4uWgiXtZ+E24DWHe/9Ib6kbNiZ7WRIdlVokUDR1Fg0kjIpkfbw==}
|
|
||||||
engines: {node: '>= 0.8.0'}
|
|
||||||
|
|
||||||
'@svgdotjs/svg.js@3.2.4':
|
|
||||||
resolution: {integrity: sha512-BjJ/7vWNowlX3Z8O4ywT58DqbNRyYlkk6Yz/D13aB7hGmfQTvGX4Tkgtm/ApYlu9M7lCQi15xUEidqMUmdMYwg==}
|
|
||||||
|
|
||||||
'@svgdotjs/svg.resize.js@2.0.5':
|
|
||||||
resolution: {integrity: sha512-4heRW4B1QrJeENfi7326lUPYBCevj78FJs8kfeDxn5st0IYPIRXoTtOSYvTzFWgaWWXd3YCDE6ao4fmv91RthA==}
|
|
||||||
engines: {node: '>= 14.18'}
|
|
||||||
peerDependencies:
|
|
||||||
'@svgdotjs/svg.js': ^3.2.4
|
|
||||||
'@svgdotjs/svg.select.js': ^4.0.1
|
|
||||||
|
|
||||||
'@svgdotjs/svg.select.js@4.0.2':
|
|
||||||
resolution: {integrity: sha512-5gWdrvoQX3keo03SCmgaBbD+kFftq0F/f2bzCbNnpkkvW6tk4rl4MakORzFuNjvXPWwB4az9GwuvVxQVnjaK2g==}
|
|
||||||
engines: {node: '>= 14.18'}
|
|
||||||
peerDependencies:
|
|
||||||
'@svgdotjs/svg.js': ^3.2.4
|
|
||||||
|
|
||||||
'@swc/helpers@0.2.14':
|
'@swc/helpers@0.2.14':
|
||||||
resolution: {integrity: sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==}
|
resolution: {integrity: sha512-wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==}
|
||||||
|
|
||||||
@@ -793,8 +768,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
apexcharts@4.5.0:
|
apexcharts@3.54.1:
|
||||||
resolution: {integrity: sha512-E7ZkrVqPNBUWy/Rmg8DEIqHNBmElzICE/oxOX5Ekvs2ICQUOK/VkEkMH09JGJu+O/EA0NL31hxlmF+wrwrSLaQ==}
|
resolution: {integrity: sha512-E4et0h/J1U3r3EwS/WlqJCQIbepKbp6wGUmaAwJOMjHUP4Ci0gxanLa7FR3okx6p9coi4st6J853/Cb1NP0vpA==}
|
||||||
|
|
||||||
argparse@1.0.10:
|
argparse@1.0.10:
|
||||||
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
||||||
@@ -2380,6 +2355,37 @@ packages:
|
|||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
|
svg.draggable.js@2.2.2:
|
||||||
|
resolution: {integrity: sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.easing.js@2.0.0:
|
||||||
|
resolution: {integrity: sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.filter.js@2.0.2:
|
||||||
|
resolution: {integrity: sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.js@2.7.1:
|
||||||
|
resolution: {integrity: sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==}
|
||||||
|
|
||||||
|
svg.pathmorphing.js@0.1.3:
|
||||||
|
resolution: {integrity: sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.resize.js@1.4.3:
|
||||||
|
resolution: {integrity: sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.select.js@2.1.2:
|
||||||
|
resolution: {integrity: sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
|
svg.select.js@3.0.1:
|
||||||
|
resolution: {integrity: sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==}
|
||||||
|
engines: {node: '>= 0.8.0'}
|
||||||
|
|
||||||
term-size@2.2.1:
|
term-size@2.2.1:
|
||||||
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
|
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -3278,25 +3284,6 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp: 5.0.0
|
escape-string-regexp: 5.0.0
|
||||||
|
|
||||||
'@svgdotjs/svg.draggable.js@3.0.6(@svgdotjs/svg.js@3.2.4)':
|
|
||||||
dependencies:
|
|
||||||
'@svgdotjs/svg.js': 3.2.4
|
|
||||||
|
|
||||||
'@svgdotjs/svg.filter.js@3.0.9':
|
|
||||||
dependencies:
|
|
||||||
'@svgdotjs/svg.js': 3.2.4
|
|
||||||
|
|
||||||
'@svgdotjs/svg.js@3.2.4': {}
|
|
||||||
|
|
||||||
'@svgdotjs/svg.resize.js@2.0.5(@svgdotjs/svg.js@3.2.4)(@svgdotjs/svg.select.js@4.0.2(@svgdotjs/svg.js@3.2.4))':
|
|
||||||
dependencies:
|
|
||||||
'@svgdotjs/svg.js': 3.2.4
|
|
||||||
'@svgdotjs/svg.select.js': 4.0.2(@svgdotjs/svg.js@3.2.4)
|
|
||||||
|
|
||||||
'@svgdotjs/svg.select.js@4.0.2(@svgdotjs/svg.js@3.2.4)':
|
|
||||||
dependencies:
|
|
||||||
'@svgdotjs/svg.js': 3.2.4
|
|
||||||
|
|
||||||
'@swc/helpers@0.2.14': {}
|
'@swc/helpers@0.2.14': {}
|
||||||
|
|
||||||
'@tabler/icons@3.31.0': {}
|
'@tabler/icons@3.31.0': {}
|
||||||
@@ -3343,14 +3330,15 @@ snapshots:
|
|||||||
normalize-path: 3.0.0
|
normalize-path: 3.0.0
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
|
|
||||||
apexcharts@4.5.0:
|
apexcharts@3.54.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@svgdotjs/svg.draggable.js': 3.0.6(@svgdotjs/svg.js@3.2.4)
|
|
||||||
'@svgdotjs/svg.filter.js': 3.0.9
|
|
||||||
'@svgdotjs/svg.js': 3.2.4
|
|
||||||
'@svgdotjs/svg.resize.js': 2.0.5(@svgdotjs/svg.js@3.2.4)(@svgdotjs/svg.select.js@4.0.2(@svgdotjs/svg.js@3.2.4))
|
|
||||||
'@svgdotjs/svg.select.js': 4.0.2(@svgdotjs/svg.js@3.2.4)
|
|
||||||
'@yr/monotone-cubic-spline': 1.0.3
|
'@yr/monotone-cubic-spline': 1.0.3
|
||||||
|
svg.draggable.js: 2.2.2
|
||||||
|
svg.easing.js: 2.0.0
|
||||||
|
svg.filter.js: 2.0.2
|
||||||
|
svg.pathmorphing.js: 0.1.3
|
||||||
|
svg.resize.js: 1.4.3
|
||||||
|
svg.select.js: 3.0.1
|
||||||
|
|
||||||
argparse@1.0.10:
|
argparse@1.0.10:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4882,6 +4870,37 @@ snapshots:
|
|||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0: {}
|
supports-preserve-symlinks-flag@1.0.0: {}
|
||||||
|
|
||||||
|
svg.draggable.js@2.2.2:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
|
svg.easing.js@2.0.0:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
|
svg.filter.js@2.0.2:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
|
svg.js@2.7.1: {}
|
||||||
|
|
||||||
|
svg.pathmorphing.js@0.1.3:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
|
svg.resize.js@1.4.3:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
svg.select.js: 2.1.2
|
||||||
|
|
||||||
|
svg.select.js@2.1.2:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
|
svg.select.js@3.0.1:
|
||||||
|
dependencies:
|
||||||
|
svg.js: 2.7.1
|
||||||
|
|
||||||
term-size@2.2.1: {}
|
term-size@2.2.1: {}
|
||||||
|
|
||||||
terser@5.39.0:
|
terser@5.39.0:
|
||||||
|
|||||||
@@ -118,7 +118,8 @@ export default function (eleventyConfig) {
|
|||||||
"tabler-socials",
|
"tabler-socials",
|
||||||
"tabler-payments",
|
"tabler-payments",
|
||||||
"tabler-vendors",
|
"tabler-vendors",
|
||||||
"tabler-marketing"
|
"tabler-marketing",
|
||||||
|
"tabler-themes",
|
||||||
],
|
],
|
||||||
|
|
||||||
icons: {
|
icons: {
|
||||||
|
|||||||
@@ -4,25 +4,35 @@
|
|||||||
* This will prevent any flashes of the light theme (default) before switching.
|
* This will prevent any flashes of the light theme (default) before switching.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const themeStorageKey = "tablerTheme"
|
const themeConfig = {
|
||||||
const defaultTheme = "light"
|
"theme": "light",
|
||||||
let selectedTheme
|
"theme-base": "gray",
|
||||||
|
"theme-font": "sans-serif",
|
||||||
|
"theme-primary": "blue",
|
||||||
|
"theme-radius": "1",
|
||||||
|
}
|
||||||
|
|
||||||
// https://stackoverflow.com/a/901144
|
// https://stackoverflow.com/a/901144
|
||||||
const params = new Proxy(new URLSearchParams(window.location.search), {
|
const params = new Proxy(new URLSearchParams(window.location.search), {
|
||||||
get: (searchParams, prop) => searchParams.get(prop),
|
get: (searchParams, prop) => searchParams.get(prop),
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!!params.theme) {
|
|
||||||
localStorage.setItem(themeStorageKey, params.theme)
|
for (const key in themeConfig) {
|
||||||
selectedTheme = params.theme
|
const param = params[key]
|
||||||
|
let selectedValue
|
||||||
|
|
||||||
|
if (!!param) {
|
||||||
|
localStorage.setItem('tabler-' + key, param)
|
||||||
|
selectedValue = param
|
||||||
} else {
|
} else {
|
||||||
const storedTheme = localStorage.getItem(themeStorageKey)
|
const storedTheme = localStorage.getItem('tabler-' + key)
|
||||||
selectedTheme = storedTheme ? storedTheme : defaultTheme
|
selectedValue = storedTheme ? storedTheme : themeConfig[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedTheme === 'dark') {
|
if (selectedValue !== themeConfig[key]) {
|
||||||
document.body.setAttribute("data-bs-theme", selectedTheme)
|
document.documentElement.setAttribute('data-bs-' + key, selectedValue)
|
||||||
} else {
|
} else {
|
||||||
document.body.removeAttribute("data-bs-theme")
|
document.documentElement.removeAttribute('data-bs-' + key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"@melloware/coloris": "^0.24.0",
|
"@melloware/coloris": "^0.24.0",
|
||||||
"@tabler/core": "workspace:*",
|
"@tabler/core": "workspace:*",
|
||||||
"@tabler/icons": "^3.31.0",
|
"@tabler/icons": "^3.31.0",
|
||||||
"apexcharts": "^4.5.0",
|
"apexcharts": "3.54.1",
|
||||||
"autosize": "^6.0.1",
|
"autosize": "^6.0.1",
|
||||||
"choices.js": "^11.1.0",
|
"choices.js": "^11.1.0",
|
||||||
"countup.js": "^2.8.0",
|
"countup.js": "^2.8.0",
|
||||||
|
|||||||
@@ -128,13 +128,13 @@
|
|||||||
{
|
{
|
||||||
"name": "Affilliate",
|
"name": "Affilliate",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.8,
|
"color-opacity": "80%",
|
||||||
"data": 55
|
"data": 55
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "E-mail",
|
"name": "E-mail",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.6,
|
"color-opacity": "60%",
|
||||||
"data": 12
|
"data": 12
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -596,7 +596,7 @@
|
|||||||
0
|
0
|
||||||
],
|
],
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.8
|
"color-opacity": "80%"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Other",
|
"name": "Other",
|
||||||
@@ -640,7 +640,7 @@
|
|||||||
6
|
6
|
||||||
],
|
],
|
||||||
"color": "green",
|
"color": "green",
|
||||||
"color-opacity": 0.8
|
"color-opacity": "80%"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -817,13 +817,13 @@
|
|||||||
{
|
{
|
||||||
"name": "Reached",
|
"name": "Reached",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.8,
|
"color-opacity": "80%",
|
||||||
"data": 36
|
"data": 36
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Opened",
|
"name": "Opened",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.6,
|
"color-opacity": "60%",
|
||||||
"data": 18
|
"data": 18
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1594,19 +1594,19 @@
|
|||||||
{
|
{
|
||||||
"name": "B",
|
"name": "B",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.8,
|
"color-opacity": "80%",
|
||||||
"data": 44
|
"data": 44
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "C",
|
"name": "C",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.6,
|
"color-opacity": "60%",
|
||||||
"data": 12
|
"data": 12
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "D",
|
"name": "D",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"color-opacity": 0.4,
|
"color-opacity": "40%",
|
||||||
"data": 14
|
"data": 14
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1623,7 +1623,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Minimum",
|
"name": "Minimum",
|
||||||
"color": "green",
|
"color": "green",
|
||||||
"color-opacity": 0.8,
|
"color-opacity": "80%",
|
||||||
"data": 37
|
"data": 37
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3,13 +3,379 @@
|
|||||||
"title": "World map",
|
"title": "World map",
|
||||||
"map": "world",
|
"map": "world",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"values": "{ \"AF\": 16, \"AL\": 11, \"DZ\": 158, \"AO\": 85, \"AG\": 1, \"AR\": 351, \"AM\": 8, \"AU\": 1219, \"AT\": 366, \"AZ\": 52, \"BS\": 7, \"BH\": 21, \"BD\": 105, \"BB\": 3, \"BY\": 52, \"BE\": 461, \"BZ\": 1, \"BJ\": 6, \"BT\": 1, \"BO\": 19, \"BA\": 16, \"BW\": 12, \"BR\": 2023, \"BN\": 11, \"BG\": 44, \"BF\": 8, \"BI\": 1, \"KH\": 11, \"CM\": 21, \"CA\": 1563, \"CV\": 1, \"CF\": 2, \"TD\": 7, \"CL\": 199, \"CN\": 5745, \"CO\": 283, \"KM\": 0, \"CD\": 12, \"CG\": 11, \"CR\": 35, \"CI\": 22, \"HR\": 59, \"CY\": 22, \"CZ\": 195, \"DK\": 304, \"DJ\": 1, \"DM\": 0, \"DO\": 50, \"EC\": 61, \"EG\": 216, \"SV\": 21, \"GQ\": 14, \"ER\": 2, \"EE\": 19, \"ET\": 30, \"FJ\": 3, \"FI\": 231, \"FR\": 2555, \"GA\": 12, \"GM\": 1, \"GE\": 11, \"DE\": 3305, \"GH\": 18, \"GR\": 305, \"GD\": 0, \"GT\": 40, \"GN\": 4, \"GW\": 0, \"GY\": 2, \"HT\": 6, \"HN\": 15, \"HK\": 226, \"HU\": 132, \"IS\": 12, \"IN\": 1430, \"ID\": 695, \"IR\": 337, \"IQ\": 84, \"IE\": 204, \"IL\": 201, \"IT\": 2036, \"JM\": 13, \"JP\": 5390, \"JO\": 27, \"KZ\": 129, \"KE\": 32, \"KI\": 0, \"KR\": 986, \"KW\": 117, \"KG\": 4, \"LA\": 6, \"LV\": 23, \"LB\": 39, \"LS\": 1, \"LR\": 0, \"LY\": 77, \"LT\": 35, \"LU\": 52, \"MK\": 9, \"MG\": 8, \"MW\": 5, \"MY\": 218, \"MV\": 1, \"ML\": 9, \"MT\": 7, \"MR\": 3, \"MU\": 9, \"MX\": 1004, \"MD\": 5, \"MN\": 5, \"ME\": 3, \"MA\": 91, \"MZ\": 10, \"MM\": 35, \"NA\": 11, \"NP\": 15, \"NL\": 770, \"NZ\": 138, \"NI\": 6, \"NE\": 5, \"NG\": 206, \"NO\": 413, \"OM\": 53, \"PK\": 174, \"PA\": 27, \"PG\": 8, \"PY\": 17, \"PE\": 153, \"PH\": 189, \"PL\": 438, \"PT\": 223, \"QA\": 126, \"RO\": 158, \"RU\": 1476, \"RW\": 5, \"WS\": 0, \"ST\": 0, \"SA\": 434, \"SN\": 12, \"RS\": 38, \"SC\": 0, \"SL\": 1, \"SG\": 217, \"SK\": 86, \"SI\": 46, \"SB\": 0, \"ZA\": 354, \"ES\": 1374, \"LK\": 48, \"KN\": 0, \"LC\": 1, \"VC\": 0, \"SD\": 65, \"SR\": 3, \"SZ\": 3, \"SE\": 444, \"CH\": 522, \"SY\": 59, \"TW\": 426, \"TJ\": 5, \"TZ\": 22, \"TH\": 312, \"TL\": 0, \"TG\": 3, \"TO\": 0, \"TT\": 21, \"TN\": 43, \"TR\": 729, \"TM\": 0, \"UG\": 17, \"UA\": 136, \"AE\": 239, \"GB\": 2258, \"US\": 4624, \"UY\": 40, \"UZ\": 37, \"VU\": 0, \"VE\": 285, \"VN\": 101, \"YE\": 30, \"ZM\": 15, \"ZW\": 5 }"
|
"values": {
|
||||||
|
"AF": "scale2",
|
||||||
|
"AL": "scale2",
|
||||||
|
"DZ": "scale4",
|
||||||
|
"AO": "scale3",
|
||||||
|
"AG": "scale1",
|
||||||
|
"AR": "scale5",
|
||||||
|
"AM": "scale1",
|
||||||
|
"AU": "scale7",
|
||||||
|
"AT": "scale5",
|
||||||
|
"AZ": "scale3",
|
||||||
|
"BS": "scale1",
|
||||||
|
"BH": "scale2",
|
||||||
|
"BD": "scale4",
|
||||||
|
"BB": "scale1",
|
||||||
|
"BY": "scale3",
|
||||||
|
"BE": "scale5",
|
||||||
|
"BZ": "scale1",
|
||||||
|
"BJ": "scale1",
|
||||||
|
"BT": "scale1",
|
||||||
|
"BO": "scale2",
|
||||||
|
"BA": "scale2",
|
||||||
|
"BW": "scale2",
|
||||||
|
"BR": "scale8",
|
||||||
|
"BN": "scale2",
|
||||||
|
"BG": "scale2",
|
||||||
|
"BF": "scale1",
|
||||||
|
"BI": "scale1",
|
||||||
|
"KH": "scale2",
|
||||||
|
"CM": "scale2",
|
||||||
|
"CA": "scale7",
|
||||||
|
"CV": "scale1",
|
||||||
|
"CF": "scale1",
|
||||||
|
"TD": "scale1",
|
||||||
|
"CL": "scale4",
|
||||||
|
"CN": "scale9",
|
||||||
|
"CO": "scale5",
|
||||||
|
"KM": "scale1",
|
||||||
|
"CD": "scale2",
|
||||||
|
"CG": "scale2",
|
||||||
|
"CR": "scale2",
|
||||||
|
"CI": "scale2",
|
||||||
|
"HR": "scale3",
|
||||||
|
"CY": "scale2",
|
||||||
|
"CZ": "scale4",
|
||||||
|
"DK": "scale5",
|
||||||
|
"DJ": "scale1",
|
||||||
|
"DM": "scale1",
|
||||||
|
"DO": "scale3",
|
||||||
|
"EC": "scale3",
|
||||||
|
"EG": "scale5",
|
||||||
|
"SV": "scale2",
|
||||||
|
"GQ": "scale2",
|
||||||
|
"ER": "scale1",
|
||||||
|
"EE": "scale2",
|
||||||
|
"ET": "scale2",
|
||||||
|
"FJ": "scale1",
|
||||||
|
"FI": "scale5",
|
||||||
|
"FR": "scale8",
|
||||||
|
"GA": "scale2",
|
||||||
|
"GM": "scale1",
|
||||||
|
"GE": "scale2",
|
||||||
|
"DE": "scale8",
|
||||||
|
"GH": "scale2",
|
||||||
|
"GR": "scale5",
|
||||||
|
"GD": "scale1",
|
||||||
|
"GT": "scale2",
|
||||||
|
"GN": "scale1",
|
||||||
|
"GW": "scale1",
|
||||||
|
"GY": "scale1",
|
||||||
|
"HT": "scale1",
|
||||||
|
"HN": "scale2",
|
||||||
|
"HK": "scale5",
|
||||||
|
"HU": "scale4",
|
||||||
|
"IS": "scale2",
|
||||||
|
"IN": "scale7",
|
||||||
|
"ID": "scale6",
|
||||||
|
"IR": "scale5",
|
||||||
|
"IQ": "scale3",
|
||||||
|
"IE": "scale5",
|
||||||
|
"IL": "scale5",
|
||||||
|
"IT": "scale8",
|
||||||
|
"JM": "scale2",
|
||||||
|
"JP": "scale9",
|
||||||
|
"JO": "scale2",
|
||||||
|
"KZ": "scale4",
|
||||||
|
"KE": "scale2",
|
||||||
|
"KI": "scale1",
|
||||||
|
"KR": "scale6",
|
||||||
|
"KW": "scale4",
|
||||||
|
"KG": "scale1",
|
||||||
|
"LA": "scale1",
|
||||||
|
"LV": "scale2",
|
||||||
|
"LB": "scale2",
|
||||||
|
"LS": "scale1",
|
||||||
|
"LR": "scale1",
|
||||||
|
"LY": "scale3",
|
||||||
|
"LT": "scale2",
|
||||||
|
"LU": "scale3",
|
||||||
|
"MK": "scale1",
|
||||||
|
"MG": "scale1",
|
||||||
|
"MW": "scale1",
|
||||||
|
"MY": "scale5",
|
||||||
|
"MV": "scale1",
|
||||||
|
"ML": "scale1",
|
||||||
|
"MT": "scale1",
|
||||||
|
"MR": "scale1",
|
||||||
|
"MU": "scale1",
|
||||||
|
"MX": "scale7",
|
||||||
|
"MD": "scale1",
|
||||||
|
"MN": "scale1",
|
||||||
|
"ME": "scale1",
|
||||||
|
"MA": "scale3",
|
||||||
|
"MZ": "scale2",
|
||||||
|
"MM": "scale2",
|
||||||
|
"NA": "scale2",
|
||||||
|
"NP": "scale2",
|
||||||
|
"NL": "scale6",
|
||||||
|
"NZ": "scale4",
|
||||||
|
"NI": "scale1",
|
||||||
|
"NE": "scale1",
|
||||||
|
"NG": "scale5",
|
||||||
|
"NO": "scale5",
|
||||||
|
"OM": "scale3",
|
||||||
|
"PK": "scale4",
|
||||||
|
"PA": "scale2",
|
||||||
|
"PG": "scale1",
|
||||||
|
"PY": "scale2",
|
||||||
|
"PE": "scale4",
|
||||||
|
"PH": "scale4",
|
||||||
|
"PL": "scale10",
|
||||||
|
"PT": "scale5",
|
||||||
|
"QA": "scale4",
|
||||||
|
"RO": "scale4",
|
||||||
|
"RU": "scale7",
|
||||||
|
"RW": "scale1",
|
||||||
|
"WS": "scale1",
|
||||||
|
"ST": "scale1",
|
||||||
|
"SA": "scale5",
|
||||||
|
"SN": "scale2",
|
||||||
|
"RS": "scale2",
|
||||||
|
"SC": "scale1",
|
||||||
|
"SL": "scale1",
|
||||||
|
"SG": "scale5",
|
||||||
|
"SK": "scale3",
|
||||||
|
"SI": "scale2",
|
||||||
|
"SB": "scale1",
|
||||||
|
"ZA": "scale5",
|
||||||
|
"ES": "scale7",
|
||||||
|
"LK": "scale2",
|
||||||
|
"KN": "scale1",
|
||||||
|
"LC": "scale1",
|
||||||
|
"VC": "scale1",
|
||||||
|
"SD": "scale3",
|
||||||
|
"SR": "scale1",
|
||||||
|
"SZ": "scale1",
|
||||||
|
"SE": "scale5",
|
||||||
|
"CH": "scale6",
|
||||||
|
"SY": "scale3",
|
||||||
|
"TW": "scale5",
|
||||||
|
"TJ": "scale1",
|
||||||
|
"TZ": "scale2",
|
||||||
|
"TH": "scale5",
|
||||||
|
"TL": "scale1",
|
||||||
|
"TG": "scale1",
|
||||||
|
"TO": "scale1",
|
||||||
|
"TT": "scale2",
|
||||||
|
"TN": "scale2",
|
||||||
|
"TR": "scale6",
|
||||||
|
"TM": "scale1",
|
||||||
|
"UG": "scale2",
|
||||||
|
"UA": "scale4",
|
||||||
|
"AE": "scale5",
|
||||||
|
"GB": "scale8",
|
||||||
|
"US": "scale10",
|
||||||
|
"UY": "scale2",
|
||||||
|
"UZ": "scale2",
|
||||||
|
"VU": "scale1",
|
||||||
|
"VE": "scale5",
|
||||||
|
"VN": "scale4",
|
||||||
|
"YE": "scale2",
|
||||||
|
"ZM": "scale2",
|
||||||
|
"ZW": "scale1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"world-merc": {
|
"world-merc": {
|
||||||
"title": "World map",
|
"title": "World map",
|
||||||
"map": "world_merc",
|
"map": "world_merc",
|
||||||
"color": "primary",
|
"color": "primary",
|
||||||
"values": "{ \"AF\": 16, \"AL\": 11, \"DZ\": 158, \"AO\": 85, \"AG\": 1, \"AR\": 351, \"AM\": 8, \"AU\": 1219, \"AT\": 366, \"AZ\": 52, \"BS\": 7, \"BH\": 21, \"BD\": 105, \"BB\": 3, \"BY\": 52, \"BE\": 461, \"BZ\": 1, \"BJ\": 6, \"BT\": 1, \"BO\": 19, \"BA\": 16, \"BW\": 12, \"BR\": 2023, \"BN\": 11, \"BG\": 44, \"BF\": 8, \"BI\": 1, \"KH\": 11, \"CM\": 21, \"CA\": 1563, \"CV\": 1, \"CF\": 2, \"TD\": 7, \"CL\": 199, \"CN\": 5745, \"CO\": 283, \"KM\": 0, \"CD\": 12, \"CG\": 11, \"CR\": 35, \"CI\": 22, \"HR\": 59, \"CY\": 22, \"CZ\": 195, \"DK\": 304, \"DJ\": 1, \"DM\": 0, \"DO\": 50, \"EC\": 61, \"EG\": 216, \"SV\": 21, \"GQ\": 14, \"ER\": 2, \"EE\": 19, \"ET\": 30, \"FJ\": 3, \"FI\": 231, \"FR\": 2555, \"GA\": 12, \"GM\": 1, \"GE\": 11, \"DE\": 3305, \"GH\": 18, \"GR\": 305, \"GD\": 0, \"GT\": 40, \"GN\": 4, \"GW\": 0, \"GY\": 2, \"HT\": 6, \"HN\": 15, \"HK\": 226, \"HU\": 132, \"IS\": 12, \"IN\": 1430, \"ID\": 695, \"IR\": 337, \"IQ\": 84, \"IE\": 204, \"IL\": 201, \"IT\": 2036, \"JM\": 13, \"JP\": 5390, \"JO\": 27, \"KZ\": 129, \"KE\": 32, \"KI\": 0, \"KR\": 986, \"KW\": 117, \"KG\": 4, \"LA\": 6, \"LV\": 23, \"LB\": 39, \"LS\": 1, \"LR\": 0, \"LY\": 77, \"LT\": 35, \"LU\": 52, \"MK\": 9, \"MG\": 8, \"MW\": 5, \"MY\": 218, \"MV\": 1, \"ML\": 9, \"MT\": 7, \"MR\": 3, \"MU\": 9, \"MX\": 1004, \"MD\": 5, \"MN\": 5, \"ME\": 3, \"MA\": 91, \"MZ\": 10, \"MM\": 35, \"NA\": 11, \"NP\": 15, \"NL\": 770, \"NZ\": 138, \"NI\": 6, \"NE\": 5, \"NG\": 206, \"NO\": 413, \"OM\": 53, \"PK\": 174, \"PA\": 27, \"PG\": 8, \"PY\": 17, \"PE\": 153, \"PH\": 189, \"PL\": 438, \"PT\": 223, \"QA\": 126, \"RO\": 158, \"RU\": 1476, \"RW\": 5, \"WS\": 0, \"ST\": 0, \"SA\": 434, \"SN\": 12, \"RS\": 38, \"SC\": 0, \"SL\": 1, \"SG\": 217, \"SK\": 86, \"SI\": 46, \"SB\": 0, \"ZA\": 354, \"ES\": 1374, \"LK\": 48, \"KN\": 0, \"LC\": 1, \"VC\": 0, \"SD\": 65, \"SR\": 3, \"SZ\": 3, \"SE\": 444, \"CH\": 522, \"SY\": 59, \"TW\": 426, \"TJ\": 5, \"TZ\": 22, \"TH\": 312, \"TL\": 0, \"TG\": 3, \"TO\": 0, \"TT\": 21, \"TN\": 43, \"TR\": 729, \"TM\": 0, \"UG\": 17, \"UA\": 136, \"AE\": 239, \"GB\": 2258, \"US\": 4624, \"UY\": 40, \"UZ\": 37, \"VU\": 0, \"VE\": 285, \"VN\": 101, \"YE\": 30, \"ZM\": 15, \"ZW\": 5 }"
|
"values": {
|
||||||
|
"AF": "scale2",
|
||||||
|
"AL": "scale2",
|
||||||
|
"DZ": "scale4",
|
||||||
|
"AO": "scale3",
|
||||||
|
"AG": "scale1",
|
||||||
|
"AR": "scale5",
|
||||||
|
"AM": "scale1",
|
||||||
|
"AU": "scale7",
|
||||||
|
"AT": "scale5",
|
||||||
|
"AZ": "scale3",
|
||||||
|
"BS": "scale1",
|
||||||
|
"BH": "scale2",
|
||||||
|
"BD": "scale4",
|
||||||
|
"BB": "scale1",
|
||||||
|
"BY": "scale3",
|
||||||
|
"BE": "scale5",
|
||||||
|
"BZ": "scale1",
|
||||||
|
"BJ": "scale1",
|
||||||
|
"BT": "scale1",
|
||||||
|
"BO": "scale2",
|
||||||
|
"BA": "scale2",
|
||||||
|
"BW": "scale2",
|
||||||
|
"BR": "scale8",
|
||||||
|
"BN": "scale2",
|
||||||
|
"BG": "scale2",
|
||||||
|
"BF": "scale1",
|
||||||
|
"BI": "scale1",
|
||||||
|
"KH": "scale2",
|
||||||
|
"CM": "scale2",
|
||||||
|
"CA": "scale7",
|
||||||
|
"CV": "scale1",
|
||||||
|
"CF": "scale1",
|
||||||
|
"TD": "scale1",
|
||||||
|
"CL": "scale4",
|
||||||
|
"CN": "scale9",
|
||||||
|
"CO": "scale5",
|
||||||
|
"KM": "scale1",
|
||||||
|
"CD": "scale2",
|
||||||
|
"CG": "scale2",
|
||||||
|
"CR": "scale2",
|
||||||
|
"CI": "scale2",
|
||||||
|
"HR": "scale3",
|
||||||
|
"CY": "scale2",
|
||||||
|
"CZ": "scale4",
|
||||||
|
"DK": "scale5",
|
||||||
|
"DJ": "scale1",
|
||||||
|
"DM": "scale1",
|
||||||
|
"DO": "scale3",
|
||||||
|
"EC": "scale3",
|
||||||
|
"EG": "scale5",
|
||||||
|
"SV": "scale2",
|
||||||
|
"GQ": "scale2",
|
||||||
|
"ER": "scale1",
|
||||||
|
"EE": "scale2",
|
||||||
|
"ET": "scale2",
|
||||||
|
"FJ": "scale1",
|
||||||
|
"FI": "scale5",
|
||||||
|
"FR": "scale8",
|
||||||
|
"GA": "scale2",
|
||||||
|
"GM": "scale1",
|
||||||
|
"GE": "scale2",
|
||||||
|
"DE": "scale8",
|
||||||
|
"GH": "scale2",
|
||||||
|
"GR": "scale5",
|
||||||
|
"GD": "scale1",
|
||||||
|
"GT": "scale2",
|
||||||
|
"GN": "scale1",
|
||||||
|
"GW": "scale1",
|
||||||
|
"GY": "scale1",
|
||||||
|
"HT": "scale1",
|
||||||
|
"HN": "scale2",
|
||||||
|
"HK": "scale5",
|
||||||
|
"HU": "scale4",
|
||||||
|
"IS": "scale2",
|
||||||
|
"IN": "scale7",
|
||||||
|
"ID": "scale6",
|
||||||
|
"IR": "scale5",
|
||||||
|
"IQ": "scale3",
|
||||||
|
"IE": "scale5",
|
||||||
|
"IL": "scale5",
|
||||||
|
"IT": "scale8",
|
||||||
|
"JM": "scale2",
|
||||||
|
"JP": "scale9",
|
||||||
|
"JO": "scale2",
|
||||||
|
"KZ": "scale4",
|
||||||
|
"KE": "scale2",
|
||||||
|
"KI": "scale1",
|
||||||
|
"KR": "scale6",
|
||||||
|
"KW": "scale4",
|
||||||
|
"KG": "scale1",
|
||||||
|
"LA": "scale1",
|
||||||
|
"LV": "scale2",
|
||||||
|
"LB": "scale2",
|
||||||
|
"LS": "scale1",
|
||||||
|
"LR": "scale1",
|
||||||
|
"LY": "scale3",
|
||||||
|
"LT": "scale2",
|
||||||
|
"LU": "scale3",
|
||||||
|
"MK": "scale1",
|
||||||
|
"MG": "scale1",
|
||||||
|
"MW": "scale1",
|
||||||
|
"MY": "scale5",
|
||||||
|
"MV": "scale1",
|
||||||
|
"ML": "scale1",
|
||||||
|
"MT": "scale1",
|
||||||
|
"MR": "scale1",
|
||||||
|
"MU": "scale1",
|
||||||
|
"MX": "scale7",
|
||||||
|
"MD": "scale1",
|
||||||
|
"MN": "scale1",
|
||||||
|
"ME": "scale1",
|
||||||
|
"MA": "scale3",
|
||||||
|
"MZ": "scale2",
|
||||||
|
"MM": "scale2",
|
||||||
|
"NA": "scale2",
|
||||||
|
"NP": "scale2",
|
||||||
|
"NL": "scale6",
|
||||||
|
"NZ": "scale4",
|
||||||
|
"NI": "scale1",
|
||||||
|
"NE": "scale1",
|
||||||
|
"NG": "scale5",
|
||||||
|
"NO": "scale5",
|
||||||
|
"OM": "scale3",
|
||||||
|
"PK": "scale4",
|
||||||
|
"PA": "scale2",
|
||||||
|
"PG": "scale1",
|
||||||
|
"PY": "scale2",
|
||||||
|
"PE": "scale4",
|
||||||
|
"PH": "scale4",
|
||||||
|
"PL": "scale10",
|
||||||
|
"PT": "scale5",
|
||||||
|
"QA": "scale4",
|
||||||
|
"RO": "scale4",
|
||||||
|
"RU": "scale7",
|
||||||
|
"RW": "scale1",
|
||||||
|
"WS": "scale1",
|
||||||
|
"ST": "scale1",
|
||||||
|
"SA": "scale5",
|
||||||
|
"SN": "scale2",
|
||||||
|
"RS": "scale2",
|
||||||
|
"SC": "scale1",
|
||||||
|
"SL": "scale1",
|
||||||
|
"SG": "scale5",
|
||||||
|
"SK": "scale3",
|
||||||
|
"SI": "scale2",
|
||||||
|
"SB": "scale1",
|
||||||
|
"ZA": "scale5",
|
||||||
|
"ES": "scale7",
|
||||||
|
"LK": "scale2",
|
||||||
|
"KN": "scale1",
|
||||||
|
"LC": "scale1",
|
||||||
|
"VC": "scale1",
|
||||||
|
"SD": "scale3",
|
||||||
|
"SR": "scale1",
|
||||||
|
"SZ": "scale1",
|
||||||
|
"SE": "scale5",
|
||||||
|
"CH": "scale6",
|
||||||
|
"SY": "scale3",
|
||||||
|
"TW": "scale5",
|
||||||
|
"TJ": "scale1",
|
||||||
|
"TZ": "scale2",
|
||||||
|
"TH": "scale5",
|
||||||
|
"TL": "scale1",
|
||||||
|
"TG": "scale1",
|
||||||
|
"TO": "scale1",
|
||||||
|
"TT": "scale2",
|
||||||
|
"TN": "scale2",
|
||||||
|
"TR": "scale6",
|
||||||
|
"TM": "scale1",
|
||||||
|
"UG": "scale2",
|
||||||
|
"UA": "scale4",
|
||||||
|
"AE": "scale5",
|
||||||
|
"GB": "scale8",
|
||||||
|
"US": "scale10",
|
||||||
|
"UY": "scale2",
|
||||||
|
"UZ": "scale2",
|
||||||
|
"VU": "scale1",
|
||||||
|
"VE": "scale5",
|
||||||
|
"VN": "scale4",
|
||||||
|
"YE": "scale2",
|
||||||
|
"ZM": "scale2",
|
||||||
|
"ZW": "scale1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"world-markers": {
|
"world-markers": {
|
||||||
"title": "Map with markers",
|
"title": "Map with markers",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -45,13 +45,30 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbar-menu">
|
<div class="collapse navbar-collapse" id="navbar-menu">
|
||||||
<div class="navbar"{% if include.dark-secondary %} data-bs-theme="dark"{% endif %}>
|
<div class="navbar"{% if include.dark-secondary %} data-bs-theme="dark"{% endif %}>
|
||||||
<div class="container-xl">
|
<div class="container-xl">
|
||||||
<div class="row flex-fill align-items-center">
|
<div class="row flex-column flex-md-row flex-fill align-items-center">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
{% include "layout/navbar-menu.html" sample=include.sample hide-icons=include.hide-icons long-titles=true %}
|
{% include "layout/navbar-menu.html" sample=include.sample hide-icons=include.hide-icons long-titles=true %}
|
||||||
</div>
|
</div>
|
||||||
|
{% unless include.hide-search %}
|
||||||
<div class="col-2 d-none d-xxl-block">
|
<div class="col-2 d-none d-xxl-block">
|
||||||
{% include "layout/navbar-search.html" breakpoint=breakpoint class="my-2 my-md-0 flex-grow-1 flex-md-grow-0 order-first order-md-last" %}
|
{% include "layout/navbar-search.html" breakpoint=breakpoint class="my-2 my-md-0 flex-grow-1 flex-md-grow-0 order-first order-md-last" %}
|
||||||
</div>
|
</div>
|
||||||
|
{% endunless %}
|
||||||
|
|
||||||
|
<div class="col col-md-auto">
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#" data-bs-toggle="offcanvas" data-bs-target="#offcanvasSettings">
|
||||||
|
<span class="nav-link-icon d-md-none d-lg-inline-block">
|
||||||
|
{% include "ui/icon.html" icon="settings" %}
|
||||||
|
</span>
|
||||||
|
<span class="nav-link-title">
|
||||||
|
Settings
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,16 +2,16 @@
|
|||||||
{% include "marketing/section-divider.html" divider=include.divider %}
|
{% include "marketing/section-divider.html" divider=include.divider %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="section-header mb-6">
|
<div class="section-header mb-6">
|
||||||
<h2 class="section-title text-muted">Trusted by over 3,000 companies</h2>
|
<h2 class="section-title text-secondary">Trusted by over 3,000 companies</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="row g-8 align-items-center justify-content-center">
|
<div class="row g-8 align-items-center justify-content-center">
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/baremetrics.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/baremetrics.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/cgi.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/cgi.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/docplanner.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/docplanner.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/flow.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/flow.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/fubotv.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/fubotv.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/six-flags.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/six-flags.svg" %}</a></div>
|
||||||
<div class="col-auto"><a href="#" class="link-muted">{% include "marketing/brands/vocus.svg" %}</a></div>
|
<div class="col-auto"><a href="#" class="link-secondary">{% include "marketing/brands/vocus.svg" %}</a></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -11,15 +11,15 @@
|
|||||||
<div class="space-y-5">
|
<div class="space-y-5">
|
||||||
<div>
|
<div>
|
||||||
<div class="h3 mb-1">Can I use Tabler in commercial projects?</div>
|
<div class="h3 mb-1">Can I use Tabler in commercial projects?</div>
|
||||||
<div class="text-muted">Of course! Tabler is under MIT license, so you can confidently use it in commercial projects. However, remember to include a note that your project uses Tabler.</div>
|
<div class="text-secondary">Of course! Tabler is under MIT license, so you can confidently use it in commercial projects. However, remember to include a note that your project uses Tabler.</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="h3 mb-1">How do I get notified of new Tabler versions?</div>
|
<div class="h3 mb-1">How do I get notified of new Tabler versions?</div>
|
||||||
<div class="text-muted">You may watch the releases on GitHub or follow me on Twitter.</div>
|
<div class="text-secondary">You may watch the releases on GitHub or follow me on Twitter.</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="h3 mb-1">Can Tabler be used with WordPress?</div>
|
<div class="h3 mb-1">Can Tabler be used with WordPress?</div>
|
||||||
<div class="text-muted">
|
<div class="text-secondary">
|
||||||
Tabler is an HTML template that can be used for any purpose. However, it is not made to be easily installed on WordPress. It will require some effort and enough knowledge of the WordPress script to do so.
|
Tabler is an HTML template that can be used for any purpose. However, it is not made to be easily installed on WordPress. It will require some effort and enough knowledge of the WordPress script to do so.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Designed with users in mind</h3>
|
<h3 class="h2 mb-2">Designed with users in mind</h3>
|
||||||
<p class="text-muted m-0">
|
<p class="text-secondary m-0">
|
||||||
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern, user-friendly design you can create a fully functional interface that users will love. Every UI element has been created with
|
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern, user-friendly design you can create a fully functional interface that users will love. Every UI element has been created with
|
||||||
attention to detail to make your interface beautiful!
|
attention to detail to make your interface beautiful!
|
||||||
</p>
|
</p>
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Built for developers</h3>
|
<h3 class="h2 mb-2">Built for developers</h3>
|
||||||
<p class="text-muted m-0">
|
<p class="text-secondary m-0">
|
||||||
Having in mind what it takes to write high-quality code, we want to help you speed up the development process and keep your code clean. Based on Bootstrap 5, Tabler is a cutting-edge solution, compatible with all modern
|
Having in mind what it takes to write high-quality code, we want to help you speed up the development process and keep your code clean. Based on Bootstrap 5, Tabler is a cutting-edge solution, compatible with all modern
|
||||||
browsers and fully responsive.
|
browsers and fully responsive.
|
||||||
</p>
|
</p>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Fully customizable</h3>
|
<h3 class="h2 mb-2">Fully customizable</h3>
|
||||||
<p class="text-muted m-0">You can easily customize the UI elements to make them fit the needs of your project. And don’t worry if you don’t have much experience - Tabler is easy to get started!</p>
|
<p class="text-secondary m-0">You can easily customize the UI elements to make them fit the needs of your project. And don’t worry if you don’t have much experience - Tabler is easy to get started!</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Designed with users in mind</h3>
|
<h3 class="h2 mb-2">Designed with users in mind</h3>
|
||||||
<p class="text-muted m-0">
|
<p class="text-secondary m-0">
|
||||||
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern, user-friendly design you can create a fully functional interface that users will love. Every UI element has been created with
|
Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern, user-friendly design you can create a fully functional interface that users will love. Every UI element has been created with
|
||||||
attention to detail to make your interface beautiful!
|
attention to detail to make your interface beautiful!
|
||||||
</p>
|
</p>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Built for developers</h3>
|
<h3 class="h2 mb-2">Built for developers</h3>
|
||||||
<p class="text-muted m-0">
|
<p class="text-secondary m-0">
|
||||||
Having in mind what it takes to write high-quality code, we want to help you speed up the development process and keep your code clean. Based on Bootstrap 5, Tabler is a cutting-edge solution, compatible with all modern
|
Having in mind what it takes to write high-quality code, we want to help you speed up the development process and keep your code clean. Based on Bootstrap 5, Tabler is a cutting-edge solution, compatible with all modern
|
||||||
browsers and fully responsive.
|
browsers and fully responsive.
|
||||||
</p>
|
</p>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<h3 class="h2 mb-2">Fully customizable</h3>
|
<h3 class="h2 mb-2">Fully customizable</h3>
|
||||||
<p class="text-muted m-0">You can easily customize the UI elements to make them fit the needs of your project. And don’t worry if you don’t have much experience - Tabler is easy to get started!</p>
|
<p class="text-secondary m-0">You can easily customize the UI elements to make them fit the needs of your project. And don’t worry if you don’t have much experience - Tabler is easy to get started!</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,17 +5,17 @@
|
|||||||
<div class="col-md-6 col-lg">
|
<div class="col-md-6 col-lg">
|
||||||
{% include "ui/shape.html" icon="devices" class="mb-3" size="md" %}
|
{% include "ui/shape.html" icon="devices" class="mb-3" size="md" %}
|
||||||
<h2 class="h2">Mobile-optimized</h2>
|
<h2 class="h2">Mobile-optimized</h2>
|
||||||
<p class="text-muted">Our email templates are fully responsive, so you can be sure they will look great on any device and screen size.</p>
|
<p class="text-secondary">Our email templates are fully responsive, so you can be sure they will look great on any device and screen size.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-lg">
|
<div class="col-md-6 col-lg">
|
||||||
{% include "ui/shape.html" icon="mailbox" class="mb-3" size="md" %}
|
{% include "ui/shape.html" icon="mailbox" class="mb-3" size="md" %}
|
||||||
<h2 class="h2">Compatible with 90+ email clients</h2>
|
<h2 class="h2">Compatible with 90+ email clients</h2>
|
||||||
<p class="text-muted">Tested across 90+ email clients and devices, Tabler emails will help you make your email communication professional and reliable.</p>
|
<p class="text-secondary">Tested across 90+ email clients and devices, Tabler emails will help you make your email communication professional and reliable.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-lg">
|
<div class="col-md-6 col-lg">
|
||||||
{% include "ui/shape.html" icon="palette" class="mb-3" size="md" %}
|
{% include "ui/shape.html" icon="palette" class="mb-3" size="md" %}
|
||||||
<h2 class="h2">Unique, minimal design</h2>
|
<h2 class="h2">Unique, minimal design</h2>
|
||||||
<p class="text-muted">Draw recipients’ attention with beautiful, minimal email designs based on Bootstrap and Material Design principles.</p>
|
<p class="text-secondary">Draw recipients’ attention with beautiful, minimal email designs based on Bootstrap and Material Design principles.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
{% for testimonial in group %}
|
{% for testimonial in group %}
|
||||||
{% assign person = people[i] %}
|
{% assign person = people[i] %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<a href="#" class="card bg-body">
|
<a href="#" class="card bg-surface-secondary">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-auto">{% include "ui/avatar.html" person=person size="md" %}</div>
|
<div class="col-auto">{% include "ui/avatar.html" person=person size="md" %}</div>
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
{% if task.subtasks %}
|
{% if task.subtasks %}
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<a href="#" class="link-muted">
|
<a href="#" class="link-secondary">
|
||||||
{% include "ui/icon.html" icon="activity" %}
|
{% include "ui/icon.html" icon="activity" %}
|
||||||
1/{{ task.subtasks.size }}
|
1/{{ task.subtasks.size }}
|
||||||
</a>
|
</a>
|
||||||
@@ -65,11 +65,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% if task.comments %}
|
{% if task.comments %}
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<a href="#" class="link-muted">{% include "ui/icon.html" icon="message" %} {{ task.comments }}</a>
|
<a href="#" class="link-secondary">{% include "ui/icon.html" icon="message" %} {{ task.comments }}</a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<a href="#" class="link-muted">{% include "ui/icon.html" icon="share" %}</a>
|
<a href="#" class="link-secondary">{% include "ui/icon.html" icon="share" %}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,31 +1,36 @@
|
|||||||
<div class="settings">
|
<div class="settings">
|
||||||
|
<a href="#" class="btn btn-floating btn-icon btn-primary" data-bs-toggle="offcanvas" data-bs-target="#offcanvasSettings"> {% include "ui/icon.html" icon="brush" %} </a>
|
||||||
|
|
||||||
<a href="#" class="btn btn-icon btn-lg settings-btn" data-bs-toggle="offcanvas" data-bs-target="#offcanvasSettings">
|
<form class="offcanvas offcanvas-start offcanvas-narrow" tabindex="-1" id="offcanvasSettings">
|
||||||
{% include "ui/icon.html" icon="settings" %}
|
|
||||||
</a>
|
|
||||||
|
|
||||||
|
|
||||||
<form class="offcanvas offcanvas-end offcanvas-narrow" tabindex="-1" id="offcanvasSettings">
|
|
||||||
<div class="offcanvas-header">
|
<div class="offcanvas-header">
|
||||||
<h2 class="offcanvas-title">Theme Builder</h2>
|
<h2 class="offcanvas-title">Theme Builder</h2>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="offcanvas-body">
|
<div class="offcanvas-body d-flex flex-column">
|
||||||
|
<div>
|
||||||
|
<div class="mb-4">
|
||||||
|
<label class="form-label">Color mode</label>
|
||||||
|
<p class="form-hint">Choose the color mode for your app.</p>
|
||||||
|
{% assign modes = 'light,dark' | split: ',' %} {% for mode in modes %}
|
||||||
|
<label class="form-check">
|
||||||
|
<div class="form-selectgroup-item">
|
||||||
|
<input type="radio" name="theme" value="{{ mode }}" class="form-check-input"{% if mode == 'light' %} checked{% endif %} />
|
||||||
|
<div class="form-check-label">{{ mode | capitalize }}</div>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<label class="form-label">Color scheme</label>
|
<label class="form-label">Color scheme</label>
|
||||||
<p class="form-hint">The perfect color mode for your app.</p>
|
<p class="form-hint">The perfect color mode for your app.</p>
|
||||||
|
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
{% assign schemes = 'light,mixed,colored,dark,transparent' | split: ',' %}
|
{% for color in site.colors %}
|
||||||
{% for scheme in schemes %}
|
<div class="col-auto">
|
||||||
<div class="col-6">
|
<label class="form-colorinput">
|
||||||
<label class="form-selectgroup-item">
|
<input name="theme-primary" type="radio" value="{{ color[0] }}" class="form-colorinput-input" />
|
||||||
<input type="radio" name="settings-theme" value="{{ scheme }}" class="form-selectgroup-input" />
|
<span class="form-colorinput-color bg-{{ color[0] }}"></span>
|
||||||
<div class="form-selectgroup-label text-center">
|
|
||||||
<span class="form-selectgroup-check form-selectgroup-check-floated"></span>
|
|
||||||
<div class="settings-scheme settings-scheme-{{ scheme }}"></div>
|
|
||||||
<div>{{ scheme | capitalize }}</div>
|
|
||||||
</div>
|
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@@ -33,56 +38,130 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<div class="form-label">Menu position</div>
|
<label class="form-label">Font family</label>
|
||||||
<p class="form-hint">Toggle the position of the menu.</p>
|
<p class="form-hint">Choose the font family that fits your app.</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
{% assign positions = 'top,top-condensed,top-overlap,combo,left,right' | split: ',' %}
|
{% assign fonts = 'sans-serif,serif,monospace,comic' | split: ',' %} {% for font in fonts %}
|
||||||
{% for position in positions %}
|
|
||||||
<label class="form-check">
|
<label class="form-check">
|
||||||
<input class="form-check-input" name="settings-menu-position" value="{{ position }}" type="radio" />
|
<div class="form-selectgroup-item">
|
||||||
<span class="form-check-label">{{ position | capitalize }}</span>
|
<input type="radio" name="theme-font" value="{{ font }}" class="form-check-input"{% if font == 'sans-serif' %} checked{% endif %} />
|
||||||
|
<div class="form-check-label">{{ font | capitalize }}</div>
|
||||||
|
</div>
|
||||||
</label>
|
</label>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<div class="form-label">Menu behavior</div>
|
<label class="form-label">Theme base</label>
|
||||||
<p class="form-hint">Change the behavior of the menu.</p>
|
<p class="form-hint">Choose the gray shade for your app.</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
{% assign behaviors = 'sticky,fixed,compact' | split: ',' %}
|
{% assign bases = 'slate,gray,zinc,neutral,stone' | split: ',' %} {% for base in bases %}
|
||||||
{% for behavior in behaviors %}
|
|
||||||
<label class="form-check">
|
<label class="form-check">
|
||||||
<input class="form-check-input" name="settings-menu-behavior" value="{{ behavior }}" type="radio" />
|
<div class="form-selectgroup-item">
|
||||||
<span class="form-check-label">{{ behavior | capitalize }}</span>
|
<input type="radio" name="theme-base" value="{{ base }}" class="form-check-input"{% if base == 'gray' %} checked{% endif %} />
|
||||||
|
<div class="form-check-label">{{ base | capitalize }}</div>
|
||||||
|
</div>
|
||||||
</label>
|
</label>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<div class="form-label">Layout</div>
|
<label class="form-label">Corner Radius</label>
|
||||||
<p class="form-hint">Toggle container layout system.</p>
|
<p class="form-hint">
|
||||||
|
Choose the border radius factory for your app.
|
||||||
|
</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
{% assign systems = 'boxed,fluid' | split: ',' %}
|
{% assign radiuses = '0,0.5,1,1.5,2' | split: ',' %} {% for radius in radiuses %}
|
||||||
{% for system in systems %}
|
|
||||||
<label class="form-check">
|
<label class="form-check">
|
||||||
<input class="form-check-input" name="settings-container-layout" value="{{ system }}" type="radio" />
|
<div class="form-selectgroup-item">
|
||||||
<span class="form-check-label">{{ system | capitalize }}</span>
|
<input type="radio" name="theme-radius" value="{{ radius }}" class="form-check-input"{% if radius == "1" %} checked{% endif %} />
|
||||||
|
<div class="form-check-label">{{ radius }}</div>
|
||||||
|
</div>
|
||||||
</label>
|
</label>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="offcanvas-footer">
|
|
||||||
<button type="submit" class="btn btn-primary w-100">
|
<div class="mt-auto space-y">
|
||||||
|
<button type="button" class="btn w-100" id="reset-changes">
|
||||||
|
{% include "ui/icon.html" icon="rotate" %}
|
||||||
|
Reset changes
|
||||||
|
</button>
|
||||||
|
<a href="#" class="btn btn-primary w-100" data-bs-dismiss="offcanvas">
|
||||||
{% include "ui/icon.html" icon="settings" %}
|
{% include "ui/icon.html" icon="settings" %}
|
||||||
Save settings
|
Save settings
|
||||||
</button>
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
var themeConfig = {
|
||||||
|
theme: "light",
|
||||||
|
"theme-base": "gray",
|
||||||
|
"theme-font": "sans-serif",
|
||||||
|
"theme-primary": "blue",
|
||||||
|
"theme-radius": "1",
|
||||||
|
}
|
||||||
|
|
||||||
|
var url = new URL(window.location)
|
||||||
|
var form = document.getElementById("offcanvasSettings")
|
||||||
|
var resetButton = document.getElementById("reset-changes")
|
||||||
|
|
||||||
|
var checkItems = function () {
|
||||||
|
for (var key in themeConfig) {
|
||||||
|
var value = window.localStorage["tabler-" + key] || themeConfig[key]
|
||||||
|
|
||||||
|
if (!!value) {
|
||||||
|
var radios = form.querySelectorAll(`[name="${key}"]`)
|
||||||
|
|
||||||
|
if (!!radios) {
|
||||||
|
radios.forEach((radio) => {
|
||||||
|
radio.checked = radio.value === value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
form.addEventListener("change", function (event) {
|
||||||
|
var target = event.target,
|
||||||
|
name = target.name,
|
||||||
|
value = target.value
|
||||||
|
|
||||||
|
for (var key in themeConfig) {
|
||||||
|
if (name === key) {
|
||||||
|
document.documentElement.setAttribute("data-bs-" + key, value)
|
||||||
|
window.localStorage.setItem("tabler-" + key, value)
|
||||||
|
url.searchParams.set(key, value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.history.pushState({}, "", url)
|
||||||
|
})
|
||||||
|
|
||||||
|
resetButton.addEventListener("click", function () {
|
||||||
|
for (var key in themeConfig) {
|
||||||
|
var value = themeConfig[key]
|
||||||
|
document.documentElement.removeAttribute("data-bs-" + key)
|
||||||
|
window.localStorage.removeItem("tabler-" + key)
|
||||||
|
url.searchParams.delete(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
checkItems()
|
||||||
|
|
||||||
|
window.history.pushState({}, "", url)
|
||||||
|
})
|
||||||
|
|
||||||
|
checkItems()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% assign type = include.type | default: 'bar' %}
|
{% assign type = include.type | default: 'bar' %}
|
||||||
{% assign id = include.id %}
|
{% assign id = include.id %}
|
||||||
{% assign color = include.color | default: 'blue' %}
|
{% assign color = include.color | default: 'primary' %}
|
||||||
{% assign height = include.height | default: 2.5 %}
|
{% assign height = include.height | default: 2.5 %}
|
||||||
{% if include.small %}
|
{% if include.small %}
|
||||||
{% assign height = include.height | default: 1.5 %}
|
{% assign height = include.height | default: 1.5 %}
|
||||||
@@ -70,11 +70,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if type == 'donut' %}
|
{% if type == 'donut' %}
|
||||||
colors: [tabler.getColor("{{ color | default: 'primary' }}")],
|
colors: ['var(--tblr-{{ color }})'],
|
||||||
series: [{{ data }}],
|
series: [{{ data }}],
|
||||||
{% else %}
|
{% else %}
|
||||||
series: [{
|
series: [{
|
||||||
color: tabler.getColor("{{ color | default: 'primary' }}"),
|
color: 'var(--tblr-{{ color }})',
|
||||||
data: [{{ data }}]
|
data: [{{ data }}]
|
||||||
}],
|
}],
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -89,10 +89,15 @@
|
|||||||
},
|
},
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if chart-type == 'area' %}
|
||||||
fill: {
|
fill: {
|
||||||
opacity: {% if chart-type == 'area' %}.16{% else %}1{% endif %},
|
colors: [
|
||||||
{% if chart-type == 'area' %}type: 'solid'{% endif %}
|
'color-mix(in srgb, transparent, var(--tblr-primary) {% if chart-type == 'area' %}16%{% else %}100%{% endif %})',
|
||||||
|
'color-mix(in srgb, transparent, var(--tblr-primary) {% if chart-type == 'area' %}16%{% else %}80%{% endif %})',
|
||||||
|
],
|
||||||
|
type: 'solid'
|
||||||
},
|
},
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if data.title %}
|
{% if data.title %}
|
||||||
title: {
|
title: {
|
||||||
@@ -214,7 +219,9 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if data.series %}
|
{% if data.series %}
|
||||||
colors: [{% for serie in data.series %}{% assign color = serie.color | default: data.color | default: 'primary' %}tabler.getColor("{{ color }}"{% if serie.color-opacity %}, {{ serie.color-opacity }}{% endif %}){% unless forloop.last %}, {% endunless %}{% endfor %}],
|
colors: [{% for serie in data.series %}{% assign color = serie.color | default: data.color | default: 'primary' %}
|
||||||
|
'color-mix(in srgb, transparent, var(--tblr-{{ color }}) {% if serie.color-opacity %}{{ serie.color-opacity }}{% else %}100%{% endif %})'{% unless forloop.last %}, {% endunless %}{% endfor %}
|
||||||
|
],
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
legend: {
|
legend: {
|
||||||
|
|||||||
@@ -21,11 +21,11 @@
|
|||||||
regionStyle: {
|
regionStyle: {
|
||||||
initial: {
|
initial: {
|
||||||
{% unless data.filled %}
|
{% unless data.filled %}
|
||||||
fill: tabler.getColor('body-bg'),
|
fill: 'var(--tblr-bg-surface-secondary)',
|
||||||
stroke: tabler.getColor('border-color'),
|
stroke: 'var(--tblr-border-color)',
|
||||||
strokeWidth: 2,
|
strokeWidth: 2,
|
||||||
{% else %}
|
{% else %}
|
||||||
fill: tabler.getColor('body-bg'),
|
fill: 'var(--tblr-bg-surface-secondary)',
|
||||||
stroke: '#fff',
|
stroke: '#fff',
|
||||||
strokeWidth: 1,
|
strokeWidth: 1,
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
@@ -34,11 +34,17 @@
|
|||||||
zoomOnScroll: {% if data.zoom %}true{% else %}false{% endif %},
|
zoomOnScroll: {% if data.zoom %}true{% else %}false{% endif %},
|
||||||
zoomButtons: {% if data.zoom %}true{% else %}false{% endif %},
|
zoomButtons: {% if data.zoom %}true{% else %}false{% endif %},
|
||||||
{% if data.values %}
|
{% if data.values %}
|
||||||
// -------- Series --------
|
series: {
|
||||||
visualizeData: {
|
regions: [{
|
||||||
scale: [tabler.getColor('bg-surface'), tabler.getColor('{{ data.color }}')],
|
attribute: "fill",
|
||||||
values: {{ data.values }},
|
scale: {
|
||||||
|
{% for i in (1..10) %}
|
||||||
|
scale{{ i }}: 'color-mix(in srgb, transparent, var(--tblr-primary) {{ i | times: 10 }}%)',
|
||||||
|
{% endfor %}
|
||||||
},
|
},
|
||||||
|
values: {{ data.values | json }},
|
||||||
|
}]
|
||||||
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data.markers %}
|
{% if data.markers %}
|
||||||
markers: [
|
markers: [
|
||||||
@@ -56,11 +62,11 @@
|
|||||||
opacity: 1,
|
opacity: 1,
|
||||||
strokeWidth: 3,
|
strokeWidth: 3,
|
||||||
stokeOpacity: .5,
|
stokeOpacity: .5,
|
||||||
fill: tabler.getColor('{{ color }}')
|
fill: 'var(--tblr-{{ color }})'
|
||||||
},
|
},
|
||||||
hover: {
|
hover: {
|
||||||
fill: tabler.getColor('{{ color }}'),
|
fill: 'var(--tblr-{{ color }})',
|
||||||
stroke: tabler.getColor('{{ color }}')
|
stroke: 'var(--tblr-{{ color }})'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
markerLabelStyle: {
|
markerLabelStyle: {
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
|
{% assign layout-dark = page.layout-dark | default: site.layout-dark -%}
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
{% include "layout/banner.html" %}
|
{% include "layout/banner.html" %}
|
||||||
{% assign title = page.title | default: layout.title %}
|
{% assign title = page.title | default: layout.title %}
|
||||||
<html lang="en"{% if layout-rtl %} dir="rtl" {% endif %}>
|
<html lang="en"{% if layout-rtl %} dir="rtl" {% endif %}{% if layout.html-class or page.html-class %} class="{{ page.html-class | default: layout.html-class }}"{% endif %}>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8"/>
|
<meta charset="utf-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
||||||
@@ -50,5 +51,7 @@
|
|||||||
{% modals %}
|
{% modals %}
|
||||||
|
|
||||||
{% include "layout/js.html" %}
|
{% include "layout/js.html" %}
|
||||||
|
|
||||||
|
{% include "settings.html" %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ layout: base
|
|||||||
|
|
||||||
{% unless layout-hide-topbar %}
|
{% unless layout-hide-topbar %}
|
||||||
<!-- BEGIN NAVBAR -->
|
<!-- BEGIN NAVBAR -->
|
||||||
{% include "layout/navbar.html" condensed=layout-navbar-condensed overlap=layout-navbar-overlap dark=layout-navbar-dark hide-brand=layout-navbar-hide-brand hide-menu=layout-navbar-hide-menu sticky=layout-navbar-sticky transparent=layout-topbar-transparent class=layout-navbar-class %}
|
{% include "layout/navbar.html" condensed=layout-navbar-condensed overlap=layout-navbar-overlap dark=layout-navbar-dark hide-brand=layout-navbar-hide-brand hide-menu=layout-navbar-hide-menu sticky=layout-navbar-sticky transparent=layout-topbar-transparent class=layout-navbar-class hide-search=true %}
|
||||||
<!-- END NAVBAR -->
|
<!-- END NAVBAR -->
|
||||||
{% endunless %}
|
{% endunless %}
|
||||||
|
|
||||||
@@ -40,5 +40,3 @@ layout: base
|
|||||||
{% include "layout/footer.html" %}
|
{% include "layout/footer.html" %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% comment %}{% include "settings.html" %}{% endcomment %}
|
|
||||||
@@ -17,26 +17,26 @@ plugins: marketing
|
|||||||
<div class="col-md">
|
<div class="col-md">
|
||||||
<div class="subheader mb-3">Our products</div>
|
<div class="subheader mb-3">Our products</div>
|
||||||
<ul class="list-unstyled list-separated gap-2">
|
<ul class="list-unstyled list-separated gap-2">
|
||||||
<li><a class="link-muted" href="/">UI Kit</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">UI Kit</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a class="link-muted" href="/icons">2664 open source icons</a>
|
<a class="link-secondary" href="{{ site.base }}">Open source icons</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="link-muted" href="/emails">Email templates</a>
|
<a class="link-secondary" href="{{ site.base }}">Email templates</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="link-muted" href="/pricing">Pricing</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Pricing</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md">
|
<div class="col-md">
|
||||||
<div class="subheader mb-3">Support</div>
|
<div class="subheader mb-3">Support</div>
|
||||||
<ul class="list-unstyled list-separated gap-2">
|
<ul class="list-unstyled list-separated gap-2">
|
||||||
<li><a class="link-muted" href="/">Blog</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Blog</a></li>
|
||||||
<li><a class="link-muted" href="/">Documentation</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Documentation</a></li>
|
||||||
<li><a class="link-muted" href="/">Support</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Support</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href="https://status.tabler.io"
|
href="https://status.tabler.io"
|
||||||
class="link-muted"
|
class="link-secondary"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>Status</a
|
>Status</a
|
||||||
@@ -47,13 +47,13 @@ plugins: marketing
|
|||||||
<div class="col-md">
|
<div class="col-md">
|
||||||
<div class="subheader mb-3">Tabler</div>
|
<div class="subheader mb-3">Tabler</div>
|
||||||
<ul class="list-unstyled list-separated gap-2">
|
<ul class="list-unstyled list-separated gap-2">
|
||||||
<li><a class="link-muted" href="/">About</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">About</a></li>
|
||||||
<li><a class="link-muted" href="/">Blog</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Blog</a></li>
|
||||||
<li><a class="link-muted" href="/">Changelog</a></li>
|
<li><a class="link-secondary" href="{{ site.base }}">Changelog</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href="{{ site.githubUrl }}"
|
href="{{ site.githubUrl }}"
|
||||||
class="link-muted"
|
class="link-secondary"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>Github</a
|
>Github</a
|
||||||
@@ -64,7 +64,7 @@ plugins: marketing
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4 ml-auto">
|
<div class="col-lg-4 ml-auto">
|
||||||
<div class="text-muted">
|
<div class="text-secondary">
|
||||||
Tabler comes with tons of well-designed components and features.
|
Tabler comes with tons of well-designed components and features.
|
||||||
Start your adventure with Tabler and make your dashboard great
|
Start your adventure with Tabler and make your dashboard great
|
||||||
again. For free!
|
again. For free!
|
||||||
@@ -132,7 +132,7 @@ plugins: marketing
|
|||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
©<a
|
©<a
|
||||||
href="https://codecalm.net"
|
href="https://codecalm.net"
|
||||||
class="link-muted"
|
class="link-secondary"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>codecalm.net</a
|
>codecalm.net</a
|
||||||
@@ -141,12 +141,12 @@ plugins: marketing
|
|||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<ul class="list-inline list-inline-dots">
|
<ul class="list-inline list-inline-dots">
|
||||||
<li class="list-inline-item">
|
<li class="list-inline-item">
|
||||||
<a class="link-muted" href="/terms-of-service"
|
<a class="link-secondary" href="/terms-of-service"
|
||||||
>Terms of service</a
|
>Terms of service</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-inline-item">
|
<li class="list-inline-item">
|
||||||
<a class="link-muted" href="/privacy-policy"
|
<a class="link-secondary" href="/privacy-policy"
|
||||||
>Privacy policy</a
|
>Privacy policy</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -26,9 +26,7 @@ page-header: Account Settings
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-md-9 d-flex flex-column">
|
<div class="col-12 col-md-9 d-flex flex-column">
|
||||||
|
|
||||||
{{ content }}
|
{{ content }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -56,7 +56,7 @@ permalink: emails.html
|
|||||||
<div class="modal-body p-0">
|
<div class="modal-body p-0">
|
||||||
<div class="row g-0">
|
<div class="row g-0">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<div class="p-6 bg-body rounded-start">
|
<div class="p-6 bg-surface-secondary rounded-start">
|
||||||
<img src="" class="img-fluid rounded-left" data-email-image />
|
<img src="" class="img-fluid rounded-left" data-email-image />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ permalink: illustrations.html
|
|||||||
{% assign skinColor = site.skinColors | first %}
|
{% assign skinColor = site.skinColors | first %}
|
||||||
{% assign color = site.colors | first %}
|
{% assign color = site.colors | first %}
|
||||||
|
|
||||||
<div class="mb-7" style="--tblr-illustrations-primary: {{ color.hex }}; --tblr-illustrations-skin: {{ skinColor.hex }};" id="current-illustration-style">
|
<div class="mb-7" style="--tblr-illustrations-primary: var(--tblr-color-primary); --tblr-illustrations-skin: {{ skinColor.hex }};" id="current-illustration-style">
|
||||||
<div class="row row-cards">
|
<div class="row row-cards">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="row row-cards row-deck g-4">
|
<div class="row row-cards row-deck g-4">
|
||||||
@@ -33,10 +33,22 @@ permalink: illustrations.html
|
|||||||
<div>
|
<div>
|
||||||
<div class="form-label">Primary color</div>
|
<div class="form-label">Primary color</div>
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
|
<div class="col-auto">
|
||||||
|
<label class="form-colorinput">
|
||||||
|
<input name="color" type="radio" value="var(--tblr-color-primary)" class="form-colorinput-input js-select-color" checked />
|
||||||
|
<span class="form-colorinput-color bg-primary"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<label class="form-colorinput">
|
||||||
|
<input name="color" type="radio" value="var(--tblr-bg-surface-inverted)" class="form-colorinput-input js-select-color" />
|
||||||
|
<span class="form-colorinput-color bg-inverted"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
{% for color in site.colors %}
|
{% for color in site.colors %}
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<label class="form-colorinput">
|
<label class="form-colorinput">
|
||||||
<input name="color" type="radio" value="{{ color[1].hex }}" class="form-colorinput-input js-select-color" {% if forloop.first %} checked{% endif %} />
|
<input name="color" type="radio" value="{{ color[1].hex }}" class="form-colorinput-input js-select-color" />
|
||||||
<span class="form-colorinput-color bg-{{ color[1].class }}"></span>
|
<span class="form-colorinput-color bg-{{ color[1].class }}"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,12 +2,6 @@ $prefix: "tblr-";
|
|||||||
|
|
||||||
@import "highlight";
|
@import "highlight";
|
||||||
|
|
||||||
.card-sponsor {
|
|
||||||
background: var(--#{$prefix}primary-lt) no-repeat center/100% 100%;
|
|
||||||
border-color: var(--#{$prefix}primary);
|
|
||||||
min-height: 316px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-menu-demo {
|
.dropdown-menu-demo {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 66 KiB |
17
src/js/src/countup.js
Normal file
17
src/js/src/countup.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
const elements = document.querySelectorAll('[data-countup]');
|
||||||
|
|
||||||
|
if (elements.length) {
|
||||||
|
elements.forEach(function (element) {
|
||||||
|
let options = {};
|
||||||
|
try {
|
||||||
|
options = element.getAttribute('data-countup') ? JSON.parse(element.getAttribute('data-countup')) : {};
|
||||||
|
} catch (error) {}
|
||||||
|
|
||||||
|
const value = parseInt(element.innerHTML, 10);
|
||||||
|
|
||||||
|
const countUp = new window.countUp.CountUp(element, value, options);
|
||||||
|
if (!countUp.error) {
|
||||||
|
countUp.start();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user