layout-style-css 2.1.0 → 2.1.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +5 -5
  3. package/demo/index.html +1 -1
  4. package/demo/sitemap.xml +1 -1
  5. package/dist/layout-style-css.css +147 -104
  6. package/dist/layout-style-css.min.css +1 -1
  7. package/dist/legacy.css +137 -102
  8. package/dist/personalities/bauhaus.css +10 -7
  9. package/dist/personalities/bento.css +15 -12
  10. package/dist/personalities/brutalism.css +8 -5
  11. package/dist/personalities/cyberpunk.css +8 -5
  12. package/dist/personalities/f-pattern.css +14 -11
  13. package/dist/personalities/maximalist.css +17 -14
  14. package/dist/personalities/minimal-saas.css +8 -6
  15. package/dist/personalities/mondrian.css +10 -7
  16. package/dist/personalities/neumorphism.css +2 -2
  17. package/dist/personalities/retro-glass.css +10 -7
  18. package/dist/personalities/retrofuturism.css +8 -5
  19. package/dist/personalities/split-screen.css +1 -1
  20. package/dist/personalities/synthwave.css +2 -2
  21. package/dist/personalities/tactile.css +1 -1
  22. package/dist/personalities/y2k.css +8 -5
  23. package/dist/personalities/z-pattern.css +15 -12
  24. package/dist/recipes.css +10 -2
  25. package/docs/wiki/Getting-Started.md +1 -1
  26. package/docs/wiki/Home.md +2 -2
  27. package/docs/wiki/Installation-And-CDN.md +3 -3
  28. package/docs/wiki/Layout-Recipes.md +1 -1
  29. package/docs/wiki/Layout-Styles.md +1 -1
  30. package/docs/wiki/Migrating-To-2.0.md +1 -1
  31. package/docs/wiki/Release-And-Publishing.md +8 -8
  32. package/docs/wiki/UI-Style-Kit-Compatibility.md +1 -1
  33. package/package.json +1 -1
  34. package/styles/personalities/bauhaus.css +10 -7
  35. package/styles/personalities/bento.css +15 -12
  36. package/styles/personalities/brutalism.css +8 -5
  37. package/styles/personalities/cyberpunk.css +8 -5
  38. package/styles/personalities/f-pattern.css +14 -11
  39. package/styles/personalities/maximalist.css +17 -14
  40. package/styles/personalities/minimal-saas.css +8 -6
  41. package/styles/personalities/mondrian.css +10 -7
  42. package/styles/personalities/neumorphism.css +2 -2
  43. package/styles/personalities/retro-glass.css +10 -7
  44. package/styles/personalities/retrofuturism.css +8 -5
  45. package/styles/personalities/split-screen.css +1 -1
  46. package/styles/personalities/synthwave.css +2 -2
  47. package/styles/personalities/tactile.css +1 -1
  48. package/styles/personalities/y2k.css +8 -5
  49. package/styles/personalities/z-pattern.css +15 -12
  50. package/styles/recipes.css +10 -2
@@ -16,14 +16,22 @@
16
16
  }
17
17
 
18
18
  /* Cap the fallback rail until the wider personality template is eligible. */
19
- @container ly-personality (min-width: 48rem) {
19
+ @container (min-width: 48rem) {
20
20
  :where(.ly-root[data-ly-layout="bauhaus"])
21
21
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
22
22
  grid-template-columns: minmax(min(100%, 14rem), 0.3fr) minmax(0, 1fr);
23
23
  }
24
24
  }
25
25
 
26
- @container ly-personality (min-width: 52rem) {
26
+ @container (min-width: 52rem) {
27
+ :where(.ly-root[data-ly-layout="bauhaus"]) .ly-grid > :nth-child(3n + 1) {
28
+ grid-column: span 2;
29
+ grid-row: span 2;
30
+ }
31
+ }
32
+
33
+ /* The four-track shell waits for a locally feasible allocation. */
34
+ @container (min-width: 64rem) {
27
35
  :where(.ly-root[data-ly-layout="bauhaus"])
28
36
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
29
37
  grid-template-areas:
@@ -37,10 +45,5 @@
37
45
  minmax(0, 1.3fr)
38
46
  minmax(min(100%, 18rem), 0.3fr);
39
47
  }
40
-
41
- :where(.ly-root[data-ly-layout="bauhaus"]) .ly-grid > :nth-child(3n + 1) {
42
- grid-column: span 2;
43
- grid-row: span 2;
44
- }
45
48
  }
