layout-style-css 2.1.1 → 3.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 (79) hide show
  1. package/README.md +124 -145
  2. package/dist/core.css +2 -1
  3. package/dist/foundation.css +194 -0
  4. package/dist/layout-style-css.css +527 -984
  5. package/dist/layout-style-css.min.css +1 -1
  6. package/dist/personalities/bauhaus.css +13 -42
  7. package/dist/personalities/bento.css +16 -40
  8. package/dist/personalities/brutalism.css +13 -33
  9. package/dist/personalities/cyberpunk.css +12 -32
  10. package/dist/personalities/f-pattern.css +16 -45
  11. package/dist/personalities/maximalist.css +16 -48
  12. package/dist/personalities/minimal-saas.css +7 -33
  13. package/dist/personalities/mondrian.css +12 -40
  14. package/dist/personalities/neumorphism.css +15 -39
  15. package/dist/personalities/retro-glass.css +14 -42
  16. package/dist/personalities/retrofuturism.css +12 -32
  17. package/dist/personalities/split-screen.css +24 -36
  18. package/dist/personalities/synthwave.css +13 -41
  19. package/dist/personalities/tactile.css +15 -32
  20. package/dist/personalities/y2k.css +13 -33
  21. package/dist/personalities/z-pattern.css +16 -46
  22. package/dist/personalities.css +1 -1
  23. package/dist/primitives.css +27 -63
  24. package/dist/recipes.css +92 -175
  25. package/dist/utilities.css +39 -104
  26. package/dist/wrappers.css +28 -108
  27. package/package.json +12 -24
  28. package/CHANGELOG.md +0 -107
  29. package/CONTRIBUTING.md +0 -55
  30. package/SECURITY.md +0 -50
  31. package/demo/assets/apple-touch-icon.svg +0 -7
  32. package/demo/assets/favicon.svg +0 -7
  33. package/demo/assets/social-card.png +0 -0
  34. package/demo/browserconfig.xml +0 -9
  35. package/demo/demo.css +0 -523
  36. package/demo/demo.js +0 -605
  37. package/demo/index.html +0 -325
  38. package/demo/robots.txt +0 -4
  39. package/demo/site.webmanifest +0 -23
  40. package/demo/sitemap.xml +0 -9
  41. package/dist/integrations/ui-style-kit.css +0 -175
  42. package/dist/legacy.css +0 -822
  43. package/docs/wiki/Contributing.md +0 -36
  44. package/docs/wiki/Demo-And-GitHub-Pages.md +0 -53
  45. package/docs/wiki/Getting-Started.md +0 -51
  46. package/docs/wiki/Home.md +0 -33
  47. package/docs/wiki/Installation-And-CDN.md +0 -72
  48. package/docs/wiki/Layout-Primitives.md +0 -48
  49. package/docs/wiki/Layout-Recipes.md +0 -49
  50. package/docs/wiki/Layout-Styles.md +0 -33
  51. package/docs/wiki/Migrating-To-2.0.md +0 -186
  52. package/docs/wiki/Release-And-Publishing.md +0 -77
  53. package/docs/wiki/Security-And-Support.md +0 -36
  54. package/docs/wiki/UI-Style-Kit-Compatibility.md +0 -49
  55. package/docs/wiki/_Sidebar.md +0 -15
  56. package/styles/core.css +0 -6
  57. package/styles/integrations/ui-style-kit.css +0 -175
  58. package/styles/legacy.css +0 -173
  59. package/styles/personalities/bauhaus.css +0 -49
  60. package/styles/personalities/bento.css +0 -46
  61. package/styles/personalities/brutalism.css +0 -39
  62. package/styles/personalities/cyberpunk.css +0 -39
  63. package/styles/personalities/f-pattern.css +0 -51
  64. package/styles/personalities/maximalist.css +0 -54
  65. package/styles/personalities/minimal-saas.css +0 -39
  66. package/styles/personalities/mondrian.css +0 -47
  67. package/styles/personalities/neumorphism.css +0 -46
  68. package/styles/personalities/retro-glass.css +0 -47
  69. package/styles/personalities/retrofuturism.css +0 -39
  70. package/styles/personalities/split-screen.css +0 -41
  71. package/styles/personalities/synthwave.css +0 -48
  72. package/styles/personalities/tactile.css +0 -39
  73. package/styles/personalities/y2k.css +0 -39
  74. package/styles/personalities/z-pattern.css +0 -52
  75. package/styles/personalities.css +0 -18
  76. package/styles/primitives.css +0 -219
  77. package/styles/recipes.css +0 -278
  78. package/styles/utilities.css +0 -162
  79. package/styles/wrappers.css +0 -174
