@kizmann/nano-ui 1.0.0 → 1.0.1
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/dist/nano-ui.css +1 -0
- package/dist/nano-ui.js +4 -0
- package/dist/nano-ui.js.map +1 -0
- package/dist/themes/dark.css +1 -0
- package/dist/themes/light.css +1 -0
- package/package.json +7 -1
- package/.github/workflows/compile-deploy-publish.yml +0 -65
- package/assets/nano-ui-dark.svg +0 -19
- package/assets/nano-ui-light.svg +0 -19
- package/assets/pico-js-dark.svg +0 -19
- package/assets/pico-js-light.svg +0 -19
- package/babel.config.js +0 -17
- package/demos/builder.html +0 -411
- package/demos/button/index.html +0 -129
- package/demos/cascader/index.html +0 -127
- package/demos/chart/index.html +0 -53
- package/demos/checkbox/index.html +0 -97
- package/demos/config/index.html +0 -95
- package/demos/confirm/index.html +0 -78
- package/demos/datepicker/index.html +0 -69
- package/demos/draggable/index.html +0 -127
- package/demos/form/index.html +0 -83
- package/demos/form.html +0 -462
- package/demos/grid.html +0 -321
- package/demos/input/index.html +0 -100
- package/demos/map/index.html +0 -81
- package/demos/matrix/index.html +0 -104
- package/demos/modal/index.html +0 -98
- package/demos/overview.html +0 -1468
- package/demos/paginator/index.html +0 -58
- package/demos/popover/index.html +0 -103
- package/demos/radio/index.html +0 -71
- package/demos/resizer/index.html +0 -106
- package/demos/scrollbar.html +0 -328
- package/demos/select/index.html +0 -174
- package/demos/select.html +0 -164
- package/demos/style.css +0 -50
- package/demos/switch/index.html +0 -69
- package/demos/table/index.html +0 -126
- package/demos/tabs/index.html +0 -110
- package/demos/tabs.html +0 -293
- package/demos/textarea/index.html +0 -77
- package/demos/timepicker/index.html +0 -66
- package/demos/transfer/index.html +0 -88
- package/demos/wysiwyg/index.html +0 -49
- package/docs/README.md +0 -34
- package/docs/_sidebar.md +0 -37
- package/docs/files/data/draggable.md +0 -143
- package/docs/files/data/map.md +0 -1
- package/docs/files/data/paginator.md +0 -23
- package/docs/files/data/table.md +0 -247
- package/docs/files/data/virtualscroller.md +0 -2
- package/docs/files/form/button.md +0 -131
- package/docs/files/form/cascader.md +0 -164
- package/docs/files/form/checkbox.md +0 -179
- package/docs/files/form/datepicker.md +0 -78
- package/docs/files/form/form.md +0 -52
- package/docs/files/form/input.md +0 -90
- package/docs/files/form/radio.md +0 -150
- package/docs/files/form/select.md +0 -202
- package/docs/files/form/switch.md +0 -98
- package/docs/files/form/textarea.md +0 -102
- package/docs/files/form/timepicker.md +0 -78
- package/docs/files/form/transfer.md +0 -30
- package/docs/files/others/config.md +0 -261
- package/docs/files/others/confirm.md +0 -51
- package/docs/files/others/drawer.md +0 -32
- package/docs/files/others/loader.md +0 -22
- package/docs/files/others/map.md +0 -32
- package/docs/files/others/modal.md +0 -32
- package/docs/files/others/notification.md +0 -52
- package/docs/files/others/popover.md +0 -36
- package/docs/files/others/resizer.md +0 -8
- package/docs/files/others/scrollbar.md +0 -8
- package/docs/files/others/tabs.md +0 -32
- package/docs/index.template.html +0 -76
- package/docs/src/js/backup.js +0 -128
- package/docs/src/js/helper/item-helper.js +0 -0
- package/docs/src/js/index.js +0 -21
- package/docs/src/js/plugin/title-plugin.js +0 -0
- package/docs/src/js/plugin/vue-demo-plugin.js +0 -97
- package/docs/src/js/theme/basic.js +0 -31
- package/docs/src/js/theme/docsify.js +0 -11
- package/docs/src/scss/index-dark.scss +0 -3
- package/docs/src/scss/index-light.scss +0 -3
- package/docs/src/scss/index.scss +0 -15
- package/docs/src/scss/mixins/base.scss +0 -14
- package/docs/src/scss/mixins/grid.scss +0 -213
- package/docs/src/scss/mixins/media.scss +0 -35
- package/docs/src/scss/mixins/space.scss +0 -61
- package/docs/src/scss/root/vars-dark.scss +0 -15
- package/docs/src/scss/root/vars-light.scss +0 -15
- package/docs/src/scss/root/vars.scss +0 -110
- package/docs/src/scss/theme/default.scss +0 -123
- package/docs/src/scss/theme/header.scss +0 -147
- package/docs/src/scss/theme/layout.scss +0 -186
- package/docs/src/scss/theme/loader.scss +0 -63
- package/docs/src/scss/theme/markdown.scss +0 -79
- package/docs/src/scss/theme/navigation.scss +0 -58
- package/docs/src/scss/theme/progress.scss +0 -9
- package/docs/src/scss/theme/search.scss +0 -119
- package/docs/src/scss/theme/syntax.scss +0 -142
- package/docs/src/scss/theme/table.scss +0 -63
- package/favicon/apple-touch-icon.png +0 -0
- package/favicon/favicon-96x96.png +0 -0
- package/favicon/favicon.ico +0 -0
- package/favicon/favicon.svg +0 -3
- package/favicon/site.webmanifest +0 -21
- package/favicon/web-app-manifest-192x192.png +0 -0
- package/favicon/web-app-manifest-512x512.png +0 -0
- package/mix-manifest.json +0 -4
- package/postcss.config.js +0 -14
- package/webpack.config.js +0 -211
- package/webservy.json +0 -8
- /package/{.nojekyll → dist/.ignore.js} +0 -0
package/docs/src/js/backup.js
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
|
2
|
-
var GenerateItems = function (count, loop) {
|
3
|
-
return pi.Arr.each(pi.Arr.make(count), (index) => {
|
4
|
-
|
5
|
-
var item = {
|
6
|
-
id: 'item-' + pi.UUID(), label: 'Item ' + index, image: 'https://picsum.photos/260/160.jpg?' + pi.UUID(), date: new Date,
|
7
|
-
}
|
8
|
-
|
9
|
-
if ( loop > 1 ) {
|
10
|
-
item.children = GenerateItems(10, loop-1)
|
11
|
-
}
|
12
|
-
|
13
|
-
return item;
|
14
|
-
});
|
15
|
-
};
|
16
|
-
|
17
|
-
let DemoPlugin = function (hook, vm) {
|
18
|
-
|
19
|
-
// Global vue data
|
20
|
-
window.VueData = window.DefaultVueData = {
|
21
|
-
itemsMini: GenerateItems(50, 1),
|
22
|
-
itemsMidi: GenerateItems(500, 1),
|
23
|
-
itemsMaxi: GenerateItems(1000, 2),
|
24
|
-
};
|
25
|
-
|
26
|
-
window.DefaultVueData.types = {
|
27
|
-
'primary': 'Primary',
|
28
|
-
'secondary': 'Secondary',
|
29
|
-
'success': 'Success',
|
30
|
-
'warning': 'Warning',
|
31
|
-
'danger': 'Danger',
|
32
|
-
'info': 'Info',
|
33
|
-
};
|
34
|
-
|
35
|
-
window.DefaultVueData.sizes = {
|
36
|
-
'xs': 'Mini',
|
37
|
-
'sm': 'Small',
|
38
|
-
'md': 'Medium',
|
39
|
-
'lg': 'Large'
|
40
|
-
};
|
41
|
-
|
42
|
-
window.DefaultVueData.icons = {
|
43
|
-
'fa fa-search': 'Search',
|
44
|
-
'fa fa-star': 'Star',
|
45
|
-
'fa fa-check': 'Check',
|
46
|
-
'fa fa-trash': 'Trash'
|
47
|
-
},
|
48
|
-
|
49
|
-
// Remote vue app
|
50
|
-
window.VueRemote = null;
|
51
|
-
|
52
|
-
hook.beforeEach(function (markdown) {
|
53
|
-
|
54
|
-
pi.Dom.find('#temp-script').each(function (el) {
|
55
|
-
el.remove();
|
56
|
-
});
|
57
|
-
|
58
|
-
if ( ! pi.Any.isEmpty(window.VueData) ) {
|
59
|
-
window.VueData = pi.Obj.assign({}, window.DefaultVueData);
|
60
|
-
}
|
61
|
-
|
62
|
-
if ( ! pi.Any.isEmpty(window.VueRemote) ) {
|
63
|
-
window.VueRemote.unmount();
|
64
|
-
}
|
65
|
-
|
66
|
-
let pattern = /```js\s\[demo]([^`]*)```/gm;
|
67
|
-
|
68
|
-
let globaljs = pi.Arr.each(markdown.match(pattern) || [], (text) => {
|
69
|
-
return text.replace(pattern, "$1");
|
70
|
-
});
|
71
|
-
|
72
|
-
pi.Dom.make('script', { id: "temp-script", innerHTML: globaljs.join("\n")})
|
73
|
-
.appendTo(document.body)
|
74
|
-
|
75
|
-
markdown = markdown.replace(/```html\s\[demo]([^`]*)```/gm,
|
76
|
-
'<div class="demo-wrapper">$1</div>');
|
77
|
-
|
78
|
-
return markdown.replace(/```[a-z]+\s\[demo][^`]*```/gm, '');
|
79
|
-
});
|
80
|
-
|
81
|
-
hook.afterEach(function (html) {
|
82
|
-
|
83
|
-
html = html.replace(/<code>(Mixed|Any|String|Boolean|Array|Object)<\/code>/gm,
|
84
|
-
'<code data-type="$1">$1</code>');
|
85
|
-
|
86
|
-
return '<div id="vue-remote">' + html + '</div>';
|
87
|
-
});
|
88
|
-
|
89
|
-
hook.doneEach(function () {
|
90
|
-
|
91
|
-
let options = {
|
92
|
-
data: function () {
|
93
|
-
return window.VueData;
|
94
|
-
}
|
95
|
-
};
|
96
|
-
|
97
|
-
// Create vue instance
|
98
|
-
window.VueRemote = window.Vue
|
99
|
-
.createApp(options);
|
100
|
-
|
101
|
-
window.VueRemote
|
102
|
-
.use(window.nano.Install);
|
103
|
-
|
104
|
-
window.VueRemote.mount('#main');
|
105
|
-
});
|
106
|
-
|
107
|
-
console.log('DemoPlugin done!');
|
108
|
-
}
|
109
|
-
|
110
|
-
let options = {
|
111
|
-
name: 'nano.ui', loadSidebar: true, search: 'auto', depth: 1, subMaxLevel: 1, topMargin: 90
|
112
|
-
};
|
113
|
-
|
114
|
-
let PagetitlePlugin = function(hook, vm) {
|
115
|
-
hook.doneEach(function() {
|
116
|
-
document.title += ' | nano.ui';
|
117
|
-
});
|
118
|
-
}
|
119
|
-
|
120
|
-
options.plugins = [
|
121
|
-
DemoPlugin, PagetitlePlugin
|
122
|
-
];
|
123
|
-
|
124
|
-
if ( pi.Any.isEmpty(options) ) {
|
125
|
-
options.repo = 'https://github.com/vankizmann/nano-ui'
|
126
|
-
}
|
127
|
-
|
128
|
-
window.$docsify = options;
|
File without changes
|
package/docs/src/js/index.js
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
|
2
|
-
import * as Vue from "vue/dist/vue.esm-bundler";
|
3
|
-
window.Vue = Vue;
|
4
|
-
|
5
|
-
// docsify.js
|
6
|
-
window.$docsify = require('docsify')
|
7
|
-
|
8
|
-
// moment.js
|
9
|
-
window.moment = require('moment');
|
10
|
-
|
11
|
-
// pico.js
|
12
|
-
window.pi = require('@kizmann/pico-js');
|
13
|
-
|
14
|
-
|
15
|
-
window.pi.Dom.ready(() => {
|
16
|
-
require('./theme/basic.js');
|
17
|
-
require('./theme/docsify.js');
|
18
|
-
|
19
|
-
// docsify.js search plugin
|
20
|
-
require('docsify/lib/plugins/search');
|
21
|
-
});
|
File without changes
|
@@ -1,97 +0,0 @@
|
|
1
|
-
import { Dom, Obj, Arr, Any } from '@kizmann/pico-js';
|
2
|
-
import { Install as NanoInstall } from '../../../../src/index.js';
|
3
|
-
|
4
|
-
export const VueDemoPlugin = function (hook, vm) {
|
5
|
-
|
6
|
-
// Global vue data
|
7
|
-
window.VueData = window.DefaultVueData = {
|
8
|
-
// itemsMini: GenerateItems(50, 1),
|
9
|
-
// itemsMidi: GenerateItems(500, 1),
|
10
|
-
// itemsMaxi: GenerateItems(1000, 2),
|
11
|
-
};
|
12
|
-
|
13
|
-
window.DefaultVueData.types = {
|
14
|
-
'primary': 'Primary',
|
15
|
-
'secondary': 'Secondary',
|
16
|
-
'success': 'Success',
|
17
|
-
'warning': 'Warning',
|
18
|
-
'danger': 'Danger',
|
19
|
-
'info': 'Info',
|
20
|
-
};
|
21
|
-
|
22
|
-
window.DefaultVueData.sizes = {
|
23
|
-
'xs': 'Mini',
|
24
|
-
'sm': 'Small',
|
25
|
-
'md': 'Medium',
|
26
|
-
'lg': 'Large'
|
27
|
-
};
|
28
|
-
|
29
|
-
window.DefaultVueData.icons = {
|
30
|
-
'fa fa-search': 'Search',
|
31
|
-
'fa fa-star': 'Star',
|
32
|
-
'fa fa-check': 'Check',
|
33
|
-
'fa fa-trash': 'Trash'
|
34
|
-
},
|
35
|
-
|
36
|
-
// Remote vue app
|
37
|
-
window.VueRemote = null;
|
38
|
-
|
39
|
-
hook.beforeEach(function (markdown) {
|
40
|
-
|
41
|
-
Dom.find('#temp-script').each(function (el) {
|
42
|
-
el.remove();
|
43
|
-
});
|
44
|
-
|
45
|
-
if ( ! Any.isEmpty(window.VueData) ) {
|
46
|
-
window.VueData = Obj.assign({}, window.DefaultVueData);
|
47
|
-
}
|
48
|
-
|
49
|
-
if ( ! Any.isEmpty(window.VueRemote) ) {
|
50
|
-
window.VueRemote.unmount();
|
51
|
-
}
|
52
|
-
|
53
|
-
let pattern = /```js\s\[demo]([^`]*)```/gm;
|
54
|
-
|
55
|
-
let globaljs = Arr.each(markdown.match(pattern) || [], (text) => {
|
56
|
-
return text.replace(pattern, "$1");
|
57
|
-
});
|
58
|
-
|
59
|
-
Dom.make('script', { id: "temp-script", innerHTML: globaljs.join("\n")})
|
60
|
-
.appendTo(document.body)
|
61
|
-
|
62
|
-
markdown = markdown.replace(/```html\s\[demo]([^`]*)```/gm,
|
63
|
-
'<div class="demo-wrapper">$1</div>');
|
64
|
-
|
65
|
-
return markdown.replace(/```[a-z]+\s\[demo][^`]*```/gm, '');
|
66
|
-
});
|
67
|
-
|
68
|
-
hook.afterEach(function (html) {
|
69
|
-
|
70
|
-
html = html.replace(/<code>(Mixed|Any|String|Boolean|Array|Object)<\/code>/gm,
|
71
|
-
'<code data-type="$1">$1</code>');
|
72
|
-
|
73
|
-
return '<div id="vue-remote">' + html + '</div>';
|
74
|
-
});
|
75
|
-
|
76
|
-
hook.doneEach(function () {
|
77
|
-
|
78
|
-
let options = {
|
79
|
-
data: function () {
|
80
|
-
return Obj.clone(window.VueData);
|
81
|
-
}
|
82
|
-
};
|
83
|
-
|
84
|
-
// Create vue instance
|
85
|
-
window.VueRemote = window.Vue.createApp(options);
|
86
|
-
|
87
|
-
window.VueRemote.use((app) => {
|
88
|
-
NanoInstall(app)
|
89
|
-
});
|
90
|
-
|
91
|
-
window.VueRemote.mount('#main');
|
92
|
-
});
|
93
|
-
|
94
|
-
console.log('DemoPlugin done!');
|
95
|
-
}
|
96
|
-
|
97
|
-
export default VueDemoPlugin;
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import { Dom, Cookie } from "@kizmann/pico-js";
|
2
|
-
|
3
|
-
const theme = Cookie.get('theme', 'dark');
|
4
|
-
|
5
|
-
Dom.find('[data-theme-' + theme + ']').addClass('active');
|
6
|
-
|
7
|
-
Dom.find('[data-theme-light]').on('click', () => {
|
8
|
-
Cookie.set('theme', 'light'); window.location.reload();
|
9
|
-
});
|
10
|
-
|
11
|
-
Dom.find('[data-theme-dark]').on('click', () => {
|
12
|
-
Cookie.set('theme', 'dark'); window.location.reload();
|
13
|
-
});
|
14
|
-
|
15
|
-
Dom.find('[data-theme-src]').each((el) => {
|
16
|
-
el.src = Dom.find(el).attr('data-theme-src').replace('{theme}', theme);
|
17
|
-
});
|
18
|
-
|
19
|
-
Dom.find('[data-theme-href]').each((el) => {
|
20
|
-
el.href = Dom.find(el).attr('data-theme-href').replace('{theme}', theme);
|
21
|
-
});
|
22
|
-
|
23
|
-
Dom.find(document.body).live('click', '.matching-post', () => {
|
24
|
-
Dom.find('input[type="search"]').value('').fire('input');
|
25
|
-
});
|
26
|
-
|
27
|
-
Dom.find(document.body).on('keydown', (e) => {
|
28
|
-
if ( e.keyCode === 27 ) {
|
29
|
-
Dom.find('input[type="search"]').value('').fire('input');
|
30
|
-
}
|
31
|
-
});
|
package/docs/src/scss/index.scss
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
@import "./mixins/base";
|
2
|
-
@import "./mixins/media";
|
3
|
-
@import "./mixins/grid";
|
4
|
-
@import "./mixins/space";
|
5
|
-
|
6
|
-
@import "./theme/default";
|
7
|
-
@import "./theme/layout";
|
8
|
-
@import "./theme/loader";
|
9
|
-
@import "./theme/header";
|
10
|
-
@import "./theme/search";
|
11
|
-
@import "./theme/navigation";
|
12
|
-
@import "./theme/markdown";
|
13
|
-
@import "./theme/syntax";
|
14
|
-
@import "./theme/table";
|
15
|
-
@import "./theme/progress";
|
@@ -1,213 +0,0 @@
|
|
1
|
-
@use "sass:math";
|
2
|
-
@import "./base";
|
3
|
-
@import "./media";
|
4
|
-
|
5
|
-
$--grid-steps: (
|
6
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
|
7
|
-
) !default;
|
8
|
-
|
9
|
-
$--grid-gutters: (
|
10
|
-
10px, 15px, 20px, 30px, 40px, 60px
|
11
|
-
) !default;
|
12
|
-
|
13
|
-
@mixin grid-container($suffix: '') {
|
14
|
-
|
15
|
-
.grid#{$suffix} {
|
16
|
-
display: flex;
|
17
|
-
}
|
18
|
-
|
19
|
-
.grid--row#{$suffix} {
|
20
|
-
flex-direction: row;
|
21
|
-
}
|
22
|
-
|
23
|
-
.grid--col#{$suffix} {
|
24
|
-
flex-direction: column;
|
25
|
-
}
|
26
|
-
|
27
|
-
.grid--wrap#{$suffix} {
|
28
|
-
flex-wrap: wrap;
|
29
|
-
}
|
30
|
-
|
31
|
-
.grid--row.grid--reverse#{$suffix},
|
32
|
-
.grid--row#{$suffix}.grid--reverse#{$suffix} {
|
33
|
-
flex-direction: row-reverse;
|
34
|
-
}
|
35
|
-
|
36
|
-
.grid--col.grid--reverse#{$suffix},
|
37
|
-
.grid--col#{$suffix}.grid--reverse#{$suffix} {
|
38
|
-
flex-direction: column-reverse;
|
39
|
-
}
|
40
|
-
|
41
|
-
.grid--row.grid--stretch#{$suffix},
|
42
|
-
.grid--row#{$suffix}.grid--stretch#{$suffix} {
|
43
|
-
justify-content: stretch;
|
44
|
-
}
|
45
|
-
|
46
|
-
.grid--col.grid--stretch#{$suffix},
|
47
|
-
.grid--col#{$suffix}.grid--stretch#{$suffix} {
|
48
|
-
align-items: stretch;
|
49
|
-
}
|
50
|
-
|
51
|
-
.grid--row.grid--top#{$suffix},
|
52
|
-
.grid--row#{$suffix}.grid--top#{$suffix},
|
53
|
-
.grid--col.grid--left#{$suffix},
|
54
|
-
.grid--col#{$suffix}.grid--left#{$suffix}{
|
55
|
-
align-items: flex-start;
|
56
|
-
}
|
57
|
-
|
58
|
-
.grid--row.grid--middle#{$suffix},
|
59
|
-
.grid--row#{$suffix}.grid--middle#{$suffix},
|
60
|
-
.grid--col.grid--center#{$suffix},
|
61
|
-
.grid--col#{$suffix}.grid--center#{$suffix}{
|
62
|
-
align-items: center;
|
63
|
-
}
|
64
|
-
|
65
|
-
.grid--row.grid--bottom#{$suffix},
|
66
|
-
.grid--row#{$suffix}.grid--bottom#{$suffix},
|
67
|
-
.grid--col.grid--right#{$suffix},
|
68
|
-
.grid--col#{$suffix}.grid--right#{$suffix} {
|
69
|
-
align-items: flex-end;
|
70
|
-
}
|
71
|
-
|
72
|
-
.grid--row.grid--left#{$suffix},
|
73
|
-
.grid--row#{$suffix}.grid--left#{$suffix},
|
74
|
-
.grid--col.grid--top#{$suffix},
|
75
|
-
.grid--col#{$suffix}.grid--top#{$suffix} {
|
76
|
-
justify-content: flex-start;
|
77
|
-
}
|
78
|
-
|
79
|
-
.grid--row.grid--center#{$suffix},
|
80
|
-
.grid--row#{$suffix}.grid--center#{$suffix},
|
81
|
-
.grid--col.grid--middle#{$suffix},
|
82
|
-
.grid--col#{$suffix}.grid--middle#{$suffix} {
|
83
|
-
justify-content: center;
|
84
|
-
}
|
85
|
-
|
86
|
-
.grid--row.grid--right#{$suffix},
|
87
|
-
.grid--row#{$suffix}.grid--right#{$suffix},
|
88
|
-
.grid--col.grid--bottom#{$suffix},
|
89
|
-
.grid--col#{$suffix}.grid--bottom#{$suffix} {
|
90
|
-
justify-content: flex-end;
|
91
|
-
}
|
92
|
-
|
93
|
-
}
|
94
|
-
|
95
|
-
@mixin grid-gutter($gutter, $suffix: '') {
|
96
|
-
|
97
|
-
.grid--#{strip($gutter)}#{$suffix} {
|
98
|
-
width: calc(100% + #{$gutter});
|
99
|
-
margin-left: -#{$gutter / 2};
|
100
|
-
margin-right: -#{$gutter / 2};
|
101
|
-
}
|
102
|
-
|
103
|
-
.grid--#{strip($gutter)}-#{strip($gutter)}#{$suffix} {
|
104
|
-
width: calc(100% + #{$gutter});
|
105
|
-
margin-left: -#{math.div($gutter, 2)};
|
106
|
-
margin-right: -#{math.div($gutter, 2)};
|
107
|
-
margin-top: -#{math.div($gutter, 2)};
|
108
|
-
margin-bottom: -#{math.div($gutter, 2)};
|
109
|
-
}
|
110
|
-
|
111
|
-
.grid--#{strip($gutter)}#{$suffix} > [class^="col"],
|
112
|
-
.grid--#{strip($gutter)}#{$suffix} > [class*="col"] {
|
113
|
-
padding-left: math.div($gutter, 2);
|
114
|
-
padding-right: math.div($gutter, 2);
|
115
|
-
}
|
116
|
-
|
117
|
-
.grid--#{strip($gutter)}-#{strip($gutter)}#{$suffix} > [class^="col"],
|
118
|
-
.grid--#{strip($gutter)}-#{strip($gutter)}#{$suffix} > [class*="col"] {
|
119
|
-
padding-left: math.div($gutter, 2);
|
120
|
-
padding-right: math.div($gutter, 2);
|
121
|
-
padding-top: math.div($gutter, 2);
|
122
|
-
padding-bottom: math.div($gutter, 2);
|
123
|
-
}
|
124
|
-
|
125
|
-
}
|
126
|
-
|
127
|
-
@mixin grid-columns($size, $suffix: '') {
|
128
|
-
|
129
|
-
.col#{$suffix},
|
130
|
-
.col--auto#{$suffix} {
|
131
|
-
width: auto;
|
132
|
-
}
|
133
|
-
|
134
|
-
.col--top#{$suffix} {
|
135
|
-
margin-bottom: auto;
|
136
|
-
}
|
137
|
-
|
138
|
-
.col--middle#{$suffix} {
|
139
|
-
margin-top: auto;
|
140
|
-
margin-bottom: auto;
|
141
|
-
}
|
142
|
-
|
143
|
-
.col--bottom#{$suffix} {
|
144
|
-
margin-top: auto;
|
145
|
-
}
|
146
|
-
|
147
|
-
.col--left#{$suffix} {
|
148
|
-
margin-right: auto;
|
149
|
-
}
|
150
|
-
|
151
|
-
.col--center#{$suffix} {
|
152
|
-
margin-right: auto;
|
153
|
-
margin-left: auto;
|
154
|
-
}
|
155
|
-
|
156
|
-
.col--right#{$suffix} {
|
157
|
-
margin-left: auto;
|
158
|
-
}
|
159
|
-
|
160
|
-
.col--flex-1#{$suffix},
|
161
|
-
.col--flex-1-0#{$suffix} {
|
162
|
-
flex: 1 0 auto;
|
163
|
-
}
|
164
|
-
|
165
|
-
.col--flex-0#{$suffix},
|
166
|
-
.col--flex-0-1#{$suffix}{
|
167
|
-
flex: 0 1 auto;
|
168
|
-
}
|
169
|
-
|
170
|
-
.col--flex-none#{$suffix},
|
171
|
-
.col--flex-0-0#{$suffix}{
|
172
|
-
flex: 0 0 auto;
|
173
|
-
}
|
174
|
-
|
175
|
-
.col--flex-auto#{$suffix},
|
176
|
-
.col--flex-1-1#{$suffix} {
|
177
|
-
flex: 1 1 auto;
|
178
|
-
}
|
179
|
-
|
180
|
-
.col--flex-fixed#{$suffix} {
|
181
|
-
flex: 1 1 auto;
|
182
|
-
min-height: 0;
|
183
|
-
max-height: 100%;
|
184
|
-
}
|
185
|
-
|
186
|
-
@for $i from 1 through 10 {
|
187
|
-
.col--order-#{$i}#{$suffix} {
|
188
|
-
order: $i;
|
189
|
-
}
|
190
|
-
}
|
191
|
-
|
192
|
-
@for $i from 1 through $size {
|
193
|
-
.col--#{$i}-#{$size}#{$suffix} {
|
194
|
-
width: #{(math.div(100%, $size) * $i) - 0.001};
|
195
|
-
}
|
196
|
-
}
|
197
|
-
|
198
|
-
}
|
199
|
-
|
200
|
-
@include media() {
|
201
|
-
|
202
|
-
@include grid-container($suffix);
|
203
|
-
|
204
|
-
@each $gutter in reverse($--grid-gutters) {
|
205
|
-
@include grid-gutter($gutter, $suffix);
|
206
|
-
}
|
207
|
-
|
208
|
-
@each $steps in reverse($--grid-steps) {
|
209
|
-
@include grid-columns($steps, $suffix);
|
210
|
-
}
|
211
|
-
|
212
|
-
}
|
213
|
-
|
@@ -1,35 +0,0 @@
|
|
1
|
-
@use 'sass:map';
|
2
|
-
@import "./base";
|
3
|
-
|
4
|
-
$--media-steps: (
|
5
|
-
'xs': 'screen and (min-width: 576px)',
|
6
|
-
'sm': 'screen and (min-width: 768px)',
|
7
|
-
'md': 'screen and (min-width: 992px)',
|
8
|
-
'lg': 'screen and (min-width: 1200px)',
|
9
|
-
'xl': 'screen and (min-width: 1440px)'
|
10
|
-
) !default;
|
11
|
-
|
12
|
-
@mixin media($suffix: '') {
|
13
|
-
|
14
|
-
@if $suffix == '' {
|
15
|
-
$suffix: $suffix !global;
|
16
|
-
@content;
|
17
|
-
}
|
18
|
-
|
19
|
-
@if $suffix == '' {
|
20
|
-
@each $suffix, $breakpoint in $--media-steps {
|
21
|
-
@media #{$breakpoint} {
|
22
|
-
$suffix: \@ + $suffix !global;
|
23
|
-
@content;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
@if $suffix != '' {
|
29
|
-
@media #{map.get($--media-steps, $suffix)} {
|
30
|
-
$suffix: \@ + $suffix !global;
|
31
|
-
@content;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
}
|
@@ -1,61 +0,0 @@
|
|
1
|
-
@import "./base";
|
2
|
-
@import "./media";
|
3
|
-
|
4
|
-
$--space-gutter: (
|
5
|
-
10px, 15px, 20px, 30px, 40px, 60px
|
6
|
-
) !default;
|
7
|
-
|
8
|
-
@mixin margin($gutter, $suffix: '') {
|
9
|
-
|
10
|
-
.margin-#{strip($gutter)}#{$suffix} {
|
11
|
-
margin: $gutter;
|
12
|
-
}
|
13
|
-
|
14
|
-
.margin-#{strip($gutter)}--top#{$suffix} {
|
15
|
-
margin-top: $gutter;
|
16
|
-
}
|
17
|
-
|
18
|
-
.margin-#{strip($gutter)}--bottom#{$suffix} {
|
19
|
-
margin-bottom: $gutter;
|
20
|
-
}
|
21
|
-
|
22
|
-
.margin-#{strip($gutter)}--left#{$suffix} {
|
23
|
-
margin-left: $gutter;
|
24
|
-
}
|
25
|
-
|
26
|
-
.margin-#{strip($gutter)}--right#{$suffix} {
|
27
|
-
margin-right: $gutter;
|
28
|
-
}
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
@mixin padding($gutter, $suffix: '') {
|
33
|
-
|
34
|
-
.padding-#{strip($gutter)}#{$suffix} {
|
35
|
-
padding: $gutter;
|
36
|
-
}
|
37
|
-
|
38
|
-
.padding-#{strip($gutter)}--top#{$suffix} {
|
39
|
-
padding-top: $gutter;
|
40
|
-
}
|
41
|
-
|
42
|
-
.padding-#{strip($gutter)}--bottom#{$suffix} {
|
43
|
-
padding-bottom: $gutter;
|
44
|
-
}
|
45
|
-
|
46
|
-
.padding-#{strip($gutter)}--left#{$suffix} {
|
47
|
-
padding-left: $gutter;
|
48
|
-
}
|
49
|
-
|
50
|
-
.padding-#{strip($gutter)}--right#{$suffix} {
|
51
|
-
padding-right: $gutter;
|
52
|
-
}
|
53
|
-
|
54
|
-
}
|
55
|
-
|
56
|
-
@include media() {
|
57
|
-
@each $gutter in reverse($--space-gutter) {
|
58
|
-
@include margin($gutter, $suffix);
|
59
|
-
@include padding($gutter, $suffix);
|
60
|
-
}
|
61
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
@use "sass:color";
|
2
|
-
|
3
|
-
$color-white: #ffffff;
|
4
|
-
$color-black: #111111;
|
5
|
-
|
6
|
-
$color-foreground-abs: #ffffff;
|
7
|
-
$color-background-abs: #000000;
|
8
|
-
|
9
|
-
$color-foreground: $color-white;
|
10
|
-
$color-background: $color-black;
|
11
|
-
|
12
|
-
$color-form: color.mix($color-white, $color-black, 5%);
|
13
|
-
$color-input: color.mix($color-white, $color-black, 5%);
|
14
|
-
|
15
|
-
@import "./vars";
|
@@ -1,15 +0,0 @@
|
|
1
|
-
@use "sass:color";
|
2
|
-
|
3
|
-
$color-white: #ffffff;
|
4
|
-
$color-black: #111111;
|
5
|
-
|
6
|
-
$color-foreground-abs: #000000;
|
7
|
-
$color-background-abs: #ffffff;
|
8
|
-
|
9
|
-
$color-foreground: $color-black;
|
10
|
-
$color-background: $color-white;
|
11
|
-
|
12
|
-
$color-form: color.mix($color-black, $color-white, 5%);
|
13
|
-
$color-input: $color-white;
|
14
|
-
|
15
|
-
@import "./vars";
|