46
49
  }
@@ -14,7 +14,21 @@
14
14
  min-inline-size: 0;
15
15
  }
16
16
 
17
- @container ly-personality (min-width: 48rem) {
17
+ @container (min-width: 48rem) {
18
+ :where(.ly-root[data-ly-layout="bento"]) .ly-grid > :nth-child(6n + 1) {
19
+ grid-column: span 2;
20
+ grid-row: span 2;
21
+ }
22
+
23
+ :where(.ly-root[data-ly-layout="bento"])
24
+ :where(.ly-card-grid, [data-ly-recipe="card-grid"])
25
+ > :nth-child(6n + 1) {
26
+ grid-column: span 2;
27
+ }
28
+ }
29
+
30
+ /* The three-track shell waits for a locally feasible allocation. */
31
+ @container (min-width: 64rem) {
18
32
  :where(.ly-root[data-ly-layout="bento"])
19
33
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
20
34
  grid-template-areas:
@@ -28,16 +42,5 @@
28
42
  minmax(0, 1fr)
29
43
  minmax(0, 1fr);
30
44
  }
31
-
32
- :where(.ly-root[data-ly-layout="bento"]) .ly-grid > :nth-child(6n + 1) {
33
- grid-column: span 2;
34
- grid-row: span 2;
35
- }
36
-
37
- :where(.ly-root[data-ly-layout="bento"])
38
- :where(.ly-card-grid, [data-ly-recipe="card-grid"])
39
- > :nth-child(6n + 1) {
40
- grid-column: span 2;
41
- }
42
45
  }
43
46
  }
@@ -15,7 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
+ :where(.ly-root[data-ly-layout="brutalism"]) .ly-grid > :nth-child(3n) {
20
+ grid-column: span 2;
21
+ }
22
+ }
23
+
24
+ /* The three-track shell waits for a locally feasible allocation. */
25
+ @container (min-width: 64rem) {
19
26
  :where(.ly-root[data-ly-layout="brutalism"])
20
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
28
  grid-template-areas:
@@ -28,9 +35,5 @@
28
35
  minmax(min(100%, 16rem), 0.7fr)
29
36
  minmax(min(100%, 18rem), 0.34fr);
30
37
  }
31
-
32
- :where(.ly-root[data-ly-layout="brutalism"]) .ly-grid > :nth-child(3n) {
33
- grid-column: span 2;
34
- }
35
38
  }
36
39
  }
@@ -15,7 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 44rem) {
18
+ @container (min-width: 44rem) {
19
+ :where(.ly-root[data-ly-layout="cyberpunk"]) .ly-grid > :nth-child(4n + 2) {
20
+ grid-column: span 3;
21
+ }
22
+ }
23
+
24
+ /* The three-track shell waits for a locally feasible allocation. */
25
+ @container (min-width: 64rem) {
19
26
  :where(.ly-root[data-ly-layout="cyberpunk"])
20
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
28
  grid-template-areas:
@@ -28,9 +35,5 @@
28
35
  minmax(0, 1fr)
29
36
  minmax(min(100%, 19rem), 0.32fr);
30
37
  }
31
-
32
- :where(.ly-root[data-ly-layout="cyberpunk"]) .ly-grid > :nth-child(4n + 2) {
33
- grid-column: span 3;
34
- }
35
38
  }
36
39
  }
@@ -15,14 +15,26 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="f-pattern"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-columns: minmax(min(100%, 16rem), 0.3fr) minmax(0, 1fr);
22
22
  }
23
23
  }
24
24
 
