{
  "name": "@patreon/studio",
  "version": "12.60.0",
  "description": "Patreon Studio Design System",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Patreon/studio.git"
  },
  "keywords": [
    "patreon",
    "studio",
    "design-system"
  ],
  "author": "Patreon <fe-core@patreon.com>",
  "bugs": {
    "url": "https://github.com/Patreon/studio/issues"
  },
  "exports": {
    ".": {
      "import": "./module/index.js",
      "types": "./module/index.d.ts"
    },
    "./getStaticTokenValue": {
      "import": "./module/styles/getStaticTokenValue.js",
      "types": "./module/styles/getStaticTokenValue.d.ts"
    },
    "./globals.css": "./module/styles/globals.css",
    "./static-token-definitions.css": "./module/styles/static-token-definitions.css",
    "./manifest.json": "./manifest/studio-exports.json",
    "./css-config/stylelint/*.mjs": "./css-config/stylelint/*.mjs",
    "./css-config/styles/*.css": "./css-config/styles/*.css",
    "./css-config/postcss/token-functions": "./css-config/postcss/token-functions.js",
    "./css-config/tokens-reference.json": "./css-config/lib/tokens-reference.json"
  },
  "sideEffects": false,
  "moduleRoots": [
    "src"
  ],
  "files": [
    "module",
    "css-config",
    "manifest",
    "!/**/__docs__",
    "!/**/__fixtures__",
    "!/**/*.{story,stories}.*",
    "!/**/*.test.*"
  ],
  "scripts": {
    "biome:ci": "biome ci",
    "biome:format": "biome format",
    "biome:lint": "biome lint",
    "biome:precommit": "biome check --write --files-ignore-unknown=true --no-errors-on-unmatched",
    "biome:summary": "biome check --reporter summary --colors=off",
    "build:clean": "rm -rf module/",
    "build:module": "tsc --project tsconfig.json",
    "build:module:watch": "npm run build:module -- --watch",
    "build:css-modules": "postcss \"src/**/*.css\" --dir module --base src",
    "build:manifest": "NODE_ENV=export tsx --require ./scripts/build-manifest/ignore-css.js scripts/build-manifest/index.ts",
    "build": "npm run build:clean && npm run build:module && npm run build:css-modules && npm run build:manifest",
    "sync:breakpoints": "tsx scripts/design-tokens/sync-breakpoints.ts",
    "sync:icons": "tsx scripts/design-tokens/sync-icons.ts",
    "sync:tokens-defs": "tsx scripts/design-tokens/sync-tokens.ts",
    "sync:token-unions": "tsx scripts/design-tokens/sync-token-unions.ts",
    "sync:tokens": "npm run sync:tokens-defs && prettier --write src/types/tokens && npm run sync:token-unions && npm run sync:token-styles",
    "sync:token-styles": "tsx scripts/design-tokens/sync-token-styles.ts",
    "calc:palette-contrast": "tsx scripts/design-tokens/palette-contrast.ts",
    "codemod:path-aliases": "tsx scripts/codemod-path-aliases.ts",
    "codemod:path-aliases:dry-run": "tsx scripts/codemod-path-aliases-dry-run.ts",
    "dev": "npm run docs:server",
    "docs:build": "NODE_ENV=production storybook build",
    "docs:server": "storybook dev -p 6005",
    "format": "prettier --write \"**/*.{js,jsx,ts,tsx}\"",
    "prf:link": "tsx scripts/prf/link.ts",
    "prf:unlink": "tsx scripts/prf/unlink.ts",
    "eslint": "eslint --report-unused-disable-directives './src/**/*.{ts,tsx}'",
    "eslint:fix": "npm run eslint -- --fix",
    "lint": "npm run eslint && npm run biome:lint",
    "lint:fix": "npm run eslint:fix && npm run biome:precommit",
    "stylelint": "stylelint \"src/**/*.css\"",
    "stylelint:fix": "npm run stylelint -- --fix",
    "prepublishOnly": "npm run build",
    "test": "jest",
    "test:ci": "jest --runInBand --coverageProvider=v8",
    "test:coverage": "npm test -- --coverage",
    "test:watch": "npm test -- --watch",
    "test:watch:coverage": "npm test -- --watch --coverage",
    "type-check": "tsc --noEmit",
    "happo": "happo",
    "knip": "knip",
    "prepare": "husky"
  },
  "homepage": "https://github.com/Patreon/studio#readme",
  "dependencies": {
    "@floating-ui/react-dom": "^2.0.8",
    "@material/material-color-utilities": "^0.3.0",
    "classnames": "^2.5.1",
    "react-focus-lock": "^2.9.2",
    "react-scrolllock": "^5.0.1",
    "w3c-keys": "^0.3.6"
  },
  "devDependencies": {
    "@babel/preset-env": "^7.22.15",
    "@babel/preset-react": "^7.22.15",
    "@babel/preset-typescript": "^7.22.15",
    "@biomejs/biome": "2.3.5",
    "@csstools/postcss-global-data": "^3.0.0",
    "@emotion/is-prop-valid": "^1.4.0",
    "@octokit/rest": "^19.0.7",
    "@storybook/addon-docs": "10.0.8",
    "@storybook/addon-links": "10.0.8",
    "@storybook/addon-webpack5-compiler-babel": "^4.0.0",
    "@storybook/react-webpack5": "10.0.8",
    "@svgr/core": "^6.2.1",
    "@svgr/plugin-jsx": "^6.2.1",
    "@svgr/plugin-prettier": "^6.1.2",
    "@svgr/plugin-svgo": "^6.2.0",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/apca-w3": "^0.1.3",
    "@types/cli-progress": "^3.11.6",
    "@types/decompress": "^4.2.4",
    "@types/eslint": "^8.4.5",
    "@types/flat": "^5.0.2",
    "@types/get-value": "^3.0.5",
    "@types/history": "^4.7.2",
    "@types/humps": "^2.0.3",
    "@types/invariant": "^2.2.29",
    "@types/jest": "^30.0.0",
    "@types/lodash": "^4.14.165",
    "@types/mime-types": "^2.1.1",
    "@types/node": "^24.10.1",
    "@types/prettier": "^2.7.3",
    "@types/prop-types": "^15.5.5",
    "@types/react": "^18.3.3",
    "@types/react-color": "^3.0.1",
    "@types/react-dom": "^18.3.0",
    "@types/react-measure": "^2.0.12",
    "@types/set-value": "^4.0.3",
    "@types/styled-components": "^5.1.35",
    "@types/tinycolor2": "^1.4.6",
    "@typescript-eslint/eslint-plugin": "^5.16.0",
    "@typescript-eslint/parser": "^5.16.0",
    "@vueless/storybook-dark-mode": "^9.0.10",
    "apca-w3": "^0.1.9",
    "cli-progress": "^3.12.0",
    "css-loader": "^7.1.2",
    "csstype": "^2.6.8",
    "decompress": "^4.2.1",
    "dotenv": "^6.0.0",
    "eslint": "^8.21.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-cypress": "^2.15.1",
    "eslint-plugin-eslint-comments": "^3.2.0",
    "eslint-plugin-filenames": "^1.3.2",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-jest": "^27.9.0",
    "eslint-plugin-jsx-a11y": "^6.6.0",
    "eslint-plugin-local-rules": "^1.1.0",
    "eslint-plugin-no-only-tests": "^2.6.0",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.29.4",
    "eslint-plugin-react-hooks": "^4.3.0",
    "eslint-plugin-react-prefer-function-component": "^3.0.0",
    "eslint-plugin-react-server-components": "^1.2.0",
    "eslint-plugin-storybook": "10.0.8",
    "eslint-plugin-testing-library": "^6.2.0",
    "flat": "^5.0.2",
    "get-value": "^4.0.1",
    "happo": "^6.0.3",
    "happo-plugin-typescript": "^1.0.0",
    "humps": "^2.0.1",
    "husky": "^9.1.7",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^30.2.0",
    "jest-cli": "^30.2.0",
    "jest-environment-jsdom": "^30.2.0",
    "jest-junit": "^16.0.0",
    "jest-styled-components": "^7.2.0",
    "jsdom": "^19.0.0",
    "jsdom-global": "^3.0.2",
    "knip": "^5.69.1",
    "lint-staged": "^16.2.6",
    "lodash": "^4.17.15",
    "minimatch": "^10.0.1",
    "postcss": "^8.4.49",
    "postcss-cli": "^11.0.0",
    "postcss-flexbugs-fixes": "^5.0.2",
    "postcss-functions": "^4.0.2",
    "postcss-js": "^4.0.1",
    "postcss-load-config": "^5.1.0",
    "postcss-loader": "^8.1.1",
    "postcss-preset-env": "^10.1.1",
    "postcss-sort-media-queries": "^5.2.0",
    "postcss-value-parser": "^4.2.0",
    "prettier": "^2.6.1",
    "raf": "^3.4.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-use-measure": "^2.1.1",
    "remark-gfm": "^4.0.1",
    "set-value": "^4.1.0",
    "storybook": "10.0.8",
    "storybook-css-modules": "^1.0.8",
    "style-loader": "^4.0.0",
    "styled-components": "npm:@sanity/styled-components@^6.1.23",
    "stylelint": "^16.14.1",
    "stylelint-config-standard": "^36.0.1",
    "stylelint-order": "^6.0.4",
    "tinycolor2": "^1.6.0",
    "ts-jest": "^29.4.1",
    "ts-loader": "^9.5.1",
    "ts-morph": "^25.0.1",
    "tsx": "^4.19.3",
    "type-fest": "^3.13.1",
    "typescript": "^5.9.3"
  },
  "peerDependencies": {
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-use-measure": "^2.1.1",
    "styled-components": "npm:@sanity/styled-components@^6.1.23"
  }
}
