{"_id":"@360crewing/ui","_rev":"7-448afb5935d41a1ce80e14223a9b894c","name":"@360crewing/ui","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.3":{"name":"@360crewing/ui","version":"0.1.3","license":"MIT","_id":"@360crewing/ui@0.1.3","maintainers":[{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"}],"homepage":"https://dev.360crewing.com","dist":{"shasum":"0d6916328066b441f3eecc2dadd135116964d187","tarball":"https://registry.npmjs.org/@360crewing/ui/-/ui-0.1.3.tgz","fileCount":106,"integrity":"sha512-rbXf0+mCu8+FkAyQKcFz8tdzLVFLxEi1Y4Hohw06/iLXyhPmv2l5WZh/qkq4jnR5gkgWBrKM9aaD1JoCVueK+g==","signatures":[{"sig":"MEUCIQD1gQYqbw2LTsnv+yHY3sYNggJSZVrDyA102QjqqfdqxgIgDsU2asnLzM9LUQbVkMeJsxbDeBi/swBtzzpLHbHzMtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178333},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"aadc0b596ac9d3f1724e0835db7279348092a648","scripts":{"build":"tsc -p tsconfig.build.json && node ./copy-styles.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"},"_npmVersion":"10.9.2","description":"Shared UI primitives for 360crewing host and marketplace extensions.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.15.0","dependencies":{"classnames":"^2.5.1","react-spinners":"^0.17.0","react-loading-skeleton":"^3.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@figma/code-connect":"^1.4.5"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-icons":"^5.0.0","mobx-react-lite":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.3_1780653360275_0.2769101200769568","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@360crewing/ui","version":"0.2.0","license":"MIT","_id":"@360crewing/ui@0.2.0","maintainers":[{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"}],"homepage":"https://dev.360crewing.com","dist":{"shasum":"797c3d1fa76670d6905636d53e99d558ed77ba8f","tarball":"https://registry.npmjs.org/@360crewing/ui/-/ui-0.2.0.tgz","fileCount":114,"integrity":"sha512-GEiv3UqkkyDouC9PEVtYcrR/vcuG6InhIwHp/GV+YDiaJkFskUhFGFhHG+lJIATMjqQLNLzeW2pXMgUJfBKojg==","signatures":[{"sig":"MEUCIQDDvubfBOlJdZOBlBRFspGDHOKiElAIlG4HsYyxqpcVxgIgVwZs93H89nyg/8lQ5sxXx1vFxSH5VTn4SAu4KBTeta4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186978},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"gitHead":"6500737b6d54625292ebea89c5c39d4ffe12d843","scripts":{"build":"tsc -p tsconfig.build.json && node ./copy-styles.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"},"_npmVersion":"10.9.2","description":"Shared UI primitives for 360crewing host and marketplace extensions.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.15.0","dependencies":{"classnames":"^2.5.1","react-spinners":"^0.17.0","react-loading-skeleton":"^3.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@figma/code-connect":"^1.4.5"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-icons":"^5.0.0","mobx-react-lite":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.2.0_1785429924386_0.651380629159382","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@360crewing/ui","version":"0.3.0","description":"Shared UI primitives for 360crewing host and marketplace extensions.","license":"MIT","homepage":"https://dev.360crewing.com","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./styles.css":"./dist/styles.css","./package.json":"./package.json"},"sideEffects":["*.css"],"scripts":{"build":"tsc -p tsconfig.build.json && node ./copy-styles.mjs","prepublishOnly":"npm run build"},"peerDependencies":{"mobx-react-lite":"^4.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-icons":"^5.0.0"},"dependencies":{"classnames":"^2.5.1","moment":"^2.30.1","react-date-range":"^1.4.0","react-imask":"^7.6.1","react-loading-skeleton":"^3.5.0","react-spinners":"^0.17.0"},"devDependencies":{"@figma/code-connect":"^1.4.5"},"_id":"@360crewing/ui@0.3.0","gitHead":"696e23ca999b479366c255ae290d56243a62d24d","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-TB/hM/lVh8fbl2JSpCM8c5O6YjXkUqmmp2rLvuc2Z9ozapFpVlj2K66Zeeg83DY4y/cccYKD/V2TdgmIyMie3g==","shasum":"8a917ab4c9ee750d65a34d87646279a2b3f63797","tarball":"https://registry.npmjs.org/@360crewing/ui/-/ui-0.3.0.tgz","fileCount":120,"unpackedSize":224389,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH4QVGecEhGFB5933O9gFD4BjeMqxvy8OlHQV/SmszRSAiEA5uLDW1NTEX6wfdFZOuesGMgbjNZeqNUtkgr0VNYCZH0="}]},"_npmUser":{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"},"directories":{},"maintainers":[{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.3.0_1788361762435_0.5807448729819127"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-05T09:16:41.195Z","modified":"2026-09-02T15:09:22.905Z","0.1.0":"2026-06-05T09:16:41.569Z","0.1.2":"2026-06-05T09:40:53.319Z","0.1.3":"2026-06-05T09:56:00.386Z","0.2.0":"2026-07-30T16:45:24.531Z","0.3.0":"2026-09-02T15:09:22.578Z"},"license":"MIT","homepage":"https://dev.360crewing.com","description":"Shared UI primitives for 360crewing host and marketplace extensions.","maintainers":[{"name":"crowdedfuzzball","email":"lukin.dmitriy@gmail.com"}],"readme":"# @360crewing/ui\n\nPure visual UI primitives for the 360crewing platform. Used by the host\n(`tenant-frontend`) and by marketplace extensions (via\n`@360crewing/marketplace-sdk`, which re-exports this package).\n\n## Principles\n\n- **Presentational components only.** No global state, managers, axios, or\n  MobX stores. Everything is driven through props.\n- **No import-time side effects.** Importing CSS is the only exception.\n- **Imperative platform services (Modal, Toast, Confirmation, Form) are NOT\n  here.** They live in the host as services; extensions reach them only through\n  SDK hooks (`useModal`, `useNotify`, `useConfirm`, `useForm`).\n\n## What's included\n\n**Forms & inputs:** `Button`, `TextField`, `TextareaField`, `CheckboxField`,\n`ToggleField`, `DropdownButton`, `FormActionButtons`.\n\n**Layout & presentation:** `Card`, `Page`, `LayoutBlock`, `ShadowedBlock`,\n`Delimeter`, `InformationPanel`, `DetailItem`, `Badge` (+ `BadgeWithDot`),\n`Icon`.\n\n**State & navigation:** `ContentLoader`, `SkeletonLoader`, `CollapsibleFields`,\n`Pagination`.\n\n## i18n-aware components\n\n`Pagination`, `CollapsibleFields`, and `FormActionButtons` accept their text\nlabels as props with English defaults. The host wraps them in thin i18n\nadapters that call `useTranslation()` and pass localized strings down.\nExtensions inject their own `useI18n()` from the SDK when using these\nprimitives directly.\n\n## Styles\n\nImport the stylesheet once at the host entry point:\n\n```ts\nimport \"@360crewing/ui/styles.css\";\n```\n\n## Peer dependencies\n\n`react`, `react-dom`, `mobx-react-lite`, `react-icons` — provided by the host.\n","readmeFilename":"README.md"}