layout-style-css 1.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/LICENSE +21 -0
- package/README.md +447 -0
- package/demo/assets/apple-touch-icon.svg +7 -0
- package/demo/assets/favicon.svg +7 -0
- package/demo/assets/social-card.svg +17 -0
- package/demo/browserconfig.xml +9 -0
- package/demo/index.html +700 -0
- package/demo/robots.txt +4 -0
- package/demo/site.webmanifest +23 -0
- package/demo/sitemap.xml +9 -0
- package/dist/layout-all-with-ui-kit-and-interactive-surface.css +3 -0
- package/dist/layout-all-with-ui-kit.css +2 -0
- package/dist/layout-all.css +13 -0
- package/dist/layout-base.css +472 -0
- package/dist/layout-style-bauhaus.css +70 -0
- package/dist/layout-style-bento.css +76 -0
- package/dist/layout-style-brutalism.css +70 -0
- package/dist/layout-style-css.css +1367 -0
- package/dist/layout-style-css.min.css +1 -0
- package/dist/layout-style-cyberpunk.css +70 -0
- package/dist/layout-style-maximalist.css +93 -0
- package/dist/layout-style-minimal-saas.css +67 -0
- package/dist/layout-style-neumorphism.css +72 -0
- package/dist/layout-style-retro-glass.css +82 -0
- package/dist/layout-style-retrofuturism.css +71 -0
- package/dist/layout-style-tactile.css +70 -0
- package/dist/layout-style-y2k.css +72 -0
- package/dist/layout-ui-style-kit-bridge.css +55 -0
- package/package.json +97 -0
- package/styles/layout-base.css +472 -0
- package/styles/layout-style-bauhaus.css +70 -0
- package/styles/layout-style-bento.css +76 -0
- package/styles/layout-style-brutalism.css +70 -0
- package/styles/layout-style-cyberpunk.css +70 -0
- package/styles/layout-style-maximalist.css +93 -0
- package/styles/layout-style-minimal-saas.css +67 -0
- package/styles/layout-style-neumorphism.css +72 -0
- package/styles/layout-style-retro-glass.css +82 -0
- package/styles/layout-style-retrofuturism.css +71 -0
- package/styles/layout-style-tactile.css +70 -0
- package/styles/layout-style-y2k.css +72 -0
- package/styles/layout-ui-style-kit-bridge.css +55 -0
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Compatibility bridge for ui-style-kit-css.
|
|
3
|
+
This bridge intentionally does not map color, type, border, or shadow tokens.
|
|
4
|
+
ui-style-kit-css owns those visuals; layout-style-library owns structure.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
@layer ly.bridge {
|
|
8
|
+
:where(.ly-root[data-ui][data-theme][data-mode], [data-ui][data-theme][data-mode] .ly-root) {
|
|
9
|
+
--ly-ui-style-kit-bridge: 1;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
:where(.ly-root[data-ui="minimal-saas"], [data-ui="minimal-saas"] .ly-root) {
|
|
13
|
+
--ly-ui-style-kit-bridge-style: minimal-saas;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
:where(.ly-root[data-ui="bento"], [data-ui="bento"] .ly-root) {
|
|
17
|
+
--ly-ui-style-kit-bridge-style: bento;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:where(.ly-root[data-ui="maximalist"], [data-ui="maximalist"] .ly-root) {
|
|
21
|
+
--ly-ui-style-kit-bridge-style: maximalist;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:where(.ly-root[data-ui="bauhaus"], [data-ui="bauhaus"] .ly-root) {
|
|
25
|
+
--ly-ui-style-kit-bridge-style: bauhaus;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
:where(.ly-root[data-ui="tactile"], [data-ui="tactile"] .ly-root) {
|
|
29
|
+
--ly-ui-style-kit-bridge-style: tactile;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:where(.ly-root[data-ui="neumorphism"], [data-ui="neumorphism"] .ly-root) {
|
|
33
|
+
--ly-ui-style-kit-bridge-style: neumorphism;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:where(.ly-root[data-ui="retrofuturism"], [data-ui="retrofuturism"] .ly-root) {
|
|
37
|
+
--ly-ui-style-kit-bridge-style: retrofuturism;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:where(.ly-root[data-ui="brutalism"], [data-ui="brutalism"] .ly-root) {
|
|
41
|
+
--ly-ui-style-kit-bridge-style: brutalism;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
:where(.ly-root[data-ui="cyberpunk"], [data-ui="cyberpunk"] .ly-root) {
|
|
45
|
+
--ly-ui-style-kit-bridge-style: cyberpunk;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:where(.ly-root[data-ui="y2k"], [data-ui="y2k"] .ly-root) {
|
|
49
|
+
--ly-ui-style-kit-bridge-style: y2k;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:where(.ly-root[data-ui="retro-glass"], [data-ui="retro-glass"] .ly-root) {
|
|
53
|
+
--ly-ui-style-kit-bridge-style: retro-glass;
|
|
54
|
+
}
|
|
55
|
+
}
|