@react-native-kakao/map 2.2.7 → 3.1.0-next.2

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.
Files changed (165) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +5 -38
  3. package/RNCKakaoMap.podspec +16 -52
  4. package/android/build.gradle +12 -107
  5. package/android/consumer-rules.pro +2 -0
  6. package/android/src/main/AndroidManifest.xml +3 -1
  7. package/android/src/main/java/net/mjstudio/rnkakao/map/CameraOptions.kt +61 -0
  8. package/android/src/main/java/net/mjstudio/rnkakao/map/KakaoMapModule.kt +131 -0
  9. package/android/src/main/java/net/mjstudio/rnkakao/map/KakaoMapView.kt +1257 -0
  10. package/android/src/main/java/net/mjstudio/rnkakao/map/MapCameraCommands.kt +306 -0
  11. package/android/src/main/java/net/mjstudio/rnkakao/map/MapDimScreen.kt +431 -0
  12. package/android/src/main/java/net/mjstudio/rnkakao/map/MapGui.kt +899 -0
  13. package/android/src/main/java/net/mjstudio/rnkakao/map/MapImageLoader.kt +232 -0
  14. package/android/src/main/java/net/mjstudio/rnkakao/map/MapLabels.kt +1572 -0
  15. package/android/src/main/java/net/mjstudio/rnkakao/map/MapOptions.kt +360 -0
  16. package/android/src/main/java/net/mjstudio/rnkakao/map/MapRoutes.kt +805 -0
  17. package/android/src/main/java/net/mjstudio/rnkakao/map/MapShapes.kt +1096 -0
  18. package/android/src/main/java/net/mjstudio/rnkakao/map/MapUtilities.kt +495 -0
  19. package/expo-module.config.json +5 -0
  20. package/ios/CameraOptions.swift +41 -0
  21. package/ios/KakaoMapModule.swift +204 -0
  22. package/ios/KakaoMapView.swift +1018 -0
  23. package/ios/MapCameraCommands.swift +451 -0
  24. package/ios/MapDimScreen.swift +463 -0
  25. package/ios/MapGui.swift +1099 -0
  26. package/ios/MapImageLoader.swift +177 -0
  27. package/ios/MapLabels.swift +1676 -0
  28. package/ios/MapOptions.swift +374 -0
  29. package/ios/MapRoutes.swift +903 -0
  30. package/ios/MapShapes.swift +1294 -0
  31. package/ios/MapUnits.swift +20 -0
  32. package/ios/MapUtilities.swift +365 -0
  33. package/lib/commonjs/index.js +180 -29
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/index.web.js +18 -0
  36. package/lib/commonjs/index.web.js.map +1 -0
  37. package/lib/commonjs/package.json +1 -0
  38. package/lib/commonjs/types-assets.js +2 -0
  39. package/lib/commonjs/types-assets.js.map +1 -0
  40. package/lib/commonjs/types-camera.js +6 -0
  41. package/lib/commonjs/types-camera.js.map +1 -0
  42. package/lib/commonjs/types-dim.js +6 -0
  43. package/lib/commonjs/types-dim.js.map +1 -0
  44. package/lib/commonjs/types-gui.js +6 -0
  45. package/lib/commonjs/types-gui.js.map +1 -0
  46. package/lib/commonjs/types-labels.js +6 -0
  47. package/lib/commonjs/types-labels.js.map +1 -0
  48. package/lib/commonjs/types-routes.js +6 -0
  49. package/lib/commonjs/types-routes.js.map +1 -0
  50. package/lib/commonjs/types-shapes.js +6 -0
  51. package/lib/commonjs/types-shapes.js.map +1 -0
  52. package/lib/commonjs/types-utilities.js +6 -0
  53. package/lib/commonjs/types-utilities.js.map +1 -0
  54. package/lib/commonjs/types.js +6 -0
  55. package/lib/commonjs/types.js.map +1 -0
  56. package/lib/module/index.js +180 -22
  57. package/lib/module/index.js.map +1 -1
  58. package/lib/module/index.web.js +13 -0
  59. package/lib/module/index.web.js.map +1 -0
  60. package/lib/module/types-assets.js +2 -0
  61. package/lib/module/types-assets.js.map +1 -0
  62. package/lib/module/types-camera.js +4 -0
  63. package/lib/module/types-camera.js.map +1 -0
  64. package/lib/module/types-dim.js +4 -0
  65. package/lib/module/types-dim.js.map +1 -0
  66. package/lib/module/types-gui.js +4 -0
  67. package/lib/module/types-gui.js.map +1 -0
  68. package/lib/module/types-labels.js +4 -0
  69. package/lib/module/types-labels.js.map +1 -0
  70. package/lib/module/types-routes.js +4 -0
  71. package/lib/module/types-routes.js.map +1 -0
  72. package/lib/module/types-shapes.js +4 -0
  73. package/lib/module/types-shapes.js.map +1 -0
  74. package/lib/module/types-utilities.js +4 -0
  75. package/lib/module/types-utilities.js.map +1 -0
  76. package/lib/module/types.js +4 -0
  77. package/lib/module/types.js.map +1 -0
  78. package/lib/typescript/src/index.d.ts +59 -9
  79. package/lib/typescript/src/index.d.ts.map +1 -1
  80. package/lib/typescript/src/types-assets.d.ts +9 -0
  81. package/lib/typescript/src/types-assets.d.ts.map +1 -0
  82. package/lib/typescript/src/types-camera.d.ts +123 -0
  83. package/lib/typescript/src/types-camera.d.ts.map +1 -0
  84. package/lib/typescript/src/types-dim.d.ts +54 -0
  85. package/lib/typescript/src/types-dim.d.ts.map +1 -0
  86. package/lib/typescript/src/types-gui.d.ts +189 -0
  87. package/lib/typescript/src/types-gui.d.ts.map +1 -0
  88. package/lib/typescript/src/types-labels.d.ts +246 -0
  89. package/lib/typescript/src/types-labels.d.ts.map +1 -0
  90. package/lib/typescript/src/types-routes.d.ts +162 -0
  91. package/lib/typescript/src/types-routes.d.ts.map +1 -0
  92. package/lib/typescript/src/types-shapes.d.ts +253 -0
  93. package/lib/typescript/src/types-shapes.d.ts.map +1 -0
  94. package/lib/typescript/src/types-utilities.d.ts +130 -0
  95. package/lib/typescript/src/types-utilities.d.ts.map +1 -0
  96. package/lib/typescript/src/types.d.ts +222 -0
  97. package/lib/typescript/src/types.d.ts.map +1 -0
  98. package/package.json +24 -77
  99. package/src/index.tsx +322 -0
  100. package/src/index.web.tsx +46 -0
  101. package/src/types-assets.ts +8 -0
  102. package/src/types-camera.ts +97 -0
  103. package/src/types-dim.ts +54 -0
  104. package/src/types-gui.ts +171 -0
  105. package/src/types-labels.ts +207 -0
  106. package/src/types-routes.ts +118 -0
  107. package/src/types-shapes.ts +244 -0
  108. package/src/types-utilities.ts +115 -0
  109. package/src/types.ts +223 -0
  110. package/android/gradle.properties +0 -1
  111. package/android/src/main/AndroidManifestNew.xml +0 -2
  112. package/android/src/main/java/net/mjstudio/rnkakao/map/RNCKakaoMapModule.kt +0 -25
  113. package/android/src/main/java/net/mjstudio/rnkakao/map/RNCKakaoMapPackage.kt +0 -35
  114. package/android/src/newarch/KakaoMapSpec.kt +0 -7
  115. package/android/src/oldarch/KakaoMapSpec.kt +0 -14
  116. package/ios/Component/Map/RNCKakaoMapView.h +0 -23
  117. package/ios/Component/Map/RNCKakaoMapView.mm +0 -209
  118. package/ios/Component/Map/RNCKakaoMapViewManager.mm +0 -19
  119. package/ios/NativeModule/RNCKakaoMap.h +0 -7
  120. package/ios/NativeModule/RNCKakaoMap.mm +0 -19
  121. package/ios/NativeModule/RNCKakaoMapManager.swift +0 -7
  122. package/ios/Util/Util.h +0 -97
  123. package/lib/commonjs/component/KakaoMapView.js +0 -54
  124. package/lib/commonjs/component/KakaoMapView.js.map +0 -1
  125. package/lib/commonjs/spec/NativeKakaoMap.js +0 -9
  126. package/lib/commonjs/spec/NativeKakaoMap.js.map +0 -1
  127. package/lib/commonjs/spec/RNCKakaoMapViewNativeComponent.js +0 -15
  128. package/lib/commonjs/spec/RNCKakaoMapViewNativeComponent.js.map +0 -1
  129. package/lib/commonjs/type/type.js +0 -2
  130. package/lib/commonjs/type/type.js.map +0 -1
  131. package/lib/commonjs/util/Const.js +0 -14
  132. package/lib/commonjs/util/Const.js.map +0 -1
  133. package/lib/commonjs/util/Util.js +0 -15
  134. package/lib/commonjs/util/Util.js.map +0 -1
  135. package/lib/module/component/KakaoMapView.js +0 -48
  136. package/lib/module/component/KakaoMapView.js.map +0 -1
  137. package/lib/module/spec/NativeKakaoMap.js +0 -3
  138. package/lib/module/spec/NativeKakaoMap.js.map +0 -1
  139. package/lib/module/spec/RNCKakaoMapViewNativeComponent.js +0 -10
  140. package/lib/module/spec/RNCKakaoMapViewNativeComponent.js.map +0 -1
  141. package/lib/module/type/type.js +0 -2
  142. package/lib/module/type/type.js.map +0 -1
  143. package/lib/module/util/Const.js +0 -8
  144. package/lib/module/util/Const.js.map +0 -1
  145. package/lib/module/util/Util.js +0 -9
  146. package/lib/module/util/Util.js.map +0 -1
  147. package/lib/typescript/src/component/KakaoMapView.d.ts +0 -25
  148. package/lib/typescript/src/component/KakaoMapView.d.ts.map +0 -1
  149. package/lib/typescript/src/spec/NativeKakaoMap.d.ts +0 -7
  150. package/lib/typescript/src/spec/NativeKakaoMap.d.ts.map +0 -1
  151. package/lib/typescript/src/spec/RNCKakaoMapViewNativeComponent.d.ts +0 -32
  152. package/lib/typescript/src/spec/RNCKakaoMapViewNativeComponent.d.ts.map +0 -1
  153. package/lib/typescript/src/type/type.d.ts +0 -8
  154. package/lib/typescript/src/type/type.d.ts.map +0 -1
  155. package/lib/typescript/src/util/Const.d.ts +0 -8
  156. package/lib/typescript/src/util/Const.d.ts.map +0 -1
  157. package/lib/typescript/src/util/Util.d.ts +0 -3
  158. package/lib/typescript/src/util/Util.d.ts.map +0 -1
  159. package/src/component/KakaoMapView.tsx +0 -82
  160. package/src/index.ts +0 -43
  161. package/src/spec/NativeKakaoMap.ts +0 -8
  162. package/src/spec/RNCKakaoMapViewNativeComponent.ts +0 -38
  163. package/src/type/type.ts +0 -7
  164. package/src/util/Const.ts +0 -7
  165. package/src/util/Util.ts +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-camera.d.ts","sourceRoot":"","sources":["../../../src/types-camera.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { GeographicPolygonGeometry, ModelPolygonGeometry, PolygonStyleSet, ShapeWaveAnimation } from './types-shapes';
