OAK · FilterCraft

OAK UI · FilterCraft

Le librerie esistenti per filtraggio dinamico (Isotope, MixItUp, Shuffle) pesano tra 25 e 80 KB e portano dipendenze. OAK FilterCraft fa l'80% di quello che fanno loro in 3.8 KB, senza jQuery, senza framework, senza build tool.

Le librerie esistenti per filtraggio dinamico (Isotope, MixItUp, Shuffle) pesano tra 25 e 80 KB e portano dipendenze. OAK FilterCraft fa l'80% di quello che fanno loro in 3.8 KB, senza jQuery, senza framework, senza build tool.

  • Peso: 3.8 KB (gzip)
  • Dipendenze: 0 (zero)
  • Browser: 99.2% (caniuse)
Changelog

Cosa è cambiato, quando.

  1. v.1.0.0 corrente
    18 aprile 2026
    Major

    Prima release stabile, API congelata

    • add API pubblica congelata: garanzie di backward-compatibility fino alla 2.0.
    • add Supporto a filtri multipli combinabili con AND/OR.
    • add Eventi custom: oak:filter, oak:sort, oak:before-update.
    • change BREAKING: la funzione globale Oak ora è un costruttore. Migrazione: new Oak() invece di Oak().
    • change Bundle ridotto da 5.2 KB a 3.8 KB con tree-shaking interno.
  2. v.0.8.2
    02 marzo 2026
    Patch
    • fix Memory leak quando si distrugge un'istanza in pagine SPA con turbo-link.
    • fix data-filter="*" non resettava il sort attivo.
  3. v.0.8.0
    14 gennaio 2026
    Minor

    Sort dinamico e deep-link URL state

    • add Sort dinamico con data-sort: per data, alfabetico, custom comparator.
    • add Opzione { syncURL: true } per persistere stato filtri in querystring.
    • add Lazy initialization: la libreria si avvia solo quando il container entra in viewport.
  4. v.0.6.0
    08 novembre 2025
    Minor
    • add Animazioni FLIP per riordino degli elementi (opzionali, 0 cost se disabilitate).
    • add Supporto a contenuti caricati via fetch dopo init (refresh manuale).
    • fix IntersectionObserver fallback per Safari 15.x.
  5. v.0.4.0
    03 settembre 2025
    Minor
    • add TypeScript definitions complete pubblicate su DefinitelyTyped.
    • change Lo state interno usa Map invece di plain object: -22% memoria su collezioni > 500 item.
  6. v.0.2.0
    12 giugno 2025
    Minor
    • add Accessibilità: gestione automatica di aria-pressed e annunci screen-reader.
    • add Configurazione { announce: 'polite' | 'assertive' | false }.
  7. v.0.1.0
    04 marzo 2025
    Major

    Prima release pubblica

    • add API base: filtri multipli, attributi data-filter, classi attive automatiche.
    • add Zero dipendenze, 5.2 KB minified+gzip.
    • add Compatibile con tutti i browser evergreen + Safari 14+.