diff --git a/.dumirc.ts b/.dumirc.ts index 4c4545f..7a89997 100644 --- a/.dumirc.ts +++ b/.dumirc.ts @@ -3,8 +3,8 @@ import path from 'path'; export default defineConfig({ alias: { - 'rc-rate$': path.resolve('src'), - 'rc-rate/es': path.resolve('src'), + '@rc-component/rate$': path.resolve('src'), + '@rc-component/rate/es': path.resolve('src'), }, favicons: ['https://avatars0.githubusercontent.com/u/9441414?s=200&v=4'], themeConfig: { diff --git a/README.md b/README.md index 824482a..1dbe6e9 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ npm start ```js import React from 'react'; import ReactDOM from 'react-dom'; -import Rate from 'rc-rate'; +import Rate from '@rc-component/rate'; ReactDOM.render( , @@ -68,7 +68,7 @@ ReactDOM.render( ```js import React from 'react'; import ReactDOM from 'react-dom'; -import Rate from 'rc-rate'; +import Rate from '@rc-component/rate'; import styled from 'styled-components'; const StyledRate = styled(Rate)` diff --git a/docs/examples/characterRender.tsx b/docs/examples/characterRender.tsx index bd02561..737a9dc 100644 --- a/docs/examples/characterRender.tsx +++ b/docs/examples/characterRender.tsx @@ -1,8 +1,8 @@ /* eslint no-console: 0 */ +import Rate from '@rc-component/rate'; +import Tooltip from '@rc-component/tooltip'; +import '@rc-component/tooltip/assets/bootstrap_white.css'; import React from 'react'; -import Tooltip from 'rc-tooltip'; -import 'rc-tooltip/assets/bootstrap_white.css'; -import Rate from 'rc-rate'; import '../../assets/index.less'; export default () => ( diff --git a/docs/examples/simple.tsx b/docs/examples/simple.tsx index f550b66..4921907 100644 --- a/docs/examples/simple.tsx +++ b/docs/examples/simple.tsx @@ -1,6 +1,6 @@ /* eslint no-console: 0 */ import React from 'react'; -import Rate from 'rc-rate'; +import Rate from '@rc-component/rate'; import '../../assets/index.less'; function onChange(v: number) { diff --git a/now.json b/now.json deleted file mode 100644 index 1e3aeb4..0000000 --- a/now.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 2, - "name": "rc-rate", - "builds": [ - { - "src": "package.json", - "use": "@now/static-build", - "config": { "distDir": "dist" } - } - ], - "routes": [ - { "src": "/(.*)", "dest": "/dist/$1" } - ] -} diff --git a/package.json b/package.json index ba88f08..a6ad750 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,7 @@ { - "name": "rc-rate", - "version": "2.13.1", + "name": "@rc-component/rate", + "version": "1.0.0", "description": "React Star Rate Component", - "engines": { - "node": ">=8.x" - }, "keywords": [ "react", "react-component", @@ -12,42 +9,44 @@ "rate" ], "homepage": "https://github.com/react-component/rate", + "bugs": { + "url": "https://github.com/react-component/rate/issues" + }, "repository": { "type": "git", "url": "https://github.com/react-component/rate.git" }, - "bugs": { - "url": "https://github.com/react-component/rate/issues" - }, + "license": "MIT", + "main": "./lib/index", + "module": "./es/index", "files": [ "lib", "es", "assets/*.css" ], - "license": "MIT", - "main": "./lib/index", - "module": "./es/index", "scripts": { - "start": "dumi dev", + "compile": "father build && lessc assets/index.less assets/index.css", + "coverage": "rc-test --coverage", "docs:build": "dumi build", "docs:deploy": "gh-pages -d .doc", - "compile": "father build && lessc assets/index.less assets/index.css", - "prepare": "dumi setup", - "prepublishOnly": "npm run compile && np --yolo --no-publish", - "postpublish": "npm run docs:build && npm run docs:deploy", "lint": "eslint src/ --ext .ts,.tsx,.jsx,.js,.md", + "now-build": "npm run docs:build", + "prepare": "dumi setup", + "prepublishOnly": "npm run compile && rc-np", "prettier": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"", + "postpublish": "npm run docs:build && npm run docs:deploy", + "start": "dumi dev", "test": "rc-test", - "coverage": "rc-test --coverage", - "now-build": "npm run docs:build" + "tsc": "bunx tsc --noEmit" }, "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.0.1" + "@rc-component/util": "^1.3.0", + "classnames": "^2.2.5" }, "devDependencies": { - "@rc-component/father-plugin": "^1.0.0", + "@rc-component/father-plugin": "^2.1.3", + "@rc-component/np": "^1.0.0", + "@rc-component/tooltip": "^1.2.1", "@types/classnames": "^2.2.9", "@types/jest": "^29.5.1", "@types/react": "^17.0.15", @@ -63,9 +62,7 @@ "father": "^4.0.0", "gh-pages": "^3.1.0", "less": "^3.0.0", - "np": "^7.0.0", "rc-test": "^7.0.15", - "rc-tooltip": "^5.0.1", "react": "^16.0.0", "react-dom": "^16.0.0", "typescript": "^5.0.4" @@ -73,5 +70,8 @@ "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" + }, + "engines": { + "node": ">=8.x" } } diff --git a/src/Rate.tsx b/src/Rate.tsx index 46602ba..85810c1 100644 --- a/src/Rate.tsx +++ b/src/Rate.tsx @@ -1,7 +1,7 @@ +import useControlledState from '@rc-component/util/lib/hooks/useControlledState'; +import KeyCode from '@rc-component/util/lib/KeyCode'; +import pickAttrs from '@rc-component/util/lib/pickAttrs'; import classNames from 'classnames'; -import useMergedState from 'rc-util/lib/hooks/useMergedState'; -import KeyCode from 'rc-util/lib/KeyCode'; -import pickAttrs from 'rc-util/lib/pickAttrs'; import React from 'react'; import type { StarProps } from './Star'; import Star from './Star'; @@ -94,10 +94,8 @@ function Rate(props: RateProps, ref: React.Ref) { })); // =========================== Value ============================ - const [value, setValue] = useMergedState(defaultValue || 0, { - value: propValue, - }); - const [cleanedValue, setCleanedValue] = useMergedState(null); + const [value, setValue] = useControlledState(defaultValue || 0, propValue); + const [cleanedValue, setCleanedValue] = useControlledState(null); const getStarValue = (index: number, x: number) => { const reverse = direction === 'rtl'; diff --git a/src/Star.tsx b/src/Star.tsx index 7243069..d401ef8 100644 --- a/src/Star.tsx +++ b/src/Star.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import KeyCode from 'rc-util/lib/KeyCode'; +import KeyCode from '@rc-component/util/lib/KeyCode'; import classNames from 'classnames'; export interface StarProps { diff --git a/tests/simple.spec.js b/tests/simple.spec.js index 77c6271..361b927 100644 --- a/tests/simple.spec.js +++ b/tests/simple.spec.js @@ -1,6 +1,6 @@ import React from 'react'; import { render, mount } from 'enzyme'; -import KeyCode from 'rc-util/lib/KeyCode'; +import KeyCode from '@rc-component/util/lib/KeyCode'; import Rate from '../src'; describe('rate', () => { diff --git a/tsconfig.json b/tsconfig.json index e3e3855..6820619 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,21 +8,10 @@ "skipLibCheck": true, "esModuleInterop": true, "paths": { - "@/*": [ - "src/*" - ], - "@@/*": [ - ".dumi/tmp/*" - ], - "rc-rate": [ - "src/index.tsx" - ] + "@/*": ["src/*"], + "@@/*": [".dumi/tmp/*"], + "@rc-component/rate": ["src/index.tsx"] } }, - "include": [ - ".dumirc.ts", - "./src/**/*.ts", - "./src/**/*.tsx", - "./docs/**/*.tsx" - ] -} \ No newline at end of file + "include": [".dumirc.ts", "./src/**/*.ts", "./src/**/*.tsx", "./docs/**/*.tsx"] +}