All notable changes to this project will be documented in this file.
siblings()no longer throws on detached elements (null parentNode).slideDown()no longer forcesdisplay: block; restores original non-noneinline display after animation.show()now restores the original inline display value that was set beforehide(), using an internalWeakMap.toggle()now checksgetComputedStyleinstead of only inlinestyle.display, correctly handling CSS-hidden elements.- README: fixed outdated/incorrect statements (
$(document).ready, delegation limitations, single-root HTML). - Test suite expanded from 24 to 109 tests (98.9% statement coverage, 100% function coverage).
createHTML(html)now returns anElement[]instead of a singleElement. Multi-root HTML strings are supported.- The library is now distributed as UMD (CommonJS / AMD / global). Importing in Node no longer silently no-ops.
colorAnimatenow always emitsrgba(...)to keep alpha consistent.
.off(event, handler)now actually removes handlers attached via.on()(previous versions wrapped the user callback in an internal closure, making removal impossible)..on(event, selector, handler)delegation now usestarget.matches(selector), scoped to the bound element. Previously it querieddocument.querySelectorAll(selector)on every event, broke for dynamically inserted elements, and could fire across unrelated containers..animate()honours per-property units.opacityis now correctly treated as unitless (was emitted as"0.5px"and silently rejected by browsers, breakingfadeIn/fadeOut)..colorAnimate()no longer collapses all elements to a single key (usedElementas object key, coerced viatoString()); now uses aWeakMap. Supports named colors and#RGBA..slideUp()/.slideDown()add a fallback timeout, so the callback always fires even whentransitionendis suppressed (prefers-reduced-motion, hidden tabs,transition: none).slideDownno longer permanently overridesdisplay..remove()no longer crashes when an element has no parent.GStime.ajax():- Uses
AbortControllersotimeoutactually aborts the request. - Strips non-fetch keys before passing to
fetch(). - Adds
successandcompletecallbacks;erroris invoked beforereject. - Default
credentials: "same-origin",mode: "cors". text/javascriptandtext/*are returned as text; onlyxmlcontent types are parsed viaDOMParser.
- Uses
GStime.noConflict()to restore the previouswindow.$.$.fnalias ofGStime.prototypefor plugin-style extension.$(function)is a shorthand forGStime.ready(function).- TypeScript declarations (
GStime.d.ts). - Cross-platform build script (
scripts/build.js) usingterser+ source map. - Vitest test suite (jsdom environment).
- Last release of the IIFE/browser-only build. See git history.