25
- @container ly-personality (min-width: 56rem) {
25
+ @container (min-width: 56rem) {
26
+ :where(.ly-root[data-ly-layout="f-pattern"]) .ly-grid > :nth-child(3n + 1) {
27
+ grid-column: span 2;
28
+ }
29
+
30
+ :where(.ly-root[data-ly-layout="f-pattern"])
31
+ :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
32
+ grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
33
+ }
34
+ }
35
+
36
+ /* The three-track shell waits for a locally feasible allocation. */
37
+ @container (min-width: 64rem) {
26
38
  :where(.ly-root[data-ly-layout="f-pattern"])
27
39
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
28
40
  grid-template-areas:
@@ -35,14 +47,5 @@
35
47
  minmax(0, 1.35fr)
36
48
  minmax(min(100%, 18rem), 0.65fr);
37
49
  }
38
-
39
- :where(.ly-root[data-ly-layout="f-pattern"]) .ly-grid > :nth-child(3n + 1) {
40
- grid-column: span 2;
41
- }
42
-
43
- :where(.ly-root[data-ly-layout="f-pattern"])
44
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
45
- grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
46
- }
47
50
  }
48
51
  }
@@ -14,14 +14,29 @@
14
14
  min-inline-size: 0;
15
15
  }
16
16
 
17
- @container ly-personality (min-width: 48rem) {
17
+ @container (min-width: 48rem) {
18
18
  :where(.ly-root[data-ly-layout="maximalist"])
19
19
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
20
20
  grid-template-columns: minmax(min(100%, 18rem), 0.3fr) minmax(0, 1fr);
21
21
  }
22
22
  }
23
23
 
24
- @container ly-personality (min-width: 56rem) {
24
+ @container (min-width: 56rem) {
25
+ :where(.ly-root[data-ly-layout="maximalist"]) .ly-grid > :nth-child(7n + 1) {
26
+ grid-column: span 3;
27
+ grid-row: span 2;
28
+ }
29
+
30
+ :where(.ly-root[data-ly-layout="maximalist"])
31
+ :where(.ly-gallery, [data-ly-recipe="gallery"])
32
+ > :nth-child(5n + 1) {
33
+ grid-column: span 2;
34
+ grid-row: span 2;
35
+ }
36
+ }
37
+
38
+ /* The four-track shell waits for a locally feasible allocation. */
39
+ @container (min-width: 64rem) {
25
40
  :where(.ly-root[data-ly-layout="maximalist"])
26
41
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
27
42
  grid-template-areas:
@@ -35,17 +50,5 @@
35
50
  minmax(min(100%, 15rem), 0.32fr)
36
51
  minmax(min(100%, 18rem), 0.38fr);
37
52
  }
38
-
39
- :where(.ly-root[data-ly-layout="maximalist"]) .ly-grid > :nth-child(7n + 1) {
40
- grid-column: span 3;
41
- grid-row: span 2;
42
- }
43
-
44
- :where(.ly-root[data-ly-layout="maximalist"])
45
- :where(.ly-gallery, [data-ly-recipe="gallery"])
46
- > :nth-child(5n + 1) {
47
- grid-column: span 2;
48
- grid-row: span 2;
49
- }
50
53
  }
51
54
  }
@@ -15,8 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- /* Named areas rearrange the shell without changing its mobile DOM or focus order. */
19
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
+ :where(.ly-root[data-ly-layout="minimal-saas"]) .ly-grid > :nth-child(4n + 1) {
20
+ grid-column: span 2;
21
+ }
22
+ }
23
+
24
+ /* The three-track shell waits for a locally feasible allocation. */
25
+ @container (min-width: 64rem) {
20
26
  :where(.ly-root[data-ly-layout="minimal-saas"])
21
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
22
28
  grid-template-areas:
@@ -29,9 +35,5 @@
29
35
  minmax(0, 1fr)
30
36
  minmax(min(100%, 16rem), 0.28fr);
31
37
  }
32
-
33
- :where(.ly-root[data-ly-layout="minimal-saas"]) .ly-grid > :nth-child(4n + 1) {
34
- grid-column: span 2;
35
- }
36
38
  }
37
39
  }
@@ -15,14 +15,22 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="mondrian"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-columns: minmax(min(100%, 13rem), 0.3fr) minmax(0, 1fr);
22
22
  }
23
23
  }
24
24
 
