{"_id":"@cranberry-money/shared-hooks","_rev":"24-7fd4687f2c8a60f7b70acca8a68ae7dc","name":"@cranberry-money/shared-hooks","dist-tags":{"latest":"1.0.41"},"versions":{"1.0.2":{"name":"@cranberry-money/shared-hooks","version":"1.0.2","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.2","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"91c3db53f24635b1e2442c44e13f65f8457ddbf9","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.2.tgz","fileCount":14,"integrity":"sha512-+wPFkrWZIMTWRA7/Pu04XJfBbZ+s8XN4anLEQaMPq1On9/sy8HRiTWdk0icpf7yZ3g//YK+2v0L7jynM81kY8A==","signatures":[{"sig":"MEUCIA0QAg68F8V/UrfZJY+DMUCyLWy2JunmZqc31KyqBZLEAiEAljs2o5Z3NATes66Ci25RDUonzVsCPg8piixm46w5bYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8111a78270983d8233c57fa181893e3efeb2458c","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.2_1755002803409_0.05356807306858302","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cranberry-money/shared-hooks","version":"1.0.3","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.3","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"e31d8831ea9479d6b4c0d164ce19952f2745dacb","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.3.tgz","fileCount":14,"integrity":"sha512-zk2UoiuHDER5zznVEBSMKBW+ygijDKlxYj+cedXLcJtfBkVqoI2DT50/miDZo4TqGYjVcuxi012t/rJ2V9Ttxg==","signatures":[{"sig":"MEQCIHF0KbULUJF50wuU4WjiMNHKvO+zmAwPEiIJw/bXtDA0AiBpKtPLol+K5kZfuczXGYLQ5RQ+aoT2nsgy1NYNXmZxxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a3e550ad63f83a0fdf96873b8d97ccb50e2b00ec","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.3_1755121610981_0.396472227201895","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cranberry-money/shared-hooks","version":"1.0.4","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.4","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"5a8b65d519475efb7f47e9daa4224b84ea965cc5","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.4.tgz","fileCount":14,"integrity":"sha512-WEhLLWlZNFEq4P/li/Ibqy/G9GWR2M+Gpn/1LLxLNrO2ZG7kNK2idcukZtSmwLEI9Iz/EjilIqqpRv1gr1NWyQ==","signatures":[{"sig":"MEYCIQC+WMujDMrQpKsyPNzJ0Q9RZiOzH126DN3C0z2WOOgHgwIhANjIycRgv38RY8TxMSgrcifO1UWKNfycFHo/IJlq1RK8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8b3e1c9344c19f034bc7513034a2c2121e643bd1","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.4_1755168261186_0.33652052779588804","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cranberry-money/shared-hooks","version":"1.0.5","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.5","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"17501474bb02e0b89db039dcdaf203823e375278","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.5.tgz","fileCount":14,"integrity":"sha512-aL/l62ptw8XdkrmoXR2nN2Brw4UTkGOG6Cb/ggrF8RRGbjJ91qQBe7GQRfCrm+pbr0d61oXUitXkiVXIC9XfbQ==","signatures":[{"sig":"MEQCIHjvRDPUEoeqRH6t6hT6Jzph0YJ1QmffNIyEjVmRQu3SAiB4qqXbruuUD9gL/5lljNUxsl6gf5gge8CE8mwdtDszHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2d58c6ad31aa99975fe00d824023ef193c7fb884","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.5_1755179958717_0.7299412424676812","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@cranberry-money/shared-hooks","version":"1.0.6","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.6","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"bbc536d1c1e764b5bf0bc8c94a249be60f92d6f3","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.6.tgz","fileCount":14,"integrity":"sha512-PtBtrNp9hzjECY5CVSsTxI2aeMqOUxzUkKbC02XpQxs97aW9UvvWCjT8QtgySO1v0cWKfwXaQRdRqPnA7misvw==","signatures":[{"sig":"MEQCIFIcFE/8j5uDMUkCe0doGyLfEwmZfxru3AgtIoE+ReKsAiAvlHUnCeMIDum3gmOF0CvU8C+4J4jBbcEPB0TkSTKwAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dbc3752911ad873ea042bcf63f4a0786841ba3fe","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.6_1755494357466_0.8780258597384396","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cranberry-money/shared-hooks","version":"1.0.7","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.7","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"55d14556fa4f16356cf33ed745d435b7f095c7d9","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.7.tgz","fileCount":14,"integrity":"sha512-r05SOkgQ/xyD/1NJ0dniuIpMly8L4jb88s4hDbO7qrY34OHXVum+97vxQnEpK1UJpwZ9bCOrORDF/fLJBdYb/g==","signatures":[{"sig":"MEYCIQCTu+KdelR+DD2+L+s+TfkZDkF8lR7z3krK5aNVXplAogIhAI8tYpt7Tw8uzwLpkYsUFY7HnzB2H21mWbehbzMKMcbp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22797},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"259eb9cbb166a7e829ca89022664a88faf77e90e","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.7_1755610525704_0.25656958824244525","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@cranberry-money/shared-hooks","version":"1.0.8","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.8","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"c0ccbea3c876b71bcee2f080ad94e10d4e302876","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.8.tgz","fileCount":14,"integrity":"sha512-DvWjFsVc7lrHcnWz0Bafc0UYfndNS+UMYRhTNa1qlugnyQeIkoUKibXKHlqxIBGfyNSEh2WcQZ6dNe3+8/3ysA==","signatures":[{"sig":"MEUCIEA6qbun3n87rsPI13Q5vL1zoOPQ7XJQKAS9zAFQjOBpAiEAhnEE5TT/fD5DcU59PjFT+VYNUBddND4FpSgaaCBnpjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22797},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bd5618e62f52a2594f0e43e20dcc5b02d5be6538","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.8_1755612239303_0.13811213311654758","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@cranberry-money/shared-hooks","version":"1.0.21","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.21","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"323a300b23925ac28110ae2e785d66a797e2a436","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.21.tgz","fileCount":14,"integrity":"sha512-x1DhIh6Y2/bMfASB1JIohlveRjTY63hH++7OLvR2bFWMp2WaEGeZ557XhMdSWDLxJNwSKLNGzyURY/Z7pzEU4Q==","signatures":[{"sig":"MEYCIQD35KVdE9Qd3Ele0rqGLnSk0ynJmYhSb5wRVguLamkudwIhAI9qKmyjacIl5rGr2ECVF2NGcnJQ9ePaz015Caw5F1gY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c53e89d9da82a573922d65d27db0668463576408","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.21_1755776790405_0.7696567567385415","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@cranberry-money/shared-hooks","version":"1.0.22","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.22","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"74e9669903d1c2ea32bcf16cfc10909e2ec4f7df","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.22.tgz","fileCount":14,"integrity":"sha512-qtpd/2gIQGYvqPkdzJf2lnRmve6jjvatYL6b4V2vCY8L8mWEYjshH36pA2D/oC1fHpuLQhlR8yoIW+VUyokpDQ==","signatures":[{"sig":"MEUCIQCw50tRCSbYxsQyq5+Z16tvJl8ey4ngF6D8mi5mBeaszAIgDxt7qpkMsxawFdnha87M2dStrJLikq+/vjCmdx9xWjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ea24aff4743c4e1d4fdba74bc0bb641d9cb65164","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.22_1755779397671_0.18586633189004154","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@cranberry-money/shared-hooks","version":"1.0.23","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.23","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"c32d4d635270bdb3391f95fc50b2957a2f5dc014","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.23.tgz","fileCount":14,"integrity":"sha512-r14jOz99pgU2VREmEdDCxMIPC8fLnP+SN2QnbHadDejOFWXMmt8p5qNwHOc0FztcpA4u72ULS4X0bjcnC614OQ==","signatures":[{"sig":"MEUCIQDC9oJ7AQaPFOXwXreP/hdXWHqddAzl7wg3KHiZlZYANwIgKo8pPf6es/N2hbOo1KxEBU2eaiJx3X34W58nlxBF7lM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"291c92c1daf55c15578d9afb7fd9d21236cc71bc","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.23_1755782109391_0.924345414211365","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@cranberry-money/shared-hooks","version":"1.0.24","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.24","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"c89c3456c6e33ee21be46353bab4c447b2638e9f","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.24.tgz","fileCount":14,"integrity":"sha512-tDDOUP+p9B5ljomP1E+PTyVPnbXs6Jy8LiGw7wrCKeoV6ua9tguvhgTbgrwYHfONyGIhumJVK+4fV2ff+mxxJQ==","signatures":[{"sig":"MEYCIQCXh2ImqyC3IyCSsarQlf2qDSAZsbm4rP/Q8a1gA4lf4wIhAMzwLl3MPhl5mvuKKQHSKhQDTW/Feb8wROeXihvo+7dK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4a580a05ab74dc51c0c6c88704371f4e5ddab4ca","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.24_1755782474387_0.612446801391159","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@cranberry-money/shared-hooks","version":"1.0.25","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.25","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"c996982e75c28b32419358f99e2a7ede5a1df076","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.25.tgz","fileCount":14,"integrity":"sha512-Zuxs4uXo9uoHPPx44MCMGxWQ+KegUI/t4BaD0tRMMrgcwijwcRLG+rqj1CL0I00GERDAKA4lN6nhJz+VfuOcvw==","signatures":[{"sig":"MEUCIFDFvnmOLgiF7ybQV5JrDl3uQhcQZaI0CbS/5tcCXnk8AiEA0+5KYcWuraMrSoqrUGig7Xa0dq6t3/ReivtOJ/HLLXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"524b749ab430d9120bcf66db0c5881349f20aa00","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.25_1755782831909_0.1037188242210354","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@cranberry-money/shared-hooks","version":"1.0.27","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.27","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"f16a11f5e4bdc8f8d6cb5c56cb5bb9cf6ba3902f","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.27.tgz","fileCount":14,"integrity":"sha512-fvGyGBcGELwSz0vZRtO1lbcuAPjL7xCDyPsVj7kY56HE27NLAUvWBZT617RpsX8fk3FeYCTXnVFw7z+OmTcgPQ==","signatures":[{"sig":"MEUCIQCpdGznGfJbKu1wuVE5+xF2wmLENTT4OPJTbLo8UA4f3gIgLS7Yv1EjJWpkzE/KOWZeVVM9ncG8uaXaLUHYz1DhSc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ce8f7c65a0fb64d444afeb4db55b5c1f86638dad","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.27_1755789581007_0.9643887230658339","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@cranberry-money/shared-hooks","version":"1.0.28","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.28","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"469f725a81c5750eb052b3f01eac7a0494ed26aa","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.28.tgz","fileCount":14,"integrity":"sha512-Ot72pTWAEcs6/jS6IZazZatjM8Aftp4tbpwsZxdECT2HoFNcOxcNVvh7k2X2PZPv5vqgMpvk6sj508Z01jVSzw==","signatures":[{"sig":"MEUCIQDCUvxoJXcldi7GUiAc/YvGE8YL6ycTF4hkBHbKWVyzJwIgF3DSye7Nf5Qijn2rJmagHgH5GMm+qtg2Y+j8FsTwvZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"eb1654f0fb8e89f75d9c9d2a50937a678149891d","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.28_1755792004762_0.4635706920723137","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"@cranberry-money/shared-hooks","version":"1.0.33","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.33","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"215c9eb933c5aeb4b1d8d85eb38cc277469957b1","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.33.tgz","fileCount":14,"integrity":"sha512-MyseFT0e/ORD1aTFAyliIWtM2CSHU+Mpo5XuV81ti13lCF5cqWLCV8FKShIZYwv/x+V5/jFm/+uF41wmdR0Szw==","signatures":[{"sig":"MEYCIQDzK8l31Ly2pZpUaBOIEtctXlqy9jc13nvNepis2ZUe2wIhAO9sy9LzwGmcfEpXoE37gHGFyrv3zZBHMFXPg0Xr4Sv6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d9f35b79fe61fee9b33618c3298aee56d2225789","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.33_1755794050530_0.5460941904713752","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"@cranberry-money/shared-hooks","version":"1.0.34","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.34","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"3ba8abe54bfe2c9760597d5bb115110b18d2bc68","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.34.tgz","fileCount":14,"integrity":"sha512-G3dQybLMznwJta87nBU8cm8ukCyoziQaNP6tt2GA4VdoR7eD9UGhPIKkiFp5pm/mrgOCaP6I5MbD4KolGzTqKA==","signatures":[{"sig":"MEUCIQChLgXdJE+lo9EFbn3h5aDZf8JlQK8FN7ZjyXVLyr3+sQIgX/ZJo12kQU0PmtZxRDKp3v6mQp+hQDWHuhcA1I1d8lE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d9f35b79fe61fee9b33618c3298aee56d2225789","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.34_1755794416086_0.17081348485028247","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"@cranberry-money/shared-hooks","version":"1.0.35","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.35","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"eae163a19aa7f451202a619a7362fb1c37df6392","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.35.tgz","fileCount":14,"integrity":"sha512-LM2kZ1f+ycPM9TMALWOC0OAl7l+DGlO46SPsS1Z2P8GonAr3HO5+ymdNEzemGIRcjRFnMyhDNo5wkNBkMcsXPQ==","signatures":[{"sig":"MEQCIAJlsgVn33xMGW2557oTAiRwE33o2NeTWqPzBXbtDO7HAiB1ojkLO2qwOAh9b4l4XlboFAEeSgnJcCxRMAXcrnNfzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d9f35b79fe61fee9b33618c3298aee56d2225789","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.35_1755794755413_0.8504566851551743","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"@cranberry-money/shared-hooks","version":"1.0.36","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.36","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"9f38ce5a79b26c9acd00b386dfa95b9b9156b8de","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.36.tgz","fileCount":14,"integrity":"sha512-Uxge0qrmtKhJA0cjtr2R7mu3Q8yUDAbwfv7iEEmiHjyRLziJuXlhOBOfc0KXR6/IJnV7dMeFkxKdtAwDLrrVpg==","signatures":[{"sig":"MEYCIQCtqM10BmjwzxFs7g3NaOrV4T653YEqmkIqgOyquw1mfAIhAL9+wfzyj3v1VYuSjj66k1HSSrIxoM3QYzRz1wFotKsW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d9f35b79fe61fee9b33618c3298aee56d2225789","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.36_1755795017928_0.765871512504297","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"@cranberry-money/shared-hooks","version":"1.0.37","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.37","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"c9593ea533bfe4096fbcb9bc2d5518a586306b9d","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.37.tgz","fileCount":14,"integrity":"sha512-FaTUkxmdw6D7vdOuz4+nobLGtsi0X9XApWuRg7LKrJDqHsX+ACMkvlTS5/Ky8egcbb077orskjKybOOkJXRzmw==","signatures":[{"sig":"MEUCIQDN64lIttjC4F6jbHbCPJ9Q2bpQBZrq7TYRF0aRya3vOQIgc4r7yVHO2m2zoGnNUO46le6EuVbiV1ziG0SQHbXQsQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3c66e2acf61bd46b9d6af680577bd691712970b6","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.37_1755798353915_0.39241086531141134","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"@cranberry-money/shared-hooks","version":"1.0.38","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.38","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"2060c635adefa28e85fdd5dcc5cde2eeaac62b10","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.38.tgz","fileCount":14,"integrity":"sha512-8EYKJyFicHtR002jNkkbcIvBPQviOG1ro/yaCAFMw8jNucsVBhm7SbuQoG+GQ7/LyX9WPPlQFIxLu1taO2JeQw==","signatures":[{"sig":"MEQCIAOmYJqErYz9LphRat/yehiNihseo3COCkndcLV3IOlhAiAGWDpDFxFUrg6ZfKGxhq40DnmLIiEA9POqdE4qKAapvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ea404492f9238704853bc463e8f392562b911900","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.38_1755805949714_0.6081438646640878","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"@cranberry-money/shared-hooks","version":"1.0.39","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.39","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"7704d2dc58e249edcd878bf7c44a0f3a2e6aaf5f","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.39.tgz","fileCount":14,"integrity":"sha512-SSdYpH80cIwwUPxQEnhAAiBhjqjx5TPlgAfpyYvX1pxY/5fv5QG2t5LdLg/VbTpUhWdrAbQgyFDGgFTA4MZl5g==","signatures":[{"sig":"MEYCIQDRvkg4RS7AfdXF2WeGMz6lmwcKtIjHzRb+fK+jWN4D9QIhAJj0BPYU9FAnQDWC2bKR4ER+V5G8vfqsVOxGeEpY5Ewo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"020c7d0464617f11956c5d729ff703fce0141594","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.39_1755812627445_0.7774051798801094","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"@cranberry-money/shared-hooks","version":"1.0.40","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.40","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"5c2c34cf73a2956f9699407e3f48b452131c2fc6","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.40.tgz","fileCount":14,"integrity":"sha512-vmXFM9i0BNRM9e4IJMwL2od6Gr4d5wKYcuBZr7jON+2ifnKKe6ev/vwxx26aYUz64P4Sy1x4vmqyQ+f/1YRCHg==","signatures":[{"sig":"MEUCIQDxR4JL5guIADCrp4dCCZj/fyqz6KaVubo1RC2ncAZ/kgIgGHo4w+YTf6hypYf8GCOuXBNnJJ9Rq/oVt7A/n08nnWc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"020c7d0464617f11956c5d729ff703fce0141594","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.40_1755813481911_0.9054242020840664","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"@cranberry-money/shared-hooks","version":"1.0.41","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"author":{"name":"Blueberry Team"},"license":"MIT","_id":"@cranberry-money/shared-hooks@1.0.41","maintainers":[{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"}],"dist":{"shasum":"7a6c73b09681edf05ddb3e11539f7f794a05c2c7","tarball":"https://registry.npmjs.org/@cranberry-money/shared-hooks/-/shared-hooks-1.0.41.tgz","fileCount":14,"integrity":"sha512-CCSljPf/5TKO2nvkNirb84/ak2Dc6WZVUarK407JrMp8KZErsYPtEvo9cMVMyK6QiDIpbWdyUMjB7RXGetg6iQ==","signatures":[{"sig":"MEYCIQCyuwbFpuvnZhKr7APE/LzYk1yUIQLD/wm8b6kDvf62cQIhAIAzTOmh8q/3IiljQKpQMLlxcQUDoPg5CsUFfWtkZMBS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22798},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6655bc9abe1528f59a686b2d7712c7d7620b80ad","scripts":{"dev":"tsc --watch","lint":"eslint src","build":"tsc --build","clean":"rm -rf dist tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","prepublishOnly":"npm run clean && npm run typecheck && npm run build"},"_npmUser":{"name":"ronildo","email":"ronildo.braga.junior@gmail.com"},"_npmVersion":"11.5.2","description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","directories":{},"_nodeVersion":"22.15.1","dependencies":{"@cranberry-money/shared-types":"^8.21.7","@cranberry-money/shared-utils":"^8.19.7","@cranberry-money/shared-constants":"^8.9.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^19.1.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/shared-hooks_1.0.41_1755838132881_0.6207966611232474","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-08-12T12:46:43.289Z","modified":"2025-11-12T10:07:01.402Z","1.0.2":"2025-08-12T12:46:43.597Z","1.0.3":"2025-08-13T21:46:51.199Z","1.0.4":"2025-08-14T10:44:21.396Z","1.0.5":"2025-08-14T13:59:18.894Z","1.0.6":"2025-08-18T05:19:17.600Z","1.0.7":"2025-08-19T13:35:25.883Z","1.0.8":"2025-08-19T14:03:59.475Z","1.0.21":"2025-08-21T11:46:30.593Z","1.0.22":"2025-08-21T12:29:57.824Z","1.0.23":"2025-08-21T13:15:09.602Z","1.0.24":"2025-08-21T13:21:14.568Z","1.0.25":"2025-08-21T13:27:12.149Z","1.0.27":"2025-08-21T15:19:41.209Z","1.0.28":"2025-08-21T16:00:04.950Z","1.0.33":"2025-08-21T16:34:10.739Z","1.0.34":"2025-08-21T16:40:16.310Z","1.0.35":"2025-08-21T16:45:55.599Z","1.0.36":"2025-08-21T16:50:18.123Z","1.0.37":"2025-08-21T17:45:54.131Z","1.0.38":"2025-08-21T19:52:29.869Z","1.0.39":"2025-08-21T21:43:47.652Z","1.0.40":"2025-08-21T21:58:02.101Z","1.0.41":"2025-08-22T04:48:53.124Z"},"author":{"name":"Blueberry Team"},"license":"MIT","keywords":["hooks","business-logic","react","react-native","shared","reusable"],"description":"Shared business logic hooks for Blueberry platform - reusable across React and React Native","maintainers":[{"email":"alanst32@gmail.com","name":"alanst32"},{"email":"ronildo.braga.junior@gmail.com","name":"blueberry.money"}],"readme":"# @cranberry-money/shared-hooks\n\nShared business logic hooks for the Blueberry platform. These hooks contain all the state management, validation, and business logic that can be reused across React (Blueberry) and React Native (Blackberry) applications.\n\n## Philosophy\n\nThis package follows the principle of **\"shared logic, separate UI\"**:\n\n- ✅ Business logic, validation, and state management live here\n- ❌ UI components stay in their respective projects\n- ✅ Each platform maintains its own look and feel\n- ✅ Maximum code reuse without compromising platform-specific optimizations\n\n## Installation\n\n```bash\nnpm install @cranberry-money/shared-hooks\n```\n\n## Dependencies\n\nThis package has minimal dependencies:\n\n- `@cranberry-money/shared-types` - For TypeScript type definitions\n- `@cranberry-money/shared-constants` - For business constants (optional)\n- `@cranberry-money/shared-utils` - For utility functions (optional)\n\n**Note:** This package does NOT depend on `@cranberry-money/shared-services`. Service functions are passed to hooks via dependency injection, keeping the packages decoupled.\n\n## Usage Examples\n\n### In Blueberry (React Web)\n\n```tsx\n// src/pages/signin/SigninPage.tsx\nimport { useSignin } from '@cranberry-money/shared-hooks';\nimport { useNavigate } from 'react-router-dom';\nimport { signin } from '@cranberry-money/shared-services';\n\nexport const SigninPage = () => {\n  const navigate = useNavigate();\n\n  // Use the shared hook\n  const { form, errors, generalError, isLoading, showPassword, setFieldValue, togglePassword, handleSubmit } =\n    useSignin({\n      onSuccess: () => navigate('/dashboard'),\n    });\n\n  // Handle form submission\n  const onSubmit = (e: React.FormEvent) => {\n    e.preventDefault();\n    handleSubmit(signin);\n  };\n\n  // Render your UI using the hook's state and methods\n  return (\n    <div className=\"signin-container\">\n      <form onSubmit={onSubmit}>\n        {generalError && <div className=\"error-alert\">{generalError}</div>}\n\n        <input\n          type=\"email\"\n          value={form.email}\n          onChange={(e) => setFieldValue('email', e.target.value)}\n          className={errors.email ? 'input-error' : ''}\n        />\n        {errors.email && <span>{errors.email[0]}</span>}\n\n        <input\n          type={showPassword ? 'text' : 'password'}\n          value={form.password}\n          onChange={(e) => setFieldValue('password', e.target.value)}\n        />\n        <button type=\"button\" onClick={togglePassword}>\n          {showPassword ? 'Hide' : 'Show'}\n        </button>\n        {errors.password && <span>{errors.password[0]}</span>}\n\n        <button type=\"submit\" disabled={isLoading}>\n          {isLoading ? 'Signing in...' : 'Sign In'}\n        </button>\n      </form>\n    </div>\n  );\n};\n```\n\n### In Blackberry (React Native)\n\n```tsx\n// src/screens/SignInScreen.tsx\nimport React from 'react';\nimport { View, Text, TextInput, TouchableOpacity, Alert } from 'react-native';\nimport { useSignin } from '@cranberry-money/shared-hooks';\nimport { signin } from '../services/authService';\n\nexport const SignInScreen = ({ navigation }) => {\n  // Use the same shared hook\n  const { form, errors, generalError, isLoading, showPassword, setFieldValue, togglePassword, handleSubmit } =\n    useSignin({\n      onSuccess: () => navigation.navigate('Dashboard'),\n    });\n\n  // Show alert for general errors\n  React.useEffect(() => {\n    if (generalError) {\n      Alert.alert('Sign In Failed', generalError);\n    }\n  }, [generalError]);\n\n  // Render your native UI using the hook's state and methods\n  return (\n    <View style={styles.container}>\n      <TextInput\n        style={[styles.input, errors.email && styles.inputError]}\n        value={form.email}\n        onChangeText={(text) => setFieldValue('email', text)}\n        placeholder=\"Email\"\n        keyboardType=\"email-address\"\n        autoCapitalize=\"none\"\n      />\n      {errors.email && <Text style={styles.error}>{errors.email[0]}</Text>}\n\n      <View style={styles.passwordContainer}>\n        <TextInput\n          style={[styles.input, errors.password && styles.inputError]}\n          value={form.password}\n          onChangeText={(text) => setFieldValue('password', text)}\n          placeholder=\"Password\"\n          secureTextEntry={!showPassword}\n        />\n        <TouchableOpacity onPress={togglePassword}>\n          <Text>{showPassword ? '👁' : '👁‍🗨'}</Text>\n        </TouchableOpacity>\n      </View>\n      {errors.password && <Text style={styles.error}>{errors.password[0]}</Text>}\n\n      <TouchableOpacity\n        style={[styles.button, isLoading && styles.buttonDisabled]}\n        onPress={() => handleSubmit(signin)}\n        disabled={isLoading}\n      >\n        <Text style={styles.buttonText}>{isLoading ? 'Signing in...' : 'Sign In'}</Text>\n      </TouchableOpacity>\n    </View>\n  );\n};\n```\n\n## Available Hooks\n\n### `useSignin`\n\nManages signin form state, validation, and submission.\n\n#### Options\n\n```typescript\ninterface UseSigninOptions {\n  onSuccess?: () => void; // Called after successful signin\n  onError?: (error: unknown) => void; // Called on signin error\n}\n```\n\n#### Returns\n\n```typescript\ninterface UseSigninReturn {\n  form: SigninPayload; // Form data\n  errors: FormErrors; // Field-specific errors\n  generalError: string | null; // General error message\n  isLoading: boolean; // Loading state\n  showPassword: boolean; // Password visibility state\n  setForm: (form: SigninPayload) => void; // Set entire form\n  setFieldValue: (field, value) => void; // Set individual field\n  clearErrors: () => void; // Clear all errors\n  togglePassword: () => void; // Toggle password visibility\n  validateForm: () => boolean; // Validate form manually\n  handleSubmit: (signinFn) => Promise; // Submit form with signin function\n}\n```\n\n## Benefits\n\n1. **Write once, use everywhere**: Business logic is written once and shared\n2. **Platform-appropriate UI**: Each platform maintains its native look and feel\n3. **Consistent behavior**: Same validation, error handling, and state management\n4. **Easy to test**: Pure business logic separated from UI\n5. **Type-safe**: Full TypeScript support\n\n## Adding New Hooks\n\nWhen creating new shared hooks:\n\n1. Create the hook in `src/hooks/`\n2. Export it from `src/hooks/index.ts`\n3. Follow the pattern of returning both state and methods\n4. Keep UI concerns out - only business logic\n5. Make the hook flexible with options/callbacks\n6. Accept service functions as parameters (dependency injection) rather than importing them\n\nExample structure:\n\n```typescript\ninterface UseYourFeatureOptions {\n  onSuccess?: () => void;\n  onError?: (error: unknown) => void;\n}\n\nexport const useYourFeature = (options: UseYourFeatureOptions = {}) => {\n  // State management\n  const [state, setState] = useState();\n\n  // Business logic methods\n  const businessMethod = () => {\n    // Logic here\n  };\n\n  // Method that accepts service function via dependency injection\n  const handleAction = async (serviceFn: (data: any) => Promise<any>) => {\n    try {\n      const result = await serviceFn(state);\n      options.onSuccess?.();\n    } catch (error) {\n      options.onError?.(error);\n    }\n  };\n\n  // Return everything the UI needs\n  return {\n    // State\n    state,\n    // Methods\n    businessMethod,\n    handleAction, // Consumer passes their service function here\n  };\n};\n```\n\n## Migration Guide\n\n### From Blueberry's Current Implementation\n\nBefore (in Blueberry):\n\n```typescript\n// pages/signin/useSigninPage.ts\nexport const useSigninPage = () => {\n  // All logic here\n};\n\n// pages/signin/SigninPage.tsx\nconst { ... } = useSigninPage();\n```\n\nAfter:\n\n```typescript\n// pages/signin/SigninPage.tsx\nimport { useSignin } from '@cranberry-money/shared-hooks';\n\nconst { ... } = useSignin({\n  onSuccess: () => navigate('/dashboard'),\n});\n```\n\n### From Blackberry's Current Implementation\n\nBefore (in Blackberry):\n\n```typescript\n// screens/SignInScreen.tsx\nconst [email, setEmail] = useState('');\nconst [password, setPassword] = useState('');\n// Validation logic inline\n```\n\nAfter:\n\n```typescript\n// screens/SignInScreen.tsx\nimport { useSignin } from '@cranberry-money/shared-hooks';\n\nconst { form, setFieldValue, ... } = useSignin({\n  onSuccess: () => navigation.navigate('Dashboard'),\n});\n```\n\n## Testing\n\nSince hooks are pure business logic, they're easy to test:\n\n```typescript\nimport { renderHook, act } from '@testing-library/react-hooks';\nimport { useSignin } from '@cranberry-money/shared-hooks';\n\ntest('validates email field', () => {\n  const { result } = renderHook(() => useSignin());\n\n  act(() => {\n    result.current.setFieldValue('email', 'invalid');\n    result.current.validateForm();\n  });\n\n  expect(result.current.errors.email).toBeDefined();\n});\n```\n\n## Contributing\n\nWhen adding new hooks, ensure they:\n\n- Contain only business logic (no UI)\n- Are well-typed with TypeScript\n- Include comprehensive JSDoc comments\n- Have corresponding tests\n- Work identically on both platforms\n","readmeFilename":"README.md"}