2
+ export type DimScreenCover = 'map' | 'mapAndRoute' | 'mapAndLabel' | 'all';
3
+ export type DimScreenHighlight = {
4
+ id: string;
5
+ styleSetId: string;
6
+ geometry: GeographicPolygonGeometry | ModelPolygonGeometry;
7
+ visible?: boolean;
8
+ zIndex?: number;
9
+ };
10
+ export type DimScreenOptions = {
11
+ enabled: boolean;
12
+ color: string;
13
+ /** iOS SDK 2.12.19 does not support `mapAndRoute`. */
14
+ cover: DimScreenCover;
15
+ /** Android only; the iOS dim screen has no z-order property. */
16
+ zIndex?: number;
17
+ styleSets?: PolygonStyleSet[];
18
+ highlights?: DimScreenHighlight[];
19
+ animations?: ShapeWaveAnimation[];
20
+ };
21
+ export type DimScreenStatus = {
22
+ /** Null when the platform SDK exposes no getter for the applied configuration. */
23
+ enabled: boolean | null;
24
+ color: string | null;
25
+ cover: DimScreenCover | null;
26
+ highlights: {
27
+ id: string;
28
+ visible: boolean;
29
+ geometryType: DimScreenHighlight['geometry']['type'];
30
+ }[];
31
+ /** `running` is null when the native SDK does not expose animator state. */
32
+ animations: {
33
+ id: string;
34
+ running: boolean | null;
35
+ }[];
36
+ counts: {
37
+ highlights: number;
38
+ animations: number;
39
+ };
40
+ capabilities: {
41
+ coversRoute: boolean;
42
+ modelHighlights: boolean;
43
+ modelOrientation: boolean;
44
+ animations: boolean;
45
+ animationDuration: boolean;
46
+ animationState: boolean;
47
+ nativeConfigurationState: boolean;
48
+ };
49
+ };
50
+ export type DimScreenEvent = {
51
+ type: 'animationStopped';
52
+ id: string;
53
+ };
54
+ //# sourceMappingURL=types-dim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-dim.d.ts","sourceRoot":"","sources":["../../../src/types-dim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,aAAa,GAAG,aAAa,GAAG,KAAK,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,yBAAyB,GAAG,oBAAoB,CAAC;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,cAAc,CAAC;IACtB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;KACtD,EAAE,CAAC;IACJ,4EAA4E;IAC5E,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACtD,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,EAAE;QACZ,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,wBAAwB,EAAE,OAAO,CAAC;KACnC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,189 @@
1
+ import type { Coordinate, MapPadding, MapWidgetPosition, ScreenPoint } from './types';
2
+ import type { MapImageSource } from './types-assets';
3
+ export type GuiColor = string;
4
+ export type GuiAlignment = 'topLeft' | 'topCenter' | 'topRight' | 'centerLeft' | 'center' | 'centerRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight';
5
+ type GuiComponent = {
6
+ id: string;
7
+ /** Android supports taps on any clickable component; iOS emits taps from `button` nodes. */
8
+ clickable?: boolean;
9
+ padding?: MapPadding;
10
+ origin?: GuiAlignment;
11
+ align?: GuiAlignment;
12
+ };
13
+ export type GuiLayout = GuiComponent & {
14
+ type: 'layout';
15
+ orientation: 'horizontal' | 'vertical';
16
+ children: GuiNode[];
17
+ android?: {
18
+ background?: GuiImage;
19
+ };
20
+ ios?: {
21
+ backgroundColor?: GuiColor;
22
+ splitLine?: {
23
+ color: GuiColor;
24
+ width: number;
25
+ };
26
+ };
27
+ };
28
+ export type GuiImage = GuiComponent & {
29
+ type: 'image';
30
+ source: MapImageSource;
31
+ size?: {
32
+ width: number;
33
+ height: number;
34
+ };
35
+ stretch?: MapPadding;
36
+ child?: GuiNode;
37
+ };
38
+ export type GuiText = GuiComponent & {
39
+ type: 'text';
40
+ text: string;
41
+ textSize: number;
42
+ color: GuiColor;
43
+ stroke?: {
44
+ color: GuiColor;
45
+ width: number;
46
+ };
47
+ };
48
+ export type GuiButton = GuiComponent & {
49
+ type: 'button';
50
+ /** Android SDK 2.15.2 does not contain its documented button class. */
51
+ platform: 'ios';
52
+ source: MapImageSource;
53
+ pressedSource: MapImageSource;
54
+ size?: {
55
+ width: number;
56
+ height: number;
57
+ };
58
+ pressedSize?: {
59
+ width: number;
60
+ height: number;
61
+ };
62
+ child?: GuiNode;
63
+ };
64
+ export type GuiAnimatedImage = GuiComponent & {
65
+ type: 'animatedImage';
66
+ /** Android SDK 2.15.2 does not contain its documented animated-image class. */
67
+ platform: 'ios';
68
+ sources: MapImageSource[];
69
+ duration: number;
70
+ repeat?: number;
71
+ autoStart?: boolean;
72
+ size?: {
73
+ width: number;
74
+ height: number;
75
+ };
76
+ child?: GuiNode;
77
+ };
78
+ export type GuiNode = GuiLayout | GuiImage | GuiText | GuiButton | GuiAnimatedImage;
79
+ export type MapInfoWindow = {
80
+ id: string;
81
+ position: Coordinate;
82
+ body: GuiNode;
83
+ tail?: GuiImage;
84
+ bodyOffset?: ScreenPoint;
85
+ tailOffset?: ScreenPoint;
86
+ visible?: boolean;
87
+ zIndex?: number;
88
+ autoMove?: {
89
+ enabled: boolean;
90
+ duration?: number;
91
+ };
92
+ };
93
+ export type MapWidget = {
94
+ id: string;
95
+ position: MapWidgetPosition;
96
+ root: GuiLayout;
97
+ visible?: boolean;
98
+ zIndex?: number;
99
+ rotation?: number;
100
+ ios?: {
101
+ backgroundColor?: GuiColor;
102
+ splitLine?: {
103
+ color: GuiColor;
104
+ width: number;
105
+ };
106
+ };
107
+ };
108
+ export type GuiInterpolation = 'linear' | 'cubicIn' | 'cubicOut' | 'cubicInOut';
109
+ export type InfoWindowDropAnimation = {
110
+ id: string;
111
+ /** Info-window animators are unavailable in Android SDK 2.15.2. */
112
+ platform: 'ios';
113
+ infoWindowIds: string[];
114
+ duration: number;
115
+ pixelHeight: number;
116
+ interpolation?: GuiInterpolation;
117
+ repeat?: number;
118
+ hideAtStop?: boolean;
119
+ removeAtStop?: boolean;
120
+ };
121
+ export type MapGuiScene = {
122
+ infoWindows?: MapInfoWindow[];
123
+ widgets?: MapWidget[];
124
+ animations?: InfoWindowDropAnimation[];
125
+ };
126
+ export type MapGuiEvent = {
127
+ type: 'tap';
128
+ ownerType: 'infoWindow' | 'widget';
129
+ ownerId: string;
130
+ componentId: string;
131
+ } | {
132
+ type: 'componentAnimationState';
133
+ ownerType: 'infoWindow' | 'widget';
134
+ ownerId: string;
135
+ componentId: string;
136
+ state: 'started' | 'paused' | 'resumed' | 'stopped' | 'unknown';
137
+ } | {
138
+ type: 'guiMoveEnd';
139
+ ownerType: 'infoWindow' | 'widget';
140
+ ownerId: string;
141
+ position: Coordinate;
142
+ } | {
143
+ type: 'animatorStopped';
144
+ id: string;
145
+ };
146
+ export type MapGuiCapabilities = {
147
+ button: boolean;
148
+ animatedImage: boolean;
149
+ infoWindowAnimation: boolean;
150
+ arbitraryComponentClicks: boolean;
151
+ componentAnimationEvents: boolean;
152
+ guiMoveEvents: boolean;
153
+ autoMoveDuration: boolean;
154
+ };
155
+ export type MapGuiStatus = {
156
+ infoWindows: {
157
+ id: string;
158
+ visible: boolean;
159
+ position: Coordinate;
160
+ zIndex: number;
161
+ }[];
162
+ widgets: {
163
+ id: string;
164
+ visible: boolean;
165
+ position: MapWidgetPosition;
166
+ rotation: number;
167
+ zIndex: number;
168
+ }[];
169
+ animations: {
170
+ id: string;
171
+ running: boolean;
172
+ }[];
173
+ counts: {
174
+ infoWindows: number;
175
+ widgets: number;
176
+ animations: number;
177
+ };
178
+ capabilities: MapGuiCapabilities;
179
+ };
180
+ export type ShowInfoWindowOptions = {
181
+ autoMove?: boolean;
182
+ duration?: number;
183
+ };
184
+ export type MoveInfoWindowOptions = {
185
+ duration?: number;
186
+ };
187
+ export type AnimatedImageAction = 'start' | 'pause' | 'resume' | 'stop';
188
+ export {};
189
+ //# sourceMappingURL=types-gui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-gui.d.ts","sourceRoot":"","sources":["../../../src/types-gui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,cAAc,GACd,aAAa,CAAC;AAElB,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IACpC,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,QAAQ,CAAC;QAC3B,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,QAAQ,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,uEAAuE;IACvE,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,cAAc,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,IAAI,EAAE,eAAe,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEpF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,eAAe,CAAC,EAAE,QAAQ,CAAC;QAC3B,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,QAAQ,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,QAAQ,EAAE,KAAK,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,SAAS,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CACjE,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,YAAY,GAAG,QAAQ,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtF,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;IACJ,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC/C,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,YAAY,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,246 @@
1
+ import type { Coordinate, ScreenPoint } from './types';
2
+ import type { MapImageSource } from './types-assets';
3
+ export type LabelTransition = 'none' | 'alpha' | 'scale';
4
+ export type LabelTransitionStyle = {
5
+ entrance: LabelTransition;
6
+ exit: LabelTransition;
7
+ enableEntrance?: boolean;
8
+ enableExit?: boolean;
9
+ };
10
+ export type LabelTransform = 'none' | 'absoluteRotation' | 'default' | 'absoluteRotationKeepUpright' | 'absoluteRotationDecal' | 'decal';
11
+ export type LabelCompetition = 'none' | 'all' | 'upper' | 'upperLower' | 'upperSame' | 'same' | 'sameLower' | 'lower';
12
+ export type LabelCompetitionUnit = 'iconAndText' | 'iconFirst';
13
+ export type LabelOrdering = 'rank' | 'leftBottom';
14
+ export type LabelInterpolation = 'linear' | 'cubicIn' | 'cubicOut' | 'cubicInOut';
15
+ export type LabelTextLayout = 'center' | 'top' | 'bottom' | 'left' | 'right';
16
+ export type LabelBadgeStyle = {
17
+ id: string;
18
+ image: MapImageSource;
19
+ offset?: ScreenPoint;
20
+ zOrder?: number;
21
+ };
22
+ export type LabelTextLineStyle = {
23
+ fontFamily?: string;
24
+ fontSize: number;
25
+ color: string;
26
+ strokeColor?: string;
27
+ strokeWidth?: number;
28
+ /** Logical spacing; Android requires at least -2 native pixels after conversion. */
29
+ characterSpacing?: number;
30
+ /** Line-height multiplier, at least 1. Defaults to 1. */
31
+ lineSpacing?: number;
32
+ aspectRatio?: number;
33
+ };
34
+ export type PerLevelLabelStyle = {
35
+ level: number;
36
+ image?: MapImageSource;
37
+ anchor?: ScreenPoint;
38
+ padding?: number;
39
+ iconTransition?: LabelTransitionStyle;
40
+ textTransition?: LabelTransitionStyle;
41
+ textLayout?: LabelTextLayout;
42
+ textLines?: LabelTextLineStyle[];
43
+ badges?: LabelBadgeStyle[];
44
+ };
45
+ export type LabelStyle = {
46
+ id: string;
47
+ levels: PerLevelLabelStyle[];
48
+ };
49
+ export type PathTextStyle = {
50
+ id: string;
51
+ levels: {
52
+ level: number;
53
+ text: LabelTextLineStyle;
54
+ }[];
55
+ };
56
+ export type LabelLayer = {
57
+ id: string;
58
+ visible?: boolean;
59
+ clickable?: boolean;
60
+ zOrder?: number;
61
+ competition?: LabelCompetition;
62
+ competitionUnit?: LabelCompetitionUnit;
63
+ ordering?: LabelOrdering;
64
+ competitionExceptions?: string[];
65
+ };
66
+ export type LodLabelLayer = LabelLayer & {
67
+ radius?: number;
68
+ };
69
+ export type LabelText = {
70
+ value: string;
71
+ styleIndex?: number;
72
+ };
73
+ export type LabelBadge = LabelBadgeStyle & {
74
+ visible?: boolean;
75
+ };
76
+ export type MapLabel = {
77
+ id: string;
78
+ layerId: string;
79
+ styleId: string;
80
+ coordinate: Coordinate;
81
+ text?: LabelText[];
82
+ rank?: number;
83
+ clickable?: boolean;
84
+ visible?: boolean;
85
+ transform?: LabelTransform;
86
+ pixelOffset?: ScreenPoint;
87
+ orientation?: number;
88
+ scale?: ScreenPoint;
89
+ badges?: LabelBadge[];
90
+ };
91
+ export type LodMapLabel = Omit<MapLabel, 'pixelOffset' | 'orientation' | 'scale'>;
92
+ export type PathMapLabel = {
93
+ id: string;
94
+ layerId: string;
95
+ styleId: string;
96
+ points: Coordinate[];
97
+ text: string;
98
+ rank?: number;
99
+ visible?: boolean;
100
+ };
101
+ export type LabelAnimationKeyframe = {
102
+ duration: number;
103
+ interpolation?: LabelInterpolation;
104
+ alpha?: number;
105
+ scale?: ScreenPoint;
106
+ translation?: ScreenPoint;
107
+ rotation?: number;
108
+ };
109
+ export type LabelAnimation = {
110
+ id: string;
111
+ labelIds: string[];
112
+ effect: 'drop' | 'alpha' | 'scale' | 'scaleAlpha' | 'transform';
113
+ keyframes: LabelAnimationKeyframe[];
114
+ repeatCount?: number;
115
+ hideAtStop?: boolean;
116
+ removeAtStop?: boolean;
117
+ resetToInitialState?: boolean;
118
+ };
119
+ export type LabelScene = {
120
+ styles?: LabelStyle[];
121
+ pathTextStyles?: PathTextStyle[];
122
+ layers?: LabelLayer[];
123
+ lodLayers?: LodLabelLayer[];
124
+ labels?: MapLabel[];
125
+ lodLabels?: LodMapLabel[];
126
+ pathLabels?: PathMapLabel[];
127
+ animations?: LabelAnimation[];
128
+ };
129
+ export type LabelCommand = {
130
+ type: 'show';
131
+ id: string;
132
+ visible: boolean;
133
+ autoMove?: boolean;
134
+ duration?: number;
135
+ } | {
136
+ type: 'move';
137
+ id: string;
138
+ coordinate: Coordinate;
139
+ duration?: number;
140
+ } | {
141
+ type: 'movePath';
142
+ id: string;
143
+ points: Coordinate[];
144
+ duration: number;
145
+ /** These two path parameters pass through raw SDK values; their units are undocumented. */
146
+ cornerRadius?: number;
147
+ jumpThreshold?: number;
148
+ rotate?: boolean;
149
+ baseRotation?: number;
150
+ } | {
151
+ type: 'rotate';
152
+ id: string;
153
+ rotation: number;
154
+ duration?: number;
155
+ } | {
156
+ type: 'scale';
157
+ id: string;
158
+ scale: ScreenPoint;
159
+ duration?: number;
160
+ } | {
161
+ type: 'sharePosition';
162
+ sourceId: string;
163
+ targetId: string;
164
+ enabled: boolean;
165
+ } | {
166
+ type: 'shareTransform';
167
+ sourceId: string;
168
+ targetId: string;
169
+ enabled: boolean;
170
+ } | {
171
+ type: 'shareShapeTransform';
172
+ sourceId: string;
173
+ targetId: string;
174
+ enabled: boolean;
175
+ } | {
176
+ type: 'setBadgeVisibility';
177
+ id: string;
178
+ badgeId: string;
179
+ visible: boolean;
180
+ style?: boolean;
181
+ } | {
182
+ type: 'startAnimation';
183
+ id: string;
184
+ } | {
185
+ type: 'stopAnimation';
186
+ id: string;
187
+ } | {
188
+ type: 'startTracking';
189
+ id: string;
190
+ rotate?: boolean;
191
+ } | {
192
+ type: 'stopTracking';
193
+ };
194
+ export type LabelClickEvent = {
195
+ id: string;
196
+ layerId: string;
197
+ kind: 'label' | 'lodLabel';
198
+ coordinate: Coordinate;
199
+ };
200
+ export type LabelAnimationEvent = {
201
+ id: string;
202
+ finished: boolean;
203
+ };
204
+ export type LabelCapabilities = {
205
+ pathText: 'polylineLabel' | 'waveText';
206
+ pathTextRank: boolean;
207
+ pathTextStyleAddition: true;
208
+ pathTextStyleDefinitionUpdate: boolean;
209
+ pathTextStyleRegistrationRemoval: boolean;
210
+ lodPositionMutation: false;
211
+ lodAutoMove: boolean;
212
+ autoMoveDuration: boolean;
213
+ labelScaleCommand: boolean;
214
+ sharedShapeTransform: boolean;
215
+ sharedShapeTarget: 'polygon' | 'shape';
216
+ competitionExceptions: boolean;
217
+ supportedTransforms: LabelTransform[];
218
+ keyframeRepeatCount: false;
219
+ trackingStateSource: 'native' | 'managed';
220
+ remoteImages: boolean;
221
+ };
222
+ export type LabelRuntimeState = {
223
+ labels: ({
224
+ id: string;
225
+ kind: 'label';
226
+ visible: boolean;
227
+ coordinate: Coordinate;
228
+ }
229
+ /** iOS does not expose the current LOD label position. */
230
+ | {
231
+ id: string;
232
+ kind: 'lodLabel';
233
+ visible: boolean;
234
+ coordinate?: Coordinate;
235
+ } | {
236
+ id: string;
237
+ kind: 'pathLabel';
238
+ visible: boolean;
239
+ })[];
240
+ animationIds: string[];
241
+ tracking: {
242
+ active: boolean;
243
+ source: 'native' | 'managed';
244
+ };
245
+ };
246
+ //# sourceMappingURL=types-labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-labels.d.ts","sourceRoot":"","sources":["../../../src/types-labels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import type { Coordinate } from './types';
2
+ import type { MapImageSource } from './types-assets';
3
+ import type { ShapeColor, ShapeInterpolation } from './types-shapes';
4
+ export type RoutePattern = {
5
+ /** Kakao route patterns use the source bitmap size; width and height overrides are rejected. */
6
+ image: MapImageSource;
7
+ /** Kakao route symbols use the source bitmap size; width and height overrides are rejected. */
8
+ symbol?: MapImageSource;
9
+ /** Density-independent pixels between patterns. */
10
+ distance: number;
11
+ pinStart?: boolean;
12
+ pinEnd?: boolean;
13
+ };
14
+ export type RouteStyleLevel = {
15
+ level: number;
16
+ /** Density-independent pixels. */
17
+ width: number;
18
+ color: ShapeColor;
19
+ /** Density-independent pixels. */
20
+ strokeWidth?: number;
21
+ strokeColor?: ShapeColor;
22
+ patternIndex?: number;
23
+ };
24
+ export type RouteStyleSet = {
25
+ id: string;
26
+ styles: {
27
+ levels: RouteStyleLevel[];
28
+ }[];
29
+ patterns?: RoutePattern[];
30
+ };
31
+ export type RouteLayerSpec = {
32
+ id: string;
33
+ zIndex?: number;
34
+ visible?: boolean;
35
+ };
36
+ export type RouteSegmentSpec = {
37
+ coordinates: Coordinate[];
38
+ styleIndex?: number;
39
+ /** Curves connect every adjacent coordinate pair. */
40
+ curve?: 'none' | 'left' | 'right';
41
+ };
42
+ export type RouteSpec = {
43
+ id: string;
44
+ layerId: string;
45
+ styleSetId: string;
46
+ zIndex?: number;
47
+ visible?: boolean;
48
+ segments: RouteSegmentSpec[];
49
+ };
50
+ export type RouteScene = {
51
+ styleSets?: RouteStyleSet[];
52
+ layers?: RouteLayerSpec[];
53
+ routes?: RouteSpec[];
54
+ };
55
+ export type RouteProgressAnimation = {
56
+ animationId: string;
57
+ routeIds: string[];
58
+ direction: 'forward' | 'backward';
59
+ mode: 'fill' | 'clear';
60
+ duration: number;
61
+ interpolation?: ShapeInterpolation;
62
+ repeat?: number;
63
+ hideAtStop?: boolean;
64
+ resetToInitial?: boolean;
65
+ };
66
+ export type RouteCommand = {
67
+ type: 'setVisible';
68
+ ids: string[];
69
+ visible: boolean;
70
+ } | {
71
+ type: 'setZIndex';
72
+ id: string;
73
+ zIndex: number;
74
+ } | {
75
+ type: 'changeData';
76
+ id: string;
77
+ styleSetId: string;
78
+ segments: RouteSegmentSpec[];
79
+ } | {
80
+ type: 'setProgress';
81
+ id: string;
82
+ progress: number;
83
+ mode: 'fill' | 'clear';
84
+ duration?: number;
85
+ } | {
86
+ type: 'getProgress';
87
+ id: string;
88
+ } | {
89
+ type: 'getRequestedProgress';
90
+ id: string;
91
+ } | {
92
+ type: 'getProgressAtCoordinate';
93
+ id: string;
94
+ coordinate: Coordinate;
95
+ } | {
96
+ type: 'getCoordinateAtProgress';
97
+ id: string;
98
+ progress: number;
99
+ } | {
100
+ type: 'getState';
101
+ id: string;
102
+ } | {
103
+ type: 'getCounts';
104
+ } | {
105
+ type: 'getCapabilities';
106
+ } | {
107
+ type: 'startProgressAnimation';
108
+ animation: RouteProgressAnimation;
109
+ } | {
110
+ type: 'stopAnimation';
111
+ animationId: string;
112
+ } | {
113
+ type: 'remove';
114
+ ids: string[];
115
+ };
116
+ export type RouteCounts = {
117
+ type: 'counts';
118
+ layers: number;
119
+ routes: number;
120
+ animations: number;
121
+ };
122
+ export type RouteCommandResult = {
123
+ type: 'none';
124
+ } | {
125
+ type: 'progress';
126
+ progress: number;
127
+ source: 'native' | 'requested';
128
+ } | ({
129
+ type: 'coordinate';
130
+ orientation?: number;
131
+ } & Coordinate) | {
132
+ type: 'state';
133
+ id: string;
134
+ layerId: string;
135
+ visible: boolean;
136
+ zIndex: number;
137
+ nativeProgress: number | null;
138
+ requestedProgress: number;
139
+ } | RouteCounts | ({
140
+ type: 'capabilities';
141
+ } & RouteCapabilities);
142
+ export type RouteCapabilities = {
143
+ curves: boolean;
144
+ patterns: boolean;
145
+ patternSymbols: boolean;
146
+ patternImageSizing: boolean;
147
+ progressAtCoordinate: boolean;
148
+ coordinateAtProgress: boolean;
149
+ nativeProgressRead: boolean;
150
+ fractionalStyleWidth: boolean;
151
+ progressAnimationRepeat: boolean;
152
+ };
153
+ export type RouteAnimationStopEvent = {
154
+ animationId: string;
155
+ };
156
+ /** Completion of the latest requested route progress transition, not a native progress measurement. */
157
+ export type RouteProgressEvent = {
158
+ id: string;
159
+ progress: number;
160
+ source: 'requested';
161
+ };
162
+ //# sourceMappingURL=types-routes.d.ts.map