layout-style-css 1.1.2 → 2.0.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 (110) hide show
  1. package/CHANGELOG.md +33 -8
  2. package/CONTRIBUTING.md +12 -7
  3. package/README.md +231 -636
  4. package/SECURITY.md +11 -6
  5. package/demo/demo.css +523 -0
  6. package/demo/demo.js +520 -0
  7. package/demo/index.html +323 -976
  8. package/demo/site.webmanifest +1 -1
  9. package/demo/sitemap.xml +1 -1
  10. package/dist/core.css +6 -0
  11. package/dist/{layout-ui-style-kit-bridge.css → integrations/ui-style-kit.css} +13 -8
  12. package/dist/layout-style-css.css +1473 -1903
  13. package/dist/layout-style-css.min.css +1 -1
  14. package/dist/legacy.css +787 -0
  15. package/dist/personalities/bauhaus.css +46 -0
  16. package/dist/personalities/bento.css +43 -0
  17. package/dist/personalities/brutalism.css +36 -0
  18. package/dist/personalities/cyberpunk.css +36 -0
  19. package/dist/personalities/f-pattern.css +48 -0
  20. package/dist/personalities/maximalist.css +51 -0
  21. package/dist/personalities/minimal-saas.css +37 -0
  22. package/dist/personalities/mondrian.css +44 -0
  23. package/dist/personalities/neumorphism.css +46 -0
  24. package/dist/personalities/retro-glass.css +44 -0
  25. package/dist/personalities/retrofuturism.css +36 -0
  26. package/dist/personalities/split-screen.css +41 -0
  27. package/dist/personalities/synthwave.css +48 -0
  28. package/dist/personalities/tactile.css +39 -0
  29. package/dist/personalities/y2k.css +36 -0
  30. package/dist/personalities/z-pattern.css +49 -0
  31. package/dist/personalities.css +18 -0
  32. package/dist/primitives.css +219 -0
  33. package/dist/recipes.css +270 -0
  34. package/dist/utilities.css +162 -0
  35. package/dist/wrappers.css +174 -0
  36. package/docs/wiki/Contributing.md +36 -30
  37. package/docs/wiki/Demo-And-GitHub-Pages.md +53 -39
  38. package/docs/wiki/Getting-Started.md +51 -68
  39. package/docs/wiki/Home.md +33 -48
  40. package/docs/wiki/Installation-And-CDN.md +73 -58
  41. package/docs/wiki/Layout-Primitives.md +48 -57
  42. package/docs/wiki/Layout-Recipes.md +49 -80
  43. package/docs/wiki/Layout-Styles.md +33 -43
  44. package/docs/wiki/Migrating-To-2.0.md +186 -0
  45. package/docs/wiki/Release-And-Publishing.md +75 -69
  46. package/docs/wiki/Security-And-Support.md +36 -34
  47. package/docs/wiki/UI-Style-Kit-Compatibility.md +50 -54
  48. package/docs/wiki/_Sidebar.md +15 -14
  49. package/package.json +36 -45
  50. package/styles/core.css +6 -0
  51. package/styles/{layout-ui-style-kit-bridge.css → integrations/ui-style-kit.css} +13 -8
  52. package/styles/legacy.css +173 -0
  53. package/styles/personalities/bauhaus.css +46 -0
  54. package/styles/personalities/bento.css +43 -0
  55. package/styles/personalities/brutalism.css +36 -0
  56. package/styles/personalities/cyberpunk.css +36 -0
  57. package/styles/personalities/f-pattern.css +48 -0
  58. package/styles/personalities/maximalist.css +51 -0
  59. package/styles/personalities/minimal-saas.css +37 -0
  60. package/styles/personalities/mondrian.css +44 -0
  61. package/styles/personalities/neumorphism.css +46 -0
  62. package/styles/personalities/retro-glass.css +44 -0
  63. package/styles/personalities/retrofuturism.css +36 -0
  64. package/styles/personalities/split-screen.css +41 -0
  65. package/styles/personalities/synthwave.css +48 -0
  66. package/styles/personalities/tactile.css +39 -0
  67. package/styles/personalities/y2k.css +36 -0
  68. package/styles/personalities/z-pattern.css +49 -0
  69. package/styles/personalities.css +18 -0
  70. package/styles/primitives.css +219 -0
  71. package/styles/recipes.css +270 -0
  72. package/styles/utilities.css +162 -0
  73. package/styles/wrappers.css +174 -0
  74. package/dist/layout-all-with-ui-kit-and-interactive-surface.css +0 -3
  75. package/dist/layout-all-with-ui-kit.css +0 -2
  76. package/dist/layout-all.css +0 -18
  77. package/dist/layout-base.css +0 -539
  78. package/dist/layout-style-bauhaus.css +0 -70
  79. package/dist/layout-style-bento.css +0 -76
  80. package/dist/layout-style-brutalism.css +0 -70
  81. package/dist/layout-style-cyberpunk.css +0 -70
  82. package/dist/layout-style-f-pattern.css +0 -76
  83. package/dist/layout-style-maximalist.css +0 -93
  84. package/dist/layout-style-minimal-saas.css +0 -67
  85. package/dist/layout-style-mondrian.css +0 -77
  86. package/dist/layout-style-neumorphism.css +0 -72
  87. package/dist/layout-style-retro-glass.css +0 -82
  88. package/dist/layout-style-retrofuturism.css +0 -71
  89. package/dist/layout-style-split-screen.css +0 -62
  90. package/dist/layout-style-synthwave.css +0 -88
  91. package/dist/layout-style-tactile.css +0 -70
  92. package/dist/layout-style-y2k.css +0 -72
  93. package/dist/layout-style-z-pattern.css +0 -76
  94. package/styles/layout-base.css +0 -539
  95. package/styles/layout-style-bauhaus.css +0 -70
  96. package/styles/layout-style-bento.css +0 -76
  97. package/styles/layout-style-brutalism.css +0 -70
  98. package/styles/layout-style-cyberpunk.css +0 -70
  99. package/styles/layout-style-f-pattern.css +0 -76
  100. package/styles/layout-style-maximalist.css +0 -93
  101. package/styles/layout-style-minimal-saas.css +0 -67
  102. package/styles/layout-style-mondrian.css +0 -77
  103. package/styles/layout-style-neumorphism.css +0 -72
  104. package/styles/layout-style-retro-glass.css +0 -82
  105. package/styles/layout-style-retrofuturism.css +0 -71
  106. package/styles/layout-style-split-screen.css +0 -62
  107. package/styles/layout-style-synthwave.css +0 -88
  108. package/styles/layout-style-tactile.css +0 -70
  109. package/styles/layout-style-y2k.css +0 -72
  110. package/styles/layout-style-z-pattern.css +0 -76
