Internal API
These composables and utilities are used internally by Nuxt Crouton components. You can use them for advanced customization, but they are not considered stable public API and may change between minor versions.
Stability Warning: Internal APIs may change without notice. Use only if you need deep customization beyond what the public API provides.
useTableData
Handles client-side data slicing, filtering, and pagination for tables.
Use Case: Building a custom table component from scratch.
import { useTableData } from '#imports'
const { slicedRows, pageTotalToShow } = useTableData({
rows: ref([...]), // All data
search: ref(''), // Search query
sort: ref({ column: 'name', direction: 'asc' }),
page: ref(1),
pageCount: ref(25),
serverPagination: false,
paginationData: null
})
useTableColumns
Manages column definitions including default columns (created_at, updated_at, actions).
Use Case: Dynamically building column configurations.
import { useTableColumns } from '#imports'
const { allColumns } = useTableColumns({
columns: [],
hideDefaultColumns: {
created_at: false,
updated_at: true,
actions: false
}
})
useTableSearch
Provides debounced search functionality.
Use Case: Custom search implementation with debouncing.
import { useTableSearch } from '#imports'
const { searchQuery, debouncedSearch } = useTableSearch({
debounceMs: 300
})
useExpandableSlideover
Manages nested slideover state for multi-level forms.
Use Case: Building custom nested form containers.
import { useExpandableSlideover } from '#imports'
const { open, close, level } = useExpandableSlideover()
Note: For most use cases, stick to the public API documented in Composables and Components.
Related Resources
- Composables Reference - Public API
- Components Reference - UI components
- Advanced Table Configuration - Table features