@fluid-theme/core 0.4.3 → 2.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/AGENTS.md +6 -29
- package/CHANGELOG.md +543 -2
- package/CLAUDE.md +193 -14
- package/GEMINI.md +6 -45
- package/README.md +17 -8
- package/assets/js/compare.js +77 -0
- package/assets/js/fit-text.js +103 -0
- package/assets/js/lightbox.js +153 -0
- package/assets/js/scroll-reveal.js +72 -0
- package/assets/js/toc-build.mjs +86 -0
- package/assets/js/toc.js +384 -0
- package/dist/fluid-1x.min.css +4 -0
- package/dist/fluid-fonts.min.css +2 -0
- package/dist/fluid-legacy-1x.css +3 -0
- package/dist/fluid-nav.min.css +3 -0
- package/dist/fluid-toc.min.css +3 -0
- package/dist/fluid-zero.min.css +3 -0
- package/dist/fluid.min.css +3 -2
- package/dist/fonts/OFL-newsreader.txt +93 -0
- package/dist/fonts/OFL-schibsted-grotesk.txt +93 -0
- package/dist/fonts/newsreader-latin-opsz-italic.woff2 +0 -0
- package/dist/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
- package/dist/fonts/schibsted-grotesk-latin-wght-italic.woff2 +0 -0
- package/dist/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
- package/fluid-agent-kit/README.md +1 -0
- package/fluid-agent-kit/skills/accessibility.md +3 -1
- package/fluid-agent-kit/skills/css-conventions.md +22 -5
- package/fluid-agent-kit/skills/image-optimization.md +2 -0
- package/fluid-agent-kit/skills/preset-composition.md +108 -0
- package/package.json +29 -3
- package/src/animations/scroll-reveal.css +75 -193
- package/src/components/accordion.css +6 -47
- package/src/components/alert.css +47 -88
- package/src/components/avatar.css +4 -20
- package/src/components/badge.css +25 -48
- package/src/components/button.css +69 -175
- package/src/components/card.css +146 -481
- package/src/components/chip.css +46 -12
- package/src/components/compare.css +234 -0
- package/src/components/dropdown.css +10 -67
- package/src/components/empty-state.css +4 -0
- package/src/components/form.css +113 -81
- package/src/components/gallery.css +252 -0
- package/src/components/hero.css +203 -88
- package/src/components/indicator.css +23 -117
- package/src/components/loading.css +7 -29
- package/src/components/modal.css +12 -65
- package/src/components/nav-modes.css +261 -0
- package/src/components/nav.css +324 -392
- package/src/components/search-input.css +4 -2
- package/src/components/step-indicator.css +26 -27
- package/src/components/table.css +64 -171
- package/src/components/toc.css +254 -0
- package/src/components/tooltip.css +5 -46
- package/src/core/base.css +393 -547
- package/src/core/reset.css +17 -5
- package/src/core/tokens.css +426 -2276
- package/src/fluid.css +258 -17
- package/src/fonts/OFL-newsreader.txt +93 -0
- package/src/fonts/OFL-schibsted-grotesk.txt +93 -0
- package/src/fonts/fluid-fonts.css +55 -0
- package/src/fonts/newsreader-latin-opsz-italic.woff2 +0 -0
- package/src/fonts/newsreader-latin-opsz-normal.woff2 +0 -0
- package/src/fonts/schibsted-grotesk-latin-wght-italic.woff2 +0 -0
- package/src/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
- package/src/layouts/positioning.css +6 -3
- package/src/legacy-1x.css +61 -0
- package/src/sections/cta.css +33 -101
- package/src/sections/features.css +42 -219
- package/src/sections/footer.css +53 -134
- package/src/sections/stats.css +40 -153
- package/src/sections/team.css +24 -113
- package/src/sections/testimonials.css +34 -148
- package/src/zero/base.css +166 -0
- package/src/zero/tokens.css +64 -0
- package/src/zero.css +20 -0
- package/src/components/scroll-progress.css +0 -104
- package/src/components/settings-panel.css +0 -603
- package/src/components/themed-images.css +0 -229
- package/src/components/version-badge.css +0 -70
package/AGENTS.md
CHANGED
|
@@ -1,32 +1,9 @@
|
|
|
1
|
-
# AI
|
|
1
|
+
# AI agent instructions: The Fluid Theme
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This file is a pointer. The instructions for every agent live in one place:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- **[`CLAUDE.md`](https://github.com/Agile-Media-Agency/the-fluid-theme/blob/main/CLAUDE.md)**: rules, gates, key files and the docs table. Agent-neutral despite the name.
|
|
6
|
+
- **[`_docs/STATUS.md`](https://github.com/Agile-Media-Agency/the-fluid-theme/blob/main/_docs/STATUS.md)**: what the theme is now (one lean base, a child theme per site, about 20 knobs on `:root`). It wins over every older doc.
|
|
7
|
+
- How every project is built: `Agile-Media-Agency/the-fluid-stack` `playbook/README.md`.
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
2. **`fluid-agent-kit/skills/accessibility.md`** — Non-negotiable accessibility standards
|
|
9
|
-
3. **`fluid-agent-kit/skills/ux-rules.md`** — 12 behavioral rules for interactive components
|
|
10
|
-
4. **`fluid-agent-kit/skills/image-optimization.md`** — Responsive images, lazy loading, focal points
|
|
11
|
-
|
|
12
|
-
## Key Rules
|
|
13
|
-
|
|
14
|
-
- Use **semantic HTML** with data attributes — not utility classes
|
|
15
|
-
- Use **CSS custom properties** (tokens) for all values — never hardcode `16px` or `#333`
|
|
16
|
-
- Use **logical properties** — `margin-block-start` not `margin-top`
|
|
17
|
-
- Use **`<dialog>`** for modals — not `<div role="dialog">`
|
|
18
|
-
- **Never remove focus outlines** — restyle if needed
|
|
19
|
-
- **Respect `prefers-reduced-motion`** in all animations
|
|
20
|
-
- Every `<img>` needs `alt`, `width`, `height`, and `loading="lazy"` (except above-fold)
|
|
21
|
-
|
|
22
|
-
## Full Documentation
|
|
23
|
-
|
|
24
|
-
- `_docs/DEVELOPMENT.md` — Master development guide
|
|
25
|
-
- `_docs/UX-BEHAVIOR-SPEC.md` — Complete UX specification (18 sections)
|
|
26
|
-
- `_docs/images-guide.md` — Image optimization guide
|
|
27
|
-
- `_docs/reference/components.md` — Component API reference
|
|
28
|
-
- `_docs/reference/tokens.md` — Design token reference
|
|
29
|
-
|
|
30
|
-
## Framework Version
|
|
31
|
-
|
|
32
|
-
0.4.0
|
|
9
|
+
Presets, palettes, `data-preset`, `data-palette` and `_docs/reference/tokens.md` are superseded (Pass 0, 2026-10-23); do not write code for them. The version is the latest git tag; never write or bump it by hand. Pass 1 (draft PR #75, step 8) plans to replace this file and `CLAUDE.md` with one `AGENT.md`.
|
package/CHANGELOG.md
CHANGED
|
@@ -5,10 +5,502 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [0.
|
|
8
|
+
## [2.0.0] - 2026-10-30
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Release 2.0.0: Base v2 with the Firefox fix
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.1.10] - 2026-10-29
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- ci(site): /status/ smoke test without curl | grep -q (pipefail)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## [1.1.9] - 2026-10-29
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- feat(site): /status/ and /version.json on thefluidtheme.com; footer names the build
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## [1.1.8] - 2026-10-29
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
- CLAUDE.md: a pruned ref leaves the purged objects; gc the Mac Studio clone
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [1.1.7] - 2026-10-29
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- Dependabot: drop engines.browsers (an array) so updates run; CLAUDE.md Exceptions
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [1.1.6] - 2026-10-29
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
- CLAUDE.md: an old clone's gitsync pushed the purged history back
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## [1.1.5] - 2026-10-29
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
- Showcase: skip link and <main> on printsofthemasters and shirtsandsquirrels
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## [1.1.4] - 2026-10-28
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
- Pass 1 step 0: housekeeping
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## [1.1.3] - 2026-10-28
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
- Plan Pass 1: ready to build new sites
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## [1.1.2] - 2026-10-28
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
- chore(starter): take Vite 8 with plugin-react 6 and fix the React starter build
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## [1.1.1] - 2026-10-28
|
|
69
|
+
|
|
70
|
+
### Fixed
|
|
71
|
+
- ci(release): PR number is the last #N in the merge subject
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## [1.1.0] - 2026-10-27
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
- Forms: honeypot and conditional-field rules in core (@layer utilities)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
## [1.0.5] - 2026-10-27
|
|
81
|
+
|
|
82
|
+
### Fixed
|
|
83
|
+
- Docs: Fluid truth (audit 2026-10-25, batch F4)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## [1.0.4] - 2026-10-27
|
|
87
|
+
|
|
88
|
+
### Fixed
|
|
89
|
+
- Docs: lessons from domain-landing (child themes, focus gate gap, skip link, fit text, form stopgaps)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## [1.0.3] - 2026-10-27
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
- Site deploys: job-level concurrency; CLAUDE.md: history was rewritten
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## [1.0.2] - 2026-10-27
|
|
99
|
+
|
|
100
|
+
### Fixed
|
|
101
|
+
- Site: thefluidtheme.com from Cloudflare Pages, built in Actions
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
## [1.0.1] - 2026-10-25
|
|
105
|
+
|
|
106
|
+
### Fixed
|
|
107
|
+
- Remove Palm Vita student reports from the theme repo
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## [1.0.0] - 2026-10-24
|
|
111
|
+
|
|
112
|
+
### Breaking
|
|
113
|
+
The CSS is the same as 0.9.27, which shipped Pass 0 (#73) as a patch by
|
|
114
|
+
mistake; 1.0.0 is that change under the right number. Upgrading from 0.9.26 or
|
|
115
|
+
earlier breaks every site that used the variation system. Full list:
|
|
116
|
+
`_docs/STATUS.md`, "What Pass 0 removed".
|
|
117
|
+
- `data-preset`, `data-palette`, `data-accent` and `data-contrast` do nothing:
|
|
118
|
+
the 11 presets, 13 palettes, 13 accents and the subdued mode are gone. A site
|
|
119
|
+
sets about 20 knobs on `:root` instead (a child theme), or it falls back to
|
|
120
|
+
the base look.
|
|
121
|
+
- Dark mode is one `light-dark()` per colour role: the OS decides and
|
|
122
|
+
`<html data-theme>` overrides.
|
|
123
|
+
- Accent text uses `--accent-ink` and text on accent fills `--on-accent`
|
|
124
|
+
(theme issue #49).
|
|
125
|
+
- Removed tokens include `--palette-1..6`, `--theme-dark/light`, the 20-step
|
|
126
|
+
grey scale and `--shadow-offset-hover`; `--radius-button` and
|
|
127
|
+
`--radius-input` are now `--radius-control`.
|
|
128
|
+
- Removed files: `settings-panel.css`, `version-badge.css`,
|
|
129
|
+
`scroll-progress.css`, `themed-images.css`, `fonts/preset-fonts.css`; the
|
|
130
|
+
preset view-transition keyframes; the bare-button gradient skin.
|
|
131
|
+
- Mapping example: the-fluid-stack PR #105 (its D22) turned 7 looks and 6
|
|
132
|
+
colours into knob values.
|
|
133
|
+
|
|
134
|
+
### Changed
|
|
135
|
+
- Release 1.0.0: let the release job read PR labels
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## [0.9.27] - 2026-10-24
|
|
139
|
+
|
|
140
|
+
### Fixed
|
|
141
|
+
- Pass 0: strip the variation system, wire the knobs (#73). This is a breaking
|
|
142
|
+
change released as a patch by mistake: the release job could not read the
|
|
143
|
+
PR's `major` label. 1.0.0 is the same CSS under the right number.
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
## [0.9.26] - 2026-10-18
|
|
147
|
+
|
|
148
|
+
### Fixed
|
|
149
|
+
- CLAUDE.md: version is the latest git tag, not a number written here
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
## [0.9.25] - 2026-10-18
|
|
153
|
+
|
|
154
|
+
### Fixed
|
|
155
|
+
- docs: PRINCIPLES_AUDIT.md, playbook pointer, release-time version rule
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## [0.9.24] - 2026-10-17
|
|
159
|
+
|
|
160
|
+
### Fixed
|
|
161
|
+
- Merge pull request #68 from Agile-Media-Agency/claude/dazzling-gates-pjhwg2
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
## [0.9.23] - 2026-10-17
|
|
165
|
+
|
|
166
|
+
### Fixed
|
|
167
|
+
- Merge pull request #67 from Agile-Media-Agency/claude/dazzling-gates-pjhwg2
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
## [0.9.22] - 2026-10-13
|
|
171
|
+
|
|
172
|
+
### Fixed
|
|
173
|
+
- v1 planning prompt: research is on main now (#63 merged); start a new draft PR
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## [0.9.21] - 2026-10-13
|
|
177
|
+
|
|
178
|
+
### Fixed
|
|
179
|
+
- Merge pull request #63 from Agile-Media-Agency/claude/dazzling-gates-pjhwg2
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## [0.9.20] - 2026-10-09
|
|
183
|
+
|
|
184
|
+
### Fixed
|
|
185
|
+
- fix: empty required fields aren't shown as errors before anyone types
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
## [0.9.19] - 2026-10-09
|
|
189
|
+
|
|
190
|
+
### Fixed
|
|
191
|
+
- fix: content never stays hidden when the reveal script isn't loaded
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
## [0.9.18] - 2026-10-08
|
|
195
|
+
|
|
196
|
+
### Fixed
|
|
197
|
+
- feat(site): llms.txt, robots.txt and sitemap.xml for AI assistants and search; nav preset name and template contrast fixes
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
## [0.9.17] - 2026-10-08
|
|
201
|
+
|
|
202
|
+
### Fixed
|
|
203
|
+
- feat(templates): project page for design pros; layouts, reveals and search fit a phone; dropdown trigger contrast
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
## [0.9.16] - 2026-10-08
|
|
207
|
+
|
|
208
|
+
### Fixed
|
|
209
|
+
- feat(compare): before / after photo slider for trades and renovation portfolios
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
## [0.9.15] - 2026-10-08
|
|
213
|
+
|
|
214
|
+
### Fixed
|
|
215
|
+
- ci: move actions to Node 24 (checkout@v5, setup-node@v5; release Node 24)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
## [0.9.14] - 2026-10-08
|
|
219
|
+
|
|
220
|
+
### Fixed
|
|
221
|
+
- feat(gallery): photo grid + lightbox for portfolio sites
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
## [0.9.13] - 2026-10-08
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
- fix(table): tables and fieldsets fit a phone; release skips npm with a warning while NPM_TOKEN is missing
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
## [0.9.12] - 2026-10-08
|
|
231
|
+
|
|
232
|
+
### Fixed
|
|
233
|
+
- fix(nav): current-page link reads at 4.5:1 under every preset and palette
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
## [0.9.11] - 2026-10-08
|
|
237
|
+
|
|
238
|
+
### Fixed
|
|
239
|
+
- fix(nav): the narrow layout wraps, the toggle keeps its size, links never run off the page
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
## [0.9.10] - 2026-10-08
|
|
243
|
+
|
|
244
|
+
### Fixed
|
|
245
|
+
- fix(base): bare checkboxes and radios render as boxes, not full-width bars
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
## [0.9.9] - 2026-10-08
|
|
249
|
+
|
|
250
|
+
### Fixed
|
|
251
|
+
- fix(a11y): button focus ring survives preset signature shadows
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## [0.9.8] - 2026-10-08
|
|
255
|
+
|
|
256
|
+
### Fixed
|
|
257
|
+
- fix(a11y): dark-mode link text reaches 4.5:1
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
## [0.9.7] - 2026-10-08
|
|
261
|
+
|
|
262
|
+
### Fixed
|
|
263
|
+
- fix(a11y): unreadable follow-the-OS dark mode under most presets; status badges below 4.5:1
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
## [0.9.6] - 2026-09-01
|
|
267
|
+
|
|
268
|
+
### Fixed
|
|
269
|
+
- Merge pull request #46 from Agile-Media-Agency/claude/fluid-theme-review-1ywkqb
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
> **Note on 0.9.1–0.9.5:** the release workflow generates entries from the merge
|
|
273
|
+
> commit subject, which produced five uninformative "Merge pull request #NN"
|
|
274
|
+
> lines. They have been backfilled by hand from the actual diffs.
|
|
275
|
+
|
|
276
|
+
## [0.9.5] - 2026-08-31
|
|
277
|
+
|
|
278
|
+
### Added
|
|
279
|
+
|
|
280
|
+
- **`data-text-overflow` utility** (`hyphenate` | `break` | `clip` | `normal`) — per-element control over how overlong words are handled. Named to avoid colliding with the layout layer's `data-overflow` (`hidden`/`auto`/`scroll`), which is a different concern.
|
|
281
|
+
- **`data-fit-text` + `assets/js/fit-text.js`** — opt-in shrink-to-fit for display text. Steps font-size down (never up) to a 55% floor until content fits; refits on resize and on `document.fonts.ready`; `window.fluidFitText()` re-runs it after injecting dynamic content. Progressive enhancement — the CSS overflow handling remains the no-JS layer.
|
|
282
|
+
- **`scripts/visual-scan.mjs`** — mechanical layout-defect scanner (page horizontal overflow, per-element text overflow, painted-band seam collapse) across four viewport widths, exit 1 on any flag. `scripts/fixtures/visual-scan-selftest.html` is its deliberately-broken self-test.
|
|
283
|
+
|
|
284
|
+
### Fixed
|
|
285
|
+
|
|
286
|
+
- **Heroes had no default vertical padding.** Once a hero's content outgrew `--hero-min-height` (long headlines on narrow screens), content rendered flush against the band's block edges — a CTA could touch the section below it. `.hero:not([data-padding])` now applies `--space-10`; the `data-padding` scale still wins when set.
|
|
287
|
+
- **Serene scaled unrevealed sections up.** `scroll-reveal.css` used `transform: scale(1.02)` for serene's pre-reveal state, making every below-fold section wider than the viewport — horizontal overflow on mobile for any serene page. Now scales down (0.98) with the same settle.
|
|
288
|
+
- `--space-32` was defined but never consumed; `editorial` hardcoded `8rem` instead. Editorial now uses the token.
|
|
289
|
+
|
|
290
|
+
### Changed
|
|
291
|
+
|
|
292
|
+
- `assets/js/` is now included in the npm package `files`, so `fit-text.js` and `scroll-reveal.js` reach package consumers instead of existing only in the repo.
|
|
293
|
+
|
|
294
|
+
## [0.9.4] - 2026-08-31
|
|
295
|
+
|
|
296
|
+
### Fixed
|
|
297
|
+
|
|
298
|
+
- **Release workflow never installed dependencies.** `npm publish` triggers `prepublishOnly` → `npm run build` → `import 'lightningcss'`, a devDependency that was never installed on the runner (`ERR_MODULE_NOT_FOUND`). Added `npm ci` (with setup-node's npm cache) before the publish step. This had failed every release since v0.4.3 — see `_docs/HANDOFF.md`; a missing `NPM_TOKEN` secret still blocks publishing.
|
|
299
|
+
|
|
300
|
+
## [0.9.3] - 2026-08-31
|
|
301
|
+
|
|
302
|
+
### Fixed
|
|
303
|
+
|
|
304
|
+
- **`[hidden]` was defeated by components that set `display`.** `.alert { display: flex }` overrode the UA stylesheet's `[hidden] { display: none }`, so success alerts rendered on page load and toggling `hidden` produced no visible change. `reset.css` now enforces `[hidden] { display: none !important }`.
|
|
305
|
+
- **`scroll-margin` sat on links instead of targets.** The rule was on `a[href^="#"]`, where scroll-margin has no effect; anchor navigation buried destination headings under sticky navs. Moved to `:where([id])`.
|
|
306
|
+
- **Rapids' default accent failed WCAG AA.** White-on-coral measured 4.37:1. Tuned `oklch(60% 0.25 25)` → `oklch(57% 0.245 25)`: 4.8:1 on fills and 4.7:1 for coral text on light, still reading as electric coral. All derived tokens recompute automatically.
|
|
307
|
+
|
|
308
|
+
## [0.9.2] - 2026-08-30
|
|
309
|
+
|
|
310
|
+
### Added
|
|
311
|
+
|
|
312
|
+
- **`showcase/`** — three complete, self-contained example sites, each a living demonstration of a different preset and a test bed for the framework: `urbictionary` (rapids), `printsofthemasters` (serene), `shirtsandsquirrels` (cascade). See `_docs/SHOWCASE-SITES.md`.
|
|
313
|
+
|
|
314
|
+
### Fixed
|
|
315
|
+
|
|
316
|
+
- **Sections were invisible under every preset.** `scroll-reveal.css` hides `.section:not([data-reveal])` (opacity 0) expecting a `.revealed` class, but `scroll-reveal.js` only observed `[data-reveal]` elements — so any page using `.section` with a preset rendered its sections permanently invisible. The script now observes bare sections too.
|
|
317
|
+
- Added a `@media (scripting: none)` guard so revealed-on-scroll content is never hidden when JavaScript is unavailable, restoring the progressive-enhancement guarantee.
|
|
318
|
+
|
|
319
|
+
## [0.9.1] - 2026-08-30
|
|
320
|
+
|
|
321
|
+
Release-automation version bump; no source changes beyond v0.9.0.
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
## [0.9.0] - 2026-08-30
|
|
325
|
+
|
|
326
|
+
### Added
|
|
327
|
+
|
|
328
|
+
- **Preset-driven composition (pilot)** — new opt-in `data-arrange="auto"` attribute on `.hero` and `.features`: the active preset now changes the ARRANGEMENT of content, not just its skin. Same HTML recomposes per preset:
|
|
329
|
+
- Hero: `still` → Swiss left rail with asymmetric void; `serene` → editorial offset (full-width serif headline, copy hangs in the right column); `rapids` → poster split (giant headline left, caption column right); `tsunami` → cinema poster (bottom-anchored massive headline, subheadline as kicker); `flowing`/`stream`/`cascade` → the classic centered stack
|
|
330
|
+
- Features: `still` → ruled drafting-table grid with hairline gaps; `serene` → single unboxed literary column; `rapids` → dense 4-up pack; `tsunami` → monumental 2-up
|
|
331
|
+
- Requires flat hero markup (`hero__headline`/`hero__subheadline`/`hero__actions`/optional `hero__media` as direct children); markup using a `hero__content` wrapper is left untouched. Collapses to a single column below 48rem, preserving each preset's alignment.
|
|
332
|
+
- **Default palette + accent per preset** — each water preset now ships a color identity: `still` → mono grayscale (deep slate), `serene` → morandi (dusty lavender), `stream` → fluid (deep teal), `flowing` → fluid (brand blue), `cascade`/`rapids` → bold (vivid purple / electric coral), `tsunami` → tsunami (storm teal). An explicit `data-palette` or `data-accent` always wins. Dark mode swaps to lighter swatches where a light-mode default would be unreadable (still, serene, tsunami).
|
|
333
|
+
- **`data-accent="1-6"` without `data-palette`** — numeric accent swatches now work against the active preset's default family (previously required an explicit palette).
|
|
334
|
+
- **Preset display-scale contrast** — presets now size display type differently: `still` restrained (5xl caps at 2.875rem), `rapids` oversized, `tsunami` massive (hero headlines up to 6.5rem via new `--hero-headline-size` token consumed by `.hero__headline`).
|
|
335
|
+
- **Wider macro-dial ranges** — section rhythm now spans a 4.5× band (32px `still`/`rapids` → 144px `serene` via new `--space-32`/`--space-36` tokens) and content width spans 42rem (`serene` literary column) → 96rem (`stream`) → 100% (`tsunami`).
|
|
336
|
+
- **`fluid-agent-kit/skills/preset-composition.md`** — new agent skill: per-preset layout DNA (canvas, rhythm, hero arrangement, grid density, alignment bias, do/don't) so AI assistants compose pages differently per preset at build time.
|
|
337
|
+
- **`examples/composition.html`** — live demo of preset-driven arrangement with the preset switcher.
|
|
338
|
+
|
|
339
|
+
### Changed
|
|
340
|
+
|
|
341
|
+
- **Default accent is now the Fluid brand blue** (`oklch(60% 0.18 240)`), previously a neutral gray. Pages with no `data-preset`/`data-palette`/`data-accent` pick up the brand voice; `data-accent="default"` still gives the neutral gray.
|
|
342
|
+
- `:root` `--accent-subtle` now mixes with `--color-background` instead of `--theme-light`, so bare pages get a correct subtle tint in dark mode.
|
|
343
|
+
- `stream` widens to a 96rem canvas; `still` focuses to a 48rem column.
|
|
9
344
|
|
|
10
345
|
### Fixed
|
|
11
|
-
|
|
346
|
+
|
|
347
|
+
- `data-palette="fluid"` combined with `data-preset="stream"` or `"cascade"` produced an invalid accent (both presets were missing from the fluid palette's motion-to-color mapping).
|
|
348
|
+
- Removed the redundant `[data-palette][data-accent="1-6"]` mapping block (byte-identical to the new unguarded rules).
|
|
349
|
+
|
|
350
|
+
## [0.8.3] - 2026-08-28
|
|
351
|
+
|
|
352
|
+
### Fixed
|
|
353
|
+
- chore(deps-dev): bump brace-expansion from 2.0.2 to 2.1.2 in the npm_and_yarn group across 1 directory
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
## [0.8.2] - 2026-03-26
|
|
357
|
+
|
|
358
|
+
### Fixed
|
|
359
|
+
- Update .gitignore: ignore terminal sessions
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
## [0.8.1] - 2026-03-25
|
|
363
|
+
|
|
364
|
+
### Fixed
|
|
365
|
+
- feat: complete preset coverage for all components and sections — v0.8.0
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
## [0.8.0] - 2026-03-24
|
|
369
|
+
|
|
370
|
+
### Added
|
|
371
|
+
|
|
372
|
+
- **Preset avatar styles** — Flowing: ocean glow ring; still: fully square (all shapes); cascade: enhanced group lift; rapids: hard shadow on group already present
|
|
373
|
+
- **Preset form styles** — Still: flat no-glow focus (border only); rapids: offset shadow on focus, square fieldset; tsunami: asymmetric fieldset
|
|
374
|
+
- **Preset empty-state styles** — Flowing: soft icon glow; still: square icon container; rapids: hard bordered offset icon; tsunami: asymmetric icon
|
|
375
|
+
- **Preset search-input styles** — Still: square clear button; rapids: offset shadow + square on hover
|
|
376
|
+
- **Preset settings-panel styles** — Flowing: frosted glass drawer panel; still: square FAB and theme cards; rapids: offset FAB hover translate; tsunami: asymmetric drawer
|
|
377
|
+
- **Preset loading/skeleton styles** — Flowing: shadow on skeleton cards; still: square skeleton cards (no rounded corners)
|
|
378
|
+
- **All 6 sections get preset coverage** — Features, CTA, footer, stats, testimonials, and team sections now each have still/flowing/rapids/tsunami/cascade preset-specific styles covering radius, shadow, and hover behavior
|
|
379
|
+
|
|
380
|
+
## [0.7.0] - 2026-03-24
|
|
381
|
+
|
|
382
|
+
### Added
|
|
383
|
+
|
|
384
|
+
- **Preset signature hero gradients** — Every preset now has a unique hero background: flowing (ocean radial), serene (warm cream radial), stream (cool-white sky), cascade (accent waterfall mist), rapids (diagonal energy), tsunami (deep ocean vertical)
|
|
385
|
+
- **Preset sticky nav styles** — All 5 non-flowing presets now have distinct sticky nav treatments: serene (warm cream glass), stream (crisp glass), cascade (friendly glass), rapids (hard neo-brutalist offset shadow), tsunami (dramatic deep shadow)
|
|
386
|
+
- **Preset button interactions** — Serene, stream, cascade, and rapids each have signature button hover/active physics: serene (shadow expansion, no lift), stream (clean 1px lift), cascade (bouncy spring), rapids (hard offset translate)
|
|
387
|
+
- **Stream card hover** — Clean minimal lift (-1px) with crisp shadow
|
|
388
|
+
- **Flowing accordion** — Rounded xl corners + ocean shadow-sm for separated/bordered variants
|
|
389
|
+
- **Flowing modal** — Enhanced backdrop blur (8px, 1.5× saturation) for frosted ocean depth
|
|
390
|
+
- **Flowing toast/alert** — Elevated shadow-md
|
|
391
|
+
- **Flowing dropdown** — Frosted glass menu with backdrop-filter + semi-transparent surface
|
|
392
|
+
- **Flowing popover** — Frosted glass with backdrop-filter + semi-transparent surface
|
|
393
|
+
- **Flowing table** — Rounded xl corners + ocean shadow-sm
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## [0.6.0] - 2026-03-24
|
|
398
|
+
|
|
399
|
+
### BREAKING CHANGES
|
|
400
|
+
|
|
401
|
+
- **`data-motion` renamed to `data-preset`** — The attribute that controls visual personality (fonts, radius, shadows, spacing, color tint) has been renamed from `data-motion` to `data-preset`. Update all `<html data-motion="...">` to `<html data-preset="...">` in your code.
|
|
402
|
+
- **`data-motion` repurposed** — `data-motion` now controls animation speed only: `reduced` | `slow` | `default` | `fast`. It no longer controls visual design.
|
|
403
|
+
|
|
404
|
+
### Added
|
|
405
|
+
- **New `data-motion` animation speed system** — override animation timing independently of visual preset. Four values: `reduced` (0ms, accessibility), `slow` (1.5× base), `default` (no override), `fast` (0.5× base). `prefers-reduced-motion` always wins.
|
|
406
|
+
- **Separation of concerns** — visual personality (`data-preset`) and animation timing (`data-motion`) are now orthogonal axes. Any combination is valid: `data-preset="rapids" data-motion="slow"` gives the bold Rapids design with deliberate, cinematic motion.
|
|
407
|
+
|
|
408
|
+
### Migrating from 0.5.x
|
|
409
|
+
|
|
410
|
+
```html
|
|
411
|
+
<!-- Before -->
|
|
412
|
+
<html data-motion="flowing">
|
|
413
|
+
|
|
414
|
+
<!-- After -->
|
|
415
|
+
<html data-preset="flowing">
|
|
416
|
+
|
|
417
|
+
<!-- Optional: add animation speed override -->
|
|
418
|
+
<html data-preset="flowing" data-motion="fast">
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## [0.5.0] - 2026-03-24
|
|
424
|
+
|
|
425
|
+
### Added
|
|
426
|
+
- **Complete preset typography** — every `data-motion` preset now has a deliberate font personality:
|
|
427
|
+
- `serene`: Cormorant Garamond + EB Garamond (contemplative, literary, spa-like)
|
|
428
|
+
- `stream`: Plus Jakarta Sans (modern SaaS, clean, professional)
|
|
429
|
+
- `flowing`: Outfit + DM Sans (Fluid brand identity — smooth, geometric, the default)
|
|
430
|
+
- `cascade`: Nunito (friendly, rounded, approachable — Notion/Slack vibes)
|
|
431
|
+
- `rapids`: Syne + Space Grotesk (athletic, punchy, high-energy — Stripe/Vercel energy)
|
|
432
|
+
- `tsunami`: Bebas Neue + Barlow (cinematic, dramatic, commanding — Hokusai wave)
|
|
433
|
+
- `still` + `trickling`: system-ui (intentionally minimal — Swiss design needs no ornament)
|
|
434
|
+
- **`src/fonts/preset-fonts.css`** — optional Google Fonts file for npm/bundler users. Import to activate all preset typefaces at once.
|
|
435
|
+
- **Light-mode color character** — each preset now applies a subtle hue tint to background surfaces. The same page feels different in every preset, not just in dark mode:
|
|
436
|
+
- `still` → cool slate (hue 250) — crisp, disciplined
|
|
437
|
+
- `serene` → warm cream (hue 60) — like aged paper, spa calm
|
|
438
|
+
- `stream` → clean cool (hue 200) — modern SaaS white
|
|
439
|
+
- `flowing` → ocean breath (hue 230) — the Fluid brand signature
|
|
440
|
+
- `cascade` → soft lavender (hue 280) — warm, inviting, playful
|
|
441
|
+
- `rapids` → warm ember (hue 25) — heat, energy, forward motion
|
|
442
|
+
- `tsunami` → deep navy (hue 250) — imposing, cinematic
|
|
443
|
+
- **Live preset switcher** on `examples/foundation.html` and `examples/components.html` — click any preset to see the full personality change in real time (typography + color + motion + radius + shadows)
|
|
444
|
+
- **MutationObserver in `fonts.html`** — fonts load instantly when switching presets via JS, not just on page load
|
|
445
|
+
|
|
446
|
+
### Changed
|
|
447
|
+
- `flowing` (default) now uses Outfit + DM Sans, giving the Fluid brand a distinctive voice rather than falling back to system-ui
|
|
448
|
+
- `rapids` switched from Archivo Black to Syne (more distinctive, athletic) + Space Grotesk body
|
|
449
|
+
- `tsunami` switched from Space Grotesk to Bebas Neue (far more cinematic/dramatic) + Barlow body
|
|
450
|
+
- `cascade` now uses Nunito for both heading and body (pure Nunito is more cohesive than mixed stacks)
|
|
451
|
+
- Light-mode backgrounds are no longer pure white for any preset — each has a hue identity
|
|
452
|
+
|
|
453
|
+
## [0.4.9] - 2026-03-24
|
|
454
|
+
|
|
455
|
+
### Fixed
|
|
456
|
+
- chore: final audit — TASK-QUEUE updated, README starter kits section, version consistency 0.4.8
|
|
457
|
+
|
|
458
|
+
## [0.4.8] - 2026-03-24
|
|
459
|
+
|
|
460
|
+
### Added
|
|
461
|
+
- **1920w WebP variants** generated for all 18 hero images (77.5% savings: 33.63MB → 7.58MB)
|
|
462
|
+
- `scripts/add-1920w-srcset.mjs` — adds 1920w to existing `<picture>` srcsets
|
|
463
|
+
|
|
464
|
+
### Changed
|
|
465
|
+
- `index.html` and 11 templates: 47 `<source>` srcsets now include 1920w WebP for large displays
|
|
466
|
+
- `scripts/optimize-images.js` — now skips already-existing output files (idempotent)
|
|
467
|
+
|
|
468
|
+
## [0.4.7] - 2026-03-24
|
|
469
|
+
|
|
470
|
+
### Added
|
|
471
|
+
- **Performance benchmarks** (`_docs/PERFORMANCE-BENCHMARKS.md`) — Lighthouse v13 scores: Homepage Perf 100, Foundation Perf 100, Components Perf 88; CLS=0 and TBT=0ms across all pages
|
|
472
|
+
- **`scripts/perf-benchmark.mjs`** — automated benchmark runner
|
|
473
|
+
|
|
474
|
+
## [0.4.6] - 2026-03-24
|
|
475
|
+
|
|
476
|
+
### Added
|
|
477
|
+
- **Accessibility audit** (`_docs/ACCESSIBILITY-AUDIT.md`) — axe-core WCAG 2.1 AA audit across Foundation, Components, and Homepage; 0 critical violations
|
|
478
|
+
|
|
479
|
+
### Fixed
|
|
480
|
+
- Loading spinners: added `role="status"` to all `.spinner` and `.spinner-dots` elements (required for `aria-label` on non-semantic elements)
|
|
481
|
+
- Card ratings: added `role="img"` to `.card__rating` elements (required for `aria-label`)
|
|
482
|
+
- Interactive card demo: removed invalid `role="button"` from `<article>` element
|
|
483
|
+
- Updated `loading.css` usage comment to show correct `role="status"` pattern
|
|
484
|
+
|
|
485
|
+
## [0.4.5] - 2026-03-24
|
|
486
|
+
|
|
487
|
+
### Added
|
|
488
|
+
- **React starter kit** (`starters/react/`) — Vite + React 18 starter with live theming demo, drives `data-*` attributes via React state, includes Next.js instructions in README
|
|
489
|
+
|
|
490
|
+
## [0.4.4] - 2026-03-24
|
|
491
|
+
|
|
492
|
+
### Added
|
|
493
|
+
- **HTML starter kit** (`starters/html/`) — self-contained CDN-based starter, zero build step, includes nav, hero, features grid, contact form, footer, and full README
|
|
494
|
+
|
|
495
|
+
## [0.4.3] - 2026-03-24
|
|
496
|
+
|
|
497
|
+
### Added
|
|
498
|
+
- **First public npm publish** — `@fluid-theme/core@0.4.3` is now live on the npm registry
|
|
499
|
+
- **CDN links active** — jsDelivr and unpkg now serve the package automatically
|
|
500
|
+
- npm account `agilemediaagency` created with `@fluid-theme` organization
|
|
501
|
+
|
|
502
|
+
### Changed
|
|
503
|
+
- Author email added to `package.json`
|
|
12
504
|
|
|
13
505
|
|
|
14
506
|
## [0.4.2] - 2026-03-21
|
|
@@ -157,3 +649,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
157
649
|
[0.3.0]: https://github.com/Agile-Media-Agency/the-fluid-theme/releases/tag/v0.3.0
|
|
158
650
|
[0.4.2]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.4.1...v0.4.2
|
|
159
651
|
[0.4.3]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.4.2...v0.4.3
|
|
652
|
+
[0.4.9]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.4.8...v0.4.9
|
|
653
|
+
[0.8.1]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.8.0...v0.8.1
|
|
654
|
+
[0.8.2]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.8.1...v0.8.2
|
|
655
|
+
[0.8.3]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.8.2...v0.8.3
|
|
656
|
+
[0.9.1]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.0...v0.9.1
|
|
657
|
+
[0.9.2]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.1...v0.9.2
|
|
658
|
+
[0.9.3]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.2...v0.9.3
|
|
659
|
+
[0.9.4]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.3...v0.9.4
|
|
660
|
+
[0.9.5]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.4...v0.9.5
|
|
661
|
+
[0.9.6]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.5...v0.9.6
|
|
662
|
+
[0.9.7]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.6...v0.9.7
|
|
663
|
+
[0.9.8]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.7...v0.9.8
|
|
664
|
+
[0.9.9]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.8...v0.9.9
|
|
665
|
+
[0.9.10]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.9...v0.9.10
|
|
666
|
+
[0.9.11]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.10...v0.9.11
|
|
667
|
+
[0.9.12]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.11...v0.9.12
|
|
668
|
+
[0.9.13]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.12...v0.9.13
|
|
669
|
+
[0.9.14]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.13...v0.9.14
|
|
670
|
+
[0.9.15]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.14...v0.9.15
|
|
671
|
+
[0.9.16]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.15...v0.9.16
|
|
672
|
+
[0.9.17]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.16...v0.9.17
|
|
673
|
+
[0.9.18]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.17...v0.9.18
|
|
674
|
+
[0.9.19]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.18...v0.9.19
|
|
675
|
+
[0.9.20]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.19...v0.9.20
|
|
676
|
+
[0.9.21]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.20...v0.9.21
|
|
677
|
+
[0.9.22]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.21...v0.9.22
|
|
678
|
+
[0.9.23]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.22...v0.9.23
|
|
679
|
+
[0.9.24]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.23...v0.9.24
|
|
680
|
+
[0.9.25]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.24...v0.9.25
|
|
681
|
+
[0.9.26]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.25...v0.9.26
|
|
682
|
+
[0.9.27]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.26...v0.9.27
|
|
683
|
+
[1.0.0]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v0.9.27...v1.0.0
|
|
684
|
+
[1.0.1]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.0...v1.0.1
|
|
685
|
+
[1.0.2]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.1...v1.0.2
|
|
686
|
+
[1.0.3]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.2...v1.0.3
|
|
687
|
+
[1.0.4]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.3...v1.0.4
|
|
688
|
+
[1.0.5]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.4...v1.0.5
|
|
689
|
+
[1.1.0]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.0.5...v1.1.0
|
|
690
|
+
[1.1.1]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.0...v1.1.1
|
|
691
|
+
[1.1.2]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.1...v1.1.2
|
|
692
|
+
[1.1.3]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.2...v1.1.3
|
|
693
|
+
[1.1.4]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.3...v1.1.4
|
|
694
|
+
[1.1.5]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.4...v1.1.5
|
|
695
|
+
[1.1.6]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.5...v1.1.6
|
|
696
|
+
[1.1.7]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.6...v1.1.7
|
|
697
|
+
[1.1.8]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.7...v1.1.8
|
|
698
|
+
[1.1.9]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.8...v1.1.9
|
|
699
|
+
[1.1.10]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.9...v1.1.10
|
|
700
|
+
[2.0.0]: https://github.com/Agile-Media-Agency/the-fluid-theme/compare/v1.1.10...v2.0.0
|