25
- @container ly-personality (min-width: 52rem) {
25
+ @container (min-width: 52rem) {
26
+ :where(.ly-root[data-ly-layout="mondrian"]) .ly-grid > :nth-child(5n + 1) {
27
+ grid-column: span 2;
28
+ grid-row: span 2;
29
+ }
30
+ }
31
+
32
+ /* The three-track shell waits for a locally feasible allocation. */
33
+ @container (min-width: 64rem) {
26
34
  :where(.ly-root[data-ly-layout="mondrian"])
27
35
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
28
36
  grid-template-areas:
@@ -35,10 +43,5 @@
35
43
  minmax(0, 1.45fr)
36
44
  minmax(min(100%, 18rem), 0.55fr);
37
45
  }
38
-
39
- :where(.ly-root[data-ly-layout="mondrian"]) .ly-grid > :nth-child(5n + 1) {
40
- grid-column: span 2;
41
- grid-row: span 2;
42
- }
43
46
  }
44
47
  }
@@ -15,14 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="neumorphism"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
22
22
  }
23
23
  }
24
24
 
25
- @container ly-personality (min-width: 52rem) {
25
+ @container (min-width: 52rem) {
26
26
  :where(.ly-root[data-ly-layout="neumorphism"])
27
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
28
28
  grid-template-areas:
@@ -15,14 +15,22 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="retro-glass"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-columns: minmax(min(100%, 18rem), 0.3fr) minmax(0, 1fr);
22
22
  }
23
23
  }
24
24
 
25
- @container ly-personality (min-width: 56rem) {
25
+ @container (min-width: 56rem) {
26
+ :where(.ly-root[data-ly-layout="retro-glass"]) .ly-grid > :nth-child(4n) {
27
+ grid-column: span 2;
28
+ grid-row: span 2;
29
+ }
30
+ }
31
+
32
+ /* The three-track shell waits for a locally feasible allocation. */
33
+ @container (min-width: 64rem) {
26
34
  :where(.ly-root[data-ly-layout="retro-glass"])
27
35
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
28
36
  grid-template-areas:
@@ -35,10 +43,5 @@
35
43
  minmax(0, 0.75fr)
36
44
  minmax(min(100%, 18rem), 0.32fr);
37
45
  }
38
-
39
- :where(.ly-root[data-ly-layout="retro-glass"]) .ly-grid > :nth-child(4n) {
40
- grid-column: span 2;
41
- grid-row: span 2;
42
- }
43
46
  }
44
47
  }
@@ -15,7 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
+ :where(.ly-root[data-ly-layout="retrofuturism"]) .ly-grid > :nth-child(6n + 1) {
20
+ grid-column: span 2;
21
+ }
22
+ }
23
+
24
+ /* The three-track shell waits for a locally feasible allocation. */
25
+ @container (min-width: 64rem) {
19
26
  :where(.ly-root[data-ly-layout="retrofuturism"])
20
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
28
  grid-template-areas:
@@ -28,9 +35,5 @@
28
35
  minmax(0, 1fr)
29
36
  minmax(min(100%, 17rem), 0.3fr);
30
37
  }
31
-
32
- :where(.ly-root[data-ly-layout="retrofuturism"]) .ly-grid > :nth-child(6n + 1) {
33
- grid-column: span 2;
34
- }
35
38
  }
36
39
  }
@@ -15,7 +15,7 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="split-screen"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-areas:
@@ -16,14 +16,14 @@
16
16
  min-inline-size: 0;
17
17
  }
18
18
 
19
- @container ly-personality (min-width: 48rem) {
19
+ @container (min-width: 48rem) {
20
20
  :where(.ly-root[data-ly-layout="synthwave"])
21
21
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
22
22
  grid-template-columns: minmax(min(100%, 16rem), 0.3fr) minmax(0, 1fr);
23
23
  }
24
24
  }
25
25
 
