Skip to content

Releases: codinglabsau/gooey

2.3.2

12 Mar 06:52

Choose a tag to compare

Update dependencies.

2.3.1

12 Mar 06:48

Choose a tag to compare

  • Remove coloured border variants from Flasher toast notifications (unintended styling that only rendered in Tailwind v3 due to CSS cascade layer differences)
  • Add missing vue-sonner/style.css import to demo app

v2.3.0

12 Mar 04:21

Choose a tag to compare

LaravelPaginator Component & Gooey Plugin

New: LaravelPaginator component

A drop-in server-driven pagination component for Laravel apps. Pass a paginated response and it renders the navigation — no configuration needed.

<LaravelPaginator :paginator="users" />

Supports both paginator types:

  • LengthAwarePaginator — numbered page links with "Showing X to Y of Z results" on desktop, simple prev/next with chevron icons on mobile
  • CursorPaginator — previous/next navigation only (no page numbers possible with cursors)

The component auto-detects which type was provided by checking for the last_page property.

New: gooey Vue plugin

Gooey is framework-agnostic — consumed by Inertia apps, Nuxt apps, and plain Vue. The new plugin lets consumers configure their framework's link component once at app setup, and Gooey uses it for SPA navigation everywhere.

// Inertia
import { gooey } from '@codinglabsau/gooey'
import { Link } from '@inertiajs/vue3'
app.use(gooey, { link: Link })

// Nuxt
import { gooey } from '@codinglabsau/gooey'
import { NuxtLink } from '#components'
nuxtApp.vueApp.use(gooey, { link: NuxtLink })

Fully backwards compatible — if the plugin is never installed, links render as plain <a> tags. No setup required for existing apps.

New: CursorPaginatorResponse<T> global type

Added alongside the existing Paginator<T> type. Both are globally declared — no import needed.

New files

File Purpose
src/plugin.ts gooey plugin + GOOEY_LINK_KEY injection symbol
src/components/gooey-link/GooeyLink.vue Internal link wrapper with inject fallback to <a>
src/components/laravel-paginator/LaravelPaginator.vue Entry point — auto-detects paginator type
src/components/laravel-paginator/LengthAwarePaginator.vue Numbered pagination with responsive layout
src/components/laravel-paginator/CursorPaginator.vue Prev/next only

Exports

  • gooey (plugin)
  • GooeyOptions (type)
  • LaravelPaginator (component)

GooeyLink is intentionally not exported — internal implementation detail.

Documentation

  • Showcase page at /components/laravel-paginator with 3 interactive demos (length-aware, cursor, empty state), props table, and code examples
  • Installation page updated with plugin setup instructions for Inertia and Nuxt
  • Added to sidebar navigation under "Page Layout"

v2.2.6

09 Mar 07:21

Choose a tag to compare

Bug Fixes

  • Restore style.css as CSS-only import — instead of removing it entirely (v2.2.5), @codinglabsau/gooey/style.css is now a thin CSS file that @imports vue-sonner/style.css. This keeps the import in CSS land (resolved by your Vite/PostCSS pipeline, not Node's ESM loader) so it's SSR-safe. Consumers should keep @import "@codinglabsau/gooey/style.css" in their CSS — no change needed from v2.2.2 and earlier.

Upgrade from v2.2.5

If you removed the @import "@codinglabsau/gooey/style.css" line after upgrading to v2.2.5, add it back.

v2.2.5

09 Mar 07:13

Choose a tag to compare

Bug Fixes

  • Fix SSR compatibility — externalize all runtime dependencies so importing Gooey in SSR environments (e.g. Inertia v3) no longer causes document is not defined (#41)
  • Remove redundant DropdownMenuPortal import — already re-exported via dropdown-menu barrel
  • Update npm dependencies — security fixes for rollup, systeminformation, minimatch, qs

Note

v2.2.3 and v2.2.4 were yanked — v2.2.3 shipped the source fix but not the rebuilt bundle, and v2.2.4 was a corrective release that was never fully published. v2.2.5 briefly removed style.css but this was restored in v2.2.6. Upgrade directly to v2.2.6.

v2.2.2

09 Feb 05:41

Choose a tag to compare

What's Changed

Full Changelog: v2.2.1...v2.2.2

v2.2.1

05 Feb 21:45

Choose a tag to compare

What's Changed

Full Changelog: v2.2.0...v2.2.1

v2.2.0

05 Feb 07:16

Choose a tag to compare

What's New

SimpleSelect Component

Single-component wrapper for the compound Select, designed for form builders that expect a single entry point.

<SimpleSelect
  v-model="country"
  :options="[
    { value: 'au', label: 'Australia' },
    { value: 'nz', label: 'New Zealand' },
  ]"
  placeholder="Select a country"
/>

Features:

  • Accepts options: { value, label, disabled? }[] prop
  • Forwards attributes to trigger element (supports data-cy, id, etc.)
  • Exports SelectOption type

Full Changelog: v2.1.3...v2.2.0

v2.1.3

05 Feb 00:27

Choose a tag to compare

What's Changed

  • fix: render newlines in Flasher error descriptions by @SethSharp in #37

Full Changelog: v2.1.2...v2.1.3

v2.1.2

04 Feb 09:45

Choose a tag to compare

What's Changed

Features

  • GitHub Pages docs deployment — docs site now auto-deploys on push to main (d87f52d)

Chores

  • Version bump for package registry publish

Full Changelog: v2.1.1...v2.1.2