breakouts 0.7.3 → 0.8.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.
package/README.md CHANGED
@@ -20,12 +20,34 @@ bun add breakouts
20
20
  @use 'breakouts' as *;
21
21
  ```
22
22
 
23
+ This imports the full bundle: color tokens, reset, base typography, layout, and utilities.
24
+
25
+ For smaller Sass builds, import only the layer you need:
26
+
27
+ ```scss
28
+ @use 'breakouts/src/core';
29
+ @use 'breakouts/src/utilities';
30
+ ```
31
+
23
32
  ### CSS
24
33
 
25
34
  ```html
26
35
  <link rel="stylesheet" href="/node_modules/breakouts/dist/breakouts.css" />
27
36
  ```
28
37
 
38
+ The distributed CSS file is the full bundle.
39
+
40
+ ## Sass Layers
41
+
42
+ | Import | Includes |
43
+ | --- | --- |
44
+ | `@use 'breakouts'` | Full bundle |
45
+ | `@use 'breakouts/src/core'` | Color tokens and layout primitives |
46
+ | `@use 'breakouts/src/base'` | Core, reset, and base typography |
47
+ | `@use 'breakouts/src/reset'` | Reset only |
48
+ | `@use 'breakouts/src/utilities'` | Color, spacing, position, and typography utilities |
49
+ | `@use 'breakouts/src/base/layout'` | Layout module only |
50
+
29
51
  ## Core Layout API
30
52
 
31
53
  The main abstraction is the `.breakouts` container. Every direct child defaults to the centered content column, and modifier classes let individual elements break outward.
@@ -35,6 +57,7 @@ The main abstraction is the `.breakouts` container. Every direct child defaults
35
57
  <p>Default content width</p>
36
58
  <figure class="popout">Slightly wider</figure>
37
59
  <pre class="feature">Wider still</pre>
60
+ <aside class="feature-start">Anchored to the inline start side</aside>
38
61
  <img class="full" src="hero.jpg" alt="" />
39
62
  </article>
40
63
  ```
@@ -46,12 +69,34 @@ The main abstraction is the `.breakouts` container. Every direct child defaults
46
69
  | `.breakouts` | Main named-line breakout grid container |
47
70
  | `.content` | Explicitly place an item in the content column |
48
71
  | `.popout` | Slight breakout outside content |
72
+ | `.popout-start`, `.popout-end` | One-sided popout breakout |
73
+ | `.popout-left`, `.popout-right` | Physical aliases for one-sided popout breakout |
49
74
  | `.feature` | Larger breakout for emphasis |
75
+ | `.feature-start`, `.feature-end` | One-sided feature breakout |
76
+ | `.feature-left`, `.feature-right` | Physical aliases for one-sided feature breakout |
50
77
  | `.full` | Full-width breakout |
78
+ | `.full-start`, `.full-end` | One-sided full breakout |
79
+ | `.full-left`, `.full-right` | Physical aliases for one-sided full breakout |
51
80
  | `.container` | Traditional centered wrapper |
52
81
  | `.full-bleed` | Viewport-wide utility outside the named-grid pattern |
53
82
  | `.breakout` | Simpler wide utility outside the named-grid pattern |
54
83
 
84
+ ### Nested breakout grids
85
+
86
+ Any `.breakouts` or `.breakouts-grid` item can also be placed with a breakout class and then reuse the same track system for its own children.
87
+
88
+ ```html
89
+ <section class="breakouts">
90
+ <div class="full breakouts">
91
+ <p>Nested content column</p>
92
+ <figure class="feature">Nested feature width</figure>
93
+ <img class="full" src="wide.jpg" alt="" />
94
+ </div>
95
+ </section>
96
+ ```
97
+
98
+ The nested grid inherits the parent track definition, so child placement classes keep the same meaning inside wider regions.
99
+
55
100
  ### Default sizing tokens
56
101
 
57
102
  These CSS custom properties drive the layout and can be overridden per scope:
@@ -92,6 +137,8 @@ Available prefixes:
92
137
  - Margin: `m`, `mt`, `mr`, `mb`, `ml`, `mx`, `my`
93
138
  - Padding: `p`, `pt`, `pr`, `pb`, `pl`, `px`, `py`
94
139
 
140
+ `auto` is generated for margin utilities only. Padding utilities are generated from the numeric spacing values.
141
+
95
142
  ### Typography
96
143
 
97
144
  - Alignment: `text-left`, `text-center`, `text-right`, `text-justify`
@@ -156,6 +203,7 @@ Override variables on first load with `@use ... with (...)`:
156
203
  Or import only the modules you need:
157
204
 
158
205
  ```scss
206
+ @use 'breakouts/src/core';
159
207
  @use 'breakouts/src/base/layout';
160
208
  @use 'breakouts/src/base/spacing';
161
209
  ```
