bullframe.css 5.0.0 → 5.1.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.
Files changed (87) hide show
  1. package/.stylelintignore +1 -1
  2. package/CHANGELOG.md +242 -233
  3. package/LICENSE +21 -0
  4. package/README.md +18 -15
  5. package/dist/css/bullframe-classless-dark-prefers.css +145 -205
  6. package/dist/css/bullframe-classless-dark-prefers.css.map +1 -1
  7. package/dist/css/bullframe-classless-dark-prefers.min.css +1 -1
  8. package/dist/css/bullframe-classless-dark-prefers.min.css.map +1 -1
  9. package/dist/css/bullframe-classless-dark.css +316 -391
  10. package/dist/css/bullframe-classless-dark.css.map +1 -1
  11. package/dist/css/bullframe-classless-dark.min.css +1 -1
  12. package/dist/css/bullframe-classless-dark.min.css.map +1 -1
  13. package/dist/css/bullframe-classless-system-default.css +145 -205
  14. package/dist/css/bullframe-classless-system-default.css.map +1 -1
  15. package/dist/css/bullframe-classless-system-default.min.css +1 -1
  16. package/dist/css/bullframe-classless-system-default.min.css.map +1 -1
  17. package/dist/css/bullframe-classless.css +133 -195
  18. package/dist/css/bullframe-classless.css.map +1 -1
  19. package/dist/css/bullframe-classless.min.css +1 -1
  20. package/dist/css/bullframe-classless.min.css.map +1 -1
  21. package/dist/css/bullframe-dark-prefers.css +145 -205
  22. package/dist/css/bullframe-dark-prefers.css.map +1 -1
  23. package/dist/css/bullframe-dark-prefers.min.css +1 -1
  24. package/dist/css/bullframe-dark-prefers.min.css.map +1 -1
  25. package/dist/css/bullframe-dark.css +386 -466
  26. package/dist/css/bullframe-dark.css.map +1 -1
  27. package/dist/css/bullframe-dark.min.css +1 -1
  28. package/dist/css/bullframe-dark.min.css.map +1 -1
  29. package/dist/css/bullframe-system-default.css +142 -204
  30. package/dist/css/bullframe-system-default.css.map +1 -1
  31. package/dist/css/bullframe-system-default.min.css +1 -1
  32. package/dist/css/bullframe-system-default.min.css.map +1 -1
  33. package/dist/css/bullframe-utilities.css +4 -2
  34. package/dist/css/bullframe-utilities.css.map +1 -1
  35. package/dist/css/bullframe-utilities.min.css +1 -1
  36. package/dist/css/bullframe-utilities.min.css.map +1 -1
  37. package/dist/css/bullframe.css +133 -195
  38. package/dist/css/bullframe.css.map +1 -1
  39. package/dist/css/bullframe.min.css +1 -1
  40. package/dist/css/bullframe.min.css.map +1 -1
  41. package/dist/docs/demo/index.html +15 -13
  42. package/dist/index.css +1 -0
  43. package/dist/index.js.map +1 -0
  44. package/package.json +4 -4
  45. package/src/scss/forms/_forms-normalization.scss +84 -100
  46. package/src/scss/forms/_forms-styling-radio-checkbox.scss +11 -12
  47. package/src/scss/forms/_forms-styling-range.scss +19 -26
  48. package/src/scss/forms/_forms-styling-select.scss +9 -16
  49. package/src/scss/forms/_forms-styling.scss +81 -94
  50. package/src/scss/miscellaneous/_misc-focus.scss +29 -28
  51. package/src/scss/mixins/_mixin-dark-prefers.scss +14 -15
  52. package/src/scss/mixins/_mixin-dark.scss +330 -311
  53. package/vite.config.js +65 -33
  54. package/.gitattributes +0 -1
  55. package/dist/docs/demo/css/style.css +0 -131
  56. package/dist/docs/demo/icons/android-chrome-192x192.png +0 -0
  57. package/dist/docs/demo/icons/android-chrome-384x384.png +0 -0
  58. package/dist/docs/demo/icons/mstile-150x150.png +0 -0
  59. package/dist/docs/demo/icons/safari-pinned-tab.svg +0 -28
  60. package/dist/docs/demo/images/logo.png +0 -0
  61. package/dist/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  62. package/dist/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  63. package/dist/docs/github-readme/bf-logo-full-dark.png +0 -0
  64. package/dist/docs/github-readme/bf-logo-full-light.png +0 -0
  65. package/src/docs/demo/css/style.css +0 -131
  66. package/src/docs/demo/icons/android-chrome-192x192.png +0 -0
  67. package/src/docs/demo/icons/android-chrome-384x384.png +0 -0
  68. package/src/docs/demo/icons/apple-touch-icon.png +0 -0
  69. package/src/docs/demo/icons/favicon-16x16.png +0 -0
  70. package/src/docs/demo/icons/favicon-32x32.png +0 -0
  71. package/src/docs/demo/icons/favicon.ico +0 -0
  72. package/src/docs/demo/icons/mstile-150x150.png +0 -0
  73. package/src/docs/demo/icons/safari-pinned-tab.svg +0 -28
  74. package/src/docs/demo/images/logo.png +0 -0
  75. package/src/docs/demo/images/placeholder-img-130x140.jpg +0 -0
  76. package/src/docs/demo/images/placeholder-img-16x16.jpg +0 -0
  77. package/src/docs/demo/images/placeholder-img-800x400.jpg +0 -0
  78. package/src/docs/demo/images/video-poster.png +0 -0
  79. package/src/docs/demo/index.html +0 -1152
  80. package/src/docs/github-readme/bf-logo-full-dark.png +0 -0
  81. package/src/docs/github-readme/bf-logo-full-light.png +0 -0
  82. /package/dist/{docs/demo/icons/apple-touch-icon.png → apple-touch-icon.png} +0 -0
  83. /package/dist/{docs/demo/icons/favicon-16x16.png → favicon-16x16.png} +0 -0
  84. /package/dist/{docs/demo/icons/favicon-32x32.png → favicon-32x32.png} +0 -0
  85. /package/dist/{docs/demo/icons/favicon.ico → favicon.ico} +0 -0
  86. /package/dist/{docs/demo/images/placeholder-img-800x400.jpg → placeholder-img-800x400.jpg} +0 -0
  87. /package/dist/{docs/demo/images/video-poster.png → video-poster.png} +0 -0
