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

0.0.114 • Public • Published

Solid Primitives styles

@solid-primitives/styles

turborepo size version stage

Collection of reactive primitives focused on styles.

  • createRemSize - Create a reactive signal of css rem size in pixels.

Installation

npm install @solid-primitives/styles
# or
yarn add @solid-primitives/styles
# or
pnpm add @solid-primitives/styles

createRemSize

Creates a reactive signal with value of the current rem size in pixels, and tracks it's changes.

How to use it

It takes no arguments and returns a number signal.

import { createRemSize } from "@solid-primitives/styles";

const remSize = createRemSize();
console.log(remSize()); // 16

createEffect(() => {
  console.log(remSize()); // remSize value will be logged on every change to the root font size
});

useRemSize

This primitive provides a singleton root variant that will reuse signals, HTML elements and the ResizeObserver instance across all dependents that use it.

It's behavior is the same as createRemSize.

import { useRemSize } from "@solid-primitives/styles";

const remSize = useRemSize();
console.log(remSize()); // 16

Server fallback

When using this primitive on the server, it will return a signal with a value of 16 by default. You can override this value by calling the setServerRemSize helper with a new value, before calling createRemSize or useRemSize.

import { setServerRemSize, createRemSize } from "@solid-primitives/styles";

setServerRemSize(10);

const remSize = createRemSize();
console.log(remSize()); // 10 instead of 16 (only on the server!)

Demo

TODO

Changelog

See CHANGELOG.md

Package Sidebar

Install

npm i @solid-primitives/styles

Weekly Downloads

13,571

Version

0.0.114

License

MIT

Unpacked Size

12 kB

Total Files

8

Last publish

Collaborators

  • thetarnav.
  • lexlohr
  • davedbase