@omnic/widget-locations 1.0.15 → 1.0.19
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 +201 -23
- package/dist/lib/src/components/Devtool/Devtool.utils.d.ts +3 -0
- package/dist/lib/src/components/Input/Input.d.ts +6 -0
- package/dist/lib/src/components/Input/index.d.ts +1 -0
- package/dist/lib/src/components/MapGoogle/MapGoogle.constants.d.ts +2 -0
- package/dist/lib/src/components/MapGoogle/Point.d.ts +1 -1
- package/dist/lib/src/context/location.d.ts +3 -3
- package/dist/lib/src/hooks/useLocation.d.ts +3 -6
- package/dist/lib/src/hooks/useMapFactory.d.ts +1 -1
- package/dist/lib/src/hooks/usePoints.d.ts +1 -3
- package/dist/lib/src/index.d.ts +6 -0
- package/dist/lib/src/services/points.d.ts +1 -3
- package/dist/lib/src/types/config.d.ts +3 -2
- package/dist/lib/style.css +1 -1
- package/dist/lib/widget.es.js +4833 -4112
- package/dist/lib/widget.umd.js +29 -24
- package/package.json +2 -1
- package/dist/lib/src/services/cities.d.ts +0 -17
- package/dist/lib/src/services/countries.d.ts +0 -12
package/README.md
CHANGED
|
@@ -1,48 +1,226 @@
|
|
|
1
|
-
#
|
|
1
|
+
# OMNIC Widget Locations
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# USAGE
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
## Integration in `standalone` mode
|
|
6
|
+
|
|
7
|
+
When build in `standalone` mode the widget exposes `window.OMNIC_WIDGET_LOCATIONS_CONFIG` config object.
|
|
8
|
+
Add script tag to your page and pass the config object to the widget like this:
|
|
9
|
+
|
|
10
|
+
```html
|
|
11
|
+
<script>
|
|
12
|
+
window.OMNIC_WIDGET_LOCATIONS_CONFIG = {
|
|
13
|
+
INN: "INN",
|
|
14
|
+
locale: "en",
|
|
15
|
+
map: {
|
|
16
|
+
provider: "google",
|
|
17
|
+
center: [55.75, 37.57],
|
|
18
|
+
},
|
|
19
|
+
onPointClick: (point: CallbackPoint) => {
|
|
20
|
+
// TODO: process point click
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
</script>
|
|
7
24
|
```
|
|
8
25
|
|
|
9
|
-
|
|
26
|
+
The `onPointClick` callback will be called when user clicks on a point on the map. The `point` object has the following structure:
|
|
10
27
|
|
|
11
|
-
```
|
|
12
|
-
|
|
28
|
+
```typescript
|
|
29
|
+
type Coordinates = [number, number];
|
|
30
|
+
|
|
31
|
+
interface Country {
|
|
32
|
+
uid: string;
|
|
33
|
+
name: string;
|
|
34
|
+
abbreviation: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface Region {
|
|
38
|
+
uid: string;
|
|
39
|
+
name: string;
|
|
40
|
+
national_id: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface City {
|
|
44
|
+
uid: string;
|
|
45
|
+
name: string;
|
|
46
|
+
region: Region;
|
|
47
|
+
latitude: number;
|
|
48
|
+
country: Country;
|
|
49
|
+
longitude: number;
|
|
50
|
+
national_id: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface Location {
|
|
54
|
+
city: City;
|
|
55
|
+
house: string;
|
|
56
|
+
block: string;
|
|
57
|
+
street: string;
|
|
58
|
+
office: string;
|
|
59
|
+
region: Region;
|
|
60
|
+
floor: unknown;
|
|
61
|
+
latitude: number;
|
|
62
|
+
country: Country;
|
|
63
|
+
longitude: number;
|
|
64
|
+
postal_index: string;
|
|
65
|
+
full_address: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface LocationPoint {
|
|
69
|
+
uid: string;
|
|
70
|
+
name: string;
|
|
71
|
+
code: string;
|
|
72
|
+
type: number;
|
|
73
|
+
brand: string;
|
|
74
|
+
status: number;
|
|
75
|
+
images: string[];
|
|
76
|
+
schedule: string[];
|
|
77
|
+
max_length: number;
|
|
78
|
+
max_weight: number;
|
|
79
|
+
is_pickup: boolean;
|
|
80
|
+
location: Location;
|
|
81
|
+
description: string;
|
|
82
|
+
is_favorite: boolean;
|
|
83
|
+
pay_by_cash: boolean;
|
|
84
|
+
pay_by_card: boolean;
|
|
85
|
+
is_delivery: boolean;
|
|
86
|
+
near_station?: string;
|
|
87
|
+
location_name?: string;
|
|
88
|
+
is_check_order: boolean;
|
|
89
|
+
round_the_clock: boolean;
|
|
90
|
+
is_dressing_room: boolean;
|
|
91
|
+
near_metro_station?: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
interface CourierPoint {
|
|
95
|
+
coords: Coordinates;
|
|
96
|
+
address: null | string;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface CourierDeliveryPoint extends CourierPoint {
|
|
100
|
+
comment: string;
|
|
101
|
+
pay_by_cash: boolean;
|
|
102
|
+
pay_by_card: boolean;
|
|
103
|
+
delivery_time: string;
|
|
104
|
+
apartment_number: string;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// THIS IS THE TYPE OF THE CALLBACK POINT
|
|
108
|
+
type CallbackPoint = LocationPoint | CourierDeliveryPoint;
|
|
13
109
|
```
|
|
14
110
|
|
|
15
|
-
|
|
111
|
+
Then `OMNIC_WIDGET_LOCATIONS_CONFIG` has the following structure:
|
|
16
112
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
113
|
+
| Property | Type | Description |
|
|
114
|
+
| -------------------- | -------- | -------------------------------------------------------------------- |
|
|
115
|
+
| INN | string | INN of the company that uses the widget |
|
|
116
|
+
| font | string | Font family to use |
|
|
117
|
+
| radius | number | Border radius of buttons |
|
|
118
|
+
| locale | string | Locale of the widget. Currently supported: `en`, `ru` |
|
|
119
|
+
| country | string | Country code in ISO 3166-1 Alpha-2 format |
|
|
120
|
+
| palette | object | Palette config object |
|
|
121
|
+
| palette.primary | string | Primary color of the widget. Example: `#ff0000` |
|
|
122
|
+
| palette.primary-dark | string | Darker version of the primary color. Example: `#cc0000` |
|
|
123
|
+
| map | object | Map config object. See below for details |
|
|
124
|
+
| map.provider | string | Map provider. Currently supported: `google`, `yandex` |
|
|
125
|
+
| map.center | number[] | Coordinates of the map center. Example: `[55.75, 37.57]` |
|
|
126
|
+
| onPointClick | function | Callback that will be called when user clicks on a point on the map. |
|
|
127
|
+
|
|
128
|
+
Include `styles.css` and `widget.umd.js` in your page:
|
|
129
|
+
|
|
130
|
+
```html
|
|
131
|
+
<link rel="stylesheet" href="styles.css" />
|
|
132
|
+
<script src="widget.umd.js"></script>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
After that you can create a div block with id `@omnic/widget-locations` and widget will be rendered there:
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<div id="@omnic/widget-locations"></div>
|
|
22
139
|
```
|
|
23
140
|
|
|
24
|
-
##
|
|
141
|
+
## Integration in `React` mode
|
|
142
|
+
|
|
143
|
+
When build in `React` mode the widget exposes `Widget` component. First install a package:
|
|
25
144
|
|
|
26
145
|
```bash
|
|
27
|
-
|
|
146
|
+
npm install @omnic/widget-locations
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Then import it and use like this:
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
import React from "react";
|
|
153
|
+
import { Widget } from "@omnic/widget-locations";
|
|
154
|
+
import type { LocationPoint, CourierPoint } from "@omnic/widget-locations";
|
|
155
|
+
|
|
156
|
+
const App = () => {
|
|
157
|
+
const onPointClick = (point: LocationPoint | CourierPoint) => {
|
|
158
|
+
// TODO: process point click
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
return (
|
|
162
|
+
<div id="@omnic/widget-locations">
|
|
163
|
+
<Widget
|
|
164
|
+
config={{
|
|
165
|
+
INN: "INN",
|
|
166
|
+
locale: "en",
|
|
167
|
+
map: {
|
|
168
|
+
provider: "google",
|
|
169
|
+
center: [40.1772, 44.50349],
|
|
170
|
+
},
|
|
171
|
+
radius: 2,
|
|
172
|
+
font: "Roboto",
|
|
173
|
+
palette: {
|
|
174
|
+
primary: "#0cb834",
|
|
175
|
+
"primary-dark": "#079b1f",
|
|
176
|
+
},
|
|
177
|
+
onPointClick: console.log,
|
|
178
|
+
}}
|
|
179
|
+
options={{
|
|
180
|
+
baseURL: "https://widget.omnic.sh",
|
|
181
|
+
}}
|
|
182
|
+
/>
|
|
183
|
+
</div>
|
|
184
|
+
);
|
|
185
|
+
};
|
|
28
186
|
```
|
|
29
187
|
|
|
30
|
-
|
|
188
|
+
`Widget` component has the following props:
|
|
189
|
+
|
|
190
|
+
| Property | Type | Description |
|
|
191
|
+
| --------------- | ------ | -------------------------------------------------------------- |
|
|
192
|
+
| config | object | Config object. See above for details |
|
|
193
|
+
| options | object | Options object |
|
|
194
|
+
| options.baseURL | string | Base URL of the widget API. Example: `https://widget.omnic.sh` |
|
|
195
|
+
|
|
196
|
+
DO NOT FORGET to wrap the widget in a div with id `@omnic/widget-locations`, so that all css styles will be applied correctly.
|
|
197
|
+
|
|
198
|
+
# DEVELOPMENT
|
|
199
|
+
|
|
200
|
+
## Project setup
|
|
201
|
+
|
|
202
|
+
Install all dependencies:
|
|
31
203
|
|
|
32
204
|
```bash
|
|
33
|
-
$ cd clients/vanilla
|
|
34
205
|
$ npm install
|
|
35
|
-
$ npm run dev
|
|
36
206
|
```
|
|
37
207
|
|
|
38
|
-
|
|
208
|
+
Then build it in `lib` mode:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
$ npm run build:lib
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
or `standalone` mode:
|
|
39
215
|
|
|
40
216
|
```bash
|
|
41
|
-
$ npm run
|
|
217
|
+
$ npm run build:app
|
|
42
218
|
```
|
|
43
219
|
|
|
44
|
-
|
|
220
|
+
Use `npm run dev` to start local development server.
|
|
221
|
+
|
|
222
|
+
# API
|
|
45
223
|
|
|
46
|
-
|
|
224
|
+
All API and components are exposed in `src/index.ts` file.
|
|
47
225
|
|
|
48
|
-
`src/main.tsx`
|
|
226
|
+
`src/main.tsx` file is responsible for rendering the widget in `standalone` mode or in development mode.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Input";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference types="google.maps" />
|
|
2
|
+
import { LoadScriptProps } from "@react-google-maps/api";
|
|
2
3
|
export declare const zoom = 10;
|
|
4
|
+
export declare const mapLibraries: LoadScriptProps["libraries"];
|
|
3
5
|
export declare const mapOptions: google.maps.MapOptions;
|
|
4
6
|
export declare const markerOptions: google.maps.MarkerOptions;
|
|
5
7
|
export declare const mountTimeout = 1000;
|
|
@@ -7,7 +7,7 @@ interface PointProps {
|
|
|
7
7
|
clusterer: MarkerProps["clusterer"];
|
|
8
8
|
setOpenDetails: (open: boolean) => void;
|
|
9
9
|
onPointClick: (point: LocationPoint) => void;
|
|
10
|
-
|
|
10
|
+
onPointSelected: (point: null | LocationPoint) => void;
|
|
11
11
|
}
|
|
12
12
|
export declare const Point: FC<PointProps>;
|
|
13
13
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="google.maps" />
|
|
2
2
|
export interface LocationAside {
|
|
3
3
|
open: boolean;
|
|
4
4
|
toggle(value?: boolean): void;
|
|
5
5
|
}
|
|
6
6
|
interface LocationContextType {
|
|
7
|
-
city: City | null;
|
|
8
7
|
aside: LocationAside;
|
|
9
|
-
|
|
8
|
+
city: null | google.maps.places.PlaceResult;
|
|
9
|
+
setCity(city: null | google.maps.places.PlaceResult): void;
|
|
10
10
|
}
|
|
11
11
|
export declare const LocationContext: import("react").Context<LocationContextType>;
|
|
12
12
|
export declare const useLocationContext: () => LocationContextType;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { Country } from '../types/countries';
|
|
1
|
+
/// <reference types="google.maps" />
|
|
3
2
|
export declare const useLocation: () => {
|
|
4
|
-
city:
|
|
5
|
-
|
|
6
|
-
setCity: import("react").Dispatch<import("react").SetStateAction<City | null>>;
|
|
7
|
-
setCountry: import("react").Dispatch<import("react").SetStateAction<Country | null>>;
|
|
3
|
+
city: google.maps.places.PlaceResult | null;
|
|
4
|
+
setCity: import("react").Dispatch<import("react").SetStateAction<google.maps.places.PlaceResult | null>>;
|
|
8
5
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { MapProvider } from '../types/config';
|
|
2
|
-
export declare const useMapFactory: (provider: MapProvider) => import("react").FC<import("
|
|
2
|
+
export declare const useMapFactory: (provider: MapProvider) => import("react").FC<import("..").MapProps> | import("react").NamedExoticComponent<import("..").MapProps>;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { City } from '../types/cities';
|
|
2
1
|
import { Filter } from '../types/filters';
|
|
3
2
|
import { CourierPoint, LocationPoint } from '../types/points';
|
|
4
3
|
interface UsePointsParams {
|
|
5
|
-
city?: City;
|
|
6
4
|
filter: Filter;
|
|
7
5
|
center?: Coordinates;
|
|
8
6
|
}
|
|
9
|
-
export declare const usePoints: ({
|
|
7
|
+
export declare const usePoints: ({ filter, center }: UsePointsParams) => {
|
|
10
8
|
error: boolean;
|
|
11
9
|
points: LocationPoint[];
|
|
12
10
|
loaded: boolean;
|
package/dist/lib/src/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { City } from '../types/cities';
|
|
2
1
|
import { PointsList } from '../types/points';
|
|
3
2
|
import { Filter } from '../types/filters';
|
|
4
3
|
interface FetchPointsRequestParams {
|
|
5
4
|
q?: string;
|
|
6
|
-
city?: City;
|
|
7
5
|
bounds?: Bounds;
|
|
8
6
|
filter?: Filter;
|
|
9
7
|
}
|
|
@@ -12,5 +10,5 @@ interface FetchPointsRequestOptions {
|
|
|
12
10
|
onCancel?: () => void;
|
|
13
11
|
controller?: AbortController;
|
|
14
12
|
}
|
|
15
|
-
export declare function fetchPointsRequest({ q,
|
|
13
|
+
export declare function fetchPointsRequest({ q, filter, bounds }?: FetchPointsRequestParams, { loading, onCancel, controller }?: FetchPointsRequestOptions): AsyncGenerator<import("axios").AxiosResponse<HttpResponse<PointsList>, any>, import("axios").AxiosResponse<HttpResponse<PointsList>, any>, unknown>;
|
|
16
14
|
export {};
|
|
@@ -12,9 +12,10 @@ interface MapConfig {
|
|
|
12
12
|
}
|
|
13
13
|
export interface WidgetConfig {
|
|
14
14
|
font?: string;
|
|
15
|
-
map?: MapConfig;
|
|
16
|
-
radius?: number;
|
|
17
15
|
locale?: Locale;
|
|
16
|
+
radius?: number;
|
|
17
|
+
map?: MapConfig;
|
|
18
|
+
country?: string;
|
|
18
19
|
palette?: Palette;
|
|
19
20
|
INN: number | string;
|
|
20
21
|
onPointClick: (point: LocationPoint | CourierDeliveryPoint) => void;
|
package/dist/lib/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[id="@omnic/widget-locations"]{isolation:isolate;position:relative;font-family:var(--font);width:100%;height:100%}._root_c4o01_17{border:none;font-size:16px;font-weight:600;line-height:20px;cursor:pointer;transition:color .2s ease,background-color .2s ease}._root_c4o01_17:disabled{cursor:default;pointer-events:none;color:var(--color-text-disabled)}button._root_c4o01_17{padding-block:12px;min-width:240px;border-radius:var(--button-radius)}button._primary_c4o01_37{color:var(--color-text-light);background-color:var(--color-primary)}@media (any-hover: hover){button._primary_c4o01_37:hover{background-color:var(--color-primary-dark)}}button._primary_c4o01_37:disabled{background-color:var(--color-border)}button._secondary_c4o01_50{color:var(--color-primary);background-color:var(--color-secondary)}button._secondary_c4o01_50:disabled{background-color:var(--color-border)}a._root_c4o01_17{text-decoration:none}a._primary_c4o01_37{color:var(--color-primary)}@media (any-hover: hover){a._primary_c4o01_37:hover{color:var(--color-primary-dark)}}a._secondary_c4o01_50{color:var(--color-text-disabled)}@media (any-hover: hover){a._secondary_c4o01_50:hover{color:var(--color-text-dark)}}._root_1k7kn_17{display:flex;flex-direction:column;gap:8px}._root_1k7kn_17 ._control_1k7kn_22{min-height:56px;border-color:var(--color-border);border-radius:var(--radius)}._root_1k7kn_17 ._singleValue_1k7kn_27{color:var(--color-primary);font-weight:600;font-size:16px;line-height:20px}._root_1k7kn_17 ._indicatorSeparator_1k7kn_33{display:none}._root_1k7kn_17 ._option_1k7kn_36{padding:16px;font-size:16px;font-weight:600;line-height:20px}._root_1k7kn_17 ._option_1k7kn_36:not(:last-child){border-bottom:1px solid var(--color-border)}._root_1k7kn_17 ._menu_1k7kn_45{border-radius:var(--radius);border-color:var(--color-border)}._root_1k7kn_17 ._clearIndicator_1k7kn_49{cursor:pointer;transition:color .2s ease;color:var(--color-text-disabled)}@media (any-hover: hover){._root_1k7kn_17 ._clearIndicator_1k7kn_49:hover{color:var(--color-primary)}}._root_1k7kn_17 ._dropdownIndicator_1k7kn_59{cursor:pointer;color:var(--color-text-disabled);transition:color .2s ease}@media (any-hover: hover){._root_1k7kn_17 ._dropdownIndicator_1k7kn_59:hover{color:var(--color-primary)}}._root_1k7kn_17 ._dropdownIndicatorFocused_1k7kn_69{color:var(--color-primary)}._root_1k7kn_17 ._indicatorsContainer_1k7kn_72{padding-inline:20px;gap:10px}._root_1k7kn_17 ._valueContainer_1k7kn_76{padding-left:20px}._label_1k7kn_80{font-size:16px;font-weight:600;line-height:22px}._option_1mi6h_17{display:grid;gap:12px;grid-template-columns:auto 1fr auto;align-items:center}._address_1mi6h_24{font-size:14px;font-weight:400;line-height:1.4}._root_1rkap_17{display:flex;align-items:center;gap:10px}@media (min-width: 1280px){._root_1rkap_17{justify-content:space-between}}@media (max-width: 1279px){._root_1rkap_17{flex-direction:column;align-items:flex-start}}._nav_1rkap_34{display:flex;align-items:center;gap:40px}@media (max-width: 1279px){._nav_1rkap_34{width:100%;gap:20px;justify-content:space-between}}._navItem_1rkap_47{text-align:center}@media (max-width: 1279px){._navItem_1rkap_47{font-size:14px}}._locationSelector_1rkap_56{flex:0 1 480px}._root_77he5_17{margin-block:24px;border:none;height:1px;background-color:var(--color-secondary);border-radius:1px}._root_xl1mf_17{appearance:none;background-color:var(--color-text-light);border-radius:100vw;margin:0}._root_xl1mf_17:before{content:"";display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border);background-color:var(--color-secondary);vertical-align:middle;transition:background-color .2s ease,border-color .2s ease}._root_xl1mf_17:checked:before{background-color:var(--color-primary);border-color:var(--color-primary-dark)}._root_xl1mf_17:disabled{border-color:var(--color-text-disabled);background-color:var(--color-text-disabled)}._root_xl1mf_17:not(:disabled){cursor:pointer}._label_xl1mf_48{display:flex;align-items:center;gap:8px;padding-block:8px;transition:color .2s ease;font-size:14px;font-weight:600;line-height:16px}._label_xl1mf_48:has(._root_xl1mf_17:checked){color:var(--color-primary)}._label_xl1mf_48:has(._root_xl1mf_17:not(:disabled)){cursor:pointer}._root_206i4_17{display:flex;flex-direction:column;gap:10px}._root_x06qj_17{display:flex;flex-direction:column;gap:8px}._body_x06qj_23{display:flex;flex-direction:column}._legend_x06qj_28{font-size:16px;font-weight:600;line-height:22px}._root_1ulgi_17{display:flex;gap:10px;align-items:center;cursor:pointer}._text_1ulgi_24{font-size:16px;line-height:19px}._logo_atmqw_17{margin-bottom:30px}._typeFilter_atmqw_21{margin-bottom:44px}._separator_atmqw_25{margin-top:48px}@media (max-width: 1279px){._currentLocation_atmqw_30{width:100%;justify-content:flex-end}}._root_1fw02_17{position:fixed;top:20px;left:40px;z-index:9999;background-color:var(--color-primary-dark);color:var(--color-text-light);padding:10px;border-radius:var(--radius);display:grid;grid-template-rows:auto 0;overflow:hidden;box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);min-width:280px;transition:opacity .2s ease}._root_1fw02_17._open_1fw02_33{grid-template-rows:auto min-content}._content_1fw02_37{margin-top:10px;display:grid;gap:10px;opacity:0;overflow:hidden}._open_1fw02_33 ._content_1fw02_37{opacity:1}._content_1fw02_37 label{display:grid;gap:5px;font-size:12px}._content_1fw02_37 label span{text-transform:uppercase;font-weight:600;user-select:none}._content_1fw02_37 label input::placeholder{text-transform:uppercase}._header_1fw02_61{display:flex;align-items:center;justify-content:space-between;overflow:hidden;font-size:16px;font-weight:600}._close_1fw02_70{cursor:pointer;transition:transform .2s ease;transform:rotate(45deg)}._open_1fw02_33 ._close_1fw02_70{transform:rotate(0)}._root_19d2n_17{position:fixed;inset:0;opacity:0;transition:opacity .2s ease;isolation:isolate;pointer-events:none;backdrop-filter:blur(5px)}._root_19d2n_17._open_19d2n_26{opacity:1;pointer-events:all}._overlay_19d2n_31{position:absolute;inset:0;width:200%;background-color:#1d366566;z-index:0}._container_19d2n_39{position:absolute;top:0;right:0;bottom:0;z-index:1;width:580px;background-color:var(--color-text-light);transition:transform .2s ease;transform:translate(100%)}._root_19d2n_17._open_19d2n_26 ._container_19d2n_39{transform:translate(0)}._header_19d2n_54{display:grid;padding:20px;grid-template-areas:". close";grid-template-columns:1fr auto;margin-bottom:20px}._close_19d2n_62{grid-area:close;cursor:pointer}._body_19d2n_67{padding:0 30px 30px}._submit_19no7_17{margin-top:20px;width:100%}._option_19no7_22{display:flex;align-items:center;justify-content:space-between}._selector_19no7_28+._selector_19no7_28{margin-top:40px}._root_1nkqp_17{display:flex;flex-direction:column;gap:16px}._root_1nkqp_17 ._submit_1nkqp_22{min-width:unset;padding-inline:32px}._root_1nkqp_17 ._details_1nkqp_26{display:flex;align-items:center;gap:4px}._header_1nkqp_32{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}._title_1nkqp_40{font-size:16px;line-height:22px;font-weight:600}._description_1nkqp_46{font-size:14px;font-weight:400;line-height:20px}._actions_1nkqp_52{display:flex;gap:16px;align-items:center}._root_18umt_17{width:100%;height:100%;border:1px solid var(--color-border);border-radius:var(--radius);position:relative;isolation:isolate}._root_18umt_17 div[role=dialog]>button{opacity:1!important;top:12px!important;right:12px!important;width:26px!important;height:26px!important}._root_18umt_17 div[role=dialog]>button>span{margin:0!important;width:100%!important;height:100%!important;background-color:var(--color-primary);transition:background-color .2s ease}._root_18umt_17 div[role=dialog]>button>span:hover{background-color:var(--color-primary-dark)}._balloon_18umt_43{max-width:400px}._details_18umt_47{--offset: 20px;z-index:20;top:var(--offset);right:var(--offset);bottom:var(--offset);width:calc(50% - var(--offset))}@media (max-width: 1279px){._details_18umt_47{left:var(--offset);width:calc(100% - var(--offset) * 2)}}._cluster_18umt_62:has(img)>img{display:none}._cluster_18umt_62:has(img)>div{font-size:13px!important;font-weight:400!important;border:8px solid var(--color-primary);border-radius:100vw;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-text-light);box-shadow:0 0 0 2px var(--color-text-light-transparent)}._overlay_18umt_78{position:absolute;background-color:var(--color-text-light-transparent);backdrop-filter:blur(5px)}._root_3yn0y_17{top:0;left:0;width:100%;height:100%;z-index:var(--z-index-overlay);background-color:var(--color-text-light);display:flex;justify-content:center;align-items:center;overflow:hidden}._loader_lfbq9_17,._loader_lfbq9_17:after{border-radius:50%;width:10em;height:10em}._loader_lfbq9_17{margin:60px auto;font-size:10px;position:relative;text-indent:-9999em;border-top:1.1em solid var(--color-text-disabled);border-right:1.1em solid var(--color-text-disabled);border-bottom:1.1em solid var(--color-text-disabled);border-left:1.1em solid var(--color-primary);transform:translateZ(0);animation:_loader_lfbq9_17 1.1s infinite linear}@-webkit-keyframes _loader_lfbq9_17{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _loader_lfbq9_17{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._root_1k9f4_17{display:flex;flex-direction:column;gap:16px}._root_1k9f4_17 ._details_1k9f4_22{width:100%;min-width:280px;display:flex;align-items:center;justify-content:center}._header_1k9f4_30{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}._title_1k9f4_38{font-size:16px;line-height:22px;font-weight:600}._description_1k9f4_44{font-size:14px;font-weight:400;line-height:20px}._actions_1k9f4_50{display:flex;gap:16px;align-items:center}._errorVariant_1k9f4_56 svg{color:var(--color-error)}._errorVariant_1k9f4_56 ._title_1k9f4_38{color:var(--color-error)}._root_5e2zu_17{background-color:var(--color-secondary);border-radius:100vw;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}@media (any-hover: hover){._root_5e2zu_17:hover{background-color:var(--color-border)}}._root_5e2zu_17._active_5e2zu_29{background-color:var(--color-primary);color:var(--color-text-light)}._root_wbbow_17{border-radius:var(--radius);border:1px solid var(--color-border);font-family:var(--font);padding:18px 20px}._root_1x2s4_17{position:absolute;background-color:var(--color-text-light);box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}._root_1x2s4_17 ._submit_1x2s4_28{width:100%}._close_1x2s4_32{position:absolute;top:16px;right:16px;color:var(--color-primary);cursor:pointer}@media (any-hover: hover){._close_1x2s4_32:hover{color:var(--color-primary-dark)}}._title_1x2s4_45{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:20px}._title_1x2s4_45 svg{width:50px;height:50px}._header_1x2s4_58{padding:24px 16px 16px;border-bottom:1px solid var(--color-border)}._content_1x2s4_63{display:flex;flex-direction:column;gap:24px;padding:16px;font-size:14px;line-height:20px;overflow-y:auto}._content_1x2s4_63::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._content_1x2s4_63::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._content_1x2s4_63::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._content_1x2s4_63::-webkit-scrollbar-thumb:hover,._content_1x2s4_63::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._content_1x2s4_63::-webkit-scrollbar-thumb:hover{cursor:pointer}}._section_1x2s4_97{display:flex;flex-direction:column;gap:4px}._section_1x2s4_97 label{font-weight:600}._chips_1x2s4_106{display:flex;gap:8px}._actions_1x2s4_111{padding:16px 16px 24px}._commentSection_1x2s4_115{flex:1}._comment_1x2s4_115{height:100%}._root_bdso3_17{position:absolute;background-color:var(--color-text-light);box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}._root_bdso3_17 ._submit_bdso3_28{width:100%}._close_bdso3_32{position:absolute;top:16px;right:16px;color:var(--color-primary);cursor:pointer}@media (any-hover: hover){._close_bdso3_32:hover{color:var(--color-primary-dark)}}._title_bdso3_45{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:20px}._title_bdso3_45 svg{width:50px;height:50px}._header_bdso3_58{padding:24px 16px 16px;border-bottom:1px solid var(--color-border)}._content_bdso3_63{display:flex;flex-direction:column;gap:24px;padding:16px;font-size:14px;line-height:20px;overflow-y:auto}._content_bdso3_63::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._content_bdso3_63::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._content_bdso3_63::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._content_bdso3_63::-webkit-scrollbar-thumb:hover,._content_bdso3_63::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._content_bdso3_63::-webkit-scrollbar-thumb:hover{cursor:pointer}}._section_bdso3_97{display:flex;flex-direction:column;gap:4px}._section_bdso3_97 label{font-weight:600}._chips_bdso3_106{display:flex;gap:8px}._services_bdso3_111{display:flex;flex-direction:column;gap:4px}._images_bdso3_117{display:flex;gap:20px;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;min-height:165px}._images_bdso3_117::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._images_bdso3_117::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._images_bdso3_117::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._images_bdso3_117::-webkit-scrollbar-thumb:hover,._images_bdso3_117::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._images_bdso3_117::-webkit-scrollbar-thumb:hover{cursor:pointer}}._image_bdso3_117{flex-shrink:0;width:220px;aspect-ratio:220/140;scroll-snap-align:start;border-radius:var(--radius);object-fit:cover}._actions_bdso3_159{padding:16px 16px 24px}._scheduleItem_bdso3_163{padding:0}._root_1bmjr_17{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);position:relative;isolation:isolate}._root_1bmjr_17 .ymaps-2-1-79-balloon__close{width:26px;height:26px;position:absolute;top:12px;right:12px}._root_1bmjr_17 .ymaps-2-1-79-balloon__close>.ymaps-2-1-79-balloon__close-button{width:100%;height:100%;background-image:none;background-color:var(--color-primary);opacity:1;-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22/%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22/%3E%3C/svg%3E);transition:background-color .2s ease}@media (any-hover: hover){._root_1bmjr_17 .ymaps-2-1-79-balloon__close>.ymaps-2-1-79-balloon__close-button:hover{background-color:var(--color-primary-dark)}}._root_1bmjr_17 .ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content{margin-right:0;padding:16px;border-radius:var(--radius)}._root_1bmjr_17 .ymaps-2-1-79-balloon{box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border-radius:var(--radius)}._overlay_1bmjr_55{position:absolute;background-color:var(--color-text-light-transparent);backdrop-filter:blur(5px)}._details_1bmjr_61{--offset: 20px;z-index:20;top:var(--offset);right:var(--offset);bottom:var(--offset);width:calc(50% - var(--offset))}@media (max-width: 1279px){._details_1bmjr_61{left:var(--offset);width:calc(100% - var(--offset) * 2)}}._root_1l4d5_17{min-height:100%;display:grid;grid-template-areas:"sidebar header header" "sidebar map map" "sidebar map map";grid-template-columns:320px 1fr 1fr;grid-template-rows:80px 1fr 1fr;padding-inline:40px;padding-bottom:40px}@media (max-width: 1279px){._root_1l4d5_17{grid-template-areas:"header" "sidebar" "map" "map";grid-template-columns:1fr;grid-template-rows:80px 1fr 1fr;padding-inline:20px;padding-block:20px;gap:20px}}[id="@omnic/widget-locations"]{--color-primary: #1760ee;--color-primary-dark: #194fb8;--color-secondary: #dfe1e5;--color-error: #cc0000;--color-text-dark: #000000;--color-text-light: #ffffff;--color-text-light-transparent: #ffffff75;--color-text-disabled: #929db2;--color-text-disabled-transparent: #929db233;--color-border: #d3d7de;--radius: 8px;--button-radius: 8px;--font: "Roboto", sans-serif}._map_1y1l5_17{grid-area:map}._sidebar_1y1l5_21{grid-area:sidebar;margin-top:24px;margin-right:40px}@media (max-width: 1279px){._sidebar_1y1l5_21{margin-top:0;margin-right:0}}._header_1y1l5_33{grid-area:header}
|
|
1
|
+
[id="@omnic/widget-locations"]{isolation:isolate;position:relative;font-family:var(--font);width:100%;height:100%}._root_c4o01_17{border:none;font-size:16px;font-weight:600;line-height:20px;cursor:pointer;transition:color .2s ease,background-color .2s ease}._root_c4o01_17:disabled{cursor:default;pointer-events:none;color:var(--color-text-disabled)}button._root_c4o01_17{padding-block:12px;min-width:240px;border-radius:var(--button-radius)}button._primary_c4o01_37{color:var(--color-text-light);background-color:var(--color-primary)}@media (any-hover: hover){button._primary_c4o01_37:hover{background-color:var(--color-primary-dark)}}button._primary_c4o01_37:disabled{background-color:var(--color-border)}button._secondary_c4o01_50{color:var(--color-primary);background-color:var(--color-secondary)}button._secondary_c4o01_50:disabled{background-color:var(--color-border)}a._root_c4o01_17{text-decoration:none}a._primary_c4o01_37{color:var(--color-primary)}@media (any-hover: hover){a._primary_c4o01_37:hover{color:var(--color-primary-dark)}}a._secondary_c4o01_50{color:var(--color-text-disabled)}@media (any-hover: hover){a._secondary_c4o01_50:hover{color:var(--color-text-dark)}}._root_1k7kn_17{display:flex;flex-direction:column;gap:8px}._root_1k7kn_17 ._control_1k7kn_22{min-height:56px;border-color:var(--color-border);border-radius:var(--radius)}._root_1k7kn_17 ._singleValue_1k7kn_27{color:var(--color-primary);font-weight:600;font-size:16px;line-height:20px}._root_1k7kn_17 ._indicatorSeparator_1k7kn_33{display:none}._root_1k7kn_17 ._option_1k7kn_36{padding:16px;font-size:16px;font-weight:600;line-height:20px}._root_1k7kn_17 ._option_1k7kn_36:not(:last-child){border-bottom:1px solid var(--color-border)}._root_1k7kn_17 ._menu_1k7kn_45{border-radius:var(--radius);border-color:var(--color-border)}._root_1k7kn_17 ._clearIndicator_1k7kn_49{cursor:pointer;transition:color .2s ease;color:var(--color-text-disabled)}@media (any-hover: hover){._root_1k7kn_17 ._clearIndicator_1k7kn_49:hover{color:var(--color-primary)}}._root_1k7kn_17 ._dropdownIndicator_1k7kn_59{cursor:pointer;color:var(--color-text-disabled);transition:color .2s ease}@media (any-hover: hover){._root_1k7kn_17 ._dropdownIndicator_1k7kn_59:hover{color:var(--color-primary)}}._root_1k7kn_17 ._dropdownIndicatorFocused_1k7kn_69{color:var(--color-primary)}._root_1k7kn_17 ._indicatorsContainer_1k7kn_72{padding-inline:20px;gap:10px}._root_1k7kn_17 ._valueContainer_1k7kn_76{padding-left:20px}._label_1k7kn_80{font-size:16px;font-weight:600;line-height:22px}._option_1mi6h_17{display:grid;gap:12px;grid-template-columns:auto 1fr auto;align-items:center}._address_1mi6h_24{font-size:14px;font-weight:400;line-height:1.4}._root_1rkap_17{display:flex;align-items:center;gap:10px}@media (min-width: 1280px){._root_1rkap_17{justify-content:space-between}}@media (max-width: 1279px){._root_1rkap_17{flex-direction:column;align-items:flex-start}}._nav_1rkap_34{display:flex;align-items:center;gap:40px}@media (max-width: 1279px){._nav_1rkap_34{width:100%;gap:20px;justify-content:space-between}}._navItem_1rkap_47{text-align:center}@media (max-width: 1279px){._navItem_1rkap_47{font-size:14px}}._locationSelector_1rkap_56{flex:0 1 480px}._root_1fw02_17{position:fixed;top:20px;left:40px;z-index:9999;background-color:var(--color-primary-dark);color:var(--color-text-light);padding:10px;border-radius:var(--radius);display:grid;grid-template-rows:auto 0;overflow:hidden;box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);min-width:280px;transition:opacity .2s ease}._root_1fw02_17._open_1fw02_33{grid-template-rows:auto min-content}._content_1fw02_37{margin-top:10px;display:grid;gap:10px;opacity:0;overflow:hidden}._open_1fw02_33 ._content_1fw02_37{opacity:1}._content_1fw02_37 label{display:grid;gap:5px;font-size:12px}._content_1fw02_37 label span{text-transform:uppercase;font-weight:600;user-select:none}._content_1fw02_37 label input::placeholder{text-transform:uppercase}._header_1fw02_61{display:flex;align-items:center;justify-content:space-between;overflow:hidden;font-size:16px;font-weight:600}._close_1fw02_70{cursor:pointer;transition:transform .2s ease;transform:rotate(45deg)}._open_1fw02_33 ._close_1fw02_70{transform:rotate(0)}._root_77he5_17{margin-block:24px;border:none;height:1px;background-color:var(--color-secondary);border-radius:1px}._root_xl1mf_17{appearance:none;background-color:var(--color-text-light);border-radius:100vw;margin:0}._root_xl1mf_17:before{content:"";display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border);background-color:var(--color-secondary);vertical-align:middle;transition:background-color .2s ease,border-color .2s ease}._root_xl1mf_17:checked:before{background-color:var(--color-primary);border-color:var(--color-primary-dark)}._root_xl1mf_17:disabled{border-color:var(--color-text-disabled);background-color:var(--color-text-disabled)}._root_xl1mf_17:not(:disabled){cursor:pointer}._label_xl1mf_48{display:flex;align-items:center;gap:8px;padding-block:8px;transition:color .2s ease;font-size:14px;font-weight:600;line-height:16px}._label_xl1mf_48:has(._root_xl1mf_17:checked){color:var(--color-primary)}._label_xl1mf_48:has(._root_xl1mf_17:not(:disabled)){cursor:pointer}._root_206i4_17{display:flex;flex-direction:column;gap:10px}._root_x06qj_17{display:flex;flex-direction:column;gap:8px}._body_x06qj_23{display:flex;flex-direction:column}._legend_x06qj_28{font-size:16px;font-weight:600;line-height:22px}._root_1ulgi_17{display:flex;gap:10px;align-items:center;cursor:pointer}._text_1ulgi_24{font-size:16px;line-height:19px}._logo_atmqw_17{margin-bottom:30px}._typeFilter_atmqw_21{margin-bottom:44px}._separator_atmqw_25{margin-top:48px}@media (max-width: 1279px){._currentLocation_atmqw_30{width:100%;justify-content:flex-end}}._root_12hu3_17{display:flex;flex-direction:column;gap:8px}._input_12hu3_23{width:-webkit-fill-available;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-text-light);font-size:16px;line-height:20px;outline:var(--color-primary)}._input_12hu3_23::placeholder{color:var(--color-text-disabled)}._label_12hu3_37{font-size:16px;font-weight:600;line-height:22px}._root_19d2n_17{position:fixed;inset:0;opacity:0;transition:opacity .2s ease;isolation:isolate;pointer-events:none;backdrop-filter:blur(5px)}._root_19d2n_17._open_19d2n_26{opacity:1;pointer-events:all}._overlay_19d2n_31{position:absolute;inset:0;width:200%;background-color:#1d366566;z-index:0}._container_19d2n_39{position:absolute;top:0;right:0;bottom:0;z-index:1;width:580px;background-color:var(--color-text-light);transition:transform .2s ease;transform:translate(100%)}._root_19d2n_17._open_19d2n_26 ._container_19d2n_39{transform:translate(0)}._header_19d2n_54{display:grid;padding:20px;grid-template-areas:". close";grid-template-columns:1fr auto;margin-bottom:20px}._close_19d2n_62{grid-area:close;cursor:pointer}._body_19d2n_67{padding:0 30px 30px}._submit_19no7_17{margin-top:20px;width:100%}._option_19no7_22{display:flex;align-items:center;justify-content:space-between}._selector_19no7_28+._selector_19no7_28{margin-top:40px}._root_1nkqp_17{display:flex;flex-direction:column;gap:16px}._root_1nkqp_17 ._submit_1nkqp_22{min-width:unset;padding-inline:32px}._root_1nkqp_17 ._details_1nkqp_26{display:flex;align-items:center;gap:4px}._header_1nkqp_32{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}._title_1nkqp_40{font-size:16px;line-height:22px;font-weight:600}._description_1nkqp_46{font-size:14px;font-weight:400;line-height:20px}._actions_1nkqp_52{display:flex;gap:16px;align-items:center}._root_18umt_17{width:100%;height:100%;border:1px solid var(--color-border);border-radius:var(--radius);position:relative;isolation:isolate}._root_18umt_17 div[role=dialog]>button{opacity:1!important;top:12px!important;right:12px!important;width:26px!important;height:26px!important}._root_18umt_17 div[role=dialog]>button>span{margin:0!important;width:100%!important;height:100%!important;background-color:var(--color-primary);transition:background-color .2s ease}._root_18umt_17 div[role=dialog]>button>span:hover{background-color:var(--color-primary-dark)}._balloon_18umt_43{max-width:400px}._details_18umt_47{--offset: 20px;z-index:20;top:var(--offset);right:var(--offset);bottom:var(--offset);width:calc(50% - var(--offset))}@media (max-width: 1279px){._details_18umt_47{left:var(--offset);width:calc(100% - var(--offset) * 2)}}._cluster_18umt_62:has(img)>img{display:none}._cluster_18umt_62:has(img)>div{font-size:13px!important;font-weight:400!important;border:8px solid var(--color-primary);border-radius:100vw;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-text-light);box-shadow:0 0 0 2px var(--color-text-light-transparent)}._overlay_18umt_78{position:absolute;background-color:var(--color-text-light-transparent);backdrop-filter:blur(5px)}._root_3yn0y_17{top:0;left:0;width:100%;height:100%;z-index:var(--z-index-overlay);background-color:var(--color-text-light);display:flex;justify-content:center;align-items:center;overflow:hidden}._loader_lfbq9_17,._loader_lfbq9_17:after{border-radius:50%;width:10em;height:10em}._loader_lfbq9_17{margin:60px auto;font-size:10px;position:relative;text-indent:-9999em;border-top:1.1em solid var(--color-text-disabled);border-right:1.1em solid var(--color-text-disabled);border-bottom:1.1em solid var(--color-text-disabled);border-left:1.1em solid var(--color-primary);transform:translateZ(0);animation:_loader_lfbq9_17 1.1s infinite linear}@-webkit-keyframes _loader_lfbq9_17{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _loader_lfbq9_17{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._root_1k9f4_17{display:flex;flex-direction:column;gap:16px}._root_1k9f4_17 ._details_1k9f4_22{width:100%;min-width:280px;display:flex;align-items:center;justify-content:center}._header_1k9f4_30{display:flex;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}._title_1k9f4_38{font-size:16px;line-height:22px;font-weight:600}._description_1k9f4_44{font-size:14px;font-weight:400;line-height:20px}._actions_1k9f4_50{display:flex;gap:16px;align-items:center}._errorVariant_1k9f4_56 svg{color:var(--color-error)}._errorVariant_1k9f4_56 ._title_1k9f4_38{color:var(--color-error)}._root_5e2zu_17{background-color:var(--color-secondary);border-radius:100vw;padding:8px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease}@media (any-hover: hover){._root_5e2zu_17:hover{background-color:var(--color-border)}}._root_5e2zu_17._active_5e2zu_29{background-color:var(--color-primary);color:var(--color-text-light)}._root_wbbow_17{border-radius:var(--radius);border:1px solid var(--color-border);font-family:var(--font);padding:18px 20px}._root_1x2s4_17{position:absolute;background-color:var(--color-text-light);box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}._root_1x2s4_17 ._submit_1x2s4_28{width:100%}._close_1x2s4_32{position:absolute;top:16px;right:16px;color:var(--color-primary);cursor:pointer}@media (any-hover: hover){._close_1x2s4_32:hover{color:var(--color-primary-dark)}}._title_1x2s4_45{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:20px}._title_1x2s4_45 svg{width:50px;height:50px}._header_1x2s4_58{padding:24px 16px 16px;border-bottom:1px solid var(--color-border)}._content_1x2s4_63{display:flex;flex-direction:column;gap:24px;padding:16px;font-size:14px;line-height:20px;overflow-y:auto}._content_1x2s4_63::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._content_1x2s4_63::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._content_1x2s4_63::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._content_1x2s4_63::-webkit-scrollbar-thumb:hover,._content_1x2s4_63::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._content_1x2s4_63::-webkit-scrollbar-thumb:hover{cursor:pointer}}._section_1x2s4_97{display:flex;flex-direction:column;gap:4px}._section_1x2s4_97 label{font-weight:600}._chips_1x2s4_106{display:flex;gap:8px}._actions_1x2s4_111{padding:16px 16px 24px}._commentSection_1x2s4_115{flex:1}._comment_1x2s4_115{height:100%}._root_bdso3_17{position:absolute;background-color:var(--color-text-light);box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border:1px solid var(--color-border);border-radius:calc(var(--radius) * 2);overflow:hidden;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}._root_bdso3_17 ._submit_bdso3_28{width:100%}._close_bdso3_32{position:absolute;top:16px;right:16px;color:var(--color-primary);cursor:pointer}@media (any-hover: hover){._close_bdso3_32:hover{color:var(--color-primary-dark)}}._title_bdso3_45{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:20px}._title_bdso3_45 svg{width:50px;height:50px}._header_bdso3_58{padding:24px 16px 16px;border-bottom:1px solid var(--color-border)}._content_bdso3_63{display:flex;flex-direction:column;gap:24px;padding:16px;font-size:14px;line-height:20px;overflow-y:auto}._content_bdso3_63::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._content_bdso3_63::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._content_bdso3_63::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._content_bdso3_63::-webkit-scrollbar-thumb:hover,._content_bdso3_63::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._content_bdso3_63::-webkit-scrollbar-thumb:hover{cursor:pointer}}._section_bdso3_97{display:flex;flex-direction:column;gap:4px}._section_bdso3_97 label{font-weight:600}._chips_bdso3_106{display:flex;gap:8px}._services_bdso3_111{display:flex;flex-direction:column;gap:4px}._images_bdso3_117{display:flex;gap:20px;max-width:100%;overflow-x:auto;scroll-snap-type:x mandatory;min-height:165px}._images_bdso3_117::-webkit-scrollbar{width:4px;height:4px;cursor:pointer}._images_bdso3_117::-webkit-scrollbar-track{box-shadow:none;background-color:var(--color-text-light)}._images_bdso3_117::-webkit-scrollbar-thumb{border-radius:100vw;background-color:var(--color-border);cursor:pointer}@media (any-hover: hover){._images_bdso3_117::-webkit-scrollbar-thumb:hover,._images_bdso3_117::-webkit-scrollbar-thumb:active{background-color:var(--color-text-disabled)}}@media (any-hover: hover){._images_bdso3_117::-webkit-scrollbar-thumb:hover{cursor:pointer}}._image_bdso3_117{flex-shrink:0;width:220px;aspect-ratio:220/140;scroll-snap-align:start;border-radius:var(--radius);object-fit:cover}._actions_bdso3_159{padding:16px 16px 24px}._scheduleItem_bdso3_163{padding:0}._root_1bmjr_17{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);position:relative;isolation:isolate}._root_1bmjr_17 .ymaps-2-1-79-balloon__close{width:26px;height:26px;position:absolute;top:12px;right:12px}._root_1bmjr_17 .ymaps-2-1-79-balloon__close>.ymaps-2-1-79-balloon__close-button{width:100%;height:100%;background-image:none;background-color:var(--color-primary);opacity:1;-webkit-mask-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22/%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22/%3E%3C/svg%3E);transition:background-color .2s ease}@media (any-hover: hover){._root_1bmjr_17 .ymaps-2-1-79-balloon__close>.ymaps-2-1-79-balloon__close-button:hover{background-color:var(--color-primary-dark)}}._root_1bmjr_17 .ymaps-2-1-79-balloon__close+.ymaps-2-1-79-balloon__content{margin-right:0;padding:16px;border-radius:var(--radius)}._root_1bmjr_17 .ymaps-2-1-79-balloon{box-shadow:0 4px 16px 0 var(--color-text-disabled-transparent);border-radius:var(--radius)}._overlay_1bmjr_55{position:absolute;background-color:var(--color-text-light-transparent);backdrop-filter:blur(5px)}._details_1bmjr_61{--offset: 20px;z-index:20;top:var(--offset);right:var(--offset);bottom:var(--offset);width:calc(50% - var(--offset))}@media (max-width: 1279px){._details_1bmjr_61{left:var(--offset);width:calc(100% - var(--offset) * 2)}}._root_1l4d5_17{min-height:100%;display:grid;grid-template-areas:"sidebar header header" "sidebar map map" "sidebar map map";grid-template-columns:320px 1fr 1fr;grid-template-rows:80px 1fr 1fr;padding-inline:40px;padding-bottom:40px}@media (max-width: 1279px){._root_1l4d5_17{grid-template-areas:"header" "sidebar" "map" "map";grid-template-columns:1fr;grid-template-rows:80px 1fr 1fr;padding-inline:20px;padding-block:20px;gap:20px}}[id="@omnic/widget-locations"]{--color-primary: #1760ee;--color-primary-dark: #194fb8;--color-secondary: #dfe1e5;--color-error: #cc0000;--color-text-dark: #000000;--color-text-light: #ffffff;--color-text-light-transparent: #ffffff75;--color-text-disabled: #929db2;--color-text-disabled-transparent: #929db233;--color-border: #d3d7de;--radius: 8px;--button-radius: 8px;--font: "Roboto", sans-serif}._map_1y1l5_17{grid-area:map}._sidebar_1y1l5_21{grid-area:sidebar;margin-top:24px;margin-right:40px}@media (max-width: 1279px){._sidebar_1y1l5_21{margin-top:0;margin-right:0}}._header_1y1l5_33{grid-area:header}
|