{"_id":"@coredna/magna-plugin-google-places-autocomplete","_rev":"3-70146bb32713edb373c8b5555aa146de","name":"@coredna/magna-plugin-google-places-autocomplete","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@coredna/magna-plugin-google-places-autocomplete","version":"1.0.0","description":"Magna is a tree based javascript router, plugin runner and ajax framework","main":"dist/magna-plugin-google-places-autocomplete.common.js","directories":{"doc":"docs","lib":"src"},"scripts":{"test":"jest","build":"cross-env NODE_ENV=production rollup -c","dev":"cross-env NODE_ENV=production rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/coredna/magna-plugin-google-places-autocomplete.git"},"keywords":["magna","javascript","router","ajax"],"author":{"name":"Andrew Fountain"},"license":"MIT","bugs":{"url":"https://github.com/coredna/magna-plugin-google-places-autocomplete/issues"},"homepage":"https://github.com/coredna/magna-plugin-google-places-autocomplete#readme","publishConfig":{"access":"public"},"dependencies":{"@coredna/magna":"^2.2.0","jquery":"^3.4.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-private-methods":"^7.8.3","@babel/preset-env":"^7.9.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-replace":"^2.3.1","cross-env":"^7.0.2","jest":"^25.1.0","query-string":"^6.11.1","rambda":"^5.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-terser":"^5.3.0"},"gitHead":"de5e242b96474bb2cdc535cf9f9bc335eebece36","_id":"@coredna/magna-plugin-google-places-autocomplete@1.0.0","_nodeVersion":"12.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-G7zjQjXwZ7rB6MuuzeLvEozqO1iTRlV7Fg7O1I4PVs4jPyjxs4DcL1RIw66MHNG1xpMX3DIuceeisq8c94rfKQ==","shasum":"9ca7ff07cfa29ef9e4fea45af933cb89646b87e5","tarball":"https://registry.npmjs.org/@coredna/magna-plugin-google-places-autocomplete/-/magna-plugin-google-places-autocomplete-1.0.0.tgz","fileCount":11,"unpackedSize":99058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegoAQCRA9TVsSAnZWagAAdHwP/jhsplQ7lHbkdLyS9Kk8\n2zD4nXY63TtMnuVisHBBVw+5jWB6zEJh1uQC8iiykdnY13HdPFOEygwgolfU\n67vVpg182KdPFL9BjIpEPSPrEnfjjcsfWiVy30kEU4dNmLpSbAHqpseoZA/Z\nxjhdGIJmFRLqQBBpzOkbij9WdcGC7VjDrZjPZz3ShqKm9wskjTP3k92bwscI\nqhz3T5zM1PumqxrDzACU5Kfnmpy42NYTsS6B2ZHTnzJ7mkuRxRxvo7r/9t4t\nm4x21eHEt1VoCNMCBTIVLzcMVDjDfGC79R8T0U29/ngVJAGLa2vIXvWvUqfD\n4E/Qf5fLFUJrVwFXYweJisogRzKLQ807EvtIfv7+pTqTgWuumvapeSJ6JOCJ\nWobgZfbAWDPN0bQVVZys9dJc8crsTh4rkiVgwQefd3JYhHephHZ+GRB/W/j2\nue4Kt99nmfAbxsgkcmALOhYiFdWbAteOFoheckRJfoKfYt7/v4vI3IwooKCR\nodv9Xw/1dPcgubE3KA25WIkGQDW9QBsd6cohpQ1dnpe0qnFBnsTOc9cNryL5\nmJs0i9jZo8VHaYI1/3PQqS++SbwdZFIVQtWlO3vCHMW7LbDX4RwTLQscPdQZ\nC0a2D7D1eIaqv8xzU25O734/mIkIE4xkUzf/SalodDD7DiXv6WouvKHGplV1\nlHcn\r\n=eDdL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhIqxDUMnvHMbrPwqtMvsvSeXTcAdooTVUxbv9a5ZuAgIgFVzQTjo0l5dYbrRD/a4Af3fQyM9SzBOWOkTHlhcY0cI="}]},"maintainers":[{"name":"andrewfountain","email":"founts24@gmail.com"},{"name":"coredna-dev","email":"software@coredna.com"}],"_npmUser":{"name":"andrewfountain","email":"founts24@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magna-plugin-google-places-autocomplete_1.0.0_1585610768347_0.17413655868917255"},"_hasShrinkwrap":false},"1.0.1":{"name":"@coredna/magna-plugin-google-places-autocomplete","version":"1.0.1","description":"Magna is a tree based javascript router, plugin runner and ajax framework","main":"dist/magna-plugin-google-places-autocomplete.common.js","directories":{"doc":"docs","lib":"src"},"scripts":{"test":"jest","build":"cross-env NODE_ENV=production rollup -c","dev":"cross-env NODE_ENV=production rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/coredna/magna-plugin-google-places-autocomplete.git"},"keywords":["magna","javascript","router","ajax"],"author":{"name":"Andrew Fountain"},"license":"MIT","bugs":{"url":"https://github.com/coredna/magna-plugin-google-places-autocomplete/issues"},"homepage":"https://github.com/coredna/magna-plugin-google-places-autocomplete#readme","publishConfig":{"access":"public"},"dependencies":{"@coredna/magna":"^2.2.0","jquery":"^3.4.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-private-methods":"^7.8.3","@babel/preset-env":"^7.9.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-replace":"^2.3.1","cross-env":"^7.0.2","jest":"^25.1.0","query-string":"^6.11.1","rambda":"^5.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-terser":"^5.3.0"},"gitHead":"9cc5931f966d6349393171272858080942997e60","_id":"@coredna/magna-plugin-google-places-autocomplete@1.0.1","_nodeVersion":"12.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-f2xmp5g55hGQXLLWbKqxLkyJqN3V6bkpR69k8nghNeLnzKVGSykLGgLf3YTzweg4IAwiyD7DkQ8XkirrC4bRnQ==","shasum":"fa0e24eb9a65a66b731a597f7de2883ce320beba","tarball":"https://registry.npmjs.org/@coredna/magna-plugin-google-places-autocomplete/-/magna-plugin-google-places-autocomplete-1.0.1.tgz","fileCount":12,"unpackedSize":109021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelnDHCRA9TVsSAnZWagAAfHoP/1FqtYNlyXXclGprXd4f\nApeVXkaBYRm3HibAMLKiFhoBivdIYkqtwF7eyeozTrz9V7NsUfQhdyZPqsxv\nEBsCgJakkka3VZ8cKuwvWq4Gpeac0J+SS5phhkQVsvWoCO0zki8qkpM88r1w\n8ZlaoG1TSoKvx+jzTHIxIJFH79zdrcp+z7BeY+ozuDXxjcGd7so3NAhHWFhM\nMqyUGnJx8Bp1r5L66ecavhRvtNPrI2euPRGNs9QgxU6g81nt2xIXQwajIyzS\nEveEUho+Mk56QD5wq/+4Obkujuj8FcQ5FCTZHDURQc48eKGr0qClBBnrfbtm\ntyYP+C5V6km1DApXIk2+a9TQK/n3ZNsLNOSAWW81MciqScw+AqXmFRp1Za8Z\nIMjvNaUQqLMsNNWC+xLuclpVZ7kbFljTZxELTJWGJifeJK/smsQjSGb6rw/c\nzfYzhmrCDvzW9b3RHwIKJhWMSBcI3Y5YBOIHB/NNh9yJ0EC7XTdvvevxi8Ek\nrlTkzzpBMRTejmQEzlsIyEgFyYYsUxHV+Wygt7hbFQgvHWGpiIyvXAmxHlxA\n8TCPwmZNhNCvJxvSBmmy8H++kOJ5DYAXeLNLAk0Q4ETvIcj92gRDlYr1zcul\n+OgiKXQJ+62gNh2dH8uIUjE65HXoEWyKjcoEz/98yduBZL96yeXqfL11DA3+\ntofN\r\n=cKa4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYulrBYoqBxAkYC+FTuNVCKijR6YXZspa+Nxx0ptZCFAiEA9rP16Qc0kvmrth8bjhNE5m6igDfx2NZv0e0uu4eRMco="}]},"maintainers":[{"name":"andrewfountain","email":"founts24@gmail.com"},{"name":"coredna-dev","email":"software@coredna.com"}],"_npmUser":{"name":"andrewfountain","email":"founts24@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magna-plugin-google-places-autocomplete_1.0.1_1586917574662_0.5013791345662169"},"_hasShrinkwrap":false},"1.1.1":{"name":"@coredna/magna-plugin-google-places-autocomplete","version":"1.1.1","description":"Magna is a tree based javascript router, plugin runner and ajax framework","main":"dist/magna-plugin-google-places-autocomplete.common.js","directories":{"doc":"docs","lib":"src"},"scripts":{"test":"jest","build":"cross-env NODE_ENV=production rollup -c","dev":"cross-env NODE_ENV=production rollup -c -w"},"repository":{"type":"git","url":"git+https://github.com/coredna/magna-plugin-google-places-autocomplete.git"},"keywords":["magna","javascript","router","ajax"],"author":{"name":"Andrew Fountain"},"license":"MIT","bugs":{"url":"https://github.com/coredna/magna-plugin-google-places-autocomplete/issues"},"homepage":"https://github.com/coredna/magna-plugin-google-places-autocomplete#readme","publishConfig":{"access":"public"},"dependencies":{"@coredna/magna":"^2.2.0","jquery":"^3.4.1"},"devDependencies":{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/plugin-proposal-private-methods":"^7.8.3","@babel/preset-env":"^7.9.0","@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-node-resolve":"^7.1.1","@rollup/plugin-replace":"^2.3.1","cross-env":"^7.0.2","jest":"^25.1.0","query-string":"^6.11.1","rambda":"^5.0.0","rollup":"^2.1.0","rollup-plugin-babel":"^4.4.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-terser":"^5.3.0"},"gitHead":"3abb41aa25e6292aeef5ab7d2abda6050558bccf","_id":"@coredna/magna-plugin-google-places-autocomplete@1.1.1","_nodeVersion":"12.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UrqEPrSqGRuxE+74McW1zj5uDZC/xrKM3GFPsJ8kUGU7pP0FMwXHS+hLufDoTOFy07iQxuXtreHB/Zlixzn7eA==","shasum":"51f9a76eb98e6d0ea9da2f3e49209ee772f1ac67","tarball":"https://registry.npmjs.org/@coredna/magna-plugin-google-places-autocomplete/-/magna-plugin-google-places-autocomplete-1.1.1.tgz","fileCount":12,"unpackedSize":109267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJel5QyCRA9TVsSAnZWagAANm4QAJQ2g20IQLWN5yxvXYJr\nj0+xntTr2aPg4GTs15ghdgjtrRz+4iim+SgBeMGXMz93Rg6EWz2ptOM5VKzT\nWC9aXZ2b+ec1SU2+SAuCAUzW+H6sFPgu6ucNAOYmNzRBe/FaYWmh5kjcFmFe\nlNqd3CPRudEH19XsLVToijpzsEbMRqXYoc8DqGEGL45b+WlsUhQuT4t5i6eo\nnX4Ct9pWogMgZ/vNpecjVoazcwTdfi4KK9Co1f7bi58Vkuf51qxenJFY7ROr\nn8NrVFIpD9A73FR+VXOzTHgA23yLMHlN79vUA1348BeMLPsRqIIiocfeXuIL\numQAceh+o/faZ+IfHijuFKFgd5+WQmLhuORN1y+lDdy8tdBiZlZqtyexDppt\n83h5dSSwvIFbVFgVbGgtvTWzYQD4iqcQXakQciS8X5uamHF+ldjZFeX43crm\nu4ulmEg6EgirFnWQcvCEPcVOH/aCnqBiGzVlDbHLJifA5YhhExvj1mVZ4B5R\n+5B6F9maYUIe8uhxi1TvjDmQb6febSz5i49JniokQvnPAxFOz/s7eMPQ8j7R\n4lBFsSb5ETgJ7A5asHPrdLIFlJEMoVhVBg+xjgUgGWNyJ/7nKL4s2EJ1EFVp\nMD0AIRZdmUZ/qYDGwrfooYap+9NFwrdY3OZYghApzSDuhL1GBL6atPCR+czL\nOnbF\r\n=EbVG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCB7l8GB03VeWxlJXjLVO8WAXEUh6P8ZvK2rs9S/jo31AIgcVEQWUCMU13f77hv8uYeICQcMuN+79+aGJn5AzGlt7E="}]},"maintainers":[{"name":"andrewfountain","email":"founts24@gmail.com"},{"name":"coredna-dev","email":"software@coredna.com"}],"_npmUser":{"name":"andrewfountain","email":"founts24@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magna-plugin-google-places-autocomplete_1.1.1_1586992177816_0.6091814849108799"},"_hasShrinkwrap":false}},"time":{"created":"2020-03-30T23:26:08.106Z","1.0.0":"2020-03-30T23:26:08.462Z","modified":"2022-04-05T01:22:36.732Z","1.0.1":"2020-04-15T02:26:14.763Z","1.1.1":"2020-04-15T23:09:37.961Z"},"maintainers":[{"name":"andrewfountain","email":"founts24@gmail.com"},{"name":"coredna-dev","email":"software@coredna.com"}],"description":"Magna is a tree based javascript router, plugin runner and ajax framework","homepage":"https://github.com/coredna/magna-plugin-google-places-autocomplete#readme","keywords":["magna","javascript","router","ajax"],"repository":{"type":"git","url":"git+https://github.com/coredna/magna-plugin-google-places-autocomplete.git"},"author":{"name":"Andrew Fountain"},"bugs":{"url":"https://github.com/coredna/magna-plugin-google-places-autocomplete/issues"},"license":"MIT","readme":"# Magna Plugin: GooglePlacesAutocomplete\r\n\r\nThis plugin will add the functionality for a [google places autocomplete](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete) to be added to your page.\r\n\r\nYou do not need to include the google places script in your page as this code will handle loading the api when only the `API_KEY` is specified\r\n\r\nBy default you provide it with the fields, their type and their matching selector in your page\r\nand it will fill in the details with what is returned from the google api request.\r\n\r\n```javascript\r\nimport Magna from '@coredna/magna'\r\nimport GooglePlacesAutocomplete from '@coredna/magna-plugin-google-places-autocomplete'\r\n\r\nconst app = new Magna([\r\n  new GooglePlacesAutocomplete({\r\n    selector: '#my-selector',\r\n    fields: GooglePlacesAutocomplete.defaultFields,\r\n    API_KEY: 'AIzaSyA....',\r\n  })\r\n]).start()\r\n```\r\n\r\n## Install\r\nInstall through either [npm](https://www.npmjs.com/package/@coredna/magna-plugin) or *yarn*\r\n```bash\r\nnpm install @coredna/magna-plugin-google-places-autocomplete\r\n```\r\nor\r\n```bash\r\nyarn add @coredna/magna-plugin-google-places-autocomplete\r\n```\r\n\r\n## Config\r\n| property | type | default | required | Description |\r\n|---       |---    |---      |---       |---         |\r\n| API_KEY | string | `null` | true | Google places API KEY\r\n| country | string | `'US'` | false | Country code, can specify multiple with comma separation `'US,AU'` |\r\n| fields | object | `{}` | false | Object of fields containing key, selector and type see [Fields](#fields)\r\n| onPlaceChanged | `Function` | null | false | Run a callback when the address has been retrieved from google, cancel default actions by returning false [Extend default fields](#extend-default-fields) |\r\n\r\n## Fields\r\nYou can set your own fields you can use any of:\r\n\r\n| property | type | default | required | Description |\r\n|---       |---    |---      |---       |---         |\r\n| address | object | `{ selector: '[name=\"address1\"]', type: 'long_name' }` | false | Street address eg. `'348 High Street'` |\r\n| unit | object | `{ selector: '[name=\"address2\"]', type: 'long_name' }` | false | Unit number \"address_line2\" eg. `'Unit 1'` |\r\n| city | object | `{ selector: '[name=\"city\"]', type: 'long_name' }` | false | Nearest city (suburb) eg. `'Windsor'` |\r\n| postcode | object | `{ selector: '[name=\"postcode\"]', type: 'long_name' }` | false | Postal code (Zip code) eg. `'3182'` |\r\n| state | object | `{ selector: '[name=\"state\"]', type: 'long_name' }` | false | State eg. `'VIC'` `'Victoria'` |\r\n| country | object | `{ selector: '[name=\"countryid\"]', type: 'long_name' }` | false | Country eg. `'AU'` `'Australia'`|\r\n\r\n| type | description |\r\n|---   |---    |\r\n| long_name | Long version of the value eg. `'Victoria'` |\r\n| short_name | Short version of the value eg. `'VIC'` |\r\n\r\n```javascript\r\nconst fields = {\r\n  ['address|unit|postcode|city|state|country']: {\r\n    selector: '[name=\"my_field_name\"]',\r\n    type: 'long_name|short_name'\r\n  }\r\n}\r\n```\r\n\r\n## Default field objects\r\nTo help save time `GooglePlacesAutocomplete` has a static property `defaultFields` with useful defaults you should be able to use in your code immediately, but you cant still extend or modify\r\n```javascript\r\nGooglePlacesAutocomplete.defaultFields = {\r\n country: {\r\n   selector: '[name=countryid]',\r\n   type: 'short_name'\r\n },\r\n unit: {\r\n   selector: '[name=address2]',\r\n   type: 'long_name'\r\n },\r\n address: {\r\n   selector: '[name=address1]',\r\n   type: 'long_name'\r\n },\r\n postcode: {\r\n   selector: '[name=postcode]',\r\n   type: 'short_name'\r\n },\r\n city: {\r\n   selector: '[name=city]',\r\n   type: 'long_name'\r\n },\r\n state: {\r\n   selector: '[name=state]',\r\n   type: 'short_name'\r\n }\r\n}\r\n```\r\n\r\nIf you need to update the fields to have a prefix you can do so using the static method `GooglePlacesAutocomplet.prefixDefaultFields(prefix)`\r\n\r\n```javascript\r\nconst userPrefixedFields = GooglePlacesAutocomplete.prefixDefaultFields('user_') // => { address: { selector: '[name=user_address1]'} ...}\r\n```\r\n\r\n### Extend default fields\r\nUsing ES6 you can select specific entries, and extend or create your own\r\n```javascript\r\n// extract individual default fields\r\nconst { address, country } = GooglePlacesAutocomplete.defaultFields\r\nnew GooglePlacesAutocomplete({\r\n  selector: '#my-selector',\r\n  API_KEY: 'AIzaSyA....',\r\n  fields: {\r\n    address,\r\n    country: { ...country, selector: '#my-custom-selector' },\r\n    city: { selector: '#my-custom-selector', type: 'long_name' },\r\n  },\r\n})\r\n```\r\n\r\n### Events\r\nYou are able to hook into the google places api event `onPlaceChange`, and assigning the formatted values to your site using `updateFields`\r\n\r\n```javascript\r\nconst { address, country } = GooglePlacesAutocomplete.defaultFields\r\nnew GooglePlacesAutocomplete({\r\n  onPlaceChange({ \r\n    place, \r\n    addressComponentObject, \r\n    address, \r\n    fields \r\n  }) {\r\n    // do something with the place object\r\n    return false // if you return false it will cancel the default behaviour\r\n  },\r\n  updateFields(fields) {\r\n    console.log(fields)\r\n  }\r\n})\r\n```\r\n","readmeFilename":"readme.md"}