Api Reference

Internal API

Advanced composables and utilities (use at your own risk)

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.