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/demo/demo.css DELETED
@@ -1,523 +0,0 @@
1
- /*
2
- Demo paint is intentionally local: the published layout modules continue to
3
- own structure only, while the lab remains legible in layout-only mode.
4
- */
5
-
6
- :root {
7
- --demo-bg: #f1f5f9;
8
- --demo-panel: #ffffff;
9
- --demo-panel-strong: #e2e8f0;
10
- --demo-text: #172033;
11
- --demo-muted: #526079;
12
- --demo-line: #b8c3d3;
13
- --demo-accent: #4f46e5;
14
- --demo-accent-soft: #e0e7ff;
15
- --demo-danger: #b42318;
16
- --demo-radius: 1rem;
17
- --demo-shadow: 0 1rem 3rem rgb(15 23 42 / 0.12);
18
- --demo-density-gap: 1rem;
19
- --demo-region-padding: 1rem;
20
- color-scheme: light;
21
- }
22
-
23
- body[data-mode="dark"] {
24
- --demo-bg: #101827;
25
- --demo-panel: #172033;
26
- --demo-panel-strong: #273449;
27
- --demo-text: #f8fafc;
28
- --demo-muted: #cbd5e1;
29
- --demo-line: #46556d;
30
- --demo-accent: #a5b4fc;
31
- --demo-accent-soft: #312e81;
32
- --demo-shadow: 0 1rem 3rem rgb(0 0 0 / 0.38);
33
- color-scheme: dark;
34
- }
35
-
36
- body[data-mode="contrast"] {
37
- --demo-bg: #000000;
38
- --demo-panel: #000000;
39
- --demo-panel-strong: #1a1a1a;
40
- --demo-text: #ffffff;
41
- --demo-muted: #ffffff;
42
- --demo-line: #ffffff;
43
- --demo-accent: #ffeb3b;
44
- --demo-accent-soft: #322f00;
45
- color-scheme: dark;
46
- }
47
-
48
- body[data-density="compact"] {
49
- --demo-density-gap: 0.5rem;
50
- --demo-region-padding: 0.75rem;
51
- }
52
-
53
- body[data-density="spacious"] {
54
- --demo-density-gap: 1.5rem;
55
- --demo-region-padding: 1.5rem;
56
- }
57
-
58
- html {
59
- min-inline-size: 20rem;
60
- scroll-behavior: smooth;
61
- }
62
-
63
- body {
64
- min-block-size: 100svh;
65
- margin: 0;
66
- overflow-x: clip;
67
- background: var(--demo-bg);
68
- color: var(--demo-text);
69
- font-family:
70
- Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
71
- sans-serif;
72
- line-height: 1.5;
73
- }
74
-
75
- body * {
76
- box-sizing: border-box;
77
- }
78
-
79
- button,
80
- select {
81
- min-block-size: 2.75rem;
82
- max-inline-size: 100%;
83
- font: inherit;
84
- }
85
-
86
- button {
87
- cursor: pointer;
88
- }
89
-
90
- button:focus-visible,
91
- select:focus-visible,
92
- a:focus-visible {
93
- outline: 0.1875rem solid var(--demo-accent);
94
- outline-offset: 0.1875rem;
95
- }
96
-
97
- select {
98
- inline-size: 100%;
99
- }
100
-
101
- h1,
102
- h2,
103
- h3,
104
- p,
105
- pre {
106
- margin-block: 0;
107
- }
108
-
109
- h1,
110
- h2,
111
- h3,
112
- p,
113
- code,
114
- strong,
115
- span,
116
- label {
117
- overflow-wrap: anywhere;
118
- }
119
-
120
- h1 {
121
- max-inline-size: 18ch;
122
- font-size: clamp(2rem, 4vw, 4.5rem);
123
- line-height: 0.98;
124
- }
125
-
126
- h2 {
127
- font-size: clamp(1.25rem, 2.5vw, 2rem);
128
- line-height: 1.1;
129
- }
130
-
131
- h3 {
132
- font-size: 1rem;
133
- }
134
-
135
- .demo-skip-link {
136
- position: fixed;
137
- inset-block-start: 0.5rem;
138
- inset-inline-start: 0.5rem;
139
- z-index: 100;
140
- padding: 0.75rem 1rem;
141
- translate: 0 -150%;
142
- background: var(--demo-panel);
143
- color: var(--demo-text);
144
- }
145
-
146
- .demo-skip-link:focus {
147
- translate: 0;
148
- }
149
-
150
- .demo-topbar {
151
- position: sticky;
152
- inset-block-start: 0;
153
- z-index: 20;
154
- display: flex;
155
- flex-wrap: wrap;
156
- align-items: center;
157
- justify-content: space-between;
158
- gap: 0.75rem;
159
- min-block-size: 4.5rem;
160
- padding:
161
- max(0.75rem, env(safe-area-inset-top, 0px))
162
- max(1rem, env(safe-area-inset-right, 0px))
163
- 0.75rem
164
- max(1rem, env(safe-area-inset-left, 0px));
165
- border-block-end: 1px solid var(--demo-line);
166
- background: color-mix(in srgb, var(--demo-panel) 92%, transparent);
167
- backdrop-filter: blur(1rem);
168
- }
169
-
170
- .demo-brand,
171
- .demo-controls-heading,
172
- .demo-section-heading,
173
- .demo-code-card-heading,
174
- .demo-topbar-actions {
175
- display: flex;
176
- align-items: center;
177
- justify-content: space-between;
178
- gap: 0.75rem;
179
- }
180
-
181
- .demo-brand {
182
- align-items: flex-start;
183
- flex-direction: column;
184
- gap: 0.125rem;
185
- }
186
-
187
- .demo-kicker {
188
- color: var(--demo-muted);
189
- font-size: 0.75rem;
190
- font-weight: 750;
191
- letter-spacing: 0.12em;
192
- text-transform: uppercase;
193
- }
194
-
195
- .demo-status,
196
- .demo-copy-status,
197
- #containerReadout {
198
- color: var(--demo-muted);
199
- font-size: 0.875rem;
200
- }
201
-
202
- .demo-status {
203
- padding: 0.4rem 0.7rem;
204
- border: 1px solid var(--demo-line);
205
- border-radius: 999px;
206
- background: var(--demo-accent-soft);
207
- }
208
-
209
- body[data-ecosystem="layout-only"] .demo-status {
210
- border-style: dashed;
211
- background: var(--demo-panel-strong);
212
- }
213
-
214
- body[data-ecosystem="all-three"] .demo-status {
215
- box-shadow: inset 0 0 0 0.125rem color-mix(in srgb, var(--demo-accent) 30%, transparent);
216
- }
217
-
218
- .demo-page {
219
- display: grid;
220
- inline-size: min(calc(100% - 2rem), 112rem);
221
- margin-inline: auto;
222
- padding-block: clamp(1rem, 3vw, 2rem) 4rem;
223
- }
224
-
225
- .demo-controls,
226
- .demo-intro,
227
- .demo-lab,
228
- .demo-code-card {
229
- border: 1px solid var(--demo-line);
230
- border-radius: var(--demo-radius);
231
- background: var(--demo-panel);
232
- box-shadow: var(--demo-shadow);
233
- }
234
-
235
- .demo-controls {
236
- min-inline-size: 0;
237
- padding: 1rem;
238
- }
239
-
240
- .demo-controls-heading {
241
- margin-block-end: 1rem;
242
- }
243
-
244
- .demo-controls-grid {
245
- display: grid;
246
- gap: 0.875rem;
247
- }
248
-
249
- .demo-controls-grid label {
250
- display: grid;
251
- gap: 0.35rem;
252
- min-inline-size: 0;
253
- color: var(--demo-muted);
254
- font-size: 0.8125rem;
255
- font-weight: 700;
256
- }
257
-
258
- .demo-controls-grid select {
259
- padding-inline: 0.625rem;
260
- }
261
-
262
- .demo-main {
263
- display: grid;
264
- min-inline-size: 0;
265
- gap: clamp(1rem, 3vw, 2rem);
266
- }
267
-
268
- .demo-intro {
269
- display: grid;
270
- grid-template-columns: minmax(0, 1fr);
271
- gap: 1.5rem;
272
- padding: clamp(1.25rem, 4vw, 3rem);
273
- }
274
-
275
- .demo-intro > div:first-child {
276
- display: grid;
277
- gap: 1rem;
278
- }
279
-
280
- .demo-intro p {
281
- max-inline-size: 68ch;
282
- color: var(--demo-muted);
283
- }
284
-
285
- .demo-state-panel {
286
- display: grid;
287
- align-content: center;
288
- gap: 0.75rem;
289
- min-inline-size: 0;
290
- padding: 1rem;
291
- border: 1px solid var(--demo-line);
292
- border-radius: calc(var(--demo-radius) * 0.75);
293
- background: var(--demo-panel-strong);
294
- }
295
-
296
- .demo-lab {
297
- min-inline-size: 0;
298
- padding: clamp(1rem, 2vw, 1.5rem);
299
- }
300
-
301
- .demo-section-heading {
302
- flex-wrap: wrap;
303
- margin-block-end: 1rem;
304
- }
305
-
306
- .demo-preview-frame {
307
- --demo-container-inline-size: 100%;
308
-
309
- container-name: demo-preview;
310
- container-type: inline-size;
311
- inline-size: min(100%, var(--demo-container-inline-size));
312
- min-inline-size: 0;
313
- margin-inline: auto;
314
- overflow: clip;
315
- border: 1px dashed var(--demo-line);
316
- border-radius: calc(var(--demo-radius) * 0.85);
317
- background: var(--demo-bg);
318
- }
319
-
320
- /* The nested root lets personalities respond to preview width, not viewport width. */
321
- .demo-preview-root {
322
- min-block-size: 0;
323
- min-inline-size: 0;
324
- padding-block: 0.75rem;
325
- }
326
-
327
- .demo-preview-root > .ly-wrapper {
328
- /* The width control represents the queried content box exactly at 48rem/64rem. */
329
- --ly-wrapper-gutter: 0px;
330
-
331
- min-inline-size: 0;
332
- }
333
-
334
- .demo-recipe {
335
- min-block-size: 30rem;
336
- min-inline-size: 0;
337
- gap: var(--demo-density-gap);
338
- }
339
-
340
- .demo-recipe:is(.ly-gallery, [data-ly-recipe="gallery"]),
341
- .demo-recipe:is(.ly-card-grid, [data-ly-recipe="card-grid"]) {
342
- min-block-size: auto;
343
- }
344
-
345
- .demo-recipe:is(.ly-app-shell, [data-ly-recipe="app-shell"]) {
346
- min-block-size: 32rem;
347
- }
348
-
349
- .demo-region {
350
- display: grid;
351
- align-content: start;
352
- min-block-size: 5rem;
353
- min-inline-size: 0;
354
- gap: 0.75rem;
355
- padding: var(--demo-region-padding);
356
- overflow: hidden;
357
- border: 1px solid var(--demo-line);
358
- border-radius: calc(var(--demo-radius) * 0.65);
359
- background: var(--demo-panel);
360
- }
361
-
362
- .demo-region[data-ly-area="main"],
363
- .demo-region[data-ly-area="secondary"],
364
- .demo-region[data-ly-area="content"] {
365
- background: var(--demo-accent-soft);
366
- }
367
-
368
- .demo-region > button {
369
- justify-self: start;
370
- }
371
-
372
- .demo-grid-item {
373
- min-block-size: 8rem;
374
- }
375
-
376
- .demo-list-scroll {
377
- --ly-scroll-max: 10rem;
378
-
379
- display: grid;
380
- gap: 0.5rem;
381
- padding-inline-end: 0.25rem;
382
- }
383
-
384
- .demo-list-scroll p {
385
- padding: 0.5rem;
386
- background: var(--demo-panel-strong);
387
- }
388
-
389
- .demo-code-grid {
390
- display: grid;
391
- grid-template-columns: minmax(0, 1fr);
392
- gap: 1rem;
393
- min-inline-size: 0;
394
- }
395
-
396
- .demo-code-heading {
397
- grid-column: 1 / -1;
398
- margin-block-end: 0;
399
- }
400
-
401
- .demo-code-card {
402
- display: grid;
403
- align-content: start;
404
- min-inline-size: 0;
405
- gap: 1rem;
406
- padding: 1rem;
407
- }
408
-
409
- .demo-code-card-heading {
410
- flex-wrap: wrap;
411
- }
412
-
413
- .demo-code-card pre {
414
- max-block-size: 22rem;
415
- min-inline-size: 0;
416
- margin: 0;
417
- padding: 1rem;
418
- overflow: auto;
419
- border-radius: calc(var(--demo-radius) * 0.65);
420
- background: #0f172a;
421
- color: #e2e8f0;
422
- font-size: 0.8rem;
423
- tab-size: 2;
424
- white-space: pre;
425
- }
426
-
427
- .demo-copy-status[data-copy-state="error"] {
428
- color: var(--demo-danger);
429
- }
430
-
431
- .demo-backdrop[hidden],
432
- .demo-controls[hidden] {
433
- display: none;
434
- }
435
-
436
- @media (min-width: 48rem) {
437
- .demo-intro {
438
- grid-template-columns: minmax(0, 1.5fr) minmax(14rem, 0.5fr);
439
- align-items: end;
440
- }
441
-
442
- .demo-code-grid {
443
- grid-template-columns: repeat(2, minmax(0, 1fr));
444
- }
445
- }
446
-
447
- @media (min-width: 64rem) {
448
- #demoControlsToggle,
449
- #demoControlsClose {
450
- display: none;
451
- }
452
-
453
- .demo-page {
454
- grid-template-columns: minmax(13rem, 14rem) minmax(0, 1fr);
455
- align-items: start;
456
- gap: 1.5rem;
457
- }
458
-
459
- .demo-controls {
460
- position: sticky;
461
- inset-block-start: 6rem;
462
- display: block;
463
- max-block-size: calc(100svh - 7rem);
464
- overflow: auto;
465
- }
466
- }
467
-
468
- @media (max-width: 63.999rem) {
469
- .demo-page {
470
- inline-size: min(calc(100% - 1rem), 72rem);
471
- }
472
-
473
- .demo-status {
474
- display: none;
475
- }
476
-
477
- .demo-controls {
478
- position: fixed;
479
- inset-block: 0;
480
- inset-inline-end: 0;
481
- z-index: 40;
482
- inline-size: min(24rem, calc(100% - 1rem));
483
- max-block-size: 100svh;
484
- padding:
485
- max(1rem, env(safe-area-inset-top, 0px))
486
- max(1rem, env(safe-area-inset-right, 0px))
487
- max(1rem, env(safe-area-inset-bottom, 0px))
488
- 1rem;
489
- overflow: auto;
490
- border-radius: var(--demo-radius) 0 0 var(--demo-radius);
491
- }
492
-
493
- .demo-backdrop {
494
- position: fixed;
495
- inset: 0;
496
- z-index: 30;
497
- background: rgb(15 23 42 / 0.72);
498
- }
499
- }
500
-
501
- @media (max-width: 34rem) {
502
- .demo-topbar-actions,
503
- #demoControlsToggle {
504
- inline-size: 100%;
505
- }
506
-
507
- .demo-intro,
508
- .demo-lab {
509
- border-radius: calc(var(--demo-radius) * 0.75);
510
- }
511
-
512
- .demo-section-heading,
513
- .demo-code-card-heading {
514
- align-items: flex-start;
515
- flex-direction: column;
516
- }
517
- }
518
-
519
- @media (prefers-reduced-motion: reduce) {
520
- html {
521
- scroll-behavior: auto;
522
- }
523
- }