@razorpay/blade
Version:
The Design System that powers Razorpay
331 lines (330 loc) • 13.2 kB
JSON
{
"name": "@razorpay/blade",
"description": "The Design System that powers Razorpay",
"version": "12.21.2",
"license": "MIT",
"engines": {
"node": ">=18.12.1"
},
"bin": {
"migrate-typography": "./codemods/migrate-typography/transformers/migrate-typography.ts",
"aicodemod": "./codemods/aicodemod/bin.mjs"
},
"repository": {
"type": "git",
"url": "ssh://git@github.com/razorpay/blade.git"
},
"files": [
"build",
"codemods",
"components.d.ts",
"components.js",
"components.native.js",
"tokens.d.ts",
"tokens.js",
"tokens.native.js",
"utils.d.ts",
"utils.js",
"fonts",
"fonts.css",
"utils.native.js",
"coverageUtils.d.ts"
],
"keywords": [
"design system",
"react",
"react native",
"razorpay",
"blade"
],
"exports": {
"./fonts.css": {
"default": "./fonts.css"
},
"./components": {
"react-native": {
"types": "./components.d.ts",
"default": "./build/lib/native/components/index.js"
},
"default": {
"types": "./components.d.ts",
"development": "./build/lib/web/development/components/index.js",
"production": "./build/lib/web/production/components/index.js",
"default": "./build/lib/web/production/components/index.js"
}
},
"./tokens": {
"react-native": {
"types": "./tokens.d.ts",
"default": "./build/lib/native/tokens/index.js"
},
"default": {
"types": "./tokens.d.ts",
"development": "./build/lib/web/development/tokens/index.js",
"production": "./build/lib/web/production/tokens/index.js",
"default": "./build/lib/web/production/tokens/index.js"
}
},
"./utils": {
"react-native": {
"types": "./utils.d.ts",
"default": "./build/lib/native/utils/index.js"
},
"default": {
"types": "./utils.d.ts",
"development": "./build/lib/web/development/utils/index.js",
"production": "./build/lib/web/production/utils/index.js",
"default": "./build/lib/web/production/utils/index.js"
}
},
"./coverageUtils": {
"default": {
"types": "./coverageUtils.d.ts",
"default": "./build/lib/web/production/utils/bladeCoverage.js"
}
}
},
"scripts": {
"typecheck": "run-p types:typecheck:*",
"test": "run-p test:*",
"prepare": "yarn build",
"build": "run-s build:clean build:generate-types build:react-prod build:react-dev build:react-native build:clean-declarations build:generate-root-imports build:clean-theme-bundle",
"clearCache": "jest --clearCache",
"build:clean": "rm -rf build",
"build:generate-types": "run-s types:generate-types:*",
"build:copy-declarations": "run-s types:copy-declarations:*",
"types:generate-types:web": "ttsc -p ./tsconfig-generate-types.web.json",
"types:generate-types:native": "ttsc -p ./tsconfig-generate-types.native.json",
"types:typecheck:web": "tsc -p ./tsconfig-typecheck.web.json",
"types:typecheck:native": "tsc -p ./tsconfig-typecheck.native.json",
"types:copy-declarations:web": "copyfiles -u 1 build/types/web/components/**/*.d.ts build/components/**/*",
"types:copy-declarations:native": "copyfiles -u 1 build/types/native/components/**/*.d.ts build/components/**/*",
"build:generate-root-imports": "node ./scripts/generateRootImports.js",
"build:clean-declarations": "rm -rf build/generated-types",
"build:react-dev": "cross-env FRAMEWORK=REACT NODE_ENV=development rollup -c",
"build:react-prod": "cross-env FRAMEWORK=REACT NODE_ENV=production rollup -c",
"build:react-native": "cross-env FRAMEWORK=REACT_NATIVE rollup -c",
"build:clean-theme-bundle": "rm -rf build/js-bundle-for-css",
"react-native:get-stories": "sb-rn-get-stories --config-path=./.storybook/react-native && yarn prettier --write ./.storybook/react-native/storybook.requires.js",
"react-native:storybook:android": "yarn react-native:get-stories && cross-env FRAMEWORK=REACT_NATIVE react-native run-android",
"react-native:storybook:ios": "yarn react-native:get-stories && cross-env FRAMEWORK=REACT_NATIVE react-native run-ios",
"react-native:storybook:start": "yarn react-native:get-stories && cross-env NODE_OPTIONS=--openssl-legacy-provider FRAMEWORK=REACT_NATIVE react-native start --reset-cache",
"react": "yarn run react:storybook",
"react:storybook": "cross-env FRAMEWORK=REACT storybook dev -c ./.storybook/react -p 9009",
"react:storybook:build": "yarn generate-docs-lockfile && cross-env FRAMEWORK=REACT storybook build -c ./.storybook/react -o storybook-site --quiet",
"react:storybook:serve": "http-server storybook-site --port 9009 --silent",
"react:storybook:serve:test": "wait-on http://127.0.0.1:9009/ && yarn test:react:interaction",
"test:react:interaction": "cross-env FRAMEWORK=REACT test-storybook -c ./.storybook/react --url http://127.0.0.1:9009/",
"test:react:interaction:ci": "yarn react:storybook:build && run-p react:storybook:serve react:storybook:serve:test --race",
"test:react": "cross-env FRAMEWORK=REACT jest -c ./jest.web.config.js --shard=$SHARD --forceExit",
"test:react-native": "cross-env FRAMEWORK=REACT_NATIVE jest -c ./jest.native.config.js --shard=$SHARD --forceExit",
"start:ios": "cross-env NODE_OPTIONS=--openssl-legacy-provider run-p react-native:storybook:start react-native:storybook:ios",
"start:android": "cross-env NODE_OPTIONS=--openssl-legacy-provider run-p react-native:storybook:start react-native:storybook:android",
"start:native": "cross-env NODE_OPTIONS=--openssl-legacy-provider run-p react-native:storybook:start react-native:storybook:android react-native:storybook:ios",
"start:web": "cross-env NODE_OPTIONS=--openssl-legacy-provider yarn react",
"start:all": "run-p start:native start:web",
"watch:test": "run-p watch:test:*",
"watch:test:react": "yarn test:react --watch --onlyChanged",
"watch:test:react-native": "yarn test:react-native --watch --onlyChanged",
"chromatic": "npx chromatic",
"publish-npm": "node ./scripts/publishToNpm.js",
"pregenerate-bundle-size-info": "yarn run-s build:clean build:generate-types build:react-prod",
"generate-bundle-size-info": "node ./scripts/generateBundleSizeInfo.js",
"generate-github-npmrc": "node ./scripts/generateGitHubRegistryNpmrc.js",
"generate-docs-lockfile": "node ./scripts/generateDocsLockFile.mjs",
"generate-icons": "node ./scripts/generateIcons.mjs"
},
"dependencies": {
"@babel/runtime": "7.20.0",
"body-scroll-lock-upgrade": "1.1.0",
"ts-deepmerge": "6.2.0",
"use-presence": "1.3.0",
"@use-gesture/react": "10.2.24",
"@floating-ui/react": "0.26.13",
"react-hot-toast": "2.4.1",
"@emotion/react": "11.11.1",
"@table-library/react-table-library": "4.1.7",
"tinycolor2": "1.6.0",
"universal-base64": "2.1.0",
"@mantine/core": "6.0.21",
"@mantine/dates": "6.0.21",
"@mantine/hooks": "6.0.21",
"dayjs": "1.11.10",
"react-window": "1.8.11"
},
"devDependencies": {
"http-server": "14.1.1",
"wait-on": "7.2.0",
"@storybook/addon-interactions": "7.6.6",
"@storybook/testing-library": "0.2.2",
"@storybook/test-runner": "0.16.0",
"@storybook/jest": "0.2.3",
"playwright": "1.40.1",
"chromatic": "6.22.0",
"@babel/cli": "7.23.0",
"@babel/core": "7.20.2",
"@babel/parser": "7.23.6",
"@babel/traverse": "7.23.7",
"@babel/plugin-transform-react-jsx": "7.16.5",
"@babel/plugin-transform-runtime": "7.16.5",
"@babel/preset-env": "7.20.2",
"@babel/preset-react": "7.16.5",
"@babel/preset-typescript": "7.16.5",
"@codesandbox/sandpack-react": "1.16.0",
"@gorhom/bottom-sheet": "4.4.6",
"@gorhom/portal": "1.0.14",
"@floating-ui/react-native": "0.10.0",
"react-native-tab-view": "3.5.2",
"react-native-pager-view": "6.2.1",
"@hypermod/utils": "0.4.2",
"@react-native/metro-config": "0.72.9",
"@react-native-async-storage/async-storage": "1.19.1",
"@react-native-community/datetimepicker": "5.0.1",
"@react-native-community/slider": "4.1.12",
"@rollup/plugin-alias": "5.0.0",
"@rollup/plugin-babel": "6.0.3",
"@rollup/plugin-commonjs": "25.0.4",
"@rollup/plugin-node-resolve": "15.2.1",
"@rollup/plugin-replace": "5.0.2",
"@size-limit/preset-big-lib": "8.2.4",
"@storybook/addon-a11y": "7.1.0",
"@storybook/addon-actions": "7.1.0",
"@storybook/addon-controls": "7.1.0",
"@storybook/addon-docs": "7.1.0",
"@storybook/addon-essentials": "7.1.0",
"@storybook/addon-links": "7.1.0",
"@storybook/addon-ondevice-actions": "7.0.0-alpha.5",
"@storybook/addon-ondevice-backgrounds": "7.0.0-alpha.5",
"@storybook/addon-ondevice-controls": "7.0.0-alpha.5",
"@storybook/addon-ondevice-notes": "7.0.0-alpha.5",
"@storybook/design-system": "7.15.13",
"@storybook/node-logger": "7.1.0",
"@storybook/preset-create-react-app": "7.1.0",
"@storybook/react": "7.1.0",
"@storybook/react-native": "7.0.0-alpha.5",
"@storybook/react-webpack5": "7.1.0",
"@stackblitz/sdk": "1.11.0",
"storybook-react-router": "1.0.8",
"react-router-dom": "5.3.4",
"@testing-library/jest-dom": "5.16.4",
"@testing-library/jest-native": "5.4.2",
"@testing-library/react": "13.4.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react-native": "12.2.0",
"@testing-library/user-event": "14.4.3",
"@types/dedent": "0.7.0",
"@types/jest": "29.5.3",
"@types/jest-axe": "3.5.5",
"@types/jscodeshift": "0.11.6",
"@types/jsdom": "20.0.1",
"@types/react": "18.2.24",
"@types/react-native": "0.72.2",
"@types/react-test-renderer": "17.0.1",
"@types/styled-components": "5.1.34",
"@types/styled-components-react-native": "5.1.3",
"@types/tinycolor2": "1.4.3",
"@types/react-router-dom": "5.3.3",
"@types/react-window": "1.8.8",
"@types/storybook-react-router": "1.0.5",
"any-leaf": "1.2.2",
"args-parser": "1.3.0",
"babel-jest": "29.6.1",
"babel-loader": "8.2.3",
"babel-plugin-module-resolver": "4.1.0",
"babel-plugin-styled-components": "1.12.0",
"chalk": "4.1.1",
"copyfiles": "2.4.1",
"cross-env": "7.0.3",
"danger": "11.3.1",
"dedent": "0.7.0",
"eslint-plugin-mdx": "1.16.0",
"execa": "5.0.0",
"fastify": "4.28.1",
"figures": "3.2.0",
"flat": "5.0.2",
"motion": "11.12.0",
"globby": "14.0.1",
"ismobilejs": "1.1.1",
"jest": "29.6.1",
"jest-axe": "8.0.0",
"jest-environment-jsdom": "29.6.1",
"jest-matchmedia-mock": "1.1.0",
"jest-styled-components": "7.1.1",
"jest-useragent-mock": "0.1.1",
"jscodeshift": "0.13.1",
"jsdom": "20.0.2",
"metro-react-native-babel-preset": "0.76.7",
"moniker": "0.1.2",
"npm-run-all": "4.1.5",
"outdent": "0.8.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.72.3",
"react-native-gesture-handler": "2.9.0",
"react-native-reanimated": "3.4.2",
"react-native-svg": "15.1.0",
"react-scripts": "5.0.1",
"react-test-renderer": "18.2.0",
"rollup": "3.29.5",
"rollup-plugin-dts": "5.3.1",
"rollup-plugin-peer-deps-external": "2.2.4",
"size-limit": "8.2.4",
"storybook": "7.1.0",
"style-dictionary": "3.7.1",
"styled-components": "5.3.5",
"tsconfig-paths-webpack-plugin": "3.5.2",
"jsdom-testing-mocks": "1.9.0",
"postinstall-postinstall": "2.1.0",
"react-refresh": "0.11.0",
"react-docgen-typescript-plugin": "1.0.5",
"react-json-tree": "0.18.0",
"metro-config": "0.66.2",
"@babel/plugin-proposal-class-static-block": "7.21.0",
"react-native-safe-area-context": "3.4.1",
"ttypescript": "1.5.15",
"typescript": "4.9",
"typescript-transform-paths": "3.4.7",
"@types/body-scroll-lock": "3.1.0",
"ramda": "0.29.1",
"@razorpay/i18nify-js": "1.12.3",
"@razorpay/i18nify-react": "4.0.12",
"plop": "3.1.1",
"node-plop": "0.32.0",
"svgson": "5.3.1"
},
"peerDependencies": {
"react": ">=18",
"react-dom": ">=18",
"styled-components": "^5",
"framer-motion": ">=4",
"react-native": "^0.72",
"@floating-ui/react-native": "^0.10.0",
"react-native-reanimated": "^3.4.1",
"react-native-tab-view": "^3.5.2",
"react-native-pager-view": "^6.2.1",
"react-native-svg": "^12.3.0",
"react-native-gesture-handler": "^2.9.0",
"react-hot-toast": "2.4.1",
"@gorhom/bottom-sheet": "^4.4.6",
"@gorhom/portal": "^1.0.14",
"@razorpay/i18nify-js": "^1.12.3",
"@razorpay/i18nify-react": "^4.0.12"
},
"peerDependenciesMeta": {
"react-native": {
"optional": true
},
"react-native-reanimated": {
"optional": true
}
},
"resolutions": {
"@storybook/**/react-dom": "18.2.0",
"@storybook/**/react": "18.2.0",
"react-dom": "18.2.0",
"react": "18.2.0",
"@types/react": "18.2.24",
"@types/styled-components": "5.1.34",
"styled-components": "^5"
}
}