26
- @container ly-personality (min-width: 64rem) {
26
+ @container (min-width: 64rem) {
27
27
  :where(.ly-root[data-ly-layout="synthwave"])
28
28
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
29
29
  grid-template-areas:
@@ -15,7 +15,7 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="tactile"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-areas:
@@ -15,7 +15,14 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
+ :where(.ly-root[data-ly-layout="y2k"]) .ly-grid > :nth-child(5n + 1) {
20
+ grid-column: span 3;
21
+ }
22
+ }
23
+
24
+ /* The three-track shell waits for a locally feasible allocation. */
25
+ @container (min-width: 64rem) {
19
26
  :where(.ly-root[data-ly-layout="y2k"])
20
27
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
28
  grid-template-areas:
@@ -28,9 +35,5 @@
28
35
  minmax(0, 1fr)
29
36
  minmax(min(100%, 16rem), 0.28fr);
30
37
  }
31
-
32
- :where(.ly-root[data-ly-layout="y2k"]) .ly-grid > :nth-child(5n + 1) {
33
- grid-column: span 3;
34
- }
35
38
  }
36
39
  }
@@ -15,14 +15,27 @@
15
15
  min-inline-size: 0;
16
16
  }
17
17
 
18
- @container ly-personality (min-width: 48rem) {
18
+ @container (min-width: 48rem) {
19
19
  :where(.ly-root[data-ly-layout="z-pattern"])
20
20
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
21
21
  grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
22
22
  }
23
23
  }
24
24
 
25
- @container ly-personality (min-width: 60rem) {
25
+ @container (min-width: 60rem) {
26
+ :where(.ly-root[data-ly-layout="z-pattern"]) .ly-grid > :nth-child(4n + 2) {
27
+ grid-column: span 2;
28
+ align-self: end;
29
+ }
30
+
31
+ :where(.ly-root[data-ly-layout="z-pattern"])
32
+ :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
33
+ grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.5fr);
34
+ }
35
+ }
36
+
37
+ /* The three-track shell waits for a locally feasible allocation. */
38
+ @container (min-width: 64rem) {
26
39
  :where(.ly-root[data-ly-layout="z-pattern"])
27
40
  :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
28
41
  grid-template-areas:
@@ -35,15 +48,5 @@
35
48
  minmax(min(100%, 19rem), 0.55fr)
36
49
  minmax(min(100%, 17rem), 0.3fr);
37
50
  }
38
-
39
- :where(.ly-root[data-ly-layout="z-pattern"]) .ly-grid > :nth-child(4n + 2) {
40
- grid-column: span 2;
41
- align-self: end;
42
- }
43
-
44
- :where(.ly-root[data-ly-layout="z-pattern"])
45
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
46
- grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.5fr);
47
- }
48
51
  }
49
52
  }
package/dist/recipes.css CHANGED
@@ -239,8 +239,7 @@
239
239
  minmax(min(100%, var(--ly-recipe-aside)), 0.35fr);
240
240
  }
241
241
 
242
- :where(.ly-dashboard, [data-ly-recipe="dashboard"]),
243
- :where(.ly-docs, [data-ly-recipe="docs"]) {
242
+ :where(.ly-dashboard, [data-ly-recipe="dashboard"]) {
244
243
  grid-template-areas:
245
244
  "nav header header"
246
245
  "nav main aside"
@@ -251,6 +250,15 @@
251
250
  minmax(min(100%, var(--ly-recipe-aside)), 0.35fr);
252
251
  }
253
252
 
253
+ :where(.ly-docs, [data-ly-recipe="docs"]) {
254
+ grid-template-areas:
255
+ "nav header"
256
+ "nav main"
257
+ "nav aside"
258
+ "nav footer";
259
+ grid-template-columns: minmax(min(100%, var(--ly-recipe-rail)), auto) minmax(0, 1fr);
260
+ }
261
+
254
262
  :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
255
263
  grid-template-columns: minmax(min(100%, var(--ly-pane-size)), 0.45fr) minmax(0, 1fr);
256
264
  }
@@ -7,7 +7,7 @@ Layout Style CSS 2.0 provides structural layout without prescribing theme or com
7
7
  Node.js 20 or newer is required for development scripts.
8
8
 
9
9
  ```bash
10
- npm install layout-style-css@2.1.0
10
+ npm install layout-style-css@2.1.1
11
11
  ```
12
12
 
13
13
  ## Import
package/docs/wiki/Home.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Layout Style CSS Wiki
2
2
 
