{"_id":"@asianpersonn/time-id","_rev":"1-483538e7fe5fe85b18650de6c524a94c","name":"@asianpersonn/time-id","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@asianpersonn/time-id","version":"1.0.1","description":"Creates unique ids from the current time and a counter, up to a certain precision, compressed via base conversion","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"npm run build && npx jest","build":"tsc -p tsconfig-build.json","build:commit":"npm run commit -- \"New build\"","patch":"npm version patch","commit":"git add . && git commit -m ","push":"git push origin main","pub":"run-s -c build \"commit -- %npm_config_m%\" patch push pub:npm","pub:npm":"npm publish --access public"},"author":"","license":"ISC","devDependencies":{"@types/jest":"^27.0.3","jest":"^27.4.5","npm-run-all":"^4.1.5","ts-jest":"^27.1.1","typescript":"^4.5.4"},"keywords":["id","time","timestamp","counter","uuid","milli","millisecond","nano","nanosecond","micro","microsecond"],"gitHead":"67a428588b290d90a2e0183f0b4472b86d382d7d","_id":"@asianpersonn/time-id@1.0.1","_nodeVersion":"16.13.2","_npmVersion":"9.5.1","dist":{"integrity":"sha512-uk3rN5dOVaYc/JbIfc/4N82CsQRudQ2x1BTS9SooMnZpH/TiHdVDMQeGgyaUfgVKrmm1Qpzw/YsLbgeuWEtjgA==","shasum":"50a263b73db267a126c9d5803fde0682fe6f4002","tarball":"https://registry.npmjs.org/@asianpersonn/time-id/-/time-id-1.0.1.tgz","fileCount":13,"unpackedSize":9824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpP8jOJviqVOw5uul2yTASG98O2wAuoHHdtc+kZjEDkAiA+jfBwqUUTCvugxV0T5ylz5byBvc5PfJAcmDsLyst6dQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/YdQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJOw//VQxKZwSySkFjhmvAk6tbnySBrMng7piw1cfJLwAVKt20f2Fa\r\nNg3OxSXSPALSUyOkz+CPtKBCfXtlQgdfsLF5LWLIoDq7ASAzmk5/IOZ0ARcK\r\nBRYW6feuBhH+fRdctK5E+G0InA/QajnfPOyy6tinQMKjShklVUSTqSmpaLjs\r\n7gf5cj4Ot5/zeWliuVMYYtinV9ptMuY5sRFFo/e3XEUlSpgpM13//VQ62Xx/\r\n9FoJIfmMu8W+uwrryVOFR5xIb/Ls//xgpK+DLSd8m6B3XTxCqnGSM2KoE8Os\r\nivHeyeN0hx6m3SZQZmvYkdT9xkaL58tGn0GrG0Yn7dtarMUAVvcgjQXrskaq\r\nAtHMjsOk9WdrjwygyJOK0fQxjYKRlYndJFn2PoXHdU/SoU8qBltxkzzBanqq\r\nRQAOER/l32X0AWbdyb/nSkKazurBfrRNrRvCdjf2ZjSvf/mENXyWCTO5Cz3f\r\n5vNXrUJ8zLm7ZNuN5lXldd067hxjR5onGmmB4nkf1s21unk9Q9WpK7uB6MDl\r\nCWY4YgFTXaYXJaElqtNRuoYDJxtBj5P/LDGQj4aC3AQyQSL+6swr8v0z0msq\r\nhLk13x7Z6xQyXyEh44aVZJ48AQn3hxDZaOrP2UMjmLwBP51lAH5FCrWxRxve\r\nTR4/pNha7gPi06wFaxmwqZ0Zs7+/91Sx5Ys=\r\n=CcA6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"asianpersonn","email":"DanielKRing1@gmail.com"},"directories":{},"maintainers":[{"name":"asianpersonn","email":"DanielKRing1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/time-id_1.0.1_1677559632430_0.4367125418606048"},"_hasShrinkwrap":false},"1.0.2":{"name":"@asianpersonn/time-id","version":"1.0.2","description":"Creates unique ids from the current time and a counter, up to a certain precision, compressed via base conversion","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"npm run build && npx jest","build":"tsc -p tsconfig-build.json","build:commit":"npm run commit -- \"New build\"","patch":"npm version patch","commit":"git add . && git commit -m ","push":"git push origin main","pub":"run-s -c build \"commit -- %npm_config_m%\" patch push pub:npm","pub:npm":"npm publish --access public"},"author":"","license":"ISC","devDependencies":{"@types/jest":"^27.0.3","jest":"^27.4.5","npm-run-all":"^4.1.5","ts-jest":"^27.1.1","typescript":"^4.5.4"},"keywords":["id","time","timestamp","counter","uuid","milli","millisecond","nano","nanosecond","micro","microsecond"],"gitHead":"30358486d417b6ebda37ff1d143061f3822d8b41","_id":"@asianpersonn/time-id@1.0.2","_nodeVersion":"16.13.2","_npmVersion":"9.5.1","dist":{"integrity":"sha512-i+PWK7qF9TIWOCAKcWOgvLGm/RdeAfCLYcDqH+oFh9P+TuZiC57shabH35oM/LgPIcANiz1coheYpxnF2eJ8gQ==","shasum":"e82c331e33a9f93353b9c67a25b8e433e5e8839d","tarball":"https://registry.npmjs.org/@asianpersonn/time-id/-/time-id-1.0.2.tgz","fileCount":13,"unpackedSize":9761,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEx4I1qfrJSVZgDq0rYACADjlv5xRafAiPDSKC4r1/bsAiAvOUUulhO73jrX/uc1MM/KUlnuOIVnqKaqUAsSHyaALg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/YgpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpcyw/+NRc92OI4ILTlkC/ky42p2vB9L3rjQ1yavKYxAXpkT0Z+6Sfp\r\n1tKUYvVfP5/frIyhk5/t0wNNVzY4Mu7zW+gj5DMzuC1NTCGDqzgVsrqK56Fj\r\nX758t2w+qj57LZZTOSS0Q+r30Lg4JiXss/nyML7rKt8to+dICvVqyM/hGWt1\r\nGRjSaCRXm9aQ6j6Deg0mNnCYoLoGgLV3XwWenqoY1/HqmKef7pFP3PtIHmwa\r\nsNFXLUDaQdFfyN6+j+0tZ5gUWDN6R12gSwxxEgmICviDlcUfLIANiJ1tCR0g\r\n8O6GmYx+9B+f4VtwuV6oXpQERbAXNYnIPjWlLvpeXvynMJDquAuXWWjPx1zJ\r\nueyQZjMbhLlD3oD2QTuiS3A8ossgOVR5IR7NOoMzHkVbbx4haUL4BDI19M4M\r\nYbUzLKONKAos6irNp/P/+2lizwXCg27FRoUbzBHElSLnacAuDeNMsIOzKHdz\r\ngZVyOTRl5U/fYqY1O9lmtrPhJRWXKiXTy+o+VnriLIWlK5QfhCgJ1MtgFM5s\r\nKUUjPoj+ZaC9y8yJ4VIhoSlNz4vEXIr7ovTuizWwDWWFbNTA8nxSSXiSAYHj\r\nsJxkSd71eTFxgMtb2+LZqrJ5uSnX1pYwiq3FKG4zspCAw2DN1mRroZVSOdyf\r\n2Ccf5z9u5UQLVCtR4615ikGGdraqBJpbhrg=\r\n=I4lU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"asianpersonn","email":"DanielKRing1@gmail.com"},"directories":{},"maintainers":[{"name":"asianpersonn","email":"DanielKRing1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/time-id_1.0.2_1677559849029_0.7531079062236106"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-28T04:47:12.367Z","1.0.1":"2023-02-28T04:47:12.620Z","modified":"2023-02-28T04:50:49.277Z","1.0.2":"2023-02-28T04:50:49.191Z"},"maintainers":[{"name":"asianpersonn","email":"DanielKRing1@gmail.com"}],"description":"Creates unique ids from the current time and a counter, up to a certain precision, compressed via base conversion","keywords":["id","time","timestamp","counter","uuid","milli","millisecond","nano","nanosecond","micro","microsecond"],"license":"ISC","readme":"# Install\r\n```\r\nnpm install rn-click-listener\r\n```\r\nor\r\n```\r\nyarn add rn-click-listener\r\n```\r\n\r\n# Features\r\n\r\n### Global ContextProvider for managing click events\r\nimport { ClickListener } from 'rn-click-listener';\\\r\n\r\nWrap your toplevel component in <ClickListener></ClickListener>\r\nto provide a context for managing click events\\\r\n\r\n### Hook for un/registering click events\r\n```javascript\r\nimport { useClickListener } from 'rn-click-listener';\r\n\r\nconst { addClickListener, rmClickListener } = useClickListener();\r\n\r\nconst clickHandler = (e: GestureResponderEvent) => {\r\n    console.log(e);\r\n};\r\nconst ID = '123';\r\n\r\naddClickListener(ID, clickHandler);\r\nrmClickListener(ID);\r\n```\r\n\r\nUse 'addClickListener' to add click handlers that will get fired anytime a click is made in the app.\\\r\nDon't forget to use 'rmClickListener to unregister the click handlers when your component unmounts\r\n\r\n### Hook for detecting clicks inside and outside of a target component\r\n```javascript\r\nimport React, { useEffect } from 'react';\r\nimport { Text, View } from 'react-native';\r\nimport { useOnClickOutsideComponent } from 'rn-click-listener';\r\n\r\nconst ID = '123';\r\n\r\nconst Component = (props) => (\r\n\r\n    const { ref, clickedInside, clickedInsideCount, registerClickInside, reset } = useOnClickOutsideComponent(ID);\r\n\r\n    // Listen for clicks inside/outside of component\r\n    useEffect(() => {\r\n        if(clickedInside) console.log('Clicked inside');\r\n        else console.log('Clicked outside';)\r\n    }, [clickedInside]);\r\n\r\n    // Listen for subsequent clicks inside component\r\n    useEffect(() => {\r\n        if(clickedInsideCount > 1) console.log('Clicked inside again');\r\n    }, [clickedInsideCount]);\r\n    \r\n    <View ref={ref}>\r\n      <Text>Hello World</Text>\r\n    </View>\r\n);\r\n```\r\n\r\nUse 'useOnClickOutsideComponent' to listen for clicks inside and outside of a component.\\\r\nThis hook will provide a 'ref' object to assign to the component to listen for.\r\n\r\n# Example Usage\r\n```javascript\r\nimport * as React from 'react';\r\nimport { Text, View, StyleSheet } from 'react-native';\r\n\r\nimport { ClickListener, useOnClickOutsideComponent } from 'rn-click-listener';\r\n\r\nexport default function App() {\r\n\r\n  return (\r\n    <ClickListener>\r\n      <View>\r\n\r\n        <Test/>\r\n\r\n        <Text>Outside of components</Text>\r\n\r\n      </View>\r\n    </ClickListener>\r\n  );\r\n}\r\n\r\nconst Test = (props) => {\r\n\r\n    const { ref, clickedInside, registerClickInside, reset } = useOnClickOutsideComponent('search-bar-test-id');\r\n\r\n  return (\r\n    <View ref={ref}>\r\n      <Text>Hello World</Text>\r\n    </View>\r\n  )\r\n};\r\n```","readmeFilename":"README.md"}