From 487c2cee9c0bbc550200af01de5844350f1ab3cf Mon Sep 17 00:00:00 2001 From: Michael Gingras Date: Thu, 20 Jul 2023 12:35:26 -0600 Subject: [PATCH 1/4] Feat: adding text input, address input, select input, checkbox, number input --- packages/components/.tool-versions | 1 + packages/components/package-lock.json | 2240 +++++++++++++++++ packages/components/package.json | 3 +- .../components/src/Modal/Modal.stories.tsx | 2 +- packages/components/src/button/index.tsx | 6 +- .../src/form/AddressInput.stories.tsx | 47 + packages/components/src/form/AddressInput.tsx | 41 + .../components/src/form/Checkbox.stories.tsx | 40 + packages/components/src/form/Checkbox.tsx | 20 + .../src/form/NumberInput.stories.tsx | 53 + packages/components/src/form/NumberInput.tsx | 37 + .../src/form/SelectInput.stories.tsx | 61 + packages/components/src/form/SelectInput.tsx | 32 + .../components/src/form/TextInput.stories.tsx | 91 + packages/components/src/form/TextInput.tsx | 66 + packages/components/src/tailwind.css | 53 + 16 files changed, 2788 insertions(+), 5 deletions(-) create mode 100644 packages/components/.tool-versions create mode 100644 packages/components/package-lock.json create mode 100644 packages/components/src/form/AddressInput.stories.tsx create mode 100644 packages/components/src/form/AddressInput.tsx create mode 100644 packages/components/src/form/Checkbox.stories.tsx create mode 100644 packages/components/src/form/Checkbox.tsx create mode 100644 packages/components/src/form/NumberInput.stories.tsx create mode 100644 packages/components/src/form/NumberInput.tsx create mode 100644 packages/components/src/form/SelectInput.stories.tsx create mode 100644 packages/components/src/form/SelectInput.tsx create mode 100644 packages/components/src/form/TextInput.stories.tsx create mode 100644 packages/components/src/form/TextInput.tsx diff --git a/packages/components/.tool-versions b/packages/components/.tool-versions new file mode 100644 index 0000000..243b5df --- /dev/null +++ b/packages/components/.tool-versions @@ -0,0 +1 @@ +nodejs 16.15.1 diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json new file mode 100644 index 0000000..3a1941c --- /dev/null +++ b/packages/components/package-lock.json @@ -0,0 +1,2240 @@ +{ + "name": "@groupos/ui-components", + "version": "0.0.17", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@groupos/ui-components", + "version": "0.0.17", + "license": "ISC", + "dependencies": { + "@radix-ui/react-dialog": "^1.0.4", + "react-hook-form": "^7.45.2" + }, + "devDependencies": { + "@storybook/addon-essentials": "^7.0.24", + "@storybook/addon-interactions": "^7.0.24", + "@storybook/addon-links": "^7.0.24", + "@storybook/addon-styling": "^1.3.2", + "@storybook/blocks": "^7.0.24", + "@storybook/react": "^7.0.24", + "@storybook/react-vite": "^7.0.24", + "@storybook/testing-library": "^0.0.14-next.2", + "@testing-library/dom": "^9.3.1", + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^14.0.0", + "@testing-library/user-event": "^14.4.3", + "@types/react": "^18.2.14", + "@vitejs/plugin-react": "^4.0.1", + "autoprefixer": "^10.4.14", + "class-variance-authority": "^0.6.1", + "clsx": "^1.2.1", + "jsdom": "^22.1.0", + "postcss": "^8.4.24", + "prop-types": "^15.8.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "resize-observer-polyfill": "^1.5.1", + "storybook": "^7.0.24", + "tailwind-merge": "^1.13.2", + "tailwindcss": "^3.3.2", + "tailwindcss-animate": "^1.0.6", + "tsup": "^7.1.0", + "undici": "^5.22.1", + "vite": "^4.3.9", + "vitest": "^0.32.4", + "vitest-dom": "^0.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "*", + "react-dom": "*" + } + }, + "../../node_modules/.pnpm/@radix-ui+react-dialog@1.0.4_@types+react@18.2.14_react-dom@18.2.0_react@18.2.0/node_modules/@radix-ui/react-dialog": { + "version": "1.0.4", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/@storybook+addon-essentials@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/addon-actions": "7.0.24", + "@storybook/addon-backgrounds": "7.0.24", + "@storybook/addon-controls": "7.0.24", + "@storybook/addon-docs": "7.0.24", + "@storybook/addon-highlight": "7.0.24", + "@storybook/addon-measure": "7.0.24", + "@storybook/addon-outline": "7.0.24", + "@storybook/addon-toolbars": "7.0.24", + "@storybook/addon-viewport": "7.0.24", + "@storybook/core-common": "7.0.24", + "@storybook/manager-api": "7.0.24", + "@storybook/node-logger": "7.0.24", + "@storybook/preview-api": "7.0.24", + "ts-dedent": "^2.0.0" + }, + "devDependencies": { + "@storybook/vue": "7.0.24", + "typescript": "^4.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "../../node_modules/.pnpm/@storybook+addon-interactions@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-interactions": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/client-logger": "7.0.24", + "@storybook/components": "7.0.24", + "@storybook/core-common": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/instrumenter": "7.0.24", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/theming": "7.0.24", + "@storybook/types": "7.0.24", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" + }, + "devDependencies": { + "@devtools-ds/object-inspector": "^1.1.2", + "@storybook/jest": "^0.1.0", + "@storybook/testing-library": "^0.1.0", + "@types/node": "^16.0.0", + "formik": "^2.2.9", + "typescript": "~4.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/@storybook+addon-links@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-links": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/client-logger": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/router": "7.0.24", + "@storybook/types": "7.0.24", + "prop-types": "^15.7.2", + "ts-dedent": "^2.0.0" + }, + "devDependencies": { + "fs-extra": "^11.1.0", + "typescript": "~4.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/@storybook+addon-styling@1.3.2_less@4.1.3_postcss@8.4.24_react-dom@18.2.0_react@18.2.0_webpack@5.88.1/node_modules/@storybook/addon-styling": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.5", + "@storybook/api": "^7.0.12", + "@storybook/components": "^7.0.12", + "@storybook/core-common": "^7.0.12", + "@storybook/core-events": "^7.0.12", + "@storybook/manager-api": "^7.0.12", + "@storybook/node-logger": "^7.0.12", + "@storybook/preview-api": "^7.0.12", + "@storybook/theming": "^7.0.12", + "@storybook/types": "^7.0.12", + "css-loader": "^6.7.3", + "less-loader": "^11.1.0", + "postcss-loader": "^7.2.4", + "resolve-url-loader": "^5.0.0", + "sass-loader": "^13.2.2", + "style-loader": "^3.3.2" + }, + "bin": { + "addon-styling-setup": "postinstall.js" + }, + "devDependencies": { + "@babel/cli": "^7.12.1", + "@babel/core": "^7.12.3", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@babel/preset-typescript": "^7.13.0", + "@storybook/addon-essentials": "^7.0.12", + "@storybook/builder-webpack5": "^7.0.12", + "@storybook/csf-tools": "^7.0.12", + "@storybook/react": "^7.0.12", + "@storybook/react-vite": "^7.0.12", + "@storybook/types": "^7.0.12", + "@vitejs/plugin-react": "^3.1.0", + "auto": "^10.3.0", + "babel-loader": "^8.1.0", + "boxen": "^5.0.1", + "concurrently": "^6.2.0", + "dedent": "^0.7.0", + "prettier": "^2.8.8", + "prop-types": "^15.7.2", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "recast": "^0.23.2", + "rimraf": "^3.0.2", + "storybook": "^7.0.12", + "tsup": "^6.7.0", + "typescript": "^4.9.0", + "vite": "^4.2.1", + "vitest": "^0.31.0", + "zx": "^1.14.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/@storybook+blocks@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/blocks": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/channels": "7.0.24", + "@storybook/client-logger": "7.0.24", + "@storybook/components": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/theming": "7.0.24", + "@storybook/types": "7.0.24", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.0.3", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "devDependencies": { + "@storybook/addon-actions": "7.0.24", + "@types/color-convert": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "../../node_modules/.pnpm/@storybook+react-vite@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6_vite@4.3.9/node_modules/@storybook/react-vite": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", + "@rollup/pluginutils": "^4.2.0", + "@storybook/builder-vite": "7.0.24", + "@storybook/react": "7.0.24", + "@vitejs/plugin-react": "^3.0.1", + "ast-types": "^0.14.2", + "magic-string": "^0.27.0", + "react-docgen": "6.0.0-alpha.3" + }, + "devDependencies": { + "@types/node": "^16.0.0", + "typescript": "~4.9.3", + "vite": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "vite": "^3.0.0 || ^4.0.0" + } + }, + "../../node_modules/.pnpm/@storybook+react@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6/node_modules/@storybook/react": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/client-logger": "7.0.24", + "@storybook/core-client": "7.0.24", + "@storybook/docs-tools": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.0.24", + "@storybook/react-dom-shim": "7.0.24", + "@storybook/types": "7.0.24", + "@types/escodegen": "^0.0.6", + "@types/estree": "^0.0.51", + "@types/node": "^16.0.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "escodegen": "^2.0.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^15.0.0", + "ts-dedent": "^2.0.0", + "type-fest": "^2.19.0", + "util-deprecate": "^1.0.2" + }, + "devDependencies": { + "@babel/core": "^7.20.2", + "@types/util-deprecate": "^1.0.0", + "expect-type": "^0.14.2", + "jest-specific-snapshot": "^7.0.0", + "require-from-string": "^2.0.2", + "typescript": "~4.9.3" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/@storybook+testing-library@0.0.14-next.2/node_modules/@storybook/testing-library": { + "version": "0.0.14-next.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/client-logger": "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0", + "@storybook/instrumenter": "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0", + "@testing-library/dom": "^8.3.0", + "@testing-library/user-event": "^13.2.1", + "ts-dedent": "^2.2.0" + }, + "devDependencies": { + "@auto-it/first-time-contributor": "^10.37.6", + "@auto-it/released": "^10.37.6", + "@storybook/linter-config": "^3.1.2", + "@types/react": "*", + "auto": "^10.37.6", + "rimraf": "^3.0.2", + "typescript": "^4.4.3" + } + }, + "../../node_modules/.pnpm/@testing-library+dom@9.3.1/node_modules/@testing-library/dom": { + "version": "9.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "devDependencies": { + "@testing-library/jest-dom": "^5.11.6", + "jest-in-case": "^1.0.2", + "jest-snapshot-serializer-ansi": "^1.0.0", + "jest-watch-select-projects": "^2.0.0", + "jsdom": "20.0.0", + "kcd-scripts": "^13.0.0", + "typescript": "^4.1.2" + }, + "engines": { + "node": ">=14" + } + }, + "../../node_modules/.pnpm/@testing-library+jest-dom@5.16.5/node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "devDependencies": { + "jest-environment-jsdom-sixteen": "^1.0.3", + "jest-watch-select-projects": "^2.0.0", + "jsdom": "^16.2.1", + "kcd-scripts": "^11.1.0", + "pretty-format": "^25.1.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "../../node_modules/.pnpm/@testing-library+react@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/@testing-library/react": { + "version": "14.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "devDependencies": { + "@testing-library/jest-dom": "^5.11.6", + "chalk": "^4.1.2", + "dotenv-cli": "^4.0.0", + "jest-diff": "^29.4.1", + "kcd-scripts": "^13.0.0", + "npm-run-all": "^4.1.5", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "rimraf": "^3.0.2", + "typescript": "^4.1.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "../../node_modules/.pnpm/@testing-library+user-event@14.4.3_@testing-library+dom@9.3.1/node_modules/@testing-library/user-event": { + "version": "14.4.3", + "dev": true, + "license": "MIT", + "devDependencies": { + "@ph.fritsche/scripts-config": "^2.4.0", + "@testing-library/dom": "^8.11.4", + "@testing-library/jest-dom": "^5.16.3", + "@testing-library/react": "^13.0.0", + "@types/jest-in-case": "^1.0.3", + "@types/react": "^17.0.42", + "eslint-import-resolver-typescript": "^2.7.0", + "eslint-plugin-local-rules": "^1.1.0", + "is-ci": "^3.0.1", + "jest-in-case": "^1.0.2", + "jest-serializer-ansi": "^1.0.3", + "kcd-scripts": "^12.1.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react17": "npm:react@^17.0.2", + "reactDom17": "npm:react-dom@^17.0.2", + "reactIs17": "npm:react-is@^17.0.2", + "reactTesting17": "npm:@testing-library/react@^12.1.3", + "shared-scripts": "^1.5.1", + "typescript": "^4.1.2" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "../../node_modules/.pnpm/@types+react@18.2.14/node_modules/@types/react": { + "version": "18.2.14", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "../../node_modules/.pnpm/@vitejs+plugin-react@4.0.1_vite@4.3.9/node_modules/@vitejs/plugin-react": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.22.5", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "../../node_modules/.pnpm/autoprefixer@10.4.14_postcss@8.4.24/node_modules/autoprefixer": { + "version": "10.4.14", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "../../node_modules/.pnpm/class-variance-authority@0.6.1/node_modules/class-variance-authority": { + "version": "0.6.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "clsx": "1.2.1" + }, + "devDependencies": { + "@jest/types": "28.1.1", + "@swc/cli": "0.1.57", + "@swc/core": "1.2.198", + "@swc/jest": "0.2.21", + "@types/jest": "28.1.1", + "@types/node": "18.11.18", + "@types/react": "18.0.12", + "@types/react-dom": "18.0.5", + "bundlesize": "0.18.1", + "jest": "28.1.1", + "npm-run-all": "4.1.5", + "react": "18.2.0", + "react-dom": "18.2.0", + "ts-node": "10.8.1", + "typescript": "5.1.3" + }, + "funding": { + "url": "https://joebell.co.uk" + } + }, + "../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "devDependencies": { + "esm": "3.2.25", + "terser": "4.8.0", + "uvu": "0.5.4" + }, + "engines": { + "node": ">=6" + } + }, + "../../node_modules/.pnpm/jsdom@22.1.0/node_modules/jsdom": { + "version": "22.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "devDependencies": { + "@domenic/eslint-config": "^3.0.0", + "benchmark": "^2.1.4", + "chai": "^4.3.7", + "eslint": "^8.39.0", + "eslint-plugin-html": "^7.1.0", + "eslint-plugin-jsdom-internal": "link:./scripts/eslint-plugin", + "js-yaml": "^4.1.0", + "minimatch": "^9.0.0", + "mocha": "^10.2.0", + "mocha-sugar-free": "^1.4.0", + "pngjs": "^7.0.0", + "server-destroy": "^1.0.1", + "webidl2js": "^17.1.0", + "yargs": "^17.7.2" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/postcss@8.4.24/node_modules/postcss": { + "version": "8.4.24", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types": { + "version": "15.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "devDependencies": { + "babel-jest": "^19.0.0", + "babel-preset-react": "^6.24.1", + "browserify": "^16.5.0", + "bundle-collapser": "^1.4.0", + "eslint": "^8.6.0", + "in-publish": "^2.0.1", + "jest": "^19.0.2", + "react": "^15.7.0", + "uglifyify": "^5.0.2", + "uglifyjs": "^2.4.11" + } + }, + "../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom": { + "version": "18.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "../../node_modules/.pnpm/react@18.2.0/node_modules/react": { + "version": "18.2.0", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "../../node_modules/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "dev": true, + "license": "MIT", + "devDependencies": { + "babel-eslint": "10.0.1", + "cpy-cli": "2.0.0", + "eslint": "5.10.0", + "jasmine": "2.8.0", + "jasmine-core": "2.8.0", + "karma": "3.1.3", + "karma-chrome-launcher": "2.2.0", + "karma-firefox-launcher": "1.1.0", + "karma-jasmine": "1.1.2", + "karma-jasmine-html-reporter": "0.2.2", + "karma-rollup-preprocessor": "6.1.1", + "karma-sauce-launcher": "1.2.0", + "karma-sourcemap-loader": "0.3.7", + "karma-spec-reporter": "0.0.32", + "promise-polyfill": "8.1.0", + "rollup": "0.67.4", + "rollup-plugin-typescript": "1.0.0", + "typescript": "3.2.2" + } + }, + "../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook": { + "version": "7.0.24", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/cli": "7.0.24" + }, + "bin": { + "sb": "index.js", + "storybook": "index.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "../../node_modules/.pnpm/tailwind-merge@1.13.2/node_modules/tailwind-merge": { + "version": "1.13.2", + "dev": true, + "license": "MIT", + "devDependencies": { + "@size-limit/preset-small-lib": "^8.2.4", + "@types/jest": "^29.5.2", + "@typescript-eslint/eslint-plugin": "^5.59.8", + "@typescript-eslint/parser": "^5.59.8", + "dts-cli": "^2.0.3", + "eslint": "^8.41.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jest": "^27.2.1", + "globby": "^11.1.0", + "prettier": "^2.8.8", + "size-limit": "^8.2.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4", + "zx": "^7.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "../../node_modules/.pnpm/tailwindcss-animate@1.0.6_tailwindcss@3.3.2/node_modules/tailwindcss-animate": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "devDependencies": { + "husky": "^7.0.4", + "lint-staged": "^12.3.4", + "prettier": "^2.5.1", + "tailwindcss": "^3.0.22" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "../../node_modules/.pnpm/tailwindcss@3.3.2/node_modules/tailwindcss": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "devDependencies": { + "@swc/cli": "^0.1.62", + "@swc/core": "^1.3.55", + "@swc/jest": "^0.2.26", + "@swc/register": "^0.1.10", + "autoprefixer": "^10.4.14", + "browserslist": "^4.21.5", + "concurrently": "^8.0.1", + "cssnano": "^6.0.0", + "esbuild": "^0.17.18", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "jest": "^29.5.0", + "jest-diff": "^29.5.0", + "lightningcss": "1.18.0", + "prettier": "^2.8.8", + "rimraf": "^5.0.0", + "source-map-js": "^1.0.2", + "turbo": "^1.9.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.18.2", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^4.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "devDependencies": { + "@rollup/plugin-json": "5.0.1", + "@swc/core": "1.2.218", + "@types/debug": "4.1.7", + "@types/flat": "5.0.2", + "@types/fs-extra": "9.0.13", + "@types/node": "14.18.12", + "@types/resolve": "1.20.1", + "colorette": "2.0.16", + "consola": "2.15.3", + "flat": "5.0.2", + "fs-extra": "10.0.0", + "postcss": "8.4.12", + "postcss-simple-vars": "6.0.3", + "prettier": "2.5.1", + "resolve": "1.20.0", + "rollup-plugin-dts": "5.3.0", + "rollup-plugin-hashbang": "2.2.2", + "sass": "1.62.1", + "strip-json-comments": "4.0.0", + "svelte": "3.46.4", + "svelte-preprocess": "5.0.3", + "terser": "^5.16.0", + "ts-essentials": "9.1.2", + "tsconfig-paths": "3.12.0", + "tsup": "6.6.1", + "typescript": "5.0.2", + "vitest": "0.28.4", + "wait-for-expect": "3.0.2" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici": { + "version": "5.22.1", + "dev": true, + "license": "MIT", + "dependencies": { + "busboy": "^1.6.0" + }, + "devDependencies": { + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "^18.0.3", + "abort-controller": "^3.0.0", + "atomic-sleep": "^1.0.0", + "chai": "^4.3.4", + "chai-as-promised": "^7.1.1", + "chai-iterator": "^3.0.2", + "chai-string": "^1.5.0", + "concurrently": "^8.0.1", + "cronometro": "^1.0.5", + "delay": "^5.0.0", + "dns-packet": "^5.4.0", + "docsify-cli": "^4.4.3", + "form-data": "^4.0.0", + "formdata-node": "^4.3.1", + "https-pem": "^3.0.0", + "husky": "^8.0.1", + "import-fresh": "^3.3.0", + "jest": "^29.0.2", + "jsdom": "^21.1.0", + "jsfuzz": "^1.0.15", + "mocha": "^10.0.0", + "p-timeout": "^3.2.0", + "pre-commit": "^1.2.2", + "proxy": "^1.0.2", + "proxyquire": "^2.1.3", + "sinon": "^15.0.0", + "snazzy": "^9.0.0", + "standard": "^17.0.0", + "table": "^6.8.0", + "tap": "^16.1.0", + "tsd": "^0.28.1", + "typescript": "^5.0.2", + "wait-on": "^7.0.1", + "ws": "^8.11.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "../../node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite": { + "version": "4.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "devDependencies": { + "@ampproject/remapping": "^2.2.1", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "@jridgewell/trace-mapping": "^0.3.18", + "@rollup/plugin-alias": "^4.0.4", + "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-dynamic-import-vars": "^2.0.3", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "15.0.2", + "@rollup/plugin-typescript": "^11.1.0", + "@rollup/pluginutils": "^5.0.2", + "@types/escape-html": "^1.0.2", + "@types/pnpapi": "^0.0.2", + "acorn": "^8.8.2", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chokidar": "^3.5.3", + "connect": "^3.7.0", + "connect-history-api-fallback": "^2.0.0", + "convert-source-map": "^2.0.0", + "cors": "^2.8.5", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "dep-types": "link:./src/types", + "dotenv": "^16.0.3", + "dotenv-expand": "^9.0.0", + "es-module-lexer": "^1.2.1", + "escape-html": "^1.0.3", + "estree-walker": "^3.0.3", + "etag": "^1.8.1", + "fast-glob": "^3.2.12", + "http-proxy": "^1.18.1", + "json-stable-stringify": "^1.0.2", + "launch-editor-middleware": "^2.6.0", + "magic-string": "^0.30.0", + "micromatch": "^4.0.5", + "mlly": "^1.2.0", + "mrmime": "^1.0.1", + "okie": "^1.0.1", + "open": "^8.4.2", + "parse5": "^7.1.2", + "periscopic": "^3.1.0", + "picocolors": "^1.0.0", + "picomatch": "^2.3.1", + "postcss-import": "^15.1.0", + "postcss-load-config": "^4.0.1", + "postcss-modules": "^6.0.0", + "resolve.exports": "^2.0.2", + "rollup-plugin-license": "^3.0.1", + "sirv": "^2.0.2", + "source-map-support": "^0.5.21", + "strip-ansi": "^7.0.1", + "strip-literal": "^1.0.1", + "tsconfck": "^2.1.1", + "tslib": "^2.5.0", + "types": "link:./types", + "ufo": "^1.1.1", + "ws": "^8.13.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "../../node_modules/.pnpm/vitest-dom@0.1.0_vitest@0.32.4/node_modules/vitest-dom": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.1.3", + "chalk": "^5.2.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.0", + "lodash-es": "^4.17.21", + "redent": "^4.0.0" + }, + "devDependencies": { + "@types/aria-query": "^5.0.1", + "@types/css.escape": "^1.5.0", + "@types/lodash-es": "^4.17.7", + "@typescript-eslint/eslint-plugin": "^5.59.5", + "@typescript-eslint/parser": "^5.59.5", + "esbuild": "^0.14.48", + "eslint": "^8.40.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-import": "^2.27.5", + "fast-glob": "^3.2.12", + "jsdom": "^20.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.8", + "pretty-format": "^28.1.1", + "tsup": "^6.7.0", + "typescript": "^5.0.4", + "vitest": "^0.31.0" + }, + "peerDependencies": { + "vitest": "^0.31.0" + } + }, + "../../node_modules/.pnpm/vitest@0.32.4_jsdom@22.1.0_less@4.1.3/node_modules/vitest": { + "version": "0.32.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.32.4", + "@vitest/runner": "0.32.4", + "@vitest/snapshot": "0.32.4", + "@vitest/spy": "0.32.4", + "@vitest/utils": "0.32.4", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.5.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.32.4", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "devDependencies": { + "@ampproject/remapping": "^2.2.1", + "@antfu/install-pkg": "^0.1.1", + "@edge-runtime/vm": "3.0.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@sinonjs/fake-timers": "^11.0.0", + "@types/diff": "^5.0.3", + "@types/estree": "^1.0.1", + "@types/istanbul-lib-coverage": "^2.0.4", + "@types/istanbul-reports": "^3.0.1", + "@types/jsdom": "^21.1.1", + "@types/micromatch": "^4.0.2", + "@types/prompts": "^2.4.4", + "@types/sinonjs__fake-timers": "^8.1.2", + "birpc": "0.2.12", + "chai-subset": "^1.6.0", + "cli-truncate": "^3.1.0", + "event-target-polyfill": "^0.0.3", + "execa": "^7.1.1", + "expect-type": "^0.16.0", + "fast-glob": "^3.2.12", + "find-up": "^6.3.0", + "flatted": "^3.2.7", + "get-tsconfig": "^4.6.2", + "happy-dom": "^9.20.3", + "jsdom": "^22.1.0", + "log-update": "^5.0.1", + "micromatch": "^4.0.5", + "mlly": "^1.4.0", + "p-limit": "^4.0.0", + "pkg-types": "^1.0.3", + "playwright": "^1.35.1", + "pretty-format": "^29.5.0", + "prompts": "^2.4.2", + "safaridriver": "^0.0.5", + "strip-ansi": "^7.1.0", + "webdriverio": "^8.11.2", + "ws": "^8.13.0" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "resolved": "../../node_modules/.pnpm/@radix-ui+react-dialog@1.0.4_@types+react@18.2.14_react-dom@18.2.0_react@18.2.0/node_modules/@radix-ui/react-dialog", + "link": true + }, + "node_modules/@storybook/addon-essentials": { + "resolved": "../../node_modules/.pnpm/@storybook+addon-essentials@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials", + "link": true + }, + "node_modules/@storybook/addon-interactions": { + "resolved": "../../node_modules/.pnpm/@storybook+addon-interactions@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-interactions", + "link": true + }, + "node_modules/@storybook/addon-links": { + "resolved": "../../node_modules/.pnpm/@storybook+addon-links@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-links", + "link": true + }, + "node_modules/@storybook/addon-styling": { + "resolved": "../../node_modules/.pnpm/@storybook+addon-styling@1.3.2_less@4.1.3_postcss@8.4.24_react-dom@18.2.0_react@18.2.0_webpack@5.88.1/node_modules/@storybook/addon-styling", + "link": true + }, + "node_modules/@storybook/blocks": { + "resolved": "../../node_modules/.pnpm/@storybook+blocks@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/blocks", + "link": true + }, + "node_modules/@storybook/react": { + "resolved": "../../node_modules/.pnpm/@storybook+react@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6/node_modules/@storybook/react", + "link": true + }, + "node_modules/@storybook/react-vite": { + "resolved": "../../node_modules/.pnpm/@storybook+react-vite@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6_vite@4.3.9/node_modules/@storybook/react-vite", + "link": true + }, + "node_modules/@storybook/testing-library": { + "resolved": "../../node_modules/.pnpm/@storybook+testing-library@0.0.14-next.2/node_modules/@storybook/testing-library", + "link": true + }, + "node_modules/@testing-library/dom": { + "resolved": "../../node_modules/.pnpm/@testing-library+dom@9.3.1/node_modules/@testing-library/dom", + "link": true + }, + "node_modules/@testing-library/jest-dom": { + "resolved": "../../node_modules/.pnpm/@testing-library+jest-dom@5.16.5/node_modules/@testing-library/jest-dom", + "link": true + }, + "node_modules/@testing-library/react": { + "resolved": "../../node_modules/.pnpm/@testing-library+react@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/@testing-library/react", + "link": true + }, + "node_modules/@testing-library/user-event": { + "resolved": "../../node_modules/.pnpm/@testing-library+user-event@14.4.3_@testing-library+dom@9.3.1/node_modules/@testing-library/user-event", + "link": true + }, + "node_modules/@types/react": { + "resolved": "../../node_modules/.pnpm/@types+react@18.2.14/node_modules/@types/react", + "link": true + }, + "node_modules/@vitejs/plugin-react": { + "resolved": "../../node_modules/.pnpm/@vitejs+plugin-react@4.0.1_vite@4.3.9/node_modules/@vitejs/plugin-react", + "link": true + }, + "node_modules/autoprefixer": { + "resolved": "../../node_modules/.pnpm/autoprefixer@10.4.14_postcss@8.4.24/node_modules/autoprefixer", + "link": true + }, + "node_modules/class-variance-authority": { + "resolved": "../../node_modules/.pnpm/class-variance-authority@0.6.1/node_modules/class-variance-authority", + "link": true + }, + "node_modules/clsx": { + "resolved": "../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx", + "link": true + }, + "node_modules/jsdom": { + "resolved": "../../node_modules/.pnpm/jsdom@22.1.0/node_modules/jsdom", + "link": true + }, + "node_modules/postcss": { + "resolved": "../../node_modules/.pnpm/postcss@8.4.24/node_modules/postcss", + "link": true + }, + "node_modules/prop-types": { + "resolved": "../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types", + "link": true + }, + "node_modules/react": { + "resolved": "../../node_modules/.pnpm/react@18.2.0/node_modules/react", + "link": true + }, + "node_modules/react-dom": { + "resolved": "../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom", + "link": true + }, + "node_modules/react-hook-form": { + "version": "7.45.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.45.2.tgz", + "integrity": "sha512-9s45OdTaKN+4NSTbXVqeDITd/nwIg++nxJGL8+OD5uf1DxvhsXQ641kaYHk5K28cpIOTYm71O/fYk7rFaygb3A==", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/resize-observer-polyfill": { + "resolved": "../../node_modules/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill", + "link": true + }, + "node_modules/storybook": { + "resolved": "../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook", + "link": true + }, + "node_modules/tailwind-merge": { + "resolved": "../../node_modules/.pnpm/tailwind-merge@1.13.2/node_modules/tailwind-merge", + "link": true + }, + "node_modules/tailwindcss": { + "resolved": "../../node_modules/.pnpm/tailwindcss@3.3.2/node_modules/tailwindcss", + "link": true + }, + "node_modules/tailwindcss-animate": { + "resolved": "../../node_modules/.pnpm/tailwindcss-animate@1.0.6_tailwindcss@3.3.2/node_modules/tailwindcss-animate", + "link": true + }, + "node_modules/tsup": { + "resolved": "../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup", + "link": true + }, + "node_modules/undici": { + "resolved": "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici", + "link": true + }, + "node_modules/vite": { + "resolved": "../../node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite", + "link": true + }, + "node_modules/vitest": { + "resolved": "../../node_modules/.pnpm/vitest@0.32.4_jsdom@22.1.0_less@4.1.3/node_modules/vitest", + "link": true + }, + "node_modules/vitest-dom": { + "resolved": "../../node_modules/.pnpm/vitest-dom@0.1.0_vitest@0.32.4/node_modules/vitest-dom", + "link": true + } + }, + "dependencies": { + "@radix-ui/react-dialog": { + "version": "file:../../node_modules/.pnpm/@radix-ui+react-dialog@1.0.4_@types+react@18.2.14_react-dom@18.2.0_react@18.2.0/node_modules/@radix-ui/react-dialog", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@storybook/addon-essentials": { + "version": "file:../../node_modules/.pnpm/@storybook+addon-essentials@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-essentials", + "requires": { + "@storybook/addon-actions": "7.0.24", + "@storybook/addon-backgrounds": "7.0.24", + "@storybook/addon-controls": "7.0.24", + "@storybook/addon-docs": "7.0.24", + "@storybook/addon-highlight": "7.0.24", + "@storybook/addon-measure": "7.0.24", + "@storybook/addon-outline": "7.0.24", + "@storybook/addon-toolbars": "7.0.24", + "@storybook/addon-viewport": "7.0.24", + "@storybook/core-common": "7.0.24", + "@storybook/manager-api": "7.0.24", + "@storybook/node-logger": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/vue": "7.0.24", + "ts-dedent": "^2.0.0", + "typescript": "^4.9.3" + } + }, + "@storybook/addon-interactions": { + "version": "file:../../node_modules/.pnpm/@storybook+addon-interactions@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-interactions", + "requires": { + "@devtools-ds/object-inspector": "^1.1.2", + "@storybook/client-logger": "7.0.24", + "@storybook/components": "7.0.24", + "@storybook/core-common": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/instrumenter": "7.0.24", + "@storybook/jest": "^0.1.0", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/testing-library": "^0.1.0", + "@storybook/theming": "7.0.24", + "@storybook/types": "7.0.24", + "@types/node": "^16.0.0", + "formik": "^2.2.9", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0", + "typescript": "~4.9.3" + } + }, + "@storybook/addon-links": { + "version": "file:../../node_modules/.pnpm/@storybook+addon-links@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/addon-links", + "requires": { + "@storybook/client-logger": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/router": "7.0.24", + "@storybook/types": "7.0.24", + "fs-extra": "^11.1.0", + "prop-types": "^15.7.2", + "ts-dedent": "^2.0.0", + "typescript": "~4.9.3" + } + }, + "@storybook/addon-styling": { + "version": "file:../../node_modules/.pnpm/@storybook+addon-styling@1.3.2_less@4.1.3_postcss@8.4.24_react-dom@18.2.0_react@18.2.0_webpack@5.88.1/node_modules/@storybook/addon-styling", + "requires": { + "@babel/cli": "^7.12.1", + "@babel/core": "^7.12.3", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@babel/preset-typescript": "^7.13.0", + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.5", + "@storybook/addon-essentials": "^7.0.12", + "@storybook/api": "^7.0.12", + "@storybook/builder-webpack5": "^7.0.12", + "@storybook/components": "^7.0.12", + "@storybook/core-common": "^7.0.12", + "@storybook/core-events": "^7.0.12", + "@storybook/csf-tools": "^7.0.12", + "@storybook/manager-api": "^7.0.12", + "@storybook/node-logger": "^7.0.12", + "@storybook/preview-api": "^7.0.12", + "@storybook/react": "^7.0.12", + "@storybook/react-vite": "^7.0.12", + "@storybook/theming": "^7.0.12", + "@storybook/types": "^7.0.12", + "@vitejs/plugin-react": "^3.1.0", + "auto": "^10.3.0", + "babel-loader": "^8.1.0", + "boxen": "^5.0.1", + "concurrently": "^6.2.0", + "css-loader": "^6.7.3", + "dedent": "^0.7.0", + "less-loader": "^11.1.0", + "postcss-loader": "^7.2.4", + "prettier": "^2.8.8", + "prop-types": "^15.7.2", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "recast": "^0.23.2", + "resolve-url-loader": "^5.0.0", + "rimraf": "^3.0.2", + "sass-loader": "^13.2.2", + "storybook": "^7.0.12", + "style-loader": "^3.3.2", + "tsup": "^6.7.0", + "typescript": "^4.9.0", + "vite": "^4.2.1", + "vitest": "^0.31.0", + "zx": "^1.14.1" + } + }, + "@storybook/blocks": { + "version": "file:../../node_modules/.pnpm/@storybook+blocks@7.0.24_react-dom@18.2.0_react@18.2.0/node_modules/@storybook/blocks", + "requires": { + "@storybook/addon-actions": "7.0.24", + "@storybook/channels": "7.0.24", + "@storybook/client-logger": "7.0.24", + "@storybook/components": "7.0.24", + "@storybook/core-events": "7.0.24", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.0.24", + "@storybook/preview-api": "7.0.24", + "@storybook/theming": "7.0.24", + "@storybook/types": "7.0.24", + "@types/color-convert": "^2.0.0", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.0.3", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/react": { + "version": "file:../../node_modules/.pnpm/@storybook+react@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6/node_modules/@storybook/react", + "requires": { + "@babel/core": "^7.20.2", + "@storybook/client-logger": "7.0.24", + "@storybook/core-client": "7.0.24", + "@storybook/docs-tools": "7.0.24", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.0.24", + "@storybook/react-dom-shim": "7.0.24", + "@storybook/types": "7.0.24", + "@types/escodegen": "^0.0.6", + "@types/estree": "^0.0.51", + "@types/node": "^16.0.0", + "@types/util-deprecate": "^1.0.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "escodegen": "^2.0.0", + "expect-type": "^0.14.2", + "html-tags": "^3.1.0", + "jest-specific-snapshot": "^7.0.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^15.0.0", + "require-from-string": "^2.0.2", + "ts-dedent": "^2.0.0", + "type-fest": "^2.19.0", + "typescript": "~4.9.3", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/react-vite": { + "version": "file:../../node_modules/.pnpm/@storybook+react-vite@7.0.24_react-dom@18.2.0_react@18.2.0_typescript@5.1.6_vite@4.3.9/node_modules/@storybook/react-vite", + "requires": { + "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", + "@rollup/pluginutils": "^4.2.0", + "@storybook/builder-vite": "7.0.24", + "@storybook/react": "7.0.24", + "@types/node": "^16.0.0", + "@vitejs/plugin-react": "^3.0.1", + "ast-types": "^0.14.2", + "magic-string": "^0.27.0", + "react-docgen": "6.0.0-alpha.3", + "typescript": "~4.9.3", + "vite": "^4.0.0" + } + }, + "@storybook/testing-library": { + "version": "file:../../node_modules/.pnpm/@storybook+testing-library@0.0.14-next.2/node_modules/@storybook/testing-library", + "requires": { + "@auto-it/first-time-contributor": "^10.37.6", + "@auto-it/released": "^10.37.6", + "@storybook/client-logger": "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0", + "@storybook/instrumenter": "^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0", + "@storybook/linter-config": "^3.1.2", + "@testing-library/dom": "^8.3.0", + "@testing-library/user-event": "^13.2.1", + "@types/react": "*", + "auto": "^10.37.6", + "rimraf": "^3.0.2", + "ts-dedent": "^2.2.0", + "typescript": "^4.4.3" + } + }, + "@testing-library/dom": { + "version": "file:../../node_modules/.pnpm/@testing-library+dom@9.3.1/node_modules/@testing-library/dom", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@testing-library/jest-dom": "^5.11.6", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "jest-in-case": "^1.0.2", + "jest-snapshot-serializer-ansi": "^1.0.0", + "jest-watch-select-projects": "^2.0.0", + "jsdom": "20.0.0", + "kcd-scripts": "^13.0.0", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2", + "typescript": "^4.1.2" + } + }, + "@testing-library/jest-dom": { + "version": "file:../../node_modules/.pnpm/@testing-library+jest-dom@5.16.5/node_modules/@testing-library/jest-dom", + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "jest-environment-jsdom-sixteen": "^1.0.3", + "jest-watch-select-projects": "^2.0.0", + "jsdom": "^16.2.1", + "kcd-scripts": "^11.1.0", + "lodash": "^4.17.15", + "pretty-format": "^25.1.0", + "redent": "^3.0.0" + } + }, + "@testing-library/react": { + "version": "file:../../node_modules/.pnpm/@testing-library+react@14.0.0_react-dom@18.2.0_react@18.2.0/node_modules/@testing-library/react", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@testing-library/jest-dom": "^5.11.6", + "@types/react-dom": "^18.0.0", + "chalk": "^4.1.2", + "dotenv-cli": "^4.0.0", + "jest-diff": "^29.4.1", + "kcd-scripts": "^13.0.0", + "npm-run-all": "^4.1.5", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "rimraf": "^3.0.2", + "typescript": "^4.1.2" + } + }, + "@testing-library/user-event": { + "version": "file:../../node_modules/.pnpm/@testing-library+user-event@14.4.3_@testing-library+dom@9.3.1/node_modules/@testing-library/user-event", + "requires": { + "@ph.fritsche/scripts-config": "^2.4.0", + "@testing-library/dom": "^8.11.4", + "@testing-library/jest-dom": "^5.16.3", + "@testing-library/react": "^13.0.0", + "@types/jest-in-case": "^1.0.3", + "@types/react": "^17.0.42", + "eslint-import-resolver-typescript": "^2.7.0", + "eslint-plugin-local-rules": "^1.1.0", + "is-ci": "^3.0.1", + "jest-in-case": "^1.0.2", + "jest-serializer-ansi": "^1.0.3", + "kcd-scripts": "^12.1.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react17": "npm:react@^17.0.2", + "reactDom17": "npm:react-dom@^17.0.2", + "reactIs17": "npm:react-is@^17.0.2", + "reactTesting17": "npm:@testing-library/react@^12.1.3", + "shared-scripts": "^1.5.1", + "typescript": "^4.1.2" + } + }, + "@types/react": { + "version": "file:../../node_modules/.pnpm/@types+react@18.2.14/node_modules/@types/react", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@vitejs/plugin-react": { + "version": "file:../../node_modules/.pnpm/@vitejs+plugin-react@4.0.1_vite@4.3.9/node_modules/@vitejs/plugin-react", + "requires": { + "@babel/core": "^7.22.5", + "@babel/plugin-transform-react-jsx-self": "^7.22.5", + "@babel/plugin-transform-react-jsx-source": "^7.22.5", + "react-refresh": "^0.14.0" + } + }, + "autoprefixer": { + "version": "file:../../node_modules/.pnpm/autoprefixer@10.4.14_postcss@8.4.24/node_modules/autoprefixer", + "requires": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "class-variance-authority": { + "version": "file:../../node_modules/.pnpm/class-variance-authority@0.6.1/node_modules/class-variance-authority", + "requires": { + "@jest/types": "28.1.1", + "@swc/cli": "0.1.57", + "@swc/core": "1.2.198", + "@swc/jest": "0.2.21", + "@types/jest": "28.1.1", + "@types/node": "18.11.18", + "@types/react": "18.0.12", + "@types/react-dom": "18.0.5", + "bundlesize": "0.18.1", + "clsx": "1.2.1", + "jest": "28.1.1", + "npm-run-all": "4.1.5", + "react": "18.2.0", + "react-dom": "18.2.0", + "ts-node": "10.8.1", + "typescript": "5.1.3" + } + }, + "clsx": { + "version": "file:../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx", + "requires": { + "esm": "3.2.25", + "terser": "4.8.0", + "uvu": "0.5.4" + } + }, + "jsdom": { + "version": "file:../../node_modules/.pnpm/jsdom@22.1.0/node_modules/jsdom", + "requires": { + "@domenic/eslint-config": "^3.0.0", + "abab": "^2.0.6", + "benchmark": "^2.1.4", + "chai": "^4.3.7", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "eslint": "^8.39.0", + "eslint-plugin-html": "^7.1.0", + "eslint-plugin-jsdom-internal": "link:./scripts/eslint-plugin", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "js-yaml": "^4.1.0", + "minimatch": "^9.0.0", + "mocha": "^10.2.0", + "mocha-sugar-free": "^1.4.0", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "pngjs": "^7.0.0", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "server-destroy": "^1.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "webidl2js": "^17.1.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0", + "yargs": "^17.7.2" + } + }, + "postcss": { + "version": "file:../../node_modules/.pnpm/postcss@8.4.24/node_modules/postcss", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prop-types": { + "version": "file:../../node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types", + "requires": { + "babel-jest": "^19.0.0", + "babel-preset-react": "^6.24.1", + "browserify": "^16.5.0", + "bundle-collapser": "^1.4.0", + "eslint": "^8.6.0", + "in-publish": "^2.0.1", + "jest": "^19.0.2", + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react": "^15.7.0", + "react-is": "^16.13.1", + "uglifyify": "^5.0.2", + "uglifyjs": "^2.4.11" + } + }, + "react": { + "version": "file:../../node_modules/.pnpm/react@18.2.0/node_modules/react", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "file:../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-hook-form": { + "version": "7.45.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.45.2.tgz", + "integrity": "sha512-9s45OdTaKN+4NSTbXVqeDITd/nwIg++nxJGL8+OD5uf1DxvhsXQ641kaYHk5K28cpIOTYm71O/fYk7rFaygb3A==", + "requires": {} + }, + "resize-observer-polyfill": { + "version": "file:../../node_modules/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill", + "requires": { + "babel-eslint": "10.0.1", + "cpy-cli": "2.0.0", + "eslint": "5.10.0", + "jasmine": "2.8.0", + "jasmine-core": "2.8.0", + "karma": "3.1.3", + "karma-chrome-launcher": "2.2.0", + "karma-firefox-launcher": "1.1.0", + "karma-jasmine": "1.1.2", + "karma-jasmine-html-reporter": "0.2.2", + "karma-rollup-preprocessor": "6.1.1", + "karma-sauce-launcher": "1.2.0", + "karma-sourcemap-loader": "0.3.7", + "karma-spec-reporter": "0.0.32", + "promise-polyfill": "8.1.0", + "rollup": "0.67.4", + "rollup-plugin-typescript": "1.0.0", + "typescript": "3.2.2" + } + }, + "storybook": { + "version": "file:../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook", + "requires": { + "@storybook/cli": "7.0.24" + } + }, + "tailwind-merge": { + "version": "file:../../node_modules/.pnpm/tailwind-merge@1.13.2/node_modules/tailwind-merge", + "requires": { + "@size-limit/preset-small-lib": "^8.2.4", + "@types/jest": "^29.5.2", + "@typescript-eslint/eslint-plugin": "^5.59.8", + "@typescript-eslint/parser": "^5.59.8", + "dts-cli": "^2.0.3", + "eslint": "^8.41.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jest": "^27.2.1", + "globby": "^11.1.0", + "prettier": "^2.8.8", + "size-limit": "^8.2.4", + "ts-jest": "^29.1.0", + "typescript": "^5.0.4", + "zx": "^7.2.2" + } + }, + "tailwindcss": { + "version": "file:../../node_modules/.pnpm/tailwindcss@3.3.2/node_modules/tailwindcss", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "@swc/cli": "^0.1.62", + "@swc/core": "^1.3.55", + "@swc/jest": "^0.2.26", + "@swc/register": "^0.1.10", + "arg": "^5.0.2", + "autoprefixer": "^10.4.14", + "browserslist": "^4.21.5", + "chokidar": "^3.5.3", + "concurrently": "^8.0.1", + "cssnano": "^6.0.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "esbuild": "^0.17.18", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jest": "^29.5.0", + "jest-diff": "^29.5.0", + "jiti": "^1.18.2", + "lightningcss": "1.18.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "prettier": "^2.8.8", + "resolve": "^1.22.2", + "rimraf": "^5.0.0", + "source-map-js": "^1.0.2", + "sucrase": "^3.32.0", + "turbo": "^1.9.3" + } + }, + "tailwindcss-animate": { + "version": "file:../../node_modules/.pnpm/tailwindcss-animate@1.0.6_tailwindcss@3.3.2/node_modules/tailwindcss-animate", + "requires": { + "husky": "^7.0.4", + "lint-staged": "^12.3.4", + "prettier": "^2.5.1", + "tailwindcss": "^3.0.22" + } + }, + "tsup": { + "version": "file:../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup", + "requires": { + "@rollup/plugin-json": "5.0.1", + "@swc/core": "1.2.218", + "@types/debug": "4.1.7", + "@types/flat": "5.0.2", + "@types/fs-extra": "9.0.13", + "@types/node": "14.18.12", + "@types/resolve": "1.20.1", + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "colorette": "2.0.16", + "consola": "2.15.3", + "debug": "^4.3.1", + "esbuild": "^0.18.2", + "execa": "^5.0.0", + "flat": "5.0.2", + "fs-extra": "10.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss": "8.4.12", + "postcss-load-config": "^4.0.1", + "postcss-simple-vars": "6.0.3", + "prettier": "2.5.1", + "resolve": "1.20.0", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "rollup-plugin-dts": "5.3.0", + "rollup-plugin-hashbang": "2.2.2", + "sass": "1.62.1", + "source-map": "0.8.0-beta.0", + "strip-json-comments": "4.0.0", + "sucrase": "^3.20.3", + "svelte": "3.46.4", + "svelte-preprocess": "5.0.3", + "terser": "^5.16.0", + "tree-kill": "^1.2.2", + "ts-essentials": "9.1.2", + "tsconfig-paths": "3.12.0", + "tsup": "6.6.1", + "typescript": "5.0.2", + "vitest": "0.28.4", + "wait-for-expect": "3.0.2" + } + }, + "undici": { + "version": "file:../../node_modules/.pnpm/undici@5.22.1/node_modules/undici", + "requires": { + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "^18.0.3", + "abort-controller": "^3.0.0", + "atomic-sleep": "^1.0.0", + "busboy": "^1.6.0", + "chai": "^4.3.4", + "chai-as-promised": "^7.1.1", + "chai-iterator": "^3.0.2", + "chai-string": "^1.5.0", + "concurrently": "^8.0.1", + "cronometro": "^1.0.5", + "delay": "^5.0.0", + "dns-packet": "^5.4.0", + "docsify-cli": "^4.4.3", + "form-data": "^4.0.0", + "formdata-node": "^4.3.1", + "https-pem": "^3.0.0", + "husky": "^8.0.1", + "import-fresh": "^3.3.0", + "jest": "^29.0.2", + "jsdom": "^21.1.0", + "jsfuzz": "^1.0.15", + "mocha": "^10.0.0", + "p-timeout": "^3.2.0", + "pre-commit": "^1.2.2", + "proxy": "^1.0.2", + "proxyquire": "^2.1.3", + "sinon": "^15.0.0", + "snazzy": "^9.0.0", + "standard": "^17.0.0", + "table": "^6.8.0", + "tap": "^16.1.0", + "tsd": "^0.28.1", + "typescript": "^5.0.2", + "wait-on": "^7.0.1", + "ws": "^8.11.0" + } + }, + "vite": { + "version": "file:../../node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite", + "requires": { + "@ampproject/remapping": "^2.2.1", + "@babel/parser": "^7.21.4", + "@babel/types": "^7.21.4", + "@jridgewell/trace-mapping": "^0.3.18", + "@rollup/plugin-alias": "^4.0.4", + "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-dynamic-import-vars": "^2.0.3", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "15.0.2", + "@rollup/plugin-typescript": "^11.1.0", + "@rollup/pluginutils": "^5.0.2", + "@types/escape-html": "^1.0.2", + "@types/pnpapi": "^0.0.2", + "acorn": "^8.8.2", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chokidar": "^3.5.3", + "connect": "^3.7.0", + "connect-history-api-fallback": "^2.0.0", + "convert-source-map": "^2.0.0", + "cors": "^2.8.5", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "dep-types": "link:./src/types", + "dotenv": "^16.0.3", + "dotenv-expand": "^9.0.0", + "es-module-lexer": "^1.2.1", + "esbuild": "^0.17.5", + "escape-html": "^1.0.3", + "estree-walker": "^3.0.3", + "etag": "^1.8.1", + "fast-glob": "^3.2.12", + "fsevents": "~2.3.2", + "http-proxy": "^1.18.1", + "json-stable-stringify": "^1.0.2", + "launch-editor-middleware": "^2.6.0", + "magic-string": "^0.30.0", + "micromatch": "^4.0.5", + "mlly": "^1.2.0", + "mrmime": "^1.0.1", + "okie": "^1.0.1", + "open": "^8.4.2", + "parse5": "^7.1.2", + "periscopic": "^3.1.0", + "picocolors": "^1.0.0", + "picomatch": "^2.3.1", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-load-config": "^4.0.1", + "postcss-modules": "^6.0.0", + "resolve.exports": "^2.0.2", + "rollup": "^3.21.0", + "rollup-plugin-license": "^3.0.1", + "sirv": "^2.0.2", + "source-map-support": "^0.5.21", + "strip-ansi": "^7.0.1", + "strip-literal": "^1.0.1", + "tsconfck": "^2.1.1", + "tslib": "^2.5.0", + "types": "link:./types", + "ufo": "^1.1.1", + "ws": "^8.13.0" + } + }, + "vitest": { + "version": "file:../../node_modules/.pnpm/vitest@0.32.4_jsdom@22.1.0_less@4.1.3/node_modules/vitest", + "requires": { + "@ampproject/remapping": "^2.2.1", + "@antfu/install-pkg": "^0.1.1", + "@edge-runtime/vm": "3.0.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@sinonjs/fake-timers": "^11.0.0", + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/diff": "^5.0.3", + "@types/estree": "^1.0.1", + "@types/istanbul-lib-coverage": "^2.0.4", + "@types/istanbul-reports": "^3.0.1", + "@types/jsdom": "^21.1.1", + "@types/micromatch": "^4.0.2", + "@types/node": "*", + "@types/prompts": "^2.4.4", + "@types/sinonjs__fake-timers": "^8.1.2", + "@vitest/expect": "0.32.4", + "@vitest/runner": "0.32.4", + "@vitest/snapshot": "0.32.4", + "@vitest/spy": "0.32.4", + "@vitest/utils": "0.32.4", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "birpc": "0.2.12", + "cac": "^6.7.14", + "chai": "^4.3.7", + "chai-subset": "^1.6.0", + "cli-truncate": "^3.1.0", + "debug": "^4.3.4", + "event-target-polyfill": "^0.0.3", + "execa": "^7.1.1", + "expect-type": "^0.16.0", + "fast-glob": "^3.2.12", + "find-up": "^6.3.0", + "flatted": "^3.2.7", + "get-tsconfig": "^4.6.2", + "happy-dom": "^9.20.3", + "jsdom": "^22.1.0", + "local-pkg": "^0.4.3", + "log-update": "^5.0.1", + "magic-string": "^0.30.0", + "micromatch": "^4.0.5", + "mlly": "^1.4.0", + "p-limit": "^4.0.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "pkg-types": "^1.0.3", + "playwright": "^1.35.1", + "pretty-format": "^29.5.0", + "prompts": "^2.4.2", + "safaridriver": "^0.0.5", + "std-env": "^3.3.3", + "strip-ansi": "^7.1.0", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.5.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.32.4", + "webdriverio": "^8.11.2", + "why-is-node-running": "^2.2.2", + "ws": "^8.13.0" + } + }, + "vitest-dom": { + "version": "file:../../node_modules/.pnpm/vitest-dom@0.1.0_vitest@0.32.4/node_modules/vitest-dom", + "requires": { + "@types/aria-query": "^5.0.1", + "@types/css.escape": "^1.5.0", + "@types/lodash-es": "^4.17.7", + "@typescript-eslint/eslint-plugin": "^5.59.5", + "@typescript-eslint/parser": "^5.59.5", + "aria-query": "^5.1.3", + "chalk": "^5.2.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.0", + "esbuild": "^0.14.48", + "eslint": "^8.40.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-import": "^2.27.5", + "fast-glob": "^3.2.12", + "jsdom": "^20.0.0", + "lodash-es": "^4.17.21", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.8", + "pretty-format": "^28.1.1", + "redent": "^4.0.0", + "tsup": "^6.7.0", + "typescript": "^5.0.4", + "vitest": "^0.31.0" + } + } + } +} diff --git a/packages/components/package.json b/packages/components/package.json index c18cd37..b9281ba 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -67,6 +67,7 @@ }, "homepage": "https://github.com/0xStation/ui-components#readme", "dependencies": { - "@radix-ui/react-dialog": "^1.0.4" + "@radix-ui/react-dialog": "^1.0.4", + "react-hook-form": "^7.45.2" } } diff --git a/packages/components/src/Modal/Modal.stories.tsx b/packages/components/src/Modal/Modal.stories.tsx index 3eaf0a5..bb21231 100644 --- a/packages/components/src/Modal/Modal.stories.tsx +++ b/packages/components/src/Modal/Modal.stories.tsx @@ -1,6 +1,6 @@ import React from 'react' import type { Meta, StoryObj } from '@storybook/react' -import { Modal } from '.' +import { Modal } from './' import clsx from 'clsx' const ModalMeta = { diff --git a/packages/components/src/button/index.tsx b/packages/components/src/button/index.tsx index 2d03598..162ed2f 100644 --- a/packages/components/src/button/index.tsx +++ b/packages/components/src/button/index.tsx @@ -12,7 +12,7 @@ const buttonVariants = cva( secondary: 'ui-bg-transparent ui-border-violet-100 hover:ui-bg-gray-90 !ui-text-violet-100', input: 'ui-bg-gray-100 ui-border-gray-100 !ui-text-marbleWhite hover:ui-bg-gray-80', unemphasized: 'ui-bg-transparent ui-border-white hover:ui-bg-gray-90 !ui-text-white', - error: 'ui-bg-transparent ui-border-red100 hover:ui-bg-gray-90 !ui-text-red100', + error: 'ui-bg-transparent ui-border-red-100 hover:ui-bg-gray-90 !ui-text-red-100', }, size: { sm: 'ui-px-4 ui-text-base-xxs ui-max-h-7 ui-h-7', @@ -44,9 +44,9 @@ const spinnerVariants = cva('animate-spin', { variant: { primary: 'ui-text-black', secondary: 'ui-text-violet-100', - input: 'ui-text-marbleWhite', + input: 'ui-text-white', unemphasized: 'ui-text-white', - error: 'ui-text-red100', + error: 'ui-text-red-100', }, size: { sm: 'ui-w-5 ui-h-5', diff --git a/packages/components/src/form/AddressInput.stories.tsx b/packages/components/src/form/AddressInput.stories.tsx new file mode 100644 index 0000000..7fd1d62 --- /dev/null +++ b/packages/components/src/form/AddressInput.stories.tsx @@ -0,0 +1,47 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { AddressInput } from './AddressInput' + +const FormWithAddressInput = ({ ...props }: { name: string }) => { + const { register } = useForm({}) + return ( +
+ + + ) +} + +const AddressInputMeta = { + title: 'forms/AddressInput', + component: AddressInput, + + args: { + name: 'Title', + placeholder: 'Placeholder', + }, + argTypes: { + name: { + defaultValue: 'Title', + control: { + type: 'text', + }, + }, + placeholder: { + defaultValue: 'Placeholder', + control: { + type: 'text', + }, + }, + }, +} satisfies Meta + +export default AddressInputMeta + +type Story = StoryObj + +export const Default: Story = { + render: ({ register, ...props }) => { + return + }, +} diff --git a/packages/components/src/form/AddressInput.tsx b/packages/components/src/form/AddressInput.tsx new file mode 100644 index 0000000..78bf7b8 --- /dev/null +++ b/packages/components/src/form/AddressInput.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import { FieldValues, UseFormRegister, DeepMap, FieldError } from 'react-hook-form' +import { TextInput, InputSize } from './TextInput' + +export const AddressInput = ({ + name, + register, + errors, + required, + placeholder = '0x...', + disabled, + size, + className, +}: { + name: string + register: UseFormRegister + errors?: Partial> + placeholder?: string + required?: boolean + disabled?: boolean + size?: InputSize + className?: string +}) => { + return ( + + ) +} diff --git a/packages/components/src/form/Checkbox.stories.tsx b/packages/components/src/form/Checkbox.stories.tsx new file mode 100644 index 0000000..a76d73b --- /dev/null +++ b/packages/components/src/form/Checkbox.stories.tsx @@ -0,0 +1,40 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { Checkbox } from './Checkbox' + +const FormWithCheckbox = ({ ...props }: { name: string }) => { + const { register } = useForm({}) + return ( +
+ + + ) +} + +const CheckboxMeta = { + title: 'forms/Checkbox', + component: Checkbox, + + args: { + name: 'Title', + }, + argTypes: { + name: { + defaultValue: 'Title', + control: { + type: 'text', + }, + }, + }, +} satisfies Meta + +export default CheckboxMeta + +type Story = StoryObj + +export const Default: Story = { + render: ({ register, ...props }) => { + return + }, +} diff --git a/packages/components/src/form/Checkbox.tsx b/packages/components/src/form/Checkbox.tsx new file mode 100644 index 0000000..8c8f09f --- /dev/null +++ b/packages/components/src/form/Checkbox.tsx @@ -0,0 +1,20 @@ +import React from 'react' +import { FieldValues, UseFormRegister } from 'react-hook-form' + +export const Checkbox = ({ + name, + register, + required, +}: { + name: string + register: UseFormRegister + required?: boolean +}) => { + return ( + + ) +} diff --git a/packages/components/src/form/NumberInput.stories.tsx b/packages/components/src/form/NumberInput.stories.tsx new file mode 100644 index 0000000..837a003 --- /dev/null +++ b/packages/components/src/form/NumberInput.stories.tsx @@ -0,0 +1,53 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { NumberInput } from './NumberInput' + +const FormWithNumberInput = ({ ...props }: { name: string }) => { + const { register } = useForm({}) + return ( +
+ + + ) +} + +const NumberInputMeta = { + title: 'forms/NumberInput', + component: NumberInput, + args: { + name: 'amount', + placeholder: '1111', + decimals: 0, + }, + argTypes: { + name: { + defaultValue: 'amount', + control: { + type: 'text', + }, + }, + placeholder: { + defaultValue: '111', + control: { + type: 'text', + }, + }, + decimals: { + defaultValue: 0, + control: { + type: 'number', + }, + }, + }, +} satisfies Meta + +export default NumberInputMeta + +type Story = StoryObj + +export const Default: Story = { + render: ({ register, ...props }) => { + return + }, +} diff --git a/packages/components/src/form/NumberInput.tsx b/packages/components/src/form/NumberInput.tsx new file mode 100644 index 0000000..37ef801 --- /dev/null +++ b/packages/components/src/form/NumberInput.tsx @@ -0,0 +1,37 @@ +import clsx from 'clsx' +import React from 'react' +import { FieldValues, UseFormRegister } from 'react-hook-form' + +export function NumberInput({ + errorMessage, + placeholder, + register, + options, + name, + decimals = 0, +}: { + name: string + register: UseFormRegister + errorMessage?: string + placeholder?: string + options?: any + decimals?: number +}) { + return ( + <> + + {errorMessage &&

{errorMessage}

} + + ) +} diff --git a/packages/components/src/form/SelectInput.stories.tsx b/packages/components/src/form/SelectInput.stories.tsx new file mode 100644 index 0000000..262b962 --- /dev/null +++ b/packages/components/src/form/SelectInput.stories.tsx @@ -0,0 +1,61 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { SelectInput } from './SelectInput' + +const FormWithSelectInput = ({ + ...props +}: { + name: string + selectOptions: { + value: string + children: React.ReactNode + }[] +}) => { + const { register } = useForm({}) + return ( +
+ + + ) +} + +const SelectInputMeta = { + title: 'forms/SelectInput', + component: SelectInput, + + args: { + name: 'Title', + selectOptions: [ + { value: 'banana', children: Banana }, + { value: 'apple', children: Apple }, + ], + }, + argTypes: { + name: { + defaultValue: 'Title', + control: { + type: 'text', + }, + }, + selectOptions: { + defaultValue: [ + { value: 'banana', children: Banana }, + { value: 'apple', children: Apple }, + ], + control: { + type: 'object', + }, + }, + }, +} satisfies Meta + +export default SelectInputMeta + +type Story = StoryObj + +export const Default: Story = { + render: ({ register, ...props }) => { + return + }, +} diff --git a/packages/components/src/form/SelectInput.tsx b/packages/components/src/form/SelectInput.tsx new file mode 100644 index 0000000..f559dc0 --- /dev/null +++ b/packages/components/src/form/SelectInput.tsx @@ -0,0 +1,32 @@ +import React from 'react' +import { FieldValues, UseFormRegister } from 'react-hook-form' + +export const SelectInput = ({ + register, + name, + required = true, + options, + selectOptions, +}: { + register: UseFormRegister + name: string + required?: boolean + options?: any + selectOptions: { value: string; children: React.ReactNode }[] +}) => { + return ( + + ) +} diff --git a/packages/components/src/form/TextInput.stories.tsx b/packages/components/src/form/TextInput.stories.tsx new file mode 100644 index 0000000..65a360a --- /dev/null +++ b/packages/components/src/form/TextInput.stories.tsx @@ -0,0 +1,91 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { TextInput, TextInputProps } from './TextInput' +import { Button } from '../button/' +import { Calendar } from '../icons/calendar' + +const meta: Meta = { + title: 'forms/TextInput', + component: TextInput, + tags: ['autodocs'], + argTypes: { + name: { + control: 'string', + description: 'The name of the form field.', + }, + disabled: { + control: 'boolean', + description: 'Whether the input is disabled.', + }, + }, +} + +export default meta + +type Story = StoryObj + +const FormWithTextInput = ({ ...props }: Omit) => { + const { register, handleSubmit, formState } = useForm({}) + const { errors } = formState + const onSubmit = async (data: any) => { + console.log('data: ', data) + } + + return ( +
+ + + + ) +} + +export const Default: Story = { + name: 'Default input', + args: { + placeholder: 'Placeholder', + }, + render: (args) => { + return + }, +} + +export const Disabled: Story = { + name: 'Disabled', + args: { + ...Default.args, + }, + render: (args) => { + return + }, +} + +export const WithIcon: Story = { + name: 'With icon', + args: { + ...Default.args, + }, + render: (args) => { + return } /> + }, +} + +export const Large: Story = { + name: 'Large', + args: { + ...Default.args, + }, + render: (args) => { + return + }, +} + +export const LargeWithIcon: Story = { + name: 'Large with icon', + args: { + ...Default.args, + }, + render: (args) => { + return } /> + }, +} diff --git a/packages/components/src/form/TextInput.tsx b/packages/components/src/form/TextInput.tsx new file mode 100644 index 0000000..713a16a --- /dev/null +++ b/packages/components/src/form/TextInput.tsx @@ -0,0 +1,66 @@ +import clsx from 'clsx' +import React from 'react' +import { FieldValues, FieldError, DeepMap, UseFormRegister, RegisterOptions } from 'react-hook-form' + +export type InputSize = 'small' | 'large' +export type TextInputProps = { + name: string + register: UseFormRegister + rules?: RegisterOptions + errors?: Partial> + placeholder?: string + required?: boolean + disabled?: boolean + size?: InputSize + className?: string + icon?: React.ReactElement +} + +const sizeMap: { [key in InputSize]: string } = { + small: 'ui-text-base', + large: 'ui-text-lg', +} + +export const TextInput = ({ + register, + rules, + errors, + name, + placeholder, + icon, + required = true, + disabled = false, + size = 'small', + className = '', +}: TextInputProps) => { + if (required && !rules) { + rules = { required: 'Complete this field to continue.' } + } else if (required && rules) { + rules = { ...rules, required: 'Complete this field to continue.' } + } + + const errorMessages = errors?.[name] + const hasError = !!(errors && errorMessages) + + return ( +
+ + {icon && {icon}} + {hasError &&

{errorMessages.message}

} +
+ ) +} diff --git a/packages/components/src/tailwind.css b/packages/components/src/tailwind.css index b3bfef5..072367f 100644 --- a/packages/components/src/tailwind.css +++ b/packages/components/src/tailwind.css @@ -29,3 +29,56 @@ body { code { font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } + +/* overrides for checkbox */ +input[type='checkbox'] { + appearance: none; + background-color: inherit; + margin: 0; + font: inherit; + color: #646464; + min-width: 1.15em; + min-height: 1.15em; + border: 1px solid #646464; + border-radius: 0.15em; + transform: translateY(-0.075em); + display: grid; + place-content: center; + cursor: pointer; +} + +input[type='checkbox']::before { + content: ''; + width: 1em; + height: 1em; + border: 3px solid #000000; + border-radius: 0.15em; + transform: scale(0); + /* transition: 120ms transform ease-in-out; */ + box-shadow: inset 1em 1em #646464; +} + +input[type='checkbox']:checked::before { + transform: scale(1); +} + +input[type='checkbox']:disabled { + --form-control-color: #2e2e2e; + color: #2e2e2e; + cursor: not-allowed; +} + +/* overrides for select */ +select { + /* reset defaults */ + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + /* make space for chevron */ + padding-right: 15px; + /* place chevron */ + background-image: url('../../public/Chevron.svg'); + background-repeat: no-repeat; + background-position: right 0.7rem top 50%; + background-size: 0.65rem auto; +} From 65a368cce894eb052aba92f506c5ee827ac1d7b8 Mon Sep 17 00:00:00 2001 From: Michael Gingras Date: Mon, 24 Jul 2023 22:33:25 -0600 Subject: [PATCH 2/4] Adds input label, textarea, inputgroup --- packages/components/node_modules/.bin/acorn | 4 +- .../components/node_modules/.bin/browserslist | 4 +- packages/components/node_modules/.bin/esbuild | 4 +- packages/components/node_modules/.bin/sb | 8 +- .../components/node_modules/.bin/storybook | 8 +- packages/components/node_modules/.bin/tsc | 4 +- .../components/node_modules/.bin/tsserver | 4 +- packages/components/node_modules/.bin/tsup | 8 +- .../components/node_modules/.bin/tsup-node | 8 +- packages/components/node_modules/.bin/vite | 8 +- packages/components/package.json | 1 + .../src/form/InputGroup.stories.tsx | 67 + packages/components/src/form/InputGroup.tsx | 31 + .../src/form/InputLabel.stories.tsx | 71 + packages/components/src/form/InputLabel.tsx | 39 + .../components/src/form/TextArea.stories.tsx | 70 + packages/components/src/form/TextArea.tsx | 63 + packages/components/src/form/TextInput.tsx | 6 +- pnpm-lock.yaml | 5477 +++++++---------- 19 files changed, 2468 insertions(+), 3417 deletions(-) create mode 100644 packages/components/src/form/InputGroup.stories.tsx create mode 100644 packages/components/src/form/InputGroup.tsx create mode 100644 packages/components/src/form/InputLabel.stories.tsx create mode 100644 packages/components/src/form/InputLabel.tsx create mode 100644 packages/components/src/form/TextArea.stories.tsx create mode 100644 packages/components/src/form/TextArea.tsx diff --git a/packages/components/node_modules/.bin/acorn b/packages/components/node_modules/.bin/acorn index 2f19468..a1fc7b7 100755 --- a/packages/components/node_modules/.bin/acorn +++ b/packages/components/node_modules/.bin/acorn @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/acorn@8.9.0/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/acorn@8.9.0/node_modules/acorn/bin/acorn" "$@" diff --git a/packages/components/node_modules/.bin/browserslist b/packages/components/node_modules/.bin/browserslist index 3627084..1f33ee4 100755 --- a/packages/components/node_modules/.bin/browserslist +++ b/packages/components/node_modules/.bin/browserslist @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules/browserslist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules/browserslist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules/browserslist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules/browserslist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/browserslist@4.21.9/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/browserslist@4.21.9/node_modules/browserslist/cli.js" "$@" diff --git a/packages/components/node_modules/.bin/esbuild b/packages/components/node_modules/.bin/esbuild index 7a4703a..d977a9b 100755 --- a/packages/components/node_modules/.bin/esbuild +++ b/packages/components/node_modules/.bin/esbuild @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/esbuild@0.18.10/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi "$basedir/../../../../node_modules/.pnpm/esbuild@0.18.10/node_modules/esbuild/bin/esbuild" "$@" exit $? diff --git a/packages/components/node_modules/.bin/sb b/packages/components/node_modules/.bin/sb index aed8512..4aa7173 100755 --- a/packages/components/node_modules/.bin/sb +++ b/packages/components/node_modules/.bin/sb @@ -6,12 +6,12 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../storybook/index.js" "$@" + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/index.js" "$@" else - exec node "$basedir/../storybook/index.js" "$@" + exec node "$basedir/../../../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/index.js" "$@" fi diff --git a/packages/components/node_modules/.bin/storybook b/packages/components/node_modules/.bin/storybook index aed8512..4aa7173 100755 --- a/packages/components/node_modules/.bin/storybook +++ b/packages/components/node_modules/.bin/storybook @@ -6,12 +6,12 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/storybook@7.0.24/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../storybook/index.js" "$@" + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/index.js" "$@" else - exec node "$basedir/../storybook/index.js" "$@" + exec node "$basedir/../../../../node_modules/.pnpm/storybook@7.0.24/node_modules/storybook/index.js" "$@" fi diff --git a/packages/components/node_modules/.bin/tsc b/packages/components/node_modules/.bin/tsc index 2e42bb2..e6ec7c6 100755 --- a/packages/components/node_modules/.bin/tsc +++ b/packages/components/node_modules/.bin/tsc @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/tsc" "$@" diff --git a/packages/components/node_modules/.bin/tsserver b/packages/components/node_modules/.bin/tsserver index ed79836..c46f66b 100755 --- a/packages/components/node_modules/.bin/tsserver +++ b/packages/components/node_modules/.bin/tsserver @@ -6,9 +6,9 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/typescript@5.1.6/node_modules/typescript/bin/tsserver" "$@" diff --git a/packages/components/node_modules/.bin/tsup b/packages/components/node_modules/.bin/tsup index 5283bb3..28d3d84 100755 --- a/packages/components/node_modules/.bin/tsup +++ b/packages/components/node_modules/.bin/tsup @@ -6,12 +6,12 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../tsup/dist/cli-default.js" "$@" + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/cli-default.js" "$@" else - exec node "$basedir/../tsup/dist/cli-default.js" "$@" + exec node "$basedir/../../../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/cli-default.js" "$@" fi diff --git a/packages/components/node_modules/.bin/tsup-node b/packages/components/node_modules/.bin/tsup-node index abe44c9..5ca4ca0 100755 --- a/packages/components/node_modules/.bin/tsup-node +++ b/packages/components/node_modules/.bin/tsup-node @@ -6,12 +6,12 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../tsup/dist/cli-node.js" "$@" + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/cli-node.js" "$@" else - exec node "$basedir/../tsup/dist/cli-node.js" "$@" + exec node "$basedir/../../../../node_modules/.pnpm/tsup@7.1.0_postcss@8.4.24_typescript@5.1.6/node_modules/tsup/dist/cli-node.js" "$@" fi diff --git a/packages/components/node_modules/.bin/vite b/packages/components/node_modules/.bin/vite index f403d68..bc51d81 100755 --- a/packages/components/node_modules/.bin/vite +++ b/packages/components/node_modules/.bin/vite @@ -6,12 +6,12 @@ case `uname` in esac if [ -z "$NODE_PATH" ]; then - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules" else - export NODE_PATH="/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules:/Users/angelicaturla/work/station/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" + export NODE_PATH="/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules:/Users/mcgingras/Projects/0xstation/ui-components/node_modules/.pnpm/node_modules:$NODE_PATH" fi if [ -x "$basedir/node" ]; then - exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@" + exec "$basedir/node" "$basedir/../../../../node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/vite.js" "$@" else - exec node "$basedir/../vite/bin/vite.js" "$@" + exec node "$basedir/../../../../node_modules/.pnpm/vite@4.3.9_@types+node@20.3.2_less@4.1.3/node_modules/vite/bin/vite.js" "$@" fi diff --git a/packages/components/package.json b/packages/components/package.json index b9281ba..b1e4c47 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -67,6 +67,7 @@ }, "homepage": "https://github.com/0xStation/ui-components#readme", "dependencies": { + "@heroicons/react": "^2.0.18", "@radix-ui/react-dialog": "^1.0.4", "react-hook-form": "^7.45.2" } diff --git a/packages/components/src/form/InputGroup.stories.tsx b/packages/components/src/form/InputGroup.stories.tsx new file mode 100644 index 0000000..dbdcca1 --- /dev/null +++ b/packages/components/src/form/InputGroup.stories.tsx @@ -0,0 +1,67 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { InputGroup, InputGroupProps } from './InputGroup' +import { TextInput } from './TextInput' +import { InputLabel } from './InputLabel' +import { Button } from '../button/' + +const meta: Meta = { + title: 'forms/InputGroup', + component: InputGroup, + tags: ['autodocs'], + argTypes: { + label: { + control: 'string', + description: 'The label of the group.', + }, + index: { + control: 'number', + description: 'The index of the group.', + }, + }, +} + +export default meta + +type Story = StoryObj + +const FormWithInputGroup = ({ ...props }: Omit) => { + const { register, handleSubmit, formState } = useForm({}) + const { errors } = formState + const onSubmit = async (data: any) => { + console.log('data: ', data) + } + + return ( +
+
+ + <> + + + + + + + + + + + + +
+
+ ) +} + +export const Default: Story = { + name: 'Default Area', + args: { + label: 'Group item', + index: 0, + }, + render: (args) => { + return + }, +} diff --git a/packages/components/src/form/InputGroup.tsx b/packages/components/src/form/InputGroup.tsx new file mode 100644 index 0000000..73b6c81 --- /dev/null +++ b/packages/components/src/form/InputGroup.tsx @@ -0,0 +1,31 @@ +import clsx from 'clsx' +import React from 'react' +import { XMarkIcon } from '@heroicons/react/24/outline' + +export type InputGroupProps = { + label: string + index: number + children: React.ReactElement + onCloseAction?: (index?: number) => void + className?: string +} + +export const InputGroup = ({ label, index, onCloseAction, className, children }: InputGroupProps) => { + return ( +
+
+ + {label} {index + 1} + +
+
{children}
+
+ ) +} diff --git a/packages/components/src/form/InputLabel.stories.tsx b/packages/components/src/form/InputLabel.stories.tsx new file mode 100644 index 0000000..a632c74 --- /dev/null +++ b/packages/components/src/form/InputLabel.stories.tsx @@ -0,0 +1,71 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { TextInput, TextInputProps } from './TextInput' +import { InputLabel } from './InputLabel' +import { Button } from '../button' + +const meta: Meta = { + title: 'forms/InputLabel', + component: InputLabel, + tags: ['autodocs'], + argTypes: { + label: { + control: 'string', + description: 'The label of the input.', + }, + description: { + control: 'string', + description: 'Subtitle of the input.', + }, + }, +} + +export default meta + +type Story = StoryObj + +const FormWithTextInput = ({ ...props }) => { + const { register, handleSubmit, formState } = useForm({}) + const { errors } = formState + const onSubmit = async (data: any) => { + console.log('data: ', data) + } + + return ( +
+ + + + +
+ ) +} + +export const Default: Story = { + name: 'Default label', + render: () => { + return + }, +} + +export const DefaultLarge: Story = { + name: 'Default large label', + render: () => { + return + }, +} + +export const Description: Story = { + name: 'Label with description', + render: () => { + return + }, +} + +export const DescriptionLarge: Story = { + name: 'Large label with description', + render: () => { + return + }, +} diff --git a/packages/components/src/form/InputLabel.tsx b/packages/components/src/form/InputLabel.tsx new file mode 100644 index 0000000..31ad064 --- /dev/null +++ b/packages/components/src/form/InputLabel.tsx @@ -0,0 +1,39 @@ +import clsx from 'clsx' +import React from 'react' + +export type InputLabelSize = 'small' | 'large' +export type InputLabelProps = { + label: string + children: React.ReactNode + description?: string + required?: boolean + size?: InputLabelSize + className?: string +} + +const labelSizeMap: { [key in InputLabelSize]: string } = { + small: 'ui-text-base', + large: 'ui-text-lg', +} + +const descriptionSizeMap: { [key in InputLabelSize]: string } = { + small: 'ui-text-xs', + large: 'ui-text-sm', +} + +export const InputLabel = ({ + label, + description, + children, + size = 'small', + required = true, + className = '', +}: InputLabelProps) => { + return ( +
+ + {description} + {children} +
+ ) +} diff --git a/packages/components/src/form/TextArea.stories.tsx b/packages/components/src/form/TextArea.stories.tsx new file mode 100644 index 0000000..719adf8 --- /dev/null +++ b/packages/components/src/form/TextArea.stories.tsx @@ -0,0 +1,70 @@ +import React from 'react' +import type { Meta, StoryObj } from '@storybook/react' +import { useForm } from 'react-hook-form' +import { TextArea, TextAreaProps } from './TextArea' +import { Button } from '../button/' + +const meta: Meta = { + title: 'forms/TextArea', + component: TextArea, + tags: ['autodocs'], + argTypes: { + name: { + control: 'string', + description: 'The name of the form field.', + }, + disabled: { + control: 'boolean', + description: 'Whether the Area is disabled.', + }, + }, +} + +export default meta + +type Story = StoryObj + +const FormWithTextArea = ({ ...props }: Omit) => { + const { register, handleSubmit, formState } = useForm({}) + const { errors } = formState + const onSubmit = async (data: any) => { + console.log('data: ', data) + } + + return ( +
+