JSPM

@lukasmurdock/remix-ui-core

0.5.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 88
  • Score
    100M100P100Q76158F
  • License MIT

Core accessibility and form primitives for Remix Frame UI.

Package Exports

  • @lukasmurdock/remix-ui-core
  • @lukasmurdock/remix-ui-core/overlay

Readme

@lukasmurdock/remix-ui-core

Low-level accessibility and form helpers used by Remix Frame UI.

Install

pnpm add @lukasmurdock/remix-ui-core

Usage

import { createFieldIds, createAriaFieldState } from "@lukasmurdock/remix-ui-core"

const ids = createFieldIds("email")
const aria = createAriaFieldState({
  descriptionId: ids.descriptionId,
  invalid: false,
})

Headless table primitives

import { createTableDataController, nextTableSort, toggleTableSelectionKey } from "@lukasmurdock/remix-ui-core"

const sort = nextTableSort(undefined, "name")
const selected = toggleTableSelectionKey(new Set<string>(), "row-1", "single")

const controller = createTableDataController({
  initialQuery: { page: 1, pageSize: 10 },
  load: async ({ query, signal }) => {
    const response = await fetch(`/api/rows?page=${query.page}&size=${query.pageSize}`, { signal })
    return response.json()
  },
})