bullframe.css 4.2.2 → 5.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/.browserslistrc +2 -4
- package/.editorconfig +8 -4
- package/.prettierignore +1 -0
- package/.stylelintignore +3 -0
- package/.stylelintrc.json +5 -2
- package/CHANGELOG.md +18 -1
- package/README.md +369 -327
- package/dist/css/bullframe-classless-dark-prefers.css +378 -269
- package/dist/css/bullframe-classless-dark-prefers.css.map +1 -0
- package/dist/css/bullframe-classless-dark-prefers.min.css +3 -3
- package/dist/css/bullframe-classless-dark-prefers.min.css.map +1 -1
- package/dist/css/bullframe-classless-dark.css +384 -253
- package/dist/css/bullframe-classless-dark.css.map +1 -0
- package/dist/css/bullframe-classless-dark.min.css +3 -3
- package/dist/css/bullframe-classless-dark.min.css.map +1 -1
- package/dist/css/bullframe-classless-system-default.css +378 -269
- package/dist/css/bullframe-classless-system-default.css.map +1 -0
- package/dist/css/bullframe-classless-system-default.min.css +3 -3
- package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
- package/dist/css/bullframe-classless.css +343 -229
- package/dist/css/bullframe-classless.css.map +1 -0
- package/dist/css/bullframe-classless.min.css +3 -2
- package/dist/css/bullframe-classless.min.css.map +1 -1
- package/dist/css/bullframe-dark-prefers.css +399 -464
- package/dist/css/bullframe-dark-prefers.css.map +1 -0
- package/dist/css/bullframe-dark-prefers.min.css +3 -2
- package/dist/css/bullframe-dark-prefers.min.css.map +1 -1
- package/dist/css/bullframe-dark.css +401 -375
- package/dist/css/bullframe-dark.css.map +1 -0
- package/dist/css/bullframe-dark.min.css +3 -2
- package/dist/css/bullframe-dark.min.css.map +1 -1
- package/dist/css/bullframe-system-default.css +396 -391
- package/dist/css/bullframe-system-default.css.map +1 -0
- package/dist/css/bullframe-system-default.min.css +3 -2
- package/dist/css/bullframe-system-default.min.css.map +1 -1
- package/dist/css/bullframe-utilities.css +69 -109
- package/dist/css/bullframe-utilities.css.map +1 -0
- package/dist/css/bullframe-utilities.min.css +2 -1
- package/dist/css/bullframe-utilities.min.css.map +1 -1
- package/dist/css/bullframe.css +370 -350
- package/dist/css/bullframe.css.map +1 -0
- package/dist/css/bullframe.min.css +3 -1
- package/dist/css/bullframe.min.css.map +1 -1
- package/dist/docs/demo/css/style.css +131 -0
- package/{docs/test-page → dist/docs/demo}/index.html +166 -358
- package/dist/docs/github-readme/bf-logo-full-dark.png +0 -0
- package/package.json +25 -27
- package/prettier.config.js +26 -0
- package/src/docs/demo/css/style.css +131 -0
- package/src/docs/demo/icons/android-chrome-192x192.png +0 -0
- package/src/docs/demo/icons/android-chrome-384x384.png +0 -0
- package/src/docs/demo/icons/apple-touch-icon.png +0 -0
- package/src/docs/demo/icons/favicon-16x16.png +0 -0
- package/src/docs/demo/icons/favicon-32x32.png +0 -0
- package/src/docs/demo/icons/favicon.ico +0 -0
- package/src/docs/demo/icons/mstile-150x150.png +0 -0
- package/src/docs/demo/icons/safari-pinned-tab.svg +28 -0
- package/src/docs/demo/images/logo.png +0 -0
- package/src/docs/demo/images/placeholder-img-130x140.jpg +0 -0
- package/src/docs/demo/images/placeholder-img-16x16.jpg +0 -0
- package/src/docs/demo/images/placeholder-img-800x400.jpg +0 -0
- package/src/docs/demo/images/video-poster.png +0 -0
- package/src/docs/demo/index.html +1152 -0
- package/src/docs/github-readme/bf-logo-full-dark.png +0 -0
- package/src/docs/github-readme/bf-logo-full-light.png +0 -0
- package/src/scss/bullframe-classless-dark-prefers.scss +2 -5
- package/src/scss/bullframe-classless-dark.scss +2 -5
- package/src/scss/bullframe-classless-system-default.scss +2 -5
- package/src/scss/bullframe-classless.scss +49 -43
- package/src/scss/bullframe-dark-prefers.scss +2 -4
- package/src/scss/bullframe-dark.scss +2 -4
- package/src/scss/bullframe-system-default.scss +2 -4
- package/src/scss/bullframe-utilities.scss +21 -61
- package/src/scss/bullframe.scss +49 -121
- package/src/scss/custom/_author-styles.scss +5 -0
- package/src/scss/forms/_forms-normalization.scss +68 -58
- package/src/scss/forms/_forms-styling-radio-checkbox.scss +64 -66
- package/src/scss/forms/_forms-styling-range.scss +88 -74
- package/src/scss/forms/_forms-styling-select.scss +18 -16
- package/src/scss/forms/_forms-styling.scss +38 -26
- package/src/scss/miscellaneous/_misc-accessibility.scss +10 -16
- package/src/scss/miscellaneous/_misc-anchors.scss +15 -13
- package/src/scss/miscellaneous/_misc-embedded-content.scss +14 -21
- package/src/scss/miscellaneous/_misc-focus.scss +0 -21
- package/src/scss/miscellaneous/_misc-interactive.scss +48 -0
- package/src/scss/miscellaneous/_misc-lists.scss +9 -5
- package/src/scss/miscellaneous/_misc-scrolling.scss +5 -0
- package/src/scss/miscellaneous/_misc-shame.scss +6 -0
- package/src/scss/miscellaneous/_misc-tables.scss +11 -5
- package/src/scss/mixins/_mixin-dark-prefers.scss +414 -0
- package/src/scss/mixins/_mixin-dark.scss +396 -0
- package/src/scss/mixins/_mixin-grid-flex.scss +0 -3
- package/src/scss/mixins/_mixin-layout.scss +1 -1
- package/src/scss/mixins/_mixin-texts.scss +2 -3
- package/src/scss/typography/_typography-blockquotes.scss +10 -5
- package/src/scss/typography/_typography-headings.scss +9 -8
- package/src/scss/typography/_typography-html-body.scss +17 -14
- package/src/scss/typography/_typography-misc.scss +19 -22
- package/src/scss/typography/_typography-monospaced-elements.scss +21 -12
- package/src/scss/utilities/_utility-buttons.scss +20 -18
- package/src/scss/utilities/_utility-debugging.scss +2 -88
- package/src/scss/utilities/_utility-embeds.scss +1 -1
- package/src/scss/utilities/_utility-filters.scss +0 -3
- package/src/scss/utilities/_utility-form-states.scss +30 -21
- package/src/scss/utilities/_utility-global-dark-classless.scss +3 -157
- package/src/scss/utilities/_utility-global-dark-prefers-classless.scss +3 -3
- package/src/scss/utilities/_utility-global-dark-prefers.scss +3 -3
- package/src/scss/utilities/_utility-global-dark-scrollbars.scss +11 -6
- package/src/scss/utilities/_utility-global-dark.scss +4 -213
- package/src/scss/utilities/_utility-global-system-default-classless.scss +3 -3
- package/src/scss/utilities/_utility-global-system-default.scss +3 -3
- package/src/scss/utilities/_utility-grid-system.scss +51 -115
- package/src/scss/utilities/_utility-layout.scss +7 -15
- package/src/scss/utilities/_utility-print.scss +5 -5
- package/src/scss/utilities/_utility-spacing.scss +42 -40
- package/src/scss/utilities/_utility-tables.scss +12 -18
- package/src/scss/utilities/_utility-texts.scss +48 -22
- package/src/scss/utilities/_utility-z-index.scss +1 -1
- package/src/scss/variables/_variables-breakpoints.scss +1 -0
- package/src/scss/variables/_variables-colors.scss +8 -5
- package/src/scss/variables/_variables-spacing.scss +3 -5
- package/src/scss/variables/_variables-texts.scss +5 -9
- package/vite.config.js +116 -0
- package/.nvmrc +0 -1
- package/.prettierrc +0 -19
- package/gulpfile.js +0 -67
- package/src/scss/miscellaneous/_misc-author-styles-in-css.scss +0 -76
- /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-192x192.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/android-chrome-384x384.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/apple-touch-icon.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-16x16.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon-32x32.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/favicon.ico +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/mstile-150x150.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/icons/safari-pinned-tab.svg +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/images/logo.png +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-130x140.jpg +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-16x16.jpg +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/images/placeholder-img-800x400.jpg +0 -0
- /package/{docs/test-page/assets → dist/docs/demo}/images/video-poster.png +0 -0
- /package/{docs/assets/images/branding/logo-full.png → dist/docs/github-readme/bf-logo-full-light.png} +0 -0
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
@use '../variables/variables-colors' as bf-v-color;
|
|
2
|
+
@use '../variables/variables-texts' as bf-v-text;
|
|
3
|
+
@use '../variables/variables-spacing' as bf-v-space;
|
|
4
|
+
@use '../variables/variables-breakpoints' as bf-v-bp;
|
|
5
|
+
@use 'sass:color';
|
|
6
|
+
|
|
1
7
|
// this is something similar to Bootstrap's spacing utility
|
|
2
8
|
// https://getbootstrap.com/docs/4.4/utilities/spacing/
|
|
3
9
|
|
|
@@ -24,43 +30,51 @@
|
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
.bf-m-1 {
|
|
27
|
-
margin-bottom:
|
|
28
|
-
margin-bottom: $bf-spacing-md-rem !important;
|
|
33
|
+
margin-bottom: bf-v-space.$bf-spacing-md-rem !important;
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
.bf-m-2 {
|
|
32
|
-
margin-bottom:
|
|
33
|
-
margin-bottom: $bf-spacing-lg-rem !important;
|
|
37
|
+
margin-bottom: bf-v-space.$bf-spacing-lg-rem !important;
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
.bf-m-3 {
|
|
37
|
-
margin-bottom:
|
|
38
|
-
margin-bottom: $bf-spacing-xl-rem !important;
|
|
41
|
+
margin-bottom: bf-v-space.$bf-spacing-xl-rem !important;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
.bf-m-4 {
|
|
42
|
-
margin-bottom:
|
|
43
|
-
|
|
45
|
+
margin-bottom: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.bf-m-t-1 {
|
|
49
|
+
margin-top: bf-v-space.$bf-spacing-md-rem !important;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.bf-m-t-2 {
|
|
53
|
+
margin-top: bf-v-space.$bf-spacing-lg-rem !important;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.bf-m-t-3 {
|
|
57
|
+
margin-top: bf-v-space.$bf-spacing-xl-rem !important;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.bf-m-t-4 {
|
|
61
|
+
margin-top: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
44
62
|
}
|
|
45
63
|
|
|
46
64
|
.bf-m-b-1 {
|
|
47
|
-
margin-bottom:
|
|
48
|
-
margin-bottom: $bf-spacing-md-rem !important;
|
|
65
|
+
margin-bottom: bf-v-space.$bf-spacing-md-rem !important;
|
|
49
66
|
}
|
|
50
67
|
|
|
51
68
|
.bf-m-b-2 {
|
|
52
|
-
margin-bottom:
|
|
53
|
-
margin-bottom: $bf-spacing-lg-rem !important;
|
|
69
|
+
margin-bottom: bf-v-space.$bf-spacing-lg-rem !important;
|
|
54
70
|
}
|
|
55
71
|
|
|
56
72
|
.bf-m-b-3 {
|
|
57
|
-
margin-bottom:
|
|
58
|
-
margin-bottom: $bf-spacing-xl-rem !important;
|
|
73
|
+
margin-bottom: bf-v-space.$bf-spacing-xl-rem !important;
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
.bf-m-b-4 {
|
|
62
|
-
margin-bottom:
|
|
63
|
-
margin-bottom: $bf-spacing-xxl-rem !important;
|
|
77
|
+
margin-bottom: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
64
78
|
}
|
|
65
79
|
|
|
66
80
|
// paddings
|
|
@@ -86,61 +100,49 @@
|
|
|
86
100
|
}
|
|
87
101
|
|
|
88
102
|
.bf-p-1 {
|
|
89
|
-
padding-bottom:
|
|
90
|
-
padding-bottom: $bf-spacing-md-rem !important;
|
|
103
|
+
padding-bottom: bf-v-space.$bf-spacing-md-rem !important;
|
|
91
104
|
}
|
|
92
105
|
|
|
93
106
|
.bf-p-2 {
|
|
94
|
-
padding-bottom:
|
|
95
|
-
padding-bottom: $bf-spacing-lg-rem !important;
|
|
107
|
+
padding-bottom: bf-v-space.$bf-spacing-lg-rem !important;
|
|
96
108
|
}
|
|
97
109
|
|
|
98
110
|
.bf-p-3 {
|
|
99
|
-
padding-bottom:
|
|
100
|
-
padding-bottom: $bf-spacing-xl-rem !important;
|
|
111
|
+
padding-bottom: bf-v-space.$bf-spacing-xl-rem !important;
|
|
101
112
|
}
|
|
102
113
|
|
|
103
114
|
.bf-p-4 {
|
|
104
|
-
padding-bottom:
|
|
105
|
-
padding-bottom: $bf-spacing-xxl-rem !important;
|
|
115
|
+
padding-bottom: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
106
116
|
}
|
|
107
117
|
|
|
108
118
|
.bf-p-t-1 {
|
|
109
|
-
padding-top:
|
|
110
|
-
padding-top: $bf-spacing-md-rem !important;
|
|
119
|
+
padding-top: bf-v-space.$bf-spacing-md-rem !important;
|
|
111
120
|
}
|
|
112
121
|
|
|
113
122
|
.bf-p-t-2 {
|
|
114
|
-
padding-top:
|
|
115
|
-
padding-top: $bf-spacing-lg-rem !important;
|
|
123
|
+
padding-top: bf-v-space.$bf-spacing-lg-rem !important;
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
.bf-p-t-3 {
|
|
119
|
-
padding-top:
|
|
120
|
-
padding-top: $bf-spacing-xl-rem !important;
|
|
127
|
+
padding-top: bf-v-space.$bf-spacing-xl-rem !important;
|
|
121
128
|
}
|
|
122
129
|
|
|
123
130
|
.bf-p-t-4 {
|
|
124
|
-
padding-top:
|
|
125
|
-
padding-top: $bf-spacing-xxl-rem !important;
|
|
131
|
+
padding-top: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
126
132
|
}
|
|
127
133
|
|
|
128
134
|
.bf-p-b-1 {
|
|
129
|
-
padding-bottom:
|
|
130
|
-
padding-bottom: $bf-spacing-md-rem !important;
|
|
135
|
+
padding-bottom: bf-v-space.$bf-spacing-md-rem !important;
|
|
131
136
|
}
|
|
132
137
|
|
|
133
138
|
.bf-p-b-2 {
|
|
134
|
-
padding-bottom:
|
|
135
|
-
padding-bottom: $bf-spacing-lg-rem !important;
|
|
139
|
+
padding-bottom: bf-v-space.$bf-spacing-lg-rem !important;
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
.bf-p-b-3 {
|
|
139
|
-
padding-bottom:
|
|
140
|
-
padding-bottom: $bf-spacing-xl-rem !important;
|
|
143
|
+
padding-bottom: bf-v-space.$bf-spacing-xl-rem !important;
|
|
141
144
|
}
|
|
142
145
|
|
|
143
146
|
.bf-p-b-4 {
|
|
144
|
-
padding-bottom:
|
|
145
|
-
padding-bottom: $bf-spacing-xxl-rem !important;
|
|
147
|
+
padding-bottom: bf-v-space.$bf-spacing-xxl-rem !important;
|
|
146
148
|
}
|
|
@@ -1,40 +1,34 @@
|
|
|
1
|
+
@use '../variables/variables-colors' as bf-v-color;
|
|
2
|
+
@use '../variables/variables-texts' as bf-v-text;
|
|
3
|
+
@use '../variables/variables-spacing' as bf-v-space;
|
|
4
|
+
@use '../variables/variables-breakpoints' as bf-v-bp;
|
|
5
|
+
@use 'sass:color';
|
|
6
|
+
|
|
1
7
|
.bf-table th,
|
|
2
8
|
.bf-table td {
|
|
3
|
-
padding:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
margin-bottom: $bf-spacing-md-px;
|
|
7
|
-
margin-bottom: $bf-spacing-md-rem;
|
|
9
|
+
padding: bf-v-space.$bf-spacing-lg-rem;
|
|
10
|
+
border-bottom: 1px solid bf-v-color.$bf-gray;
|
|
11
|
+
margin-bottom: bf-v-space.$bf-spacing-md-rem;
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
// responsive tables
|
|
11
|
-
// ! issues on Opera 10-11, Opera Mobile Presto and Opera Mini
|
|
12
|
-
// Read more about Opera: http://barrow.io/overflow-scrolling
|
|
13
|
-
|
|
14
15
|
.bf-table-responsive {
|
|
15
|
-
overflow
|
|
16
|
-
overflow-y: hidden;
|
|
17
|
-
|
|
18
|
-
// this is a not standard CSS property, so it's for IE only
|
|
19
|
-
// https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-overflow-style
|
|
16
|
+
overflow: auto hidden;
|
|
20
17
|
-ms-overflow-style: scrollbar;
|
|
21
18
|
}
|
|
22
19
|
|
|
23
20
|
.bf-table-responsive table {
|
|
24
21
|
width: 100%;
|
|
25
|
-
margin-bottom:
|
|
26
|
-
margin-bottom: $bf-spacing-md-rem;
|
|
22
|
+
margin-bottom: bf-v-space.$bf-spacing-md-rem;
|
|
27
23
|
}
|
|
28
24
|
|
|
29
25
|
// force webkit scrollbars appearance
|
|
30
26
|
.bf-table-responsive.scrollbar {
|
|
31
|
-
// this is a not standard CSS property, so it's for webkit only
|
|
32
|
-
// https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling
|
|
33
27
|
-webkit-overflow-scrolling: auto;
|
|
34
28
|
}
|
|
35
29
|
|
|
36
30
|
// zebra striping
|
|
37
31
|
.bf-table--zebra tbody tr:nth-child(odd),
|
|
38
32
|
.bf-table-responsive--zebra tbody tr:nth-child(odd) {
|
|
39
|
-
background-color:
|
|
33
|
+
background-color: bf-v-color.$bf-gray-light-extra;
|
|
40
34
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
@use '../variables/variables-colors' as bf-v-color;
|
|
2
|
+
@use '../variables/variables-texts' as bf-v-text;
|
|
3
|
+
@use '../variables/variables-spacing' as bf-v-space;
|
|
4
|
+
@use '../variables/variables-breakpoints' as bf-v-bp;
|
|
5
|
+
@use 'sass:color';
|
|
6
|
+
|
|
1
7
|
.bf-t-transform-uppercase {
|
|
2
8
|
text-transform: uppercase !important;
|
|
3
9
|
}
|
|
@@ -19,8 +25,8 @@
|
|
|
19
25
|
}
|
|
20
26
|
|
|
21
27
|
.bf-t-shadow {
|
|
22
|
-
text-shadow: 0 0 2px
|
|
23
|
-
text-shadow: 0 0 .2rem
|
|
28
|
+
text-shadow: 0 0 2px bf-v-color.$bf-dark !important;
|
|
29
|
+
text-shadow: 0 0 0.2rem bf-v-color.$bf-dark !important;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
.bf-t-italic {
|
|
@@ -73,6 +79,7 @@
|
|
|
73
79
|
overflow: hidden !important;
|
|
74
80
|
text-overflow: ellipsis !important;
|
|
75
81
|
display: -webkit-box !important;
|
|
82
|
+
line-clamp: 2 !important;
|
|
76
83
|
-webkit-line-clamp: 2 !important;
|
|
77
84
|
-webkit-box-orient: vertical !important;
|
|
78
85
|
}
|
|
@@ -81,11 +88,11 @@
|
|
|
81
88
|
overflow: hidden !important;
|
|
82
89
|
text-overflow: ellipsis !important;
|
|
83
90
|
display: -webkit-box !important;
|
|
91
|
+
line-clamp: 3 !important;
|
|
84
92
|
-webkit-line-clamp: 3 !important;
|
|
85
93
|
-webkit-box-orient: vertical !important;
|
|
86
94
|
}
|
|
87
95
|
|
|
88
|
-
|
|
89
96
|
.bf-no-select {
|
|
90
97
|
user-select: none !important;
|
|
91
98
|
|
|
@@ -100,30 +107,50 @@
|
|
|
100
107
|
|
|
101
108
|
.bf-font-sans-serif {
|
|
102
109
|
font-family:
|
|
103
|
-
/* Safari for OS X and iOS (San Francisco) */
|
|
110
|
+
/* Safari for OS X and iOS (San Francisco) */
|
|
111
|
+
-apple-system,
|
|
104
112
|
/* Chrome < 56 for OS X (San Francisco) */ BlinkMacSystemFont,
|
|
105
|
-
/* Windows */ 'Segoe UI',
|
|
106
|
-
/*
|
|
113
|
+
/* Windows */ 'Segoe UI',
|
|
114
|
+
/* Android */ Roboto,
|
|
115
|
+
/* Linux with KDE */ Oxygen-Sans,
|
|
116
|
+
/* Ubuntu (all variants) */ Ubuntu,
|
|
107
117
|
/* Linux with GNOME Shell */ Cantarell,
|
|
108
|
-
/* macOS 1.10 and below */ 'Helvetica Neue',
|
|
109
|
-
|
|
110
|
-
/*
|
|
118
|
+
/* macOS 1.10 and below */ 'Helvetica Neue',
|
|
119
|
+
Helvetica,
|
|
120
|
+
/* Basic web fallback */ Arial,
|
|
121
|
+
sans-serif,
|
|
122
|
+
/* emoji fonts */ 'Apple Color Emoji',
|
|
123
|
+
'Segoe UI Emoji',
|
|
124
|
+
'Segoe UI Symbol',
|
|
111
125
|
'Noto Color Emoji' !important;
|
|
112
126
|
}
|
|
113
127
|
|
|
114
128
|
.bf-font-serif {
|
|
115
|
-
font-family:
|
|
116
|
-
|
|
129
|
+
font-family:
|
|
130
|
+
Georgia,
|
|
131
|
+
Times,
|
|
132
|
+
'Times New Roman',
|
|
133
|
+
serif,
|
|
134
|
+
/* emoji fonts */ 'Apple Color Emoji',
|
|
135
|
+
'Segoe UI Emoji',
|
|
136
|
+
'Segoe UI Symbol',
|
|
117
137
|
'Noto Color Emoji' !important;
|
|
118
138
|
}
|
|
119
139
|
|
|
120
140
|
.bf-font-monospace {
|
|
121
141
|
font-family:
|
|
122
|
-
/* macOS 1.10+ */
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
142
|
+
/* macOS 1.10+ */
|
|
143
|
+
Menlo,
|
|
144
|
+
Consolas,
|
|
145
|
+
'Roboto Mono',
|
|
146
|
+
'Ubuntu Monospace',
|
|
147
|
+
'Noto Mono',
|
|
148
|
+
'Oxygen Mono',
|
|
149
|
+
'Liberation Mono',
|
|
150
|
+
monospace,
|
|
151
|
+
'Apple Color Emoji',
|
|
152
|
+
'Segoe UI Emoji',
|
|
153
|
+
'Segoe UI Symbol',
|
|
127
154
|
'Noto Color Emoji' !important;
|
|
128
155
|
}
|
|
129
156
|
|
|
@@ -132,13 +159,12 @@
|
|
|
132
159
|
.bf-h3,
|
|
133
160
|
.bf-h4,
|
|
134
161
|
.bf-h5,
|
|
135
|
-
.bf-h6 {
|
|
136
|
-
font-weight: 700 !important; // fallback
|
|
162
|
+
.bf-h6 { // fallback
|
|
137
163
|
font-weight: 600 !important;
|
|
138
164
|
margin-top: 0 !important;
|
|
139
165
|
line-height: 1.2 !important;
|
|
140
|
-
margin-bottom:
|
|
141
|
-
margin-bottom:
|
|
166
|
+
margin-bottom: bf-v-space.$bf-spacing-lg-px !important;
|
|
167
|
+
margin-bottom: bf-v-space.$bf-spacing-lg-rem !important;
|
|
142
168
|
}
|
|
143
169
|
|
|
144
170
|
.bf-h1 {
|
|
@@ -182,8 +208,8 @@ p.bf-lead {
|
|
|
182
208
|
// https://caniuse.com/#feat=css-variables
|
|
183
209
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
|
|
184
210
|
body.bf-responsive-typography {
|
|
185
|
-
--body-rt-font-size-flex: calc(1.
|
|
186
|
-
--body-rt-font-size-max: 1.
|
|
211
|
+
--body-rt-font-size-flex: calc(1.5rem + 3 * ((100vw - 320px) / 680));
|
|
212
|
+
--body-rt-font-size-max: 1.8rem;
|
|
187
213
|
}
|
|
188
214
|
|
|
189
215
|
@media (min-width: 320px) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//
|
|
1
|
+
@use 'sass:color';
|
|
2
|
+
|
|
3
|
+
// TIP: make colors lighter/darker with Sass
|
|
4
|
+
// https://sass-lang.com/documentation/modules/color/
|
|
5
|
+
// e.g., lighter: "color: color.adjust($gray, $lightness: 15%);"
|
|
6
|
+
// e.g., darker: "color: color.adjust($gray, $lightness: -15%);"
|
|
4
7
|
|
|
5
8
|
// customise/enlarge this small selection as needed
|
|
6
9
|
|
|
@@ -25,7 +28,7 @@ $bf-yellow: #ff0; // rgba(255,255,0,1)
|
|
|
25
28
|
// anchors and accent
|
|
26
29
|
$bf-blue: #007bff; // rgba(0,123,255,1)
|
|
27
30
|
$bf-blue-light: #0056b3; // rgba(0,86,179,1)
|
|
28
|
-
$bf-blue-light-extra: #bed8fe; //rgba(190, 216, 254, 1)
|
|
31
|
+
$bf-blue-light-extra: #bed8fe; // rgba(190, 216, 254, 1)
|
|
29
32
|
|
|
30
33
|
// invalid forms
|
|
31
|
-
$bf-red: #
|
|
34
|
+
$bf-red: #f00; // rgba(255,0,0,1)
|
|
@@ -14,13 +14,11 @@ $bf-spacing-md-px: 5px;
|
|
|
14
14
|
$bf-spacing-lg-px: 10px;
|
|
15
15
|
$bf-spacing-xl-px: 20px;
|
|
16
16
|
$bf-spacing-xxl-px: 30px;
|
|
17
|
-
|
|
18
|
-
$bf-spacing-
|
|
19
|
-
$bf-spacing-md-rem: .5rem;
|
|
17
|
+
$bf-spacing-sm-rem: 0.25rem;
|
|
18
|
+
$bf-spacing-md-rem: 0.5rem;
|
|
20
19
|
$bf-spacing-lg-rem: 1rem;
|
|
21
20
|
$bf-spacing-xl-rem: 2rem;
|
|
22
21
|
$bf-spacing-xxl-rem: 3rem;
|
|
23
22
|
|
|
24
23
|
// ! grid system only
|
|
25
|
-
$bf-spacing-grid-gutter-
|
|
26
|
-
$bf-spacing-grid-gutter-rem: 1.5rem;
|
|
24
|
+
$bf-spacing-grid-gutter-rem: 1.5rem;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
$bf-font-sans-serif:
|
|
2
|
-
|
|
3
|
-
'
|
|
4
|
-
|
|
1
|
+
$bf-font-sans-serif:
|
|
2
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell,
|
|
3
|
+
'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
|
4
|
+
'Segoe UI Symbol', 'Noto Color Emoji';
|
|
5
5
|
$bf-font-serif: Georgia, Times, 'Times New Roman', serif;
|
|
6
|
-
|
|
7
|
-
$bf-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
|
|
8
|
-
'Courier New', monospace;
|
|
9
|
-
|
|
10
|
-
$bf-body-font-size-px: 16px;
|
|
6
|
+
$bf-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
11
7
|
$bf-body-font-size-rem: 1.6rem;
|
|
12
8
|
$bf-body-line-height: 1.5;
|
package/vite.config.js
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import autoprefixer from "autoprefixer";
|
|
3
|
+
import cssnano from "cssnano";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import fs from "fs";
|
|
6
|
+
import { glob } from "glob";
|
|
7
|
+
import * as sass from "sass"; // Needed for compileAsync
|
|
8
|
+
import postcss from "postcss";
|
|
9
|
+
|
|
10
|
+
function buildAllScss() {
|
|
11
|
+
return {
|
|
12
|
+
name: "build-all-scss",
|
|
13
|
+
async closeBundle() {
|
|
14
|
+
const files = await glob("src/scss/**/*.scss");
|
|
15
|
+
|
|
16
|
+
const scssFiles = files.filter(
|
|
17
|
+
(file) => !path.basename(file).startsWith("_")
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
for (const file of scssFiles) {
|
|
21
|
+
const name = path.basename(file, ".scss");
|
|
22
|
+
const outDir = "dist/css";
|
|
23
|
+
const outFile = path.join(outDir, `${name}.css`);
|
|
24
|
+
const minFile = path.join(outDir, `${name}.min.css`);
|
|
25
|
+
|
|
26
|
+
const result = await sass.compileAsync(file, {
|
|
27
|
+
style: "expanded",
|
|
28
|
+
sourceMap: true,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const cssWithHeader =
|
|
32
|
+
`/*! Bullframe CSS v5.0.0 | MIT License | https://github.com/marcop135/bullframe.css */\n` +
|
|
33
|
+
result.css;
|
|
34
|
+
|
|
35
|
+
const postcssResult = await postcss([autoprefixer()]).process(
|
|
36
|
+
cssWithHeader,
|
|
37
|
+
{
|
|
38
|
+
from: file,
|
|
39
|
+
to: outFile,
|
|
40
|
+
map: {
|
|
41
|
+
prev: result.sourceMap,
|
|
42
|
+
inline: false,
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
48
|
+
fs.writeFileSync(outFile, postcssResult.css);
|
|
49
|
+
fs.writeFileSync(`${outFile}.map`, postcssResult.map.toString());
|
|
50
|
+
|
|
51
|
+
const minified = await postcss([autoprefixer(), cssnano()]).process(
|
|
52
|
+
cssWithHeader,
|
|
53
|
+
{
|
|
54
|
+
from: file,
|
|
55
|
+
to: minFile,
|
|
56
|
+
map: { inline: false },
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
fs.writeFileSync(minFile, minified.css);
|
|
61
|
+
fs.writeFileSync(`${minFile}.map`, minified.map.toString());
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function copyDocsFiles() {
|
|
68
|
+
return {
|
|
69
|
+
name: "copy-docs-files",
|
|
70
|
+
closeBundle() {
|
|
71
|
+
const srcDir = path.resolve(__dirname, "src/docs");
|
|
72
|
+
const destDir = path.resolve(__dirname, "dist/docs");
|
|
73
|
+
|
|
74
|
+
function copyRecursive(src, dest) {
|
|
75
|
+
if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true });
|
|
76
|
+
|
|
77
|
+
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
78
|
+
|
|
79
|
+
for (const entry of entries) {
|
|
80
|
+
const srcPath = path.join(src, entry.name);
|
|
81
|
+
const destPath = path.join(dest, entry.name);
|
|
82
|
+
|
|
83
|
+
if (entry.isDirectory()) {
|
|
84
|
+
copyRecursive(srcPath, destPath);
|
|
85
|
+
} else {
|
|
86
|
+
fs.copyFileSync(srcPath, destPath);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
copyRecursive(srcDir, destDir);
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export default defineConfig({
|
|
97
|
+
root: "src",
|
|
98
|
+
build: {
|
|
99
|
+
outDir: "../dist",
|
|
100
|
+
emptyOutDir: true,
|
|
101
|
+
rollupOptions: {
|
|
102
|
+
input: path.resolve(__dirname, "src/docs/demo/index.html"),
|
|
103
|
+
output: {
|
|
104
|
+
entryFileNames: `[name].js`,
|
|
105
|
+
chunkFileNames: `[name].js`,
|
|
106
|
+
assetFileNames: `[name][extname]`,
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
assetsDir: "", // Avoid dist/assets
|
|
110
|
+
sourcemap: true,
|
|
111
|
+
},
|
|
112
|
+
plugins: [buildAllScss(), copyDocsFiles()],
|
|
113
|
+
server: {
|
|
114
|
+
open: "/docs/demo/index.html",
|
|
115
|
+
},
|
|
116
|
+
});
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
22.14
|
package/.prettierrc
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"arrowParens": "always",
|
|
3
|
-
"bracketSpacing": true,
|
|
4
|
-
"embeddedLanguageFormatting": "auto",
|
|
5
|
-
"htmlWhitespaceSensitivity": "css",
|
|
6
|
-
"insertPragma": false,
|
|
7
|
-
"jsxBracketSameLine": false,
|
|
8
|
-
"jsxSingleQuote": false,
|
|
9
|
-
"printWidth": 80,
|
|
10
|
-
"proseWrap": "preserve",
|
|
11
|
-
"quoteProps": "as-needed",
|
|
12
|
-
"requirePragma": false,
|
|
13
|
-
"semi": true,
|
|
14
|
-
"singleQuote": true,
|
|
15
|
-
"tabWidth": 2,
|
|
16
|
-
"trailingComma": "es5",
|
|
17
|
-
"useTabs": false,
|
|
18
|
-
"vueIndentScriptAndStyle": false
|
|
19
|
-
}
|
package/gulpfile.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Initialize modules
|
|
4
|
-
const { src, dest, watch, series, parallel } = require('gulp');
|
|
5
|
-
|
|
6
|
-
// Upgrade gulp-sass to v5
|
|
7
|
-
const sass = require('gulp-sass')(require('sass'));
|
|
8
|
-
|
|
9
|
-
// Import all the Gulp-related packages
|
|
10
|
-
const postcss = require('gulp-postcss');
|
|
11
|
-
const autoprefixer = require('autoprefixer');
|
|
12
|
-
const cssnano = require('cssnano');
|
|
13
|
-
const rename = require('gulp-rename');
|
|
14
|
-
const replace = require('gulp-replace');
|
|
15
|
-
const browserSync = require('browser-sync');
|
|
16
|
-
|
|
17
|
-
const server = browserSync.create();
|
|
18
|
-
|
|
19
|
-
// Setup the BrowserSync server
|
|
20
|
-
function reload(done) {
|
|
21
|
-
server.reload();
|
|
22
|
-
done();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function serve(done) {
|
|
26
|
-
server.init({
|
|
27
|
-
server: {
|
|
28
|
-
baseDir: './dist/',
|
|
29
|
-
index: '../docs/test-page/index.html',
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
done();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// File paths to watch
|
|
36
|
-
const files = {
|
|
37
|
-
scssPath: 'src/scss/**/*.scss',
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// Sass task
|
|
41
|
-
function scssTask() {
|
|
42
|
-
return src(files.scssPath, { sourcemaps: true })
|
|
43
|
-
.pipe(sass.sync({ outputStyle: 'expanded' }).on('error', sass.logError)) // Compile SCSS to CSS
|
|
44
|
-
.pipe(
|
|
45
|
-
replace(
|
|
46
|
-
'@charset "UTF-8";',
|
|
47
|
-
'/*! bullframe.css v4.2.2 | MIT License | https://github.com/marcop135/bullframe.css */'
|
|
48
|
-
)
|
|
49
|
-
) // Replace Node-sass auto-built charset with a useful comment
|
|
50
|
-
.pipe(postcss([autoprefixer()])) // Apply PostCSS plugins
|
|
51
|
-
.pipe(dest('dist/css')) // Write pre-minified styles
|
|
52
|
-
.pipe(postcss([cssnano()])) // Minify CSS
|
|
53
|
-
.pipe(
|
|
54
|
-
rename({
|
|
55
|
-
suffix: '.min',
|
|
56
|
-
})
|
|
57
|
-
) // Rename files
|
|
58
|
-
.pipe(dest('dist/css', { sourcemaps: '.' })); // Output final CSS
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Watch task: watch SCSS, JS, image, and HTML files for changes
|
|
62
|
-
function watchTask() {
|
|
63
|
-
watch([files.scssPath], series(parallel(scssTask), reload));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Export the default Gulp task
|
|
67
|
-
exports.default = series(parallel(scssTask), serve, watchTask);
|