@@ -1,73 +1,64 @@
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';
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
6
 
7
- [type='email'],
8
- [type='number'],
9
- [type='password'],
10
- [type='tel'],
11
- [type='search'],
12
- [type='text'],
13
- [type='date'],
14
- [type='datetime-local'],
15
- [type='month'],
16
- [type='week'],
17
- [type='time'],
18
- [type='url'],
19
- input[list],
20
- select,
21
- textarea {
7
+ :where(
8
+ [type="email"],
9
+ [type="number"],
10
+ [type="password"],
11
+ [type="tel"],
12
+ [type="search"],
13
+ [type="text"],
14
+ [type="date"],
15
+ [type="datetime-local"],
16
+ [type="month"],
17
+ [type="week"],
18
+ [type="time"],
19
+ [type="url"],
20
+ input[list],
21
+ select,
22
+ textarea
23
+ ) {
22
24
  background-color: bf-v-color.$bf-white;
23
- border: 1px solid / bf-v-color.$bf-gray;
24
- padding: bf-v-space.$bf-spacing-md-px (bf-v-space.$bf-spacing-lg-px * 0.75);
25
+ border: 1px solid bf-v-color.$bf-gray;
25
26
  padding: bf-v-space.$bf-spacing-md-rem (bf-v-space.$bf-spacing-lg-rem * 0.75);
26
27
  }
27
28
 
28
- // Old browsers and Opera Mini don't fully support all type of inputs
29
- // e.g. [type="range"]
30
- // so, let's try to add styles carefully and selective
31
- [type='email'],
32
- [type='number'],
33
- [type='password'],
34
- [type='tel'],
35
- [type='search'],
36
- [type='text'],
37
- [type='date'],
38
- [type='datetime-local'],
39
- [type='month'],
40
- [type='week'],
41
- [type='time'],
42
- [type='url'],
43
- input[list],
44
- select,
45
- textarea,
46
- [type='radio'],
47
- [type='checkbox'] {
29
+ :where(
30
+ [type="email"],
31
+ [type="number"],
32
+ [type="password"],
33
+ [type="tel"],
34
+ [type="search"],
35
+ [type="text"],
36
+ [type="date"],
37
+ [type="datetime-local"],
38
+ [type="month"],
39
+ [type="week"],
40
+ [type="time"],
41
+ [type="url"],
42
+ input[list],
43
+ select,
44
+ textarea,
45
+ [type="radio"],
46
+ [type="checkbox"]
47
+ ) {
48
48
  &:active,
49
49
  &:focus {
50
- transition:
51
- border 0.2s,
52
- background-color 0.2s,
53
- box-shadow 0.2s;
50
+ transition: border 0.2s, background-color 0.2s, box-shadow 0.2s;
54
51
  border-color: bf-v-color.$bf-blue;
55
52
  box-shadow: 0 0 0 3px rgb(0 86 179 / 25%);
56
53
  }
57
54
  }
58
55
 
59
- button,
60
- [type='button'],
61
- [type='reset'],
62
- [type='submit'] {
56
+ :where(button, [type="button"], [type="reset"], [type="submit"]) {
63
57
  color: bf-v-color.$bf-dark;
64
- padding: calc(bf-v-space.$bf-spacing-xl-px / 3) (calc(bf-v-space.$bf-spacing-xl-px / 3) * 2); // 8px 16px
65
- padding: calc(bf-v-space.$bf-spacing-xl-rem / 3) (calc(bf-v-space.$bf-spacing-xl-rem / 3) * 2);
58
+ padding: calc(bf-v-space.$bf-spacing-xl-rem / 3)
59
+ (calc(bf-v-space.$bf-spacing-xl-rem / 3) * 2);
66
60
  background: bf-v-color.$bf-gray-light;
67
- transition:
68
- color 0.2s,
69
- background 0.2s,
70
- box-shadow 0.2s;
61
+ transition: color 0.2s, background 0.2s, box-shadow 0.2s;
71
62
 
72
63
  &:hover,
73
64
  &:active,
@@ -84,44 +75,40 @@ button,
84
75
  }
85
76
 
86
77
  // disabled groups
87
- fieldset[disabled] button,
88
- fieldset[disabled] input,
89
- fieldset[disabled] input::after,
90
- fieldset[disabled] input::before,
91
- fieldset[disabled] input:checked,
92
- fieldset[disabled] select,
93
- fieldset[disabled] textarea,
94
- fieldset[disabled] label,
95
-
96
- /* disabled singles*/
97
- button[disabled],
98
- input[disabled],
99
- input[disabled]::after,
100
- input[disabled]::before,
101
- input[disabled]:checked,
102
- select[disabled],
103
- textarea[disabled],
104
- label[disabled],
105
-
106
- /* pseudo class*/
107
- button:disabled,
108
- input:disabled,
109
- input:disabled::after,
110
- input:disabled::before,
111
- input:disabled:checked,
112
- select:disabled,
113
- textarea:disabled,
114
- label:disabled,
115
-
116
- /* aria*/
117
- button[aria-disabled="true"],
118
- input[aria-disabled="true"],
119
- input[aria-disabled="true"]::after,
120
- input[aria-disabled="true"]::before,
121
- input[aria-disabled="true"]:checked,
122
- select[aria-disabled="true"],
123
- textarea[aria-disabled="true"],
124
- label[aria-disabled="true"] {
78
+ :where(
79
+ fieldset[disabled] button,
80
+ fieldset[disabled] input,
81
+ fieldset[disabled] input::after,
82
+ fieldset[disabled] input::before,
83
+ fieldset[disabled] input:checked,
84
+ fieldset[disabled] select,
85
+ fieldset[disabled] textarea,
86
+ fieldset[disabled] label,
87
+ button[disabled],
88
+ input[disabled],
89
+ input[disabled]::after,
90
+ input[disabled]::before,
91
+ input[disabled]:checked,
92
+ select[disabled],
93
+ textarea[disabled],
94
+ label[disabled],
95
+ button:disabled,
96
+ input:disabled,
97
+ input:disabled::after,
98
+ input:disabled::before,
99
+ input:disabled:checked,
100
+ select:disabled,
101
+ textarea:disabled,
102
+ label:disabled,
103
+ button[aria-disabled="true"],
104
+ input[aria-disabled="true"],
105
+ input[aria-disabled="true"]::after,
106
+ input[aria-disabled="true"]::before,
107
+ input[aria-disabled="true"]:checked,
108
+ select[aria-disabled="true"],
109
+ textarea[aria-disabled="true"],
110
+ label[aria-disabled="true"]
111
+ ) {
125
112
  cursor: default !important; // fallback
126
113
  cursor: not-allowed !important;
127
114
  pointer-events: none !important;
@@ -1,6 +1,6 @@
1
1
  // remove focus if is not keyboard
2
2
  // and if these elements are not focused globally
3
- :focus:not(:focus-visible) {
3
+ :where(:focus:not(:focus-visible)) {
4
4
  outline: none;
5
5
  }
6
6
 
@@ -16,7 +16,7 @@
16
16
  // you may not use this file except in compliance with the License.
17
17
  // You may obtain a copy of the License at
18
18
 
19
- // http://www.apache.org/licenses/LICENSE-2.0
19
+ // http://www.apache.org/licenses/LICENSE-2.0
20
20
 
21
21
  // Unless required by applicable law or agreed to in writing, software
22
22
  // distributed under the License is distributed on an "AS IS" BASIS,
@@ -24,17 +24,16 @@
24
24
  // See the License for the specific language governing permissions and
25
25
  // limitations under the License.
26
26
 
27
- [tabindex='-1']:focus:not(:focus-visible) {
27
+ :where([tabindex="-1"]:focus:not(:focus-visible)) {
28
28
  outline: 0 !important;
29
29
  }
30
30
 
31
- a:focus,
32
- input:focus {
31
+ :where(a:focus, input:focus) {
33
32
  outline: 2px solid orange;
34
33
  }
35
34
 
36
35
  // style it again (must be separated)
37
- :focus-visible {
36
+ :where(:focus-visible) {
38
37
  outline: 2px solid orange;
39
38
  }
40
39
 
@@ -46,30 +45,32 @@ input:focus {
46
45
  // [type="color"]
47
46
  // [type="range"]
48
47
  // [type="file"]
49
- // because usually are replaced with a custom verion
48
+ // because usually are replaced with a custom version
50
49
  // with JS or extra <div>s
51
50
  // https://getbootstrap.com/docs/4.4/components/input-group/#custom-file-input
52
- button,
53
- [type='button'],
54
- [type='reset'],
55
- [type='submit'],
56
- [type='email'],
57
- [type='number'],
58
- [type='password'],
59
- [type='tel'],
60
- [type='search'],
61
- [type='text'],
62
- [type='date'],
63
- [type='datetime-local'],
64
- [type='month'],
65
- [type='time'],
66
- [type='week'],
67
- [type='url'],
68
- [type='radio'],
69
- [type='checkbox'],
70
- input[list],
71
- select,
72
- textarea {
51
+ :where(
52
+ button,
53
+ [type="button"],
54
+ [type="reset"],
55
+ [type="submit"],
56
+ [type="email"],
57
+ [type="number"],
58
+ [type="password"],
59
+ [type="tel"],
60
+ [type="search"],
61
+ [type="text"],
62
+ [type="date"],
63
+ [type="datetime-local"],
64
+ [type="month"],
65
+ [type="time"],
66
+ [type="week"],
67
+ [type="url"],
68
+ [type="radio"],
69
+ [type="checkbox"],
70
+ input[list],
71
+ select,
72
+ textarea
73
+ ) {
73
74
  &:focus {
74
75
  outline: 0;
75
76
  }
@@ -43,7 +43,6 @@
43
43
  }
44
44
 
45
45
  // forms
46
-
47
46
  [type="email"],
48
47
  [type="number"],
49
48
  [type="password"],
@@ -59,7 +58,7 @@
59
58
  [type="range"],
60
59
  input[list],
61
60
  select,
62
- select:not([size], [multiple]),
61
+ select:not([size], select[multiple]),
63
62
  textarea {
64
63
  background-color: bf-v-color.$bf-dark-extra;
65
64
  border-color: bf-v-color.$bf-black;
@@ -86,7 +85,7 @@
86
85
  [type="url"],
87
86
  input[list],
88
87
  select,
89
- select:not([size], [multiple]),
88
+ select:not([size], select[multiple]),
90
89
  textarea {
91
90
  &:active,
92
91
  &:focus {
@@ -108,17 +107,17 @@
108
107
  ) !important;
109
108
  }
110
109
 
111
- select:not([size], [multiple]) {
110
+ select:not([size], select[multiple]) {
112
111
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
113
112
  }
114
113
 
115
114
  /* stylelint-disable-next-line */
116
115
  @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
117
116
  // hide custom arrow
118
- select:not([size], [multiple]),
117
+ select:not([size], select[multiple]),
119
118
  /* RTL*/
120
- *[dir="rtl"] select:not([size], [multiple]),
121
- select[dir="rtl"]:not([size], [multiple]) {
119
+ *[dir="rtl"] select:not([size], select[multiple]),
120
+ select[dir="rtl"]:not([size], select[multiple]) {
122
121
  background-image: none;
123
122
  }
124
123
  }
@@ -272,7 +271,6 @@
272
271
  }
273
272
 
274
273
  // forms
275
-
276
274
  [type="email"],
277
275
  [type="number"],
278
276
  [type="password"],
@@ -288,7 +286,7 @@
288
286
  [type="range"],
289
287
  input[list],
290
288
  select,
291
- select:not([size], [multiple]),
289
+ select:not([size], select[multiple]),
292
290
  textarea {
293
291
  background-color: bf-v-color.$bf-dark-extra;
294
292
  border-color: bf-v-color.$bf-black;
@@ -315,7 +313,7 @@
315
313
  [type="url"],
316
314
  input[list],
317
315
  select,
318
- select:not([size], [multiple]),
316
+ select:not([size], select[multiple]),
319
317
  textarea {
320
318
  &:active,
321
319
  &:focus {
@@ -323,17 +321,17 @@
323
321
  }
324
322
  }
325
323
 
326
- select:not([size], [multiple]) {
324
+ select:not([size], select[multiple]) {
327
325
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23f0f0f0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
328
326
  }
329
327
 
330
328
  /* stylelint-disable-next-line */
331
329
  @media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
332
330
  // hide custom arrow
333
- select:not([size], [multiple]),
331
+ select:not([size], select[multiple]),
334
332
  /* RTL*/
335
- *[dir="rtl"] select:not([size], [multiple]),
336
- select[dir="rtl"]:not([size], [multiple]) {
333
+ *[dir="rtl"] select:not([size], select[multiple]),
334
+ select[dir="rtl"]:not([size], select[multiple]) {
337
335
  background-image: none;
338
336
  }
339
337
  }
@@ -385,7 +383,8 @@
385
383
  button,
386
384
  [type="button"],
387
385
  [type="reset"],
388
- [type="submit"] {
386
+ [type="submit"],
387
+ .bf-btn {
389
388
  &:active,
390
389
  &:focus {
391
390
  box-shadow: 0 0 0 3px rgb(255 255 255 / 45%);