sdga-ui 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/deploy.yml +15 -1
- package/README.md +12 -20
- package/css/dga-ui.css +182 -197
- package/css/dga-ui.css.map +1 -1
- package/demo-angular/README.md +34 -2
- package/demo-angular/angular.json +5 -2
- package/demo-angular/package-lock.json +152 -11
- package/demo-angular/package.json +7 -4
- package/demo-angular/public/i18n/ar.json +3 -0
- package/demo-angular/public/i18n/en.json +3 -0
- package/demo-angular/src/app/views/links/links.component.html +11 -130
- package/demo-angular/src/app/views/links/links.component.scss +1 -50
- package/demo-angular/src/app/views/links/links.component.ts +5 -109
- package/package.json +4 -3
- package/theme/components/_cards.scss +0 -1
- package/theme/components/_pagination.scss +2 -2
- package/theme/config/_base.scss +2 -41
- package/theme/customizations/_alerts.scss +5 -13
- package/theme/customizations/_links.scss +71 -83
- package/theme/customizations/_toasts.scss +2 -1
- package/theme/dga-ui.scss +1 -2
- package/demo-angular/public/.nojekyll +0 -0
- package/theme/customizations/_utilities.scss +0 -138
|
@@ -10,114 +10,10 @@ import { CodeExampleComponent } from '../../shared/code-example/code-example.com
|
|
|
10
10
|
styleUrl: './links.component.scss'
|
|
11
11
|
})
|
|
12
12
|
export class LinksComponent {
|
|
13
|
-
// Basic link
|
|
14
|
-
basicLinksCode = `<a href
|
|
15
|
-
<a href
|
|
16
|
-
<a href
|
|
17
|
-
<a href
|
|
18
|
-
<a href="#" class="link-warning">Warning link</a>
|
|
19
|
-
<a href="#" class="link-info">Info link</a>`;
|
|
13
|
+
// Basic link variants (primary, neutral, on-color, disabled)
|
|
14
|
+
basicLinksCode = `<a href=\"javascript:void(0);\" class=\"link-primary link-offset-2\">Primary link</a>
|
|
15
|
+
<a href=\"javascript:void(0);\" class=\"link-neutral link-offset-2\">Neutral link</a>
|
|
16
|
+
<div class=\"p-3 bg-primary rounded-2\"><a href=\"javascript:void(0);\" class=\"link-oncolor link-offset-2\">On-color link</a></div>
|
|
17
|
+
<a href=\"javascript:void(0);\" class=\"link-primary disabled link-offset-2\" aria-disabled=\"true\" tabindex=\"-1\">Disabled link</a>`;
|
|
20
18
|
|
|
21
|
-
// Underline utilities with opacity variants
|
|
22
|
-
underlineLinksCode = `<!-- Default underline -->
|
|
23
|
-
<a href="#" class="link-underline">Link with underline</a>
|
|
24
|
-
|
|
25
|
-
<!-- Opacity variants -->
|
|
26
|
-
<a href="#" class="link-underline-opacity-0">No underline (opacity 0)</a>
|
|
27
|
-
<a href="#" class="link-underline-opacity-25">25% underline opacity</a>
|
|
28
|
-
<a href="#" class="link-underline-opacity-50">50% underline opacity</a>
|
|
29
|
-
<a href="#" class="link-underline-opacity-75">75% underline opacity</a>
|
|
30
|
-
<a href="#" class="link-underline-opacity-100">100% underline opacity</a>`;
|
|
31
|
-
|
|
32
|
-
// Hover underline effects
|
|
33
|
-
hoverLinksCode = `<!-- Show underline on hover -->
|
|
34
|
-
<a href="#" class="link-primary link-underline-opacity-0 link-underline-opacity-100-hover">
|
|
35
|
-
Underline appears on hover
|
|
36
|
-
</a>
|
|
37
|
-
|
|
38
|
-
<!-- Hide underline on hover -->
|
|
39
|
-
<a href="#" class="link-secondary link-underline-opacity-100 link-underline-opacity-0-hover">
|
|
40
|
-
Underline disappears on hover
|
|
41
|
-
</a>`;
|
|
42
|
-
|
|
43
|
-
// Underline offset utilities
|
|
44
|
-
offsetLinksCode = `<a href="#" class="link-offset-1">Link with offset 1</a>
|
|
45
|
-
<a href="#" class="link-offset-2">Link with offset 2</a>
|
|
46
|
-
<a href="#" class="link-offset-3">Link with offset 3</a>`;
|
|
47
|
-
|
|
48
|
-
// Combined offset and hover
|
|
49
|
-
offsetHoverCode = `<a href="#" class="link-offset-2 link-offset-3-hover link-underline link-underline-opacity-0 link-underline-opacity-75-hover">
|
|
50
|
-
Link with offset that changes on hover
|
|
51
|
-
</a>`;
|
|
52
|
-
|
|
53
|
-
// Links with icons
|
|
54
|
-
iconLinksCode = `<!-- Icon before text -->
|
|
55
|
-
<a href="#" class="link-primary">
|
|
56
|
-
<i class="hgi hgi-stroke hgi-link-01 me-2"></i>
|
|
57
|
-
Link with leading icon
|
|
58
|
-
</a>
|
|
59
|
-
|
|
60
|
-
<!-- Icon after text -->
|
|
61
|
-
<a href="#" class="link-secondary">
|
|
62
|
-
External link
|
|
63
|
-
<i class="hgi hgi-stroke hgi-link-external-01 ms-2"></i>
|
|
64
|
-
</a>
|
|
65
|
-
|
|
66
|
-
<!-- Icon with arrow -->
|
|
67
|
-
<a href="#" class="link-success">
|
|
68
|
-
<i class="hgi hgi-stroke hgi-arrow-right-01 me-2"></i>
|
|
69
|
-
Arrow link
|
|
70
|
-
</a>`;
|
|
71
|
-
|
|
72
|
-
// Custom link styles - subtle
|
|
73
|
-
subtleLinkCode = `<a href="#" class="custom-link-subtle">Subtle link style</a>`;
|
|
74
|
-
|
|
75
|
-
subtleLinkScss = `.custom-link-subtle {
|
|
76
|
-
color: var(--dga-neutral-600);
|
|
77
|
-
text-decoration: none;
|
|
78
|
-
|
|
79
|
-
&:hover {
|
|
80
|
-
color: var(--dga-primary);
|
|
81
|
-
text-decoration: underline;
|
|
82
|
-
}
|
|
83
|
-
}`;
|
|
84
|
-
|
|
85
|
-
// Custom link styles - bold
|
|
86
|
-
boldLinkCode = `<a href="#" class="custom-link-bold">Bold link style</a>`;
|
|
87
|
-
|
|
88
|
-
boldLinkScss = `.custom-link-bold {
|
|
89
|
-
color: var(--dga-primary);
|
|
90
|
-
font-weight: 600;
|
|
91
|
-
text-decoration: none;
|
|
92
|
-
|
|
93
|
-
&:hover {
|
|
94
|
-
color: var(--dga-primary-dark);
|
|
95
|
-
text-decoration: underline;
|
|
96
|
-
}
|
|
97
|
-
}`;
|
|
98
|
-
|
|
99
|
-
// Custom link styles - decorated
|
|
100
|
-
decoratedLinkCode = `<a href="#" class="custom-link-decorated">Decorated link with animated underline</a>`;
|
|
101
|
-
|
|
102
|
-
decoratedLinkScss = `.custom-link-decorated {
|
|
103
|
-
color: var(--dga-secondary);
|
|
104
|
-
text-decoration: none;
|
|
105
|
-
position: relative;
|
|
106
|
-
padding-bottom: 2px;
|
|
107
|
-
|
|
108
|
-
&::after {
|
|
109
|
-
content: '';
|
|
110
|
-
position: absolute;
|
|
111
|
-
bottom: 0;
|
|
112
|
-
left: 0;
|
|
113
|
-
width: 0;
|
|
114
|
-
height: 2px;
|
|
115
|
-
background-color: var(--dga-secondary);
|
|
116
|
-
transition: width 0.3s ease;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
&:hover::after {
|
|
120
|
-
width: 100%;
|
|
121
|
-
}
|
|
122
|
-
}`;
|
|
123
19
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sdga-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "DGA UI - Government-Style Bootstrap Theme",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sdga",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"design",
|
|
15
15
|
"template"
|
|
16
16
|
],
|
|
17
|
-
"homepage": "https://github.
|
|
17
|
+
"homepage": "https://mahmoudadel1996.github.io/dga-ui/",
|
|
18
18
|
"bugs": {
|
|
19
19
|
"url": "https://github.com/MahmoudAdel1996/dga-ui/issues"
|
|
20
20
|
},
|
|
@@ -32,9 +32,10 @@
|
|
|
32
32
|
"format:check": "prettier --check \"**/*.{js,json,md,css,scss}\"",
|
|
33
33
|
"build-css": "sass --load-path=node_modules theme/dga-ui.scss css/dga-ui.css",
|
|
34
34
|
"watch-css": "sass --load-path=node_modules --watch theme/dga-ui.scss css/dga-ui.css",
|
|
35
|
+
"update-demo-version": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const demoPkg=JSON.parse(fs.readFileSync('demo-angular/package.json'));demoPkg.dependencies['sdga-ui']='^'+pkg.version;fs.writeFileSync('demo-angular/package.json',JSON.stringify(demoPkg,null,2)+'\\n');\"",
|
|
35
36
|
"prepublishOnly": "npm run build-css",
|
|
36
37
|
"preversion": "npm run build-css",
|
|
37
|
-
"version": "git add .",
|
|
38
|
+
"version": "npm run update-demo-version && git add .",
|
|
38
39
|
"postversion": "git push --follow-tags"
|
|
39
40
|
},
|
|
40
41
|
"peerDependencies": {
|
|
@@ -16,12 +16,12 @@ $pagination-border-width: 1px;
|
|
|
16
16
|
$pagination-margin-start: calc(#{$pagination-border-width} * -1);
|
|
17
17
|
$pagination-border-color: $gray-300;
|
|
18
18
|
|
|
19
|
-
$pagination-focus-color:
|
|
19
|
+
$pagination-focus-color: null;
|
|
20
20
|
$pagination-focus-bg: $gray-200;
|
|
21
21
|
$pagination-focus-box-shadow: $input-focus-box-shadow;
|
|
22
22
|
$pagination-focus-outline: 0;
|
|
23
23
|
|
|
24
|
-
$pagination-hover-color:
|
|
24
|
+
$pagination-hover-color: null;
|
|
25
25
|
$pagination-hover-bg: $gray-200;
|
|
26
26
|
$pagination-hover-border-color: $gray-300;
|
|
27
27
|
|
package/theme/config/_base.scss
CHANGED
|
@@ -17,15 +17,6 @@ $body-bg: $white;
|
|
|
17
17
|
$body-color: $black;
|
|
18
18
|
$body-text-align: start;
|
|
19
19
|
|
|
20
|
-
// ============================================
|
|
21
|
-
// LINKS
|
|
22
|
-
// ============================================
|
|
23
|
-
|
|
24
|
-
$link-color: $primary;
|
|
25
|
-
$link-decoration: none;
|
|
26
|
-
$link-hover-color: color.scale($primary, $lightness: -32%);
|
|
27
|
-
$link-hover-decoration: underline;
|
|
28
|
-
|
|
29
20
|
// ============================================
|
|
30
21
|
// COMPONENTS BASE
|
|
31
22
|
// ============================================
|
|
@@ -33,16 +24,7 @@ $link-hover-decoration: underline;
|
|
|
33
24
|
$component-active-color: $white;
|
|
34
25
|
$component-active-bg: $primary;
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
$border-width: 1px;
|
|
38
|
-
$border-widths: (
|
|
39
|
-
0: 0,
|
|
40
|
-
1: 1px,
|
|
41
|
-
2: 2px,
|
|
42
|
-
3: 3px,
|
|
43
|
-
4: 4px,
|
|
44
|
-
5: 5px
|
|
45
|
-
);
|
|
27
|
+
|
|
46
28
|
// Shadow base color (using SDGA neutral-900 shade)
|
|
47
29
|
$shadow-color: $gray-900;
|
|
48
30
|
$border-color: $gray-500;
|
|
@@ -50,7 +32,7 @@ $border-color: $gray-500;
|
|
|
50
32
|
// Focus
|
|
51
33
|
$focus-ring-width: 0.25rem;
|
|
52
34
|
$focus-ring-opacity: 0.25;
|
|
53
|
-
$focus-ring-color: rgba($
|
|
35
|
+
$focus-ring-color: shadow-rgba($focus-ring-opacity);
|
|
54
36
|
$focus-ring-blur: 0;
|
|
55
37
|
$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color;
|
|
56
38
|
|
|
@@ -65,27 +47,6 @@ $enable-rfs: true;
|
|
|
65
47
|
$enable-important-utilities: true;
|
|
66
48
|
$enable-ripple-effect: true !default;
|
|
67
49
|
|
|
68
|
-
// ============================================
|
|
69
|
-
// CONTAINER
|
|
70
|
-
// ============================================
|
|
71
|
-
|
|
72
|
-
$container-max-widths: (
|
|
73
|
-
sm: 540px,
|
|
74
|
-
md: 720px,
|
|
75
|
-
lg: 960px,
|
|
76
|
-
xl: 1140px,
|
|
77
|
-
xxl: 1320px
|
|
78
|
-
);
|
|
79
|
-
|
|
80
|
-
$container-padding-x: 1rem;
|
|
81
|
-
|
|
82
|
-
// ============================================
|
|
83
|
-
// GRID
|
|
84
|
-
// ============================================
|
|
85
|
-
|
|
86
|
-
$grid-columns: 12;
|
|
87
|
-
$grid-gutter-width: 1.5rem;
|
|
88
|
-
$grid-row-columns: 6;
|
|
89
50
|
|
|
90
51
|
// ============================================
|
|
91
52
|
// Z-INDEX
|
|
@@ -218,17 +218,6 @@
|
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
-
|
|
222
|
-
&.alert-dismissible {
|
|
223
|
-
padding-inline-end: $alert-padding-x;
|
|
224
|
-
padding-inline-start: $alert-padding-x;
|
|
225
|
-
|
|
226
|
-
.btn-close {
|
|
227
|
-
position: absolute;
|
|
228
|
-
top: 0.5rem;
|
|
229
|
-
inset-inline-end: 0.5rem;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
221
|
}
|
|
233
222
|
}
|
|
234
223
|
// ============================================
|
|
@@ -236,7 +225,10 @@
|
|
|
236
225
|
// ============================================
|
|
237
226
|
.alert-dismissible {
|
|
238
227
|
.btn-close {
|
|
228
|
+
padding: 0.5rem;
|
|
229
|
+
position: absolute;
|
|
230
|
+
top: 1rem;
|
|
239
231
|
right: unset;
|
|
240
|
-
inset-inline-end:
|
|
232
|
+
inset-inline-end: 1.5rem;
|
|
241
233
|
}
|
|
242
|
-
}
|
|
234
|
+
}
|
|
@@ -1,95 +1,83 @@
|
|
|
1
1
|
// Links Customizations - SDGA Custom Enhancements
|
|
2
|
+
// Following Bootstrap 5.3 recommended practices
|
|
2
3
|
|
|
3
4
|
// ============================================
|
|
4
|
-
// LINK COLOR VARIANTS
|
|
5
|
+
// LINK COLOR VARIANTS - Using Sass map and @each loop
|
|
5
6
|
// ============================================
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
8
|
+
// Define link color variants with their shades
|
|
9
|
+
$link-variants: (
|
|
10
|
+
"primary": (
|
|
11
|
+
base: $primary-600,
|
|
12
|
+
hover: $primary-400,
|
|
13
|
+
active: $primary-300 ),
|
|
14
|
+
"secondary": (
|
|
15
|
+
base: $secondary-600,
|
|
16
|
+
hover: $secondary-400,
|
|
17
|
+
active: $secondary-300 ),
|
|
18
|
+
"success": (
|
|
19
|
+
base: $success-600,
|
|
20
|
+
hover: $success-400,
|
|
21
|
+
active: $success-300 ),
|
|
22
|
+
"danger": (
|
|
23
|
+
base: $danger-600,
|
|
24
|
+
hover: $danger-400,
|
|
25
|
+
active: $danger-300 ),
|
|
26
|
+
"warning": (
|
|
27
|
+
base: $warning-600,
|
|
28
|
+
hover: $warning-400,
|
|
29
|
+
active: $warning-300 ),
|
|
30
|
+
"info": (
|
|
31
|
+
base: $info-600,
|
|
32
|
+
hover: $info-400,
|
|
33
|
+
active: $info-300 ),
|
|
34
|
+
"neutral": (
|
|
35
|
+
base: $neutral-700,
|
|
36
|
+
hover: $neutral-500,
|
|
37
|
+
active: $neutral-400 ),
|
|
38
|
+
"lavender": (
|
|
39
|
+
base: $lavender-600,
|
|
40
|
+
hover: $lavender-500,
|
|
41
|
+
active: $lavender-400 ),
|
|
42
|
+
"oncolor": (
|
|
43
|
+
base: $white,
|
|
44
|
+
hover: rgba($white, 0.8),
|
|
45
|
+
active: rgba($white, 0.6) )
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// Generate link variant classes
|
|
49
|
+
@each $name, $colors in $link-variants {
|
|
50
|
+
.link-#{$name} {
|
|
51
|
+
color: map-get($colors, base) !important;
|
|
52
|
+
text-decoration-color: map-get($colors, base) !important;
|
|
53
|
+
|
|
54
|
+
&:visited,
|
|
55
|
+
&:focus-visible {
|
|
56
|
+
color: map-get($colors, base) !important;
|
|
57
|
+
text-decoration-color: map-get($colors, base) !important;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:hover,
|
|
61
|
+
&:focus {
|
|
62
|
+
color: map-get($colors, hover) !important;
|
|
63
|
+
text-decoration-color: map-get($colors, hover) !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&:active {
|
|
67
|
+
color: map-get($colors, active) !important;
|
|
68
|
+
text-decoration-color: map-get($colors, active) !important;
|
|
69
|
+
}
|
|
34
70
|
}
|
|
35
71
|
}
|
|
36
72
|
|
|
37
|
-
.
|
|
38
|
-
color: $
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
&:focus {
|
|
42
|
-
color: $success-400 !important;
|
|
43
|
-
text-decoration-color: $success-400 !important;
|
|
44
|
-
}
|
|
73
|
+
a.disabled {
|
|
74
|
+
color: $gray-400 !important;
|
|
75
|
+
text-decoration-color: $gray-400 !important;
|
|
76
|
+
pointer-events: none;
|
|
45
77
|
|
|
46
|
-
|
|
47
|
-
color: $
|
|
48
|
-
text-decoration-color: $
|
|
78
|
+
&.link-oncolor {
|
|
79
|
+
color: rgba($white, 0.3) !important;
|
|
80
|
+
text-decoration-color: rgba($white, 0.3) !important;
|
|
49
81
|
}
|
|
50
82
|
}
|
|
51
83
|
|
|
52
|
-
.link-danger {
|
|
53
|
-
color: $danger-600 !important;
|
|
54
|
-
|
|
55
|
-
&:hover,
|
|
56
|
-
&:focus {
|
|
57
|
-
color: $danger-400 !important;
|
|
58
|
-
text-decoration-color: $danger-400 !important;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
&:active {
|
|
62
|
-
color: $danger-300 !important;
|
|
63
|
-
text-decoration-color: $danger-300 !important;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.link-warning {
|
|
68
|
-
color: $warning-600 !important;
|
|
69
|
-
|
|
70
|
-
&:hover,
|
|
71
|
-
&:focus {
|
|
72
|
-
color: $warning-400 !important;
|
|
73
|
-
text-decoration-color: $warning-400 !important;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
&:active {
|
|
77
|
-
color: $warning-300 !important;
|
|
78
|
-
text-decoration-color: $warning-300 !important;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.link-info {
|
|
83
|
-
color: $info-600 !important;
|
|
84
|
-
|
|
85
|
-
&:hover,
|
|
86
|
-
&:focus {
|
|
87
|
-
color: $info-400 !important;
|
|
88
|
-
text-decoration-color: $info-400 !important;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
&:active {
|
|
92
|
-
color: $info-300 !important;
|
|
93
|
-
text-decoration-color: $info-300 !important;
|
|
94
|
-
}
|
|
95
|
-
}
|
package/theme/dga-ui.scss
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// ============================================
|
|
16
16
|
|
|
17
17
|
// Import all component customizations
|
|
18
|
+
@import './customizations/links';
|
|
18
19
|
@import './customizations/global';
|
|
19
20
|
@import './customizations/buttons';
|
|
20
21
|
@import './customizations/cards';
|
|
@@ -24,5 +25,3 @@
|
|
|
24
25
|
@import './customizations/forms';
|
|
25
26
|
@import './customizations/forms-switch';
|
|
26
27
|
@import './customizations/tables';
|
|
27
|
-
@import './customizations/links';
|
|
28
|
-
@import './customizations/utilities';
|
|
File without changes
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
// Utility Customizations - SDGA Custom Enhancements
|
|
2
|
-
|
|
3
|
-
@use 'sass:color';
|
|
4
|
-
|
|
5
|
-
// ============================================
|
|
6
|
-
// COLOR UTILITIES
|
|
7
|
-
// ============================================
|
|
8
|
-
|
|
9
|
-
// Neutral color utilities
|
|
10
|
-
.bg-neutral {
|
|
11
|
-
background-color: $gray-600 !important;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.text-neutral {
|
|
15
|
-
color: $gray-600 !important;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.border-neutral {
|
|
19
|
-
border-color: $gray-600 !important;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// ============================================
|
|
23
|
-
// SHADOW UTILITIES
|
|
24
|
-
// ============================================
|
|
25
|
-
|
|
26
|
-
.shadow-xs {
|
|
27
|
-
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.shadow-2xl {
|
|
31
|
-
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// ============================================
|
|
35
|
-
// GRADIENT UTILITIES
|
|
36
|
-
// ============================================
|
|
37
|
-
|
|
38
|
-
.bg-gradient-primary {
|
|
39
|
-
background: linear-gradient(135deg, $primary 0%, color.scale($primary, $lightness: -48%) 100%) !important;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.bg-gradient-secondary {
|
|
43
|
-
background: linear-gradient(135deg, $secondary 0%, color.scale($secondary, $lightness: -48%) 100%) !important;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.bg-gradient-lavender {
|
|
47
|
-
background: linear-gradient(135deg, $lavender-600 0%, color.scale($lavender-600, $lightness: -48%) 100%) !important;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// ============================================
|
|
51
|
-
// LINK VARIANTS
|
|
52
|
-
// ============================================
|
|
53
|
-
|
|
54
|
-
.link-lavender {
|
|
55
|
-
color: $lavender-600 !important;
|
|
56
|
-
|
|
57
|
-
&:hover,
|
|
58
|
-
&:focus {
|
|
59
|
-
color: color.scale($lavender-600, $lightness: -32%) !important;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.link-neutral {
|
|
64
|
-
color: $gray-600 !important;
|
|
65
|
-
|
|
66
|
-
&:hover,
|
|
67
|
-
&:focus {
|
|
68
|
-
color: color.scale($gray-600, $lightness: -32%) !important;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// ============================================
|
|
73
|
-
// TEXT UTILITIES
|
|
74
|
-
// ============================================
|
|
75
|
-
|
|
76
|
-
.text-muted-light {
|
|
77
|
-
color: $gray-400 !important;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.text-muted-dark {
|
|
81
|
-
color: $gray-600 !important;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// ============================================
|
|
85
|
-
// RESPONSIVE SPACING
|
|
86
|
-
// ============================================
|
|
87
|
-
|
|
88
|
-
@media (min-width: 768px) {
|
|
89
|
-
.py-md-6 {
|
|
90
|
-
padding-top: 2rem !important;
|
|
91
|
-
padding-bottom: 2rem !important;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.py-md-7 {
|
|
95
|
-
padding-top: 2.5rem !important;
|
|
96
|
-
padding-bottom: 2.5rem !important;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.py-md-8 {
|
|
100
|
-
padding-top: 3rem !important;
|
|
101
|
-
padding-bottom: 3rem !important;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// ============================================
|
|
106
|
-
// SCROLLBAR UTILITIES
|
|
107
|
-
// ============================================
|
|
108
|
-
|
|
109
|
-
.custom-scrollbar {
|
|
110
|
-
&::-webkit-scrollbar {
|
|
111
|
-
width: 8px;
|
|
112
|
-
height: 8px;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
&::-webkit-scrollbar-track {
|
|
116
|
-
background: $gray-100;
|
|
117
|
-
border-radius: $radius-sm;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
&::-webkit-scrollbar-thumb {
|
|
121
|
-
background: $gray-400;
|
|
122
|
-
border-radius: $radius-sm;
|
|
123
|
-
|
|
124
|
-
&:hover {
|
|
125
|
-
background: $gray-500;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// ============================================
|
|
131
|
-
// PRINT UTILITIES
|
|
132
|
-
// ============================================
|
|
133
|
-
|
|
134
|
-
@media print {
|
|
135
|
-
.no-print {
|
|
136
|
-
display: none !important;
|
|
137
|
-
}
|
|
138
|
-
}
|