SaPaginator (PaginatorContent) — Changelog
v0.1.3 (2026-06-24)
TL;DR
Perubahan:
- ✨ New: Slot
#loadingView,#errorView,#emptyView(New) — override tampilan loading/error/empty state tanpa fork component - 📦 Dependencies: Hapus peer dependency
floating-vue(Medium) — tooltip dan page selector kini diimplementasi internal - 📦 Dependencies: Bump peer dependency
@bpmlib/utils-data-containerke^0.4.0(Medium) — sync tipePageConfigyang direstrukturisasi - 🐛 Fixed: Kontrol pagination tidak muncul sama sekali di container mode (Medium) — typo
'lengthaware'→'lengthAware' - 🔧 Improved: Simple pagination sekarang menampilkan tombol prev/next (Medium) — sebelumnya hanya lengthAware yang dapat kontrol navigasi
- 🐛 Fixed: Pagination tidak reset ke halaman 1 saat submit search di container mode (Low)
- 🔧 Improved: Search bar gunakan JS breakpoint — elemen tunggal di DOM, tidak duplikat (Low)
- 🔧 Improved: Sinkronisasi tipe
DataContainerObjectdengan@bpmlib/utils-data-containerv0.4.0 (Low) - 🎨 Refactor: Tooltip left-aligned; clear button FormInput float tanpa expand form (Low)
Impact: ✨ New: 1 | 🟢 Medium: 4 | 🔵 Low: 4
Backward Compatible: ✅ Ya — kecuali upgrade @bpmlib/utils-data-container ke ^0.4.0 wajib
✨ New
Slot Override untuk Loading, Error, dan Empty State
Tiga slot baru memungkinkan override tampilan state loading, error, dan empty tanpa harus fork component. Jika slot tidak di-pass, tampilan default library tetap digunakan — fully opt-in dan non-breaking.
Poin utama:
#loadingView— ganti loading card dengan komponen spinner atau skeleton custom#errorView— expose{ message: string, retry: () => void }untuk error UI custom dengan akses pesan dan tombol retry#emptyView— expose{ itemText: string, retry: () => void }untuk empty state custom sesuai konteks halaman
🟢 Medium Impact
Bug Fixes:
- Kontrol pagination tidak pernah muncul di container mode — typo
paginationMode === 'lengthaware'diperbaiki ke'lengthAware' - Simple pagination (
'simple','regular','cursor') sekarang menampilkan tombol prev/next — sebelumnya hanyalengthAwareyang mendapat kontrol navigasi
Perubahan:
- Hapus peer dependency
floating-vue— tidak perlu lagi install atau importfloating-vue/dist/style.css. Tooltip diganti CSS hover internal; page selector dropdown diganti component internal - Bump peer dependency
@bpmlib/utils-data-containerke^0.4.0—PageConfigkini tidak punya fieldpaginationMode(pindah kepage.setup?.mode); tambahPageSetupinterface dandeclarePagination()method; hapusPaginationIntent.preferCursor
🔵 Low Impact
Bug Fixes:
- Pagination di container mode sekarang reset ke halaman 1 saat submit search via
container.submitSearch() - Clear button (
×) pada FormInput tidak lagi melebarkan form saat muncul — kini float absolut di dalam input
Perubahan:
- Search bar gunakan JS breakpoint (
matchMedia) — pada mobile satu form di DOM, pada desktop satu form di DOM; tidak ada elemen duplikat tersembunyi via CSS - Sinkronisasi tipe lokal
DataContainerObjectdengan source package v0.4.0: tambahsubmitSearch(),modifyFilter(),isUsingFilter(),setSortAsc(),setSortDesc(),declarePagination(); hapusperPagedanisFrontEndPreferCursordariPageConfig; hapuspreferCursordariPaginationIntent - Perbaiki
SortConfig.sortDirdari'a' | 'd'ke'asc' | 'desc' - Tambah
SortDirectiontype alias,PageSetupinterface,'regular'kePaginationIntent.mode - Tooltip button sekarang left-aligned terhadap tepi kiri button (sebelumnya center)