@entropicon/shared

v0.1.11

Published

Shared TypeScript and React primitives for Entropicon frontends.

Readme

@entropicon/shared

Shared TypeScript and React primitives for Entropicon frontends.

Included modules

  • cn for class merging
  • stripHtml for sanitizing simple HTML strings
  • timeAgo for relative date buckets
  • fmt2 for consistent numeric formatting
  • clampNumber for range clamping
  • shared components/ui primitives extracted from jobseeker_react
  • shared hooks including useIsMobile and toast state
  • namespaced jobseeker and ohi API/constants exports
  • reusable createApiClient helper for token-based Axios clients
  • reusable shared Tailwind preset export for consistent theme tokens
  • package stylesheet entrypoint: @entropicon/shared/styles.css

Usage

import { Button, createApiClient, jobseeker } from "@entropicon/shared";

const api = createApiClient({
	baseURL: jobseeker.JOBSEEKER_BASE_URL,
	refreshTokenUrl: jobseeker.REFRESH_TOKEN,
	tokenProvider: {
		getAccessToken: () => localStorage.getItem("access"),
		setAccessToken: (token) => localStorage.setItem("access", token),
		clearAccessToken: () => localStorage.removeItem("access"),
	},
});

Build

npm run build

Shared Theme Setup

Consumer app tailwind.config.ts:

import type { Config } from "tailwindcss";
import sharedPreset from "@entropicon/shared/tailwind-preset";

export default {
	presets: [sharedPreset],
	content: [
		"./src/**/*.{ts,tsx}",
		"./node_modules/@entropicon/shared/dist/**/*.{js,jsx}",
	],
} satisfies Config;

Consumer app global css entry:

import "@entropicon/shared/styles.css";