@@ -863,7 +863,8 @@ a:hover {
863
863
  .breakouts-grid {
864
864
  display: grid;
865
865
  grid-template-columns: [full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end];
866
- gap: var(--gap);
866
+ row-gap: var(--gap);
867
+ column-gap: 0;
867
868
  }
868
869
 
869
870
  .breakouts > *,
@@ -879,14 +880,51 @@ a:hover {
879
880
  grid-column: popout;
880
881
  }
881
882
 
883
+ .popout-start,
884
+ .popout-left {
885
+ grid-column: popout-start/content-end;
886
+ }
887
+
888
+ .popout-end,
889
+ .popout-right {
890
+ grid-column: content-start/popout-end;
891
+ }
892
+
882
893
  .feature {
883
894
  grid-column: feature;
884
895
  }
885
896
 
897
+ .feature-start,
898
+ .feature-left {
899
+ grid-column: feature-start/content-end;
900
+ }
901
+
902
+ .feature-end,
903
+ .feature-right {
904
+ grid-column: content-start/feature-end;
905
+ }
906
+
886
907
  .full {
887
908
  grid-column: full;
888
909
  }
889
910
 
911
+ .full-start,
912
+ .full-left {
913
+ grid-column: full-start/content-end;
914
+ }
915
+
916
+ .full-end,
917
+ .full-right {
918
+ grid-column: content-start/full-end;
919
+ }
920
+
921
+ .breakouts > .breakouts,
922
+ .breakouts > .breakouts-grid,
923
+ .breakouts-grid > .breakouts,
924
+ .breakouts-grid > .breakouts-grid {
925
+ grid-template-columns: inherit;
926
+ }
927
+
890
928
  .grid {
891
929
  display: grid;
892
930
  grid-template-columns: 1fr minmax(0, var(--container-max-width, 64rem)) 1fr;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/base/_colors.scss","../src/base/_reset.scss","../src/base/_spacing.scss","../src/base/_positions.scss","../src/base/_typography.scss","../src/base/_layout.scss"],"names":[],"mappings":"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","file":"breakouts.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/base/_color-tokens.scss","../src/base/_color-utilities.scss","../src/base/_reset.scss","../src/base/_spacing.scss","../src/base/_positions.scss","../src/base/_typography-base.scss","../src/base/_typography-utilities.scss","../src/base/_layout.scss"],"names":[],"mappings":"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","file":"breakouts.css"}
@@ -1 +1 @@
1
- :root{--color-background: #ffffff;--color-surface: #f0f0f0;--color-text: #111111;--color-muted: #666666;--color-primary: #0055ff;--color-secondary: #0033aa;--color-accent: #ff4081;--color-success: #28a745;--color-error: #dc3545;--color-warning: #ffc107;--color-neutral-100: #f8f9fa;--color-neutral-200: #e9ecef;--color-neutral-300: #dee2e6;--color-neutral-400: #ced4da;--color-neutral-500: #adb5bd;--color-neutral-600: #6c757d;--color-neutral-700: #495057;--color-neutral-800: #343a40;--color-neutral-900: #212529;color-scheme:light}html.dark,:root.dark,.dark{--color-background: #111111;--color-surface: #1a1a1a;--color-text: #eeeeee;--color-muted: #aaaaaa;--color-primary: #0033aa;--color-secondary: #002277;--color-accent: #c60055;--color-success: #1e7e34;--color-error: #a71d2a;--color-warning: #c79100;color-scheme:dark}html.light,:root.light,.light{--color-background: #ffffff;--color-surface: #f8f8f8;--color-text: #222222;--color-muted: #999999;--color-primary: #88b0ff;--color-secondary: #ccd9ff;--color-accent: #ff80ab;--color-success: #71dd8a;--color-error: #ff6b6b;--color-warning: #ffdb4d;color-scheme:light}@media(prefers-color-scheme: dark){:root:not(.light):not(.dark){--color-background: #111111;--color-surface: #1a1a1a;--color-text: #eeeeee;--color-muted: #aaaaaa;--color-primary: #0033aa;--color-secondary: #002277;--color-accent: #c60055;--color-success: #1e7e34;--color-error: #a71d2a;--color-warning: #c79100;color-scheme:dark}}.bg-background{background-color:var(--color-background)}.bg-surface{background-color:var(--color-surface)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-muted{background-color:var(--color-muted)}.bg-success{background-color:var(--color-success)}.bg-error{background-color:var(--color-error)}.bg-warning{background-color:var(--color-warning)}.text-background{color:var(--color-background)}.text-color{color:var(--color-text)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-secondary)}.text-surface{color:var(--color-surface)}.text-muted{color:var(--color-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;width:100%}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-1{margin:.25rem}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.m-2{margin:.5rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.m-3{margin:.75rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.m-4{margin:1rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-top:1rem;margin-bottom:1rem}.m-5{margin:1.25rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.m-6{margin:1.5rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.p-1{padding:.25rem}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.p-2{padding:.5rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.p-3{padding:.75rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.p-4{padding:1rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.p-5{padding:1.25rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.p-6{padding:1.5rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.z-index-0{z-index:0}.z-index-1{z-index:1}.z-index-10{z-index:10}.z-index-100{z-index:100}.z-index-1000{z-index:1000}body{font-family:system-ui,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-background);margin:0}h1{font-size:2.25rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h2{font-size:1.75rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h3{font-size:1.5rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h4{font-size:1.25rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h5{font-size:1.125rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h6{font-size:1rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}p{margin:1rem 0}a{color:var(--color-primary);text-decoration:underline}a:hover{color:var(--color-secondary)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.font-bold{font-weight:bold}.font-normal{font-weight:normal}.italic{font-style:italic}.not-italic{font-style:normal}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}:root{--gap: clamp(1rem, 6vw, 3rem);--full: minmax(var(--gap), 1fr);--feature: minmax(0, 5rem);--popout: minmax(0, 2rem);--content: min(50ch, 100% - var(--gap) * 2)}.container{margin-inline:auto;max-width:72rem;padding-inline:1rem}.full-bleed{width:100vw;margin-left:50%;transform:translateX(-50%)}.full-bleed--left{width:100vw;margin-left:0;transform:translateX(0)}.full-bleed--right{width:100vw;margin-left:calc(-1*(100vw - 100%)/2);transform:translateX(calc(100% - 100vw))}.breakout{width:100vw;margin-left:calc(-1*(100vw - 100%)/2)}.breakout--left{width:100vw;margin-left:0;transform:translateX(0)}.breakout--right{width:100vw;margin-left:calc(-1*(100vw - 100%)/2);transform:translateX(calc(100% - 100vw))}.breakouts,.breakouts-grid{display:grid;grid-template-columns:[full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end];gap:var(--gap)}.breakouts>*,.breakouts-grid>*{grid-column:content}.content{grid-column:content}.popout{grid-column:popout}.feature{grid-column:feature}.full{grid-column:full}.grid{display:grid;grid-template-columns:1fr minmax(0, var(--container-max-width, 64rem)) 1fr;gap:var(--gap)}.grid>*{grid-column:2}.grid--full>*{grid-column:1/-1}/*# sourceMappingURL=breakouts.min.css.map */
1
+ :root{--color-background: #ffffff;--color-surface: #f0f0f0;--color-text: #111111;--color-muted: #666666;--color-primary: #0055ff;--color-secondary: #0033aa;--color-accent: #ff4081;--color-success: #28a745;--color-error: #dc3545;--color-warning: #ffc107;--color-neutral-100: #f8f9fa;--color-neutral-200: #e9ecef;--color-neutral-300: #dee2e6;--color-neutral-400: #ced4da;--color-neutral-500: #adb5bd;--color-neutral-600: #6c757d;--color-neutral-700: #495057;--color-neutral-800: #343a40;--color-neutral-900: #212529;color-scheme:light}html.dark,:root.dark,.dark{--color-background: #111111;--color-surface: #1a1a1a;--color-text: #eeeeee;--color-muted: #aaaaaa;--color-primary: #0033aa;--color-secondary: #002277;--color-accent: #c60055;--color-success: #1e7e34;--color-error: #a71d2a;--color-warning: #c79100;color-scheme:dark}html.light,:root.light,.light{--color-background: #ffffff;--color-surface: #f8f8f8;--color-text: #222222;--color-muted: #999999;--color-primary: #88b0ff;--color-secondary: #ccd9ff;--color-accent: #ff80ab;--color-success: #71dd8a;--color-error: #ff6b6b;--color-warning: #ffdb4d;color-scheme:light}@media(prefers-color-scheme: dark){:root:not(.light):not(.dark){--color-background: #111111;--color-surface: #1a1a1a;--color-text: #eeeeee;--color-muted: #aaaaaa;--color-primary: #0033aa;--color-secondary: #002277;--color-accent: #c60055;--color-success: #1e7e34;--color-error: #a71d2a;--color-warning: #c79100;color-scheme:dark}}.bg-background{background-color:var(--color-background)}.bg-surface{background-color:var(--color-surface)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-muted{background-color:var(--color-muted)}.bg-success{background-color:var(--color-success)}.bg-error{background-color:var(--color-error)}.bg-warning{background-color:var(--color-warning)}.text-background{color:var(--color-background)}.text-color{color:var(--color-text)}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-secondary{color:var(--color-secondary)}.text-surface{color:var(--color-surface)}.text-muted{color:var(--color-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-neutral-100{color:var(--color-neutral-100)}.text-neutral-200{color:var(--color-neutral-200)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;width:100%}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.m-1{margin:.25rem}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.m-2{margin:.5rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.m-3{margin:.75rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.m-4{margin:1rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-4{margin-top:1rem;margin-bottom:1rem}.m-5{margin:1.25rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.m-6{margin:1.5rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.p-1{padding:.25rem}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.p-2{padding:.5rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.p-3{padding:.75rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.p-4{padding:1rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.p-5{padding:1.25rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.p-6{padding:1.5rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.z-index-0{z-index:0}.z-index-1{z-index:1}.z-index-10{z-index:10}.z-index-100{z-index:100}.z-index-1000{z-index:1000}body{font-family:system-ui,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-background);margin:0}h1{font-size:2.25rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h2{font-size:1.75rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h3{font-size:1.5rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h4{font-size:1.25rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h5{font-size:1.125rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}h6{font-size:1rem;line-height:1.2;margin:2rem 0 1rem;font-weight:600;color:var(--color-text)}p{margin:1rem 0}a{color:var(--color-primary);text-decoration:underline}a:hover{color:var(--color-secondary)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.font-bold{font-weight:bold}.font-normal{font-weight:normal}.italic{font-style:italic}.not-italic{font-style:normal}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}:root{--gap: clamp(1rem, 6vw, 3rem);--full: minmax(var(--gap), 1fr);--feature: minmax(0, 5rem);--popout: minmax(0, 2rem);--content: min(50ch, 100% - var(--gap) * 2)}.container{margin-inline:auto;max-width:72rem;padding-inline:1rem}.full-bleed{width:100vw;margin-left:50%;transform:translateX(-50%)}.full-bleed--left{width:100vw;margin-left:0;transform:translateX(0)}.full-bleed--right{width:100vw;margin-left:calc(-1*(100vw - 100%)/2);transform:translateX(calc(100% - 100vw))}.breakout{width:100vw;margin-left:calc(-1*(100vw - 100%)/2)}.breakout--left{width:100vw;margin-left:0;transform:translateX(0)}.breakout--right{width:100vw;margin-left:calc(-1*(100vw - 100%)/2);transform:translateX(calc(100% - 100vw))}.breakouts,.breakouts-grid{display:grid;grid-template-columns:[full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end];row-gap:var(--gap);column-gap:0}.breakouts>*,.breakouts-grid>*{grid-column:content}.content{grid-column:content}.popout{grid-column:popout}.popout-start,.popout-left{grid-column:popout-start/content-end}.popout-end,.popout-right{grid-column:content-start/popout-end}.feature{grid-column:feature}.feature-start,.feature-left{grid-column:feature-start/content-end}.feature-end,.feature-right{grid-column:content-start/feature-end}.full{grid-column:full}.full-start,.full-left{grid-column:full-start/content-end}.full-end,.full-right{grid-column:content-start/full-end}.breakouts>.breakouts,.breakouts>.breakouts-grid,.breakouts-grid>.breakouts,.breakouts-grid>.breakouts-grid{grid-template-columns:inherit}.grid{display:grid;grid-template-columns:1fr minmax(0, var(--container-max-width, 64rem)) 1fr;gap:var(--gap)}.grid>*{grid-column:2}.grid--full>*{grid-column:1/-1}/*# sourceMappingURL=breakouts.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/base/_colors.scss","../src/base/_reset.scss","../src/base/_spacing.scss","../src/base/_positions.scss","../src/base/_typography.scss","../src/base/_layout.scss"],"names":[],"mappings":"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","file":"breakouts.min.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/base/_color-tokens.scss","../src/base/_color-utilities.scss","../src/base/_reset.scss","../src/base/_spacing.scss","../src/base/_positions.scss","../src/base/_typography-base.scss","../src/base/_typography-utilities.scss","../src/base/_layout.scss"],"names":[],"mappings":"AAIA,MACI,4BACA,yBACA,sBACA,uBACA,yBACA,2BACA,wBACA,yBACA,uBACA,yBAEA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,mBAGJ,2BAGI,4BACA,yBACA,sBACA,uBACA,yBACA,2BACA,wBACA,yBACA,uBACA,yBACA,kBAGJ,8BAGI,4BACA,yBACA,sBACA,uBACA,yBACA,2BACA,wBACA,yBACA,uBACA,yBACA,mBAGJ,mCACI,6BACI,4BACA,yBACA,sBACA,uBACA,yBACA,2BACA,wBACA,yBACA,uBACA,yBACA,mBCtER,eACI,yCAGJ,YACI,sCAGJ,YACI,sCAGJ,cACI,wCAGJ,WACI,qCAGJ,UACI,oCAGJ,YACI,sCAGJ,UACI,oCAGJ,YACI,sCAGJ,iBACI,8BAGJ,YACI,wBAGJ,cACI,2BAGJ,aACI,0BAGJ,gBACI,6BAGJ,cACI,2BAGJ,YACI,yBAGJ,cACI,2BAGJ,YACI,yBAGJ,cACI,2BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BAGJ,kBACI,+BC5GJ,qBAGI,sBACA,SACA,UAGJ,UAEI,SACA,UACA,WCwBI,KAQQ,OA1CF,EAkCN,MAQQ,WA1CF,EAkCN,MAQQ,aA1CF,EAkCN,MAQQ,cA1CF,EAkCN,MAQQ,YA1CF,EAkCN,MAGY,YArCN,EAqCM,aArCN,EAkCN,MAGY,WArCN,EAqCM,cArCN,EAkCN,KAQQ,OA1CF,OAkCN,MAQQ,WA1CF,OAkCN,MAQQ,aA1CF,OAkCN,MAQQ,cA1CF,OAkCN,MAQQ,YA1CF,OAkCN,MAGY,YArCN,OAqCM,aArCN,OAkCN,MAGY,WArCN,OAqCM,cArCN,OAkCN,KAQQ,OA1CF,MAkCN,MAQQ,WA1CF,MAkCN,MAQQ,aA1CF,MAkCN,MAQQ,cA1CF,MAkCN,MAQQ,YA1CF,MAkCN,MAGY,YArCN,MAqCM,aArCN,MAkCN,MAGY,WArCN,MAqCM,cArCN,MAkCN,KAQQ,OA1CF,OAkCN,MAQQ,WA1CF,OAkCN,MAQQ,aA1CF,OAkCN,MAQQ,cA1CF,OAkCN,MAQQ,YA1CF,OAkCN,MAGY,YArCN,OAqCM,aArCN,OAkCN,MAGY,WArCN,OAqCM,cArCN,OAkCN,KAQQ,OA1CF,KAkCN,MAQQ,WA1CF,KAkCN,MAQQ,aA1CF,KAkCN,MAQQ,cA1CF,KAkCN,MAQQ,YA1CF,KAkCN,MAGY,YArCN,KAqCM,aArCN,KAkCN,MAGY,WArCN,KAqCM,cArCN,KAkCN,KAQQ,OA1CF,QAkCN,MAQQ,WA1CF,QAkCN,MAQQ,aA1CF,QAkCN,MAQQ,cA1CF,QAkCN,MAQQ,YA1CF,QAkCN,MAGY,YArCN,QAqCM,aArCN,QAkCN,MAGY,WArCN,QAqCM,cArCN,QAkCN,KAQQ,OA1CF,OAkCN,MAQQ,WA1CF,OAkCN,MAQQ,aA1CF,OAkCN,MAQQ,cA1CF,OAkCN,MAQQ,YA1CF,OAkCN,MAGY,YArCN,OAqCM,aArCN,OAkCN,MAGY,WArCN,OAqCM,cArCN,OAkCN,QAQQ,OA1CF,KAkCN,SAQQ,WA1CF,KAkCN,SAQQ,aA1CF,KAkCN,SAQQ,cA1CF,KAkCN,SAQQ,YA1CF,KAkCN,SAGY,YArCN,KAqCM,aArCN,KAkCN,SAGY,WArCN,KAqCM,cArCN,KAkCN,KAQQ,QAhBM,EAQd,MAQQ,YAhBM,EAQd,MAQQ,cAhBM,EAQd,MAQQ,eAhBM,EAQd,MAQQ,aAhBM,EAQd,MAGY,aAXE,EAWF,cAXE,EAQd,MAGY,YAXE,EAWF,eAXE,EAQd,KAQQ,QAhBM,OAQd,MAQQ,YAhBM,OAQd,MAQQ,cAhBM,OAQd,MAQQ,eAhBM,OAQd,MAQQ,aAhBM,OAQd,MAGY,aAXE,OAWF,cAXE,OAQd,MAGY,YAXE,OAWF,eAXE,OAQd,KAQQ,QAhBM,MAQd,MAQQ,YAhBM,MAQd,MAQQ,cAhBM,MAQd,MAQQ,eAhBM,MAQd,MAQQ,aAhBM,MAQd,MAGY,aAXE,MAWF,cAXE,MAQd,MAGY,YAXE,MAWF,eAXE,MAQd,KAQQ,QAhBM,OAQd,MAQQ,YAhBM,OAQd,MAQQ,cAhBM,OAQd,MAQQ,eAhBM,OAQd,MAQQ,aAhBM,OAQd,MAGY,aAXE,OAWF,cAXE,OAQd,MAGY,YAXE,OAWF,eAXE,OAQd,KAQQ,QAhBM,KAQd,MAQQ,YAhBM,KAQd,MAQQ,cAhBM,KAQd,MAQQ,eAhBM,KAQd,MAQQ,aAhBM,KAQd,MAGY,aAXE,KAWF,cAXE,KAQd,MAGY,YAXE,KAWF,eAXE,KAQd,KAQQ,QAhBM,QAQd,MAQQ,YAhBM,QAQd,MAQQ,cAhBM,QAQd,MAQQ,eAhBM,QAQd,MAQQ,aAhBM,QAQd,MAGY,aAXE,QAWF,cAXE,QAQd,MAGY,YAXE,QAWF,eAXE,QAQd,KAQQ,QAhBM,OAQd,MAQQ,YAhBM,OAQd,MAQQ,cAhBM,OAQd,MAQQ,eAhBM,OAQd,MAQQ,aAhBM,OAQd,MAGY,aAXE,OAWF,cAXE,OAQd,MAGY,YAXE,OAWF,eAXE,OC7BtB,iBACI,gBAGJ,mBACI,kBAGJ,mBACI,kBAGJ,gBACI,eAGJ,iBACI,gBAGJ,WACI,UAGJ,WACI,UAGJ,YACI,WAGJ,aACI,YAGJ,cACI,aCzBJ,KACI,YAbe,qBAcf,UAZa,KAab,YAZe,IAaf,wBACA,yCACA,SAKA,GACI,UAnBG,QAoBH,gBACA,mBACA,gBACA,wBALJ,GACI,UAnBG,QAoBH,gBACA,mBACA,gBACA,wBALJ,GACI,UAnBG,OAoBH,gBACA,mBACA,gBACA,wBALJ,GACI,UAnBG,QAoBH,gBACA,mBACA,gBACA,wBALJ,GACI,UAnBG,SAoBH,gBACA,mBACA,gBACA,wBALJ,GACI,UAnBG,KAoBH,gBACA,mBACA,gBACA,wBAIR,EACI,cAGJ,EACI,2BACA,0BAEA,QACI,6BCzCR,WACI,gBAGJ,aACI,kBAGJ,YACI,iBAGJ,cACI,mBAGJ,gBACI,yBAGJ,gBACI,yBAGJ,iBACI,0BAGJ,WACI,iBAGJ,aACI,mBAGJ,QACI,kBAGJ,YACI,kBAGJ,eACI,iBAGJ,gBACI,gBAGJ,eACI,cCpDJ,MACI,8BACA,gCACA,2BACA,0BACA,4CAIJ,WACI,mBACA,gBACA,oBAIJ,YACI,YACA,gBACA,2BAGJ,kBACI,YACA,cACA,wBAGJ,mBACI,YACA,sCACA,yCAGJ,UACI,YACA,sCAGJ,gBACI,YACA,cACA,wBAGJ,iBACI,YACA,sCACA,yCAIJ,2BAEI,aACA,sBACI,iNACJ,mBACA,aAGJ,+BAEI,oBAGJ,SACI,oBAGJ,QACI,mBAGJ,2BAEI,qCAGJ,0BAEI,qCAGJ,SACI,oBAGJ,6BAEI,sCAGJ,4BAEI,sCAGJ,MACI,iBAGJ,uBAEI,mCAGJ,sBAEI,mCAGJ,4GAII,8BAIJ,MACI,aACA,2EACA,eAEA,QACI,cAIR,cACI","file":"breakouts.min.css"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "breakouts",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "description": "A focused SCSS/CSS breakout layout toolkit inspired by the Mulligan named-grid pattern.",
5
5
  "main": "dist/breakouts.css",
6
6
  "files": [
package/src/_index.scss CHANGED
@@ -1,6 +1,5 @@
1
- // This file is the main entry point for the SCSS files.
2
- // It imports all the necessary files and modules for the project.
3
- // It is recommended to use @use instead of @import for better performance and maintainability.
1
+ // Full bundle entry point. Use src/core, src/base, src/reset, or
2
+ // src/utilities when you need a smaller Sass surface.
4
3
 
5
4
  // Theme and configurable variables
6
5
  @forward 'base/variables';
@@ -0,0 +1,75 @@
1
+ // Color custom properties and color-mode selectors.
2
+
3
+ @use 'variables' as *;
4
+
5
+ :root {
6
+ --color-background: #{$color-background};
7
+ --color-surface: #{$color-surface};
8
+ --color-text: #{$color-text};
9
+ --color-muted: #{$color-muted};
10
+ --color-primary: #{$color-primary};
11
+ --color-secondary: #{$color-secondary};
12
+ --color-accent: #{$color-accent};
13
+ --color-success: #{$color-success};
14
+ --color-error: #{$color-error};
15
+ --color-warning: #{$color-warning};
16
+
17
+ --color-neutral-100: #{$color-neutral-100};
18
+ --color-neutral-200: #{$color-neutral-200};
19
+ --color-neutral-300: #{$color-neutral-300};
20
+ --color-neutral-400: #{$color-neutral-400};
21
+ --color-neutral-500: #{$color-neutral-500};
22
+ --color-neutral-600: #{$color-neutral-600};
23
+ --color-neutral-700: #{$color-neutral-700};
24
+ --color-neutral-800: #{$color-neutral-800};
25
+ --color-neutral-900: #{$color-neutral-900};
26
+ color-scheme: light;
27
+ }
28
+
29
+ html.dark,
30
+ :root.dark,
31
+ .dark {
32
+ --color-background: #{$color-background-dark};
33
+ --color-surface: #{$color-surface-dark};
34
+ --color-text: #{$color-text-dark};
35
+ --color-muted: #{$color-muted-dark};
36
+ --color-primary: #{$color-primary-dark};
37
+ --color-secondary: #{$color-secondary-dark};
38
+ --color-accent: #{$color-accent-dark};
39
+ --color-success: #{$color-success-dark};
40
+ --color-error: #{$color-error-dark};
41
+ --color-warning: #{$color-warning-dark};
42
+ color-scheme: dark;
43
+ }
44
+
45
+ html.light,
46
+ :root.light,
47
+ .light {
48
+ --color-background: #{$color-background-light};
49
+ --color-surface: #{$color-surface-light};
50
+ --color-text: #{$color-text-light};
51
+ --color-muted: #{$color-muted-light};
52
+ --color-primary: #{$color-primary-light};
53
+ --color-secondary: #{$color-secondary-light};
54
+ --color-accent: #{$color-accent-light};
55
+ --color-success: #{$color-success-light};
56
+ --color-error: #{$color-error-light};
57
+ --color-warning: #{$color-warning-light};
58
+ color-scheme: light;
59
+ }
60
+
61
+ @media (prefers-color-scheme: dark) {
62
+ :root:not(.light):not(.dark) {
63
+ --color-background: #{$color-background-dark};
64
+ --color-surface: #{$color-surface-dark};
65
+ --color-text: #{$color-text-dark};
66
+ --color-muted: #{$color-muted-dark};
67
+ --color-primary: #{$color-primary-dark};
68
+ --color-secondary: #{$color-secondary-dark};
69
+ --color-accent: #{$color-accent-dark};
70
+ --color-success: #{$color-success-dark};
71
+ --color-error: #{$color-error-dark};
72
+ --color-warning: #{$color-warning-dark};
73
+ color-scheme: dark;
74
+ }
75
+ }
@@ -0,0 +1,113 @@
1
+ // Utility classes for background and text colors.
2
+
3
+ .bg-background {
4
+ background-color: var(--color-background);
5
+ }
6
+
7
+ .bg-surface {
8
+ background-color: var(--color-surface);
9
+ }
10
+
11
+ .bg-primary {
12
+ background-color: var(--color-primary);
13
+ }
14
+
15
+ .bg-secondary {
16
+ background-color: var(--color-secondary);
17
+ }
18
+
19
+ .bg-accent {
20
+ background-color: var(--color-accent);
21
+ }
22
+
23
+ .bg-muted {
24
+ background-color: var(--color-muted);
25
+ }
26
+
27
+ .bg-success {
28
+ background-color: var(--color-success);
29
+ }
30
+
31
+ .bg-error {
32
+ background-color: var(--color-error);
33
+ }
34
+
35
+ .bg-warning {
36
+ background-color: var(--color-warning);
37
+ }
38
+
39
+ .text-background {
40
+ color: var(--color-background);
41
+ }
42
+
43
+ .text-color {
44
+ color: var(--color-text);
45
+ }
46
+
47
+ .text-primary {
48
+ color: var(--color-primary);
49
+ }
50
+
51
+ .text-accent {
52
+ color: var(--color-accent);
53
+ }
54
+
55
+ .text-secondary {
56
+ color: var(--color-secondary);
57
+ }
58
+
59
+ .text-surface {
60
+ color: var(--color-surface);
61
+ }
62
+
63
+ .text-muted {
64
+ color: var(--color-muted);
65
+ }
66
+
67
+ .text-success {
68
+ color: var(--color-success);
69
+ }
70
+
71
+ .text-error {
72
+ color: var(--color-error);
73
+ }
74
+
75
+ .text-warning {
76
+ color: var(--color-warning);
77
+ }
78
+
79
+ .text-neutral-100 {
80
+ color: var(--color-neutral-100);
81
+ }
82
+
83
+ .text-neutral-200 {
84
+ color: var(--color-neutral-200);
85
+ }
86
+
87
+ .text-neutral-300 {
88
+ color: var(--color-neutral-300);
89
+ }
90
+
91
+ .text-neutral-400 {
92
+ color: var(--color-neutral-400);
93
+ }
94
+
95
+ .text-neutral-500 {
96
+ color: var(--color-neutral-500);
97
+ }
98
+
99
+ .text-neutral-600 {
100
+ color: var(--color-neutral-600);
101
+ }
102
+
103
+ .text-neutral-700 {
104
+ color: var(--color-neutral-700);
105
+ }
106
+
107
+ .text-neutral-800 {
108
+ color: var(--color-neutral-800);
109
+ }
110
+
111
+ .text-neutral-900 {
112
+ color: var(--color-neutral-900);
113
+ }
@@ -1,189 +1,4 @@
1
- // This file contains the color variables and utility classes for the project.
1
+ // Compatibility module: color tokens plus color utilities.
2
2
 
3
- @use 'variables'as *;
4
-
5
- :root {
6
- --color-background: #{$color-background};
7
- --color-surface: #{$color-surface};
8
- --color-text: #{$color-text};
9
- --color-muted: #{$color-muted};
10
- --color-primary: #{$color-primary};
11
- --color-secondary: #{$color-secondary};
12
- --color-accent: #{$color-accent};
13
- --color-success: #{$color-success};
14
- --color-error: #{$color-error};
15
- --color-warning: #{$color-warning};
16
-
17
- --color-neutral-100: #{$color-neutral-100};
18
- --color-neutral-200: #{$color-neutral-200};
19
- --color-neutral-300: #{$color-neutral-300};
20
- --color-neutral-400: #{$color-neutral-400};
21
- --color-neutral-500: #{$color-neutral-500};
22
- --color-neutral-600: #{$color-neutral-600};
23
- --color-neutral-700: #{$color-neutral-700};
24
- --color-neutral-800: #{$color-neutral-800};
25
- --color-neutral-900: #{$color-neutral-900};
26
- color-scheme: light;
27
- }
28
-
29
- html.dark,
30
- :root.dark,
31
- .dark {
32
- --color-background: #{$color-background-dark};
33
- --color-surface: #{$color-surface-dark};
34
- --color-text: #{$color-text-dark};
35
- --color-muted: #{$color-muted-dark};
36
- --color-primary: #{$color-primary-dark};
37
- --color-secondary: #{$color-secondary-dark};
38
- --color-accent: #{$color-accent-dark};
39
- --color-success: #{$color-success-dark};
40
- --color-error: #{$color-error-dark};
41
- --color-warning: #{$color-warning-dark};
42
- color-scheme: dark;
43
- }
44
-
45
- html.light,
46
- :root.light,
47
- .light {
48
- --color-background: #{$color-background-light};
49
- --color-surface: #{$color-surface-light};
50
- --color-text: #{$color-text-light};
51
- --color-muted: #{$color-muted-light};
52
- --color-primary: #{$color-primary-light};
53
- --color-secondary: #{$color-secondary-light};
54
- --color-accent: #{$color-accent-light};
55
- --color-success: #{$color-success-light};
56
- --color-error: #{$color-error-light};
57
- --color-warning: #{$color-warning-light};
58
- color-scheme: light;
59
- }
60
-
61
- @media (prefers-color-scheme: dark) {
62
- :root:not(.light):not(.dark) {
63
- --color-background: #{$color-background-dark};
64
- --color-surface: #{$color-surface-dark};
65
- --color-text: #{$color-text-dark};
66
- --color-muted: #{$color-muted-dark};
67
- --color-primary: #{$color-primary-dark};
68
- --color-secondary: #{$color-secondary-dark};
69
- --color-accent: #{$color-accent-dark};
70
- --color-success: #{$color-success-dark};
71
- --color-error: #{$color-error-dark};
72
- --color-warning: #{$color-warning-dark};
73
- color-scheme: dark;
74
- }
75
- }
76
-
77
- // Utility classes for background and text colors
78
-
79
- .bg-background {
80
- background-color: var(--color-background);
81
- }
82
-
83
- .bg-surface {
84
- background-color: var(--color-surface);
85
- }
86
-
87
- .bg-primary {
88
- background-color: var(--color-primary);
89
- }
90
-
91
- .bg-secondary {
92
- background-color: var(--color-secondary);
93
- }
94
-
95
- .bg-accent {
96
- background-color: var(--color-accent);
97
- }
98
-
99
- .bg-muted {
100
- background-color: var(--color-muted);
101
- }
102
-
103
- .bg-success {
104
- background-color: var(--color-success);
105
- }
106
-
107
- .bg-error {
108
- background-color: var(--color-error);
109
- }
110
-
111
- .bg-warning {
112
- background-color: var(--color-warning);
113
- }
114
-
115
- .text-background {
116
- color: var(--color-background);
117
- }
118
-
119
- .text-color {
120
- color: var(--color-text);
121
- }
122
-
123
- .text-primary {
124
- color: var(--color-primary);
125
- }
126
-
127
- .text-accent {
128
- color: var(--color-accent);
129
- }
130
-
131
- .text-secondary {
132
- color: var(--color-secondary);
133
- }
134
-
135
- .text-surface {
136
- color: var(--color-surface);
137
- }
138
-
139
- .text-muted {
140
- color: var(--color-muted);
141
- }
142
-
143
- .text-success {
144
- color: var(--color-success);
145
- }
146
-
147
- .text-error {
148
- color: var(--color-error);
149
- }
150
-
151
- .text-warning {
152
- color: var(--color-warning);
153
- }
154
-
155
- .text-neutral-100 {
156
- color: var(--color-neutral-100);
157
- }
158
-
159
- .text-neutral-200 {
160
- color: var(--color-neutral-200);
161
- }
162
-
163
- .text-neutral-300 {
164
- color: var(--color-neutral-300);
165
- }
166
-
167
- .text-neutral-400 {
168
- color: var(--color-neutral-400);
169
- }
170
-
171
- .text-neutral-500 {
172
- color: var(--color-neutral-500);
173
- }
174
-
175
- .text-neutral-600 {
176
- color: var(--color-neutral-600);
177
- }
178
-
179
- .text-neutral-700 {
180
- color: var(--color-neutral-700);
181
- }
182
-
183
- .text-neutral-800 {
184
- color: var(--color-neutral-800);
185
- }
186
-
187
- .text-neutral-900 {
188
- color: var(--color-neutral-900);
189
- }
3
+ @forward 'color-tokens';
4
+ @forward 'color-utilities';
@@ -58,7 +58,8 @@
58
58
  display: grid;
59
59
  grid-template-columns:
60
60
  [full-start] var(--full) [feature-start] var(--feature) [popout-start] var(--popout) [content-start] var(--content) [content-end] var(--popout) [popout-end] var(--feature) [feature-end] var(--full) [full-end];
61
- gap: var(--gap);
61
+ row-gap: var(--gap);
62
+ column-gap: 0;
62
63
  }
63
64
 
64
65
  .breakouts > *,
@@ -74,14 +75,51 @@
74
75
  grid-column: popout;
75
76
  }
76
77
 
78
+ .popout-start,
79
+ .popout-left {
80
+ grid-column: popout-start / content-end;
81
+ }
82
+
83
+ .popout-end,
84
+ .popout-right {
85
+ grid-column: content-start / popout-end;
86
+ }
87
+
77
88
  .feature {
78
89
  grid-column: feature;
79
90
  }
80
91
 
92
+ .feature-start,
93
+ .feature-left {
94
+ grid-column: feature-start / content-end;
95
+ }
96
+
97
+ .feature-end,
98
+ .feature-right {
99
+ grid-column: content-start / feature-end;
100
+ }
101
+
81
102
  .full {
82
103
  grid-column: full;
83
104
  }
84
105
 
106
+ .full-start,
107
+ .full-left {
108
+ grid-column: full-start / content-end;
109
+ }
110
+
111
+ .full-end,
112
+ .full-right {
113
+ grid-column: content-start / full-end;
114
+ }
115
+
116
+ .breakouts > .breakouts,
117
+ .breakouts > .breakouts-grid,
118
+ .breakouts-grid > .breakouts,
119
+ .breakouts-grid > .breakouts-grid {
120
+ grid-template-columns: inherit;
121
+ }
122
+
85
123
  // Standard Grid (for .grid and .grid--full compatibility)
86
124
  .grid {
87
125
  display: grid;
@@ -0,0 +1,46 @@
1
+ // Base typography styles.
2
+
3
+ $font-family-base: system-ui,
4
+ sans-serif !default;
5
+ $font-size-base: 1rem !default;
6
+ $line-height-base: 1.6 !default;
7
+
8
+ $headings: (h1: 2.25rem,
9
+ h2: 1.75rem,
10
+ h3: 1.5rem,
11
+ h4: 1.25rem,
12
+ h5: 1.125rem,
13
+ h6: 1rem) !default;
14
+
15
+ body {
16
+ font-family: $font-family-base;
17
+ font-size: $font-size-base;
18
+ line-height: $line-height-base;
19
+ color: var(--color-text);
20
+ background-color: var(--color-background);
21
+ margin: 0;
22
+ }
23
+
24
+ @each $heading,
25
+ $size in $headings {
26
+ #{$heading} {
27
+ font-size: $size;
28
+ line-height: 1.2;
29
+ margin: 2rem 0 1rem;
30
+ font-weight: 600;
31
+ color: var(--color-text);
32
+ }
33
+ }
34
+
35
+ p {
36
+ margin: 1rem 0;
37
+ }
38
+
39
+ a {
40
+ color: var(--color-primary);
41
+ text-decoration: underline;
42
+
43
+ &:hover {
44
+ color: var(--color-secondary);
45
+ }
46
+ }
@@ -0,0 +1,57 @@
1
+ // Typography utility classes.
2
+
3
+ .text-left {
4
+ text-align: left;
5
+ }
6
+
7
+ .text-center {
8
+ text-align: center;
9
+ }
10
+
11
+ .text-right {
12
+ text-align: right;
13
+ }
14
+
15
+ .text-justify {
16
+ text-align: justify;
17
+ }
18
+
19
+ .text-uppercase {
20
+ text-transform: uppercase;
21
+ }
22
+
23
+ .text-lowercase {
24
+ text-transform: lowercase;
25
+ }
26
+
27
+ .text-capitalize {
28
+ text-transform: capitalize;
29
+ }
30
+
31
+ .font-bold {
32
+ font-weight: bold;
33
+ }
34
+
35
+ .font-normal {
36
+ font-weight: normal;
37
+ }
38
+
39
+ .italic {
40
+ font-style: italic;
41
+ }
42
+
43
+ .not-italic {
44
+ font-style: normal;
45
+ }
46
+
47
+ .leading-tight {
48
+ line-height: 1.25;
49
+ }
50
+
51
+ .leading-normal {
52
+ line-height: 1.5;
53
+ }
54
+
55
+ .leading-loose {
56
+ line-height: 2;
57
+ }
@@ -1,110 +1,4 @@
1
- // This file contains the typography variables and utility classes for the project.
1
+ // Compatibility module: base typography plus typography utilities.
2
2
 
3
-
4
- // Default font settings
5
- $font-family-base: system-ui,
6
- sans-serif !default;
7
- $font-size-base: 1rem !default;
8
- $line-height-base: 1.6 !default;
9
-
10
- // Heading scale
11
- $headings: (h1: 2.25rem,
12
- h2: 1.75rem,
13
- h3: 1.5rem,
14
- h4: 1.25rem,
15
- h5: 1.125rem,
16
- h6: 1rem) !default;
17
-
18
- body {
19
- font-family: $font-family-base;
20
- font-size: $font-size-base;
21
- line-height: $line-height-base;
22
- color: var(--color-text);
23
- background-color: var(--color-background);
24
- margin: 0;
25
- }
26
-
27
- // Headings
28
- @each $heading,
29
- $size in $headings {
30
- #{$heading} {
31
- font-size: $size;
32
- line-height: 1.2;
33
- margin: 2rem 0 1rem;
34
- font-weight: 600;
35
- color: var(--color-text);
36
- }
37
- }
38
-
39
- p {
40
- margin: 1rem 0;
41
- }
42
-
43
- a {
44
- color: var(--color-primary);
45
- text-decoration: underline;
46
-
47
- &:hover {
48
- color: var(--color-secondary);
49
- }
50
- }
51
-
52
- // Text alignment utilities
53
- .text-left {
54
- text-align: left;
55
- }
56
-
57
- .text-center {
58
- text-align: center;
59
- }
60
-
61
- .text-right {
62
- text-align: right;
63
- }
64
-
65
- .text-justify {
66
- text-align: justify;
67
- }
68
-
69
- // Text transformation utilities
70
- .text-uppercase {
71
- text-transform: uppercase;
72
- }
73
-
74
- .text-lowercase {
75
- text-transform: lowercase;
76
- }
77
-
78
- .text-capitalize {
79
- text-transform: capitalize;
80
- }
81
-
82
- // Font style and weight
83
- .font-bold {
84
- font-weight: bold;
85
- }
86
-
87
- .font-normal {
88
- font-weight: normal;
89
- }
90
-
91
- .italic {
92
- font-style: italic;
93
- }
94
-
95
- .not-italic {
96
- font-style: normal;
97
- }
98
-
99
- // Line height utilities
100
- .leading-tight {
101
- line-height: 1.25;
102
- }
103
-
104
- .leading-normal {
105
- line-height: 1.5;
106
- }
107
-
108
- .leading-loose {
109
- line-height: 2;
110
- }
3
+ @forward 'typography-base';
4
+ @forward 'typography-utilities';
package/src/base.scss ADDED
@@ -0,0 +1,5 @@
1
+ // Optional base element styles, without utility classes.
2
+
3
+ @forward 'core';
4
+ @forward 'base/reset';
5
+ @forward 'base/typography-base';
package/src/core.scss ADDED
@@ -0,0 +1,5 @@
1
+ // Core Breakouts API: color tokens and layout primitives only.
2
+
3
+ @forward 'base/variables';
4
+ @forward 'base/color-tokens';
5
+ @forward 'base/layout';
package/src/reset.scss ADDED
@@ -0,0 +1,3 @@
1
+ // Optional reset layer.
2
+
3
+ @forward 'base/reset';
@@ -0,0 +1,6 @@
1
+ // Optional utility layer.
2
+
3
+ @forward 'base/color-utilities';
4
+ @forward 'base/spacing';
5
+ @forward 'base/positions';
6
+ @forward 'base/typography-utilities';