ply-css 1.4.0 → 1.5.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/llms-full.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # plycss (ply) — Complete Documentation
2
2
 
3
- > ply is a ratio-based, AI-ready CSS framework with built-in dark mode, WCAG 2.1 AA accessibility, and a small footprint (~20KB gzipped). 421 utility classes, 60+ CSS custom properties, 13 auto-styled semantic elements. No JavaScript. No build step. Install via npm as `plycss` or use the CDN.
3
+ > ply is a ratio-based, AI-ready CSS framework with built-in dark mode, WCAG 2.1 AA accessibility, and a small footprint (~21KB gzipped). 457 utility classes, 120+ CSS custom properties, 13 auto-styled semantic elements. No JavaScript. No build step. Install via npm as `plycss` or use the CDN.
4
4
 
5
5
  ---
6
6
 
@@ -41,7 +41,7 @@ Core bundle (no labels, dropdowns, loaders, print):
41
41
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ply-css@1/dist/css/ply-core.min.css">
42
42
  ```
43
43
 
44
- Bundles: `ply.min.css` (~20KB gzip, everything), `ply-core.min.css` (~17KB, grid+buttons+forms+nav+alerts+tables+typography+helpers), `ply-essentials.min.css` (~6KB, grid+helpers), `ply-helpers.min.css` (~4KB, helpers only).
44
+ Bundles: `ply.min.css` (~21KB gzip, everything), `ply-core.min.css` (~17KB, grid+buttons+forms+nav+alerts+tables+typography+helpers), `ply-essentials.min.css` (~7KB, grid+helpers), `ply-helpers.min.css` (~5KB, helpers only).
45
45
 
46
46
  ---
47
47
 
@@ -262,7 +262,7 @@ Override `--ply-*` custom properties to theme the entire app with one CSS block:
262
262
  <html data-theme="brand">
263
263
  ```
264
264
 
265
- Setting any `data-theme` value prevents auto dark mode from interfering. All 60+ `--ply-*` variables are listed in the `customProperties` section of `ply-classes.json`.
265
+ Setting any `data-theme` value prevents auto dark mode from interfering. All 120+ `--ply-*` variables are listed in the `customProperties` section of `ply-classes.json`.
266
266
 
267
267
  **Important:** If you override colors, verify 4.5:1 contrast for normal text and 3:1 for large text (18px bold / 24px) and UI components (WCAG 1.4.3).
268
268
 
@@ -799,7 +799,7 @@ ply is built for AI code generation:
799
799
 
800
800
  1. **Single-dash class names** read like English — `units-row`, `equal-height`, `padding`, `border-radius`
801
801
  2. **No abbreviation guessing** — `padding-lg` not `pl-6`, `margin-top` not `mt-4`
802
- 3. **421 documented classes** in `ply-classes.json` — machine-readable reference
802
+ 3. **457 documented classes** in `ply-classes.json` — machine-readable reference
803
803
  4. **Semantic HTML first** — auto-styled elements reduce class clutter
804
804
  5. **AI-friendly aliases** — `btn-lg`/`btn-big`, `btn-sm`/`btn-small`, `alert`/`tools-alert` all work
805
805
 
package/llms.txt CHANGED
@@ -1,13 +1,13 @@
1
1
  # plycss (ply)
2
2
 
3
- > ply is a ratio-based, AI-ready CSS framework with dark mode, WCAG 2.1 AA accessibility, and a small footprint (~20KB gzipped). 421 utility classes, 60+ CSS custom properties, 13 auto-styled semantic elements. No JavaScript. No build step.
3
+ > ply is a ratio-based, AI-ready CSS framework with dark mode, WCAG 2.1 AA accessibility, and a small footprint (~21KB gzipped). 457 utility classes, 120+ CSS custom properties, 13 auto-styled semantic elements. No JavaScript. No build step.
4
4
 
5
5
  ply is standalone — do not use Tailwind, Bootstrap, or other CSS frameworks alongside it. Class names are single-dash and human-readable: `btn-primary`, `unit-50`, `padding-lg`, `text-secondary`. Install via npm (`plycss`) or CDN.
6
6
 
7
7
  ## Documentation
8
8
 
