places-autocomplete-js 1.1.15 → 1.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -22
- package/dist/places-autocomplete.css +1 -1
- package/dist/places-autocomplete.js +323 -156
- package/dist/places-autocomplete.js.map +1 -1
- package/dist/places-autocomplete.umd.cjs +1 -1
- package/dist/places-autocomplete.umd.cjs.map +1 -1
- package/index.d.ts +16 -2
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -14,9 +14,7 @@ Explore interactive examples of the Google Places Autocomplete JS library:
|
|
|
14
14
|
|
|
15
15
|
A quick, editable sandbox to experiment with the core functionality:
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
See a more comprehensive live demo of the library in action: [pacservice.pages.dev](https://pacservice.pages.dev/)
|
|
17
|
+
See a more comprehensive live demo of the library in action: [pacservice.uk](https://pacservice.uk/)
|
|
20
18
|
|
|
21
19
|
<img src="places-autocomplete-js.gif" alt="A video demonstrating the Places Autocomplete JavaScript component in action, showing address suggestions and selection.">
|
|
22
20
|
|
|
@@ -26,8 +24,10 @@ See a more comprehensive live demo of the library in action: [pacservice.pages.d
|
|
|
26
24
|
- **Cost-Effective API Usage:** Automatically handles **session tokens** to optimise your Google Maps API costs per Google's guidelines.
|
|
27
25
|
- **Optimised User Experience:** Implements **Debounced Input** to limit API calls while the user is typing, ensuring a smooth and responsive search experience.
|
|
28
26
|
- **Enhanced Readability:** Provides **Suggestion Highlighting** to automatically bold the portion of text matching the user's input, making suggestions easier to scan.
|
|
29
|
-
- **
|
|
27
|
+
- **Visual Categorisation:** Includes **Place Type Icons** (🏪 Shopping, 🍽️ Dining, 🏨 Lodging, etc.) to help users quickly identify the type of place in suggestions.
|
|
28
|
+
- **Flexible Styling:** Offers **Customisable Styling** allowing you to easily override default styles or apply your own using CSS classes. Built with sensible defaults.
|
|
30
29
|
- **Robust Event Handling:** Provides `onResponse` and `onError` callbacks for comprehensive control over successful place selections and error scenarios.
|
|
30
|
+
- **Imperative API:** Programmatically control the component with methods like `clear()`, `focus()`, `setInputValue()`, `getRequestParams()`, and more.
|
|
31
31
|
- **Highly Configurable:** Allows you to control API parameters (`requestParams`) and component behavior/appearance (`options`) to fit your specific application needs.
|
|
32
32
|
- **Efficient API Loading:** Dynamically loads the Google Maps API script on demand, reducing initial page load times.
|
|
33
33
|
|
|
@@ -56,6 +56,7 @@ This library has been recognised as a winner of the **Google Maps Platform Award
|
|
|
56
56
|
## Requirements
|
|
57
57
|
|
|
58
58
|
- **Google Maps API Key** with the Places API (New) enabled. Refer to [Use API Keys](https://developers.google.com/maps/documentation/javascript/get-api-key) for detailed instructions.
|
|
59
|
+
- **Geocoding API** enabled if you plan to use `setInputValue(latitude, longitude)`.
|
|
59
60
|
|
|
60
61
|
## Installation & Usage
|
|
61
62
|
|
|
@@ -123,7 +124,7 @@ Add the following lines to your HTML file. The stylesheet goes in the `<head>` a
|
|
|
123
124
|
<title>Places Autocomplete Demo</title>
|
|
124
125
|
|
|
125
126
|
<!-- 1. Link to the stylesheet -->
|
|
126
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/places-autocomplete-js@latest/dist/places-autocomplete
|
|
127
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/places-autocomplete-js@latest/dist/places-autocomplete.css">
|
|
127
128
|
|
|
128
129
|
</head>
|
|
129
130
|
<body>
|
|
@@ -165,7 +166,7 @@ The `PlacesAutocomplete` class is initialised with a configuration object.
|
|
|
165
166
|
| `containerId` | `string` | Yes | The ID of the HTML element where the autocomplete widget will be rendered. |
|
|
166
167
|
| `googleMapsApiKey` | `string` | Yes | Your Google Maps API Key with the Places API (New) enabled. |
|
|
167
168
|
| `googleMapsApiVersion` | `string` | No | The version of the Google Maps API to load (e.g., "weekly", "quarterly", "beta"). Defaults to "weekly". |
|
|
168
|
-
| `onResponse` | `function` | No | Callback
|
|
169
|
+
| `onResponse` | `function` | No | Callback for selected place details. Receives JSON by default (`options.response_type: 'json'`) or a Google `Place` instance when `options.response_type: 'place'`. |
|
|
169
170
|
| `onError` | `function` | No | Callback function triggered when an error occurs. Receives an `Error` object or string. Default logs to console. |
|
|
170
171
|
| `options` | `object` | No | Object to customise UI behavior and appearance. See "UI & Behavior Options" below. |
|
|
171
172
|
| `requestParams` | `object` | No | Object to customise the parameters sent to the Google Places Autocomplete API. See "API Request Parameters" below. |
|
|
@@ -179,13 +180,15 @@ Passed within the main configuration object under the `options` key.
|
|
|
179
180
|
| ---------------- | ----------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
180
181
|
| `placeholder` | `string` | `"Start typing your address ..."` | Placeholder text for the input field. |
|
|
181
182
|
| `debounce` | `number` | `100` | Delay in milliseconds before triggering an API request after user stops typing. Set to `0` to disable. |
|
|
182
|
-
| `distance` | `boolean` | `
|
|
183
|
+
| `distance` | `boolean` | `false` | Whether to attempt to show distance in suggestions (requires `origin` in `requestParams`). |
|
|
183
184
|
| `distance_units` | `'km' \| 'miles'` | `'km'` | Units to display distance in if `distance` is true. |
|
|
184
185
|
| `label` | `string` | `""` | Optional label text displayed above the input field. |
|
|
185
186
|
| `autofocus` | `boolean` | `false` | If `true`, automatically focuses the input field on initialisation. |
|
|
186
187
|
| `autocomplete` | `string` | `'off'` | Standard HTML `autocomplete` attribute for the input field. |
|
|
187
188
|
| `classes` | `object` | _(See default classes below)_ | Object to override default CSS classes for styling. See "Styling" section. |
|
|
188
|
-
| `clear_input` | `boolean` | `
|
|
189
|
+
| `clear_input` | `boolean` | `false` | If `true`, clears the input field after a suggestion is selected. If `false` (default), the input field retains the `formattedAddress` of the selected place. |
|
|
190
|
+
| `response_type` | `'json' \| 'place'` | `'json'` | Return format: `'json'` for plain JSON object (default), `'place'` for full Google Maps Place instance with method access. |
|
|
191
|
+
| `show_place_type` | `boolean` | `false` | Whether to display icons representing the place type (🏪, 🍽️, etc.). **Mutually exclusive with `distance`.** |
|
|
189
192
|
|
|
190
193
|
### Styling
|
|
191
194
|
|
|
@@ -202,7 +205,7 @@ import 'places-autocomplete-js/style.css';
|
|
|
202
205
|
|
|
203
206
|
**For CDN usage:**
|
|
204
207
|
```html
|
|
205
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/places-autocomplete-js@latest/dist/places-autocomplete
|
|
208
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/places-autocomplete-js@latest/dist/places-autocomplete.css">
|
|
206
209
|
```
|
|
207
210
|
|
|
208
211
|
#### 2. Custom CSS Classes (`options.classes`)
|
|
@@ -234,6 +237,9 @@ You can customise the appearance by providing your own CSS classes via the `opti
|
|
|
234
237
|
| `kbd_up` | `pac-kbd-up` | Up arrow key hint |
|
|
235
238
|
| `kbd_down` | `pac-kbd-down` | Down arrow key hint |
|
|
236
239
|
| `kbd_active` | `pac-kbd-active` | Class applied when a keyboard key is pressed |
|
|
240
|
+
| `li_div_two_p_place_type` | `pac-li-div-two-p-place_type` | Container for place type display |
|
|
241
|
+
| `li_div_two_p_place_type_icon` | `pac-li-div-two-p-place_type-icon` | The place type icon element |
|
|
242
|
+
| `li_div_two_p_place_type_label` | `pac-li-div-two-p-place_type-label` | The place type label text |
|
|
237
243
|
| `highlight` | `pac-highlight` | Class for matched text highlighting |
|
|
238
244
|
|
|
239
245
|
**Example:**
|
|
@@ -332,18 +338,6 @@ const autocomplete = new PlacesAutocomplete({
|
|
|
332
338
|
autocomplete.setFetchFields(['formattedAddress', 'location', 'viewport']);
|
|
333
339
|
```
|
|
334
340
|
|
|
335
|
-
### Retain Input Value After Selection
|
|
336
|
-
|
|
337
|
-
By default, the input field is cleared after a place is selected. To retain the selected address in the input field, set `options.clear_input` to `false`.
|
|
338
|
-
|
|
339
|
-
```javascript
|
|
340
|
-
const autocomplete = new PlacesAutocomplete({
|
|
341
|
-
containerId: 'autocomplete-container',
|
|
342
|
-
googleMapsApiKey: 'YOUR_API_KEY',
|
|
343
|
-
options: {
|
|
344
|
-
clear_input: false,
|
|
345
|
-
},
|
|
346
|
-
});
|
|
347
341
|
```
|
|
348
342
|
|
|
349
343
|
## Public Methods
|
|
@@ -366,6 +360,23 @@ Removes event listeners and cleans up DOM elements. Use this when the component
|
|
|
366
360
|
autocomplete.destroy();
|
|
367
361
|
```
|
|
368
362
|
|
|
363
|
+
### `focus()`
|
|
364
|
+
|
|
365
|
+
Sets focus on the autocomplete text input field.
|
|
366
|
+
|
|
367
|
+
```javascript
|
|
368
|
+
autocomplete.focus();
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### `setInputValue(latitude, longitude)`
|
|
372
|
+
|
|
373
|
+
Sets the input by finding and selecting a place for the given coordinates. Performs reverse geocoding to convert lat/lng to a place, then triggers `onResponse` using the configured `options.response_type`. **Requires Geocoding API to be enabled.**
|
|
374
|
+
|
|
375
|
+
```javascript
|
|
376
|
+
// Set location to Eiffel Tower
|
|
377
|
+
await autocomplete.setInputValue(48.8584, 2.2945);
|
|
378
|
+
```
|
|
379
|
+
|
|
369
380
|
### `setFetchFields(fields)`
|
|
370
381
|
|
|
371
382
|
Dynamically updates the Place Data Fields to fetch on selection. The provided fields are merged with the library's default fields (`formattedAddress`, `addressComponents`).
|
|
@@ -488,7 +499,7 @@ npm run test:vitest
|
|
|
488
499
|
|
|
489
500
|
### End-to-End Tests
|
|
490
501
|
|
|
491
|
-
End-to-end tests are located in the `e2e/` directory and are run using Playwright.
|
|
502
|
+
End-to-end tests are located in the `e2e/` directory and are run using Playwright. The Playwright config starts the Vite dev server automatically via `webServer`, so you can run:
|
|
492
503
|
|
|
493
504
|
```bash
|
|
494
505
|
npm run test:e2e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-divide-y-reverse:0;--tw-font-weight:initial}}}:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent;--color-red-50:#fef2f2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-800:#166534;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-violet-300:#c4b5fd;--color-pink-300:#f9a8d4;--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:#f9fafb;--color-gray-100:#f4f5f7;--color-gray-200:#e5e7eb;--color-gray-300:#d2d6dc;--color-gray-400:#9fa6b2;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-zinc-50:#f9fafb;--color-zinc-100:#f4f5f7;--color-zinc-200:#e5e7eb;--color-zinc-300:#d2d6dc;--color-zinc-400:#9fa6b2;--color-zinc-500:#6b7280;--color-zinc-600:#4b5563;--color-zinc-700:#374151;--color-zinc-800:#1f2937;--color-zinc-900:#111827;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:33rem;--container-2xl:40rem;--text-xs:.8125rem;--text-xs--line-height:1.5rem;--text-sm:.875rem;--text-sm--line-height:1.5rem;--text-base:1rem;--text-base--line-height:1.75rem;--text-lg:1.125rem;--text-lg--line-height:1.75rem;--text-xl:1.25rem;--text-xl--line-height:1.75rem;--text-2xl:1.5rem;--text-2xl--line-height:2rem;--text-4xl:2.25rem;--text-4xl--line-height:2.5rem;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-500:#fe795d}.pac-container{z-index:10;margin-top:calc(var(--spacing,.25rem)*1);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);border-radius:var(--radius-lg,.5rem);position:relative}.pac-icon-container{pointer-events:none;inset-block:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);padding-left:calc(var(--spacing,.25rem)*3);align-items:center;display:flex;position:absolute}.pac-w-5{width:calc(var(--spacing,.25rem)*5)}.pac-h-5{height:calc(var(--spacing,.25rem)*5)}.pac-input{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);background-color:var(--color-gray-100,oklch(96.7% .003 264.542));width:100%;padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2.5);padding-right:calc(var(--spacing,.25rem)*20);padding-left:calc(var(--spacing,.25rem)*10);color:var(--color-gray-900,oklch(21% .034 264.665));--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-gray-300,oklch(87.2% .01 258.338));--tw-ring-inset:inset;border-width:1px}.pac-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.pac-input{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}}.pac-kbd-container{inset-block:calc(var(--spacing,.25rem)*0);right:calc(var(--spacing,.25rem)*0);padding-block:calc(var(--spacing,.25rem)*1.5);padding-right:calc(var(--spacing,.25rem)*1.5);display:flex;position:absolute}.pac-kbd-escape{margin-right:calc(var(--spacing,.25rem)*1);width:calc(var(--spacing,.25rem)*8);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-300,oklch(87.2% .01 258.338));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));align-items:center;display:inline-flex}.pac-kbd-up{width:calc(var(--spacing,.25rem)*6);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-300,oklch(87.2% .01 258.338));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));justify-content:center;align-items:center;display:inline-flex}.pac-kbd-down{width:calc(var(--spacing,.25rem)*6);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-400,oklch(70.7% .022 261.325));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));justify-content:center;align-items:center;display:inline-flex}.pac-kbd-active{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff)}.pac-ul{z-index:50;margin-top:calc(var(--spacing,.25rem)*1);margin-bottom:calc(var(--spacing,.25rem)*-2);max-height:calc(var(--spacing,.25rem)*60);width:100%;list-style-type:none;position:absolute}:where(.pac-ul>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-gray-100,oklch(96.7% .003 264.542))}.pac-ul{border-radius:var(--radius-md,.375rem);background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem)*0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-black,#000);overflow:auto}.pac-ul:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.pac-ul{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}}.pac-li{cursor:default;padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-gray-900,oklch(21% .034 264.665));-webkit-user-select:none;user-select:none}@media(hover:hover){.pac-li:hover{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff)}}@media(min-width:64rem){.pac-li{padding-inline:calc(var(--spacing,.25rem)*4)}}.pac-li-button{width:100%;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;padding:0;display:flex}.pac-li-div-container{justify-content:space-between;align-items:center;width:100%;display:flex}.pac-li-div-container p{margin-block:0;margin:0}.pac-li-div-one{min-width:calc(var(--spacing,.25rem)*0);align-items:center;column-gap:calc(var(--spacing,.25rem)*3);flex:auto;display:flex}.pac-map-icon-svg{height:calc(var(--spacing,.25rem)*6);width:calc(var(--spacing,.25rem)*6);flex-shrink:0}.pac-li-div-p-container{min-height:calc(var(--spacing,.25rem)*10);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.pac-li-div-one-p{font-size:var(--text-sm,.875rem);line-height:calc(var(--spacing,.25rem)*6)}.pac-li-div-one-p-secondaryText{font-size:var(--text-xs,.75rem);line-height:calc(var(--spacing,.25rem)*6)}.pac-li-current{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff);-webkit-text-decoration:inherit;text-decoration:inherit}.pac-li-button-current{color:var(--color-white,#fff)}.pac-li-div-two{min-width:calc(var(--spacing,.25rem)*16);flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.pac-li-div-two-p{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}.pac-highlight{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-font-weight:initial}}}:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-red-50:#fef2f2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-800:#166534;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-violet-300:#c4b5fd;--color-pink-300:#f9a8d4;--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:#f9fafb;--color-gray-100:#f4f5f7;--color-gray-200:#e5e7eb;--color-gray-300:#d2d6dc;--color-gray-400:#9fa6b2;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-zinc-50:#f9fafb;--color-zinc-100:#f4f5f7;--color-zinc-200:#e5e7eb;--color-zinc-300:#d2d6dc;--color-zinc-400:#9fa6b2;--color-zinc-500:#6b7280;--color-zinc-600:#4b5563;--color-zinc-700:#374151;--color-zinc-800:#1f2937;--color-zinc-900:#111827;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:33rem;--container-2xl:40rem;--text-xs:.8125rem;--text-xs--line-height:1.5rem;--text-sm:.875rem;--text-sm--line-height:1.5rem;--text-base:1rem;--text-base--line-height:1.75rem;--text-lg:1.125rem;--text-lg--line-height:1.75rem;--text-xl:1.25rem;--text-xl--line-height:1.75rem;--text-2xl:1.5rem;--text-2xl--line-height:2rem;--text-4xl:2.25rem;--text-4xl--line-height:2.5rem;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--color-primary-500:#fe795d}.pac-section{line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.pac-container{z-index:10;margin-top:calc(var(--spacing,.25rem)*1);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);border-radius:var(--radius-lg,.5rem);position:relative}.pac-icon-container{pointer-events:none;inset-block:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);padding-left:calc(var(--spacing,.25rem)*3);align-items:center;display:flex;position:absolute}.pac-w-5{width:calc(var(--spacing,.25rem)*5)}.pac-h-5{height:calc(var(--spacing,.25rem)*5)}.pac-input{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);background-color:var(--color-gray-100,oklch(96.7% .003 264.542));width:100%;padding-block:calc(var(--spacing,.25rem)*2.5);padding-right:calc(var(--spacing,.25rem)*0);padding-left:calc(var(--spacing,.25rem)*10);color:var(--color-gray-900,oklch(21% .034 264.665));--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-gray-300,oklch(87.2% .01 258.338));--tw-ring-inset:inset;border-width:1px}.pac-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(min-width:40rem){.pac-input{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}}.pac-input:focus-visible{outline:2px solid var(--color-indigo-600,#4f46e5);outline-offset:2px}.pac-kbd-container{inset-block:calc(var(--spacing,.25rem)*0);top:50%;right:calc(var(--spacing,.25rem)*1);max-height:calc(var(--spacing,.25rem)*8);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);align-items:center;column-gap:calc(var(--spacing,.25rem)*1);padding-block:calc(var(--spacing,.25rem)*1.5);padding-right:calc(var(--spacing,.25rem)*1.5);display:flex;position:absolute}.pac-kbd-escape{margin-right:calc(var(--spacing,.25rem)*1);width:calc(var(--spacing,.25rem)*8);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-300,oklch(87.2% .01 258.338));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));justify-content:center;align-items:center;display:inline-flex}.pac-kbd-up{width:calc(var(--spacing,.25rem)*6);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-300,oklch(87.2% .01 258.338));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));justify-content:center;align-items:center;display:inline-flex}.pac-kbd-down{width:calc(var(--spacing,.25rem)*6);border-radius:var(--radius-sm,.25rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-400,oklch(70.7% .022 261.325));padding-inline:calc(var(--spacing,.25rem)*1);font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));justify-content:center;align-items:center;display:inline-flex}.pac-kbd-active{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff)}.pac-ul{font-family:var(--default-font-family,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif);z-index:50;margin-top:calc(var(--spacing,.25rem)*1);margin-bottom:calc(var(--spacing,.25rem)*-2);max-height:calc(var(--spacing,.25rem)*60);width:100%;list-style-type:none;position:absolute}:where(.pac-ul>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-gray-100,oklch(96.7% .003 264.542))}.pac-ul{border-radius:var(--radius-md,.375rem);background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem)*0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-black,#000);overflow:auto}.pac-ul:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.pac-ul{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}}.pac-li{cursor:default;padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-gray-900,oklch(21% .034 264.665));-webkit-user-select:none;user-select:none}@media(hover:hover){.pac-li:hover{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff)}}@media(min-width:64rem){.pac-li{padding-inline:calc(var(--spacing,.25rem)*4)}}.pac-li-button{width:100%;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;padding:0;display:flex}.pac-li-button:focus-visible{outline:2px solid var(--color-indigo-600,#4f46e5);outline-offset:2px;border-radius:var(--radius-sm,.25rem)}.pac-li-div-container{justify-content:space-between;align-items:center;width:100%;display:flex}.pac-li-div-container p{text-align:left;margin-block:0;margin:0;display:block}.pac-li-div-one{min-width:calc(var(--spacing,.25rem)*0);align-items:center;column-gap:calc(var(--spacing,.25rem)*3);flex:auto;display:flex}.pac-map-icon-svg{height:calc(var(--spacing,.25rem)*6);width:calc(var(--spacing,.25rem)*6);flex-shrink:0}.pac-li-div-p-container{min-height:calc(var(--spacing,.25rem)*10);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.pac-li-div-one-p{font-size:var(--text-sm,.875rem);line-height:calc(var(--spacing,.25rem)*6)}.pac-li-div-one-p-secondaryText{font-size:var(--text-xs,.75rem);line-height:calc(var(--spacing,.25rem)*3);align-items:flex-start;display:flex}.pac-li-current{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117));color:var(--color-white,#fff);-webkit-text-decoration:inherit;text-decoration:inherit}.pac-li-button-current{color:var(--color-white,#fff)}.pac-li-div-two{min-width:calc(var(--spacing,.25rem)*16);flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.pac-li-div-two-p{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)))}.pac-highlight{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.pac-li-div-two-p-place_type{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));flex-direction:row;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;display:flex}.pac-li-div-two-p-place_type-icon{flex-shrink:0}.pac-li-div-two-p-place_type-label{display:none}@media(min-width:48rem){.pac-li-div-two-p-place_type{justify-content:flex-start;min-width:120px}.pac-li-div-two-p-place_type-label{display:inline}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}
|