@press2ai/theme-specialist-glossy 0.5.5 → 0.6.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/package.json +1 -1
- package/src/styles/glossy.css +44 -28
- package/src/templates/catalog.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@press2ai/theme-specialist-glossy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Classless, AI-first theme inspired by Stripe. Framework-agnostic templates (Hono, Astro, raw HTML). Semantic HTML, Schema.org microdata, JSON-LD — built for LLM crawlers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/src/styles/glossy.css
CHANGED
|
@@ -65,10 +65,39 @@ main {
|
|
|
65
65
|
main > h1:first-child, main > article:first-child { margin-top: var(--g5); }
|
|
66
66
|
main > section { margin-bottom: var(--g6); }
|
|
67
67
|
|
|
68
|
-
/* Footer */
|
|
69
|
-
body > footer {
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
/* Footer — Swiss Design: grid, tight, structured */
|
|
69
|
+
body > footer {
|
|
70
|
+
border-top: 1px solid var(--line); background: var(--white);
|
|
71
|
+
padding: var(--g5) 0 var(--g4);
|
|
72
|
+
}
|
|
73
|
+
body > footer > small {
|
|
74
|
+
display: block; max-width: var(--container); margin-inline: auto; padding-inline: var(--pad);
|
|
75
|
+
color: var(--ink-3); font-size: var(--t-xs);
|
|
76
|
+
}
|
|
77
|
+
body > footer a { color: var(--ink-2); transition: color var(--ease); }
|
|
78
|
+
body > footer a:hover { color: var(--violet); }
|
|
79
|
+
|
|
80
|
+
.footer-grid {
|
|
81
|
+
display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--g4);
|
|
82
|
+
max-width: var(--container); margin-inline: auto; padding-inline: var(--pad);
|
|
83
|
+
margin-bottom: var(--g4);
|
|
84
|
+
}
|
|
85
|
+
.footer-col strong {
|
|
86
|
+
display: block; font-size: var(--t-xs); font-weight: 600; color: var(--ink);
|
|
87
|
+
text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--g2);
|
|
88
|
+
}
|
|
89
|
+
.footer-col p {
|
|
90
|
+
font-size: var(--t-xs); line-height: 1.6; color: var(--ink-3); margin: 0; max-width: 36ch;
|
|
91
|
+
}
|
|
92
|
+
.footer-col a {
|
|
93
|
+
display: block; font-size: var(--t-xs); line-height: 2; color: var(--ink-3);
|
|
94
|
+
}
|
|
95
|
+
.footer-col a:hover { color: var(--violet); }
|
|
96
|
+
.footer-meta {
|
|
97
|
+
max-width: var(--container); margin: 0 auto; padding: var(--g3) var(--pad) 0;
|
|
98
|
+
border-top: 1px solid var(--line);
|
|
99
|
+
font-size: var(--t-xs); color: var(--ink-3); text-align: left;
|
|
100
|
+
}
|
|
72
101
|
|
|
73
102
|
/* Hero */
|
|
74
103
|
hgroup {
|
|
@@ -144,19 +173,21 @@ form[role="search"] button {
|
|
|
144
173
|
form[role="search"] button:hover { background: var(--ink); }
|
|
145
174
|
|
|
146
175
|
/* Stats */
|
|
147
|
-
section[aria-label] > p { text-align: center; font-size: var(--t-sm); color: var(--ink-2); margin: 0 auto var(--g3); max-width: var(--measure); }
|
|
148
176
|
section:has(> dl) { margin-bottom: 0; }
|
|
177
|
+
.stat-summary {
|
|
178
|
+
text-align: center; font-size: var(--t-md); font-weight: 500; line-height: 1.55;
|
|
179
|
+
color: var(--ink); margin: 0 auto var(--g4); max-width: var(--measure);
|
|
180
|
+
}
|
|
149
181
|
section > dl {
|
|
150
|
-
display:
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
box-shadow: var(--shadow-md);
|
|
182
|
+
display: flex; justify-content: center; gap: var(--g5);
|
|
183
|
+
margin: 0 auto var(--g6); padding: 0;
|
|
184
|
+
border: none; background: none; box-shadow: none;
|
|
154
185
|
}
|
|
155
186
|
section > dl div { text-align: center; }
|
|
156
187
|
.stat-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0 auto var(--g1); background: var(--violet-s); border-radius: 50%; color: var(--violet); }
|
|
157
188
|
.stat-icon svg { width: 18px; height: 18px; }
|
|
158
|
-
section > dl dt { font-size: var(--t-
|
|
159
|
-
section > dl dd { margin:
|
|
189
|
+
section > dl dt { font-size: var(--t-lg); font-weight: 800; line-height: 1.2; color: var(--violet); }
|
|
190
|
+
section > dl dd { margin: 2px 0 0; font-size: var(--t-xs); line-height: 1.4; color: var(--ink-3); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; }
|
|
160
191
|
|
|
161
192
|
/* Category pills — inside trainers section */
|
|
162
193
|
nav[aria-label] { display: flex; flex-wrap: wrap; gap: var(--g1); margin-bottom: var(--g3); grid-column: 1 / -1; }
|
|
@@ -292,22 +323,6 @@ main > nav a {
|
|
|
292
323
|
}
|
|
293
324
|
main > nav a:hover { border-color: var(--violet); color: var(--violet); transform: translateY(-1px); }
|
|
294
325
|
|
|
295
|
-
/* Trust */
|
|
296
|
-
.trust {
|
|
297
|
-
margin: var(--g6) auto; padding: var(--g5); max-width: var(--w-8);
|
|
298
|
-
background: linear-gradient(135deg, var(--teal-s) 0%, #f0fdf8 100%);
|
|
299
|
-
border: 1px solid rgba(13,148,136,.15); border-radius: var(--r-lg); text-align: center;
|
|
300
|
-
}
|
|
301
|
-
.trust strong {
|
|
302
|
-
display: block; font-size: var(--t-md); line-height: 1.3; margin-bottom: var(--g3); color: var(--teal);
|
|
303
|
-
}
|
|
304
|
-
.trust ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: var(--g1); }
|
|
305
|
-
.trust li {
|
|
306
|
-
font-size: var(--t-sm); color: var(--ink-2); line-height: 1.5;
|
|
307
|
-
display: flex; align-items: center; justify-content: center; gap: var(--g1);
|
|
308
|
-
}
|
|
309
|
-
.trust li::before { content: '✓'; color: var(--teal); font-weight: 700; }
|
|
310
|
-
|
|
311
326
|
/* Forms */
|
|
312
327
|
label { display: block; font-size: var(--t-sm); color: var(--ink-2); font-weight: 500; margin-bottom: var(--g1); }
|
|
313
328
|
input[type="text"] {
|
|
@@ -332,7 +347,7 @@ form:not([role="search"]) button[type="submit"]:hover { background: var(--ink);
|
|
|
332
347
|
hgroup { padding: var(--g5) var(--pad) var(--g4); }
|
|
333
348
|
section:has(> article[itemscope]) { grid-template-columns: 1fr; }
|
|
334
349
|
section > ol { grid-template-columns: 1fr; }
|
|
335
|
-
section > dl {
|
|
350
|
+
section > dl { gap: var(--g3); }
|
|
336
351
|
main > article { padding: var(--g3); }
|
|
337
352
|
main > article dl { grid-template-columns: 1fr; gap: calc(var(--g1) / 2) 0; }
|
|
338
353
|
main > article dt { margin-top: var(--g2); }
|
|
@@ -340,4 +355,5 @@ form:not([role="search"]) button[type="submit"]:hover { background: var(--ink);
|
|
|
340
355
|
form[role="search"] input { font-size: var(--t-xs); }
|
|
341
356
|
.trust ul { text-align: left; }
|
|
342
357
|
.how-it-works { padding: var(--g4) var(--pad); }
|
|
358
|
+
.footer-grid { grid-template-columns: 1fr; gap: var(--g3); }
|
|
343
359
|
}
|
package/src/templates/catalog.ts
CHANGED
|
@@ -40,8 +40,8 @@ export function statBar(items: { value: string; label: string; icon?: string }[]
|
|
|
40
40
|
const icon = i.icon && STAT_ICONS[i.icon] ? `<span class="stat-icon">${STAT_ICONS[i.icon]}</span>` : '';
|
|
41
41
|
return `<div>${icon}<dt>${esc(i.value)}</dt><dd>${esc(i.label)}</dd></div>`;
|
|
42
42
|
}).join('\n');
|
|
43
|
-
const summaryP = summary ? `<p>${esc(summary)}</p>` : '';
|
|
44
|
-
return `<section aria-label="Statystyki">${summaryP}<dl>\n${divs}\n</dl></section>`;
|
|
43
|
+
const summaryP = summary ? `<p class="stat-summary">${esc(summary)}</p>` : '';
|
|
44
|
+
return `<section aria-label="Statystyki">${summaryP}<dl aria-hidden="true">\n${divs}\n</dl></section>`;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export function categoryNav(items: { href: string; label: string }[], ariaLabel = 'Kategorie'): string {
|