9
9
  - [Full AI Reference (PLY.md)](https://raw.githubusercontent.com/thatgibbyguy/ply/master/PLY.md): Complete class reference, usage rules, accessibility patterns, keyboard navigation, custom widget ARIA patterns, and code snippets
10
- - [Machine-Readable Class Map (ply-classes.json)](https://raw.githubusercontent.com/thatgibbyguy/ply/master/ply-classes.json): All 421 classes, 60+ CSS custom properties, and 13 semantic elements with descriptions, categories, and examples
10
+ - [Machine-Readable Class Map (ply-classes.json)](https://raw.githubusercontent.com/thatgibbyguy/ply/master/ply-classes.json): All 457 classes, 120+ CSS custom properties, and 13 semantic elements with descriptions, categories, and examples
11
11
  - [VPAT 2.5 Accessibility Conformance](https://raw.githubusercontent.com/thatgibbyguy/ply/master/docs/VPAT.md): Full WCAG 2.1 Level A and AA conformance report
12
12
 
13
13
  ## Snippets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ply-css",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "ply — A ratio-based, AI-ready CSS framework with dark mode, accessibility, and a small footprint",
5
5
  "main": "dist/css/ply.css",
6
6
  "style": "dist/css/ply.min.css",
package/ply-classes.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.4.0",
2
+ "version": "1.5.0",
3
3
  "framework": "ply",
4
4
  "totalClasses": 457,
5
5
  "uniqueClasses": 457,
@@ -494,7 +494,7 @@
494
494
  },
495
495
  "split": {
496
496
  "category": "grid",
497
- "description": "Remove gutters from child units. Applied to units-row.",
497
+ "description": "Remove gap between child units. Applied to units-row.",
498
498
  "example": "<div class=\"units-row split\">...</div>"
499
499
  },
500
500
  "centered-content": {
@@ -1451,23 +1451,23 @@
1451
1451
  },
1452
1452
  "gap-xs": {
1453
1453
  "category": "helpers",
1454
- "description": "Gap between flex/grid children: 0.25rem."
1454
+ "description": "Gap between flex/grid children: 0.25rem. Works on units-row to override the default 1rem gap."
1455
1455
  },
1456
1456
  "gap-sm": {
1457
1457
  "category": "helpers",
1458
- "description": "Gap between flex/grid children: 0.5rem."
1458
+ "description": "Gap between flex/grid children: 0.5rem. Works on units-row to override the default 1rem gap."
1459
1459
  },
1460
1460
  "gap": {
1461
1461
  "category": "helpers",
1462
- "description": "Gap between flex/grid children: 0.75rem."
1462
+ "description": "Gap between flex/grid children: 0.75rem. Works on units-row to override the default 1rem gap."
1463
1463
  },
1464
1464
  "gap-lg": {
1465
1465
  "category": "helpers",
1466
- "description": "Gap between flex/grid children: 1.5rem."
1466
+ "description": "Gap between flex/grid children: 1.5rem. Works on units-row to override the default 1rem gap."
1467
1467
  },
1468
1468
  "gap-xl": {
1469
1469
  "category": "helpers",
1470
- "description": "Gap between flex/grid children: 2rem."
1470
+ "description": "Gap between flex/grid children: 2rem. Works on units-row to override the default 1rem gap."
1471
1471
  },
1472
1472
  "no-link-style": {
1473
1473
  "category": "helpers",
@@ -2379,7 +2379,7 @@
2379
2379
  },
2380
2380
  "gap-xxl": {
2381
2381
  "category": "helpers",
2382
- "description": "Gap between flex/grid children: var(--ply-space-xxl, 3rem)."
2382
+ "description": "Gap between flex/grid children: 3rem. Works on units-row to override the default 1rem gap."
2383
2383
  },
2384
2384
  "margin-xxl": {
2385
2385
  "category": "helpers",
@@ -2520,16 +2520,16 @@
2520
2520
  "--ply-bg-yellow-active": "Yellow active. #b28600"
2521
2521
  },
2522
2522
  "palette": {
2523
- "--ply-blue-1 / -2 / -3": "Blue palette: base, light, pastel",
2524
- "--ply-red-1 / -2 / -3": "Red palette: base, light, pastel",
2525
- "--ply-green-1 / -2 / -3": "Green palette: base, light, pastel",
2526
- "--ply-yellow-1 / -2 / -3": "Yellow palette: base, light, pastel",
2527
- "--ply-indigo-1 / -2 / -3": "Indigo palette: base, light, pastel",
2528
- "--ply-purple-1 / -2 / -3": "Purple palette: base, light, pastel",
2529
- "--ply-pink-1 / -2 / -3": "Pink palette: base, light, pastel",
2530
- "--ply-orange-1 / -2 / -3": "Orange palette: base, light, pastel",
2531
- "--ply-teal-1 / -2 / -3": "Teal palette: base, light, pastel",
2532
- "--ply-cyan-1 / -2 / -3": "Cyan palette: base, light, pastel"
2523
+ "--ply-blue-1 / -2 / -3": "Blue palette: base, darker, darkest",
2524
+ "--ply-red-1 / -2 / -3": "Red palette: base, darker, darkest",
2525
+ "--ply-green-1 / -2 / -3": "Green palette: base, darker, darkest",
2526
+ "--ply-yellow-1 / -2 / -3": "Yellow palette: base, darker, darkest",
2527
+ "--ply-indigo-1 / -2 / -3": "Indigo palette: base, darker, darkest",
2528
+ "--ply-purple-1 / -2 / -3": "Purple palette: base, darker, darkest",
2529
+ "--ply-pink-1 / -2 / -3": "Pink palette: base, darker, darkest",
2530
+ "--ply-orange-1 / -2 / -3": "Orange palette: base, darker, darkest",
2531
+ "--ply-teal-1 / -2 / -3": "Teal palette: base, darker, darkest",
2532
+ "--ply-cyan-1 / -2 / -3": "Cyan palette: base, darker, darkest"
2533
2533
  },
2534
2534
  "spacing": {
2535
2535
  "--ply-space-xs": "Extra-small spacing unit. Default: 0.25rem",
@@ -2538,7 +2538,30 @@
2538
2538
  "--ply-space-lg": "Large spacing unit. Default: 1.5rem",
2539
2539
  "--ply-space-xl": "Extra-large spacing unit. Default: 2rem",
2540
2540
  "--ply-space-xxl": "Extra extra large spacing unit. Default: 3rem"
2541
- }
2541
+ },
2542
+ "colorSurfaces": {
2543
+ "--ply-blue-surface": "Theme-aware blue pastel background. Light: blue pastel, Dark: dark muted blue. For cards, badges, alerts.",
2544
+ "--ply-blue-border": "Theme-aware blue border. Light: light blue tint, Dark: medium-dark blue. For colored card borders.",
2545
+ "--ply-red-surface": "Theme-aware red pastel background. Light: red pastel, Dark: dark muted red. For cards, badges, alerts.",
2546
+ "--ply-red-border": "Theme-aware red border. Light: light red tint, Dark: medium-dark red. For colored card borders.",
2547
+ "--ply-green-surface": "Theme-aware green pastel background. Light: green pastel, Dark: dark muted green. For cards, badges, alerts.",
2548
+ "--ply-green-border": "Theme-aware green border. Light: light green tint, Dark: medium-dark green. For colored card borders.",
2549
+ "--ply-yellow-surface": "Theme-aware yellow pastel background. Light: yellow pastel, Dark: dark muted yellow. For cards, badges, alerts.",
2550
+ "--ply-yellow-border": "Theme-aware yellow border. Light: light yellow tint, Dark: medium-dark yellow. For colored card borders.",
2551
+ "--ply-indigo-surface": "Theme-aware indigo pastel background. Light: indigo pastel, Dark: dark muted indigo. For cards, badges, alerts.",
2552
+ "--ply-indigo-border": "Theme-aware indigo border. Light: light indigo tint, Dark: medium-dark indigo. For colored card borders.",
2553
+ "--ply-purple-surface": "Theme-aware purple pastel background. Light: purple pastel, Dark: dark muted purple. For cards, badges, alerts.",
2554
+ "--ply-purple-border": "Theme-aware purple border. Light: light purple tint, Dark: medium-dark purple. For colored card borders.",
2555
+ "--ply-pink-surface": "Theme-aware pink pastel background. Light: pink pastel, Dark: dark muted pink. For cards, badges, alerts.",
2556
+ "--ply-pink-border": "Theme-aware pink border. Light: light pink tint, Dark: medium-dark pink. For colored card borders.",
2557
+ "--ply-orange-surface": "Theme-aware orange pastel background. Light: orange pastel, Dark: dark muted orange. For cards, badges, alerts.",
2558
+ "--ply-orange-border": "Theme-aware orange border. Light: light orange tint, Dark: medium-dark orange. For colored card borders.",
2559
+ "--ply-teal-surface": "Theme-aware teal pastel background. Light: teal pastel, Dark: dark muted teal. For cards, badges, alerts.",
2560
+ "--ply-teal-border": "Theme-aware teal border. Light: light teal tint, Dark: medium-dark teal. For colored card borders.",
2561
+ "--ply-cyan-surface": "Theme-aware cyan pastel background. Light: cyan pastel, Dark: dark muted cyan. For cards, badges, alerts.",
2562
+ "--ply-cyan-border": "Theme-aware cyan border. Light: light cyan tint, Dark: medium-dark cyan. For colored card borders."
2563
+ },
2564
+ "totalCustomProperties": 92
2542
2565
  },
2543
2566
  "semanticElements": {
2544
2567
  "dialog": {
@@ -113,6 +113,30 @@ $btn-secondary-dark-active: #bebebe;
113
113
  --ply-bg-yellow-hover: #d2a106;
114
114
  --ply-bg-yellow-active: #b28600;
115
115
 
116
+ // Color surfaces — pastel bg for cards, badges, alerts (theme-aware)
117
+ --ply-blue-surface: #d3e3fb;
118
+ --ply-red-surface: #f8d5d8;
119
+ --ply-green-surface: #d5ecd9;
120
+ --ply-yellow-surface: #fff4cc;
121
+ --ply-indigo-surface: #e0e7ff;
122
+ --ply-purple-surface: #ede9fe;
123
+ --ply-pink-surface: #fce7f3;
124
+ --ply-orange-surface: #ffedd5;
125
+ --ply-teal-surface: #ccfbf1;
126
+ --ply-cyan-surface: #cffafe;
127
+
128
+ // Color borders — light tint borders for colored cards (theme-aware)
129
+ --ply-blue-border: #92baf6;
130
+ --ply-red-border: #ef969d;
131
+ --ply-green-border: #96cfa1;
132
+ --ply-yellow-border: #ffe480;
133
+ --ply-indigo-border: #a5b4fc;
134
+ --ply-purple-border: #c4b5fd;
135
+ --ply-pink-border: #f9a8d4;
136
+ --ply-orange-border: #fdba74;
137
+ --ply-teal-border: #5eead4;
138
+ --ply-cyan-border: #67e8f9;
139
+
116
140
  // Brand palette (WCAG AA — 4.5:1 vs text-inverse per mode)
117
141
  --ply-blue-1: #0f62fe;
118
142
  --ply-blue-2: #0043ce;
@@ -235,6 +259,30 @@ $btn-secondary-dark-active: #bebebe;
235
259
  // Glass
236
260
  --ply-bg-glass: rgba(38, 38, 38, 0.25);
237
261
 
262
+ // Color surfaces — dark muted bg for cards, badges, alerts
263
+ --ply-blue-surface: #1a2744;
264
+ --ply-red-surface: #3b1c1e;
265
+ --ply-green-surface: #1a2e1e;
266
+ --ply-yellow-surface: #332b10;
267
+ --ply-indigo-surface: #1e1b4b;
268
+ --ply-purple-surface: #2e1065;
269
+ --ply-pink-surface: #3b0a2a;
270
+ --ply-orange-surface: #331a08;
271
+ --ply-teal-surface: #132f2e;
272
+ --ply-cyan-surface: #133040;
273
+
274
+ // Color borders — medium-dark borders for colored cards
275
+ --ply-blue-border: #1a52a5;
276
+ --ply-red-border: #b2232f;
277
+ --ply-green-border: #237f35;
278
+ --ply-yellow-border: #cca000;
279
+ --ply-indigo-border: #3730a3;
280
+ --ply-purple-border: #5b21b6;
281
+ --ply-pink-border: #9d174d;
282
+ --ply-orange-border: #c2410c;
283
+ --ply-teal-border: #0f766e;
284
+ --ply-cyan-border: #0e7490;
285
+
238
286
  // Brand backgrounds (dark mode — same as light, saturated for contrast with white text)
239
287
  --ply-bg-blue: #0f62fe;
240
288
  --ply-bg-blue-hover: #0043ce;