== Changelog ==

This is the public, plain-language version history for YAOTW Stylo - Design System Importer.
It covers releases from 1.0.0 (the first stable release) up to the current version. Small
maintenance and compatibility releases are grouped under their main version for readability.

= 2.2.0 - 2026-08-21 =

Another release about the scroll appearance effects, fixing the last case where
something could stay invisible. If you do not use these effects, nothing changes
for you.

Fixes
* Fixed: An element at the very bottom of a page never appeared. A short footer,
  or anything sitting in the last few pixels of a page, stayed invisible however
  far you scrolled, simply because there was nothing left to scroll to bring it
  into view. Everything on the page is now shown by the time you reach the end
  of it.
* Fixed: On a page too short to be scrolled at all, anything below the first
  screen stayed hidden for the same reason. It is now visible as soon as the
  page loads. The same goes for a page that becomes too short to scroll when you
  turn your phone sideways.

New
* New: You can now leave one element out of the effect. Give it the CSS class
  wps-no-reveal, from the Advanced settings of an Elementor container or of a
  block in the block editor, and neither that element nor anything inside it is
  animated. This is the simplest answer for a very short element at the very
  bottom of a page, a one-line footer for instance, where there is not enough
  room left below for the animation to be worth playing.

Improvements
* Improved: Sections now start animating a little earlier as they come into
  view, which makes long pages feel more responsive.

Unchanged
* The effect still does nothing at all when a visitor has asked their system to
  reduce animations, and it still never hides anything when JavaScript does not
  run.
* You can still switch the effect off entirely from the Import & Apply tab
  without re-importing.

= 2.1.1 - 2026-08-20 =

A maintenance release, entirely about the scroll appearance effects. If you do not use
them, nothing changes for you.

Fixes
* Fixed: Very tall sections never appeared. If one of your sections was taller than
  roughly ten screens — typically a single container holding a whole page of content —
  the effect hid it and never brought it back, however far you scrolled. Nothing in the
  browser reported an error, which is why it could go unnoticed. Such sections now
  appear normally, whatever their height.
* Fixed: Sections just below the first screen no longer wait for your first scroll.
  They used to stay hidden until you moved the page, which left a large blank area under
  the first screen when the page loaded. They now appear straight away.
* Fixed: A section nested inside another one could stay invisible until the section
  around it had appeared, and if that outer one never appeared, neither did anything
  inside it. Each section now animates on its own account.

Improvements
* Improved: On a section with many elements, the cascade no longer stretches out. With
  thirty elements the last one used to appear three and a half seconds after the first,
  and nearly six seconds with fifty — long after you had scrolled past. The delay now
  stops growing after one second, so the staircase effect stays visible on ordinary
  sections without dragging on the dense ones.
* Improved: The effect is lighter on your visitors' devices. The plugin no longer keeps
  every animated element permanently reserved in the graphics memory, which was costly
  on long pages carrying many animated sections. The animation itself is unchanged.

Unchanged
* The effect still does nothing at all when a visitor has asked their system to reduce
  animations, and it still never hides anything when JavaScript does not run.
* You can still switch the effect off from the Import & Apply tab without re-importing.

= 2.1.0 - 2026-08-18 =

What's new
* New: A safer way to apply your design system on block themes — "Apply (no theme file changes)".
  Your colors, fonts and button styles are applied without ever modifying your theme's
  theme.json file, so a theme update can no longer wipe your configuration. Choose whether to
  keep your theme's own palette and fonts alongside yours, or to show only yours.
* New: WPStylo now tells you when a theme update has wiped the settings it had written
  into your theme, instead of letting them disappear unnoticed. The message offers to
  apply them again, or to switch to the safer option that theme updates cannot affect.
  You can dismiss it; it comes back only if the situation changes.
* New: Text case is now part of what gets applied. If your design system sets a role or a
  button to UPPERCASE, lowercase or Capitalized, WordPress now follows it — on Elementor,
  on block themes and in the CSS classes alike, instead of only in the app preview.
* New: Buttons can now have a different radius on each corner (rounded on top, square at
  the bottom, and so on). Buttons using a single radius are unaffected, and a design system
  exported before this version keeps working exactly as before.
* New: Your own typography roles. If your design system defines roles beyond the eleven
  standard ones — a second caption style, a louder variant — they now reach Elementor too:
  they appear in Site Settings global fonts, get their own ready-to-use CSS class, and are
  listed in the Reference tab. They already worked on block themes and CSS variables.
  Note: a role you invented gives you a CSS class and a font size you can pick in the
  editor, but it does not restyle an HTML element on its own — there is no element for
  WPStylo to attach it to. The Guide explains where to use it. Keep these names short and
  distinct: Elementor variable names cannot contain spaces and stop at 50 characters.

Improvements
* Improved: The Full Site Editing card now leads with this safer option; the previous
  "Write to theme.json" and "Overwrite" actions are still there, grouped as advanced.
  The Guide explains when to use each, and the Summary shows which one is active.
