{
  "name": "@nannier/canvas",
  "version": "2.52.3",
  "description": "Universal React Native UI kit: one component API renders natively on iOS, Android, and web.",
  "license": "MIT",
  "homepage": "https://canvas.nannier.com/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/bnannier/canvas.git"
  },
  "bugs": {
    "url": "https://github.com/bnannier/canvas/issues"
  },
  "keywords": [
    "react-native",
    "react-native-web",
    "ui-kit",
    "component-library",
    "design-system",
    "ios",
    "android",
    "web",
    "universal",
    "cross-platform",
    "liquid-glass",
    "material-design",
    "accessibility",
    "design-tokens",
    "expo"
  ],
  "main": "./dist/index.js",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "react-native": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./styles/*": "./styles/*",
    "./package.json": "./package.json"
  },
  "files": [
    "dist",
    "styles",
    "CHANGELOG.md"
  ],
  "sideEffects": [
    "*.css"
  ],
  "scripts": {
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "build": "rm -rf dist && tsc -p tsconfig.build.json",
    "dev": "bun scripts/dev.ts",
    "verify-package": "bun scripts/verify-package.ts",
    "prepublishOnly": "node tools/licensegen/generate.mjs && bun run build && bun run verify-package",
    "test": "bun test",
    "validate-tokens": "bun scripts/validate-tokens.ts",
    "check-size": "bun scripts/check-size.ts",
    "check-parity": "bun scripts/check-handoff-parity.ts",
    "check-parity:check": "bun scripts/check-handoff-parity.ts --check",
    "check-render": "bun scripts/check-render-parity.ts",
    "screenshots": "bun scripts/capture-screenshots.ts",
    "looks": "bun scripts/capture-looks.ts",
    "changeset": "changeset",
    "version-packages": "changeset version",
    "release": "changeset publish",
    "docs:gen": "bun tools/docgen/generate.ts",
    "geomap:gen": "bun tools/geomapgen/generate.ts",
    "icons:gen": "bun tools/icongen/generate.ts",
    "favicon:gen": "bun tools/favicongen/generate.ts",
    "appicon:gen": "bun tools/appicongen/generate.ts",
    "privacy:gen": "bun tools/privacygen/generate.ts",
    "og:gen": "bun tools/oggen/generate.ts",
    "avatars:gen": "node tools/avatargen/generate.mjs",
    "license:gen": "node tools/licensegen/generate.mjs",
    "raster:gen": "bun tools/rastergen/generate.ts",
    "raster:gen:check": "bun tools/rastergen/generate.ts --check",
    "docs:gen:check": "bun tools/docgen/generate.ts --check",
    "notices:scan": "bun tools/noticegen/scan.ts",
    "notices:gen": "bun tools/noticegen/generate.ts",
    "notices:gen:check": "bun tools/noticegen/generate.ts --check"
  },
  "publishConfig": {
    "registry": "https://registry.npmjs.org",
    "access": "public"
  },
  "peerDependencies": {
    "react": ">=18",
    "react-native": ">=0.74",
    "react-native-svg": ">=14",
    "react-native-qrcode-svg": ">=6",
    "react-native-safe-area-context": ">=4",
    "expo-blur": "*",
    "expo-clipboard": "*",
    "expo-glass-effect": "*",
    "@shopify/react-native-skia": ">=2"
  },
  "peerDependenciesMeta": {
    "@shopify/react-native-skia": {
      "optional": true
    },
    "react-native-qrcode-svg": {
      "optional": true
    },
    "react-native-safe-area-context": {
      "optional": true
    },
    "expo-blur": {
      "optional": true
    },
    "expo-clipboard": {
      "optional": true
    },
    "expo-glass-effect": {
      "optional": true
    }
  },
  "devDependencies": {
    "@changesets/cli": "^2.31.0",
    "@eslint/js": "^9",
    "@happy-dom/global-registrator": "^20.10.6",
    "@playwright/test": "^1.60.0",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/react": "^16.3.2",
    "@types/react": "^19.2.16",
    "@types/topojson-client": "^3.1.5",
    "eslint": "^9",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.1.1",
    "expo-blur": "~57.0.2",
    "expo-glass-effect": "~57.0.1",
    "happy-dom": "^20.10.6",
    "lucide-static": "^1.24.0",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "react-native": "^0.86.0",
    "react-native-qrcode-svg": "^6.3.21",
    "react-native-svg": "^15.15.5",
    "react-native-web": "^0.21.2",
    "react-test-renderer": "^19.2.7",
    "sharp": "^0.35.0",
    "topojson-client": "^3.1.0",
    "typescript": "^5.8.3",
    "typescript-eslint": "^8.64.0",
    "world-atlas": "^2.0.2"
  }
}
