@strapi/ui-primitives
TypeScript icon, indicating that this package has built-in type declarations

1.18.0 • Public • Published

Strapi Primitives

Version Downloads Discord Shield

A UI component library for building accessibile design systems & web apps.

While typically we use radix-ui primitives in our design-system, there are some missing components. To solve this issue, we work with Radix's internal packages & APIs to develop base layer primitives in a composable manor until they are (hopefully) released through Radix and we can deprecate them here.

Installation

yarn add @strapi/ui-primitives

# or

npm i @strapi/ui-primitives

Component Documentation

This directory shows a basic usage of the component, however for more details click on the storybook badge.

Combobox

Basic Usage

import { Combobox } from '@strapi/ui-primitives';

() => {
  return (
    <Combobox.Root>
      <Combobox.Trigger>
        <Combobox.TextInput placeholder="Pick me" />
        <Combobox.Icon />
      </Combobox.Trigger>
      <Combobox.Portal>
        <Combobox.Content>
          <Combobox.Viewport>
            <Combobox.Item value="1">
              <Combobox.ItemText>Option 1</Combobox.ItemText>
              <Combobox.ItemIndicator>
                <Check />
              </Combobox.ItemIndicator>
            </Combobox.Item>
            <Combobox.NoValueFound>No value found</Combobox.NoValueFound>
            <Combobox.CreateItem>Create a new value</Combobox.CreateItem>
          </Combobox.Viewport>
        </Combobox.Content>
      </Combobox.Portal>
    </Combobox.Root>
  );
};

Select

Basic Usage

import { Select } from '@strapi/ui-primitives';

() => {
  return (
    <Select.Root>
      <Select.Trigger>
        <Select.Value placeholder="Pick me" />
        <Select.Icon />
      </Select.Trigger>
      <Select.Portal>
        <Select.Content>
          <Select.Viewport>
            <Select.Item value="1">
              <Select.ItemText>Option 1</Select.ItemText>
              <Select.ItemIndicator>
                <Check />
              </Select.ItemIndicator>
            </Select.Item>
          </Select.Viewport>
        </Select.Content>
      </Select.Portal>
    </Select.Root>
  );
};

Hook Documentation

useCallbackRef

Converts a callback to a ref to avoid triggering re-renders when passed as a prop or avoid re-executing effects when passed as a dependency

useCollator

Provides localized string collation for the current locale. Automatically updates when the locale changes, and handles caching of the collator for performance.

useFilter

Provides localized string search functionality that is useful for filtering or matching items in a list. Options can be provided to adjust the sensitivity to case, diacritics, and other parameters.

Contributing

Please follow our CONTRIBUTING guidelines.

License

Licensed under the MIT License, Copyright © 2022-present Strapi Solutions SAS.

See LICENSE for more information.

Dependencies (21)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @strapi/ui-primitives

    Weekly Downloads

    91,846

    Version

    1.18.0

    License

    MIT

    Unpacked Size

    139 kB

    Total Files

    16

    Last publish

    Collaborators

    • markkaylor
    • remidej
    • startae14
    • tdfka_rick
    • hichamelbsi