package/dist/legacy.css DELETED
@@ -1,822 +0,0 @@
1
- @layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities, ly.integrations, ly.legacy;
2
-
3
- @import url("./layout-style-css.css");
4
-
5
- @layer ly.legacy {
6
- /* Preserve v1 wrapper measures while applications migrate to semantic v2 names. */
7
- .ly-container {
8
- container-name: ly-wrapper;
9
- container-type: inline-size;
10
- width: min(100% - (var(--ly-page-padding-inline) * 2), var(--ly-container-max));
11
- margin-inline: auto;
12
- }
13
-
14
- .ly-container--sm,
15
- .ly-wrapper--sm {
16
- --ly-container-max: var(--ly-container-sm);
17
- --ly-wrapper-max: 40rem;
18
- }
19
-
20
- .ly-container--md,
21
- .ly-wrapper--md {
22
- --ly-container-max: var(--ly-container-md);
23
- --ly-wrapper-max: 56rem;
24
- }
25
-
26
- .ly-container--lg,
27
- .ly-wrapper--lg {
28
- --ly-container-max: var(--ly-container-lg);
29
- --ly-wrapper-max: 72rem;
30
- }
31
-
32
- .ly-container--xl,
33
- .ly-wrapper--xl {
34
- --ly-container-max: var(--ly-container-xl);
35
- --ly-wrapper-max: 88rem;
36
- }
37
-
38
- .ly-container--wide {
39
- --ly-container-max: var(--ly-container-wide);
40
- }
41
-
42
- .ly-container--fluid {
43
- width: 100%;
44
- max-width: none;
45
- padding-inline: var(--ly-wrapper-gutter);
46
- }
47
-
48
- .ly-wrapper--fluid {
49
- --ly-wrapper-max: 100%;
50
- }
51
-
52
- .ly-wrapper--readable {
53
- --ly-wrapper-max: 68ch;
54
- }
55
-
56
- .ly-row {
57
- display: flex;
58
- flex-wrap: wrap;
59
- /* Outer compensation preserves exact percentage tracks while columns own gutters. */
60
- margin-inline: calc(var(--ly-gutter, var(--ly-gap)) * -0.5);
61
- }
62
-
63
- .ly-col {
64
- flex: 1 1 0;
65
- min-inline-size: 0;
66
- padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5);
67
- }
68
-
69
- .ly-col-1 { flex: 0 0 auto; width: 8.333333%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
70
- .ly-col-2 { flex: 0 0 auto; width: 16.666667%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
71
- .ly-col-3 { flex: 0 0 auto; width: 25%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
72
- .ly-col-4 { flex: 0 0 auto; width: 33.333333%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
73
- .ly-col-5 { flex: 0 0 auto; width: 41.666667%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
74
- .ly-col-6 { flex: 0 0 auto; width: 50%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
75
- .ly-col-7 { flex: 0 0 auto; width: 58.333333%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
76
- .ly-col-8 { flex: 0 0 auto; width: 66.666667%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
77
- .ly-col-9 { flex: 0 0 auto; width: 75%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
78
- .ly-col-10 { flex: 0 0 auto; width: 83.333333%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
79
- .ly-col-11 { flex: 0 0 auto; width: 91.666667%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
80
- .ly-col-12 { flex: 0 0 auto; width: 100%; padding-inline: calc(var(--ly-gutter, var(--ly-gap)) * 0.5); }
81
-
82
- .ly-carousel {
83
- display: grid;
84
- grid-auto-flow: column;
85
- grid-auto-columns: minmax(min(100%, var(--ly-reel-item-min)), var(--ly-reel-item-max));
86
- gap: var(--ly-grid-gap);
87
- overflow-x: auto;
88
- overflow-inline: auto;
89
- overscroll-behavior-inline: contain;
90
- scroll-snap-type: inline proximity;
91
- }
92
-
93
- .ly-carousel > * {
94
- min-inline-size: 0;
95
- scroll-snap-align: start;
96
- }
97
-
98
- .ly-button-group {
99
- display: flex;
100
- flex-wrap: wrap;
101
- align-items: center;
102
- gap: var(--ly-cluster-gap);
103
- }
104
-
105
- .ly-button-group > * {
106
- flex: 0 1 auto;
107
- min-inline-size: min(100%, var(--ly-button-min, 8rem));
108
- }
109
-
110
- .ly-sidebar-layout {
111
- display: grid;
112
- grid-template-columns: minmax(0, 1fr);
113
- gap: var(--ly-gap);
114
- }
115
-
116
- .ly-sidebar-layout > * {
117
- min-inline-size: 0;
118
- }
119
-
120
- .ly-content {
121
- min-inline-size: 0;
122
- }
123
-
124
- .ly-divider {
125
- /* V2 preserves separator geometry here; themes remain responsible for visible paint. */
126
- min-block-size: 1px;
127
- margin-block: var(--ly-space-5);
128
- }
129
-
130
- .ly-card-sm { min-block-size: var(--ly-card-size-sm); }
131
- .ly-card-md { min-block-size: var(--ly-card-size-md); }
132
- .ly-card-lg { min-block-size: var(--ly-card-size-lg); }
133
-
134
- .ly-scroll-area {
135
- min-block-size: 0;
136
- max-block-size: var(--ly-scroll-max);
137
- overflow: auto;
138
- overscroll-behavior: contain;
139
- }
140
-
141
- .ly-app-header { grid-area: header; min-inline-size: 0; }
142
- .ly-app-sidebar { grid-area: sidebar; min-inline-size: 0; }
143
- .ly-app-main { grid-area: main; min-inline-size: 0; }
144
- .ly-app-aside { grid-area: aside; min-inline-size: 0; }
145
- .ly-app-footer { grid-area: footer; min-inline-size: 0; }
146
-
147
- /* The build expands canonical personality rules into functional v1 aliases here. */
148
- /* V1 personality aliases for minimal-saas; generated from the canonical v2 source. */
149
- :where(.ly-root[data-layout="minimal-saas"], .ly-root[layout-style="minimal-saas"], .ly-root.ly-layout-minimal-saas, .ly-root.ly-style-minimal-saas) {
150
- --ly-recipe-rail: 15rem;
151
- --ly-recipe-aside: 16rem;
152
- --ly-grid-columns: 4;
153
- --ly-grid-min: 16rem;
154
- --ly-personality-wrapper-max: 88rem;
155
-
156
- container-name: ly-personality;
157
- container-type: inline-size;
158
- min-inline-size: 0;
159
- }
160
-
161
- @container (min-width: 48rem) {
162
- :where(.ly-root[data-layout="minimal-saas"], .ly-root[layout-style="minimal-saas"], .ly-root.ly-layout-minimal-saas, .ly-root.ly-style-minimal-saas) .ly-grid > :nth-child(4n + 1) {
163
- grid-column: span 2;
164
- }
165
- }
166
-
167
- /* The three-track shell waits for a locally feasible allocation. */
168
- @container (min-width: 64rem) {
169
- :where(.ly-root[data-layout="minimal-saas"], .ly-root[layout-style="minimal-saas"], .ly-root.ly-layout-minimal-saas, .ly-root.ly-style-minimal-saas)
170
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
171
- grid-template-areas:
172
- "sidebar header header"
173
- "sidebar main aside"
174
- "sidebar footer footer";
175
- grid-template-rows: auto minmax(0, 1fr) auto;
176
- grid-template-columns:
177
- minmax(min(100%, 15rem), 0.24fr)
178
- minmax(0, 1fr)
179
- minmax(min(100%, 16rem), 0.28fr);
180
- }
181
- }
182
-
183
- /* V1 personality aliases for bento; generated from the canonical v2 source. */
184
- :where(.ly-root[data-layout="bento"], .ly-root[layout-style="bento"], .ly-root.ly-layout-bento, .ly-root.ly-style-bento) {
185
- --ly-grid-columns: 6;
186
- --ly-grid-min: 12rem;
187
- --ly-card-grid-min: 13rem;
188
- --ly-personality-wrapper-max: 112rem;
189
-
190
- container-name: ly-personality;
191
- container-type: inline-size;
192
- min-inline-size: 0;
193
- }
194
-
195
- @container (min-width: 48rem) {
196
- :where(.ly-root[data-layout="bento"], .ly-root[layout-style="bento"], .ly-root.ly-layout-bento, .ly-root.ly-style-bento) .ly-grid > :nth-child(6n + 1) {
197
- grid-column: span 2;
198
- grid-row: span 2;
199
- }
200
-
201
- :where(.ly-root[data-layout="bento"], .ly-root[layout-style="bento"], .ly-root.ly-layout-bento, .ly-root.ly-style-bento)
202
- :where(.ly-card-grid, [data-ly-recipe="card-grid"])
203
- > :nth-child(6n + 1) {
204
- grid-column: span 2;
205
- }
206
- }
207
-
208
- /* The three-track shell waits for a locally feasible allocation. */
209
- @container (min-width: 64rem) {
210
- :where(.ly-root[data-layout="bento"], .ly-root[layout-style="bento"], .ly-root.ly-layout-bento, .ly-root.ly-style-bento)
211
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
212
- grid-template-areas:
213
- "header header header"
214
- "sidebar main main"
215
- "aside main main"
216
- "footer footer footer";
217
- grid-template-rows: auto minmax(0, 1fr) auto auto;
218
- grid-template-columns:
219
- minmax(min(100%, 14rem), 0.3fr)
220
- minmax(0, 1fr)
221
- minmax(0, 1fr);
222
- }
223
- }
224
-
225
- /* V1 personality aliases for maximalist; generated from the canonical v2 source. */
226
- :where(.ly-root[data-layout="maximalist"], .ly-root[layout-style="maximalist"], .ly-root.ly-layout-maximalist, .ly-root.ly-style-maximalist) {
227
- --ly-grid-columns: 12;
228
- --ly-grid-min: 10rem;
229
- --ly-personality-wrapper-max: 100%;
230
- --ly-card-grid-min: 12rem;
231
-
232
- container-name: ly-personality;
233
- container-type: inline-size;
234
- min-inline-size: 0;
235
- }
236
-
237
- @container (min-width: 48rem) {
238
- :where(.ly-root[data-layout="maximalist"], .ly-root[layout-style="maximalist"], .ly-root.ly-layout-maximalist, .ly-root.ly-style-maximalist)
239
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
240
- grid-template-columns: minmax(min(100%, 18rem), 0.3fr) minmax(0, 1fr);
241
- }
242
- }
243
-
244
- @container (min-width: 56rem) {
245
- :where(.ly-root[data-layout="maximalist"], .ly-root[layout-style="maximalist"], .ly-root.ly-layout-maximalist, .ly-root.ly-style-maximalist) .ly-grid > :nth-child(7n + 1) {
246
- grid-column: span 3;
247
- grid-row: span 2;
248
- }
249
-
250
- :where(.ly-root[data-layout="maximalist"], .ly-root[layout-style="maximalist"], .ly-root.ly-layout-maximalist, .ly-root.ly-style-maximalist)
251
- :where(.ly-gallery, [data-ly-recipe="gallery"])
252
- > :nth-child(5n + 1) {
253
- grid-column: span 2;
254
- grid-row: span 2;
255
- }
256
- }
257
-
258
- /* The four-track shell waits for a locally feasible allocation. */
259
- @container (min-width: 64rem) {
260
- :where(.ly-root[data-layout="maximalist"], .ly-root[layout-style="maximalist"], .ly-root.ly-layout-maximalist, .ly-root.ly-style-maximalist)
261
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
262
- grid-template-areas:
263
- "header header header header"
264
- "main main sidebar aside"
265
- "main main footer footer";
266
- grid-template-rows: auto minmax(0, 1fr) auto;
267
- grid-template-columns:
268
- minmax(0, 1.4fr)
269
- minmax(0, 0.6fr)
270
- minmax(min(100%, 15rem), 0.32fr)
271
- minmax(min(100%, 18rem), 0.38fr);
272
- }
273
- }
274
-
275
- /* V1 personality aliases for bauhaus; generated from the canonical v2 source. */
276
- :where(.ly-root[data-layout="bauhaus"], .ly-root[layout-style="bauhaus"], .ly-root.ly-layout-bauhaus, .ly-root.ly-style-bauhaus) {
277
- --ly-recipe-rail: 14rem;
278
- --ly-recipe-aside: 18rem;
279
- --ly-grid-columns: 6;
280
- --ly-grid-min: 13rem;
281
- --ly-personality-wrapper-max: 96rem;
282
-
283
- container-name: ly-personality;
284
- container-type: inline-size;
285
- min-inline-size: 0;
286
- }
287
-
288
- /* Cap the fallback rail until the wider personality template is eligible. */
289
- @container (min-width: 48rem) {
290
- :where(.ly-root[data-layout="bauhaus"], .ly-root[layout-style="bauhaus"], .ly-root.ly-layout-bauhaus, .ly-root.ly-style-bauhaus)
291
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
292
- grid-template-columns: minmax(min(100%, 14rem), 0.3fr) minmax(0, 1fr);
293
- }
294
- }
295
-
296
- @container (min-width: 52rem) {
297
- :where(.ly-root[data-layout="bauhaus"], .ly-root[layout-style="bauhaus"], .ly-root.ly-layout-bauhaus, .ly-root.ly-style-bauhaus) .ly-grid > :nth-child(3n + 1) {
298
- grid-column: span 2;
299
- grid-row: span 2;
300
- }
301
- }
302
-
303
- /* The four-track shell waits for a locally feasible allocation. */
304
- @container (min-width: 64rem) {
305
- :where(.ly-root[data-layout="bauhaus"], .ly-root[layout-style="bauhaus"], .ly-root.ly-layout-bauhaus, .ly-root.ly-style-bauhaus)
306
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
307
- grid-template-areas:
308
- "sidebar header header aside"
309
- "sidebar main main aside"
310
- "sidebar footer footer footer";
311
- grid-template-rows: auto minmax(0, 1fr) auto;
312
- grid-template-columns:
313
- minmax(min(100%, 14rem), 0.24fr)
314
- minmax(0, 0.7fr)
315
- minmax(0, 1.3fr)
316
- minmax(min(100%, 18rem), 0.3fr);
317
- }
318
- }
319
-
320
- /* V1 personality aliases for tactile; generated from the canonical v2 source. */
321
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) {
322
- --ly-recipe-rail: 17rem;
323
- --ly-recipe-aside: 20rem;
324
- --ly-grid-columns: 5;
325
- --ly-grid-min: 15rem;
326
- --ly-personality-wrapper-max: 82rem;
327
-
328
- container-name: ly-personality;
329
- container-type: inline-size;
330
- min-inline-size: 0;
331
- }
332
-
333
- @container (min-width: 48rem) {
334
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile)
335
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
336
- grid-template-areas:
337
- "sidebar header"
338
- "sidebar main"
339
- "sidebar aside"
340
- "sidebar footer";
341
- grid-template-rows: auto minmax(0, 1fr) auto auto;
342
- grid-template-columns: minmax(min(100%, 17rem), 0.28fr) minmax(0, 1fr);
343
- }
344
-
345
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile) .ly-grid > :nth-child(5n + 2) {
346
- grid-column: span 2;
347
- }
348
-
349
- :where(.ly-root[data-layout="tactile"], .ly-root[layout-style="tactile"], .ly-root.ly-layout-tactile, .ly-root.ly-style-tactile)
350
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
351
- grid-template-columns: minmax(min(100%, 20rem), 0.42fr) minmax(0, 0.58fr);
352
- }
353
- }
354
-
355
- /* V1 personality aliases for neumorphism; generated from the canonical v2 source. */
356
- :where(.ly-root[data-layout="neumorphism"], .ly-root[layout-style="neumorphism"], .ly-root.ly-layout-neumorphism, .ly-root.ly-style-neumorphism) {
357
- --ly-recipe-rail: 17rem;
358
- --ly-recipe-aside: 19rem;
359
- --ly-grid-columns: 4;
360
- --ly-grid-min: 17rem;
361
- --ly-personality-wrapper-max: 84rem;
362
-
363
- container-name: ly-personality;
364
- container-type: inline-size;
365
- min-inline-size: 0;
366
- }
367
-
368
- @container (min-width: 48rem) {
369
- :where(.ly-root[data-layout="neumorphism"], .ly-root[layout-style="neumorphism"], .ly-root.ly-layout-neumorphism, .ly-root.ly-style-neumorphism)
370
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
371
- grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
372
- }
373
- }
374
-
375
- @container (min-width: 52rem) {
376
- :where(.ly-root[data-layout="neumorphism"], .ly-root[layout-style="neumorphism"], .ly-root.ly-layout-neumorphism, .ly-root.ly-style-neumorphism)
377
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
378
- grid-template-areas:
379
- "header sidebar"
380
- "main sidebar"
381
- "aside sidebar"
382
- "footer sidebar";
383
- grid-template-rows: auto minmax(0, 1fr) auto auto;
384
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, 17rem), 0.3fr);
385
- }
386
-
387
- :where(.ly-root[data-layout="neumorphism"], .ly-root[layout-style="neumorphism"], .ly-root.ly-layout-neumorphism, .ly-root.ly-style-neumorphism) .ly-grid > :nth-child(4n + 1) {
388
- grid-column: span 2;
389
- }
390
-
391
- :where(.ly-root[data-layout="neumorphism"], .ly-root[layout-style="neumorphism"], .ly-root.ly-layout-neumorphism, .ly-root.ly-style-neumorphism)
392
- :where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
393
- grid-template-columns: minmax(0, 0.58fr) minmax(min(100%, 19rem), 0.42fr);
394
- }
395
- }
396
-
397
- /* V1 personality aliases for retrofuturism; generated from the canonical v2 source. */
398
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) {
399
- --ly-recipe-rail: 14rem;
400
- --ly-recipe-aside: 17rem;
401
- --ly-grid-columns: 6;
402
- --ly-grid-min: 14rem;
403
- --ly-personality-wrapper-max: 106rem;
404
-
405
- container-name: ly-personality;
406
- container-type: inline-size;
407
- min-inline-size: 0;
408
- }
409
-
410
- @container (min-width: 48rem) {
411
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism) .ly-grid > :nth-child(6n + 1) {
412
- grid-column: span 2;
413
- }
414
- }
415
-
416
- /* The three-track shell waits for a locally feasible allocation. */
417
- @container (min-width: 64rem) {
418
- :where(.ly-root[data-layout="retrofuturism"], .ly-root[layout-style="retrofuturism"], .ly-root.ly-layout-retrofuturism, .ly-root.ly-style-retrofuturism)
419
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
420
- grid-template-areas:
421
- "sidebar header aside"
422
- "sidebar main aside"
423
- "sidebar footer aside";
424
- grid-template-rows: auto minmax(0, 1fr) auto;
425
- grid-template-columns:
426
- minmax(min(100%, 14rem), 0.24fr)
427
- minmax(0, 1fr)
428
- minmax(min(100%, 17rem), 0.3fr);
429
- }
430
- }
431
-
432
- /* V1 personality aliases for brutalism; generated from the canonical v2 source. */
433
- :where(.ly-root[data-layout="brutalism"], .ly-root[layout-style="brutalism"], .ly-root.ly-layout-brutalism, .ly-root.ly-style-brutalism) {
434
- --ly-recipe-rail: 18rem;
435
- --ly-recipe-aside: 16rem;
436
- --ly-grid-columns: 6;
437
- --ly-grid-min: 14rem;
438
- --ly-personality-wrapper-max: 100rem;
439
-
440
- container-name: ly-personality;
441
- container-type: inline-size;
442
- min-inline-size: 0;
443
- }
444
-
445
- @container (min-width: 48rem) {
446
- :where(.ly-root[data-layout="brutalism"], .ly-root[layout-style="brutalism"], .ly-root.ly-layout-brutalism, .ly-root.ly-style-brutalism) .ly-grid > :nth-child(3n) {
447
- grid-column: span 2;
448
- }
449
- }
450
-
451
- /* The three-track shell waits for a locally feasible allocation. */
452
- @container (min-width: 64rem) {
453
- :where(.ly-root[data-layout="brutalism"], .ly-root[layout-style="brutalism"], .ly-root.ly-layout-brutalism, .ly-root.ly-style-brutalism)
454
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
455
- grid-template-areas:
456
- "header header sidebar"
457
- "main aside sidebar"
458
- "footer footer sidebar";
459
- grid-template-rows: auto minmax(0, 1fr) auto;
460
- grid-template-columns:
461
- minmax(0, 1.3fr)
462
- minmax(min(100%, 16rem), 0.7fr)
463
- minmax(min(100%, 18rem), 0.34fr);
464
- }
465
- }
466
-
467
- /* V1 personality aliases for cyberpunk; generated from the canonical v2 source. */
468
- :where(.ly-root[data-layout="cyberpunk"], .ly-root[layout-style="cyberpunk"], .ly-root.ly-layout-cyberpunk, .ly-root.ly-style-cyberpunk) {
469
- --ly-recipe-rail: 13rem;
470
- --ly-recipe-aside: 19rem;
471
- --ly-grid-columns: 8;
472
- --ly-grid-min: 12rem;
473
- --ly-personality-wrapper-max: 112rem;
474
-
475
- container-name: ly-personality;
476
- container-type: inline-size;
477
- min-inline-size: 0;
478
- }
479
-
480
- @container (min-width: 44rem) {
481
- :where(.ly-root[data-layout="cyberpunk"], .ly-root[layout-style="cyberpunk"], .ly-root.ly-layout-cyberpunk, .ly-root.ly-style-cyberpunk) .ly-grid > :nth-child(4n + 2) {
482
- grid-column: span 3;
483
- }
484
- }
485
-
486
- /* The three-track shell waits for a locally feasible allocation. */
487
- @container (min-width: 64rem) {
488
- :where(.ly-root[data-layout="cyberpunk"], .ly-root[layout-style="cyberpunk"], .ly-root.ly-layout-cyberpunk, .ly-root.ly-style-cyberpunk)
489
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
490
- grid-template-areas:
491
- "sidebar header aside"
492
- "sidebar main aside"
493
- "sidebar footer aside";
494
- grid-template-rows: auto minmax(0, 1fr) auto;
495
- grid-template-columns:
496
- minmax(min(100%, 13rem), 0.2fr)
497
- minmax(0, 1fr)
498
- minmax(min(100%, 19rem), 0.32fr);
499
- }
500
- }
501
-
502
- /* V1 personality aliases for y2k; generated from the canonical v2 source. */
503
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) {
504
- --ly-recipe-rail: 16rem;
505
- --ly-recipe-aside: 18rem;
506
- --ly-grid-columns: 5;
507
- --ly-grid-min: 13rem;
508
- --ly-personality-wrapper-max: 90rem;
509
-
510
- container-name: ly-personality;
511
- container-type: inline-size;
512
- min-inline-size: 0;
513
- }
514
-
515
- @container (min-width: 48rem) {
516
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k) .ly-grid > :nth-child(5n + 1) {
517
- grid-column: span 3;
518
- }
519
- }
520
-
521
- /* The three-track shell waits for a locally feasible allocation. */
522
- @container (min-width: 64rem) {
523
- :where(.ly-root[data-layout="y2k"], .ly-root[layout-style="y2k"], .ly-root.ly-layout-y2k, .ly-root.ly-style-y2k)
524
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
525
- grid-template-areas:
526
- "header header sidebar"
527
- "aside main sidebar"
528
- "footer footer sidebar";
529
- grid-template-rows: auto minmax(0, 1fr) auto;
530
- grid-template-columns:
531
- minmax(min(100%, 18rem), 0.34fr)
532
- minmax(0, 1fr)
533
- minmax(min(100%, 16rem), 0.28fr);
534
- }
535
- }
536
-
537
- /* V1 personality aliases for retro-glass; generated from the canonical v2 source. */
538
- :where(.ly-root[data-layout="retro-glass"], .ly-root[layout-style="retro-glass"], .ly-root.ly-layout-retro-glass, .ly-root.ly-style-retro-glass) {
539
- --ly-recipe-rail: 18rem;
540
- --ly-recipe-aside: 20rem;
541
- --ly-grid-columns: 8;
542
- --ly-grid-min: 15rem;
543
- --ly-personality-wrapper-max: 104rem;
544
-
545
- container-name: ly-personality;
546
- container-type: inline-size;
547
- min-inline-size: 0;
548
- }
549
-
550
- @container (min-width: 48rem) {
551
- :where(.ly-root[data-layout="retro-glass"], .ly-root[layout-style="retro-glass"], .ly-root.ly-layout-retro-glass, .ly-root.ly-style-retro-glass)
552
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
553
- grid-template-columns: minmax(min(100%, 18rem), 0.3fr) minmax(0, 1fr);
554
- }
555
- }
556
-
557
- @container (min-width: 56rem) {
558
- :where(.ly-root[data-layout="retro-glass"], .ly-root[layout-style="retro-glass"], .ly-root.ly-layout-retro-glass, .ly-root.ly-style-retro-glass) .ly-grid > :nth-child(4n) {
559
- grid-column: span 2;
560
- grid-row: span 2;
561
- }
562
- }
563
-
564
- /* The three-track shell waits for a locally feasible allocation. */
565
- @container (min-width: 64rem) {
566
- :where(.ly-root[data-layout="retro-glass"], .ly-root[layout-style="retro-glass"], .ly-root.ly-layout-retro-glass, .ly-root.ly-style-retro-glass)
567
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
568
- grid-template-areas:
569
- "header header sidebar"
570
- "main main sidebar"
571
- "aside footer footer";
572
- grid-template-rows: auto minmax(0, 1fr) auto;
573
- grid-template-columns:
574
- minmax(0, 1.25fr)
575
- minmax(0, 0.75fr)
576
- minmax(min(100%, 18rem), 0.32fr);
577
- }
578
- }
579
-
580
- /* V1 personality aliases for f-pattern; generated from the canonical v2 source. */
581
- :where(.ly-root[data-layout="f-pattern"], .ly-root[layout-style="f-pattern"], .ly-root.ly-layout-f-pattern, .ly-root.ly-style-f-pattern) {
582
- --ly-recipe-rail: 16rem;
583
- --ly-recipe-aside: 18rem;
584
- --ly-grid-columns: 6;
585
- --ly-grid-min: 14rem;
586
- --ly-personality-wrapper-max: 92rem;
587
-
588
- container-name: ly-personality;
589
- container-type: inline-size;
590
- min-inline-size: 0;
591
- }
592
-
593
- @container (min-width: 48rem) {
594
- :where(.ly-root[data-layout="f-pattern"], .ly-root[layout-style="f-pattern"], .ly-root.ly-layout-f-pattern, .ly-root.ly-style-f-pattern)
595
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
596
- grid-template-columns: minmax(min(100%, 16rem), 0.3fr) minmax(0, 1fr);
597
- }
598
- }
599
-
600
- @container (min-width: 56rem) {
601
- :where(.ly-root[data-layout="f-pattern"], .ly-root[layout-style="f-pattern"], .ly-root.ly-layout-f-pattern, .ly-root.ly-style-f-pattern) .ly-grid > :nth-child(3n + 1) {
602
- grid-column: span 2;
603
- }
604
-
605
- :where(.ly-root[data-layout="f-pattern"], .ly-root[layout-style="f-pattern"], .ly-root.ly-layout-f-pattern, .ly-root.ly-style-f-pattern)
606
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
607
- grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
608
- }
609
- }
610
-
611
- /* The three-track shell waits for a locally feasible allocation. */
612
- @container (min-width: 64rem) {
613
- :where(.ly-root[data-layout="f-pattern"], .ly-root[layout-style="f-pattern"], .ly-root.ly-layout-f-pattern, .ly-root.ly-style-f-pattern)
614
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
615
- grid-template-areas:
616
- "sidebar header header"
617
- "sidebar main aside"
618
- "sidebar footer aside";
619
- grid-template-rows: auto minmax(0, 1fr) auto;
620
- grid-template-columns:
621
- minmax(min(100%, 16rem), 0.26fr)
622
- minmax(0, 1.35fr)
623
- minmax(min(100%, 18rem), 0.65fr);
624
- }
625
- }
626
-
627
- /* V1 personality aliases for z-pattern; generated from the canonical v2 source. */
628
- :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) {
629
- --ly-recipe-rail: 17rem;
630
- --ly-recipe-aside: 19rem;
631
- --ly-grid-columns: 8;
632
- --ly-grid-min: 14rem;
633
- --ly-personality-wrapper-max: 108rem;
634
-
635
- container-name: ly-personality;
636
- container-type: inline-size;
637
- min-inline-size: 0;
638
- }
639
-
640
- @container (min-width: 48rem) {
641
- :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)
642
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
643
- grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
644
- }
645
- }
646
-
647
- @container (min-width: 60rem) {
648
- :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 > :nth-child(4n + 2) {
649
- grid-column: span 2;
650
- align-self: end;
651
- }
652
-
653
- :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)
654
- :where(.ly-split-hero, [data-ly-recipe="split-hero"]) {
655
- grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.5fr);
656
- }
657
- }
658
-
659
- /* The three-track shell waits for a locally feasible allocation. */
660
- @container (min-width: 64rem) {
661
- :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)
662
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
663
- grid-template-areas:
664
- "header header sidebar"
665
- "main aside sidebar"
666
- "footer aside sidebar";
667
- grid-template-rows: auto minmax(0, 1fr) auto;
668
- grid-template-columns:
669
- minmax(0, 1.45fr)
670
- minmax(min(100%, 19rem), 0.55fr)
671
- minmax(min(100%, 17rem), 0.3fr);
672
- }
673
- }
674
-
675
- /* V1 personality aliases for split-screen; generated from the canonical v2 source. */
676
- :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) {
677
- --ly-grid-columns: 2;
678
- --ly-grid-min: 20rem;
679
- --ly-personality-wrapper-max: 100%;
680
- --ly-split-primary: 1fr;
681
- --ly-split-secondary: 1fr;
682
-
683
- container-name: ly-personality;
684
- container-type: inline-size;
685
- min-inline-size: 0;
686
- }
687
-
688
- @container (min-width: 48rem) {
689
- :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)
690
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
691
- grid-template-areas:
692
- "header header"
693
- "main sidebar"
694
- "aside sidebar"
695
- "footer footer";
696
- grid-template-rows: auto minmax(0, 1fr) auto auto;
697
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
698
- }
699
-
700
- :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)
701
- :where(
702
- .ly-split,
703
- .ly-split-hero,
704
- [data-ly-recipe="split-hero"],
705
- .ly-list-detail,
706
- [data-ly-recipe="list-detail"]
707
- ) {
708
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
709
- }
710
- }
711
-
712
- /* V1 personality aliases for mondrian; generated from the canonical v2 source. */
713
- :where(.ly-root[data-layout="mondrian"], .ly-root[layout-style="mondrian"], .ly-root.ly-layout-mondrian, .ly-root.ly-style-mondrian) {
714
- --ly-recipe-rail: 13rem;
715
- --ly-recipe-aside: 18rem;
716
- --ly-grid-columns: 10;
717
- --ly-grid-min: 11rem;
718
- --ly-personality-wrapper-max: 112rem;
719
-
720
- container-name: ly-personality;
721
- container-type: inline-size;
722
- min-inline-size: 0;
723
- }
724
-
725
- @container (min-width: 48rem) {
726
- :where(.ly-root[data-layout="mondrian"], .ly-root[layout-style="mondrian"], .ly-root.ly-layout-mondrian, .ly-root.ly-style-mondrian)
727
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
728
- grid-template-columns: minmax(min(100%, 13rem), 0.3fr) minmax(0, 1fr);
729
- }
730
- }
731
-
732
- @container (min-width: 52rem) {
733
- :where(.ly-root[data-layout="mondrian"], .ly-root[layout-style="mondrian"], .ly-root.ly-layout-mondrian, .ly-root.ly-style-mondrian) .ly-grid > :nth-child(5n + 1) {
734
- grid-column: span 2;
735
- grid-row: span 2;
736
- }
737
- }
738
-
739
- /* The three-track shell waits for a locally feasible allocation. */
740
- @container (min-width: 64rem) {
741
- :where(.ly-root[data-layout="mondrian"], .ly-root[layout-style="mondrian"], .ly-root.ly-layout-mondrian, .ly-root.ly-style-mondrian)
742
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
743
- grid-template-areas:
744
- "sidebar header header"
745
- "sidebar main aside"
746
- "footer footer aside";
747
- grid-template-rows: auto minmax(0, 1fr) auto;
748
- grid-template-columns:
749
- minmax(min(100%, 13rem), 0.22fr)
750
- minmax(0, 1.45fr)
751
- minmax(min(100%, 18rem), 0.55fr);
752
- }
753
- }
754
-
755
- /* V1 personality aliases for synthwave; generated from the canonical v2 source. */
756
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) {
757
- --ly-recipe-rail: 16rem;
758
- --ly-recipe-aside: 20rem;
759
- --ly-grid-columns: 12;
760
- --ly-grid-min: 14rem;
761
- --ly-reel-item-max: 34rem;
762
- --ly-personality-wrapper-max: 112rem;
763
-
764
- container-name: ly-personality;
765
- container-type: inline-size;
766
- min-inline-size: 0;
767
- }
768
-
769
- @container (min-width: 48rem) {
770
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave)
771
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
772
- grid-template-columns: minmax(min(100%, 16rem), 0.3fr) minmax(0, 1fr);
773
- }
774
- }
775
-
776
- @container (min-width: 64rem) {
777
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave)
778
- :where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
779
- grid-template-areas:
780
- "header header header"
781
- "sidebar main aside"
782
- "footer footer footer";
783
- grid-template-rows: auto minmax(0, 1fr) auto;
784
- grid-template-columns:
785
- minmax(min(100%, 16rem), 0.28fr)
786
- minmax(0, 1fr)
787
- minmax(min(100%, 20rem), 0.34fr);
788
- }
789
-
790
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-grid > :nth-child(4n + 1) {
791
- grid-column: span 3;
792
- }
793
-
794
- :where(.ly-root[data-layout="synthwave"], .ly-root[layout-style="synthwave"], .ly-root.ly-layout-synthwave, .ly-root.ly-style-synthwave) .ly-reel {
795
- grid-auto-columns: minmax(min(100%, 20rem), var(--ly-reel-item-max));
796
- }
797
- }
798
-
799
- @container (min-width: 48rem) {
800
- .ly-sidebar-layout {
801
- grid-template-columns: minmax(min(100%, var(--ly-sidebar-min)), var(--ly-sidebar-max)) minmax(0, 1fr);
802
- align-items: start;
803
- }
804
-
805
- .ly-sidebar-layout--right {
806
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, var(--ly-sidebar-min)), var(--ly-sidebar-max));
807
- }
808
-
809
- .ly-panes--two {
810
- grid-template-columns: minmax(0, 1fr) minmax(min(100%, var(--ly-pane-size)), 0.7fr);
811
- }
812
- }
813
-
814
- @container (min-width: 64rem) {
815
- .ly-panes--three {
816
- grid-template-columns:
817
- minmax(min(100%, var(--ly-pane-rail, 14rem)), 0.35fr)
818
- minmax(0, 1fr)
819
- minmax(min(100%, var(--ly-pane-rail, 14rem)), 0.35fr);
820
- }
821
- }
822
- }