diff --git a/dist/samples/address-validation/app/index.ts b/dist/samples/address-validation/app/index.ts index dc86b74e..c16fcefd 100644 --- a/dist/samples/address-validation/app/index.ts +++ b/dist/samples/address-validation/app/index.ts @@ -58,7 +58,8 @@ async function handleValidationSubmit(event) { `Formatted address: ${result.address.formattedAddress}\n` + `Entered: ${result.verdict.inputGranularity}\n` + `Validated: ${result.verdict.validationGranularity}\n` + - `Geocoded: ${result.verdict.geocodeGranularity}\n\n` + + `Geocoded: ${result.verdict.geocodeGranularity}\n` + + `Possible next action: ${result.verdict.possibleNextAction}\n\n` + `${getVerdictMessage(result.verdict, 'addressComplete')}\n` + `${getVerdictMessage(result.verdict, 'hasUnconfirmedComponents')}\n` + `${getVerdictMessage(result.verdict, 'hasInferredComponents')}\n` + @@ -75,7 +76,7 @@ async function handleValidationSubmit(event) { } // [END maps_address_validation_form_handler] -// --- Verdict Messages --- +// Verdict messages const verdictMessages = { addressComplete: { trueMessage: @@ -106,11 +107,10 @@ function getVerdictMessage(verdict, key) { // Handler for Dropdown Change function handleExampleSelectChange(event) { - const selectedValue = event.target.value; // e.g., "google", "suite", "" + const selectedValue = event.target.value; if (selectedValue && examples[selectedValue]) { populateAddressFields(examples[selectedValue]); } else if (!selectedValue) { - // Optional: Clear fields if the "-- Select --" option is chosen populateAddressFields(null); // Pass null to clear fields } } @@ -198,7 +198,7 @@ function populateAddressFields(exampleAddress) { // Clear previous results and errors resultDisplay!.textContent = 'Result will appear here...'; - console.log("Populated fields with example:", exampleAddress); + console.log("Populated fields with example: ", exampleAddress); } init(); diff --git a/dist/samples/address-validation/dist/assets/index-CRV0KjHn.js b/dist/samples/address-validation/dist/assets/index-D-JsXWMn.js similarity index 89% rename from dist/samples/address-validation/dist/assets/index-CRV0KjHn.js rename to dist/samples/address-validation/dist/assets/index-D-JsXWMn.js index cfd6453f..0eadbc05 100644 --- a/dist/samples/address-validation/dist/assets/index-CRV0KjHn.js +++ b/dist/samples/address-validation/dist/assets/index-D-JsXWMn.js @@ -2,12 +2,13 @@ * @license * Copyright 2025 Google LLC. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 - */const C=document.getElementById("address-form");document.getElementById("validate-button");const A=document.getElementById("clear-form-button"),r=document.getElementById("result-display");document.getElementById("loading-text");const l=document.getElementById("street-address-1"),c=document.getElementById("street-address-2"),u=document.getElementById("city"),m=document.getElementById("state"),p=document.getElementById("zip-code"),g=document.getElementById("region-select"),h=document.getElementById("example-select");async function I(){await google.maps.importLibrary("addressValidation"),C.addEventListener("submit",E),h.addEventListener("change",S),A.addEventListener("click",B)}async function E(t){t.preventDefault(),r.textContent="Validating...";try{const e=await google.maps.addressValidation.AddressValidation.fetchAddressValidation({address:{regionCode:g.value.trim(),languageCode:"en",addressLines:[l.value.trim(),c.value.trim()].filter(d=>d),locality:u.value.trim(),administrativeArea:m.value.trim(),postalCode:p.value.trim()}});r.textContent=`Verdict summary + */const A=document.getElementById("address-form");document.getElementById("validate-button");const C=document.getElementById("clear-form-button"),r=document.getElementById("result-display");document.getElementById("loading-text");const l=document.getElementById("street-address-1"),c=document.getElementById("street-address-2"),u=document.getElementById("city"),m=document.getElementById("state"),p=document.getElementById("zip-code"),g=document.getElementById("region-select"),h=document.getElementById("example-select");async function I(){await google.maps.importLibrary("addressValidation"),A.addEventListener("submit",E),h.addEventListener("change",P),C.addEventListener("click",S)}async function E(t){t.preventDefault(),r.textContent="Validating...";try{const e=await google.maps.addressValidation.AddressValidation.fetchAddressValidation({address:{regionCode:g.value.trim(),languageCode:"en",addressLines:[l.value.trim(),c.value.trim()].filter(d=>d),locality:u.value.trim(),administrativeArea:m.value.trim(),postalCode:p.value.trim()}});r.textContent=`Verdict summary ================ Formatted address: ${e.address.formattedAddress} Entered: ${e.verdict.inputGranularity} Validated: ${e.verdict.validationGranularity} Geocoded: ${e.verdict.geocodeGranularity} +Possible next action: ${e.verdict.possibleNextAction} ${o(e.verdict,"addressComplete")} ${o(e.verdict,"hasUnconfirmedComponents")} @@ -16,4 +17,4 @@ ${o(e.verdict,"hasReplacedComponents")} Raw JSON response ================= -`+JSON.stringify(e,null," ")}catch(e){console.error("Validation failed:",e),e instanceof Error&&(r.textContent=`Error: ${e.message}`)}}const i={addressComplete:{trueMessage:"- The API found no unresolved, unexpected, or missing address elements.",falseMessage:"- At least one address element is unresolved, unexpected, or missing."},hasUnconfirmedComponents:{trueMessage:"- The API can't confirm at least one address component.",falseMessage:"- The API confirmed all address components."},hasInferredComponents:{trueMessage:"- The API inferred (added) at least one address component.",falseMessage:"- The API did not infer (add) any address components."},hasReplacedComponents:{trueMessage:"- The API replaced at least one address component.",falseMessage:"- The API did not replace any address components."}};function o(t,e){return!t||!i[e]?"Unknown":t[e]?i[e].trueMessage:i[e].falseMessage}function S(t){const e=t.target.value;e&&y[e]?v(y[e]):e||v(null)}function B(){l.value="",c.value="",u.value="",m.value="",p.value="",g.value="",h.value="",r.textContent="Result will appear here...",console.log("Cleared form")}const y={google:{streetAddress1:"1600 Amphitheatre Parkway",streetAddress2:"",city:"Mountain View",state:"CA",zipCode:"94043",region:"US"},nonExistentSubpremise:{streetAddress1:"2930 Pearl St.",streetAddress2:"Suite 100",city:"Boulder",state:"CO",zipCode:"",region:"US"},missingSubpremise:{streetAddress1:"500 West 2nd Street",streetAddress2:null,city:"Austin",state:"TX",zipCode:"78701",region:"US"},misspelledLocality:{streetAddress1:"1600 Amphitheatre Pkwy",streetAddress2:"",city:"Montan View",state:"CA",zipCode:"94043",region:"US"},missingLocality:{streetAddress1:"Brandschenkestrasse 110 8002",streetAddress2:"",city:"",state:"",zipCode:"",region:""},usPoBox:{streetAddress1:"PO Box 1108",streetAddress2:"",city:"Sterling",state:"VA",zipCode:"20166-1108",region:"US"}};function v(t){if(!t){console.warn("No example address data provided.");return}l.value=t.streetAddress1||"",c.value=t.streetAddress2||"",u.value=t.city||"",m.value=t.state||"",p.value=t.zipCode||"",g.value=t.region||"",r.textContent="Result will appear here...",console.log("Populated fields with example:",t)}I(); +`+JSON.stringify(e,null," ")}catch(e){console.error("Validation failed:",e),e instanceof Error&&(r.textContent=`Error: ${e.message}`)}}const i={addressComplete:{trueMessage:"- The API found no unresolved, unexpected, or missing address elements.",falseMessage:"- At least one address element is unresolved, unexpected, or missing."},hasUnconfirmedComponents:{trueMessage:"- The API can't confirm at least one address component.",falseMessage:"- The API confirmed all address components."},hasInferredComponents:{trueMessage:"- The API inferred (added) at least one address component.",falseMessage:"- The API did not infer (add) any address components."},hasReplacedComponents:{trueMessage:"- The API replaced at least one address component.",falseMessage:"- The API did not replace any address components."}};function o(t,e){return!t||!i[e]?"Unknown":t[e]?i[e].trueMessage:i[e].falseMessage}function P(t){const e=t.target.value;e&&y[e]?v(y[e]):e||v(null)}function S(){l.value="",c.value="",u.value="",m.value="",p.value="",g.value="",h.value="",r.textContent="Result will appear here...",console.log("Cleared form")}const y={google:{streetAddress1:"1600 Amphitheatre Parkway",streetAddress2:"",city:"Mountain View",state:"CA",zipCode:"94043",region:"US"},nonExistentSubpremise:{streetAddress1:"2930 Pearl St.",streetAddress2:"Suite 100",city:"Boulder",state:"CO",zipCode:"",region:"US"},missingSubpremise:{streetAddress1:"500 West 2nd Street",streetAddress2:null,city:"Austin",state:"TX",zipCode:"78701",region:"US"},misspelledLocality:{streetAddress1:"1600 Amphitheatre Pkwy",streetAddress2:"",city:"Montan View",state:"CA",zipCode:"94043",region:"US"},missingLocality:{streetAddress1:"Brandschenkestrasse 110 8002",streetAddress2:"",city:"",state:"",zipCode:"",region:""},usPoBox:{streetAddress1:"PO Box 1108",streetAddress2:"",city:"Sterling",state:"VA",zipCode:"20166-1108",region:"US"}};function v(t){if(!t){console.warn("No example address data provided.");return}l.value=t.streetAddress1||"",c.value=t.streetAddress2||"",u.value=t.city||"",m.value=t.state||"",p.value=t.zipCode||"",g.value=t.region||"",r.textContent="Result will appear here...",console.log("Populated fields with example: ",t)}I(); diff --git a/dist/samples/address-validation/dist/assets/index-BNvAJHSx.css b/dist/samples/address-validation/dist/assets/index-DKaJtGt1.css similarity index 91% rename from dist/samples/address-validation/dist/assets/index-BNvAJHSx.css rename to dist/samples/address-validation/dist/assets/index-DKaJtGt1.css index 49df8330..60453f61 100644 --- a/dist/samples/address-validation/dist/assets/index-BNvAJHSx.css +++ b/dist/samples/address-validation/dist/assets/index-DKaJtGt1.css @@ -2,4 +2,4 @@ * @license * Copyright 2025 Google LLC. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 -*/body,html{height:100%;margin:0;padding:0;overflow:hidden;font-family:Google Sans,sans-serif;font-size:20px;color:#333}#sidebar{width:800px;max-width:calc(100% - 2rem);background-color:#fff;border-color:#9ca3af;border-style:solid;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - 2rem)}.sidebar-header{padding:.75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.sidebar-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.sidebar-content{padding:.75rem;overflow-y:auto;flex-grow:1}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}#address-form>div{margin-bottom:.75rem}#address-form>button{margin-top:1rem}label{display:block;font-size:.75rem;font-weight:500;color:#4b5563;margin-bottom:.25rem}input[type=text]{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;box-sizing:border-box;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input[type=text]:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.form-grid-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}@media (max-width:400px){.form-grid-triple{grid-template-columns:1fr}}button{display:inline-block;margin-right:.5rem;width:auto;padding:.6rem .75rem;font-size:.875rem;font-weight:500;color:#fff;background-color:#2563eb;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease-in-out;text-align:center}button:hover{background-color:#1d4ed8}#loading-indicator{margin-top:.5rem;font-size:.75rem;color:#2563eb;font-style:italic;display:none;align-items:center;gap:.5rem}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}#error-message{margin-top:.5rem;font-size:.75rem;color:#dc2626;font-weight:500;display:none}#result-container{margin-top:1rem;border-top:1px solid #e5e7eb;padding-top:.75rem}#result-display{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.75rem;background-color:#f3f4f6;padding:.5rem;border-radius:.25rem;overflow-x:auto;white-space:pre;height:12rem;border:1px solid #e5e7eb}@media (max-width:767px){#sidebar{width:auto;max-width:100%;margin:0;max-height:70vh;border-radius:0;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-top:1px solid #d1d5db;box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f}}.form-select{display:block;width:100%;padding:.5rem 2.5rem .5rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #d1d5db;border-radius:.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;cursor:pointer}.form-select:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 1px #2563eb}.form-select option[disabled]{color:#9ca3af} +*/body,html{height:100%;margin:0;padding:0;overflow:hidden;font-family:Google Sans,sans-serif;font-size:20px;color:#333}#sidebar{width:800px;max-width:calc(100% - 2rem);background-color:#fff;border-color:#9ca3af;border-style:solid;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100% - 2rem)}.sidebar-header{padding:.75rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.sidebar-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.sidebar-content{padding:.75rem;overflow-y:auto;flex-grow:1}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}#address-form>div{margin-bottom:.75rem}#address-form>button{margin-top:1rem}label{display:block;font-size:.75rem;font-weight:500;color:#4b5563;margin-bottom:.25rem}input[type=text]{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:.375rem;box-sizing:border-box;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input[type=text]:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.form-grid-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}@media (max-width:400px){.form-grid-triple{grid-template-columns:1fr}}button{display:inline-block;margin-right:.5rem;width:auto;padding:.6rem .75rem;font-size:.875rem;font-weight:500;color:#fff;background-color:#2563eb;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease-in-out;text-align:center}button:hover{background-color:#1d4ed8}#loading-indicator{margin-top:.5rem;font-size:.75rem;color:#2563eb;font-style:italic;display:none;align-items:center;gap:.5rem}.spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}#error-message{margin-top:.5rem;font-size:.75rem;color:#dc2626;font-weight:500;display:none}#result-container{margin-top:1rem;border-top:1px solid #e5e7eb;padding-top:.75rem}#result-display{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.75rem;background-color:#f3f4f6;padding:.5rem;border-radius:.25rem;overflow-x:auto;white-space:pre;height:12rem;border:1px solid #e5e7eb}@media (max-width:767px){#sidebar{width:auto;max-width:100%;margin:0;max-height:70vh;border-radius:0;border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-top:1px solid #d1d5db;box-shadow:0 -4px 6px -1px #0000001a,0 -2px 4px -1px #0000000f}}.form-select{display:block;width:100%;padding:.5rem 2.5rem .5rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #d1d5db;border-radius:.375rem;appearance:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;cursor:pointer}.form-select:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 1px #2563eb}.form-select option[disabled]{color:#9ca3af} diff --git a/dist/samples/address-validation/dist/index.html b/dist/samples/address-validation/dist/index.html index 8c3fc05d..6468c193 100644 --- a/dist/samples/address-validation/dist/index.html +++ b/dist/samples/address-validation/dist/index.html @@ -9,8 +9,8 @@