@@ -1,71 +0,0 @@
1
- /*
2
- Layout style: retrofuturism.
3
- Panoramic bridge shell with symmetric pods and a wide central stage. Visual
4
- identity remains owned by ui-style-kit-css.
5
- */
6
-
7
- @layer ly.styles.retrofuturism {
8
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) {
9
- --ly-container-max: 110rem;
10
- --ly-page-padding-inline: clamp(1rem, 4vw, 4rem);
11
- --ly-section-padding-block: clamp(3rem, 8vw, 7rem);
12
- --ly-sidebar-width: clamp(12rem, 14vw, 16rem);
13
- --ly-grid-min: 15rem;
14
- --ly-gap: clamp(1rem, 3vw, 2.5rem);
15
- --ly-grid-gap: var(--ly-gap);
16
- --ly-stack-gap: clamp(1rem, 2.4vw, 2rem);
17
- }
18
-
19
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-app-main {
20
- padding-block: clamp(1.5rem, 4vw, 3rem);
21
- }
22
-
23
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-container,
24
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-wrapper {
25
- width: min(100% - var(--ly-page-padding-inline), var(--ly-container-max));
26
- }
27
-
28
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-section {
29
- padding-block: var(--ly-section-padding-block);
30
- }
31
-
32
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-grid--auto {
33
- grid-auto-rows: minmax(8rem, auto);
34
- }
35
-
36
- @media (min-width: 56rem) {
37
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-app-shell {
38
- grid-template-areas:
39
- "header header header"
40
- "sidebar main main";
41
- grid-template-columns: minmax(min(100%, 12rem), 0.24fr) minmax(0, 1fr) minmax(min(100%, 12rem), 0.24fr);
42
- }
43
-
44
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-app-sidebar {
45
- display: block;
46
- position: sticky;
47
- top: clamp(1rem, 2vw, 1.5rem);
48
- height: calc(100svh - clamp(2rem, 4vw, 3rem));
49
- margin: clamp(1rem, 2vw, 1.5rem) 0 clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem);
50
- overflow: auto;
51
- }
52
-
53
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-sidebar-layout {
54
- grid-template-columns: minmax(min(100%, 12rem), 0.32fr) minmax(0, 1fr);
55
- }
56
-
57
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-split {
58
- grid-template-columns: minmax(0, 1.35fr) minmax(min(100%, 16rem), 0.65fr);
59
- }
60
-
61
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-panes--two {
62
- grid-template-columns: minmax(min(100%, 14rem), 0.44fr) minmax(0, 1.2fr);
63
- }
64
- }
65
-
66
- @media (min-width: 80rem) {
67
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-panes--three {
68
- grid-template-columns: minmax(min(100%, 12rem), 0.44fr) minmax(0, 1.4fr) minmax(min(100%, 12rem), 0.44fr);
69
- }
70
- }
71
- }
@@ -1,62 +0,0 @@
1
- /*
2
- Layout style: split-screen.
3
- Equal-weight shell columns for contrasting focal points or side-by-side
4
- choices. Visual identity remains owned by ui-style-kit-css.
5
- */
6
-
7
- @layer ly.styles.split_screen {
8
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) {
9
- --ly-container-max: 100vw;
10
- --ly-page-padding-inline: clamp(0.875rem, 2.5vw, 2rem);
11
- --ly-section-padding-block: clamp(1.5rem, 4vw, 3.5rem);
12
- --ly-sidebar-width: 50vw;
13
- --ly-grid-min: 14rem;
14
- --ly-gap: clamp(0.875rem, 2vw, 1.5rem);
15
- --ly-grid-gap: var(--ly-gap);
16
- --ly-stack-gap: clamp(0.875rem, 1.6vw, 1.25rem);
17
- }
18
-
19
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-app-main {
20
- padding-block: 0;
21
- }
22
-
23
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-container,
24
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-wrapper {
25
- width: min(100%, var(--ly-container-max));
26
- }
27
-
28
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-section {
29
- padding-block: var(--ly-section-padding-block);
30
- }
31
-
32
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-grid--auto {
33
- grid-auto-rows: minmax(9rem, auto);
34
- }
35
-
36
- @media (min-width: 48rem) {
37
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-app-shell {
38
- grid-template-areas:
39
- "header header"
40
- "main sidebar";
41
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
42
- }
43
-
44
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-app-sidebar {
45
- display: block;
46
- min-height: 100%;
47
- overflow: auto;
48
- }
49
-
50
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-sidebar-layout,
51
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-split,
52
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-panes--two {
53
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
54
- }
55
- }
56
-
57
- @media (min-width: 80rem) {
58
- :where(.ly-root[data-layout="split-screen"], .ly-root[layout-style="split-screen"], .ly-root.ly-layout-split-screen, .ly-root.ly-style-split-screen) .ly-panes--three {
59
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
60
- }
61
- }
62
- }
@@ -1,88 +0,0 @@
1
- /*
2
- Layout style: synthwave.
3
- Wide stage, dock-like support areas, and cinematic horizontal flow inspired
4
- by retro-futuristic interface composition. Visual identity remains owned by
5
- ui-style-kit-css.
6
- */
7
-
8
- @layer ly.styles.synthwave {
9
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) {
10
- --ly-container-max: 112rem;
11
- --ly-page-padding-inline: clamp(1rem, 4vw, 3.5rem);
12
- --ly-section-padding-block: clamp(2.5rem, 7vw, 6rem);
13
- --ly-sidebar-width: clamp(14rem, 18vw, 20rem);
14
- --ly-grid-min: 14rem;
15
- --ly-gap: clamp(1rem, 2.8vw, 2.25rem);
16
- --ly-grid-gap: var(--ly-gap);
17
- --ly-stack-gap: clamp(1rem, 2.2vw, 1.8rem);
18
- --ly-carousel-item-min: 18rem;
19
- --ly-carousel-item-max: 34rem;
20
- }
21
-
22
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-app-main {
23
- padding-block: clamp(1rem, 3vw, 3rem);
24
- }
25
-
26
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-container,
27
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-wrapper {
28
- width: min(100% - var(--ly-page-padding-inline), var(--ly-container-max));
29
- }
30
-
31
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-section {
32
- padding-block: var(--ly-section-padding-block);
33
- }
34
-
35
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-grid--auto {
36
- grid-auto-rows: minmax(9rem, auto);
37
- }
38
-
39
- @media (min-width: 48rem) {
40
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-app-shell {
41
- grid-template-areas:
42
- "header header"
43
- "main main"
44
- "sidebar sidebar";
45
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
46
- }
47
-
48
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-app-sidebar {
49
- display: block;
50
- overflow: auto;
51
- }
52
-
53
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-sidebar-layout {
54
- grid-template-columns: minmax(0, 1.2fr) minmax(min(100%, 17rem), 0.8fr);
55
- }
56
-
57
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-split {
58
- grid-template-columns: minmax(0, 1fr);
59
- }
60
-
61
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-panes--two {
62
- grid-template-columns: minmax(0, 1.35fr) minmax(min(100%, 17rem), 0.65fr);
63
- }
64
- }
65
-
66
- @media (min-width: 80rem) {
67
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-app-shell {
68
- grid-template-areas:
69
- "header header"
70
- "main sidebar";
71
- grid-template-columns: minmax(0, 1.52fr) minmax(min(100%, 17rem), 0.48fr);
72
- }
73
-
74
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-app-sidebar {
75
- position: sticky;
76
- top: var(--ly-space-5);
77
- height: calc(100svh - (var(--ly-space-5) * 2));
78
- }
79
-
80
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-split {
81
- grid-template-columns: minmax(0, 1.42fr) minmax(min(100%, 20rem), 0.58fr);
82
- }
83
-
84
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-panes--three {
85
- grid-template-columns: minmax(min(100%, 14rem), 0.36fr) minmax(0, 1.28fr) minmax(min(100%, 16rem), 0.36fr);
86
- }
87
- }
88
- }
@@ -1,70 +0,0 @@
1
- /*
2
- Layout style: tactile.
3
- Instrument-panel shell with a heavier support dock and dense controls. Visual
4
- identity remains owned by ui-style-kit-css.
5
- */
6
-
7
- @layer ly.styles.tactile {
8
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) {
9
- --ly-container-max: 98rem;
10
- --ly-page-padding-inline: clamp(1rem, 3vw, 2.75rem);
11
- --ly-section-padding-block: clamp(2rem, 5vw, 4rem);
12
- --ly-sidebar-width: clamp(18rem, 22vw, 24rem);
13
- --ly-grid-min: 15rem;
14
- --ly-gap: clamp(1rem, 2.2vw, 1.75rem);
15
- --ly-grid-gap: var(--ly-gap);
16
- --ly-stack-gap: clamp(1rem, 2vw, 1.75rem);
17
- }
18
-
19
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-app-main {
20
- padding-block: clamp(1rem, 2.5vw, 2rem);
21
- }
22
-
23
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-container,
24
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-wrapper {
25
- width: min(100% - var(--ly-page-padding-inline), var(--ly-container-max));
26
- }
27
-
28
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-section {
29
- padding-block: var(--ly-section-padding-block);
30
- }
31
-
32
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-grid--auto {
33
- grid-auto-rows: minmax(8rem, auto);
34
- }
35
-
36
- @media (min-width: 48rem) {
37
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-app-shell {
38
- grid-template-areas:
39
- "sidebar header"
40
- "sidebar main";
41
- grid-template-columns: minmax(min(100%, 18rem), var(--ly-sidebar-width)) minmax(0, 1fr);
42
- }
43
-
44
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-app-sidebar {
45
- display: block;
46
- position: sticky;
47
- top: 0;
48
- height: 100svh;
49
- overflow: auto;
50
- }
51
-
52
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-sidebar-layout {
53
- grid-template-columns: minmax(min(100%, 18rem), 0.42fr) minmax(0, 1fr);
54
- }
55
-
56
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-split {
57
- grid-template-columns: minmax(0, 1.18fr) minmax(min(100%, 18rem), 0.82fr);
58
- }
59
-
60
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-panes--two {
61
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, 20rem), 0.62fr);
62
- }
63
- }
64
-
65
- @media (min-width: 80rem) {
66
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-panes--three {
67
- grid-template-columns: minmax(min(100%, 17rem), 0.4fr) minmax(0, 1fr) minmax(min(100%, 18rem), 0.46fr);
68
- }
69
- }
70
- }
@@ -1,72 +0,0 @@
1
- /*
2
- Layout style: y2k.
3
- Centered hub shell with floating-window rhythm and in-flow support regions.
4
- Visual identity remains owned by ui-style-kit-css.
5
- */
6
-
7
- @layer ly.styles.y2k {
8
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) {
9
- --ly-container-max: 84rem;
10
- --ly-page-padding-inline: clamp(1rem, 5vw, 4rem);
11
- --ly-section-padding-block: clamp(3rem, 8vw, 6rem);
12
- --ly-sidebar-width: clamp(17rem, 22vw, 21rem);
13
- --ly-grid-min: 16rem;
14
- --ly-gap: clamp(1.25rem, 3vw, 2.5rem);
15
- --ly-grid-gap: var(--ly-gap);
16
- --ly-stack-gap: clamp(1rem, 2.5vw, 2rem);
17
- }
18
-
19
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-app-main {
20
- padding-block: clamp(2rem, 6vw, 4rem);
21
- }
22
-
23
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-container,
24
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-wrapper {
25
- width: min(100% - var(--ly-page-padding-inline), var(--ly-container-max));
26
- }
27
-
28
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-section {
29
- padding-block: var(--ly-section-padding-block);
30
- }
31
-
32
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-grid--auto {
33
- grid-auto-rows: minmax(8rem, auto);
34
- }
35
-
36
- @media (min-width: 54rem) {
37
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-app-shell {
38
- grid-template-areas:
39
- "header header"
40
- "main sidebar";
41
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, 17rem), 0.34fr);
42
- align-items: start;
43
- }
44
-
45
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-app-sidebar {
46
- display: block;
47
- position: sticky;
48
- top: clamp(1rem, 4vw, 3rem);
49
- max-height: calc(100svh - clamp(2rem, 8vw, 6rem));
50
- margin: clamp(3rem, 8vw, 6rem) clamp(1rem, 5vw, 3rem) clamp(2rem, 6vw, 4rem) 0;
51
- overflow: auto;
52
- }
53
-
54
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-sidebar-layout {
55
- grid-template-columns: minmax(0, 0.92fr) minmax(min(100%, 16rem), 1.08fr);
56
- }
57
-
58
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-split {
59
- grid-template-columns: minmax(0, 0.86fr) minmax(min(100%, 18rem), 1.14fr);
60
- }
61
-
62
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-panes--two {
63
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, 17rem), 0.56fr);
64
- }
65
- }
66
-
67
- @media (min-width: 80rem) {
68
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-panes--three {
69
- grid-template-columns: minmax(min(100%, 16rem), 0.5fr) minmax(0, 1fr) minmax(min(100%, 16rem), 0.5fr);
70
- }
71
- }
72
- }
@@ -1,76 +0,0 @@
1
- /*
2
- Layout style: z-pattern.
3
- Header-first scan path that moves from broad lead content to a right-side
4
- support rail. Visual identity remains owned by ui-style-kit-css.
5
- */
6
-
7
- @layer ly.styles.z_pattern {
8
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) {
9
- --ly-container-max: 100rem;
10
- --ly-page-padding-inline: clamp(1rem, 3.4vw, 3rem);
11
- --ly-section-padding-block: clamp(2rem, 5.5vw, 5rem);
12
- --ly-sidebar-width: clamp(14rem, 20vw, 21rem);
13
- --ly-grid-min: 15rem;
14
- --ly-gap: clamp(1rem, 2.4vw, 2rem);
15
- --ly-grid-gap: var(--ly-gap);
16
- --ly-stack-gap: clamp(0.875rem, 1.9vw, 1.5rem);
17
- }
18
-
19
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-app-main {
20
- padding-block: clamp(1rem, 2.6vw, 2.5rem);
21
- }
22
-
23
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-container,
24
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-wrapper {
25
- width: min(100% - var(--ly-page-padding-inline), var(--ly-container-max));
26
- }
27
-
28
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-section {
29
- padding-block: var(--ly-section-padding-block);
30
- }
31
-
32
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-grid--auto {
33
- grid-auto-rows: minmax(8rem, auto);
34
- }
35
-
36
- @media (min-width: 48rem) {
37
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-app-shell {
38
- grid-template-areas:
39
- "header header"
40
- "main sidebar";
41
- grid-template-columns: minmax(0, 1.18fr) minmax(min(100%, 15rem), 0.42fr);
42
- }
43
-
44
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-app-sidebar {
45
- display: block;
46
- position: sticky;
47
- top: var(--ly-space-4);
48
- height: calc(100svh - (var(--ly-space-4) * 2));
49
- overflow: auto;
50
- }
51
-
52
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-grid--auto > :nth-child(4n + 2) {
53
- grid-column: span 2;
54
- min-height: 12rem;
55
- }
56
-
57
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-sidebar-layout {
58
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, 15rem), 0.36fr);
59
- }
60
-
61
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-split {
62
- grid-template-columns: minmax(0, 0.92fr) minmax(min(100%, 19rem), 1.08fr);
63
- align-items: end;
64
- }
65
-
66
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-panes--two {
67
- grid-template-columns: minmax(0, 1.25fr) minmax(min(100%, 17rem), 0.75fr);
68
- }
69
- }
70
-
71
- @media (min-width: 80rem) {
72
- :where(.ly-root[data-layout="z-pattern"], .ly-root[layout-style="z-pattern"], .ly-root.ly-layout-z-pattern, .ly-root.ly-style-z-pattern) .ly-panes--three {
73
- grid-template-columns: minmax(0, 1.1fr) minmax(min(100%, 15rem), 0.55fr) minmax(min(100%, 14rem), 0.35fr);
74
- }
75
- }
76
- }