From 4ab1138285af49f572801b2f237aca1035141c6c Mon Sep 17 00:00:00 2001 From: jdickman Date: Fri, 8 Dec 2023 17:44:42 -0800 Subject: [PATCH 01/32] wrap Ant Button, add stories for Type --- package-lock.json | 984 ++++++++++++++++++++++++++++++++++ package.json | 1 + src/components/Button.tsx | 11 +- src/stories/Button.stories.ts | 49 +- 4 files changed, 1031 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9826274c2..f2287dc02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@storybook/react": "7.6.2", "@storybook/react-vite": "7.6.2", "@storybook/test": "7.6.2", + "antd": "5.12.1", "react": "18.2.0", "react-dom": "18.2.0", "storybook": "7.6.2", @@ -38,6 +39,76 @@ "node": ">=6.0.0" } }, + "node_modules/@ant-design/colors": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz", + "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==", + "dev": true, + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.18.1.tgz", + "integrity": "sha512-1JURAPrsjK1GwpqByTq3bJ7nF7lbMKDZpehqeR2n8/IR5O58/W1U4VcOeaw5ZyTHri3tEMcom7dyP2tvxpW54g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "3.1.2", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", + "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", + "dev": true, + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", + "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==", + "dev": true + }, + "node_modules/@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, "node_modules/@aw-web-design/x-default-browser": { "version": "1.4.126", "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", @@ -2117,6 +2188,15 @@ "node": ">=0.1.90" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -2126,6 +2206,18 @@ "node": ">=10.0.0" } }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "dev": true + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "dev": true + }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", @@ -3464,6 +3556,125 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/@rc-component/color-picker": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz", + "integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@ctrl/tinycolor": "^3.6.0", + "classnames": "^2.2.6", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.11.1.tgz", + "integrity": "sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^1.3.6", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.2.tgz", + "integrity": "sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -7059,6 +7270,70 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/antd": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.12.1.tgz", + "integrity": "sha512-lDTg4U/4MxDD4OK0sLM3D0ge+5nHKj27dUj4ufF1FhQKPcRkVnkCWJ43gb1Cn+S3ybvz7yfsiEv0v+QqWJgPlA==", + "dev": true, + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/cssinjs": "^1.18.0", + "@ant-design/icons": "^5.2.6", + "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.23.4", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~1.4.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/tour": "~1.11.0", + "@rc-component/trigger": "^1.18.2", + "classnames": "^2.3.2", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.1", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.20.0", + "rc-checkbox": "~3.1.0", + "rc-collapse": "~3.7.2", + "rc-dialog": "~9.3.4", + "rc-drawer": "~6.5.2", + "rc-dropdown": "~4.1.0", + "rc-field-form": "~1.41.0", + "rc-image": "~7.5.1", + "rc-input": "~1.3.6", + "rc-input-number": "~8.4.0", + "rc-mentions": "~2.9.1", + "rc-menu": "~9.12.2", + "rc-motion": "^2.9.0", + "rc-notification": "~5.3.0", + "rc-pagination": "~4.0.1", + "rc-picker": "~3.14.6", + "rc-progress": "~3.5.1", + "rc-rate": "~2.12.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.2.2", + "rc-select": "~14.10.0", + "rc-slider": "~10.5.0", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.36.0", + "rc-tabs": "~12.14.1", + "rc-textarea": "~1.5.3", + "rc-tooltip": "~6.1.2", + "rc-tree": "~5.8.2", + "rc-tree-select": "~5.15.0", + "rc-upload": "~4.3.5", + "rc-util": "^5.38.1", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -7127,6 +7402,12 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", + "dev": true + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -7182,6 +7463,12 @@ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "dev": true + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -7662,6 +7949,12 @@ "node": ">=8" } }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==", + "dev": true + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -7897,6 +8190,12 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -7996,6 +8295,15 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dev": true, + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, "node_modules/core-js-compat": { "version": "3.33.3", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz", @@ -8050,6 +8358,12 @@ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", "dev": true }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "dev": true + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -10395,6 +10709,15 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dev": true, + "dependencies": { + "string-convert": "^0.2.0" + } + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -11612,6 +11935,15 @@ "async-limiter": "~1.0.0" } }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "dev": true, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", @@ -11681,6 +12013,616 @@ "node": ">= 0.8" } }, + "node_modules/rc-cascader": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", + "integrity": "sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.10.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.1.0.tgz", + "integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.2.tgz", + "integrity": "sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.3.4.tgz", + "integrity": "sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.5.2.tgz", + "integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.36.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.1.0.tgz", + "integrity": "sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^1.7.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.41.0.tgz", + "integrity": "sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.5.1.tgz", + "integrity": "sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.3.4", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.6.tgz", + "integrity": "sha512-/HjTaKi8/Ts4zNbYaB5oWCquxFyFQO4Co1MnMgoCeGJlpe7k8Eir2HN0a0F9IHDmmo+GYiGgPpz7w/d/krzsJA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.4.0.tgz", + "integrity": "sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.3.5", + "rc-util": "^5.28.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.9.1.tgz", + "integrity": "sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.6", + "rc-input": "~1.3.5", + "rc-menu": "~9.12.0", + "rc-textarea": "~1.5.0", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.12.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.12.4.tgz", + "integrity": "sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.17.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.3.0.tgz", + "integrity": "sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.2.tgz", + "integrity": "sha512-AvQJb881vH/Re5fm3ZYmrlKp0iQe673l2VeOtWUB27/j9yag+LUOh1poAOEOMvX6jXG9x5Mp2Xpf1qOmNHiYzA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "3.14.6", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.14.6.tgz", + "integrity": "sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.5.1.tgz", + "integrity": "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz", + "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.2.2.tgz", + "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.10.0", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.10.0.tgz", + "integrity": "sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^1.5.0", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.5.0.tgz", + "integrity": "sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.27.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.36.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.36.0.tgz", + "integrity": "sha512-3xVcdCC5OLeOOhaCg+5Lps2oPreM/GWXmUXWTSX4p6vF7F76ABM4dfPpMJ9Dnf5yGRyh+8pe7FRyhRVnWw2H/w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.11.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.14.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.14.1.tgz", + "integrity": "sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.1.0", + "rc-menu": "~9.12.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.5.3.tgz", + "integrity": "sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.3.5", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.2.tgz", + "integrity": "sha512-89zwvybvCxGJu3+gGF8w5AXd4HHk6hIN7K0vZbkzjilVaEAIWPqc1fcyeUeP71n3VCcw7pTL9LyFupFbrx8gHw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^1.18.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.2.tgz", + "integrity": "sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.15.0.tgz", + "integrity": "sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.10.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.5.tgz", + "integrity": "sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.1.tgz", + "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/rc-virtual-list": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz", + "integrity": "sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -12123,6 +13065,12 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -12264,6 +13212,15 @@ "loose-envify": "^1.1.0" } }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "dev": true, + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -12617,6 +13574,12 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", + "dev": true + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -12749,6 +13712,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stylis": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", + "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==", + "dev": true + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -12938,6 +13907,15 @@ "node": ">=8" } }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "dev": true, + "engines": { + "node": ">=12.22" + } + }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -13032,6 +14010,12 @@ "integrity": "sha512-5DWuSZXsqG894mkGb8ZsQt9myyQyVxE50AiGRZ0obV0BVUTVkaZmc9jbgpknaAAPUm4FIrzGkEseD6FuQJYJDQ==", "dev": true }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "dev": true + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", diff --git a/package.json b/package.json index 17d561302..996e85859 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@storybook/react": "7.6.2", "@storybook/react-vite": "7.6.2", "@storybook/test": "7.6.2", + "antd": "5.12.1", "react": "18.2.0", "typescript": "5.3.2", "react-dom": "18.2.0", diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 870cff80c..6dadd6f4e 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -1,5 +1,10 @@ -import React from "react" +import React from "react"; +import { Button as AntButton, ButtonProps as AntButtonProps } from "antd"; -export function Button() { - return +interface IButtonProps extends AntButtonProps{ + copy: string; +} + +export function Button(props: IButtonProps) { + return {props.copy}; } \ No newline at end of file diff --git a/src/stories/Button.stories.ts b/src/stories/Button.stories.ts index bffd4cd97..4a6dd528e 100644 --- a/src/stories/Button.stories.ts +++ b/src/stories/Button.stories.ts @@ -1,6 +1,6 @@ -import { Button } from "src/components/Button" -import { Meta } from "@storybook/react" -import { StoryObj } from "@storybook/react" +import { Button } from "src/components/Button"; +import { Meta } from "@storybook/react"; +import { StoryObj } from "@storybook/react"; const meta: Meta = { title: "Example/Button", @@ -8,21 +8,48 @@ const meta: Meta = { parameters: { layout: "centered", }, - + tags: ["autodocs"], - + argTypes: { - backgroundColor: { control: "color" }, }, -} -export default meta +}; + +export default meta; type Story = StoryObj export const Primary: Story = { args: { + type: "primary", + copy: "Button Copy", + }, +}; + +export const Default: Story = { + args: { + type: "default", + copy: "Button Copy", + }, +}; + +export const Dashed: Story = { + args: { + type: "dashed", + copy: "Button Copy", + }, +}; - // Props go here - +export const Text: Story = { + args: { + type: "text", + copy: "Button Copy", + }, +}; + +export const Link: Story = { + args: { + type: "link", + copy: "Button Copy", }, -} \ No newline at end of file +}; \ No newline at end of file From 7ace58582bc69cbc71573bafffdfc46fb8a2eb98 Mon Sep 17 00:00:00 2001 From: jared-dickman Date: Sat, 9 Dec 2023 01:45:09 +0000 Subject: [PATCH 02/32] Commit generated CSS --- src/styles/_variables.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/_variables.css b/src/styles/_variables.css index 4a3749af9..cb2259c33 100644 --- a/src/styles/_variables.css +++ b/src/styles/_variables.css @@ -1,6 +1,6 @@ /** * Do not edit directly - * Generated on Thu, 07 Dec 2023 03:53:25 GMT + * Generated on Sat, 09 Dec 2023 01:45:08 GMT */ :root { From 61dd8a90707b9ac5d54bdaba7b665ef66ef7b09c Mon Sep 17 00:00:00 2001 From: jdickman Date: Fri, 8 Dec 2023 18:24:43 -0800 Subject: [PATCH 03/32] touch directory structure, move stories next to components --- .storybook/main.ts | 4 ++-- src/{stories => components/Button}/Button.stories.ts | 12 +++++------- src/components/{ => Button}/Button.tsx | 0 3 files changed, 7 insertions(+), 9 deletions(-) rename src/{stories => components/Button}/Button.stories.ts (80%) rename src/components/{ => Button}/Button.tsx (100%) diff --git a/.storybook/main.ts b/.storybook/main.ts index 4cd40f1b4..9aad97de9 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -5,8 +5,8 @@ const config: StorybookConfig = { framework: "@storybook/react-vite", stories: [ - "../src/stories/**/*.mdx", - "../src/stories/**/*.stories.@(js|jsx|mjs|ts|tsx)", + "../src/**/*.mdx", + "../src/**/*.stories.@(ts|tsx)", ], addons: [ diff --git a/src/stories/Button.stories.ts b/src/components/Button/Button.stories.ts similarity index 80% rename from src/stories/Button.stories.ts rename to src/components/Button/Button.stories.ts index 4a6dd528e..b2dcd43e7 100644 --- a/src/stories/Button.stories.ts +++ b/src/components/Button/Button.stories.ts @@ -1,4 +1,4 @@ -import { Button } from "src/components/Button"; +import { Button } from "src/components/Button/Button"; import { Meta } from "@storybook/react"; import { StoryObj } from "@storybook/react"; @@ -11,8 +11,11 @@ const meta: Meta = { tags: ["autodocs"], - argTypes: { + args: { + copy: "Button Copy", }, + + argTypes: {}, }; export default meta; @@ -22,34 +25,29 @@ type Story = StoryObj export const Primary: Story = { args: { type: "primary", - copy: "Button Copy", }, }; export const Default: Story = { args: { type: "default", - copy: "Button Copy", }, }; export const Dashed: Story = { args: { type: "dashed", - copy: "Button Copy", }, }; export const Text: Story = { args: { type: "text", - copy: "Button Copy", }, }; export const Link: Story = { args: { type: "link", - copy: "Button Copy", }, }; \ No newline at end of file diff --git a/src/components/Button.tsx b/src/components/Button/Button.tsx similarity index 100% rename from src/components/Button.tsx rename to src/components/Button/Button.tsx From c38d19ade5eb441d7dda0c5a1c53b53ea75f52a1 Mon Sep 17 00:00:00 2001 From: jdickman Date: Fri, 8 Dec 2023 18:27:03 -0800 Subject: [PATCH 04/32] add wrapped Dropdown with initial story --- src/components/Button/Button.tsx | 13 ++-- src/components/Dropdown/Dropdown.stories.tsx | 72 ++++++++++++++++++++ src/components/Dropdown/Dropdown.tsx | 13 ++++ src/test/readme.md | 0 4 files changed, 93 insertions(+), 5 deletions(-) create mode 100644 src/components/Dropdown/Dropdown.stories.tsx create mode 100644 src/components/Dropdown/Dropdown.tsx delete mode 100644 src/test/readme.md diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx index 6dadd6f4e..d2fb1a649 100644 --- a/src/components/Button/Button.tsx +++ b/src/components/Button/Button.tsx @@ -1,10 +1,13 @@ import React from "react"; -import { Button as AntButton, ButtonProps as AntButtonProps } from "antd"; +import { Button as AntButton } from "antd"; +import { ButtonProps as AntButtonProps } from "antd"; -interface IButtonProps extends AntButtonProps{ +interface IButtonProps extends AntButtonProps { copy: string; } -export function Button(props: IButtonProps) { - return {props.copy}; -} \ No newline at end of file +export const Button = (props: IButtonProps) => <> + + {props.copy} + +; \ No newline at end of file diff --git a/src/components/Dropdown/Dropdown.stories.tsx b/src/components/Dropdown/Dropdown.stories.tsx new file mode 100644 index 000000000..ab52ba994 --- /dev/null +++ b/src/components/Dropdown/Dropdown.stories.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import { Dropdown } from "src/components/Dropdown/Dropdown"; +import { Meta } from "@storybook/react"; +import { StoryObj } from "@storybook/react"; +import { SmileOutlined } from "@ant-design/icons"; +import { Button } from "src/components/Button/Button"; + +const meta: Meta = { + title: "Example/Dropdown", + component: Dropdown, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + + args: { + dropdownButton: "normal", + }, + + argTypes: { + dropdownButton: { + options: ["normal"], + + mapping: { + normal: , + }, + }, + }, +}; +export default meta; + +type Story = StoryObj + + +export const Primary: Story = { + args: { + menu: { + items: [ + { + key: "1", + label: ( + + 1st menu item + ), + }, + { + key: "2", + label: ( + + 2nd menu item (disabled) + ), + icon: , + disabled: true, + }, + { + key: "3", + label: ( + + 3rd menu item (disabled) + ), + disabled: true, + }, + { + key: "4", + danger: true, + label: "a danger item", + }, + ], + + }, + }, +}; \ No newline at end of file diff --git a/src/components/Dropdown/Dropdown.tsx b/src/components/Dropdown/Dropdown.tsx new file mode 100644 index 000000000..5fec79312 --- /dev/null +++ b/src/components/Dropdown/Dropdown.tsx @@ -0,0 +1,13 @@ +import React from "react"; +import { Dropdown as AntDropdown } from "antd"; +import { DropdownProps as AntDropdownProps } from "antd"; + +interface IDropdownProps extends AntDropdownProps { + dropdownButton: AntDropdownProps["children"]; +} + +export const Dropdown = (props: IDropdownProps) => <> + + {props.dropdownButton} + +; \ No newline at end of file diff --git a/src/test/readme.md b/src/test/readme.md deleted file mode 100644 index e69de29bb..000000000 From 0ded72824dcb9913554941874b525afe91942c40 Mon Sep 17 00:00:00 2001 From: jared-dickman Date: Sat, 9 Dec 2023 02:27:44 +0000 Subject: [PATCH 05/32] Commit generated CSS --- src/styles/_variables.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/_variables.css b/src/styles/_variables.css index cb2259c33..76f987586 100644 --- a/src/styles/_variables.css +++ b/src/styles/_variables.css @@ -1,6 +1,6 @@ /** * Do not edit directly - * Generated on Sat, 09 Dec 2023 01:45:08 GMT + * Generated on Sat, 09 Dec 2023 02:27:43 GMT */ :root { From ae8393dc52d42c5bb6a5af28574abac626bdf779 Mon Sep 17 00:00:00 2001 From: jdickman Date: Fri, 8 Dec 2023 19:37:09 -0800 Subject: [PATCH 06/32] technically default autocomplete working, but i have some question --- .../AutoComplete/AutoComplete.stories.tsx | 70 +++++++++++++++++++ src/components/AutoComplete/AutoComplete.tsx | 12 ++++ 2 files changed, 82 insertions(+) create mode 100644 src/components/AutoComplete/AutoComplete.stories.tsx create mode 100644 src/components/AutoComplete/AutoComplete.tsx diff --git a/src/components/AutoComplete/AutoComplete.stories.tsx b/src/components/AutoComplete/AutoComplete.stories.tsx new file mode 100644 index 000000000..e34994f59 --- /dev/null +++ b/src/components/AutoComplete/AutoComplete.stories.tsx @@ -0,0 +1,70 @@ +import React from "react"; +import { useState } from "react"; +import { AutoComplete } from "src/components/AutoComplete/AutoComplete"; +import { Meta } from "@storybook/react"; +import { StoryObj } from "@storybook/react"; + +let baseOptions = [ + { label: "The quick brown fox jumps over the lazy dog" }, + { label: "Waxy and quivering, jocks fumble the pizza" }, + { label: "When zombies arrive, quickly fax judge Pat" }, + { label: "Pack my red box with five dozen quality jugs" }, + { label: "The quick onyx goblin jumps over the lazy dwarf" }, +]; + +const meta: Meta = { + title: "Example/AutoComplete", + component: AutoComplete, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + + args: { + placeholder: "input here", + }, + + argTypes: {}, +}; +export default meta; + +type Story = StoryObj + + +const mockVal = (str: string, repeat = 1) => ({ + value: str.repeat(repeat), +}); + + +const Template = () => { + const [value, setValue] = useState(""); + const [anotherOptions, setAnotherOptions] = useState([]); + + const getPanelValue = (searchText: string) => + !searchText ? [] : [mockVal(searchText), mockVal(searchText, 2), mockVal(searchText, 3)]; + + const onSelect = (data: string) => { alert("onSelect: " + data); }; + + return ( + <> + setAnotherOptions(getPanelValue(text))} + onChange={setValue} + placeholder="control mode" + /> + + ); +}; + + +export const Default = Template.bind({}); +// Default.args = {}; + + +// export const Wide = Template.bind({}); +// Wide.args = { style: { width: 350 } }; +// export const Wide: Story = { args: {} }; \ No newline at end of file diff --git a/src/components/AutoComplete/AutoComplete.tsx b/src/components/AutoComplete/AutoComplete.tsx new file mode 100644 index 000000000..20305ab09 --- /dev/null +++ b/src/components/AutoComplete/AutoComplete.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import { AutoComplete as AntAutoComplete } from "antd"; +import { AutoCompleteProps as AntAutoCompleteProps } from "antd"; + +export interface IAutoCompleteProps extends AntAutoCompleteProps { +} + +export const AutoComplete = (props: IAutoCompleteProps) => { + return <> + + ; +}; \ No newline at end of file From bbfef92591b41a09f6bca8fb9a323e9bd7e4c118 Mon Sep 17 00:00:00 2001 From: jared-dickman Date: Sat, 9 Dec 2023 03:37:40 +0000 Subject: [PATCH 07/32] Commit generated CSS --- src/styles/_variables.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/_variables.css b/src/styles/_variables.css index 76f987586..0bde2b30b 100644 --- a/src/styles/_variables.css +++ b/src/styles/_variables.css @@ -1,6 +1,6 @@ /** * Do not edit directly - * Generated on Sat, 09 Dec 2023 02:27:43 GMT + * Generated on Sat, 09 Dec 2023 03:37:40 GMT */ :root { From 0e178ff005a8f4a980f3c5e2968514240a939bea Mon Sep 17 00:00:00 2001 From: jdickman Date: Sun, 10 Dec 2023 13:43:39 -0800 Subject: [PATCH 08/32] two examples with state --- .../AutoComplete/AutoComplete.stories.tsx | 70 +++++++++---------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/src/components/AutoComplete/AutoComplete.stories.tsx b/src/components/AutoComplete/AutoComplete.stories.tsx index e34994f59..9aca15894 100644 --- a/src/components/AutoComplete/AutoComplete.stories.tsx +++ b/src/components/AutoComplete/AutoComplete.stories.tsx @@ -1,17 +1,10 @@ import React from "react"; import { useState } from "react"; import { AutoComplete } from "src/components/AutoComplete/AutoComplete"; +import { IAutoCompleteProps } from "src/components/AutoComplete/AutoComplete"; import { Meta } from "@storybook/react"; import { StoryObj } from "@storybook/react"; -let baseOptions = [ - { label: "The quick brown fox jumps over the lazy dog" }, - { label: "Waxy and quivering, jocks fumble the pizza" }, - { label: "When zombies arrive, quickly fax judge Pat" }, - { label: "Pack my red box with five dozen quality jugs" }, - { label: "The quick onyx goblin jumps over the lazy dwarf" }, -]; - const meta: Meta = { title: "Example/AutoComplete", component: AutoComplete, @@ -21,7 +14,8 @@ const meta: Meta = { tags: ["autodocs"], args: { - placeholder: "input here", + style: { width: 200 }, + placeholder: "Search AutoComplete", }, argTypes: {}, @@ -31,40 +25,44 @@ export default meta; type Story = StoryObj -const mockVal = (str: string, repeat = 1) => ({ - value: str.repeat(repeat), -}); +const Template = (args: IAutoCompleteProps) => { + + const baseOptions = [ + { label: "The quick brown fox jumps over the lazy dog", value: 1 }, + { label: "Waxy and quivering, jocks fumble the pizza", value: 2 }, + { label: "When zombies arrive, quickly fax judge Pat", value: 3 }, + { label: "Pack my red box with five dozen quality jugs", value: 4 }, + { label: "The quick onyx goblin jumps over the lazy dwarf", value: 5 }, + ]; + + const [value, setValue] = useState(""); + const [options, setOptions] = useState([]); -const Template = () => { - const [value, setValue] = useState(""); - const [anotherOptions, setAnotherOptions] = useState([]); + let onSearch = (text: string) => setOptions(getPanelValue(text)); + const onSelect = (value: string) => { alert("you selected value: " + value); }; - const getPanelValue = (searchText: string) => - !searchText ? [] : [mockVal(searchText), mockVal(searchText, 2), mockVal(searchText, 3)]; + const getPanelValue = (searchText: string): IAutoCompleteProps["options"] => { + if (!searchText) return []; + return baseOptions.filter(o => o.label.toLowerCase().includes(searchText.toLowerCase())); + }; - const onSelect = (data: string) => { alert("onSelect: " + data); }; - return ( - <> - setAnotherOptions(getPanelValue(text))} - onChange={setValue} - placeholder="control mode" - /> - - ); + return (<> + + ); }; -export const Default = Template.bind({}); -// Default.args = {}; +export const Default = Template.bind(undefined); +Default.args = {}; -// export const Wide = Template.bind({}); -// Wide.args = { style: { width: 350 } }; -// export const Wide: Story = { args: {} }; \ No newline at end of file +export const Wide = Template.bind(undefined); +Wide.args = { style: { width: 350 } }; \ No newline at end of file From 9ea06b2e2b43b3f5d4e14fe62fde8fb26704934e Mon Sep 17 00:00:00 2001 From: jared-dickman Date: Sun, 10 Dec 2023 21:44:18 +0000 Subject: [PATCH 09/32] Commit generated CSS --- src/styles/_variables.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/_variables.css b/src/styles/_variables.css index 0bde2b30b..0ceb78f91 100644 --- a/src/styles/_variables.css +++ b/src/styles/_variables.css @@ -1,6 +1,6 @@ /** * Do not edit directly - * Generated on Sat, 09 Dec 2023 03:37:40 GMT + * Generated on Sun, 10 Dec 2023 21:44:17 GMT */ :root { From fffd9bc61ad1cbe5e970291fec8f3814621ced8f Mon Sep 17 00:00:00 2001 From: jdickman Date: Sun, 10 Dec 2023 18:20:17 -0800 Subject: [PATCH 10/32] add Input component --- src/components/Input/Input.stories.tsx | 46 ++++++++++++++++++++++++++ src/components/Input/Input.tsx | 13 ++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/components/Input/Input.stories.tsx create mode 100644 src/components/Input/Input.tsx diff --git a/src/components/Input/Input.stories.tsx b/src/components/Input/Input.stories.tsx new file mode 100644 index 000000000..bb26f8262 --- /dev/null +++ b/src/components/Input/Input.stories.tsx @@ -0,0 +1,46 @@ +import { Input } from "src/components/Input/Input"; +import { Meta } from "@storybook/react"; +import { StoryObj } from "@storybook/react"; + +const meta: Meta = { + title: "Aquarium/Data Entry/Input", + component: Input, + parameters: { + layout: "centered", + }, + + tags: ["autodocs"], + + args: { + placeholder: "Input Placeholder", + }, + + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj + + +export const Primary: Story = { + args: {}, +}; + +export const Large: Story = { + args: { + size: "large", + }, +}; + +export const Middle: Story = { + args: { + size: "middle", + }, +}; + +export const Small: Story = { + args: { + size: "small", + }, +}; \ No newline at end of file diff --git a/src/components/Input/Input.tsx b/src/components/Input/Input.tsx new file mode 100644 index 000000000..39742ff83 --- /dev/null +++ b/src/components/Input/Input.tsx @@ -0,0 +1,13 @@ +import React from "react"; +import { Input as AntInput } from "antd"; +import { InputProps as AntInputProps } from "antd"; + +interface IInputProps extends AntInputProps { + copy: string; +} + +export const Input = (props: IInputProps) => <> + + {props.copy} + +; \ No newline at end of file From 3c8f4a84d742f52821dcd3657ca891a8b3bbe3a5 Mon Sep 17 00:00:00 2001 From: jdickman Date: Sun, 10 Dec 2023 18:20:52 -0800 Subject: [PATCH 11/32] add Modal component --- src/components/Modal/Modal.stories.tsx | 53 ++++++++++++++++++++++++++ src/components/Modal/Modal.tsx | 12 ++++++ 2 files changed, 65 insertions(+) create mode 100644 src/components/Modal/Modal.stories.tsx create mode 100644 src/components/Modal/Modal.tsx diff --git a/src/components/Modal/Modal.stories.tsx b/src/components/Modal/Modal.stories.tsx new file mode 100644 index 000000000..3f37e8126 --- /dev/null +++ b/src/components/Modal/Modal.stories.tsx @@ -0,0 +1,53 @@ +import React from "react"; +import { useState } from "react"; +import { Modal } from "src/components/Modal/Modal"; +import { IModalProps } from "src/components/Modal/Modal"; +import { Meta } from "@storybook/react"; +import { StoryObj } from "@storybook/react"; +import { Button } from "src/components/Button/Button"; + +const meta: Meta = { + title: "Aquarium/Feedback/Modal", + component: Modal, + parameters: { + layout: "centered", + }, + tags: ["autodocs"], + + args: {}, + + argTypes: {}, +}; +export default meta; + +type Story = StoryObj + + +const PrimaryTemplate = (args: IModalProps) => { + const [isModalOpen, setIsModalOpen] = useState(false); + + const showModal = () => { setIsModalOpen(true); }; + + const handleOk = () => { setIsModalOpen(false); }; + + const handleCancel = () => { setIsModalOpen(false); }; + + return (<> +