3
- Version 2.1.0 is a container-first, dependency-free layout library. It ships semantic wrappers, composition primitives, seven recipes, sixteen layout personalities, focused exports, a v2-only compatibility bundle, and refreshed ecosystem fixtures for UI Style Kit CSS 2.1 and Interactive Surface CSS 1.5.
3
+ Version 2.1.1 is a container-first, dependency-free layout library. It ships semantic wrappers, composition primitives, seven recipes, sixteen layout personalities, focused exports, a v2-only compatibility bundle, and refreshed ecosystem fixtures for UI Style Kit CSS 2.1 and Interactive Surface CSS 1.5.
4
4
 
5
5
  ## Start Here
6
6
 
@@ -28,6 +28,6 @@ The package has no runtime or peer dependencies. `ui-style-kit-css@2.1.0` and `i
28
28
 
29
29
  - Node.js 20 or newer for package development
30
30
  - Current evergreen Chromium, Firefox, and WebKit
31
- - Mobile-first DOM order with core thresholds at `48rem` and `64rem`, plus tested personality-specific overrides
31
+ - Mobile-first DOM order with core thresholds at `48rem` and `64rem`, nearest-container personality overrides, and `64rem` feasibility gates for three- and four-track application shells
32
32
 
33
33
  The deprecated UI structural bridge remains available for existing UI-prefixed layout aliases, but canonical 2.1 examples use UI Style Kit visual CSS, the UI token bridge, Interactive Surface `state-core.css`, and Layout core.
@@ -5,7 +5,7 @@ Layout Style CSS 2.0 is dependency-free and has no peer dependency contract. Nod
5
5
  ## npm
6
6
 
7
7
  ```bash
8
- npm install layout-style-css@2.1.0
8
+ npm install layout-style-css@2.1.1
9
9
  ```
10
10
 
11
11
  ## Focused Exports
@@ -57,8 +57,8 @@ The first import block is deprecated compatibility for legacy UI-prefixed struct
57
57
  Layout only:
58
58
 
59
59
  ```html
60
- <link rel="stylesheet" href="https://unpkg.com/layout-style-css@2.1.0/dist/layout-style-css.min.css">
61
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layout-style-css@2.1.0/dist/layout-style-css.min.css">
60
+ <link rel="stylesheet" href="https://unpkg.com/layout-style-css@2.1.1/dist/layout-style-css.min.css">
61
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layout-style-css@2.1.1/dist/layout-style-css.min.css">
62
62
  ```
63
63
 
64
64
  For optional companions, preserve the same order as the package imports: UI Style Kit visual CSS, UI Style Kit `interactive-surface-theme.css`, Interactive Surface 1.5.0 `state-core.css`, then Layout core. Load `layout-style-css/integrations/ui-style-kit.css` only for deprecated structural aliases.
@@ -36,7 +36,7 @@ Place regions in the order that makes sense on a narrow screen. The recipe uses
36
36
 
37
37
  ## Content And Media Recipes
38
38
 
39
- `docs` creates a documentation shell. `list-detail` arranges primary, secondary, and action regions. `split-hero` arranges content, media, and actions. `gallery` and `card-grid` create responsive repeated-item grids.
39
+ `docs` creates a documentation shell. At `64rem`, its navigation spans the left column while `header`, `main`, `aside`, and `footer` remain in source order and stack in the right column; Dashboard retains its three-column wide shell. `list-detail` arranges primary, secondary, and action regions. `split-hero` arranges content, media, and actions. `gallery` and `card-grid` create responsive repeated-item grids.
40
40
 
41
41
  ```html
42
42
  <section class="ly-split-hero" data-ly-recipe="split-hero">
@@ -27,7 +27,7 @@ V2 calls spatial styles “personalities” and selects them with the canonical
27
27
  | Mosaic | `maximalist` | Staggered editorial spans and broad measure. |
28
28
  | Equal split | `split-screen` | Two equally weighted primary regions. |
29
29
 
