{"_id":"@candiesocean/craftui","_rev":"7-96dbe8c5d1ba9b10c91d44b87aa79553","name":"@candiesocean/craftui","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@candiesocean/craftui","version":"0.1.0","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.1.0","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"f5683970fbdf477006950a2e69cf36ba8d99b109","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.1.0.tgz","fileCount":45,"integrity":"sha512-8nMI1DPiyzsGcW6LIb+Y/HItX+N5RIZQ0AyR5G0t5OKJ7v8YRZgy7heVleZSDnCmCWdktRQ8L1V6JNskF9tULg==","signatures":[{"sig":"MEUCIQDm6F+WQdF10NFwltNLb0B8hBg1gHqclgXg39SOIQIACwIgDgxOGicsHH7u+lchMSxAUb8AsJVH6smeeRfnMO/14tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125540},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.1.0_1773742166063_0.31054555411484097","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.1.1":{"name":"@candiesocean/craftui","version":"0.1.1","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.1.1","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"25565c6d87697ca2391623767b11bf39fd5fe83c","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.1.1.tgz","fileCount":45,"integrity":"sha512-1clKb054PeGK6U0fHVZzHznE8Q4BM/p0f8DI7fbBd6xpDxo4SAEoG1eQBLyrFpfzVh3rNMProfz1JfhlodudhQ==","signatures":[{"sig":"MEQCICZOzvsFZfx9uZY3gFtrWilPAUaUQMGhCINYAutOKBsgAiA/aRRYfXe4Aq9AIVHYt7WP6Q7iU68rHbPTHL5olhJUCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125532},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.1.1_1773742258174_0.8332553682182489","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.1.2":{"name":"@candiesocean/craftui","version":"0.1.2","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.1.2","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"cc752c493faa4aedda6b2484b2b9c9fe34f8c6a5","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.1.2.tgz","fileCount":45,"integrity":"sha512-EPtbxDAQWkZaydbRqt3kECqtuPz49DOydSpsSUlKmFqvRW6jQlXt0lrkf7vs+fJqdzeOZjV7cUd2KJzM+ZHR2Q==","signatures":[{"sig":"MEQCIE4EgjqHMEI83pqbvsvZXOhPUejy2AvQlrfjv6E/E8PUAiB26o0yHDZucxl131l4jkAmFL3YfjjkasMEjK3S37XNvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125550},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.1.2_1773742391036_0.02568369419667249","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.2.0":{"name":"@candiesocean/craftui","version":"0.2.0","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.2.0","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"2bdf96e376f71575271a91af363818f3497c781c","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.2.0.tgz","fileCount":50,"integrity":"sha512-mpWMi6dVYKd/P7/Ww9Rrw/iOeIKgymo/oQdasL4RMpBFLxTATUlQ+edxnLwg9OdHJIHOQQIz52BvveqAKlXrbA==","signatures":[{"sig":"MEUCIGo9bBIHfZyAywS8p+cBJUFj78oz485YqMSMPm17kef1AiEAthqz2a/wgsXPCRblUpxiooPzk+2Ed+FNvQsdrMreXus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152518},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"11.6.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.2.0_1786274840785_0.3548005309230289","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.2.1":{"name":"@candiesocean/craftui","version":"0.2.1","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.2.1","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"f0cebf4bdb93ce606b83614d70c3632c670a7586","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.2.1.tgz","fileCount":50,"integrity":"sha512-BLSsbjcy/c2NC3rtqlS6cuh1ydZIHlVg2IBn9XqtBWQrYOw7PJe7ZdtOOhsL9PXUgD7R2O3NPvF5YGTliToU7w==","signatures":[{"sig":"MEYCIQCEva6WBc+XqyyXiifyaVE/Wa1R+KXCqdV/WcSPFTOCvwIhAJvivkRksSZ8rfszG7a8uBMiTpV7eFbsQUul0ETFY56R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152342},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"11.6.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.2.1_1786275492550_0.05374279095754897","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.2.2":{"name":"@candiesocean/craftui","version":"0.2.2","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","_id":"@candiesocean/craftui@0.2.2","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"dist":{"shasum":"0de2b489b1f45716c30fc023e4f7c1b323ae603c","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.2.2.tgz","fileCount":50,"integrity":"sha512-Bw3Tx1o7nvHJTzZhJbk1omxXGDx46sMW2jxMEkFE8G4ZySE2gb8iS+gXKXtGAa8pW66vRM/kNq+cpJcX6GkTNQ==","signatures":[{"sig":"MEUCIQC5g1rioj5HKIAhTq6qlaz17zY3T7TGU+qshM33sXnsYgIgfD0flE44HB+Wp/44/c1WWnO/fXsOPer1loIoZtqTxwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152422},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js","react-native":"./src/index.tsx"},"./package.json":"./package.json"},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","scripts":{"lint":"eslint \"**/*.{js,ts,tsx}\"","build":"bob build","clean":"del-cli lib","example":"yarn workspace craftui-example","prepare":"bob build","typecheck":"tsc","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"workspaces":["example"],"_npmVersion":"11.6.2","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"react-native":"./src/index.tsx","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"expo":"^55.0.0","react":"19.2.0","turbo":"^2.5.6","eslint":"^9.35.0","del-cli":"^6.0.0","pressto":"^0.6.1","uniwind":"^1.3.1","prettier":"^2.8.8","@eslint/js":"^9.35.0","expo-image":"~55.0.5","typescript":"^5.9.2","@babel/core":"^7.26.10","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","@types/react":"^19.1.12","react-native":"0.83.2","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","react-native-worklets":"0.7.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","react-native-reanimated":"~4.2.1","react-native-builder-bob":"^0.40.18","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","react-native-gesture-handler":"~2.30.0"},"peerDependencies":{"expo":">=55.0.0","react":">=19.0.0","pressto":">=0.6.0","uniwind":">=1.3.0","expo-image":">=55.0.0","rn-squircle":">=1.2.0","react-native":">=0.81.0","react-native-worklets":">=0.7.0","react-native-reanimated":">=4.2.0","react-native-gesture-handler":">=2.30.0"},"_npmOperationalInternal":{"tmp":"tmp/craftui_0.2.2_1786284658532_0.072246523792314","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]}},"0.2.3":{"name":"@candiesocean/craftui","version":"0.2.3","description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","main":"./lib/module/index.js","react-native":"./src/index.tsx","types":"./lib/typescript/src/index.d.ts","sideEffects":false,"exports":{".":{"react-native":"./src/index.tsx","source":"./src/index.tsx","types":"./lib/typescript/src/index.d.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"scripts":{"example":"yarn workspace craftui-example","build":"bob build","clean":"del-cli lib","prepare":"bob build","pack:check":"npm pack --dry-run","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\""},"keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","publishConfig":{"registry":"https://registry.npmjs.org/"},"devDependencies":{"@babel/core":"^7.26.10","@eslint/compat":"^1.3.2","@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.35.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@types/react":"^19.1.12","del-cli":"^6.0.0","eslint":"^9.35.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","expo":"^55.0.0","expo-image":"~55.0.5","pressto":"^0.6.1","prettier":"^2.8.8","react":"19.2.0","react-native":"0.83.2","react-native-builder-bob":"^0.40.18","react-native-gesture-handler":"~2.30.0","react-native-reanimated":"~4.2.1","react-native-worklets":"0.7.2","rn-squircle":"^1.2.4","tailwindcss":"^4.0.0","turbo":"^2.5.6","typescript":"^5.9.2","uniwind":"^1.3.1"},"dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","tailwind-variants":"^3.2.2"},"peerDependencies":{"expo":">=55.0.0","expo-image":">=55.0.0","pressto":">=0.6.0","react":">=19.0.0","react-native":">=0.81.0","react-native-gesture-handler":">=2.30.0","react-native-reanimated":">=4.2.0","react-native-worklets":">=0.7.0","rn-squircle":">=1.2.0","uniwind":">=1.3.0"},"workspaces":["example"],"packageManager":"yarn@4.11.0","react-native-builder-bob":{"source":"src","output":"lib","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"gitHead":"fc7678db510e0850ceeb3519b9525534bc27dbb9","_id":"@candiesocean/craftui@0.2.3","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-mN+OpEgMC/Tybr0XNj99zVJD5kJZekzlVzvNnFjaXH4fZIaO0u92EtZvanPwHqHpRymI8JuB5fZQ3xMYtByAfg==","shasum":"f2ea18087fa4a2a417632902d51d5de07e3e7b95","tarball":"https://registry.npmjs.org/@candiesocean/craftui/-/craftui-0.2.3.tgz","fileCount":50,"unpackedSize":152195,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDPmt/GA61j66aq5Se9puVPso4AL9bHTNJAjbAWl2KXLQIhALk5FzukpYYr6oioaWwSMPUdeWdRmt9mgbPxIo7qOMi/"}]},"_npmUser":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"directories":{},"maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/craftui_0.2.3_1786284849904_0.6478841995982301"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-17T10:09:25.999Z","modified":"2026-08-09T14:14:10.195Z","0.1.0":"2026-03-17T10:09:26.239Z","0.1.1":"2026-03-17T10:10:58.316Z","0.1.2":"2026-03-17T10:13:11.256Z","0.2.0":"2026-08-09T11:27:20.925Z","0.2.1":"2026-08-09T11:38:12.701Z","0.2.2":"2026-08-09T14:10:58.664Z","0.2.3":"2026-08-09T14:14:10.045Z"},"author":{"name":"candiesocean","email":"candiesoocean@gmail.com"},"license":"MIT","keywords":["react-native","expo","ui","design-system","uniwind","rn-squircle","pressto"],"description":"Minimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle","maintainers":[{"name":"candiesocean","email":"candiesoocean@gmail.com"}],"readme":"# craftui\n\nMinimal React Native UI primitives for Expo apps using Uniwind, Pressto, and rn-squircle.\n\n## Installation\n\n```sh\nbun expo install @candiesocean/craftui\n```\n\nInstall the required peer dependencies in the host app as well:\n\n```sh\nbun expo install expo expo-image pressto rn-squircle uniwind react-native-gesture-handler react-native-reanimated react-native-worklets\n```\n\n## Usage\n\n```tsx\nimport {\n  Button,\n  IconButton,\n  Pressable,\n  Squircle,\n  Text,\n  useIconButtonTintColor,\n} from '@candiesocean/craftui';\n\n<Squircle borderRadius={24} className=\"bg-card p-6\">\n  <Text variant=\"title\">Hello</Text>\n  <Button label=\"Continue\" />\n  <Button\n    label=\"Book\"\n    leadingAccessory={<YourIcon name=\"check\" size={20} color=\"#fff\" />}\n  />\n</Squircle>;\n\nfunction NotifyBell({ onPress }: { onPress: () => void }) {\n  const tint = useIconButtonTintColor('ghost');\n\n  return (\n    <IconButton variant=\"ghost\" onPress={onPress}>\n      <YourIcon name=\"bell\" size={22} color={tint} />\n    </IconButton>\n  );\n}\n```\n\n### Button primitives\n\n| Component | Role |\n|-----------|------|\n| `Pressable` | Scale-on-press hit target (`pressto`). Child owns shape/layout. |\n| `Button` | Labeled CTA — variants, sizes, loading, accessories. |\n| `IconButton` | Icon-only action on `rn-squircle` `SquircleButton`. |\n| `Squircle` / `SquircleButton` | Continuous-corner view / pressable from `rn-squircle`. |\n\n`Button` variants: `primary` | `secondary` | `outline` | `ghost` | `destructive` | `destructive-light`  \n`Button` sizes: `sm` | `default` | `lg` | `icon`  \n`IconButton` variants: `default` | `filled` | `ghost`\n\nCompose navigation chrome (e.g. back) in the host with `IconButton` + your router — craftui stays router-free.\n\n## Notes\n\n- `craftui` is provider-free. It reads your Uniwind theme from CSS variables.\n- The host app should define the color tokens used by the library, such as `--color-primary`, `--color-foreground`, and `--color-border`.\n- Icons stay app-owned. Pass them through `leadingAccessory` / `trailingAccessory` on `Button`, or as `children` on `IconButton`.\n- Use `useButtonForegroundColor` / `useIconButtonTintColor` when a native icon needs a runtime color.\n- Keep token names semantic so different apps can skin the same components without changing library code.\n\n## Contributing\n\n- [Development workflow](CONTRIBUTING.md#development-workflow)\n- [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)\n- [Code of conduct](CODE_OF_CONDUCT.md)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}