{
  "name": "@openfin/ui-library",
  "description": "OpenFin UI Component Library",
  "version": "0.31.3",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/openfin/ui-library.git"
  },
  "homepage": "https://cdn.openfin.co/workspace/storybook",
  "files": [
    "dist/**/*"
  ],
  "exports": {
    "./fonts/*": "./dist/assets/fonts/*",
    ".": {
      "types": "./dist/index.d.ts",
      "default": "./dist/index.js"
    },
    "./dist/theme": {
      "types": "./dist/theme.d.ts",
      "default": "./dist/theme.js"
    }
  },
  "license": "SEE LICENSE IN LICENSE.MD",
  "scripts": {
    "start": "npm run storybook",
    "typecheck": "npx tsc --noEmit",
    "build": "npm run build:clean && npm run build:src",
    "build:src": "webpack build --config webpack.config.js --mode production",
    "build:clean": "rimraf dist",
    "build:dev": "webpack build --config webpack.config.js --mode development && yalc push",
    "test:ci": "jest",
    "test": "jest --watch",
    "lint": "npm run lint:typescript && npm run lint:styles",
    "lint:typescript": "eslint \"./src/**/*.{ts,tsx}\"",
    "lint:styles": "stylelint \"./src/**/*.{ts,tsx}\"",
    "storybook": "storybook dev -p 6006",
    "storybook:build": "storybook build",
    "storybook:cache-clear": "rimraf ./node_modules/.cache/storybook"
  },
  "peerDependencies": {
    "@radix-ui/react-icons": ">=1.3.2 <2.0.0",
    "framer-motion": ">=11.13.1 <12.0.0",
    "react": ">=18.3.1 <19.0.0",
    "react-calendar": ">=5.1.0 <6.0.0",
    "react-dom": ">=18.3.1 <19.0.0",
    "styled-components": ">=5.3.11 <6.0.0"
  },
  "dependencies": {
    "focus-trap-react": "^9.0.2",
    "lodash.merge": "^4.6.2",
    "require-from-string": "^2.0.2",
    "tinycolor2": "^1.6.0"
  },
  "devDependencies": {
    "@babel/core": "^7.18.6",
    "@babel/preset-env": "^7.28.3",
    "@babel/preset-react": "^7.27.1",
    "@babel/preset-typescript": "^7.27.1",
    "@storybook/addon-actions": "^8.6.14",
    "@storybook/addon-essentials": "^8.6.14",
    "@storybook/addon-interactions": "^8.6.14",
    "@storybook/addon-links": "^8.6.14",
    "@storybook/node-logger": "^8.6.14",
    "@storybook/react": "^8.6.14",
    "@storybook/react-webpack5": "^8.6.14",
    "@stylelint/postcss-css-in-js": "^0.38.0",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/jest-dom": "^6.6.3",
    "@testing-library/react": "^16.0.1",
    "@testing-library/user-event": "^14.5.2",
    "@types/jest": "^28.1.3",
    "@types/lodash.merge": "^4.6.2",
    "@types/node": "^18.15.12",
    "@types/react": "^18.3.12",
    "@types/react-dom": "^18.3.1",
    "@types/styled-components": "^5.1.34",
    "@types/tinycolor2": "^1.4.6",
    "@typescript-eslint/eslint-plugin": "5.62.0",
    "@typescript-eslint/parser": "5.62.0",
    "babel-loader": "^8.4.1",
    "copy-webpack-plugin": "^11.0.0",
    "cross-env": "^7.0.3",
    "css-loader": "^6.7.3",
    "eslint": "^8.40.0",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-jest": "^26.5.3",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react": "^7.32.2",
    "file-loader": "^6.2.0",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-transform-stub": "^2.0.0",
    "postcss-styled-syntax": "^0.4.0",
    "prettier": "^2.8.8",
    "react-docgen-typescript": "^2.4.0",
    "react-is": "^17.0.2",
    "react-refresh": "^0.14.0",
    "resize-observer-polyfill": "^1.5.1",
    "rimraf": "^5.0.0",
    "storybook": "^8.6.14",
    "stylelint": "^14.9.1",
    "stylelint-config-recommended": "^8.0.0",
    "stylelint-config-styled-components": "^0.1.1",
    "stylelint-processor-styled-components": "^1.10.0",
    "ts-jest": "^29.1.2",
    "ts-loader": "^9.3.1",
    "typescript": "5.1.3",
    "webpack": "^5.82.1",
    "webpack-bundle-analyzer": "4.10.2",
    "webpack-cli": "^5.1.1"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "eslintConfig": {
    "extends": [
      "plugin:@typescript-eslint/recommended",
      "prettier",
      "eslint:recommended",
      "plugin:react/recommended",
      "plugin:jest/recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
      "project": "./*/tsconfig.json"
    },
    "plugins": [
      "@typescript-eslint",
      "jest"
    ],
    "rules": {
      "dot-notation": "error",
      "react/prop-types": "off",
      "react/jsx-uses-react": "off",
      "react/react-in-jsx-scope": "off",
      "no-unused-vars": "off",
      "@typescript-eslint/no-unused-vars": "error",
      "@typescript-eslint/no-explicit-any": "error",
      "@typescript-eslint/no-unused-expressions": "error",
      "@typescript-eslint/no-require-imports": "error",
      "@typescript-eslint/ban-types": "error"
    },
    "globals": {
      "JSX": "readonly"
    },
    "settings": {
      "react": {
        "version": "detect"
      }
    },
    "env": {
      "browser": true,
      "node": true
    }
  },
  "stylelint": {
    "customSyntax": "@stylelint/postcss-css-in-js",
    "extends": [
      "stylelint-config-recommended"
    ],
    "rules": {
      "no-empty-source": null,
      "function-no-unknown": null,
      "no-extra-semicolons": null,
      "unit-no-unknown": null
    }
  },
  "prettier": {
    "endOfLine": "lf",
    "semi": true,
    "singleQuote": true,
    "tabWidth": 2,
    "trailingComma": "es5",
    "arrowParens": "always",
    "printWidth": 100
  },
  "jest": {
    "preset": "ts-jest",
    "setupFilesAfterEnv": [
      "<rootDir>/src/setupTests.ts"
    ],
    "moduleNameMapper": {
      "\\.(css)$": "<rootDir>/src/test/mocks/styleMock.js"
    },
    "transform": {
      ".+\\.(ttf|woff|woff2)$": "jest-transform-stub"
    },
    "testEnvironment": "jsdom",
    "testMatch": [
      "<rootDir>/src/**/*.test.tsx",
      "<rootDir>/src/**/*.test.ts",
      "<rootDir>/src/**/*.spec.ts",
      "<rootDir>/src/**/*.spec.tsx"
    ]
  }
}
