layout-style-css 2.1.0 → 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.
- package/README.md +124 -145
- package/dist/core.css +2 -1
- package/dist/foundation.css +194 -0
- package/dist/layout-style-css.css +527 -941
- package/dist/layout-style-css.min.css +1 -1
- package/dist/personalities/bauhaus.css +13 -39
- package/dist/personalities/bento.css +16 -37
- package/dist/personalities/brutalism.css +13 -30
- package/dist/personalities/cyberpunk.css +12 -29
- package/dist/personalities/f-pattern.css +16 -42
- package/dist/personalities/maximalist.css +16 -45
- package/dist/personalities/minimal-saas.css +7 -31
- package/dist/personalities/mondrian.css +12 -37
- package/dist/personalities/neumorphism.css +15 -39
- package/dist/personalities/retro-glass.css +14 -39
- package/dist/personalities/retrofuturism.css +12 -29
- package/dist/personalities/split-screen.css +24 -36
- package/dist/personalities/synthwave.css +13 -41
- package/dist/personalities/tactile.css +15 -32
- package/dist/personalities/y2k.css +13 -30
- package/dist/personalities/z-pattern.css +16 -43
- package/dist/personalities.css +1 -1
- package/dist/primitives.css +27 -63
- package/dist/recipes.css +92 -167
- package/dist/utilities.css +39 -104
- package/dist/wrappers.css +28 -108
- package/package.json +12 -24
- package/CHANGELOG.md +0 -90
- package/CONTRIBUTING.md +0 -55
- package/SECURITY.md +0 -50
- package/demo/assets/apple-touch-icon.svg +0 -7
- package/demo/assets/favicon.svg +0 -7
- package/demo/assets/social-card.png +0 -0
- package/demo/browserconfig.xml +0 -9
- package/demo/demo.css +0 -523
- package/demo/demo.js +0 -605
- package/demo/index.html +0 -325
- package/demo/robots.txt +0 -4
- package/demo/site.webmanifest +0 -23
- package/demo/sitemap.xml +0 -9
- package/dist/integrations/ui-style-kit.css +0 -175
- package/dist/legacy.css +0 -787
- package/docs/wiki/Contributing.md +0 -36
- package/docs/wiki/Demo-And-GitHub-Pages.md +0 -53
- package/docs/wiki/Getting-Started.md +0 -51
- package/docs/wiki/Home.md +0 -33
- package/docs/wiki/Installation-And-CDN.md +0 -72
- package/docs/wiki/Layout-Primitives.md +0 -48
- package/docs/wiki/Layout-Recipes.md +0 -49
- package/docs/wiki/Layout-Styles.md +0 -33
- package/docs/wiki/Migrating-To-2.0.md +0 -186
- package/docs/wiki/Release-And-Publishing.md +0 -77
- package/docs/wiki/Security-And-Support.md +0 -36
- package/docs/wiki/UI-Style-Kit-Compatibility.md +0 -49
- package/docs/wiki/_Sidebar.md +0 -15
- package/styles/core.css +0 -6
- package/styles/integrations/ui-style-kit.css +0 -175
- package/styles/legacy.css +0 -173
- package/styles/personalities/bauhaus.css +0 -46
- package/styles/personalities/bento.css +0 -43
- package/styles/personalities/brutalism.css +0 -36
- package/styles/personalities/cyberpunk.css +0 -36
- package/styles/personalities/f-pattern.css +0 -48
- package/styles/personalities/maximalist.css +0 -51
- package/styles/personalities/minimal-saas.css +0 -37
- package/styles/personalities/mondrian.css +0 -44
- package/styles/personalities/neumorphism.css +0 -46
- package/styles/personalities/retro-glass.css +0 -44
- package/styles/personalities/retrofuturism.css +0 -36
- package/styles/personalities/split-screen.css +0 -41
- package/styles/personalities/synthwave.css +0 -48
- package/styles/personalities/tactile.css +0 -39
- package/styles/personalities/y2k.css +0 -36
- package/styles/personalities/z-pattern.css +0 -49
- package/styles/personalities.css +0 -18
- package/styles/primitives.css +0 -219
- package/styles/recipes.css +0 -270
- package/styles/utilities.css +0 -162
- package/styles/wrappers.css +0 -174
|
@@ -1,46 +1,22 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
2
|
-
|
|
3
|
-
/* Layout style: neumorphism. A calm right rail preserves a compact workspace. */
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
4
2
|
|
|
5
3
|
@layer ly.personalities.neumorphism {
|
|
6
4
|
:where(.ly-root[data-ly-layout="neumorphism"]) {
|
|
5
|
+
--ly-personality-wrapper-max: 84rem;
|
|
6
|
+
--ly-profile-gap: var(--ly-space-6);
|
|
7
|
+
--ly-grid-min: 17rem;
|
|
7
8
|
--ly-recipe-rail: 17rem;
|
|
8
9
|
--ly-recipe-aside: 19rem;
|
|
9
|
-
--ly-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
21
|
-
grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@container ly-personality (min-width: 52rem) {
|
|
26
|
-
:where(.ly-root[data-ly-layout="neumorphism"])
|
|
27
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
28
|
-
grid-template-areas:
|
|
29
|
-
"header sidebar"
|
|
30
|
-
"main sidebar"
|
|
31
|
-
"aside sidebar"
|
|
32
|
-
"footer sidebar";
|
|
33
|
-
grid-template-rows: auto minmax(0, 1fr) auto auto;
|
|
34
|
-
grid-template-columns: minmax(0, 1fr) minmax(min(100%, 17rem), 0.3fr);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
:where(.ly-root[data-ly-layout="neumorphism"]) .ly-grid > :nth-child(4n + 1) {
|
|
38
|
-
grid-column: span 2;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
:where(.ly-root[data-ly-layout="neumorphism"])
|
|
42
|
-
:where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
|
|
43
|
-
grid-template-columns: minmax(0, 0.58fr) minmax(min(100%, 19rem), 0.42fr);
|
|
44
|
-
}
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header sidebar"
|
|
12
|
+
"main sidebar"
|
|
13
|
+
"aside sidebar"
|
|
14
|
+
"footer sidebar";
|
|
15
|
+
--ly-app-shell-wide-columns:
|
|
16
|
+
minmax(0, 1fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.3fr);
|
|
18
|
+
--ly-list-detail-wide-columns:
|
|
19
|
+
minmax(0, 1.1fr)
|
|
20
|
+
minmax(min(100%, var(--ly-pane-size)), 0.7fr);
|
|
45
21
|
}
|
|
46
22
|
}
|
|
@@ -1,44 +1,19 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
@layer ly.personalities.retro_glass {
|
|
3
|
+
@layer ly.personalities.retro-glass {
|
|
6
4
|
:where(.ly-root[data-ly-layout="retro-glass"]) {
|
|
7
|
-
--ly-recipe-rail: 18rem;
|
|
8
|
-
--ly-recipe-aside: 20rem;
|
|
9
|
-
--ly-grid-columns: 8;
|
|
10
|
-
--ly-grid-min: 15rem;
|
|
11
5
|
--ly-personality-wrapper-max: 104rem;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@container ly-personality (min-width: 56rem) {
|
|
26
|
-
:where(.ly-root[data-ly-layout="retro-glass"])
|
|
27
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
28
|
-
grid-template-areas:
|
|
29
|
-
"header header sidebar"
|
|
30
|
-
"main main sidebar"
|
|
31
|
-
"aside footer footer";
|
|
32
|
-
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
33
|
-
grid-template-columns:
|
|
34
|
-
minmax(0, 1.25fr)
|
|
35
|
-
minmax(0, 0.75fr)
|
|
36
|
-
minmax(min(100%, 18rem), 0.32fr);
|
|
37
|
-
}
|
|
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
|
-
}
|
|
6
|
+
--ly-profile-gap: var(--ly-space-5);
|
|
7
|
+
--ly-grid-min: 15rem;
|
|
8
|
+
--ly-recipe-rail: 18rem;
|
|
9
|
+
--ly-recipe-aside: 18rem;
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header header sidebar"
|
|
12
|
+
"main main sidebar"
|
|
13
|
+
"aside footer footer";
|
|
14
|
+
--ly-app-shell-wide-columns:
|
|
15
|
+
minmax(0, 1.25fr)
|
|
16
|
+
minmax(0, 0.75fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.32fr);
|
|
43
18
|
}
|
|
44
19
|
}
|
|
@@ -1,36 +1,19 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
2
|
-
|
|
3
|
-
/* Layout style: retrofuturism. Twin rails frame a focused central work zone. */
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
4
2
|
|
|
5
3
|
@layer ly.personalities.retrofuturism {
|
|
6
4
|
:where(.ly-root[data-ly-layout="retrofuturism"]) {
|
|
5
|
+
--ly-personality-wrapper-max: 106rem;
|
|
6
|
+
--ly-profile-gap: var(--ly-space-5);
|
|
7
|
+
--ly-grid-min: 14rem;
|
|
7
8
|
--ly-recipe-rail: 14rem;
|
|
8
9
|
--ly-recipe-aside: 17rem;
|
|
9
|
-
--ly-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@container ly-personality (min-width: 48rem) {
|
|
19
|
-
:where(.ly-root[data-ly-layout="retrofuturism"])
|
|
20
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
21
|
-
grid-template-areas:
|
|
22
|
-
"sidebar header aside"
|
|
23
|
-
"sidebar main aside"
|
|
24
|
-
"sidebar footer aside";
|
|
25
|
-
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
26
|
-
grid-template-columns:
|
|
27
|
-
minmax(min(100%, 14rem), 0.24fr)
|
|
28
|
-
minmax(0, 1fr)
|
|
29
|
-
minmax(min(100%, 17rem), 0.3fr);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
:where(.ly-root[data-ly-layout="retrofuturism"]) .ly-grid > :nth-child(6n + 1) {
|
|
33
|
-
grid-column: span 2;
|
|
34
|
-
}
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"sidebar header aside"
|
|
12
|
+
"sidebar main aside"
|
|
13
|
+
"sidebar footer aside";
|
|
14
|
+
--ly-app-shell-wide-columns:
|
|
15
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.24fr)
|
|
16
|
+
minmax(0, 1fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-aside)), 0.3fr);
|
|
35
18
|
}
|
|
36
19
|
}
|
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
@layer ly.personalities.split_screen {
|
|
3
|
+
@layer ly.personalities.split-screen {
|
|
6
4
|
:where(.ly-root[data-ly-layout="split-screen"]) {
|
|
7
|
-
--ly-grid-columns: 2;
|
|
8
|
-
--ly-grid-min: 20rem;
|
|
9
5
|
--ly-personality-wrapper-max: 100%;
|
|
10
|
-
--ly-
|
|
11
|
-
--ly-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.ly-split,
|
|
33
|
-
.ly-split-hero,
|
|
34
|
-
[data-ly-recipe="split-hero"],
|
|
35
|
-
.ly-list-detail,
|
|
36
|
-
[data-ly-recipe="list-detail"]
|
|
37
|
-
) {
|
|
38
|
-
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
39
|
-
}
|
|
6
|
+
--ly-profile-gap: var(--ly-space-4);
|
|
7
|
+
--ly-grid-min: 20rem;
|
|
8
|
+
/*
|
|
9
|
+
Fixed preferred halves leave a shrink-safe center track in recipes that
|
|
10
|
+
retain the shared three-column dashboard topology.
|
|
11
|
+
*/
|
|
12
|
+
--ly-recipe-rail: 24rem;
|
|
13
|
+
--ly-recipe-aside: 24rem;
|
|
14
|
+
--ly-app-shell-wide-areas:
|
|
15
|
+
"header header"
|
|
16
|
+
"main sidebar"
|
|
17
|
+
"aside sidebar"
|
|
18
|
+
"footer footer";
|
|
19
|
+
--ly-app-shell-wide-columns:
|
|
20
|
+
minmax(0, 1fr)
|
|
21
|
+
minmax(0, 1fr);
|
|
22
|
+
--ly-split-hero-wide-columns:
|
|
23
|
+
minmax(0, 1fr)
|
|
24
|
+
minmax(0, 1fr);
|
|
25
|
+
--ly-list-detail-wide-columns:
|
|
26
|
+
minmax(0, 1fr)
|
|
27
|
+
minmax(0, 1fr);
|
|
40
28
|
}
|
|
41
29
|
}
|
|
@@ -1,48 +1,20 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
2
|
-
|
|
3
|
-
/* Layout style: synthwave. A cinematic center stage sits between support zones. */
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
4
2
|
|
|
5
3
|
@layer ly.personalities.synthwave {
|
|
6
4
|
:where(.ly-root[data-ly-layout="synthwave"]) {
|
|
5
|
+
--ly-personality-wrapper-max: 112rem;
|
|
6
|
+
--ly-profile-gap: var(--ly-space-6);
|
|
7
|
+
--ly-grid-min: 14rem;
|
|
7
8
|
--ly-recipe-rail: 16rem;
|
|
8
9
|
--ly-recipe-aside: 20rem;
|
|
9
|
-
--ly-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@container ly-personality (min-width: 48rem) {
|
|
20
|
-
:where(.ly-root[data-ly-layout="synthwave"])
|
|
21
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
22
|
-
grid-template-columns: minmax(min(100%, 16rem), 0.3fr) minmax(0, 1fr);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@container ly-personality (min-width: 64rem) {
|
|
27
|
-
:where(.ly-root[data-ly-layout="synthwave"])
|
|
28
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
29
|
-
grid-template-areas:
|
|
30
|
-
"header header header"
|
|
31
|
-
"sidebar main aside"
|
|
32
|
-
"footer footer footer";
|
|
33
|
-
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
34
|
-
grid-template-columns:
|
|
35
|
-
minmax(min(100%, 16rem), 0.28fr)
|
|
36
|
-
minmax(0, 1fr)
|
|
37
|
-
minmax(min(100%, 20rem), 0.34fr);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
:where(.ly-root[data-ly-layout="synthwave"]) .ly-grid > :nth-child(4n + 1) {
|
|
41
|
-
grid-column: span 3;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
:where(.ly-root[data-ly-layout="synthwave"]) .ly-reel {
|
|
45
|
-
grid-auto-columns: minmax(min(100%, 20rem), var(--ly-reel-item-max));
|
|
46
|
-
}
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header header header"
|
|
12
|
+
"sidebar main aside"
|
|
13
|
+
"footer footer footer";
|
|
14
|
+
--ly-app-shell-wide-columns:
|
|
15
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.28fr)
|
|
16
|
+
minmax(0, 1fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-aside)), 0.34fr);
|
|
18
|
+
--ly-reel-item-min: 20rem;
|
|
47
19
|
}
|
|
48
20
|
}
|
|
@@ -1,39 +1,22 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
2
|
-
|
|
3
|
-
/* Layout style: tactile. A compact left rail leaves a broad, steady work lane. */
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
4
2
|
|
|
5
3
|
@layer ly.personalities.tactile {
|
|
6
4
|
:where(.ly-root[data-ly-layout="tactile"]) {
|
|
5
|
+
--ly-personality-wrapper-max: 82rem;
|
|
6
|
+
--ly-profile-gap: var(--ly-space-4);
|
|
7
|
+
--ly-grid-min: 15rem;
|
|
7
8
|
--ly-recipe-rail: 17rem;
|
|
8
9
|
--ly-recipe-aside: 20rem;
|
|
9
|
-
--ly-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
21
|
-
grid-template-areas:
|
|
22
|
-
"sidebar header"
|
|
23
|
-
"sidebar main"
|
|
24
|
-
"sidebar aside"
|
|
25
|
-
"sidebar footer";
|
|
26
|
-
grid-template-rows: auto minmax(0, 1fr) auto auto;
|
|
27
|
-
grid-template-columns: minmax(min(100%, 17rem), 0.28fr) minmax(0, 1fr);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
:where(.ly-root[data-ly-layout="tactile"]) .ly-grid > :nth-child(5n + 2) {
|
|
31
|
-
grid-column: span 2;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
:where(.ly-root[data-ly-layout="tactile"])
|
|
35
|
-
:where(.ly-list-detail, [data-ly-recipe="list-detail"]) {
|
|
36
|
-
grid-template-columns: minmax(min(100%, 20rem), 0.42fr) minmax(0, 0.58fr);
|
|
37
|
-
}
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header header"
|
|
12
|
+
"sidebar main"
|
|
13
|
+
"aside main"
|
|
14
|
+
"footer footer";
|
|
15
|
+
--ly-app-shell-wide-columns:
|
|
16
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.28fr)
|
|
17
|
+
minmax(0, 1fr);
|
|
18
|
+
--ly-list-detail-wide-columns:
|
|
19
|
+
minmax(min(100%, var(--ly-pane-size)), 0.5fr)
|
|
20
|
+
minmax(0, 0.9fr);
|
|
38
21
|
}
|
|
39
22
|
}
|
|
@@ -1,36 +1,19 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
2
|
-
|
|
3
|
-
/* Layout style: y2k. A tall right rail frames a reversed supporting workspace. */
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
4
2
|
|
|
5
3
|
@layer ly.personalities.y2k {
|
|
6
4
|
:where(.ly-root[data-ly-layout="y2k"]) {
|
|
7
|
-
--ly-recipe-rail: 16rem;
|
|
8
|
-
--ly-recipe-aside: 18rem;
|
|
9
|
-
--ly-grid-columns: 5;
|
|
10
|
-
--ly-grid-min: 13rem;
|
|
11
5
|
--ly-personality-wrapper-max: 90rem;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"footer footer sidebar";
|
|
25
|
-
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
26
|
-
grid-template-columns:
|
|
27
|
-
minmax(min(100%, 18rem), 0.34fr)
|
|
28
|
-
minmax(0, 1fr)
|
|
29
|
-
minmax(min(100%, 16rem), 0.28fr);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
:where(.ly-root[data-ly-layout="y2k"]) .ly-grid > :nth-child(5n + 1) {
|
|
33
|
-
grid-column: span 3;
|
|
34
|
-
}
|
|
6
|
+
--ly-profile-gap: var(--ly-space-6);
|
|
7
|
+
--ly-grid-min: 13rem;
|
|
8
|
+
--ly-recipe-rail: 18rem;
|
|
9
|
+
--ly-recipe-aside: 16rem;
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header header sidebar"
|
|
12
|
+
"aside main sidebar"
|
|
13
|
+
"footer footer sidebar";
|
|
14
|
+
--ly-app-shell-wide-columns:
|
|
15
|
+
minmax(min(100%, var(--ly-recipe-aside)), 0.34fr)
|
|
16
|
+
minmax(0, 1fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.28fr);
|
|
35
18
|
}
|
|
36
19
|
}
|
|
@@ -1,49 +1,22 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
@layer ly.personalities.z_pattern {
|
|
3
|
+
@layer ly.personalities.z-pattern {
|
|
6
4
|
:where(.ly-root[data-ly-layout="z-pattern"]) {
|
|
5
|
+
--ly-personality-wrapper-max: 108rem;
|
|
6
|
+
--ly-profile-gap: var(--ly-space-5);
|
|
7
|
+
--ly-grid-min: 14rem;
|
|
7
8
|
--ly-recipe-rail: 17rem;
|
|
8
9
|
--ly-recipe-aside: 19rem;
|
|
9
|
-
--ly-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
21
|
-
grid-template-columns: minmax(min(100%, 17rem), 0.3fr) minmax(0, 1fr);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@container ly-personality (min-width: 60rem) {
|
|
26
|
-
:where(.ly-root[data-ly-layout="z-pattern"])
|
|
27
|
-
:where(.ly-app-shell, [data-ly-recipe="app-shell"]) {
|
|
28
|
-
grid-template-areas:
|
|
29
|
-
"header header sidebar"
|
|
30
|
-
"main aside sidebar"
|
|
31
|
-
"footer aside sidebar";
|
|
32
|
-
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
33
|
-
grid-template-columns:
|
|
34
|
-
minmax(0, 1.45fr)
|
|
35
|
-
minmax(min(100%, 19rem), 0.55fr)
|
|
36
|
-
minmax(min(100%, 17rem), 0.3fr);
|
|
37
|
-
}
|
|
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
|
-
}
|
|
10
|
+
--ly-app-shell-wide-areas:
|
|
11
|
+
"header header sidebar"
|
|
12
|
+
"main aside sidebar"
|
|
13
|
+
"footer aside sidebar";
|
|
14
|
+
--ly-app-shell-wide-columns:
|
|
15
|
+
minmax(0, 1.45fr)
|
|
16
|
+
minmax(min(100%, var(--ly-recipe-aside)), 0.55fr)
|
|
17
|
+
minmax(min(100%, var(--ly-recipe-rail)), 0.3fr);
|
|
18
|
+
--ly-split-hero-wide-columns:
|
|
19
|
+
minmax(0, 1.5fr)
|
|
20
|
+
minmax(0, 0.5fr);
|
|
48
21
|
}
|
|
49
22
|
}
|
package/dist/personalities.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
2
2
|
|
|
3
3
|
@import url("./personalities/minimal-saas.css");
|
|
4
4
|
@import url("./personalities/bento.css");
|
package/dist/primitives.css
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities
|
|
1
|
+
@layer ly.reset, ly.tokens, ly.wrappers, ly.primitives, ly.recipes, ly.utilities, ly.personalities;
|
|
2
2
|
|
|
3
|
-
/*
|
|
3
|
+
/* Composition primitives use intrinsic sizing so their content chooses reflow points. */
|
|
4
4
|
|
|
5
5
|
@layer ly.primitives {
|
|
6
6
|
.ly-page {
|
|
7
|
-
min-block-size:
|
|
7
|
+
min-block-size: 100vh;
|
|
8
|
+
min-block-size: 100dvh;
|
|
9
|
+
padding-block-start: var(--ly-safe-area-block-start);
|
|
10
|
+
padding-block-end: var(--ly-safe-area-block-end);
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
.ly-header,
|
|
@@ -21,9 +24,9 @@
|
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
.ly-header--sticky {
|
|
24
|
-
position: sticky;
|
|
27
|
+
position: var(--ly-sticky-position, sticky);
|
|
25
28
|
inset-block-start: 0;
|
|
26
|
-
z-index: var(--ly-z-header);
|
|
29
|
+
z-index: var(--ly-z-header, 20);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
.ly-section {
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
.ly-cover {
|
|
64
67
|
display: flex;
|
|
65
68
|
flex-direction: column;
|
|
69
|
+
min-block-size: 100vh;
|
|
66
70
|
min-block-size: var(--ly-cover-min);
|
|
67
71
|
padding-block: var(--ly-cover-padding, var(--ly-space-5));
|
|
68
72
|
}
|
|
@@ -92,6 +96,7 @@
|
|
|
92
96
|
.ly-sidebar > :where(.ly-sidebar__side, [data-ly-sidebar="side"]) {
|
|
93
97
|
flex-basis: var(--ly-sidebar-size);
|
|
94
98
|
flex-grow: 1;
|
|
99
|
+
min-inline-size: min(100%, var(--ly-sidebar-size));
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
.ly-sidebar > :where(.ly-sidebar__content, [data-ly-sidebar="content"]) {
|
|
@@ -102,55 +107,44 @@
|
|
|
102
107
|
|
|
103
108
|
.ly-grid {
|
|
104
109
|
display: grid;
|
|
105
|
-
grid-template-columns: repeat(var(--ly-grid-columns), minmax(0, 1fr));
|
|
106
|
-
gap: var(--ly-grid-gap);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.ly-grid--auto {
|
|
110
110
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-grid-min)), 1fr));
|
|
111
|
+
gap: var(--ly-grid-gap);
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
.ly-grid
|
|
114
|
-
|
|
115
|
-
.ly-panes > *,
|
|
116
|
-
.ly-media > * {
|
|
117
|
-
min-inline-size: 0;
|
|
114
|
+
.ly-grid--fixed {
|
|
115
|
+
grid-template-columns: repeat(var(--ly-grid-columns), minmax(0, 1fr));
|
|
118
116
|
}
|
|
119
117
|
|
|
120
118
|
.ly-split {
|
|
121
119
|
display: grid;
|
|
122
|
-
grid-template-columns: minmax(
|
|
120
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-split-min)), 1fr));
|
|
123
121
|
gap: var(--ly-gap);
|
|
124
122
|
align-items: var(--ly-split-align, center);
|
|
125
123
|
}
|
|
126
124
|
|
|
127
125
|
.ly-panes {
|
|
128
126
|
display: grid;
|
|
129
|
-
grid-template-columns: minmax(
|
|
127
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-pane-min)), 1fr));
|
|
130
128
|
gap: var(--ly-gap);
|
|
131
129
|
}
|
|
132
130
|
|
|
133
131
|
.ly-media {
|
|
134
132
|
display: grid;
|
|
135
|
-
grid-template-
|
|
136
|
-
"media"
|
|
137
|
-
"content"
|
|
138
|
-
"actions";
|
|
139
|
-
grid-template-columns: minmax(0, 1fr);
|
|
133
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ly-media-min)), 1fr));
|
|
140
134
|
gap: var(--ly-gap);
|
|
141
135
|
align-items: var(--ly-media-align, start);
|
|
142
136
|
}
|
|
143
137
|
|
|
144
|
-
.ly-media > :where(.ly-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.ly-media > :where(.ly-media__content, [data-ly-media="content"]) {
|
|
149
|
-
grid-area: content;
|
|
138
|
+
.ly-media > :where(.ly-media__actions, [data-ly-media="actions"]) {
|
|
139
|
+
min-inline-size: min(100%, var(--ly-media-size));
|
|
150
140
|
}
|
|
151
141
|
|
|
152
|
-
.ly-
|
|
153
|
-
|
|
142
|
+
.ly-grid > *,
|
|
143
|
+
.ly-split > *,
|
|
144
|
+
.ly-panes > *,
|
|
145
|
+
.ly-media > * {
|
|
146
|
+
min-inline-size: 0;
|
|
147
|
+
min-block-size: 0;
|
|
154
148
|
}
|
|
155
149
|
|
|
156
150
|
.ly-reel {
|
|
@@ -159,7 +153,6 @@
|
|
|
159
153
|
grid-auto-columns: minmax(min(100%, var(--ly-reel-item-min)), var(--ly-reel-item-max));
|
|
160
154
|
gap: var(--ly-grid-gap);
|
|
161
155
|
overflow-x: auto;
|
|
162
|
-
overflow-inline: auto;
|
|
163
156
|
overscroll-behavior-inline: contain;
|
|
164
157
|
scroll-snap-type: inline proximity;
|
|
165
158
|
}
|
|
@@ -183,37 +176,8 @@
|
|
|
183
176
|
.ly-scroll {
|
|
184
177
|
min-block-size: 0;
|
|
185
178
|
max-block-size: var(--ly-scroll-max);
|
|
186
|
-
overflow:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
/* Unsupported container-query browsers retain this safe DOM-order stack. */
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
@layer ly.primitives {
|
|
194
|
-
@container (min-width: 48rem) {
|
|
195
|
-
.ly-split {
|
|
196
|
-
grid-template-columns: minmax(0, var(--ly-split-primary, 1fr)) minmax(0, var(--ly-split-secondary, 1fr));
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
.ly-panes--2 {
|
|
200
|
-
grid-template-columns: minmax(0, 1fr) minmax(min(100%, var(--ly-pane-size)), 0.7fr);
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
.ly-media {
|
|
204
|
-
grid-template-areas:
|
|
205
|
-
"media content"
|
|
206
|
-
"media actions";
|
|
207
|
-
grid-template-columns: minmax(min(100%, var(--ly-media-size)), auto) minmax(0, 1fr);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@container (min-width: 64rem) {
|
|
212
|
-
.ly-panes--3 {
|
|
213
|
-
grid-template-columns:
|
|
214
|
-
minmax(min(100%, var(--ly-pane-rail, 14rem)), 0.35fr)
|
|
215
|
-
minmax(0, 1fr)
|
|
216
|
-
minmax(min(100%, var(--ly-pane-rail, 14rem)), 0.35fr);
|
|
217
|
-
}
|
|
179
|
+
overflow-x: clip;
|
|
180
|
+
overflow-y: auto;
|
|
181
|
+
overscroll-behavior-block: contain;
|
|
218
182
|
}
|
|
219
183
|
}
|