* Improved: "Inject Variables & CSS Classes" no longer reports a plain success when
  Elementor will not actually display what it wrote. Elementor only renders global
  variables when its "Atomic Widgets" feature is switched on, and it renders font size
  variables only with Elementor Pro. Both are Elementor requirements, not something
  WPStylo can change. The Elementor card, the result message and the Summary now say
  which of the two applies to your site, and the Guide explains how to lift them. The
  button still works either way: your variables are written and start being used as
  soon as the requirement is met. The utility CSS classes never depended on any of this.

Fixes
* Fixed: The theme.json backup is now described honestly. It is the state of the file
  just before your last apply — not your theme's original file — and the Tools tab now
  shows its date, the theme version it came from, and whether it already contained your
  configuration, so you know what you are restoring before you click.
* Fixed: Restoring that backup can now be undone: the file it replaces is saved first.
  A damaged backup is refused instead of being restored over a working file.
* Fixed: Deleting your configuration no longer leaves stale "Last applied" dates behind.
* Fixed: Uninstalling now cleans up the backup files WPStylo created next to your
  theme.json. A theme.json you wrote is your theme's file and is left untouched.
* Fixed: typography roles whose name contains several words now produce a clean, valid
  name everywhere. The eleven standard roles (H1 to H6, Body, Small, Caption, Button,
  Navigation) are untouched, so nothing changes on an existing site.
* Fixed: a color WPStylo cannot read is now left out of theme.json instead of being written
  as a blank value, and the Text and Background mapping no longer points at a color that
  was not written.
* Fixed: a malformed value inside an imported JSON file no longer produces PHP warnings on
  every page load.
* Compatibility: tested and confirmed working with WordPress 7.1.

= 2.0.0 =
* New: Scroll appearance effects (Fade Up, Fade In, Slide Left, Slide Right, Zoom In) that
  reveal sections as visitors scroll, on the Elementor and Full Site Editing targets. Turn
  them on or off any time, no re-import needed. They respect the "reduced motion" preference
  and never hide your content when scripting is unavailable.
* New: A "Overwrite theme.json" mode for block themes, for a clean slate that replaces the
  palette, fonts and font sizes with yours only, alongside the existing non-destructive
  "Write" mode. A backup is always created first and can be restored in one click.
* Improved: Text and Background colors are now mapped to your design system automatically in
  the block editor's global styles.
* Improved: A refreshed, cleaner admin interface (new header, clearer target cards with
  guidance, reorganized Tools tab, and an updated Guide).
* Improved: The Summary now shows your transitions and scroll effect, with an accurate count
  of the element tokens in your configuration.
* Improved: Clearer wording and safer admin notices throughout.

= 1.9.0 =
* New: Ready-made button styles for block themes (Stylo Primary, Secondary, Outline, Ghost,
  Link) that you can pick directly from the block editor. Buttons you do not style keep your
  theme.json look.

= 1.8.0 =
* New: Button drop shadows (normal and hover) applied consistently across the CSS, Elementor
  and Full Site Editing targets, and included in button transitions.
* Improved: Follow-up updates made button shadows behave reliably in Elementor, including the
  main button in the global Kit and the per-variant utility styles.

= 1.7.0 =
* New: Per-button underline styling and smooth button transitions (duration and easing) on
  the CSS and Elementor targets.

= 1.6.0 =
* New: A Tools tab to export your configuration as a re-importable backup, restore theme.json
  from an automatic backup, and manage your configuration.
* New: A built-in Guide with step-by-step instructions for each target.
* Improved: The admin is organized into clear, linkable tabs (Import & Apply, Reference,
  Summary, Tools, Guide), with added safety guidance for production sites.

= 1.5.0 =
* Changed: The plugin is now "YAOTW Stylo - Design System Importer" for the WordPress.org
  directory.

= 1.4.0 =
* New: Custom color roles now flow through to Elementor global variables and front-end CSS
  variables.
* Improved: Re-importing and re-applying no longer overwrite your own custom colors, fonts and
  content.
* Improved: Stronger protection of the styles the plugin outputs, more reliable front-end
  style loading, and better compatibility on Windows-based hosts.

= 1.3.0 =
* New: The CSS classes reference is now shown for the CSS target too, not only for Elementor.
* Improved: A button set to zero border width no longer shows a stray 1px border.

= 1.2.0 =
* Changed: A fully redesigned admin, with target cards, a copy-ready CSS classes reference,
  and an at-a-glance configuration summary.

= 1.1.0 =
* New: For Elementor, inject matching CSS variables and ready-to-use utility classes for
  headings, text and buttons, with a copy-friendly reference table. Follow-up updates improved
  the reliability of the injected styling.

= 1.0.0 =
* First stable release: import a design system as a single JSON file and apply it to CSS custom
  properties, Elementor, or a block theme's theme.json, with responsive typography and safe,
  backed-up theme.json writes.
