@okjavis/nodebb-theme-javis 1.0.1 → 1.3.0
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/package.json +6 -22
- package/plugin.json +4 -3
- package/scss/_base.scss +72 -0
- package/scss/_buttons.scss +410 -0
- package/scss/_cards.scss +434 -0
- package/{less/_categories.less → scss/_categories.scss} +10 -10
- package/scss/_feed.scss +610 -0
- package/scss/_forms.scss +502 -0
- package/scss/_sidebar-user.scss +150 -0
- package/scss/_sidebar.scss +815 -0
- package/scss/_variables.scss +54 -0
- package/scss/overrides.scss +39 -0
- package/static/images/logo-full.png +0 -0
- package/static/images/logo-icon.png +0 -0
- package/static/lib/theme.js +39 -2
- package/templates/partials/header/brand.tpl +11 -0
- package/templates/partials/posts_list_item.tpl +3 -7
- package/templates/partials/sidebar/user-menu-dropdown.tpl +99 -0
- package/templates/partials/sidebar-left.tpl +87 -0
- package/templates/partials/sidebar-right.tpl +7 -0
- package/templates/partials/topics_list.tpl +111 -0
- package/theme.js +49 -7
- package/theme.json +8 -0
- package/theme.scss +21 -0
- package/less/_base.less +0 -70
- package/less/_buttons.less +0 -90
- package/less/_cards.less +0 -118
- package/less/_forms.less +0 -104
- package/less/_sidebar.less +0 -110
- package/less/_variables.less +0 -54
- package/less/theme.less +0 -18
package/less/_buttons.less
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// ===========================================================
|
|
2
|
-
// BUTTON SYSTEM – JAVIS Design System
|
|
3
|
-
// ===========================================================
|
|
4
|
-
|
|
5
|
-
// Base Button Reset
|
|
6
|
-
.btn {
|
|
7
|
-
border-radius: @jv-radius-pill;
|
|
8
|
-
padding: 6px 16px;
|
|
9
|
-
font-size: 14px;
|
|
10
|
-
font-weight: 500;
|
|
11
|
-
line-height: 1.32;
|
|
12
|
-
transition: all 0.15s ease;
|
|
13
|
-
border-width: 1px;
|
|
14
|
-
cursor: pointer;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// PRIMARY BUTTON
|
|
18
|
-
.btn-primary {
|
|
19
|
-
background-color: @jv-primary;
|
|
20
|
-
border-color: @jv-primary;
|
|
21
|
-
color: #fff;
|
|
22
|
-
box-shadow: @jv-shadow-button;
|
|
23
|
-
|
|
24
|
-
&:hover,
|
|
25
|
-
&:focus {
|
|
26
|
-
background-color: @jv-primary-hover;
|
|
27
|
-
border-color: @jv-primary-hover;
|
|
28
|
-
box-shadow: @jv-shadow-button-hover;
|
|
29
|
-
transform: translateY(-1px);
|
|
30
|
-
color: #fff;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
&:active {
|
|
34
|
-
transform: translateY(0);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// OUTLINE PRIMARY
|
|
39
|
-
.btn-outline-primary {
|
|
40
|
-
background-color: transparent;
|
|
41
|
-
border-color: @jv-primary;
|
|
42
|
-
color: @jv-primary;
|
|
43
|
-
|
|
44
|
-
&:hover,
|
|
45
|
-
&:focus {
|
|
46
|
-
background-color: @jv-primary-soft;
|
|
47
|
-
border-color: @jv-primary;
|
|
48
|
-
color: @jv-primary;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// SECONDARY BUTTON
|
|
53
|
-
.btn-secondary,
|
|
54
|
-
.btn-default {
|
|
55
|
-
background-color: #f7f8fa;
|
|
56
|
-
border-color: @jv-border-subtle;
|
|
57
|
-
color: @jv-text-main;
|
|
58
|
-
|
|
59
|
-
&:hover,
|
|
60
|
-
&:focus {
|
|
61
|
-
background-color: #eef0f3;
|
|
62
|
-
border-color: @jv-border-subtle;
|
|
63
|
-
color: @jv-text-main;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// LINK-STYLE BUTTON
|
|
68
|
-
.btn-link {
|
|
69
|
-
color: @jv-primary;
|
|
70
|
-
font-weight: 500;
|
|
71
|
-
padding: 0;
|
|
72
|
-
|
|
73
|
-
&:hover {
|
|
74
|
-
text-decoration: underline;
|
|
75
|
-
color: @jv-primary-hover;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// SMALL BUTTONS
|
|
80
|
-
.btn-sm {
|
|
81
|
-
padding: 4px 12px;
|
|
82
|
-
font-size: @jv-font-size-sm;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// LARGE BUTTONS
|
|
86
|
-
.btn-lg {
|
|
87
|
-
padding: 10px 22px;
|
|
88
|
-
font-size: @jv-font-size-base;
|
|
89
|
-
border-radius: @jv-radius-pill;
|
|
90
|
-
}
|
package/less/_cards.less
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
// ===========================================================
|
|
2
|
-
// CARD COMPONENT – Feed Posts
|
|
3
|
-
// Inspired by Circle.so's spacing and Apple's depth
|
|
4
|
-
// ===========================================================
|
|
5
|
-
|
|
6
|
-
// CARD WRAPPER
|
|
7
|
-
li[component="post"].posts-list-item {
|
|
8
|
-
background: @jv-surface;
|
|
9
|
-
border-radius: @jv-radius-lg;
|
|
10
|
-
border: 1px solid rgba(0,0,0,0.05);
|
|
11
|
-
box-shadow: @jv-shadow-card;
|
|
12
|
-
padding: 24px 22px 20px 22px;
|
|
13
|
-
margin-bottom: 24px;
|
|
14
|
-
transition: box-shadow 0.15s ease, border-color 0.15s ease;
|
|
15
|
-
|
|
16
|
-
&:hover {
|
|
17
|
-
box-shadow: 0 6px 14px rgba(0,0,0,0.08);
|
|
18
|
-
border-color: rgba(0,0,0,0.08);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// IMAGE BLOCK
|
|
23
|
-
li[component="post"] {
|
|
24
|
-
.overflow-hidden,
|
|
25
|
-
img.w-100 {
|
|
26
|
-
border-radius: @jv-radius-lg;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// CARD BODY LAYOUT
|
|
31
|
-
li[component="post"] .post-body {
|
|
32
|
-
display: flex;
|
|
33
|
-
flex-direction: column;
|
|
34
|
-
gap: @jv-space-6;
|
|
35
|
-
padding-top: @jv-space-2;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// TITLE
|
|
39
|
-
li[component="post"] .topic-title {
|
|
40
|
-
display: block;
|
|
41
|
-
margin-bottom: 6px;
|
|
42
|
-
font-size: @jv-font-size-lg;
|
|
43
|
-
font-weight: 600;
|
|
44
|
-
letter-spacing: -0.01em;
|
|
45
|
-
line-height: @jv-line-height-tight;
|
|
46
|
-
color: @jv-text-main;
|
|
47
|
-
|
|
48
|
-
a {
|
|
49
|
-
color: inherit;
|
|
50
|
-
text-decoration: none;
|
|
51
|
-
|
|
52
|
-
&:hover {
|
|
53
|
-
color: @jv-primary;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// META (author + time)
|
|
59
|
-
li[component="post"] .d-flex.gap-2 {
|
|
60
|
-
margin-bottom: 10px;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
li[component="post"] {
|
|
64
|
-
.timeago,
|
|
65
|
-
.post-meta a,
|
|
66
|
-
.topic-meta {
|
|
67
|
-
font-size: @jv-font-size-sm;
|
|
68
|
-
color: @jv-text-muted;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// CONTENT
|
|
73
|
-
li[component="post"] .content p {
|
|
74
|
-
font-size: @jv-font-size-base;
|
|
75
|
-
line-height: @jv-line-height-base;
|
|
76
|
-
margin-bottom: 18px;
|
|
77
|
-
color: @jv-text-main;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// DIVIDER
|
|
81
|
-
li[component="post"] hr {
|
|
82
|
-
margin: 16px 0;
|
|
83
|
-
border-color: @jv-border-subtle;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// ===========================================================
|
|
87
|
-
// ACTION ROW (quiet, modern, premium)
|
|
88
|
-
// ===========================================================
|
|
89
|
-
|
|
90
|
-
li[component="post"] .d-flex.justify-content-between {
|
|
91
|
-
margin-top: 6px;
|
|
92
|
-
padding-bottom: 2px;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
li[component="post"] .d-flex.gap-3 a {
|
|
96
|
-
background: transparent;
|
|
97
|
-
border: none;
|
|
98
|
-
padding: 0;
|
|
99
|
-
font-size: @jv-font-size-sm;
|
|
100
|
-
color: @jv-text-muted;
|
|
101
|
-
opacity: 0.85;
|
|
102
|
-
display: flex;
|
|
103
|
-
align-items: center;
|
|
104
|
-
gap: 6px;
|
|
105
|
-
box-shadow: none;
|
|
106
|
-
text-decoration: none;
|
|
107
|
-
transition: color 0.15s ease, opacity 0.15s ease;
|
|
108
|
-
|
|
109
|
-
&:hover {
|
|
110
|
-
color: @jv-primary;
|
|
111
|
-
opacity: 1;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
i {
|
|
115
|
-
font-size: 15px;
|
|
116
|
-
color: inherit;
|
|
117
|
-
}
|
|
118
|
-
}
|
package/less/_forms.less
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
// ===========================================================
|
|
2
|
-
// INPUT SYSTEM – Global Form Controls
|
|
3
|
-
// ===========================================================
|
|
4
|
-
|
|
5
|
-
.form-control,
|
|
6
|
-
input[type="text"],
|
|
7
|
-
input[type="search"],
|
|
8
|
-
input[type="email"],
|
|
9
|
-
input[type="password"],
|
|
10
|
-
textarea,
|
|
11
|
-
.form-select {
|
|
12
|
-
background: @jv-surface;
|
|
13
|
-
border: 1px solid @jv-border-subtle;
|
|
14
|
-
border-radius: @jv-radius-pill;
|
|
15
|
-
padding: 10px 16px;
|
|
16
|
-
font-size: @jv-font-size-base;
|
|
17
|
-
color: @jv-text-main;
|
|
18
|
-
line-height: @jv-line-height-tight;
|
|
19
|
-
box-shadow: none;
|
|
20
|
-
transition: all 0.15s ease;
|
|
21
|
-
|
|
22
|
-
&::placeholder {
|
|
23
|
-
color: @jv-text-muted;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
&:focus {
|
|
27
|
-
outline: none;
|
|
28
|
-
border-color: @jv-primary;
|
|
29
|
-
box-shadow: 0 0 0 3px @jv-primary-soft;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Textarea specific
|
|
34
|
-
textarea {
|
|
35
|
-
border-radius: @jv-radius-md;
|
|
36
|
-
resize: vertical;
|
|
37
|
-
min-height: 100px;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// ===========================================================
|
|
41
|
-
// SEARCH BAR
|
|
42
|
-
// ===========================================================
|
|
43
|
-
|
|
44
|
-
.search-widget .input-group {
|
|
45
|
-
.form-control {
|
|
46
|
-
border-top-right-radius: 0;
|
|
47
|
-
border-bottom-right-radius: 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.btn-primary {
|
|
51
|
-
border-top-left-radius: 0;
|
|
52
|
-
border-bottom-left-radius: 0;
|
|
53
|
-
padding: 0 18px;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// ===========================================================
|
|
58
|
-
// COMPOSER TRIGGER (Write a Post…)
|
|
59
|
-
// ===========================================================
|
|
60
|
-
|
|
61
|
-
.jlc-trigger {
|
|
62
|
-
width: 100%;
|
|
63
|
-
background: @jv-surface;
|
|
64
|
-
border: 1px solid @jv-border-subtle;
|
|
65
|
-
border-radius: @jv-radius-pill;
|
|
66
|
-
padding: 12px 18px;
|
|
67
|
-
font-size: @jv-font-size-base;
|
|
68
|
-
font-weight: 400;
|
|
69
|
-
text-align: left;
|
|
70
|
-
color: @jv-text-muted;
|
|
71
|
-
box-shadow: @jv-shadow-soft;
|
|
72
|
-
transition: all 0.15s ease;
|
|
73
|
-
|
|
74
|
-
&:hover,
|
|
75
|
-
&:focus {
|
|
76
|
-
background: @jv-surface;
|
|
77
|
-
border-color: @jv-primary;
|
|
78
|
-
color: @jv-primary;
|
|
79
|
-
box-shadow: @jv-shadow-soft;
|
|
80
|
-
outline: none;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
&:active {
|
|
84
|
-
transform: scale(0.99);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Override Bootstrap button states
|
|
88
|
-
&.btn,
|
|
89
|
-
&.btn:focus,
|
|
90
|
-
&.btn:hover,
|
|
91
|
-
&.btn:active {
|
|
92
|
-
background: @jv-surface;
|
|
93
|
-
border-radius: @jv-radius-pill;
|
|
94
|
-
box-shadow: @jv-shadow-soft;
|
|
95
|
-
border-color: @jv-border-subtle;
|
|
96
|
-
outline: none;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&.btn:hover,
|
|
100
|
-
&.btn:focus {
|
|
101
|
-
border-color: @jv-primary;
|
|
102
|
-
color: @jv-primary;
|
|
103
|
-
}
|
|
104
|
-
}
|
package/less/_sidebar.less
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
// ===========================================================
|
|
2
|
-
// SIDEBAR SYSTEM – Trending Tags + Trending Now
|
|
3
|
-
// ===========================================================
|
|
4
|
-
|
|
5
|
-
// Sidebar Widget Titles
|
|
6
|
-
div[data-widget-area="right"] {
|
|
7
|
-
h5, h8 {
|
|
8
|
-
font-size: 16px;
|
|
9
|
-
font-weight: 600;
|
|
10
|
-
margin-bottom: @jv-space-4;
|
|
11
|
-
color: @jv-text-main;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// ===========================================================
|
|
16
|
-
// TRENDING TAGS
|
|
17
|
-
// ===========================================================
|
|
18
|
-
|
|
19
|
-
.popular-tags {
|
|
20
|
-
gap: 6px;
|
|
21
|
-
|
|
22
|
-
.tag-list > div {
|
|
23
|
-
background: @jv-surface;
|
|
24
|
-
border: 1px solid @jv-border-subtle;
|
|
25
|
-
border-radius: 10px;
|
|
26
|
-
padding: 10px 12px;
|
|
27
|
-
font-size: 14px;
|
|
28
|
-
color: @jv-text-main;
|
|
29
|
-
display: flex;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
gap: 2px;
|
|
32
|
-
cursor: pointer;
|
|
33
|
-
transition: border-color 0.15s ease, background 0.15s ease;
|
|
34
|
-
|
|
35
|
-
&:hover {
|
|
36
|
-
border-color: rgba(0,0,0,0.12);
|
|
37
|
-
background: rgba(0,0,0,0.03);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
small {
|
|
41
|
-
color: @jv-text-muted;
|
|
42
|
-
font-size: @jv-font-size-xs;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// ===========================================================
|
|
48
|
-
// TRENDING NOW
|
|
49
|
-
// ===========================================================
|
|
50
|
-
|
|
51
|
-
#recent_posts {
|
|
52
|
-
display: flex;
|
|
53
|
-
flex-direction: column;
|
|
54
|
-
gap: 10px;
|
|
55
|
-
margin-top: @jv-space-6;
|
|
56
|
-
|
|
57
|
-
li.widget-posts {
|
|
58
|
-
background: @jv-surface;
|
|
59
|
-
border: 1px solid rgba(0,0,0,0.05);
|
|
60
|
-
border-radius: @jv-radius-md;
|
|
61
|
-
padding: 10px 14px;
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
gap: @jv-space-4;
|
|
65
|
-
transition: box-shadow 0.15s ease, border 0.15s ease;
|
|
66
|
-
|
|
67
|
-
&:hover {
|
|
68
|
-
border-color: rgba(0,0,0,0.08);
|
|
69
|
-
box-shadow: @jv-shadow-soft;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Meta info
|
|
73
|
-
.d-flex.gap-2,
|
|
74
|
-
.timeago {
|
|
75
|
-
font-size: @jv-font-size-xs;
|
|
76
|
-
color: @jv-text-muted;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Title inside mini post
|
|
80
|
-
a {
|
|
81
|
-
font-size: 14px;
|
|
82
|
-
font-weight: 500;
|
|
83
|
-
color: @jv-text-main;
|
|
84
|
-
text-decoration: none;
|
|
85
|
-
line-height: @jv-line-height-tight;
|
|
86
|
-
|
|
87
|
-
&:hover {
|
|
88
|
-
color: @jv-primary;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// 2-line clamp for content preview
|
|
93
|
-
p,
|
|
94
|
-
.content {
|
|
95
|
-
display: -webkit-box;
|
|
96
|
-
-webkit-line-clamp: 2;
|
|
97
|
-
-webkit-box-orient: vertical;
|
|
98
|
-
overflow: hidden;
|
|
99
|
-
font-size: @jv-font-size-sm;
|
|
100
|
-
color: @jv-text-muted;
|
|
101
|
-
margin: 0;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Read more alignment
|
|
105
|
-
a.stretched-link {
|
|
106
|
-
font-size: @jv-font-size-xs;
|
|
107
|
-
color: @jv-primary;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
package/less/_variables.less
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// JAVIS Design System – Tokens
|
|
3
|
-
// ============================================
|
|
4
|
-
|
|
5
|
-
// Brand Colors
|
|
6
|
-
@jv-primary: #0051ff;
|
|
7
|
-
@jv-primary-hover: #0044dd;
|
|
8
|
-
@jv-primary-soft: rgba(0, 81, 255, 0.12);
|
|
9
|
-
|
|
10
|
-
// Neutrals
|
|
11
|
-
@jv-bg: #f5f6f8; // app background
|
|
12
|
-
@jv-surface: #ffffff; // cards, panels
|
|
13
|
-
@jv-border-subtle: rgba(0,0,0,0.06);
|
|
14
|
-
@jv-border-strong: rgba(0,0,0,0.12);
|
|
15
|
-
|
|
16
|
-
// Text
|
|
17
|
-
@jv-text-main: #111111;
|
|
18
|
-
@jv-text-muted: #6b7280;
|
|
19
|
-
@jv-text-soft: #9ca3af;
|
|
20
|
-
|
|
21
|
-
// Radii
|
|
22
|
-
@jv-radius-xs: 4px;
|
|
23
|
-
@jv-radius-sm: 8px;
|
|
24
|
-
@jv-radius-md: 12px;
|
|
25
|
-
@jv-radius-lg: 16px;
|
|
26
|
-
@jv-radius-pill: 999px;
|
|
27
|
-
|
|
28
|
-
// Shadows
|
|
29
|
-
@jv-shadow-soft: 0 2px 8px rgba(0,0,0,0.04);
|
|
30
|
-
@jv-shadow-card: 0 4px 10px rgba(0,0,0,0.05);
|
|
31
|
-
@jv-shadow-button: 0 4px 12px rgba(0, 81, 255, 0.25);
|
|
32
|
-
@jv-shadow-button-hover: 0 6px 16px rgba(0, 81, 255, 0.35);
|
|
33
|
-
|
|
34
|
-
// Spacing (8pt-ish scale)
|
|
35
|
-
@jv-space-2: 4px;
|
|
36
|
-
@jv-space-4: 8px;
|
|
37
|
-
@jv-space-6: 12px;
|
|
38
|
-
@jv-space-8: 16px;
|
|
39
|
-
@jv-space-10: 20px;
|
|
40
|
-
@jv-space-12: 24px;
|
|
41
|
-
|
|
42
|
-
// Typography
|
|
43
|
-
@jv-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Helvetica Neue", Arial, sans-serif;
|
|
44
|
-
@jv-font-size-base: 15px;
|
|
45
|
-
@jv-font-size-sm: 13px;
|
|
46
|
-
@jv-font-size-xs: 12px;
|
|
47
|
-
@jv-font-size-lg: 18px;
|
|
48
|
-
@jv-font-size-xl: 22px;
|
|
49
|
-
@jv-font-size-xxl: 32px;
|
|
50
|
-
|
|
51
|
-
// Line Heights
|
|
52
|
-
@jv-line-height-base: 1.52;
|
|
53
|
-
@jv-line-height-tight: 1.4;
|
|
54
|
-
@jv-line-height-relaxed: 1.6;
|
package/less/theme.less
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// ============================================
|
|
2
|
-
// JAVIS Community Theme
|
|
3
|
-
// Modern, premium NodeBB theme
|
|
4
|
-
// Inspired by Apple, Stripe, and Linear
|
|
5
|
-
// ============================================
|
|
6
|
-
|
|
7
|
-
// Core Design System
|
|
8
|
-
@import "_variables";
|
|
9
|
-
|
|
10
|
-
// Base Styles
|
|
11
|
-
@import "_base";
|
|
12
|
-
|
|
13
|
-
// Components
|
|
14
|
-
@import "_buttons";
|
|
15
|
-
@import "_forms";
|
|
16
|
-
@import "_cards";
|
|
17
|
-
@import "_sidebar";
|
|
18
|
-
@import "_categories";
|