@@ -267,81 +267,155 @@ declare namespace google.maps {
267267 * Identifiers used to specify the placement of controls on the map. Controls
268268 * are positioned relative to other controls in the same layout position.
269269 * Controls that are added first are positioned closer to the edge of the map.
270- * <code> <br> +----------------+
271- * <br> + TL TC TR
272- * +
273- * <br> + LT RT
274- * +
275- * <br> + +
276- * <br> + LC RC
277- * +
278- * <br> + +
279- * <br> + LB RB
280- * +
281- * <br> + BL BC BR
282- * + <br> +----------------+ <br></code> Elements in the top or
283- * bottom row flow towards the middle of the row. Elements in the left or
284- * right column flow towards the middle of the column.
270+ * Usage of "logical values" (see <a
271+ * href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values">https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values</a>)
272+ * is recommended in order to be able to automatically support both
273+ * left-to-right (LTR) and right-to-left (RTL) layout contexts.<br>
274+ * <br>Logical values in LTR: <br> <pre>+----------------+
275+ * <br>| BSIS BSIC BSIE |
276+ * <br>| ISBS IEBS |
277+ * <br>| |
278+ * <br>| ISBC IEBC |
279+ * <br>| |
280+ * <br>| ISBE IEBE |
281+ * <br>| BEIS BEIC BEIE | <br>+----------------+</pre><br>
282+ * Logical values in RTL:<br> <pre>+----------------+
283+ * <br>| BSIE BSIC BSIS |
284+ * <br>| IEBS ISBS |
285+ * <br>| |
286+ * <br>| IEBC ISBC |
287+ * <br>| |
288+ * <br>| IEBE ISBE |
289+ * <br>| BEIE BEIC BEIS | <br>+----------------+</pre><br>
290+ * Legacy values:<br> <pre>+----------------+
291+ * <br>| TL TC TR |
292+ * <br>| LT RT
293+ * |
294+ * <br>| |
295+ * <br>| LC RC
296+ * |
297+ * <br>| |
298+ * <br>| LB RB
299+ * | <br>| BL BC BR |
300+ * <br>+----------------+</pre><br> Elements in the top or bottom row flow
301+ * towards the middle of the row. Elements in the left or right column flow
302+ * towards the middle of the column.
285303 *
286304 * Access by calling `const {ControlPosition} = await
287305 * google.maps.importLibrary("core")`. See
288306 * https://developers.google.com/maps/documentation/javascript/libraries.
289307 */
290308 export enum ControlPosition {
291309 /**
292- * Elements are positioned in the center of the bottom row .
310+ * Equivalent to BOTTOM_CENTER in both LTR and RTL .
293311 */
294- BOTTOM_CENTER = 0.0,
312+ BLOCK_END_INLINE_CENTER = 0.0,
313+ /**
314+ * Equivalent to BOTTOM_RIGHT in LTR, or BOTTOM_LEFT in RTL.
315+ */
316+ BLOCK_END_INLINE_END = 1.0,
317+ /**
318+ * Equivalent to BOTTOM_LEFT in LTR, or BOTTOM_RIGHT in RTL.
319+ */
320+ BLOCK_END_INLINE_START = 2.0,
321+ /**
322+ * Equivalent to TOP_CENTER in both LTR and RTL.
323+ */
324+ BLOCK_START_INLINE_CENTER = 3.0,
325+ /**
326+ * Equivalent to TOP_RIGHT in LTR, or TOP_LEFT in RTL.
327+ */
328+ BLOCK_START_INLINE_END = 4.0,
329+ /**
330+ * Equivalent to TOP_LEFT in LTR, or TOP_RIGHT in RTL.
331+ */
332+ BLOCK_START_INLINE_START = 5.0,
333+ /**
334+ * Elements are positioned in the center of the bottom row. Consider using
335+ * BLOCK_END_INLINE_CENTER instead.
336+ */
337+ BOTTOM_CENTER = 6.0,
295338 /**
296339 * Elements are positioned in the bottom left and flow towards the middle.
297- * Elements are positioned to the right of the Google logo.
340+ * Elements are positioned to the right of the Google logo. Consider using
341+ * BLOCK_END_INLINE_START instead.
298342 */
299- BOTTOM_LEFT = 1 .0,
343+ BOTTOM_LEFT = 7 .0,
300344 /**
301345 * Elements are positioned in the bottom right and flow towards the middle.
302- * Elements are positioned to the left of the copyrights.
346+ * Elements are positioned to the left of the copyrights. Consider using
347+ * BLOCK_END_INLINE_END instead.
348+ */
349+ BOTTOM_RIGHT = 8.0,
350+ /**
351+ * Equivalent to RIGHT_CENTER in LTR, or LEFT_CENTER in RTL.
352+ */
353+ INLINE_END_BLOCK_CENTER = 9.0,
354+ /**
355+ * Equivalent to RIGHT_BOTTOM in LTR, or LEFT_BOTTOM in RTL.
303356 */
304- BOTTOM_RIGHT = 2.0,
357+ INLINE_END_BLOCK_END = 10.0,
358+ /**
359+ * Equivalent to RIGHT_TOP in LTR, or LEFT_TOP in RTL.
360+ */
361+ INLINE_END_BLOCK_START = 11.0,
362+ /**
363+ * Equivalent to LEFT_CENTER in LTR, or RIGHT_CENTER in RTL.
364+ */
365+ INLINE_START_BLOCK_CENTER = 12.0,
366+ /**
367+ * Equivalent to LEFT_BOTTOM in LTR, or RIGHT_BOTTOM in RTL.
368+ */
369+ INLINE_START_BLOCK_END = 13.0,
370+ /**
371+ * Equivalent to LEFT_TOP in LTR, or RIGHT_TOP in RTL.
372+ */
373+ INLINE_START_BLOCK_START = 14.0,
305374 /**
306375 * Elements are positioned on the left, above bottom-left elements, and flow
307- * upwards.
376+ * upwards. Consider using INLINE_START_BLOCK_END instead.
308377 */
309- LEFT_BOTTOM = 3 .0,
378+ LEFT_BOTTOM = 15 .0,
310379 /**
311- * Elements are positioned in the center of the left side.
380+ * Elements are positioned in the center of the left side. Consider using
381+ * INLINE_START_BLOCK_CENTER instead.
312382 */
313- LEFT_CENTER = 4 .0,
383+ LEFT_CENTER = 16 .0,
314384 /**
315385 * Elements are positioned on the left, below top-left elements, and flow
316- * downwards.
386+ * downwards. Consider using INLINE_START_BLOCK_START instead.
317387 */
318- LEFT_TOP = 5 .0,
388+ LEFT_TOP = 17 .0,
319389 /**
320390 * Elements are positioned on the right, above bottom-right elements, and
321- * flow upwards.
391+ * flow upwards. Consider using INLINE_END_BLOCK_END instead.
322392 */
323- RIGHT_BOTTOM = 6 .0,
393+ RIGHT_BOTTOM = 18 .0,
324394 /**
325- * Elements are positioned in the center of the right side.
395+ * Elements are positioned in the center of the right side. Consider using
396+ * INLINE_END_BLOCK_CENTER instead.
326397 */
327- RIGHT_CENTER = 7 .0,
398+ RIGHT_CENTER = 19 .0,
328399 /**
329400 * Elements are positioned on the right, below top-right elements, and flow
330- * downwards.
401+ * downwards. Consider using INLINE_END_BLOCK_START instead.
331402 */
332- RIGHT_TOP = 8 .0,
403+ RIGHT_TOP = 20 .0,
333404 /**
334- * Elements are positioned in the center of the top row.
405+ * Elements are positioned in the center of the top row. Consider using
406+ * BLOCK_START_INLINE_CENTER instead.
335407 */
336- TOP_CENTER = 9 .0,
408+ TOP_CENTER = 21 .0,
337409 /**
338410 * Elements are positioned in the top left and flow towards the middle.
411+ * Consider using BLOCK_START_INLINE_START instead.
339412 */
340- TOP_LEFT = 10 .0,
413+ TOP_LEFT = 22 .0,
341414 /**
342415 * Elements are positioned in the top right and flow towards the middle.
416+ * Consider using BLOCK_START_INLINE_END instead.
343417 */
344- TOP_RIGHT = 11 .0,
418+ TOP_RIGHT = 23 .0,
345419 }
346420 /**
347421 * This interface provides convenience methods for generating matrices to use
@@ -1748,8 +1822,8 @@ declare namespace google.maps {
17481822 */
17491823 export interface FullscreenControlOptions {
17501824 /**
1751- * Position id. Used to specify the position of the control on the map. The
1752- * default position is <code>RIGHT_TOP</code>.
1825+ * Position id. Used to specify the position of the control on the map.
1826+ * @defaultValue {@link google.maps.ControlPosition.INLINE_END_BLOCK_START}
17531827 */
17541828 position?: google.maps.ControlPosition|null;
17551829 }
@@ -3521,10 +3595,12 @@ declare namespace google.maps {
35213595 *
35223596 * MapElement is an <code>HTMLElement</code> subclass for rendering maps.
35233597 * After loading the <code>maps</code> library, a map can be created in HTML.
3524- * For example:<br> <code><gmp-map
3598+ * For example: <pre> <code><gmp-map
35253599 * center="37.4220656,-122.0840897" zoom="10"
3526- * map-id="DEMO_MAP_ID"></gmp-map></code><br> <br>
3527- * Internally, it uses {@link google.maps.Map}, which can be accessed with the
3600+ * map-id="DEMO_MAP_ID"><br> <button
3601+ * slot="control-block-start-inline-end">Custom
3602+ * Control</button><br></gmp-map></code></pre> <br> Internally, it
3603+ * uses {@link google.maps.Map}, which can be accessed with the
35283604 * <code>innerMap</code> property.
35293605 *
35303606 * Access by calling `const {MapElement} = await
@@ -3538,11 +3614,13 @@ declare namespace google.maps {
35383614 *
35393615 * MapElement is an <code>HTMLElement</code> subclass for rendering maps.
35403616 * After loading the <code>maps</code> library, a map can be created in
3541- * HTML. For example:<br> <code><gmp-map
3617+ * HTML. For example: <pre> <code><gmp-map
35423618 * center="37.4220656,-122.0840897" zoom="10"
3543- * map-id="DEMO_MAP_ID"></gmp-map></code><br> <br>
3544- * Internally, it uses {@link google.maps.Map}, which can be accessed with
3545- * the <code>innerMap</code> property.
3619+ * map-id="DEMO_MAP_ID"><br> <button
3620+ * slot="control-block-start-inline-end">Custom
3621+ * Control</button><br></gmp-map></code></pre> <br> Internally,
3622+ * it uses {@link google.maps.Map}, which can be accessed with the
3623+ * <code>innerMap</code> property.
35463624 *
35473625 * Access by calling `const {MapElement} = await
35483626 * google.maps.importLibrary("maps")`. See
@@ -3996,7 +4074,8 @@ declare namespace google.maps {
39964074 mapTypeIds?: (string)[]|null;
39974075 /**
39984076 * Position id. Used to specify the position of the control on the map.
3999- * @defaultValue {@link google.maps.ControlPosition.TOP_RIGHT}
4077+ * @defaultValue {@link
4078+ * google.maps.ControlPosition.BLOCK_START_INLINE_START}
40004079 */
40014080 position?: google.maps.ControlPosition|null;
40024081 /**
@@ -4721,7 +4800,8 @@ declare namespace google.maps {
47214800 export interface MotionTrackingControlOptions {
47224801 /**
47234802 * Position id. This is used to specify the position of this control on the
4724- * panorama. The default position is <code>RIGHT_BOTTOM</code>.
4803+ * panorama.
4804+ * @defaultValue {@link google.maps.ControlPosition.INLINE_END_BLOCK_END}
47254805 */
47264806 position?: google.maps.ControlPosition|null;
47274807 }
@@ -4824,7 +4904,7 @@ declare namespace google.maps {
48244904 export interface PanControlOptions {
48254905 /**
48264906 * Position id. Used to specify the position of the control on the map.
4827- * @defaultValue {@link google.maps.ControlPosition.TOP_LEFT }
4907+ * @defaultValue {@link google.maps.ControlPosition.INLINE_END_BLOCK_END }
48284908 */
48294909 position?: google.maps.ControlPosition|null;
48304910 }
@@ -5498,8 +5578,8 @@ declare namespace google.maps {
54985578 */
54995579 export interface RotateControlOptions {
55005580 /**
5501- * Position id. Used to specify the position of the control on the map. The
5502- * default position is <code>TOP_LEFT</code>.
5581+ * Position id. Used to specify the position of the control on the map.
5582+ * @defaultValue {@link google.maps.ControlPosition.INLINE_START_BLOCK_END}
55035583 */
55045584 position?: google.maps.ControlPosition|null;
55055585 }
@@ -6977,8 +7057,8 @@ declare namespace google.maps {
69777057 */
69787058 export interface ZoomControlOptions {
69797059 /**
6980- * Position id. Used to specify the position of the control on the map. The
6981- * default position is <code>TOP_LEFT</code>.
7060+ * Position id. Used to specify the position of the control on the map.
7061+ * @defaultValue {@link google.maps.ControlPosition.INLINE_START_BLOCK_END}
69827062 */
69837063 position?: google.maps.ControlPosition|null;
69847064 }
0 commit comments