layout-style-css 1.0.0 → 1.1.1
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/CHANGELOG.md +46 -0
- package/CONTRIBUTING.md +50 -0
- package/README.md +208 -19
- package/SECURITY.md +45 -0
- package/demo/assets/social-card.png +0 -0
- package/demo/index.html +358 -82
- package/dist/layout-all.css +5 -0
- package/dist/layout-base.css +67 -0
- package/dist/layout-style-css.css +561 -0
- package/dist/layout-style-css.min.css +1 -1
- package/dist/layout-style-f-pattern.css +76 -0
- package/dist/layout-style-mondrian.css +77 -0
- package/dist/layout-style-split-screen.css +62 -0
- package/dist/layout-style-synthwave.css +88 -0
- package/dist/layout-style-z-pattern.css +76 -0
- package/dist/layout-ui-style-kit-bridge.css +105 -0
- package/docs/wiki/Contributing.md +30 -0
- package/docs/wiki/Demo-And-GitHub-Pages.md +39 -0
- package/docs/wiki/Getting-Started.md +68 -0
- package/docs/wiki/Home.md +48 -0
- package/docs/wiki/Installation-And-CDN.md +58 -0
- package/docs/wiki/Layout-Primitives.md +57 -0
- package/docs/wiki/Layout-Recipes.md +80 -0
- package/docs/wiki/Layout-Styles.md +43 -0
- package/docs/wiki/Release-And-Publishing.md +69 -0
- package/docs/wiki/Security-And-Support.md +34 -0
- package/docs/wiki/UI-Style-Kit-Compatibility.md +54 -0
- package/docs/wiki/_Sidebar.md +14 -0
- package/package.json +12 -2
- package/styles/layout-base.css +67 -0
- package/styles/layout-style-f-pattern.css +76 -0
- package/styles/layout-style-mondrian.css +77 -0
- package/styles/layout-style-split-screen.css +62 -0
- package/styles/layout-style-synthwave.css +88 -0
- package/styles/layout-style-z-pattern.css +76 -0
- package/styles/layout-ui-style-kit-bridge.css +105 -0
- package/demo/assets/social-card.svg +0 -17
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `layout-style-css` are documented here.
|
|
4
|
+
|
|
5
|
+
This project follows semantic versioning. The `1.1.1` release is additive and keeps the existing `ly-*` public contract intact.
|
|
6
|
+
|
|
7
|
+
## [1.1.1] - 2026-07-05
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added versioned wiki documentation under `docs/wiki` for installation, layout primitives, recipes, UI Style Kit compatibility, demo deployment, publishing, security, and contribution workflows.
|
|
12
|
+
- Added UI Style Kit-compatible structural aliases for `saas`, `bento`, `max`, `bau`, `tactile`, `neo`, `retro`, `brutal`, `cyber`, `y2k`, and `rg` prefixes.
|
|
13
|
+
- Added layout recipe helpers for button groups, card grids, card sizing, galleries, and carousels.
|
|
14
|
+
- Added F-Pattern, Z-Pattern, Split-Screen, Mondrian, and Synthwave layout styles.
|
|
15
|
+
- Added `layout-style-css/all-with-ui-kit-and-interactive-surface.css` for the three-library import path.
|
|
16
|
+
- Added direct `./dist/*.css` package exports for consumers that need generated dist files.
|
|
17
|
+
- Added `CHANGELOG.md`, `CONTRIBUTING.md`, and `SECURITY.md` to the release documentation set.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Reworked the demo mobile controls into a compact drawer so the sticky header does not consume the mobile viewport.
|
|
22
|
+
- Expanded the demo to cover app shell, wrappers, split layouts, sidebars, panes, button groups, card grids, card sizes, galleries, carousels, frames, and scroll areas.
|
|
23
|
+
- Updated README examples to use exported CSS entrypoints and valid CDN links.
|
|
24
|
+
- Updated npm release metadata, package file allowlist, and release verification scripts for the `1.1.1` package.
|
|
25
|
+
- Updated the npm publish workflow to publish from `release.published` events and explicit `workflow_dispatch` tags.
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
- Fixed README quick-start imports that referenced non-exported paths.
|
|
30
|
+
- Fixed malformed UI Style Kit CDN link markup in the README.
|
|
31
|
+
- Clarified responsive column utility documentation so class groups do not imply bare numeric class names.
|
|
32
|
+
- Preserved GitHub Pages artifact generation with a Pages-root `index.html`.
|
|
33
|
+
- Fixed the release automation path so draft releases can be published before the npm workflow runs.
|
|
34
|
+
|
|
35
|
+
### Security
|
|
36
|
+
|
|
37
|
+
- Kept the layout CSS contract free of visual properties owned by `ui-style-kit-css`.
|
|
38
|
+
- Kept the package CSS-only at runtime with no network calls, dynamic script execution, or secret handling.
|
|
39
|
+
- Added release verification coverage for npm pack contents and documentation completeness.
|
|
40
|
+
|
|
41
|
+
## [1.0.0]
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- Initial public release of layout primitives, layout style files, generated dist bundles, and demo coverage.
|
|
46
|
+
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for improving `layout-style-css`. This repository is a CSS layout library, so changes should keep structure, spacing, responsive behavior, and package contracts separate from visual styling.
|
|
4
|
+
|
|
5
|
+
## Local Setup
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
npm run build
|
|
10
|
+
npm run lint
|
|
11
|
+
npm test
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Run the full release gate before opening a release PR:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm run release:verify
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Development Rules
|
|
21
|
+
|
|
22
|
+
- Keep authored CSS in `styles/`.
|
|
23
|
+
- Regenerate `dist/` with `npm run build`; do not hand-edit generated dist files.
|
|
24
|
+
- Keep public layout classes prefixed with `ly-`.
|
|
25
|
+
- Leave colors, typography, borders, shadows, native controls, focus states, themes, and modes to `ui-style-kit-css`.
|
|
26
|
+
- Add structural aliases in `styles/layout-ui-style-kit-bridge.css` only when they map to layout primitives or layout recipes.
|
|
27
|
+
- Update README, `docs/wiki`, and `CHANGELOG.md` when a public class, export, recipe, release workflow, or package behavior changes.
|
|
28
|
+
|
|
29
|
+
## Testing Expectations
|
|
30
|
+
|
|
31
|
+
Every change that affects public behavior should update or preserve:
|
|
32
|
+
|
|
33
|
+
- `test/layout-css-contract.test.mjs` for package, CSS, docs, and tarball contracts.
|
|
34
|
+
- `test/demo-smoke.test.mjs` for rendered demo behavior.
|
|
35
|
+
- `test/pages-artifact.test.mjs` for GitHub Pages output.
|
|
36
|
+
- `stylelint` for authored CSS formatting.
|
|
37
|
+
|
|
38
|
+
## Review Checklist
|
|
39
|
+
|
|
40
|
+
- The package remains publishable as a public npm library.
|
|
41
|
+
- The npm tarball contains only intended release files.
|
|
42
|
+
- README examples use exported package entrypoints.
|
|
43
|
+
- Documentation links resolve to versioned files.
|
|
44
|
+
- Demo controls remain compact on mobile and tablet viewports.
|
|
45
|
+
- New CSS does not introduce UI Style Kit-owned visual declarations.
|
|
46
|
+
|
|
47
|
+
## Wiki Updates
|
|
48
|
+
|
|
49
|
+
The source for the project wiki is `docs/wiki/`. If GitHub Wiki is enabled for the repository, mirror those files into the wiki remote after the main branch documentation is merged.
|
|
50
|
+
|
package/README.md
CHANGED
|
@@ -4,6 +4,28 @@ Responsive CSS layout primitives for shell-first interfaces.
|
|
|
4
4
|
|
|
5
5
|
`layout-style-css` gives applications a small, predictable composition layer: wrappers, app shells, grids, panes, sidebars, split sections, spacing utilities, and switchable layout personalities. It is designed to pair with `ui-style-kit-css@2.0.1`, while keeping layout decisions independent from visual theme decisions.
|
|
6
6
|
|
|
7
|
+
## Documentation And Wiki
|
|
8
|
+
|
|
9
|
+
The versioned wiki source lives in this repository so docs can be reviewed with code changes and shipped with the npm package:
|
|
10
|
+
|
|
11
|
+
| Resource | Use it for |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| [Wiki home](docs/wiki/Home.md) | Release overview and navigation. |
|
|
14
|
+
| [Getting started](docs/wiki/Getting-Started.md) | First install, first shell, and switching layouts. |
|
|
15
|
+
| [Installation and CDN](docs/wiki/Installation-And-CDN.md) | npm, bundler, CDN, and package entrypoint guidance. |
|
|
16
|
+
| [Layout primitives](docs/wiki/Layout-Primitives.md) | Wrapper, shell, grid, pane, frame, and utility contracts. |
|
|
17
|
+
| [Layout recipes](docs/wiki/Layout-Recipes.md) | Copyable app shell, button group, card grid, gallery, and carousel patterns. |
|
|
18
|
+
| [Layout styles](docs/wiki/Layout-Styles.md) | All layout personalities, including F-Pattern, Z-Pattern, Split-Screen, Mondrian, and Synthwave. |
|
|
19
|
+
| [UI Style Kit compatibility](docs/wiki/UI-Style-Kit-Compatibility.md) | Prefix aliases and the boundary between structure and visual styling. |
|
|
20
|
+
| [Demo and GitHub Pages](docs/wiki/Demo-And-GitHub-Pages.md) | Demo QA, Pages artifact behavior, and deployment setup. |
|
|
21
|
+
| [Release and publishing](docs/wiki/Release-And-Publishing.md) | v1.1.1 release checklist, npm verification, and tag guidance. |
|
|
22
|
+
| [Security and support](docs/wiki/Security-And-Support.md) | Security model, supported versions, and reporting path. |
|
|
23
|
+
| [Contributing](docs/wiki/Contributing.md) | Local development, CSS rules, and review expectations. |
|
|
24
|
+
| [Wiki sidebar source](docs/wiki/_Sidebar.md) | Navigation file for a GitHub Wiki mirror. |
|
|
25
|
+
| [Changelog](CHANGELOG.md) | Version history. |
|
|
26
|
+
| [Project contributing guide](CONTRIBUTING.md) | Repository-level contribution workflow. |
|
|
27
|
+
| [Security policy](SECURITY.md) | Repository-level security policy. |
|
|
28
|
+
|
|
7
29
|
## Why It Exists
|
|
8
30
|
|
|
9
31
|
Modern UI systems often mix two concerns:
|
|
@@ -15,14 +37,30 @@ This package owns the spatial layer only. That separation lets you change layout
|
|
|
15
37
|
|
|
16
38
|
## Install
|
|
17
39
|
|
|
40
|
+
Use as a standalone layout system with all styles or just one layout personality.
|
|
41
|
+
|
|
18
42
|
```bash
|
|
19
|
-
|
|
43
|
+
# Install the full layout system
|
|
44
|
+
npm install layout-style-css@1.1.1
|
|
20
45
|
```
|
|
21
46
|
|
|
22
|
-
|
|
47
|
+
Then import whichever CSS entrypoints you need:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
import "layout-style-css/base.css";
|
|
51
|
+
import "layout-style-css/minimal-saas.css";
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Pair with UI Style Kit CSS for a complete layout and visual system. Themes and layouts can mix and match UI styles. Set the vibe with color schemes that offer a range of moods, from minimal to maximal, from Bauhaus to Brutalism.
|
|
23
55
|
|
|
24
56
|
```bash
|
|
25
|
-
npm install
|
|
57
|
+
npm install layout-style-css@1.1.1 ui-style-kit-css@2.0.1
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Additionally installing Interactive Surface CSS sets you up with a complete reactive layout and surface system.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm install layout-style-css@1.1.1 ui-style-kit-css@2.0.1 interactive-surface-css@1.2.5
|
|
26
64
|
```
|
|
27
65
|
|
|
28
66
|
## Quick Start
|
|
@@ -30,7 +68,17 @@ npm install interactive-surface-css@1.2.5
|
|
|
30
68
|
Import UI Style Kit first, then the layout CSS:
|
|
31
69
|
|
|
32
70
|
```js
|
|
33
|
-
import "
|
|
71
|
+
import "interactive-surface-css/interactive-surface.css";
|
|
72
|
+
import "ui-style-kit-css/with-bridge.css";
|
|
73
|
+
import "layout-style-css/bridge.css";
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
For a direct three-library setup, import each CSS entrypoint explicitly:
|
|
77
|
+
|
|
78
|
+
```js
|
|
79
|
+
import "ui-style-kit-css/with-bridge.css";
|
|
80
|
+
import "interactive-surface-css/interactive-surface.css";
|
|
81
|
+
import "layout-style-css/bridge.css";
|
|
34
82
|
import "layout-style-css";
|
|
35
83
|
```
|
|
36
84
|
|
|
@@ -39,10 +87,10 @@ Use one root element for UI style, layout style, theme, and mode:
|
|
|
39
87
|
```html
|
|
40
88
|
<body
|
|
41
89
|
class="ly-root"
|
|
42
|
-
data-ui="
|
|
43
|
-
data-layout="
|
|
44
|
-
data-theme="
|
|
45
|
-
data-mode="
|
|
90
|
+
data-ui="retro-glass"
|
|
91
|
+
data-layout="cyberpunk"
|
|
92
|
+
data-theme="ocean-steel"
|
|
93
|
+
data-mode="auto"
|
|
46
94
|
>
|
|
47
95
|
<div class="ly-app-shell">
|
|
48
96
|
<aside class="ly-app-sidebar ly-pad-6">Navigation</aside>
|
|
@@ -70,11 +118,12 @@ Layout-only CDN entry:
|
|
|
70
118
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/layout-style-css@1/dist/layout-style-css.min.css">
|
|
71
119
|
```
|
|
72
120
|
|
|
73
|
-
Recommended CDN pairing with UI Style Kit:
|
|
121
|
+
Recommended CDN pairing with UI Style Kit and Interactive Surface:
|
|
74
122
|
|
|
75
123
|
```html
|
|
76
|
-
<link rel="stylesheet" href="https://unpkg.com/ui-style-kit-css@2.0.1/dist/ui-style-kit.min.css">
|
|
124
|
+
<link rel="stylesheet" href="https://unpkg.com/ui-style-kit-css@2.0.1/dist/ui-style-kit.with-bridge.min.css">
|
|
77
125
|
<link rel="stylesheet" href="https://unpkg.com/layout-style-css@1/dist/layout-style-css.min.css">
|
|
126
|
+
<link rel="stylesheet" href="https://unpkg.com/interactive-surface-css@1.2.5/dist/interactive-surface.min.css">
|
|
78
127
|
```
|
|
79
128
|
|
|
80
129
|
## Import Options
|
|
@@ -85,7 +134,7 @@ Recommended CDN pairing with UI Style Kit:
|
|
|
85
134
|
| `import "layout-style-css/min.css";` | Minified layout-only CSS. |
|
|
86
135
|
| `import "layout-style-css/all.css";` | Import-based bundle for all layout files. |
|
|
87
136
|
| `import "layout-style-css/base.css";` | Base primitives only. |
|
|
88
|
-
| `import "layout-style-css/minimal-saas.css";` | One layout personality. |
|
|
137
|
+
| `import "layout-style-css/minimal-saas.css";` | One layout personality; the same pattern works for every layout style export. |
|
|
89
138
|
| `import "layout-style-css/all-with-ui-kit.css";` | UI Style Kit plus all layouts. |
|
|
90
139
|
| `import "layout-style-css/all-with-ui-kit-and-interactive-surface.css";` | UI Style Kit, Interactive Surface, and all layouts. |
|
|
91
140
|
|
|
@@ -97,6 +146,49 @@ The three-library aggregate imports in this order:
|
|
|
97
146
|
@import url("./layout-all.css");
|
|
98
147
|
```
|
|
99
148
|
|
|
149
|
+
## UI Style Kit Naming Compatibility
|
|
150
|
+
|
|
151
|
+
Use the aggregate import when a project wants UI Style Kit visuals and Layout Style CSS structure from one package entry:
|
|
152
|
+
|
|
153
|
+
```js
|
|
154
|
+
import "layout-style-css/all-with-ui-kit.css";
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
The bridge intentionally aliases structural classes and layout recipes only. UI Style Kit still owns component paint, typography, borders, shadows, native controls, focus states, themes, and modes.
|
|
158
|
+
|
|
159
|
+
Supported UI-style prefixes are `saas`, `bento`, `max`, `bau`, `tactile`, `neo`, `retro`, `brutal`, `cyber`, `y2k`, and `rg`.
|
|
160
|
+
|
|
161
|
+
| Alias pattern | Maps to |
|
|
162
|
+
| --- | --- |
|
|
163
|
+
| `<prefix>-container` | `.ly-wrapper` |
|
|
164
|
+
| `<prefix>-section` | `.ly-section` |
|
|
165
|
+
| `<prefix>-stack` | `.ly-stack` |
|
|
166
|
+
| `<prefix>-cluster` | `.ly-cluster` |
|
|
167
|
+
| `<prefix>-grid` | `.ly-grid` |
|
|
168
|
+
| `<prefix>-split` | `.ly-split` |
|
|
169
|
+
| `<prefix>-button-group` | `.ly-button-group` |
|
|
170
|
+
| `<prefix>-card-grid` | `.ly-card-grid` |
|
|
171
|
+
| `<prefix>-card-sm`, `<prefix>-card-md`, `<prefix>-card-lg` | `.ly-card-sm`, `.ly-card-md`, `.ly-card-lg` |
|
|
172
|
+
| `<prefix>-gallery` | `.ly-gallery` |
|
|
173
|
+
| `<prefix>-carousel` | `.ly-carousel` |
|
|
174
|
+
|
|
175
|
+
Example:
|
|
176
|
+
|
|
177
|
+
```html
|
|
178
|
+
<section class="saas-container saas-section">
|
|
179
|
+
<div class="saas-card-grid">
|
|
180
|
+
<article class="saas-card ly-card-md">Metric</article>
|
|
181
|
+
<article class="saas-card ly-card-md">Metric</article>
|
|
182
|
+
<article class="saas-card ly-card-md">Metric</article>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<div class="saas-button-group">
|
|
186
|
+
<button class="saas-button">Save</button>
|
|
187
|
+
<button class="saas-button-secondary">Export</button>
|
|
188
|
+
</div>
|
|
189
|
+
</section>
|
|
190
|
+
```
|
|
191
|
+
|
|
100
192
|
## Responsive Wrapper API
|
|
101
193
|
|
|
102
194
|
Use `.ly-wrapper` for new markup. `.ly-container` remains supported for compatibility.
|
|
@@ -206,6 +298,82 @@ Use for inboxes, editors, queues, and preview workflows.
|
|
|
206
298
|
</section>
|
|
207
299
|
```
|
|
208
300
|
|
|
301
|
+
### Button Group
|
|
302
|
+
|
|
303
|
+
Use for responsive action rows that should wrap without forcing buttons to full-width.
|
|
304
|
+
|
|
305
|
+
```html
|
|
306
|
+
<div class="ly-button-group">
|
|
307
|
+
<button class="saas-button">Save</button>
|
|
308
|
+
<button class="saas-button-secondary">Preview</button>
|
|
309
|
+
<button class="saas-button-secondary">Export</button>
|
|
310
|
+
</div>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Card Grid
|
|
314
|
+
|
|
315
|
+
Use for repeated cards that need a resilient auto-fit layout.
|
|
316
|
+
|
|
317
|
+
```html
|
|
318
|
+
<div class="ly-card-grid">
|
|
319
|
+
<article class="saas-card ly-card-md">Plan</article>
|
|
320
|
+
<article class="saas-card ly-card-md">Plan</article>
|
|
321
|
+
<article class="saas-card ly-card-md">Plan</article>
|
|
322
|
+
</div>
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
The same structure can use UI-prefix aliases such as `.saas-card-grid`:
|
|
326
|
+
|
|
327
|
+
```html
|
|
328
|
+
<div class="saas-card-grid">
|
|
329
|
+
<article class="saas-card saas-card-md">Plan</article>
|
|
330
|
+
<article class="saas-card saas-card-md">Plan</article>
|
|
331
|
+
</div>
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Card Size
|
|
335
|
+
|
|
336
|
+
Use card size helpers when a repeated surface needs consistent minimum block sizing.
|
|
337
|
+
|
|
338
|
+
```html
|
|
339
|
+
<article class="ly-surface ly-card-sm">Compact card</article>
|
|
340
|
+
<article class="ly-surface ly-card-md">Standard card</article>
|
|
341
|
+
<article class="ly-surface ly-card-lg">Feature card</article>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Gallery
|
|
345
|
+
|
|
346
|
+
Use for responsive media or object grids. Pair it with `.ly-frame` to keep ratios stable.
|
|
347
|
+
|
|
348
|
+
```html
|
|
349
|
+
<div class="ly-gallery">
|
|
350
|
+
<figure class="ly-frame ly-frame-4x3">Media</figure>
|
|
351
|
+
<figure class="ly-frame ly-frame-4x3">Media</figure>
|
|
352
|
+
<figure class="ly-frame ly-frame-4x3">Media</figure>
|
|
353
|
+
</div>
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Carousel
|
|
357
|
+
|
|
358
|
+
Use for horizontal groups that need scroll snapping without adding visual chrome.
|
|
359
|
+
|
|
360
|
+
```html
|
|
361
|
+
<div class="ly-carousel">
|
|
362
|
+
<article class="ly-surface ly-card-md">Step one</article>
|
|
363
|
+
<article class="ly-surface ly-card-md">Step two</article>
|
|
364
|
+
<article class="ly-surface ly-card-md">Step three</article>
|
|
365
|
+
</div>
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### Frame And Scroll
|
|
369
|
+
|
|
370
|
+
Use frames for predictable media ratios and scroll areas for bounded panes.
|
|
371
|
+
|
|
372
|
+
```html
|
|
373
|
+
<div class="ly-frame ly-frame-16x9">Preview</div>
|
|
374
|
+
<aside class="ly-scroll-area ly-overflow-auto">Scrollable content</aside>
|
|
375
|
+
```
|
|
376
|
+
|
|
209
377
|
## Base Primitives
|
|
210
378
|
|
|
211
379
|
| Class | Purpose |
|
|
@@ -219,6 +387,11 @@ Use for inboxes, editors, queues, and preview workflows.
|
|
|
219
387
|
| `.ly-cluster` | Wrapping horizontal group. |
|
|
220
388
|
| `.ly-grid` | CSS Grid foundation. |
|
|
221
389
|
| `.ly-grid--auto` | Responsive auto-fit grid. |
|
|
390
|
+
| `.ly-button-group` | Wrapping action group with stable child sizing. |
|
|
391
|
+
| `.ly-card-grid` | Auto-fit card grid recipe. |
|
|
392
|
+
| `.ly-card-sm`, `.ly-card-md`, `.ly-card-lg` | Consistent minimum card block sizes. |
|
|
393
|
+
| `.ly-gallery` | Responsive gallery grid recipe. |
|
|
394
|
+
| `.ly-carousel` | Horizontal scroll-snap recipe. |
|
|
222
395
|
| `.ly-row`, `.ly-col`, `.ly-col-*` | Flex row and column utilities. |
|
|
223
396
|
| `.ly-app-shell` | Header/sidebar/main shell. |
|
|
224
397
|
| `.ly-app-header`, `.ly-app-sidebar`, `.ly-app-main` | App shell regions. |
|
|
@@ -237,8 +410,8 @@ Utilities are composition-only. They set layout variables, spacing, flow, visibi
|
|
|
237
410
|
| Class group | Purpose |
|
|
238
411
|
| --- | --- |
|
|
239
412
|
| `.ly-cols-1` through `.ly-cols-12`, `.ly-cols-16` | Set the base grid column count. |
|
|
240
|
-
| `.ly-md-cols-1
|
|
241
|
-
| `.ly-lg-cols-1
|
|
413
|
+
| `.ly-md-cols-{1,2,3,4,6,8,12,16}` | Change grid column count from the tablet breakpoint up. |
|
|
414
|
+
| `.ly-lg-cols-{1,2,3,4,6,8,12,16}` | Change grid column count from the desktop breakpoint up. |
|
|
242
415
|
| `.ly-span-1` through `.ly-span-16` | Span a grid item across a fixed number of tracks. |
|
|
243
416
|
| `.ly-span-full` | Span a grid item across the full grid. |
|
|
244
417
|
|
|
@@ -298,6 +471,11 @@ Each layout style file targets layout selectors only. It does not key off `data-
|
|
|
298
471
|
| `cyberpunk` | `layout-style-cyberpunk.css` | Narrow utility rail with dense command workspace, compact gutters, and clipped panels. |
|
|
299
472
|
| `y2k` | `layout-style-y2k.css` | Centered hub shell with floating window rhythm and dock-like support regions. |
|
|
300
473
|
| `retro-glass` | `layout-style-retro-glass.css` | Top-framed glass shell with a floating right utility rail and layered panes. |
|
|
474
|
+
| `f-pattern` | `layout-style-f-pattern.css` | F-Pattern scan path with a top band, persistent left rail, and heavier early content rows. |
|
|
475
|
+
| `z-pattern` | `layout-style-z-pattern.css` | Z-Pattern scan path that leads from a broad header into primary content and a right support rail. |
|
|
476
|
+
| `split-screen` | `layout-style-split-screen.css` | Split-Screen shell that gives main and support regions equal competing weight. |
|
|
477
|
+
| `mondrian` | `layout-style-mondrian.css` | Mondrian block composition with asymmetrical rectangular spans and compact gaps. |
|
|
478
|
+
| `synthwave` | `layout-style-synthwave.css` | Synthwave stage composition with wide cinematic content, dock-like support areas, and horizontal preview rhythm. |
|
|
301
479
|
|
|
302
480
|
## Mix And Match Contract
|
|
303
481
|
|
|
@@ -314,6 +492,8 @@ data-ui="cyberpunk" data-layout="maximalist" data-theme="arctic-indigo" data-mod
|
|
|
314
492
|
data-ui="bauhaus" data-layout="retro-glass" data-theme="graphite-cyan" data-mode="dark"
|
|
315
493
|
data-ui="minimal-saas" data-layout="bento" data-theme="ocean-steel" data-mode="light"
|
|
316
494
|
data-ui="brutalism" data-layout="cyberpunk" data-theme="midnight-gold" data-mode="contrast"
|
|
495
|
+
data-ui="cyberpunk" data-layout="synthwave" data-theme="cyber-lime" data-mode="dark"
|
|
496
|
+
data-ui="bauhaus" data-layout="mondrian" data-theme="graphite-cyan" data-mode="contrast"
|
|
317
497
|
```
|
|
318
498
|
|
|
319
499
|
Supported layout selectors:
|
|
@@ -354,6 +534,8 @@ The artifact is written to `output/github-pages/` and contains:
|
|
|
354
534
|
- generated `dist/` CSS
|
|
355
535
|
- `.nojekyll`
|
|
356
536
|
|
|
537
|
+
Before the workflow can deploy, enable GitHub Pages in repository Settings > Pages and set the source to GitHub Actions.
|
|
538
|
+
|
|
357
539
|
The repository includes a GitHub Actions workflow that verifies the package, builds the artifact, uploads it, and deploys it to GitHub Pages from `main` or `workflow_dispatch`.
|
|
358
540
|
|
|
359
541
|
## Package Files
|
|
@@ -378,6 +560,12 @@ demo/
|
|
|
378
560
|
scripts/
|
|
379
561
|
build.mjs
|
|
380
562
|
build-pages.mjs
|
|
563
|
+
docs/wiki/
|
|
564
|
+
Home.md
|
|
565
|
+
*.md
|
|
566
|
+
CHANGELOG.md
|
|
567
|
+
CONTRIBUTING.md
|
|
568
|
+
SECURITY.md
|
|
381
569
|
```
|
|
382
570
|
|
|
383
571
|
`styles/` is the authored source. `dist/` and `output/github-pages/` are generated.
|
|
@@ -404,16 +592,17 @@ The check command builds `dist/`, runs Stylelint, runs contract tests, runs resp
|
|
|
404
592
|
Before publishing:
|
|
405
593
|
|
|
406
594
|
```bash
|
|
407
|
-
npm view layout-style-css@1.
|
|
408
|
-
npm run release:verify
|
|
595
|
+
npm view layout-style-css@1.1.1 version --json
|
|
596
|
+
npm run release:verify
|
|
597
|
+
npm audit --audit-level=moderate
|
|
409
598
|
```
|
|
410
599
|
|
|
411
600
|
Publish and verify:
|
|
412
601
|
|
|
413
602
|
```bash
|
|
414
|
-
npm login
|
|
415
|
-
npm publish --access public
|
|
416
|
-
npm view layout-style-css@1.
|
|
603
|
+
npm login
|
|
604
|
+
npm publish --access public
|
|
605
|
+
npm view layout-style-css@1.1.1
|
|
417
606
|
```
|
|
418
607
|
|
|
419
608
|
After publish, verify these CDN URLs:
|
|
@@ -423,7 +612,7 @@ https://unpkg.com/layout-style-css@1/dist/layout-style-css.min.css
|
|
|
423
612
|
https://cdn.jsdelivr.net/npm/layout-style-css@1/dist/layout-style-css.min.css
|
|
424
613
|
```
|
|
425
614
|
|
|
426
|
-
Tag the release as `v1.
|
|
615
|
+
Tag the release as `v1.1.1` in `Foscat/layout-style-css`. The npm publish workflow runs when that release is published and can be recovered manually from Actions with `release_tag` set to `v1.1.1`.
|
|
427
616
|
|
|
428
617
|
## Compatibility
|
|
429
618
|
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
`layout-style-css` is a CSS-only layout package. It does not execute JavaScript at runtime, make network requests, process user input, store credentials, or read secrets.
|
|
4
|
+
|
|
5
|
+
## Supported Versions
|
|
6
|
+
|
|
7
|
+
| Version | Supported |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| `1.1.x` | Yes |
|
|
10
|
+
| `1.0.x` | Security fixes only when practical |
|
|
11
|
+
|
|
12
|
+
## Reporting A Vulnerability
|
|
13
|
+
|
|
14
|
+
Use GitHub security advisories for private reports when available. If advisories are not enabled, open a minimal GitHub issue that avoids public exploit details and asks for a private coordination path.
|
|
15
|
+
|
|
16
|
+
Please include:
|
|
17
|
+
|
|
18
|
+
- affected version and package entrypoint
|
|
19
|
+
- affected selector, file, or demo behavior
|
|
20
|
+
- reproduction steps
|
|
21
|
+
- expected impact
|
|
22
|
+
- whether the issue affects package consumers, the demo, or GitHub Pages deployment
|
|
23
|
+
|
|
24
|
+
## Security Model
|
|
25
|
+
|
|
26
|
+
The primary security risks for this package are supply-chain and documentation risks:
|
|
27
|
+
|
|
28
|
+
- incorrect package exports that make consumers import unexpected files
|
|
29
|
+
- malformed CDN examples that point to wrong assets
|
|
30
|
+
- accidental runtime JavaScript or network behavior in docs or demo code
|
|
31
|
+
- package contents that include secrets, build caches, or unrelated local files
|
|
32
|
+
- CSS that hides important controls or breaks keyboard-visible flows in the demo
|
|
33
|
+
|
|
34
|
+
The release gate verifies package contents, README imports, documentation links, CSS contracts, rendered demo behavior, and GitHub Pages artifact structure.
|
|
35
|
+
|
|
36
|
+
## Dependency Checks
|
|
37
|
+
|
|
38
|
+
Run the local dependency audit before publishing:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm audit --audit-level=moderate
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The package also uses `npm run release:verify` to run build, lint, tests, pack dry-run, and publish dry-run checks.
|
|
45
|
+
|
|
Binary file
|