30
- Every personality changes at least two structural characteristics, such as area placement, shell direction, grid/span rhythm, wrapper measure, or responsive threshold. Personalities never set UI paint or change DOM order.
30
+ Every personality changes at least two structural characteristics, such as area placement, shell direction, grid/span rhythm, wrapper measure, or responsive threshold. Enhancements query the nearest inline-size container: grid rhythms retain their authored thresholds, safe two-track application shells retain their authored thresholds, and three- or four-track application shells wait until the local allocation reaches `64rem`. Personalities never set UI paint or change DOM order.
31
31
 
32
32
  The v1 `data-layout`, `layout-style`, `.ly-layout-*`, and `.ly-style-*` hooks are available only through `layout-style-css/legacy.css`. New code must use `data-ly-layout`.
33
33
 
@@ -13,7 +13,7 @@ Version 2.0 rebuilds Layout Style CSS as a container-first, dependency-free stru
13
13
  Install companions explicitly only when the application uses them:
14
14
 
15
15
  ```bash
16
- npm install layout-style-css@2.1.0
16
+ npm install layout-style-css@2.1.1
17
17
  npm install ui-style-kit-css@2.1.0 interactive-surface-css@1.5.0
18
18
  ```
19
19
 
@@ -1,12 +1,12 @@
1
1
  # Release And Publishing
2
2
 
3
- This checklist prepares `layout-style-css@2.1.0`. Publishing, tagging, pushing, and creating a GitHub release require separate explicit approval.
3
+ This checklist prepares `layout-style-css@2.1.1`. Publishing, tagging, pushing, and creating a GitHub release require separate explicit approval.
4
4
 
5
5
  ## Version Contract
6
6
 
7
- - `package.json` and `package-lock.json` identify `2.1.0`.
7
+ - `package.json` and `package-lock.json` identify `2.1.1`.
8
8
  - Node.js 20 and 22 pass standalone CI.
9
- - `CHANGELOG.md` contains the dated 2.1.0 release entry.
9
+ - `CHANGELOG.md` contains the dated 2.1.1 release entry.
10
10
  - README, migration guide, wiki, demo, exports, and tarball describe the same v2 API.
11
11
  - No peer or runtime dependencies are present.
12
12
 
@@ -39,22 +39,22 @@ git diff --check
39
39
 
40
40
  ## Tag And Version Validation
41
41
 
42
- The publish workflow checks out the selected tag and fails unless it equals `v${package.version}`. For this release the only valid tag is `v2.1.0`.
42
+ The publish workflow checks out the selected tag and fails unless it equals `v${package.version}`. For this release the only valid tag is `v2.1.1`.
43
43
 
44
44
  After separate approval, an operator may check registry availability:
45
45
 
46
46
  ```bash
47
- npm view layout-style-css@2.1.0 version --json
47
+ npm view layout-style-css@2.1.1 version --json
48
48
  ```
49
49
 
50
50
  The eventual release sequence is:
51
51
 
52
52
  ```bash
53
- git tag v2.1.0
54
- git push origin v2.1.0
53
+ git tag v2.1.1
54
+ git push origin v2.1.1
55
55
  ```
56
56
 
57
- Publishing the `v2.1.0` GitHub release triggers the npm workflow. A separately approved recovery run may use `release_tag` set to `v2.1.0`.
57
+ Publishing the `v2.1.1` GitHub release triggers the npm workflow. A separately approved recovery run may use `release_tag` set to `v2.1.1`.
58
58
 
59
59
  ## Workflow Safety
60
60
 
@@ -42,7 +42,7 @@ The removed v1 `.ly-surface--raised` selector is not restored by `legacy.css`; i
42
42
 
43
43
  | Library | Verified fixture | Consumer requirement |
44
44
  | --- | --- | --- |
45
- | Layout Style CSS | `2.1.0` | Required for this API |
45
+ | Layout Style CSS | `2.1.1` | Required for this API |
46
46
  | UI Style Kit CSS | `2.1.0` visual CSS and manifest | Optional released fixture |
47
47
  | Interactive Surface CSS | `1.5.0` `state-core.css` | Optional released fixture |
48
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "layout-style-css",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Dependency-free structural CSS for responsive wrappers, composition primitives, recipes, utilities, and layout personalities.",
5
5
  "type": "module",
6
6
  "license": "MIT",