Browse Source

bootstrap removal phase 4d: forms + buttons custom

Replaced bootstrap/forms + bootstrap/buttons with flattened used classes:
.form-control (+focus), .input-group, .btn base, .btn-dark, .btn-lg.
btn-default/btn-danger never compiled (theme-colors trimmed) -> base .btn,
unchanged. input-group-addon was a no-op BS3 class. Only root/reboot/type
(+ compile deps) remain.
v4-style.min.css 87,228 -> 57,910 bytes (-72% from baseline).
windhamdavid 1 week ago
parent
commit
db34a14800
2 changed files with 65 additions and 2 deletions
  1. 65 2
      css/styles.scss
  2. 0 0
      v4-style.min.css

+ 65 - 2
css/styles.scss

@@ -70,8 +70,6 @@ $enable-negative-margins: true;
 @import '../node_modules/bootstrap/scss/root';
 @import '../node_modules/bootstrap/scss/reboot';
 @import '../node_modules/bootstrap/scss/type';
-@import '../node_modules/bootstrap/scss/forms';
-@import '../node_modules/bootstrap/scss/buttons';
 
 // ---- replacements for dropped Bootstrap partials (Phase 1 + 2) ----
 
@@ -283,6 +281,71 @@ $dw-cols: 8.333333%, 16.666667%, 25%, 33.333333%, 41.666667%, 50%, 58.333333%, 6
   border-radius: 0.375rem;
 }
 
+// ---- forms + buttons (hand-rolled; replaces those partials) ----
+// Only used classes. btn-default/btn-danger never compiled (theme-colors
+// trimmed) so they fall back to the base .btn, same as before.
+.form-control {
+  display: block;
+  width: 100%;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #232323;
+  background-color: #d3d3d3;
+  background-clip: padding-box;
+  border: 1px solid #dee2e6;
+  border-radius: 0.375rem;
+  appearance: none;
+  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
+}
+.form-control:focus {
+  color: #232323;
+  background-color: #d3d3d3;
+  border-color: #86b7fe;
+  outline: 0;
+  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.input-group {
+  position: relative;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: stretch;
+  width: 100%;
+}
+.btn {
+  display: inline-block;
+  padding: 0.375rem 0.75rem;
+  font-size: 1rem;
+  font-weight: 400;
+  line-height: 1.5;
+  color: #232323;
+  text-align: center;
+  text-decoration: none;
+  vertical-align: middle;
+  cursor: pointer;
+  user-select: none;
+  background-color: transparent;
+  border: 1px solid transparent;
+  border-radius: 0.375rem;
+  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
+}
+.btn-dark {
+  color: #fff;
+  background-color: #535763;
+  border-color: #535763;
+}
+.btn-dark:hover {
+  color: #fff;
+  background-color: #6d707a;
+  border-color: #646873;
+}
+.btn-lg {
+  padding: 0.5rem 1rem;
+  font-size: 1.25rem;
+  border-radius: 0.5rem;
+}
+
 /* Bootstrap Icons font dropped (2026-06-19): the header's 8 nav icons are now
    inline SVG in parts/header.html, so the full icon font + its ~2000 CSS rules
    are no longer imported. */

File diff suppressed because it is too large
+ 0 - 0
v4-style.min.css


Some files were not shown because too many files changed in this diff