@nulllogic/scssleon 1.0.4 → 1.0.5
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/README.md +132 -32
- package/package.json +2 -2
- package/scss/_base.scss +35 -2
- package/scss/_config.scss +10 -30
- package/scss/_content.scss +30 -7
- package/scss/_mixins.scss +0 -1
- package/scss/_reset.scss +23 -6
- package/scss/_root.scss +1 -4
- package/scss/components/_container.scss +19 -17
- package/scss/components/_form.scss +3 -44
- package/scss/components/_megamenu.scss +15 -0
- package/scss/components/_placeholder.scss +1 -15
- package/scss/components/_tooltip.scss +15 -0
- package/scss/mixins/generators/_color-sheme.scss +1 -13
- package/scss/mixins/generators/_components.scss +69 -11
- package/scss/mixins/generators/_properties.scss +143 -58
- package/scss/scssleon.scss +41 -33
- package/scss/themes/_default.scss +1186 -321
- package/scss/mixins/generators/_wrapper.scss +0 -16
package/README.md
CHANGED
|
@@ -1,50 +1,158 @@
|
|
|
1
1
|
<p align="left">
|
|
2
2
|
<picture>
|
|
3
3
|
<source media="(prefers-color-scheme: dark)" srcset="./.imgs/header.jpg">
|
|
4
|
-
<img alt="
|
|
4
|
+
<img alt="SCSSleon framework" src="./.imgs/header.jpg">
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
|
-
Welcome to XII/Grid CSS framework ! It's the most advanced responsive front-end framework, that can boost development of your website or project. It was built in love and with love from internet technologies. Peace !
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
# SCSSLEON [](https://github.com/Tencent/QMUI_Web/ "Version Number")
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
Welcome to SCSSLEON framework ! It's the most advanced responsive front-end framework, that can boost development of your website or project. It was built in love and with love from internet technologies. Peace !
|
|
11
|
+
|
|
12
|
+
<hr />
|
|
14
13
|
|
|
15
14
|
<p align="center">
|
|
16
|
-
|
|
15
|
+
– [ <a href="http://nulllogic.github.io/scssleon-docs" target="_self">Documentation</a> ] — [ <a href="https://github.com/nulllogic/scssleon/issues" target="_blank">Bugs/Issues</a> ] — [ <a href="https://stackoverflow.com/questions/tagged/scssleon" target="_blank">StackOverflow</a> ] –
|
|
17
16
|
</p>
|
|
18
17
|
|
|
19
18
|
## ┌ 🧭 Quickstart ┐
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
### Prerequisites
|
|
21
|
+
|
|
22
|
+
- Node.js and npm installed on your system.
|
|
23
|
+
- Basic knowledge of SCSS and Node.js.
|
|
24
|
+
|
|
25
|
+
### Install
|
|
26
|
+
|
|
27
|
+
<details>
|
|
28
|
+
<summary> Method #1 ( 🛖🔥🦴primitive ) </summary>
|
|
29
|
+
|
|
30
|
+
1. Install packages – run the following command in your project directory to install SCSSLEON + SASS:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm i @nulllogic/scssleon sass
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
2. Initialize your project (if not already done). If your project doesn't have a package.json file, create one by running:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm init -y
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
4. Update `package.json` file. Add following strings
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
"scripts": {
|
|
46
|
+
"sass-dev": "sass --watch --update --style=expanded styles:assets/css --load-path=node_modules",
|
|
47
|
+
"sass-prod": "sass --no-source-map --style=compressed styles:assets/css --load-path=node_modules"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
5. Create `app.scss` inside your project in `/styles` directory
|
|
52
|
+
|
|
53
|
+
```scss
|
|
54
|
+
@use 'sass:map';
|
|
55
|
+
@use "sass:string";
|
|
56
|
+
|
|
57
|
+
@forward "@nulllogic/scssleon/scss/mixins";
|
|
58
|
+
@forward "@nulllogic/scssleon/scss/functions";
|
|
59
|
+
|
|
60
|
+
@use "@nulllogic/scssleon/scss/config.scss" as config with (
|
|
61
|
+
// This is main config, that you can tweak
|
|
62
|
+
$config: (
|
|
63
|
+
prefix: "xii",
|
|
64
|
+
enable: (
|
|
65
|
+
wrapper: false,
|
|
66
|
+
),
|
|
67
|
+
)
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
@use "@nulllogic/scssleon/themes/default.scss" as theme with (
|
|
71
|
+
$config : config.$config,
|
|
72
|
+
$theme: (
|
|
73
|
+
html : (
|
|
74
|
+
body : (
|
|
75
|
+
_colors: (
|
|
76
|
+
light : (
|
|
77
|
+
background : rgb(244, 244, 244),
|
|
78
|
+
color: rgb(28, 29, 31),
|
|
79
|
+
),
|
|
80
|
+
dark : (
|
|
81
|
+
background : rgb(5, 17, 4),
|
|
82
|
+
color: '#ccc'
|
|
83
|
+
)
|
|
84
|
+
)
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
$config: config.$config;
|
|
91
|
+
$theme: theme.$theme;
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
6. Create `base.scss` inside your project in `/styles/components` directory
|
|
95
|
+
```scss
|
|
96
|
+
// Loading your SCSS module with pre-defined config and theme
|
|
97
|
+
// ↓ Config
|
|
98
|
+
@use "../app.scss" as app;
|
|
99
|
+
|
|
100
|
+
// Loading modules and components
|
|
101
|
+
// ↓ Root
|
|
102
|
+
@use "@nulllogic/scssleon/scss/root" with (
|
|
103
|
+
$config: app.$config,
|
|
104
|
+
$theme: app.$theme
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
// Great reset
|
|
108
|
+
@use "@nulllogic/scssleon/scss/reset" with (
|
|
109
|
+
$config: app.$config,
|
|
110
|
+
$theme: app.$theme
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
// Base
|
|
114
|
+
@use "@nulllogic/scssleon/scss/base" with (
|
|
115
|
+
$config: app.$config,
|
|
116
|
+
$theme: app.$theme
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
// ↓ Container
|
|
120
|
+
@use "@nulllogic/scssleon/scss/container" with (
|
|
121
|
+
$config: app.$config,
|
|
122
|
+
$theme: app.$theme
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
7. Run node command at root `/` of your project to generate CSS code to `/assets/css`
|
|
127
|
+
```bash
|
|
128
|
+
npm run sass-dev
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
8. Profit – you now have output at `/assets/css` directory
|
|
132
|
+
|
|
133
|
+
</details>
|
|
134
|
+
|
|
22
135
|
|
|
23
136
|
## ┌ 📚 Documentation ┐
|
|
24
137
|
|
|
25
138
|
<p align="left">
|
|
26
|
-
<img src="./.imgs/documentation.jpg" width="100%" alt="
|
|
139
|
+
<img src="./.imgs/documentation.jpg" width="100%" alt="SCSSleon documentation">
|
|
27
140
|
</p>
|
|
28
141
|
|
|
29
|
-
|
|
142
|
+
SCSSleon's documentation is built with [Astro](https://astro.build/) and publicly hosted on GitHub Pages at <https://nulllogic.github.io/scssleon-docs/>. The docs may also be run locally.
|
|
30
143
|
|
|
31
|
-
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/).
|
|
144
|
+
Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/).
|
|
32
145
|
|
|
33
146
|
### ─ Running documentation locally
|
|
34
147
|
|
|
35
148
|
1. From the root `/` directory, run `make docs` in the command line.
|
|
36
|
-
2. Open `http://localhost:8000/
|
|
149
|
+
2. Open `http://localhost:8000/scssleon/` in your browser.
|
|
37
150
|
3. Enjoy the documentation locally
|
|
38
151
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Learn more about using Hugo by reading its [documentation](https://gohugo.io/documentation/).
|
|
42
|
-
|
|
43
|
-
|
|
44
152
|
## ┌ Contributing ┐
|
|
45
153
|
|
|
46
154
|
<p align="left">
|
|
47
|
-
<img src="./.imgs/contributing.jpg" width="100%" alt="
|
|
155
|
+
<img src="./.imgs/contributing.jpg" width="100%" alt="SCSSleon contributing">
|
|
48
156
|
</p>
|
|
49
157
|
|
|
50
158
|
> For contributing, please view the [CONTRIBUTING](CONTRIBUTING.md).
|
|
@@ -52,25 +160,17 @@ Learn more about using Hugo by reading its [documentation](https://gohugo.io/doc
|
|
|
52
160
|
## ┌ Thanks ┐
|
|
53
161
|
|
|
54
162
|
<p align="left">
|
|
55
|
-
<img src="./.imgs/thankyou.jpg" width="100%" alt="
|
|
163
|
+
<img src="./.imgs/thankyou.jpg" width="100%" alt="SCSSleon sponsors">
|
|
56
164
|
</p>
|
|
57
165
|
|
|
58
166
|
<a href="https://www.browserstack.com"><img src="./.imgs/browserstack.jpg" alt="browserstack"></a><br />
|
|
59
167
|
Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers!
|
|
60
168
|
|
|
61
169
|
## ┌ 📜 License ┐
|
|
62
|
-
|
|
63
|
-
<p align="left">
|
|
64
|
-
<img src="./.imgs/license.jpg" width="100%" alt="xiigrid licence">
|
|
65
|
-
</p>
|
|
66
|
-
|
|
67
170
|
[MIT license](LICENSE)
|
|
68
171
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Backend -->|Payment| PaymentService
|
|
75
|
-
```
|
|
76
|
-
-->
|
|
172
|
+
<hr />
|
|
173
|
+
|
|
174
|
+
<p align="center">
|
|
175
|
+
<a href="https://nulllogic.net/" target="_blank"><img src="./.imgs/logo.png" alt="NullLogic" aria-title="NullLogic"></a>
|
|
176
|
+
</p>
|
package/package.json
CHANGED
package/scss/_base.scss
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
└─┘┴ ┴└─┘└─┘
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
@use "sass:string";
|
|
8
|
+
@use "sass:map";
|
|
9
|
+
|
|
7
10
|
/* Load settings and functions */
|
|
8
11
|
@use 'mixins' as mixins;
|
|
9
12
|
@use 'functions' as functions;
|
|
@@ -12,8 +15,38 @@
|
|
|
12
15
|
$config: nil !default;
|
|
13
16
|
$theme: nil !default;
|
|
14
17
|
|
|
18
|
+
$color_scheme: functions.get-config($config, 'color-scheme');
|
|
19
|
+
|
|
20
|
+
html {
|
|
21
|
+
color-scheme: string.unquote($color_scheme);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// data-theme attribute is changing the color scheme
|
|
25
|
+
html[data-theme="dark"] {
|
|
26
|
+
color-scheme: dark
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
html[data-theme="light"] {
|
|
30
|
+
color-scheme: light
|
|
31
|
+
}
|
|
32
|
+
|
|
15
33
|
@each $tag, $properties in functions.get-theme($theme, 'html') {
|
|
16
|
-
|
|
17
|
-
|
|
34
|
+
@each $scheme in string.split(functions.get-config($config, 'color-scheme'), ' ') {
|
|
35
|
+
|
|
36
|
+
@if $scheme == 'light' {
|
|
37
|
+
#{$tag} {
|
|
38
|
+
@include mixins.generate-properties(#{$tag}, $properties, $config, (
|
|
39
|
+
scheme: $scheme,
|
|
40
|
+
));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@if $scheme == 'dark' {
|
|
45
|
+
[data-theme="#{$scheme}"] #{$tag} {
|
|
46
|
+
@include mixins.generate-properties(#{$tag}, $properties, $config, (
|
|
47
|
+
scheme: $scheme,
|
|
48
|
+
));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
18
51
|
}
|
|
19
52
|
}
|
package/scss/_config.scss
CHANGED
|
@@ -14,44 +14,25 @@
|
|
|
14
14
|
$config: () !default;
|
|
15
15
|
|
|
16
16
|
$default-config: (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
wrapper-class: "wrapper" // scss-docs-end root-variables
|
|
17
|
+
prefix: 'xii',
|
|
18
|
+
wrapper: '.wrapper'
|
|
20
19
|
);
|
|
21
20
|
|
|
22
21
|
// Container breakpoints
|
|
23
|
-
// scss-docs-start container-max-widths
|
|
24
22
|
$breakpoints-config: (
|
|
25
23
|
breakpoints: (
|
|
26
|
-
sm: 540px,
|
|
27
|
-
md: 720px,
|
|
28
|
-
lg: 960px,
|
|
29
|
-
xl: 1140px,
|
|
30
|
-
xxl: 1320px,
|
|
31
|
-
),
|
|
32
|
-
) !default;
|
|
33
|
-
// scss-docs-end container-max-widths
|
|
34
|
-
|
|
35
|
-
$default-config: map.deep-merge($default-config, $breakpoints-config);
|
|
36
|
-
|
|
37
|
-
// Grid breakpoints
|
|
38
|
-
// scss-docs-start grid-breakpoints
|
|
39
|
-
$grid-breakpoints-config: (
|
|
40
|
-
grid-breakpoints: (
|
|
41
|
-
xs: 0,
|
|
42
24
|
sm: 576px,
|
|
43
25
|
md: 768px,
|
|
44
26
|
lg: 992px,
|
|
45
|
-
xl:
|
|
46
|
-
xxl:
|
|
27
|
+
xl: 1220px,
|
|
28
|
+
xxl: 1380px,
|
|
47
29
|
),
|
|
48
|
-
);
|
|
49
|
-
// scss-docs-end grid-breakpoints
|
|
30
|
+
) !default;
|
|
50
31
|
|
|
51
|
-
$default-config: map.deep-merge($default-config, $
|
|
32
|
+
$default-config: map.deep-merge($default-config, $breakpoints-config);
|
|
52
33
|
|
|
53
34
|
$color_scheme-config: (
|
|
54
|
-
color-scheme:
|
|
35
|
+
color-scheme: 'light dark',
|
|
55
36
|
);
|
|
56
37
|
|
|
57
38
|
$default-config: map.deep-merge($default-config, $color_scheme-config);
|
|
@@ -69,7 +50,7 @@ $enable-rules-config: (
|
|
|
69
50
|
rtl: false,
|
|
70
51
|
button-pointers: true,
|
|
71
52
|
content-class: true,
|
|
72
|
-
wrapper:
|
|
53
|
+
wrapper: false,
|
|
73
54
|
),
|
|
74
55
|
);
|
|
75
56
|
|
|
@@ -87,17 +68,16 @@ $content-default-config: (
|
|
|
87
68
|
$default-config: map.deep-merge($default-config, $content-default-config);
|
|
88
69
|
|
|
89
70
|
// Z-index
|
|
90
|
-
// scss-docs-start z-index-stack
|
|
91
71
|
$z-index-config: (
|
|
92
72
|
z-index: (
|
|
73
|
+
tooltip: 3,
|
|
93
74
|
dropdown: 4,
|
|
94
75
|
header: 5,
|
|
95
76
|
overlay: 6,
|
|
96
77
|
modal : 7,
|
|
97
78
|
),
|
|
98
79
|
) !default;
|
|
99
|
-
// scss-docs-end z-index-stack
|
|
100
80
|
|
|
101
81
|
$default-config: map.deep-merge($default-config, $z-index-config);
|
|
102
82
|
|
|
103
|
-
$config: map.deep-merge($default-config, $config);
|
|
83
|
+
$config: map.deep-merge($default-config, $config);
|
package/scss/_content.scss
CHANGED
|
@@ -3,22 +3,45 @@
|
|
|
3
3
|
│ │ ││││ │ ├┤ │││ │
|
|
4
4
|
└─┘└─┘┘└┘ ┴ └─┘┘└┘ ┴
|
|
5
5
|
*/
|
|
6
|
-
@use
|
|
6
|
+
@use 'sass:map';
|
|
7
|
+
@use 'sass:string';
|
|
7
8
|
@use "functions" as functions;
|
|
8
9
|
@use "./mixins" as mixins;
|
|
9
10
|
|
|
10
11
|
$config: nil !default;
|
|
11
12
|
$theme: nil !default;
|
|
12
13
|
|
|
13
|
-
$is-content-enabled: functions.get-config($config,
|
|
14
|
+
$is-content-enabled: functions.get-config($config, 'enable.content');
|
|
15
|
+
$color_scheme: functions.get-config($config, 'color-scheme');
|
|
14
16
|
|
|
15
17
|
@if ($is-content-enabled) {
|
|
16
|
-
.
|
|
17
|
-
@each $tag, $properties in functions.get-theme($theme, "content") {
|
|
18
|
+
@each $scheme in string.split(functions.get-config($config, 'color-scheme'), ' ') {
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
@
|
|
20
|
+
@if $scheme == 'light' {
|
|
21
|
+
.content {
|
|
22
|
+
@each $tag, $properties in functions.get-theme($theme, 'content') {
|
|
23
|
+
|
|
24
|
+
// Only apply styling to elements, that stand right after `.content` class
|
|
25
|
+
& > #{$tag} {
|
|
26
|
+
@include mixins.generate-properties(#{$tag}, $properties, $config, (
|
|
27
|
+
scheme: $scheme,
|
|
28
|
+
));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@if $scheme == 'dark' {
|
|
35
|
+
.content:where([data-theme="#{$scheme}"], [data-theme="#{$scheme}"] *) {
|
|
36
|
+
@each $tag, $properties in functions.get-theme($theme, 'content') {
|
|
37
|
+
|
|
38
|
+
// Only apply styling to elements, that stand right after `.content` class
|
|
39
|
+
& > #{$tag} {
|
|
40
|
+
@include mixins.generate-properties(#{$tag}, $properties, $config, (
|
|
41
|
+
scheme: $scheme,
|
|
42
|
+
));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
22
45
|
}
|
|
23
46
|
}
|
|
24
47
|
}
|
package/scss/_mixins.scss
CHANGED
package/scss/_reset.scss
CHANGED
|
@@ -6,22 +6,23 @@
|
|
|
6
6
|
|
|
7
7
|
@use "sass:map";
|
|
8
8
|
@use "sass:meta";
|
|
9
|
+
|
|
9
10
|
@use "functions" as functions;
|
|
10
11
|
@use "mixins" as mixins;
|
|
11
12
|
|
|
12
13
|
$config: nil !default;
|
|
13
14
|
$theme: nil !default;
|
|
14
15
|
|
|
15
|
-
$prefix: functions.get-config($config,
|
|
16
|
+
$prefix: functions.get-config($config, 'prefix');
|
|
16
17
|
|
|
17
|
-
$is-reset-enabled: functions.get-config($config,
|
|
18
|
+
$is-reset-enabled: functions.get-config($config, 'enable.reset');
|
|
18
19
|
$is-button-pointers-enabled: functions.get-config(
|
|
19
20
|
$config,
|
|
20
21
|
"enable.button-pointers"
|
|
21
22
|
);
|
|
22
|
-
$is-spacing-enabled: functions.get-config($config,
|
|
23
|
+
$is-spacing-enabled: functions.get-config($config, 'enable.spacing');
|
|
23
24
|
|
|
24
|
-
$color_scheme: functions.get-config($config,
|
|
25
|
+
$color_scheme: functions.get-config($config, 'color-scheme');
|
|
25
26
|
|
|
26
27
|
@if $is-reset-enabled {
|
|
27
28
|
*,
|
|
@@ -48,13 +49,13 @@ $color_scheme: functions.get-config($config, "color-scheme");
|
|
|
48
49
|
h5,
|
|
49
50
|
h6 {
|
|
50
51
|
margin: 0;
|
|
51
|
-
line-height:
|
|
52
|
+
line-height: 1;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
// Paragraph
|
|
55
56
|
p {
|
|
56
57
|
margin: 0;
|
|
57
|
-
line-height:
|
|
58
|
+
line-height: 1;
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
// Lists
|
|
@@ -353,6 +354,22 @@ $color_scheme: functions.get-config($config, "color-scheme");
|
|
|
353
354
|
vertical-align: baseline;
|
|
354
355
|
}
|
|
355
356
|
|
|
357
|
+
// Definition list
|
|
358
|
+
dl {
|
|
359
|
+
dd {
|
|
360
|
+
margin: 0;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
dt {
|
|
364
|
+
margin: 0;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Blockquote
|
|
369
|
+
blockquote {
|
|
370
|
+
margin: 0;
|
|
371
|
+
}
|
|
372
|
+
|
|
356
373
|
// Hidden attribute
|
|
357
374
|
[hidden] {
|
|
358
375
|
display: none !important;
|
package/scss/_root.scss
CHANGED
|
@@ -13,13 +13,10 @@ $is-smooth-scroll-enabled: functions.get-config(
|
|
|
13
13
|
"enable.smooth-scroll"
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
-
$color_scheme: functions.get-config($config, "color-scheme");
|
|
17
|
-
|
|
18
16
|
$root-variables: functions.get-theme($theme, "root.variables");
|
|
19
17
|
|
|
20
18
|
:root {
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
/* 🌱𖣂🫚🌿 */
|
|
23
20
|
@include mixins.generate-properties(
|
|
24
21
|
"root",
|
|
25
22
|
functions.get-theme($theme, "root"),
|
|
@@ -3,36 +3,38 @@
|
|
|
3
3
|
│ │ ││││ │ ├─┤││││├┤ ├┬┘
|
|
4
4
|
└─┘└─┘┘└┘ ┴ ┴ ┴┴┘└┘└─┘┴└─
|
|
5
5
|
**/
|
|
6
|
+
@use 'sass:map';
|
|
6
7
|
|
|
7
|
-
@use
|
|
8
|
-
@use "../themes/default" as theme;
|
|
9
|
-
@use "../functions" as functions;
|
|
8
|
+
@use '../functions' as functions;
|
|
10
9
|
@use "../mixins" as mixins;
|
|
11
10
|
|
|
12
11
|
$config: nil !default;
|
|
13
12
|
$theme: nil !default;
|
|
14
13
|
|
|
15
|
-
$prefix: functions.get-config($config,
|
|
16
|
-
$color_scheme: functions.get-config($config,
|
|
14
|
+
$prefix: functions.get-config($config, 'prefix');
|
|
15
|
+
$color_scheme: functions.get-config($config, 'color-scheme');
|
|
17
16
|
|
|
18
|
-
$breakpoints: functions.get-config($config,
|
|
17
|
+
$breakpoints: functions.get-config($config, 'breakpoints');
|
|
19
18
|
|
|
20
|
-
$container-component: functions.get-theme($theme,
|
|
19
|
+
$container-component: functions.get-theme($theme, 'components.container');
|
|
21
20
|
|
|
22
21
|
// Container
|
|
23
|
-
|
|
24
|
-
@include mixins.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
.container {
|
|
23
|
+
@include mixins.generate-properties(
|
|
24
|
+
'container',
|
|
25
|
+
$container-component,
|
|
26
|
+
$config
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
@each $name, $size in $breakpoints {
|
|
30
|
+
@include mixins.breakpoint($size, 'min') {
|
|
31
|
+
&.#{$name} {
|
|
32
|
+
max-width: $size;
|
|
33
|
+
}
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
}
|
|
35
36
|
|
|
37
|
+
}
|
|
36
38
|
/**
|
|
37
39
|
==[ Note ]==
|
|
38
40
|
We are using mixin here, because @include is not working with @media query in SCSS | 07.12.2023
|
|
@@ -1,50 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/* Load mixins/functions */
|
|
2
2
|
@use '../mixins' as mixins;
|
|
3
|
+
@use '../functions' as functions;
|
|
3
4
|
|
|
4
5
|
/* SCSS variables definition requirement */
|
|
5
6
|
$config: nil !default;
|
|
6
7
|
$theme: nil !default;
|
|
7
8
|
|
|
8
|
-
@
|
|
9
|
-
$config : $config,
|
|
10
|
-
$theme : $theme
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
@use '../forms/input' with (
|
|
14
|
-
$config : $config,
|
|
15
|
-
$theme : $theme
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
@use '../forms/select' with (
|
|
19
|
-
$config : $config,
|
|
20
|
-
$theme : $theme
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
@use '../forms/radio' with (
|
|
24
|
-
$config : $config,
|
|
25
|
-
$theme : $theme
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
@use '../forms/checkbox' with (
|
|
29
|
-
$config : $config,
|
|
30
|
-
$theme : $theme
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
@use '../forms/range' with (
|
|
34
|
-
$config : $config,
|
|
35
|
-
$theme : $theme
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
@use '../forms/switch' with (
|
|
39
|
-
$config : $config,
|
|
40
|
-
$theme : $theme
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//@forward '../forms/form-text';
|
|
45
|
-
//@forward '../forms/form-control';
|
|
46
|
-
//@forward '../forms/form-select';
|
|
47
|
-
//@forward '../forms/form-check';
|
|
48
|
-
//@forward '../forms/form-range';
|
|
49
|
-
//@forward '../forms/input-group';
|
|
50
|
-
//@forward '../forms/validation';
|
|
9
|
+
@include mixins.generate-component('form', 'form', $config, $theme);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
┬ ┌─┐┌─┐┌┬┐┌─┐┬─┐
|
|
3
|
+
│ │ │├─┤ ││├┤ ├┬┘
|
|
4
|
+
┴─┘└─┘┴ ┴─┴┘└─┘┴└─
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Load mixins/functions */
|
|
8
|
+
@use '../mixins' as mixins;
|
|
9
|
+
@use '../functions' as functions;
|
|
10
|
+
|
|
11
|
+
/* SCSS variables definition requirement */
|
|
12
|
+
$config: nil !default;
|
|
13
|
+
$theme: nil !default;
|
|
14
|
+
|
|
15
|
+
@include mixins.generate-component('megamenu', 'megamenu', $config, $theme);
|
|
@@ -12,18 +12,4 @@
|
|
|
12
12
|
$config: nil !default;
|
|
13
13
|
$theme: nil !default;
|
|
14
14
|
|
|
15
|
-
@include mixins.generate-component('placeholder', 'placeholder', $config, $theme);
|
|
16
|
-
|
|
17
|
-
@keyframes placeholder-glow {
|
|
18
|
-
50% {
|
|
19
|
-
opacity: 0.5;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@keyframes placeholder-wave {
|
|
24
|
-
100% {
|
|
25
|
-
mask-position: -200% 0;
|
|
26
|
-
-webkit-mask-position: -200% 0;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
15
|
+
@include mixins.generate-component('placeholder', 'placeholder', $config, $theme);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
┌┬┐┌─┐┌─┐┬ ┌┬┐┬┌─┐
|
|
3
|
+
│ │ ││ ││ │ │├─┘
|
|
4
|
+
┴ └─┘└─┘┴─┘┴ ┴┴
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Load mixins/functions */
|
|
8
|
+
@use '../mixins' as mixins;
|
|
9
|
+
@use '../functions' as functions;
|
|
10
|
+
|
|
11
|
+
/* SCSS variables definition requirement */
|
|
12
|
+
$config: nil !default;
|
|
13
|
+
$theme: nil !default;
|
|
14
|
+
|
|
15
|
+
@include mixins.generate-component('tooltip', 'has-tooltip', $config, $theme, (variable: (name : 'tooltip')));
|
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
|
|
3
|
-
@use '../../functions' as functions;
|
|
4
|
-
|
|
5
|
-
// Media that add color variables
|
|
6
|
-
|
|
7
3
|
@mixin generate-color-scheme($schema) {
|
|
8
|
-
@
|
|
9
|
-
@media (prefers-color-scheme: light) {
|
|
10
|
-
@content
|
|
11
|
-
}
|
|
12
|
-
} @else if $schema == 'dark' {
|
|
13
|
-
@media (prefers-color-scheme: dark) {
|
|
14
|
-
@content
|
|
15
|
-
}
|
|
16
|
-
}
|
|
4
|
+
@content
|
|
17
5
|
}
|