{
  "name": "@ls-stack/react-utils",
  "description": "React-specific TypeScript utilities",
  "version": "0.12.1",
  "license": "MIT",
  "files": [
    "dist",
    "docs"
  ],
  "repository": "github:lucasols/utils",
  "homepage": "https://github.com/lucasols/utils/tree/main/packages/react-utils",
  "author": "Lucas Santos",
  "type": "module",
  "sideEffects": false,
  "module": "./dist/main.mjs",
  "types": "./dist/main.d.mts",
  "exports": {
    ".": "./dist/main.mjs",
    "./DelayUnmount": "./dist/DelayUnmount.mjs",
    "./jsxUtils": "./dist/jsxUtils.mjs",
    "./useActionFn": "./dist/useActionFn.mjs",
    "./useAnimateMountUnmount": "./dist/useAnimateMountUnmount.mjs",
    "./useAsyncResource": "./dist/useAsyncResource.mjs",
    "./useComponentEvents": "./dist/useComponentEvents.mjs",
    "./useConst": "./dist/useConst.mjs",
    "./useDebouncedCallback": "./dist/useDebouncedCallback.mjs",
    "./useDebouncedControlledValue": "./dist/useDebouncedControlledValue.mjs",
    "./useDebouncedValue": "./dist/useDebouncedValue.mjs",
    "./useLatestValue": "./dist/useLatestValue.mjs",
    "./useOnChange": "./dist/useOnChange.mjs",
    "./useOnClickOutside": "./dist/useOnClickOutside.mjs",
    "./useOnMount": "./dist/useOnMount.mjs",
    "./useOnUnMount": "./dist/useOnUnMount.mjs",
    "./usePrevious": "./dist/usePrevious.mjs",
    "./useScheduleToNextRender": "./dist/useScheduleToNextRender.mjs",
    "./useShortCut": "./dist/useShortCut.mjs",
    "./useTimeout": "./dist/useTimeout.mjs"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "peerDependencies": {
    "react": ">=18.0.0||^19.0.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.18.0",
    "@ls-stack/extended-lint": "^0.67.2",
    "@testing-library/react": "^16.1.0",
    "@types/eslint": "^9.6.1",
    "@types/eslint__js": "^8.42.3",
    "@types/node": "^22.10.9",
    "@types/react": "^19.0.8",
    "@typescript-eslint/eslint-plugin": "^8.21.0",
    "@typescript-eslint/parser": "^8.21.0",
    "@vitest/ui": "^3.0.4",
    "eslint": "^9.18.0",
    "eslint-plugin-unicorn": "^56.0.1",
    "eslint-plugin-vitest": "^0.5.4",
    "happy-dom": "^18.0.1",
    "prettier": "3.4.2",
    "prettier-plugin-organize-imports": "^4.1.0",
    "react": "^18.3.1",
    "tsm": "^2.3.0",
    "tsdown": "^0.18.2",
    "typedoc": "^0.28.4",
    "typedoc-plugin-markdown": "^4.6.3",
    "typedoc-plugin-missing-exports": "^4.0.0",
    "typescript": "^5.7.3",
    "typescript-eslint": "^8.21.0",
    "vite": "^6.0.11",
    "vitest": "^3.0.4"
  },
  "dependencies": {
    "t-result": "^0.6.1",
    "evtmitter": "^1.0.2",
    "@evtmitter/react": "0.1.0",
    "@ls-stack/utils": "3.73.1",
    "@ls-stack/browser-utils": "0.3.0"
  },
  "scripts": {
    "test:ui": "vitest --ui",
    "test": "vitest run",
    "lint": "pnpm tsc && pnpm eslint",
    "tsc": "tsc -p tsconfig.prod.json",
    "tsc:watch": "tsc -p tsconfig.prod.json --watch",
    "eslint": "CI=true eslint src/ --color --max-warnings=0 --fix",
    "build": "tsdown",
    "docs": "typedoc",
    "docs:watch": "typedoc --watch",
    "update-exports": "node ../../scripts/updatePackageExports.ts"
  }
}