diff --git a/dist/samples/place-autocomplete-basic-map/app/.eslintsrc.json b/dist/samples/place-autocomplete-basic-map/app/.eslintsrc.json
new file mode 100644
index 00000000..4c44dab0
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/.eslintsrc.json
@@ -0,0 +1,13 @@
+{
+ "extends": [
+ "plugin:@typescript-eslint/recommended"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "rules": {
+ "@typescript-eslint/ban-ts-comment": 0,
+ "@typescript-eslint/no-this-alias": 1,
+ "@typescript-eslint/no-empty-function": 1,
+ "@typescript-eslint/explicit-module-boundary-types": 1,
+ "@typescript-eslint/no-unused-vars": 1
+ }
+}
diff --git a/dist/samples/place-autocomplete-basic-map/app/README.md b/dist/samples/place-autocomplete-basic-map/app/README.md
new file mode 100644
index 00000000..385d8923
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/README.md
@@ -0,0 +1,33 @@
+# Google Maps JavaScript Sample
+
+This sample is generated from @googlemaps/js-samples located at
+https://github.com/googlemaps-samples/js-api-samples.
+
+## Setup
+
+### Before starting run:
+
+`npm i`
+
+### Run an example on a local web server
+
+First `cd` to the folder for the sample to run, then:
+
+`npm start`
+
+### Build an individual example
+
+From `samples/`:
+
+`npm run build --workspace=sample-name/`
+
+### Build all of the examples.
+
+From `samples/`:
+
+`npm run build-all`
+
+## Feedback
+
+For feedback related to this sample, please open a new issue on
+[GitHub](https://github.com/googlemaps-samples/js-api-samples/issues).
diff --git a/dist/samples/place-autocomplete-basic-map/app/index.html b/dist/samples/place-autocomplete-basic-map/app/index.html
new file mode 100644
index 00000000..a4a034f4
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Place Autocomplete map
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/samples/place-autocomplete-basic-map/app/index.ts b/dist/samples/place-autocomplete-basic-map/app/index.ts
new file mode 100644
index 00000000..e7f3e2a6
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/index.ts
@@ -0,0 +1,64 @@
+/*
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+
+// [START maps_place_autocomplete_basic_map]
+const mapContainer = document.getElementById("map-container") as any;
+const autocompleteElement = document.querySelector('gmp-basic-place-autocomplete') as any;
+const detailsElement = document.querySelector('gmp-place-details-compact') as any;
+const mapElement = document.querySelector('gmp-map') as any;
+const advancedMarkerElement = document.querySelector('gmp-advanced-marker') as any;
+
+let center = { lat: 40.749933, lng: -73.98633 }; // New York City
+
+async function initMap(): Promise{
+ //@ts-ignore
+ const {BasicPlaceAutocompleteElement, PlaceDetailsElement} = await google.maps.importLibrary('places');
+ //@ts-ignore
+ const {AdvancedMarkerElement} = await google.maps.importLibrary('marker');
+ //@ts-ignore
+ const {LatLngBounds} = await google.maps.importLibrary('core');
+
+ // Set the initial map location and autocomplete location bias
+ mapElement.center = center
+ autocompleteElement.locationBias = center;
+
+ // Get the underlying google.maps.Map object to add listeners
+ const map = mapElement.innerMap;
+
+ // Add the listener tochange locationBias to locationRestriction when the map moves
+ map.addListener('bounds_changed', () => {
+ autocompleteElement.locationBias = null;
+ autocompleteElement.locationRestriction = map.getBounds();
+ console.log("bias changed to restriction")
+ });
+
+ // [START maps_place_autocomplete_basic_map_listener]
+ // Add the listener to update the Place Request element when the user selects a prediction
+ autocompleteElement.addEventListener('gmp-select', async (event) => {
+ const placeDetailsRequest = document.querySelector('gmp-place-details-place-request') as any;
+ placeDetailsRequest.place = event.place.id;
+ });
+ // [END maps_place_autocomplete_basic_map_listener]
+
+ // Add the listener to update the marker when the Details element loads
+ detailsElement.addEventListener('gmp-load', async () => {
+ const location = detailsElement.place.location;
+ detailsElement.style.display = "block"
+ advancedMarkerElement.position = location;
+ advancedMarkerElement.content = detailsElement;
+ if (detailsElement.place.viewport) {
+ map.fitBounds(detailsElement.place.viewport);
+ } else {
+ map.setCenter(location);
+ map.setZoom(17);
+ }
+ });
+}
+
+initMap();
+// [END maps_place_autocomplete_basic_map]
+
diff --git a/dist/samples/place-autocomplete-basic-map/app/package.json b/dist/samples/place-autocomplete-basic-map/app/package.json
new file mode 100644
index 00000000..8d295e91
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "@js-api-samples/place-autocomplete-basic-map",
+ "version": "1.0.0",
+ "scripts": {
+ "build": "tsc && bash ../jsfiddle.sh place-autocomplete-basic-map && bash ../app.sh place-autocomplete-basic-map && bash ../docs.sh place-autocomplete-basic-map && npm run build:vite --workspace=. && bash ../dist.sh place-autocomplete-basic-map",
+ "test": "tsc && npm run build:vite --workspace=.",
+ "start": "tsc && vite build --base './' && vite",
+ "build:vite": "vite build --base './'",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+
+ }
+}
diff --git a/dist/samples/place-autocomplete-basic-map/app/style.css b/dist/samples/place-autocomplete-basic-map/app/style.css
new file mode 100644
index 00000000..4dde28ec
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/style.css
@@ -0,0 +1,60 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+/* [START maps_place_autocomplete_basic_map] */
+html,
+body {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+#map-container {
+ display: flex;
+ flex-direction: row;
+ height: 100%;
+}
+
+#gmp-map {
+ height: 100%;
+}
+
+gmp-basic-place-autocomplete {
+ position: absolute;
+ height: 50px;
+ top: 10px;
+ left: 10px;
+ z-index: 1;
+ box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.2);
+ color-scheme: light;
+ border-radius: 10px;
+}
+
+gmp-place-details-compact {
+ width: 360px;
+ max-height: 300px;
+ border: none;
+ padding: 0;
+ margin: 0;
+ position: absolute;
+ transform: translate(calc(-180px), calc(-215px));
+ box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.2);
+ color-scheme: light;
+}
+
+/* This creates the pointer attached to the bottom of the element. */
+gmp-place-details-compact::after {
+ content: "";
+ position: absolute;
+ top: 100%;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 0;
+ height: 0;
+ border-left: 16px solid transparent;
+ border-right: 16px solid transparent;
+ border-top: 20px solid var(--gmp-mat-color-surface, light-dark(white, black));
+}
+/* [END maps_place_autocomplete_basic_map] */
diff --git a/dist/samples/place-autocomplete-basic-map/app/tsconfig.json b/dist/samples/place-autocomplete-basic-map/app/tsconfig.json
new file mode 100644
index 00000000..366aabb0
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/app/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "module": "esnext",
+ "target": "esnext",
+ "strict": true,
+ "noImplicitAny": false,
+ "lib": [
+ "es2015",
+ "esnext",
+ "es6",
+ "dom",
+ "dom.iterable"
+ ],
+ "moduleResolution": "Node",
+ "jsx": "preserve"
+ }
+}
diff --git a/dist/samples/place-autocomplete-basic-map/dist/assets/index-BmNok-li.css b/dist/samples/place-autocomplete-basic-map/dist/assets/index-BmNok-li.css
new file mode 100644
index 00000000..6ce88263
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/dist/assets/index-BmNok-li.css
@@ -0,0 +1,5 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */html,body{height:100%;margin:0;padding:0}#map-container{display:flex;flex-direction:row;height:100%}#gmp-map{height:100%}gmp-basic-place-autocomplete{position:absolute;height:50px;top:10px;left:10px;z-index:1;box-shadow:2px 2px 5px #0003;color-scheme:light;border-radius:10px}gmp-place-details-compact{width:360px;max-height:300px;border:none;padding:0;margin:0;position:absolute;transform:translate(-180px,-215px);box-shadow:2px 2px 5px #0003;color-scheme:light}gmp-place-details-compact:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:20px solid var(--gmp-mat-color-surface, light-dark(white, black))}
diff --git a/dist/samples/place-autocomplete-basic-map/dist/assets/index-D9sGUCsY.js b/dist/samples/place-autocomplete-basic-map/dist/assets/index-D9sGUCsY.js
new file mode 100644
index 00000000..9364ad11
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/dist/assets/index-D9sGUCsY.js
@@ -0,0 +1,5 @@
+(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))a(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const n of t.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&a(n)}).observe(document,{childList:!0,subtree:!0});function s(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function a(e){if(e.ep)return;e.ep=!0;const t=s(e);fetch(e.href,t)}})();/*
+ * @license
+ * Copyright 2025 Google LLC. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0
+ */document.getElementById("map-container");const c=document.querySelector("gmp-basic-place-autocomplete"),o=document.querySelector("gmp-place-details-compact"),i=document.querySelector("gmp-map"),l=document.querySelector("gmp-advanced-marker");let d={lat:40.749933,lng:-73.98633};async function m(){const{BasicPlaceAutocompleteElement:p,PlaceDetailsElement:r}=await google.maps.importLibrary("places"),{AdvancedMarkerElement:s}=await google.maps.importLibrary("marker"),{LatLngBounds:a}=await google.maps.importLibrary("core");i.center=d,c.locationBias=d;const e=i.innerMap;e.addListener("bounds_changed",()=>{c.locationBias=null,c.locationRestriction=e.getBounds(),console.log("bias changed to restriction")}),c.addEventListener("gmp-select",async t=>{const n=document.querySelector("gmp-place-details-place-request");n.place=t.place.id}),o.addEventListener("gmp-load",async()=>{const t=o.place.location;o.style.display="block",l.position=t,l.content=o,o.place.viewport?e.fitBounds(o.place.viewport):(e.setCenter(t),e.setZoom(17))})}m();
diff --git a/dist/samples/place-autocomplete-basic-map/dist/index.html b/dist/samples/place-autocomplete-basic-map/dist/index.html
new file mode 100644
index 00000000..774d3d4a
--- /dev/null
+++ b/dist/samples/place-autocomplete-basic-map/dist/index.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+ Place Autocomplete map
+
+
+
+
+
+