{"_id":"@danalazar/metro-ui","_rev":"4-3091a386442d49c39474de9ba4eec000","name":"@danalazar/metro-ui","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@danalazar/metro-ui","version":"0.0.1","_id":"@danalazar/metro-ui@0.0.1","maintainers":[{"name":"danalazar","email":"magda.d.lazar@gmail.com"}],"dist":{"shasum":"2ed7a7a1e3468348bbcf7feadc8f0f6bd9959cad","tarball":"https://registry.npmjs.org/@danalazar/metro-ui/-/metro-ui-0.0.1.tgz","fileCount":8,"integrity":"sha512-2ncP2225ISCtLXN+ZoEexUkAgQH8Ga9J3fbd65B8DLf/BeI0HZMlIpmWtjC4CtR6QoUEp4iglX9ZUjXMOXfRGg==","signatures":[{"sig":"MEUCICTNOk93/f7qEc3U46f6Uw6Bza7V+GCHBIrKSB4BLudKAiEA1IxnzIJ3lMle6RDypncco72d7OFVCrffUKgTWQdcpCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2032},"main":"dist/main.js","type":"module","types":"dist/main.d.ts","gitHead":"507e0eae86a9630b9549643e4f24c88ca4ad4721","scripts":{"dev":"vite","lint":"eslint .","build":"tsc -b && vite build","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build"},"_npmUser":{"name":"danalazar","email":"magda.d.lazar@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","sass":"^1.98.0","vite":"^8.0.1","react":"^19.2.4","eslint":"^9.39.4","vitest":"^4.1.0","globals":"^17.4.0","react-dom":"^19.2.4","storybook":"^10.3.1","@eslint/js":"^9.39.4","playwright":"^1.58.2","typescript":"~5.9.3","@types/node":"^24.12.0","@types/react":"^19.2.14","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.3","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.1.0","@vitejs/plugin-react":"^6.0.1","@storybook/addon-a11y":"^10.3.1","@storybook/addon-docs":"^10.3.1","@storybook/react-vite":"^10.3.1","@storybook/addon-vitest":"^10.3.1","eslint-plugin-storybook":"^10.3.1","@chromatic-com/storybook":"^5.0.2","eslint-plugin-react-hooks":"^7.0.1","@vitest/browser-playwright":"^4.1.0","vite-plugin-lib-inject-css":"^2.2.2","@storybook/addon-onboarding":"^10.3.1","eslint-plugin-react-refresh":"^0.5.2"},"peerDependencies":{"react":"^19.2.4","react-dom":"^19.2.4"},"_npmOperationalInternal":{"tmp":"tmp/metro-ui_0.0.1_1774006059632_0.8988131721168906","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@danalazar/metro-ui","version":"0.0.2","_id":"@danalazar/metro-ui@0.0.2","maintainers":[{"name":"danalazar","email":"magda.d.lazar@gmail.com"}],"dist":{"shasum":"58d56869e9cc50e924b51807dc523a618f2d386f","tarball":"https://registry.npmjs.org/@danalazar/metro-ui/-/metro-ui-0.0.2.tgz","fileCount":10,"integrity":"sha512-FDa8swP7vqV6swbzjZ9C3cviFq9wO5nm3pEazrf1TQ9dyCSDq4aUf272P0BWc5lfTrhlliRjdELcvAo17dhIEg==","signatures":[{"sig":"MEUCIDUVp9dTHkEpTteaJE59TFWNUK/2cRJ3On9x3lsbWOnxAiEA81OYBDch23NBKcs6HGiyjs9/Avi0+7f4f0K1eIwdX1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2991},"main":"dist/main.js","type":"module","types":"dist/main.d.ts","gitHead":"507e0eae86a9630b9549643e4f24c88ca4ad4721","scripts":{"dev":"vite","lint":"eslint .","build":"tsc -b && vite build","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build"},"_npmUser":{"name":"danalazar","email":"magda.d.lazar@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","sass":"^1.98.0","vite":"^8.0.1","react":"^19.2.4","eslint":"^9.39.4","vitest":"^4.1.0","globals":"^17.4.0","react-dom":"^19.2.4","storybook":"^10.3.1","@eslint/js":"^9.39.4","playwright":"^1.58.2","typescript":"~5.9.3","@types/node":"^24.12.0","@types/react":"^19.2.14","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.3","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.1.0","@vitejs/plugin-react":"^6.0.1","@storybook/addon-a11y":"^10.3.1","@storybook/addon-docs":"^10.3.1","@storybook/react-vite":"^10.3.1","@storybook/addon-vitest":"^10.3.1","eslint-plugin-storybook":"^10.3.1","@chromatic-com/storybook":"^5.0.2","eslint-plugin-react-hooks":"^7.0.1","@vitest/browser-playwright":"^4.1.0","vite-plugin-lib-inject-css":"^2.2.2","@storybook/addon-onboarding":"^10.3.1","eslint-plugin-react-refresh":"^0.5.2"},"peerDependencies":{"react":"^19.2.4","react-dom":"^19.2.4"},"_npmOperationalInternal":{"tmp":"tmp/metro-ui_0.0.2_1774011677435_0.7856028251458893","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@danalazar/metro-ui","version":"0.0.3","_id":"@danalazar/metro-ui@0.0.3","maintainers":[{"name":"danalazar","email":"magda.d.lazar@gmail.com"}],"dist":{"shasum":"d437cffda832c026722412923be912aa8e99792a","tarball":"https://registry.npmjs.org/@danalazar/metro-ui/-/metro-ui-0.0.3.tgz","fileCount":70,"integrity":"sha512-17sd8mrE3EUN2EP0YuVRUOHnq7incD3yNsTAabuxRFJ+9WTqWSBAeorMTM06kYWYGEWs8RE5lB6frKnVzZyTPA==","signatures":[{"sig":"MEYCIQC/d55jXdMnLFoCIqaB/CceiA3VQu3H8KoCSTcea5N6CQIhAL8zvi37kE7B6+galQ4J5GBb5zqWfjd4+LgdS/YtEChM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1404448},"main":"dist/main.js","type":"module","types":"dist/main.d.ts","gitHead":"3f8ef17ffb10f6388570e7935daafa7b62e83fac","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","format":"prettier . --write","preview":"vite preview","test:ui":"vitest --ui","lint:fix":"eslint . --fix","prebuild":"npm run lint && npm run format:check && npm run typecheck && npm run test","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","test:watch":"vitest","format:check":"prettier . --check","test:coverage":"vitest run --coverage","build-storybook":"storybook build"},"_npmUser":{"name":"danalazar","email":"magda.d.lazar@gmail.com"},"_npmVersion":"10.9.2","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","sass":"^1.98.0","vite":"^8.0.1","husky":"^9.1.7","jsdom":"^29.0.1","react":"^19.2.4","eslint":"^9.39.4","vitest":"^4.1.0","globals":"^17.4.0","prettier":"^3.8.1","react-dom":"^19.2.4","storybook":"^10.3.1","@eslint/js":"^9.39.4","@vitest/ui":"^4.1.0","typescript":"~5.9.3","@types/node":"^24.12.0","lint-staged":"^16.4.0","@types/react":"^19.2.14","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.3","typescript-eslint":"^8.57.0","@vitejs/plugin-react":"^6.0.1","@storybook/addon-a11y":"^10.3.1","@storybook/addon-docs":"^10.3.1","@storybook/react-vite":"^10.3.1","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","eslint-plugin-storybook":"^10.3.1","@chromatic-com/storybook":"^5.0.2","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","vite-plugin-lib-inject-css":"^2.2.2","@storybook/addon-onboarding":"^10.3.1","@testing-library/user-event":"^14.6.1","eslint-plugin-react-refresh":"^0.5.2"},"peerDependencies":{"react":"^19.2.4","react-dom":"^19.2.4"},"_npmOperationalInternal":{"tmp":"tmp/metro-ui_0.0.3_1774510166740_0.2308061398974559","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@danalazar/metro-ui","version":"0.0.4","type":"module","main":"dist/main.js","types":"dist/main.d.ts","scripts":{"dev":"vite","build":"tsc -b && vite build","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:coverage":"vitest run --coverage","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier . --write","format:check":"prettier . --check","typecheck":"tsc --noEmit","prebuild":"npm run lint && npm run format:check && npm run typecheck && npm run test","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build","prepare":"husky install"},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"]},"peerDependencies":{"react":"^19.2.4","react-dom":"^19.2.4"},"devDependencies":{"@chromatic-com/storybook":"^5.0.2","@eslint/js":"^9.39.4","@storybook/addon-a11y":"^10.3.1","@storybook/addon-docs":"^10.3.1","@storybook/addon-onboarding":"^10.3.1","@storybook/react-vite":"^10.3.1","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/node":"^24.12.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1","@vitest/ui":"^4.1.0","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2","eslint-plugin-storybook":"^10.3.1","glob":"^13.0.6","globals":"^17.4.0","husky":"^8.0.0","jsdom":"^29.0.1","lint-staged":"^16.4.0","prettier":"^3.8.1","react":"^19.2.4","react-dom":"^19.2.4","sass":"^1.98.0","storybook":"^10.3.1","typescript":"~5.9.3","typescript-eslint":"^8.57.0","vite":"^8.0.1","vite-plugin-dts":"^4.5.4","vite-plugin-lib-inject-css":"^2.2.2","vitest":"^4.1.0"},"dependencies":{"clsx":"^2.1.1"},"_id":"@danalazar/metro-ui@0.0.4","gitHead":"5437523bef20365990e852dfdbf3cd40c8e24b80","description":"## Descriere","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-LkzDSQ8nsMButW9ePMvw5+Sj3b7GFU7E6lfc2bjOhevrF19Q+QdSabPguv0aoAftkN/MGaSlIZdNK1/TTeTYzQ==","shasum":"b0c94bbc3f5b3773e1107f65c446dc424ed79cd4","tarball":"https://registry.npmjs.org/@danalazar/metro-ui/-/metro-ui-0.0.4.tgz","fileCount":39,"unpackedSize":213379,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCHcXeRRPecDJTThksiZenn8g/OLMhsBoGG1cnuXuICWgIga9/iCZG0mA+HTvmvu9C5T0GjbYMMbwYg+pH9mkiFlhc="}]},"_npmUser":{"name":"danalazar","email":"magda.d.lazar@gmail.com"},"directories":{},"maintainers":[{"name":"danalazar","email":"magda.d.lazar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/metro-ui_0.0.4_1774940098358_0.09381688553196388"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T11:27:39.561Z","modified":"2026-03-31T06:54:58.639Z","0.0.1":"2026-03-20T11:27:39.766Z","0.0.2":"2026-03-20T13:01:17.576Z","0.0.3":"2026-03-26T07:29:26.929Z","0.0.4":"2026-03-31T06:54:58.524Z"},"maintainers":[{"name":"danalazar","email":"magda.d.lazar@gmail.com"}],"readme":"# Metro UI Library\n\n## Descriere\n\n`metro-ui` este o librărie de componente React reutilizabile, construită cu TypeScript și SASS modules. Librăria oferă componente UI modulare, tipate și gata de folosit în orice aplicație React.\n\nComponente incluse în prezent in metro-calc:\n\n- `Button` – suportă variante, dimensiuni, states (disabled, loading)\n- `Input` – suportă variante, dimensiuni, states (disabled)\n- `Modal` – generic, utilizabil pentru conținut custom\n- `Keypad` – tastatură numerică + operații\n- Alte componente: Select, InputWithActions, Form Field, Spinner\n\nScop: oferirea unui set de componente reutilizabile pentru aplicații multiple.\n\n---\n\n## Instalare\n\n```\ngit clone https://github.com/DanaLazar/metro-ui.git\ncd metro-ui\nnpm install\nnpm run storybook\n\n## Decizii arhitecturale\n- TypeScript pentru tipare stricte și siguranță în folosirea componentelor\n- SASS modules pentru styling customizabil și consistent\n- Stories cu Storybook pentru vizualizare și test manual\n- Componente independente, fără dependențe inutile\n- States suportate: disabled, loading, error (unde este relevant)\n```\n","readmeFilename":"README.md","description":"## Descriere"}