realmap 1.0.9 → 1.0.11

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/index.d.ts CHANGED
@@ -133,7 +133,7 @@ interface ISides {
133
133
  *
134
134
  * @see {@link RtListControl.onRowSwipe}
135
135
  */
136
- declare enum RtDirection {
136
+ declare enum RmDirection {
137
137
  /**
138
138
  * 위쪽으로 진행.
139
139
  */
@@ -252,43 +252,56 @@ interface IPaddings {
252
252
  /**
253
253
  * @enum
254
254
  *
255
- * Legend나 ColorScale 등 차트 구성 요소들의 표시 위치.<br/>
255
+ * Legend나 ColorScale 등 맵차트 구성 요소들의 표시 위치.<br/>
256
256
  * 위치를 지정한 후 다른 속성들로 정렬시킬 수 있다.
257
257
  */
258
258
  declare const _ChartItemLocation: {
259
259
  /**
260
- * 차트 본체 아래 표시한다.
260
+ * 맵차트 본체 아래 표시한다.
261
261
  *
262
262
  */
263
263
  readonly BOTTOM: "bottom";
264
264
  /**
265
- * 차트 타이틀 아래 표시한다.
265
+ * 맵차트 타이틀 아래 표시한다.
266
266
  *
267
267
  */
268
268
  readonly TOP: "top";
269
269
  /**
270
- * 차트 본체 오른쪽에 표시한다.
270
+ * 맵차트 본체 오른쪽에 표시한다.
271
271
  *
272
272
  */
273
273
  readonly RIGHT: "right";
274
274
  /**
275
- * 차트 본체 왼쪽에 표시한다.
275
+ * 맵차트 본체 왼쪽에 표시한다.
276
276
  *
277
277
  */
278
278
  readonly LEFT: "left";
279
279
  /**
280
- * 차트 본체 영역 내부에 표시한다.
280
+ * 맵차트 본체 영역 내부에 표시한다.
281
281
  *
282
282
  */
283
283
  readonly BODY: "body";
284
284
  };
285
285
  /** @dummy */
286
286
  type ChartItemLocation = typeof _ChartItemLocation[keyof typeof _ChartItemLocation];
287
+ /**
288
+ * 구성 요소 위치.<br/>
289
+ */
290
+ type Positions = 'top' | 'right' | 'bottom' | 'left';
287
291
  interface ConfigObject {
288
292
  [key: string]: any;
289
293
  }
294
+
295
+ type ShapeDrawer = (rd: number, rd2: number) => (string | number)[];
290
296
  type MapCoord = [number, number];
291
- type MapPolygon = MapCoord[][];
297
+ type MapRect = {
298
+ h1: number;
299
+ h2: number;
300
+ v1: number;
301
+ v2: number;
302
+ };
303
+ type MapArc = MapCoord[];
304
+ type MapPolygon = MapArc[];
292
305
  type MapProps = any;
293
306
 
294
307
  /**
@@ -346,19 +359,19 @@ interface MapInsetDisplay {
346
359
  * 지정하지 않으면 1.
347
360
  * 0보다 큰 값이어야 한다.
348
361
  */
349
- scale?: number;
362
+ readonly scale?: number;
350
363
  /**
351
364
  * inset area의 [왼쪽, 위쪽] 기준으로, 표시 위치 [경도, 위도]를 도(°) 단위로 지정한다.<br/>
352
365
  * [주의] {@page children}으로 적용될 때는 이 값 대신 {@page offset}을 반드시 지정해야 한다.
353
366
  */
354
- coord?: MapCoord;
367
+ readonly coord?: MapCoord;
355
368
  /**
356
369
  * coord로 지정한 inset 위치에 더 추가되는 [경도, 위도] 값이거나
357
370
  * coord가 지정되지 않은 경우 원래 위치에서 떨어진 위치 값.<br/>
358
371
  * 라이브러리에서 제공하는 미리 정의된 inset 위치를 조정하는 값으로 사용할 수 있다.
359
372
  * [주의] {@page children}으로 적용될 때는 {@page coord} 대신 반듯 이 값을 지정해야 한다.
360
373
  */
361
- offset?: MapCoord;
374
+ readonly offset?: MapCoord;
362
375
  /**
363
376
  * inset을 구분하는 경계선을 도(°)단위로 지정한다.<br/>
364
377
  * 값들은 space나 ','로 분리해서 x, y 순서대로 위치를 지정하고,
@@ -372,7 +385,7 @@ interface MapInsetDisplay {
372
385
  * ex) '-0.1 h+0.05 +0.1 h+0.1 w+0.2 h' // 제주도 위쪽에 꺽인 line을 표시한다.
373
386
  * '-0.2 -0.1 -0.2 h+0.1' // 울릉도 좌측에 직선으로 표시한다.
374
387
  */
375
- border?: MapCoord[] | string;
388
+ readonly border?: MapCoord[] | string;
376
389
  /**
377
390
  * inset을 감싸서 구분하는 사각형을 도(°)단위로 지정한다.<br/>
378
391
  * 이 값이 지정되면 {@page border}는 무시된다.<br/>
@@ -383,15 +396,21 @@ interface MapInsetDisplay {
383
396
  * '0.05 0.01 0.03' // 상 0.05°, 우 0.01°, 하 0.03, 좌 0.01°
384
397
  * '0.05 0.01 0.03 0.02' // 상, 우, 하, 좌
385
398
  */
386
- frame?: string;
399
+ readonly frame?: string;
387
400
  /**
388
401
  * border나 frame에 적용할 스타일셋.<br/>
389
402
  * 기본으로 'rm-map-series-inset' 클래스 선택자가 적용된다.
390
403
  */
391
- style?: SVGStyleOrClass;
404
+ readonly style?: SVGStyleOrClass;
405
+ /**
406
+ * 명시적 false로 지정하면 이 inset이 포함하는 영역을 맵에서 제거한다.<br/>
407
+ * 대개 두 번째 map에서 사용된다.
408
+ */
409
+ readonly visible?: boolean;
392
410
  }
393
411
  /**
394
412
  * 본토에서 멀리 떨어진 영역들을 당겨서 표시하는 설정.<br/>
413
+ * [주의] 아래쪽 계산값들을 제외하곤 모두 readonly로 취급해야 한다.
395
414
  *
396
415
  * @css 'rm-map-series-inset'
397
416
  */
@@ -402,7 +421,7 @@ interface MapInset extends MapInsetDisplay {
402
421
  * {@page parent}가 지정되지 않으면
403
422
  * 자식들을 모두 함께 이동시킨다.
404
423
  */
405
- area: string;
424
+ readonly area: string;
406
425
  /**
407
426
  * 이 area가 존재하지 않고,
408
427
  * {@page parent}가 지정되지 않으면
@@ -410,13 +429,14 @@ interface MapInset extends MapInsetDisplay {
410
429
  * [주의] {@page frame}이나 {@page border}의 기준이 되는 child area의 id를 첫번째 항목으로 설정해야 한다.
411
430
  * [주의] parent 하나에 한 번만 지정할 수 있다.
412
431
  */
413
- children?: string[];
432
+ readonly children?: string[];
414
433
  /**
415
434
  * {@page area}가 존재하지 않을 때,
416
435
  * 이 속서에 해당하는 area를 찾아서 {@page polygons}에 해당하는 영역들을 이동시킨다.<br/>
417
436
  * 콤마로 분리해서 둘 이상의 area를 지정할 수 있는데, 순서대로 해당되는 영역이 존재하면 사용한다.
437
+ * [주의] parent 하나에 한 번만 지정할 수 있다.
418
438
  */
419
- parent?: string;
439
+ readonly parent?: string;
420
440
  /**
421
441
  * {@page area}가 존재하지 않고, {@page parent}가 지정됐을 때,
422
442
  * 이 속서에 지정하는 영역덜을 동시에 이동시킨다.<br/>
@@ -424,14 +444,22 @@ interface MapInset extends MapInsetDisplay {
424
444
  * [주의] {@page parent}가 복수개로 지정되면 이 속성도 [[], [],..] 형태로 복수 개 지정해야 한다.
425
445
  * [주의] parent 하나에 한 번만 지정할 수 있다.
426
446
  */
427
- polygons?: number[] | number[][] | number;
447
+ readonly polygons?: number[] | number[][] | number;
448
+ /**
449
+ * @private
450
+ * 계산된 값들.
451
+ */
452
+ off?: MapCoord;
453
+ box?: MapCoord[];
454
+ pts?: any[];
455
+ bounds?: MapRect;
428
456
  }
429
457
  type MapSourceMeta = {
430
458
  license?: {
431
459
  license?: string;
432
460
  author?: string;
433
461
  url?: string;
434
- etc?: "차트 최적화를 위해 좌표계 변환 및 Feature Polygon 수정";
462
+ etc?: "맵차트 최적화를 위해 좌표계 변환 및 Feature Polygon 수정";
435
463
  };
436
464
  dokdo?: {
437
465
  group?: string;
@@ -440,18 +468,23 @@ type MapSourceMeta = {
440
468
  };
441
469
  dummies?: string[];
442
470
  };
471
+ /**
472
+ * 접경선 정보.<br/>
473
+ * 연결된 선으로 표시되므로, 반드시 접경선이 그려지는 순서대로 양쪽 area(들)을 지정해야 한다.
474
+ */
475
+ type MapBorderSource = [string | [string], string | [string]];
443
476
  /**
444
477
  * 맵시리즈에서 사용할 기본 맵을 지정한다.<br/>
445
478
  */
446
479
  interface MapSource {
447
480
  /**
448
481
  * 맵 이름.<br/>
449
- * 차트에 여러 개 맵이 지정될 수 있으며,
450
- * 차트 시리즈 등에서 맵을 참조할 때 사용된다.
482
+ * 맵차트에 여러 개 맵이 지정될 수 있으며,
483
+ * 맵차트 시리즈 등에서 맵을 참조할 때 사용된다.
451
484
  */
452
485
  name?: string;
453
486
  /**
454
- * 명시적 false로 지정하면 차트에서 맵으로 사용되지 않는다.<br/>
487
+ * 명시적 false로 지정하면 맵차트에서 맵으로 사용되지 않는다.<br/>
455
488
  *
456
489
  * @default true
457
490
  */
@@ -477,10 +510,15 @@ interface MapSource {
477
510
  */
478
511
  nameKey?: string;
479
512
  /**
480
- * 차트 맵 모델을 구성할 때 제외시킬 영역들의 id 목록.<br/>
513
+ * 맵차트 맵 모델을 구성할 때 제외시킬 영역들의 id 목록.<br/>
481
514
  */
482
515
  exclude?: string[];
483
- insets?: MapInset[];
516
+ /**
517
+ * 맵 인셋 목록을 지정한다.<br/>
518
+ * 이름을 문자열로 지정하면 라이브러기가 기본 제공하는 인셋들이 사용된다.
519
+ * 또, 이름앞에 '-'를 추가하면 visible이 false로 설정된다.
520
+ */
521
+ insets?: (string | MapInset)[];
484
522
  /**
485
523
  * 맵 상하좌우 주변에 추가할 영역의 크기를 도(°) 단위로 지정한다.<br/>
486
524
  * css padding이나 margin 지정 방식과 동일하게 지정한댜.<br/>
@@ -495,27 +533,72 @@ interface MapSource {
495
533
  */
496
534
  dokdo?: number | MapCoord;
497
535
  /**
498
- * dummy 영역들을 표시할지 여부.
536
+ * dummy 영역들을 표시할지 여부.<br/>
499
537
  */
500
538
  showDummies?: boolean;
501
539
  /**
502
540
  * @ignore
503
- * 로컬 지도가 글로벌 투영좌표계 중앙으로 배치할지 여부.
541
+ * 로컬 지도가 글로벌 투영좌표계 중앙으로 배치할지 여부.<br/>
542
+ * 첫번째 기준 map에만 설절할 수 있다.
504
543
  */
505
544
  useOffset?: boolean | MapCoord;
545
+ /**
546
+ * 부극 취고위까지 지도에 포함되면 90도까지 그려진 것으로 간주한다.<br/>
547
+ * 명시적 false로 지정하면 계산된 영역까지만 포함한다.
548
+ */
549
+ alignArctic?: boolean;
550
+ /**
551
+ * 내부 경계(internal boundary)선 정보를 별도로 생성할 지 여부.<br/>
552
+ */
553
+ needInternal?: boolean;
554
+ /**
555
+ * {@page needInternal 내부 경계선}에서 제외할 영역 목록.<br/>
556
+ */
557
+ excludeInternal?: string[];
558
+ /**
559
+ * 외부 경계선 정보를 별도로 생성할 지 여부.<br/>
560
+ */
561
+ needExternal?: boolean;
562
+ /**
563
+ * {@page needInternal 내부 경계선}에서 제외할 영역 목록.<br/>
564
+ */
565
+ excludeExternal?: string[];
566
+ /**
567
+ * 접경선 목록.<br/>
568
+ */
569
+ borders?: [{
570
+ name: string;
571
+ border: MapBorderSource;
572
+ closed?: boolean;
573
+ }];
506
574
  }
507
575
  declare abstract class MapSourceItem {
508
576
  id: string;
509
- props: MapProps;
510
- constructor(id: string, props: MapProps);
577
+ constructor(id: string);
511
578
  }
512
579
  declare class AreaItem extends MapSourceItem {
580
+ props: MapProps;
513
581
  polygon: MapPolygon;
514
582
  polygons: MapPolygon[];
583
+ internal?: MapPolygon[];
584
+ internals?: MapPolygon[][];
585
+ external?: MapPolygon[];
586
+ externals?: MapPolygon[][];
515
587
  dummy: boolean;
588
+ constructor(id: string, props: MapProps);
589
+ }
590
+ declare class MapBorderInfo {
591
+ name: string;
592
+ closed: boolean;
593
+ border: [string[], string[]];
594
+ constructor(name: string, source: MapBorderSource, closed: boolean);
595
+ }
596
+ declare class BorderItem extends MapSourceItem {
597
+ polygon: MapPolygon;
598
+ constructor(id: string, polygon: MapPolygon);
516
599
  }
517
600
  declare abstract class MapSourceImpl extends RmObject {
518
- static createStockInset(area: string, display?: MapInsetDisplay): MapInset;
601
+ static createStockInset(area: string, display?: boolean | MapInsetDisplay): MapInset;
519
602
  readonly name: string;
520
603
  readonly enabled: boolean;
521
604
  readonly idKey: string;
@@ -524,16 +607,20 @@ declare abstract class MapSourceImpl extends RmObject {
524
607
  readonly dokdo: number;
525
608
  readonly dummies: string[];
526
609
  readonly useOffset: boolean | MapCoord;
610
+ readonly internals: boolean;
611
+ readonly externals: boolean;
612
+ readonly alignArctic: boolean;
613
+ readonly borders: MapBorderInfo[];
527
614
  items: MapSourceItem[];
528
615
  insets: {
529
616
  [area: string]: MapInset;
530
617
  };
531
618
  paddings: IPaddings;
532
619
  private _excludes;
533
- constructor(src: MapSource);
620
+ constructor(options: MapSource, index: number);
534
621
  included(area: string): boolean;
535
622
  private $_load;
536
- protected abstract _doLoad(source: object): MapSourceItem[];
623
+ protected abstract _doLoad(source: object, options: MapSource): MapSourceItem[];
537
624
  }
538
625
 
539
626
  /**
@@ -561,7 +648,7 @@ interface AnnotationAnimationOptions {
561
648
  type: string;
562
649
  duration?: number;
563
650
  }
564
- type AnnotationType = 'image' | 'shape' | 'text' | 'html';
651
+ type AnnotationType = 'image' | 'shape' | 'text' | 'html' | 'chart';
565
652
  /**
566
653
  * Annotation 모델.<br/>
567
654
  *
@@ -582,7 +669,7 @@ interface AnnotationOptions extends ChartItemOptions {
582
669
  */
583
670
  name?: string;
584
671
  /**
585
- * 어노테이션 배치 기준이 되는 차트 구성 요소.<br/>
672
+ * 어노테이션 배치 기준이 되는 맵차트 구성 요소.<br/>
586
673
  * 현재, 같은 영역(body 혹은 chart)에 포함된 {@link config.base.gauge 게이지}나 다른 어노테이션의 {@link name 이름}을 지정할 수 있다.
587
674
  *
588
675
  */
@@ -842,8 +929,26 @@ interface HtmlAnnotationOptions extends AnnotationOptions {
842
929
  * @default 100
843
930
  */
844
931
  width?: PercentSize;
932
+ /**
933
+ * {@page html}로 지정된 html 텍스트에 포함된 param 값을 지정하는 객체나 콜백. #311<br/>
934
+ */
935
+ params?: {
936
+ [key: string]: any;
937
+ } | ((param: string) => any);
938
+ }
939
+ declare const ChartAnnotationType = "chart";
940
+ /**
941
+ * Chart 어노테이션.<br/>
942
+ * {@page op.AnnotationOptions#type}은 'chart'이다.<br/>
943
+ *
944
+ * @css 'rm-chart-annotation'
945
+ * @config chart.annotation[type=chart]
946
+ */
947
+ interface ChartAnnotationOptions extends AnnotationOptions {
948
+ type?: typeof ChartAnnotationType;
949
+ config?: any;
845
950
  }
846
- type AnnotationOptionsType = ImageAnnotationOptions | ShapeAnnotationOptions | TextAnnotationOptions | HtmlAnnotationOptions;
951
+ type AnnotationOptionsType = ImageAnnotationOptions | ShapeAnnotationOptions | TextAnnotationOptions | HtmlAnnotationOptions | ChartAnnotationOptions;
847
952
 
848
953
  /**
849
954
  * @enum
@@ -852,7 +957,7 @@ declare const _ClickAction: {
852
957
  readonly NONE: "none";
853
958
  readonly SELECT: "select";
854
959
  /**
855
- * 차트가 zoom 가능한 상태일 때 zoom-in 한다.
960
+ * 맵차트가 zoom 가능한 상태일 때 zoom-in 한다.
856
961
  */
857
962
  readonly ZOOM: "zoom";
858
963
  /**
@@ -880,7 +985,7 @@ declare const _DblClickAction: {
880
985
  readonly NONE: "none";
881
986
  readonly SELECT: "select";
882
987
  /**
883
- * 차트가 zoom 가능한 상태일 때 zoom-in 한다.
988
+ * 맵차트가 zoom 가능한 상태일 때 zoom-in 한다.
884
989
  */
885
990
  readonly ZOOM: "zoom";
886
991
  /**
@@ -917,8 +1022,14 @@ declare const _DragAction: {
917
1022
  readonly ZOOM: "zoom";
918
1023
  };
919
1024
  type DragAction = typeof _DragAction[keyof typeof _DragAction];
1025
+ interface OnClickArgs extends CommonCallbackArgs {
1026
+ x: number;
1027
+ y: number;
1028
+ coord: MapCoord;
1029
+ area?: string;
1030
+ }
920
1031
  /**
921
- * 차트 전체에 영향을 미치는 옵션들.<br />
1032
+ * 맵차트 전체에 영향을 미치는 옵션들.<br />
922
1033
  *
923
1034
  * @config chart.chart
924
1035
  */
@@ -953,19 +1064,36 @@ interface ChartOptionsOptions extends ChartItemOptions {
953
1064
  */
954
1065
  backgroundStyle?: CSSStyles;
955
1066
  /**
956
- * div의 크기가 변경될 때, 차트를 해당 크기에 맞게 조정할지 여부
1067
+ * legend, color scale 등의 위젯들이 표시되는 영역과 body 사이의 간격.<br/>
1068
+ * 숫자 값이나 css margin 지정 방식의 문자열로 지정할 수 있다.
1069
+ *
1070
+ * @default 8
1071
+ */
1072
+ widgetSectionGap?: number | string;
1073
+ /**
1074
+ * legend, color scale 등의 위젯들이 표시되는 영역 내에서 위젯 사이의 간격.<br/>
1075
+ *
1076
+ * @default 8
1077
+ */
1078
+ widgetGap?: number;
1079
+ /**
1080
+ * div의 크기가 변경될 때, 맵차트를 해당 크기에 맞게 조정할지 여부
957
1081
  *
958
1082
  * @default false
959
1083
  */
960
1084
  domResize?: boolean;
1085
+ /**
1086
+ * 마우스 포인터가 클릭됐을 때 호출되는 콜백.<br/>
1087
+ */
1088
+ onClick?: (args: OnClickArgs) => void;
961
1089
  /**
962
1090
  * 선택 변경 시 호출되는 콜백.<br/>
963
1091
  */
964
1092
  onSelectionChanged?: (args: any) => void;
965
1093
  }
966
1094
  /**
967
- * 차트 제목(title) 설정 모델.<br/>
968
- * 기본적으로 차트 중앙 상단에 표시되지만 {@link align}, {@link verticalAlign} 등으로 위치를 변경할 수 있다.<br/>
1095
+ * 맵차트 제목(title) 설정 모델.<br/>
1096
+ * 기본적으로 맵차트 중앙 상단에 표시되지만 {@link align}, {@link verticalAlign} 등으로 위치를 변경할 수 있다.<br/>
969
1097
  *
970
1098
  * {@page guide.title 타이틀 개요} 페이지를 참조한다.
971
1099
  * @config chart.title
@@ -986,7 +1114,7 @@ interface TitleOptions extends ChartItemOptions {
986
1114
  /**
987
1115
  * 정렬 기준.<br/>
988
1116
  * 시리즈들이 그려지는 plotting 영역이나,
989
- * 차트 전체 영역을 기준으로 할 수 있다.
1117
+ * 맵차트 전체 영역을 기준으로 할 수 있다.
990
1118
  * 또, {@link config.subtitle 부제목}인 경우 제목을 기준으로 위치를 지정할 수 있다.
991
1119
  *
992
1120
  * @default 'map'
@@ -1009,7 +1137,7 @@ interface TitleOptions extends ChartItemOptions {
1009
1137
  */
1010
1138
  backgroundStyle?: SVGStyleOrClass;
1011
1139
  /**
1012
- * 주 제목과 부 제목이 표시되는 영역과 차트 본체 등 과의 간격을 픽셀 단위로 지정한다.<br/>
1140
+ * 주 제목과 부 제목이 표시되는 영역과 맵차트 본체 등 과의 간격을 픽셀 단위로 지정한다.<br/>
1013
1141
  * 주 제목이 표시되면 (부 제목의 값은 무시되고)주 제목의 값을 사용하고,
1014
1142
  * 부 제목만 표시될 때는 부 제목의 값을 사용한다.
1015
1143
  *
@@ -1042,7 +1170,7 @@ declare const _SubtitlePosition: {
1042
1170
  /** @dummy */
1043
1171
  type SubtitlePosition = typeof _SubtitlePosition[keyof typeof _SubtitlePosition];
1044
1172
  /**
1045
- * 차트 제목 주위에 표시되는 부제목 옵션.<br/>
1173
+ * 맵차트 제목 주위에 표시되는 부제목 옵션.<br/>
1046
1174
  * 기본적으로 주제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.<br/>
1047
1175
  * 별도 설정이 없으면 표시되지 않는다.
1048
1176
  *
@@ -1083,7 +1211,7 @@ interface SubtitleOptions extends TitleOptions {
1083
1211
  verticalAlign?: VerticalAlign;
1084
1212
  }
1085
1213
  /**
1086
- * 차트 개발 제작자 등을 표시하는
1214
+ * 맵차트 개발 제작자 등을 표시하는
1087
1215
  * 크레딧 영역에 대한 설정 모델.
1088
1216
  */
1089
1217
  interface CreditsOptions extends ChartItemOptions {
@@ -1135,7 +1263,7 @@ interface CreditsOptions extends ChartItemOptions {
1135
1263
  offsetY?: number;
1136
1264
  /**
1137
1265
  * {@link floating}이 true가 아니고, 중앙이 아닌 곳에 표시될 때,
1138
- * 차트 나머지 영역과의 간격을 픽셀로 지정한다.<br/>
1266
+ * 맵차트 나머지 영역과의 간격을 픽셀로 지정한다.<br/>
1139
1267
  * {@page verticalAlign}이 'middle'이면 수평 간격, 아니면 수직 간격에 적용된다.
1140
1268
  *
1141
1269
  * @default 4
@@ -1389,7 +1517,7 @@ interface OnZoomChangedArgs extends CommonCallbackArgs {
1389
1517
  oldZoom: number;
1390
1518
  }
1391
1519
  /**
1392
- * 차트 본체(body) 설정 모델.<br/>
1520
+ * 맵차트 본체(body) 설정 모델.<br/>
1393
1521
  * 투영 옵션과 지도 제어 옵션들을 설정할 수 있다.<br/>
1394
1522
  * @config chart.body
1395
1523
  */
@@ -1445,6 +1573,12 @@ interface BodyOptions extends ChartItemOptions {
1445
1573
  * 0보다 큰 값이면 중점이 아시아쪽으로 이동한다.
1446
1574
  */
1447
1575
  scroll?: number;
1576
+ /**
1577
+ * 마우스 드래그로 panX/panY 를 변경할 수 있는 지 여부.<br/>
1578
+ * 명시적 false로 지정하면 드래그로 이동시킬 수 없다.
1579
+ * 초기 {@page zoom}을 설정하고 그 위치를 유지하려 할 때 사용할 수 있다.
1580
+ */
1581
+ movable?: boolean;
1448
1582
  /**
1449
1583
  * 지도 중심으로부터 경도상으로 벗어난 지도 단위 크기. 양수이면 왼쪽으로 스크롤 된 상태
1450
1584
  */
@@ -1529,8 +1663,7 @@ interface ChartTextOptions extends ChartItemOptions {
1529
1663
  */
1530
1664
  backgroundStyle?: SVGStyleOrClass;
1531
1665
  /**
1532
- * 텍스트가 data point 내부에 표시되는 경우 포인트 색상과 대조되도록 표시한다.
1533
- * <br>
1666
+ * 텍스트가 data point 내부에 표시되는 경우 포인트 색상과 대조되도록 표시한다.<br/>
1534
1667
  * 밝게 표시할 때는 {@link lightStyle}을 적용하고,
1535
1668
  * 어둡게 표시할 때는 {@link darkStyle}이 적용된다.
1536
1669
  * lightStyle이 지정되지 않으면 'rm-text-light'이,
@@ -1540,29 +1673,28 @@ interface ChartTextOptions extends ChartItemOptions {
1540
1673
  autoContrast?: boolean;
1541
1674
  outlineThickness?: number;
1542
1675
  /**
1543
- * label 문자열 앞에 추가되는 문자열.
1544
- *
1676
+ * label 문자열 앞에 추가되는 문자열.<br/>
1545
1677
  */
1546
1678
  prefix?: string;
1547
1679
  /**
1548
- * label 문자열 끝에 추가되는 문자열.
1549
- *
1680
+ * label 문자열 끝에 추가되는 문자열.<br/>
1550
1681
  */
1551
1682
  suffix?: string;
1552
1683
  /**
1553
1684
  * 축의 tick 간격이 1000 이상인 큰 수를 표시할 때
1554
- * 이 속성에 지정한 symbol을 이용해서 축약형으로 표시한다.
1685
+ * 이 속성에 지정한 symbol을 이용해서 축약형으로 표시한다.<br/>
1555
1686
  *
1687
+ * @default 'k,M,G,T,P,E'
1556
1688
  */
1557
1689
  numberSymbols?: string;
1558
1690
  /**
1559
1691
  * label이 숫자일 때 표시 형식.
1560
1692
  *
1693
+ * @default '#,##0.#'
1561
1694
  */
1562
1695
  numberFormat?: string;
1563
1696
  /**
1564
- * rich text format을 지정할 수 있다.
1565
- *
1697
+ * rich text format을 지정할 수 있다.<br/>
1566
1698
  */
1567
1699
  text?: string;
1568
1700
  lineHeight?: number;
@@ -1593,28 +1725,143 @@ interface IconedTextOptions extends ChartTextOptions {
1593
1725
  width?: number;
1594
1726
  height?: number;
1595
1727
  }
1728
+ /**
1729
+ * 범례나 scale의 타이틀이나 footer의 위치.<br/>
1730
+ *
1731
+ * @enum
1732
+ */
1733
+ declare const MapWidgetCaptionDisplays: {
1734
+ /**
1735
+ * 범례나 scale 항목들의 배치에 따라 자동 배치한다.<br/>
1736
+ * 항목들이 수직 배치이면 'stack', 수평 배치이면 'inline'이 적용된다.
1737
+ */
1738
+ readonly AUTO: "auto";
1739
+ /**
1740
+ * 타이틀이나 footer를 항목들의 위/아래에 배치한다.
1741
+ */
1742
+ readonly STACK: "stack";
1743
+ /**
1744
+ * 타이틀이나 footer를 항목들의 좌/우에 배치한다.
1745
+ */
1746
+ readonly INLINE: "inline";
1747
+ };
1748
+ /** @dummy */
1749
+ type MapWidgetCaptionDisplay = typeof MapWidgetCaptionDisplays[keyof typeof MapWidgetCaptionDisplays];
1750
+ /**
1751
+ * 범례나 scale의 title 설정 옵션.<br/>
1752
+ */
1753
+ interface MapWidgetCaptionOptions extends IconedTextOptions {
1754
+ /**
1755
+ * 타이틀 표시 위치.<br/>
1756
+ */
1757
+ display?: MapWidgetCaptionDisplay;
1758
+ /**
1759
+ * 타이틀과 범례 아이템들 사이의 간격.<br/>
1760
+ * 타당한 값으로 지정하지 않으면 {@page display}가 'linine'이 될 때 10, 아니면 5 픽셀로 적용된다.
1761
+ */
1762
+ gap?: number;
1763
+ /**
1764
+ * {@page display}가 'stack'가 될 때 수평 배치.<br/>
1765
+ * 지정하지 않거나 잘못 지정하면 'left'로 적용된다.
1766
+ */
1767
+ align?: Align;
1768
+ /**
1769
+ * {@page display}가 'inline'이 될 때 수직 배치.<br/>
1770
+ * 지정하지 않거나 잘못 지정하면 'middle'로 적용된다.
1771
+ */
1772
+ verticalAlign?: VerticalAlign;
1773
+ }
1774
+ /**
1775
+ * 범례나 scale의 배경 설정 옵션.<br/>
1776
+ */
1777
+ interface MapWidgetBackgroundOptions extends ChartItemOptions {
1778
+ }
1779
+ interface MapWidgetOptions extends ChartItemOptions {
1780
+ /**
1781
+ * 시리즈에서 참조하는 범례나 스케일 이름.<br/>
1782
+ */
1783
+ name?: string;
1784
+ /**
1785
+ * 그룹 내에서 배치 순서.<br/>
1786
+ * 값을 지정하지 않거나 잘못 지정하면 마자믹에 배치된다.
1787
+ */
1788
+ order?: number;
1789
+ /**
1790
+ * 범례나 scale의 타이틀 설정 옵션.<br/>
1791
+ */
1792
+ title?: MapWidgetCaptionOptions;
1793
+ /**
1794
+ * 범례나 scale의 footer 설정 옵션.<br/>
1795
+ */
1796
+ footer?: MapWidgetCaptionOptions;
1797
+ /**
1798
+ * 범례나 scale의 배경 설정 옵션.<br/>
1799
+ */
1800
+ background?: MapWidgetBackgroundOptions;
1801
+ /**
1802
+ * 범례나 scale 표시 위치.<br/>
1803
+ *
1804
+ * @default 'bottom'
1805
+ */
1806
+ location?: ChartItemLocation;
1807
+ /**
1808
+ * 범례 또는 scale과 (location이 body일 때)body 또는 맵차트 경계 사이의 수평 간격.<br/>
1809
+ *
1810
+ * @default 0
1811
+ */
1812
+ offsetX?: number;
1813
+ /**
1814
+ * 범례 또는 scale과 (location이 body일 때)body 또는 맵차트 경계 사이의 수직 간격.<br/>
1815
+ *
1816
+ * @default 0
1817
+ */
1818
+ offsetY?: number;
1819
+ /**
1820
+ * 수평 배치.<br/>
1821
+ * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'left',
1822
+ * 'left', 'right'일 때는 'center'이다.
1823
+ */
1824
+ align?: Align;
1825
+ /**
1826
+ * 수직 배치.<br/>
1827
+ * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'top',
1828
+ * 'top', 'bottom'일 때는 'middle'이다.
1829
+ */
1830
+ verticalAlign?: VerticalAlign;
1831
+ }
1832
+ interface MapSimpleWidgetOptions extends MapWidgetOptions {
1833
+ /**
1834
+ * 이 위젯이 표시될 위젯 그룹 이름.<br/>
1835
+ * 그룹에 포함되지 않은 위젯은 {@page location} 설정에 따라 위젯 섹션이나 body 영역에 표시된다.
1836
+ */
1837
+ group?: string;
1838
+ }
1839
+ /**
1840
+ * 범례 및 scale 등의 위젯들을 한 방향으로 배치하는 그룹 설정 옵션.<br/>
1841
+ * 위젯의 order 속성으로 배치 순서를 결정한다.
1842
+ */
1843
+ interface MapWidgetGroupOptions extends MapWidgetOptions {
1844
+ /**
1845
+ * 포함된 위젯들 배치 방향.<br/>
1846
+ *
1847
+ * @default 'vertical'
1848
+ */
1849
+ direction?: 'vertical' | 'horizontal';
1850
+ }
1596
1851
  /**
1597
1852
  * DataPointCallbackArgs
1598
1853
  */
1599
1854
  interface DataPointArgs extends CommonCallbackArgs {
1600
1855
  series: object;
1601
1856
  count: number;
1602
- vcount: number;
1603
- yMin: number;
1604
- yMax: number;
1605
- xMin: number;
1606
- xMax: number;
1607
- zMin: number;
1608
- zMax: number;
1857
+ id: string;
1609
1858
  index: number;
1610
- vindex: number;
1611
- x: any;
1612
- y: any;
1613
- z: any;
1614
- xValue: any;
1615
- yValue: any;
1616
- zValue: any;
1617
- labelIndex: number;
1859
+ name?: string;
1860
+ color?: string;
1861
+ className?: string;
1862
+ value?: any;
1863
+ labelIndex?: number;
1864
+ coord?: MapCoord;
1618
1865
  source: any;
1619
1866
  }
1620
1867
  interface DataPointListkArgs extends CommonCallbackArgs {
@@ -1644,7 +1891,7 @@ interface ZoomToAreaOptions {
1644
1891
  }
1645
1892
 
1646
1893
  /**
1647
- * 차트 내보내기 설정 모델
1894
+ * 맵차트 내보내기 설정 모델
1648
1895
  * @config chart.exporting
1649
1896
  */
1650
1897
  interface ExporterOptions extends ChartItemOptions {
@@ -1653,7 +1900,7 @@ interface ExporterOptions extends ChartItemOptions {
1653
1900
  */
1654
1901
  visible?: boolean;
1655
1902
  /**
1656
- * 내보내기 버튼을 사용해 내보낸 차트에 사용할 확장자 없는 파일 이름.\
1903
+ * 내보내기 버튼을 사용해 내보낸 맵차트에 사용할 확장자 없는 파일 이름.\
1657
1904
  * 'export' 함수를 호출할 때 fileName을 지정하지 않을 경우 이 속성이 적용된다.
1658
1905
  * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
1659
1906
  *
@@ -1716,21 +1963,21 @@ type ExportType = typeof _ExportType[keyof typeof _ExportType];
1716
1963
  */
1717
1964
  interface ExportOptions {
1718
1965
  /**
1719
- * 내보낸 차트에 사용할 확장자.\
1966
+ * 내보낸 맵차트에 사용할 확장자.\
1720
1967
  * type을 지정하지 않을 경우 png로 내보내기 된다.\
1721
1968
  * @config
1722
1969
  * // @TODO https://github.com/realgrid/realreport-chart/issues/549
1723
1970
  */
1724
1971
  type?: ExportType;
1725
1972
  /**
1726
- * 내보낸 차트에 사용할 확장자 없는 파일명.
1973
+ * 내보낸 맵차트에 사용할 확장자 없는 파일명.
1727
1974
  * fileName을 지정하지 않을 경우 realmap.type으로 다운로드 된다.
1728
1975
  * @config
1729
1976
  */
1730
1977
  fileName?: string;
1731
1978
  }
1732
1979
  /**
1733
- * 외부 모듈로 구현되는 차트 내보내기 기능 명세.
1980
+ * 외부 모듈로 구현되는 맵차트 내보내기 기능 명세.
1734
1981
  */
1735
1982
  interface ChartExporter {
1736
1983
  exportToImage: (dom: HTMLElement, options: ExportOptions, config: ExporterOptions) => void;
@@ -1906,6 +2153,7 @@ declare class Sides {
1906
2153
  static createFrom(value: string): Sides;
1907
2154
  constructor(top?: number, bottom?: number, left?: number, right?: number);
1908
2155
  clone(): Sides;
2156
+ set(...values: number[]): void;
1909
2157
  applyPadding(cs: CSSStyleDeclaration): Sides;
1910
2158
  applyMargin(cs: CSSStyleDeclaration): Sides;
1911
2159
  shrink(r: IRect): IRect;
@@ -1997,7 +2245,7 @@ declare class RmTool<T extends RmControl = RmControl> {
1997
2245
  protected _doLongPressed(dom: Element, x: number, y: number): void;
1998
2246
  protected _doKeyPress(ev: KeyboardEvent): void;
1999
2247
  protected _doWheel(ev: WheelEvent): boolean;
2000
- protected _doSwipe(dom: Element, prevTracker: DragTracker, dir: RtDirection, duration: number, distance: number): boolean;
2248
+ protected _doSwipe(dom: Element, prevTracker: DragTracker, dir: RmDirection, duration: number, distance: number): boolean;
2001
2249
  protected _getDragTracker(dom: Element, dx: number, dy: number): DragTracker;
2002
2250
  private $_startDrag;
2003
2251
  private $_drag;
@@ -2029,9 +2277,9 @@ declare abstract class DragTracker<T extends RmControl = RmControl> extends RmOb
2029
2277
  drag(eventTarget: Element, xPrev: number, yPrev: number, x: number, y: number): boolean;
2030
2278
  cancel(): void;
2031
2279
  drop(eventTarget: HTMLElement, x: number, y: number): void;
2032
- swipe(dir: RtDirection, duration: number, distance: number): boolean;
2280
+ swipe(dir: RmDirection, duration: number, distance: number): boolean;
2033
2281
  end(x?: number, y?: number): void;
2034
- protected _doSwipe(dir: RtDirection, duration: number, distance: number): boolean;
2282
+ protected _doSwipe(dir: RmDirection, duration: number, distance: number): boolean;
2035
2283
  protected _showFeedback(x: number, y: number): void;
2036
2284
  protected _moveFeedback(x: number, y: number): void;
2037
2285
  protected _hideFeedback(): void;
@@ -2052,6 +2300,7 @@ declare abstract class RmControl extends RmObject {
2052
2300
  static readonly CLASS_NAME = "rm-control";
2053
2301
  static readonly SHADOW_FILTER = "rm-shadow-filter";
2054
2302
  private _activeTool;
2303
+ static _animatable: boolean;
2055
2304
  private _container;
2056
2305
  private _dom;
2057
2306
  private _htmlRoot;
@@ -2090,9 +2339,6 @@ declare abstract class RmControl extends RmObject {
2090
2339
  activeTool(): RmTool;
2091
2340
  setSctiveTool(value: RmTool): void;
2092
2341
  clearDefs(): void;
2093
- private $_clearDefs;
2094
- clearAssetDefs(): void;
2095
- clearTemporaryDefs(): void;
2096
2342
  appendDom<T extends HTMLElement>(elt: T): T;
2097
2343
  addElement<T extends RmElement>(elt: T): T;
2098
2344
  removeElement(elt: RmElement): void;
@@ -2114,6 +2360,7 @@ declare abstract class RmControl extends RmObject {
2114
2360
  */
2115
2361
  clipBounds(x?: number, y?: number, width?: number, height?: number, rd?: number): ClipRectElement;
2116
2362
  clip<T extends ClipElement>(clip: T): T;
2363
+ pointerToPoint(event: PointerEvent): IPoint;
2117
2364
  protected _setTesting(): void;
2118
2365
  protected _setSize(w: number, h: number): void;
2119
2366
  private $_addListener;
@@ -2534,7 +2781,7 @@ type Shape = typeof _Shapes[keyof typeof _Shapes];
2534
2781
 
2535
2782
  type PointHoverCallback = (args: DataPointArgs) => void;
2536
2783
  type PointClickCallback = (args: DataPointArgs) => boolean;
2537
- type PointStyleCallback = (args: DataPointArgs) => SVGStyleOrClass;
2784
+ type PointStyleCallback = (args: DataPointArgs) => SVGStyleOrClass | undefined;
2538
2785
  /**
2539
2786
  * @enum
2540
2787
  */
@@ -2621,7 +2868,6 @@ interface DataPointLabelOptions extends IconedTextOptions {
2621
2868
  textCallback?: (point: any) => string;
2622
2869
  /**
2623
2870
  * 데이터 포인트별 label 표시 여부를 리턴하는 콜백.
2624
- *
2625
2871
  */
2626
2872
  visibleCallback?: (point: any) => boolean;
2627
2873
  /**
@@ -2687,15 +2933,15 @@ interface DataPointCalloutOptions extends ChartItemOptions {
2687
2933
  layoutOnly?: boolean;
2688
2934
  }
2689
2935
  /**
2690
- * 시리즈는 {@page data}로 지정된 값들을 데이터포인트로 표시하는 차트의 핵심 구성 요소이다.<br/>
2691
- * 차트 설정의 다른 부분이나 API에 참조하기 위해서는 {@page name}을 반드시 지정해야 햔다.
2692
- * 차트 생성 시 {@page config.series.#type} 을 지정하지 않으면 {@page config.series.bar 'bar'} 시리즈로 생성된다.<br/>
2936
+ * 시리즈는 {@page data}로 지정된 값들을 데이터포인트로 표시하는 맵차트의 핵심 구성 요소이다.<br/>
2937
+ * 맵차트 설정의 다른 부분이나 API에 참조하기 위해서는 {@page name}을 반드시 지정해야 햔다.
2938
+ * 맵차트 생성 시 {@page config.series.#type} 을 지정하지 않으면 {@page config.series.bar 'bar'} 시리즈로 생성된다.<br/>
2693
2939
  *
2694
2940
  * @config chart.series[base]
2695
2941
  */
2696
2942
  interface SeriesOptions extends ChartItemOptions {
2697
2943
  /**
2698
- * 차트 설정 객체에 지정하는 시리즈 종류.<br/>
2944
+ * 맵차트 설정 객체에 지정하는 시리즈 종류.<br/>
2699
2945
  */
2700
2946
  type?: string;
2701
2947
  /**
@@ -2711,7 +2957,7 @@ interface SeriesOptions extends ChartItemOptions {
2711
2957
  label?: string;
2712
2958
  /**
2713
2959
  * 명시적으로 이 속성을 지정하면,
2714
- * 관련된 맵이 차트에 활성됐을 때만 시리즈가 표시된다.
2960
+ * 관련된 맵이 맵차트에 활성됐을 때만 시리즈가 표시된다.
2715
2961
  */
2716
2962
  map?: string | number;
2717
2963
  /**
@@ -2729,7 +2975,7 @@ interface SeriesOptions extends ChartItemOptions {
2729
2975
  * 데이터포인트 목록을 생성하는 데 참조되는 데이터셋.<br/>
2730
2976
  * {@page g.createChartAsync createChartAsync}를 호출해서 비동기로
2731
2977
  * 맵차트를 생성할 때는 {@page dataUrl}로 원격 데이터 소스를 지정할 수 있다.
2732
- * [주의] 처음 load 후 data의 내용을 변경해도 차트에 반영되지 않는다.
2978
+ * [주의] 처음 load 후 data의 내용을 변경해도 맵차트에 반영되지 않는다.
2733
2979
  */
2734
2980
  data?: any;
2735
2981
  /**
@@ -2737,7 +2983,7 @@ interface SeriesOptions extends ChartItemOptions {
2737
2983
  * {@page g.createChartAsync createChartAsync} 호출 시, 해당 url로 GET 요청을 전송하여 데이터를 다운받고,
2738
2984
  * 해당 시리즈의 data 속성에 저장한다.<br/>
2739
2985
  * {@page data}가 설정되면 이 속성은 무시된다.
2740
- * 또, 비동기 함수가 아닌 {@page g.createChart createChart}로 차트를 생성할 때 이 속성으로 data를 설정하려는 경우
2986
+ * 또, 비동기 함수가 아닌 {@page g.createChart createChart}로 맵차트를 생성할 때 이 속성으로 data를 설정하려는 경우
2741
2987
  * 콘솔에 경고 메시지가 표시된다.
2742
2988
  */
2743
2989
  dataUrl?: string;
@@ -2806,16 +3052,21 @@ interface SeriesOptions extends ChartItemOptions {
2806
3052
  tooltipText?: string | boolean;
2807
3053
  tooltipCallback?: (args: any) => string;
2808
3054
  /**
2809
- * 명시적 false로 지정하면 legend 표시하지 않는다.
3055
+ * 시리즈가 연결된 legend index나 이름으로 지정한다.<br/>
3056
+ * -1 등 잘못된 값을 지정하면 legend에 표시되지 않는다.
2810
3057
  *
2811
- * @default true
3058
+ * @default 0
2812
3059
  */
2813
- visibleInLegend?: boolean;
3060
+ legend?: number | string;
2814
3061
  /**
2815
3062
  * @ignore 미구현
2816
3063
  * 차트 설정 로드 시 실행되는 animation 종류.
2817
3064
  */
2818
3065
  loadAnimation?: 'default' | 'reveal' | 'grow' | 'spread' | 'fadein';
3066
+ /**
3067
+ * true로 설정하면 hovering을 포함한 포인터 상호 작용에 비활성화 된다.<br/>
3068
+ */
3069
+ disabled?: boolean;
2819
3070
  /**
2820
3071
  * @ignore 미구현
2821
3072
  * 데이터포인트 hover 효과.<br/>
@@ -2882,7 +3133,7 @@ interface SparkSeriesCategory {
2882
3133
  }
2883
3134
  /**
2884
3135
  * 특정 위치에 연관된 값들을 단순 차트(spark chart)로 표시한다.<br/>
2885
- * bar, line, par 차트가 제공된다.
3136
+ * bar, line, pie 차트가 제공된다.
2886
3137
  */
2887
3138
  interface SparkSeriesOptions extends ValueSeriesOptions {
2888
3139
  /**
@@ -2891,9 +3142,14 @@ interface SparkSeriesOptions extends ValueSeriesOptions {
2891
3142
  * 또, {@page legendByCategory}가 true이면 여기에 지정된 색상별로 legend에 표시된다.
2892
3143
  */
2893
3144
  categories?: SparkSeriesCategory[];
3145
+ /**
3146
+ * 데이터포인트 값들을 가져올 필드 목록.<br/>
3147
+ * 이 속성이 지정되면 {@page valueField}는 무시된다.
3148
+ */
3149
+ valueFields?: string[];
2894
3150
  /**
2895
3151
  * true로 지정되고 {@page categories}가 지정되면
2896
- * 차트 legend에 category별로 항목이 표시된다.
3152
+ * 맵차트 legend에 category별로 항목이 표시된다.
2897
3153
  *
2898
3154
  * @default undefined
2899
3155
  */
@@ -2970,6 +3226,11 @@ declare const _DataPointValueDomain: {
2970
3226
  /** @dummy */
2971
3227
  type DataPointValueDomain = typeof _DataPointValueDomain[keyof typeof _DataPointValueDomain];
2972
3228
  interface OrthogonalSparkSeriesOptions extends SparkSeriesOptions {
3229
+ /**
3230
+ * @ignore 미구현
3231
+ * true면 수평 방향으로 표시한다.
3232
+ */
3233
+ inverted?: boolean;
2973
3234
  /**
2974
3235
  * 기준선 설정 옵션.<br/>
2975
3236
  */
@@ -3033,14 +3294,10 @@ interface BarSeriesOptions extends OrthogonalSparkSeriesOptions {
3033
3294
  * sub label 설정 모델.
3034
3295
  */
3035
3296
  subLabel?: DataPointLabelOptions | boolean;
3036
- /**
3037
- * @ignore 미구현
3038
- * true면 수평 방향으로 표시한다.
3039
- */
3040
- inverted?: boolean;
3041
3297
  /**
3042
3298
  * 바 너비.<br/>
3043
- * 그룹 너기가 지정된 그룹에 포함된 경우 그룹 너비에서 시리즈의 바가 차지하는 상대적 크기.
3299
+ * 차트에 bar 하나가 차지히는 원래 너비에서 실제 표시되는 너비의 상대적 크기로 지정한다.
3300
+ * 1보다 큰 경우 bar들이 겹치게 되는데 {@page overflow}가 true가 아니면 넘치지 않도록 최대한 차트 안쪽으로 밀어서 표시된다.
3044
3301
  *
3045
3302
  * @default 0.7
3046
3303
  */
@@ -3054,6 +3311,20 @@ interface BarSeriesOptions extends OrthogonalSparkSeriesOptions {
3054
3311
  * {@page baseValue} 혹은 y축의 baseValue보다 작은 쪽의 point들에 적용되는 스타일.
3055
3312
  */
3056
3313
  belowStyle?: SVGStyleOrClass;
3314
+ /**
3315
+ * true로 지정하면 {@page barWidth}가 1보다 큰 경우 bar가 차트 너비를 넘어 표시된다.<br/>
3316
+ * false면 최대한 차트 영역 내로 밀어서 표시한다.
3317
+ *
3318
+ * @default false
3319
+ */
3320
+ overflow?: boolean;
3321
+ /**
3322
+ * bar 표시 순서.<br/>
3323
+ * ex) 'reverse'로 지정하면 첫번째 bar가 두번째 bar 위에 표시된다.
3324
+ *
3325
+ * @default 'normal'
3326
+ */
3327
+ barOrder?: 'normal' | 'reverse';
3057
3328
  }
3058
3329
  /**
3059
3330
  * line 시리즈의 fill 영역 설정.<br/>
@@ -3082,6 +3353,19 @@ interface LineSeriesOptions extends OrthogonalSparkSeriesOptions {
3082
3353
  area?: LineSeriesAreaOptions;
3083
3354
  curved?: boolean;
3084
3355
  }
3356
+ /**
3357
+ * 파이 섹터 무시 경계 값 및 속성 설정.<br/>
3358
+ * 데이터포인트 values의 총 합이 지정된 value보다 작을 때
3359
+ * 파이 섹터들을 별도로 표시하지 않고 지정한 크기와 스타일의 원 또는 섹터 하나로 표시한다.<br/>
3360
+ */
3361
+ interface PieSeriesThreshold {
3362
+ value?: number;
3363
+ /**
3364
+ * 지정하지 않으면 원래 크기대로 표시한다.
3365
+ */
3366
+ radius?: number;
3367
+ style?: SVGStyleOrClass;
3368
+ }
3085
3369
  declare const PieSeriesType = "pie";
3086
3370
  /**
3087
3371
  * 데이터포인트의 **'value'** 속성으로 지정된 값들을 파이(pie) 차트로 표시한다.<br/>
@@ -3099,7 +3383,7 @@ interface PieSeriesOptions extends SparkSeriesOptions {
3099
3383
  * 파이 반지름.<br/>
3100
3384
  * 숫자나 '%'로 끝나는 백분율로 지정할 수 있다.
3101
3385
  * 백분율로 지정하면 {@page body} 영역의 높이/너비 중 작은 크기에 대한 상대 크기로 지정된다.
3102
- * 또, {@page minRadius}와 함께 사용하면 데이터포인트 값에 따라 다른 크기로 표시할 수 있다.
3386
+ * 또, {@page minSize}와 함께 사용하면 데이터포인트 값에 따라 다른 크기로 표시할 수 있다.
3103
3387
  *
3104
3388
  * @default 30
3105
3389
  */
@@ -3112,6 +3396,12 @@ interface PieSeriesOptions extends SparkSeriesOptions {
3112
3396
  * @default true
3113
3397
  */
3114
3398
  colorByValue?: boolean;
3399
+ /**
3400
+ * 파이 섹터 무시 경계 값 및 속성 설정 목록.<br/>
3401
+ * 데이터포인트 values의 총 합이 지정된 값보다 작을 때
3402
+ * 파이 섹터들을 별도로 표시하지 않고 지정한 스타일의 원 또는 섹터 하나로 표시한다.<br/>
3403
+ */
3404
+ threshold?: PieSeriesThreshold | PieSeriesThreshold[];
3115
3405
  }
3116
3406
  /**
3117
3407
  * @enum
@@ -3354,6 +3644,28 @@ interface DrilldownOptions extends ChartItemOptions {
3354
3644
  */
3355
3645
  autoMapChange?: boolean;
3356
3646
  }
3647
+ /**
3648
+ * 맵 시리즈 내외부 접경선 표시 설정 옵션.<br/>
3649
+ * [topoJSON](https://github.com/topojson/topojson-specification?tab=readme-ov-file) 소스로
3650
+ * 작성된 맵인 경우 내외부 접경선을 별도의 스타일로 구분해서 표시할 수 있다.
3651
+ */
3652
+ interface MapBordersOptions extends ChartItemOptions {
3653
+ /**
3654
+ * @default false
3655
+ */
3656
+ visible?: boolean;
3657
+ }
3658
+ /**
3659
+ * 맵 시리즈 내외부 접경선 표시 설정 옵션.<br/>
3660
+ * [topoJSON](https://github.com/topojson/topojson-specification?tab=readme-ov-file) 소스로
3661
+ * 작성된 맵인 경우 내외부 접경선을 별도의 스타일로 구분해서 표시할 수 있다.
3662
+ */
3663
+ interface MapBorderOptions extends ChartItemOptions {
3664
+ /**
3665
+ * border 목록일 때, 각 목록을 구분하는 이름.<br/>
3666
+ */
3667
+ name?: string;
3668
+ }
3357
3669
  declare const MapSeriesType = "map";
3358
3670
  /**
3359
3671
  * Map area 영역들을 칠하는 시리즈.<br/>
@@ -3375,11 +3687,10 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3375
3687
  * 맵 area와 연결할 키값들을 지정한다.<br/>
3376
3688
  * 두 값을 배열로 지정하면 첫번째 문자열은 맵소스 "properties"의 속성명,
3377
3689
  * 두번째는 데이터포인트의 속성명이다.
3378
- * 값을 하나만 지정하면 양쪽 같은 속성명으로 연결한다.<br/>
3379
- * 이 값이 지정되면 데이터포인트의 "id" 또는 idField 속성으로 지정한 속성값과 맵소스의 "rm-id" 또는 "id" 속성값으로 연결한다.
3690
+ * 값을 하나만 지정하거나 문자열로 지정하면 양쪽 같은 속성명으로 연결한다.<br/>
3691
+ * 이 값이 지정되지 않으면 데이터포인트의 "id" 또는 {@page idField} 속성으로 지정한 속성값과 맵소스의 "rm-id" 또는 "id" 속성값으로 연결한다.
3380
3692
  */
3381
3693
  mapKeys?: string | [string, string];
3382
- middleKeys?: [string, string];
3383
3694
  /**
3384
3695
  * 데이터포인트가 연결되지 않은 area의 스타일.<br/>
3385
3696
  *
@@ -3416,11 +3727,30 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3416
3727
  * @default true
3417
3728
  */
3418
3729
  allAreas?: boolean;
3730
+ /**
3731
+ * 표시하지 않는 영역들을 지정한다.<br/>
3732
+ * {@page mapKeys} 속성으로 지정된 key나 'id' 또는 {@page idField}로 지정된 값(들)로 지정한다.
3733
+ */
3734
+ hiddenAreas?: string | string[];
3735
+ /**
3736
+ * 내부 접경선 표시 설정 옵션.<br/>
3737
+ */
3738
+ internalBorder?: MapBordersOptions;
3739
+ /**
3740
+ * 외부 접경선 표시 설정 옵션.<br/>
3741
+ */
3742
+ externalBorder?: MapBordersOptions;
3743
+ /**
3744
+ * 특정 영역들의 경계선 옵션 목록.<br/>
3745
+ */
3746
+ mapBorders?: string | MapBorderOptions | (string | MapBorderOptions)[];
3419
3747
  colorRange?: ColorRange;
3420
3748
  /**
3421
- * 차트에 설정된 color scale 아이디 혹은 인덱스.
3749
+ * 차트에 설정된 color scale 아이디 혹은 인덱스.<br/>
3750
+ * 명시적 null을 지정하면 컬러스케일에 연결되지 않는다.
3751
+ * 다른 잘못된 값이면 첫번째 스케일에 연결된다.
3422
3752
  */
3423
- colorScale?: string | number;
3753
+ colorScale?: string | number | null;
3424
3754
  drilldown?: DrilldownOptions;
3425
3755
  /**
3426
3756
  * @ignore
@@ -3434,6 +3764,12 @@ interface MapSeriesOptions extends ValueSeriesOptions {
3434
3764
  * @default false;
3435
3765
  */
3436
3766
  bringToFront?: boolean;
3767
+ /**
3768
+ * 맵시리즈는 기본값으로 legend에 표시하지 않는다.<br/>
3769
+ *
3770
+ * @default -1
3771
+ */
3772
+ legend?: number | string;
3437
3773
  }
3438
3774
  interface FeatureSeriesLabelOptions extends DataPointLabelOptions {
3439
3775
  hoverColor?: string;
@@ -3452,9 +3788,11 @@ interface FeatureSeriesOptions extends ValueSeriesOptions {
3452
3788
  selectable?: boolean;
3453
3789
  colorRange?: ColorRange;
3454
3790
  /**
3455
- * 차트에 설정된 color scale 아이디 혹은 인덱스.
3791
+ * 차트에 설정된 color scale 아이디 혹은 인덱스.<br/>
3792
+ * 명시적 null을 지정하면 컬러스케일에 연결되지 않는다.
3793
+ * 다른 잘못된 값이면 첫번째 스케일에 연결된다.
3456
3794
  */
3457
- colorScale?: string | number;
3795
+ colorScale?: string | number | null;
3458
3796
  /**
3459
3797
  * @ignore
3460
3798
  */
@@ -3582,9 +3920,11 @@ interface PinSeriesOptions extends MarkerSeriesOptions {
3582
3920
  */
3583
3921
  position?: PointViewPosition;
3584
3922
  /**
3585
- * 차트에 설정된 color scale 아이디 혹은 인덱스.
3923
+ * 차트에 설정된 color scale 아이디 혹은 인덱스.<br/>
3924
+ * 명시적 null을 지정하면 컬러스케일에 연결되지 않는다.
3925
+ * 다른 잘못된 값이면 첫번째 스케일에 연결된다.
3586
3926
  */
3587
- colorScale?: string | number;
3927
+ colorScale?: string | number | null;
3588
3928
  }
3589
3929
  declare const FigureSeriesType = "figure";
3590
3930
  /**
@@ -3832,16 +4172,6 @@ declare const TableSeriesType = "table";
3832
4172
  interface TableSeriesOptions extends SeriesOptions {
3833
4173
  type?: typeof TableSeriesType;
3834
4174
  }
3835
- declare const ChartSeriesType = "chart";
3836
- /**
3837
- * Chart Series<br/>
3838
- * {@page op.SeriesOptions#type}은 'chart'이다.<br/>
3839
- *
3840
- * @config chart.series[type=chart]
3841
- */
3842
- interface ChartSeriesOptions extends SeriesOptions {
3843
- type?: typeof ChartSeriesType;
3844
- }
3845
4175
  declare const SankeySeriesType = "sankey";
3846
4176
  /**
3847
4177
  * Sankey Series<br/>
@@ -4272,7 +4602,7 @@ type SeriesLoadAnimation = typeof _SeriesLoadAnimation[keyof typeof _SeriesLoadA
4272
4602
  /**
4273
4603
  * @enum
4274
4604
  */
4275
- declare const LegendItemsAligns: {
4605
+ declare const _LegendItemsAligns: {
4276
4606
  /**
4277
4607
  * 수평일 때 왼쪽, 수직일 때는 위쪽으로 몰아서 배치한다.
4278
4608
  */
@@ -4287,14 +4617,14 @@ declare const LegendItemsAligns: {
4287
4617
  readonly END: "end";
4288
4618
  };
4289
4619
  /** @dummy */
4290
- type LegendItemsAlign = typeof LegendItemsAligns[keyof typeof LegendItemsAligns];
4620
+ type LegendItemsAlign = typeof _LegendItemsAligns[keyof typeof _LegendItemsAligns];
4291
4621
  /**
4292
4622
  * @enum
4293
4623
  */
4294
4624
  declare const _LegendLayout: {
4295
4625
  /**
4296
- * legend가 차트 좌우에 배치되면 item들을 수직으로 배치하고,
4297
- * legend가 차트 상하에 배치되면 item들을 수평으로 배치한다.
4626
+ * legend가 맵차트 좌우에 배치되면 item들을 수직으로 배치하고,
4627
+ * legend가 맵차트 상하에 배치되면 item들을 수평으로 배치한다.
4298
4628
  */
4299
4629
  readonly AUTO: "auto";
4300
4630
  /**
@@ -4309,14 +4639,14 @@ declare const _LegendLayout: {
4309
4639
  /** @dummy */
4310
4640
  type LegendLayout = typeof _LegendLayout[keyof typeof _LegendLayout];
4311
4641
  /**
4312
- * 차트 시리즈 구성을 직관적으로 이해할 수 있도록 도와주는 범례 설정 모델.<br/>
4642
+ * 맵차트 시리즈 구성을 직관적으로 이해할 수 있도록 도와주는 범례 설정 모델.<br/>
4313
4643
  * visible 기본값이 undefined이고,
4314
4644
  * 따로 지정하지 않으면 시리즈가 둘 이상 포함돼야 legend가 표시된다.<br/>
4315
4645
  * {@link guide.legend 범례 개요} 페이지를 참조한다.
4316
4646
  *
4317
4647
  * @config chart.legend
4318
4648
  */
4319
- interface LegendOptions extends ChartItemOptions {
4649
+ interface LegendOptions extends MapSimpleWidgetOptions {
4320
4650
  /**
4321
4651
  * 명시적으로 true로 설정되거나, 명시적 false가 아니면서 표시 항목 수가 1보다 클 때 표시된다.<br/>
4322
4652
  *
@@ -4327,12 +4657,6 @@ interface LegendOptions extends ChartItemOptions {
4327
4657
  * true면 나중에 배치되는 시리즈가 먼저 표시된다.<br/>
4328
4658
  */
4329
4659
  reversed?: boolean;
4330
- /**
4331
- * 표시 위치.<br/>
4332
- *
4333
- * @default 'bottom'
4334
- */
4335
- location?: ChartItemLocation;
4336
4660
  /**
4337
4661
  * item 배치 방향.<br/>
4338
4662
  *
@@ -4343,13 +4667,6 @@ interface LegendOptions extends ChartItemOptions {
4343
4667
  * legend 정렬 기준.<br/>
4344
4668
  */
4345
4669
  alignBase?: AlignBase;
4346
- /**
4347
- * {@link location}이 'body'가 아닐 때,
4348
- * legend view와 나머지 chart 영역 사이의 간격.<br/>
4349
- *
4350
- * @default 6
4351
- */
4352
- gap?: number;
4353
4670
  /**
4354
4671
  * legend 아이템들 사이의 간격.<br/>
4355
4672
  *
@@ -4374,11 +4691,6 @@ interface LegendOptions extends ChartItemOptions {
4374
4691
  * @default 4
4375
4692
  */
4376
4693
  markerGap?: number;
4377
- /**
4378
- * 배경 스타일 셋.<br/>
4379
- * 배경 색상 및 경계선 스타일을 지정할 수 있다.
4380
- */
4381
- backgroundStyle?: SVGStyleOrClass;
4382
4694
  /**
4383
4695
  * 한 줄 당 표시할 최대 legend 항목 수.<br/>
4384
4696
  */
@@ -4399,30 +4711,6 @@ interface LegendOptions extends ChartItemOptions {
4399
4711
  * 최대 높이를 픽셀 단위의 크기 혹은 body 높이에 대한 상대 길이를 '%'로 지정한다.<br/>
4400
4712
  */
4401
4713
  maxHeight?: PercentSize;
4402
- /**
4403
- * 수평 배치.<br/>
4404
- * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'left',
4405
- * 'left', 'right'일 때는 'center'이다.
4406
- */
4407
- align?: Align;
4408
- /**
4409
- * 수직 배치.<br/>
4410
- * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'top',
4411
- * 'top', 'bottom'일 때는 'middle'이다.
4412
- */
4413
- verticalAlign?: VerticalAlign;
4414
- /**
4415
- * 범례와 body 혹은 차트 경계 사이의 수평 간격.<br/>
4416
- *
4417
- * @default 0
4418
- */
4419
- offsetX?: number;
4420
- /**
4421
- * 범례와 body 혹은 차트 경계 사이의 수직 간격.<br/>
4422
- *
4423
- * @default 0
4424
- */
4425
- offsetY?: number;
4426
4714
  /**
4427
4715
  * 한 라인의 item들이 배치되는 위치.<br/>
4428
4716
  *
@@ -4463,31 +4751,38 @@ declare class LegendItem extends ChartItem<ChartItemOptions> {
4463
4751
  text(): string;
4464
4752
  }
4465
4753
  /**
4466
- * 차트 시리즈 구성을 직관적으로 이해할 수 있도록 도와주는 범례 설정 모델.<br/>
4754
+ * 맵차트 시리즈 구성을 직관적으로 이해할 수 있도록 도와주는 범례 설정 모델.<br/>
4467
4755
  * visible 기본값이 undefined이고,
4468
4756
  * 따로 지정하지 않으면 시리즈가 둘 이상 포함돼야 legend가 표시된다.<br/>
4469
4757
  * {@link guide.legend 범례 개요} 페이지를 참조한다.
4470
4758
  *
4471
4759
  * @config chart.legend
4472
4760
  */
4473
- declare class Legend extends ChartItem<LegendOptions> {
4761
+ declare class Legend extends MapSimpleWidget<LegendOptions> {
4474
4762
  static defaults: LegendOptions;
4475
4763
  private _maxWidth;
4476
4764
  private _maxHeight;
4477
4765
  private _items;
4478
4766
  private _maxWidthDim;
4479
4767
  private _maxHeightDim;
4480
- private _location;
4481
4768
  items(): LegendItem[];
4482
4769
  isEmpty(): boolean;
4483
- isVisible(): boolean;
4484
- getLocation(): ChartItemLocation;
4485
4770
  isInner(): boolean;
4486
4771
  getLayout(): LegendLayout;
4487
4772
  getMaxWidth(domain: number): number;
4488
4773
  getMaxHeight(domain: number): number;
4774
+ _type(): string;
4775
+ isVertical(): boolean;
4776
+ isVisible(): boolean;
4777
+ protected _doInit(op: LegendOptions): void;
4489
4778
  protected _doApply(options: LegendOptions): void;
4490
- protected _doPrepareRender(chart: IChart): void;
4779
+ protected _doPrepareRender(chart: IChart, op: LegendOptions): void;
4780
+ }
4781
+ declare class LegendCollection extends MapWidgetCollection<Legend> {
4782
+ protected _collectionProp(): string;
4783
+ protected _canEmpty(): boolean;
4784
+ protected _createWidget(chart: IChart): Legend;
4785
+ prepareRender(): void;
4491
4786
  }
4492
4787
 
4493
4788
  /**
@@ -4503,15 +4798,18 @@ interface MapProjection {
4503
4798
  x2: number;
4504
4799
  y2: number;
4505
4800
  };
4506
- isGlobe?: boolean;
4507
- isElliptic?: boolean;
4801
+ isGlobe: boolean;
4802
+ lonElliptic: boolean;
4803
+ latElliptic: boolean;
4804
+ getYRange(latFrom: number, latTo: number): any;
4508
4805
  project(coord: MapCoord): MapCoord;
4509
4806
  backward(coord: MapCoord): MapCoord;
4510
4807
  clip(pts: MapCoord[]): MapCoord[];
4511
4808
  isVisible(coord: MapCoord): boolean;
4512
4809
  getVisible(coord: MapCoord): MapCoord;
4513
- getClipBounds(): MapCoord[];
4810
+ getClipBounds(lonInterval: number, latInterval: number): MapCoord[];
4514
4811
  isClipping(): boolean;
4812
+ getScrolledLon(lon: number): number;
4515
4813
  }
4516
4814
  declare class MapArea extends RmObject implements ISelectionSource {
4517
4815
  source?: AreaItem;
@@ -4519,6 +4817,8 @@ declare class MapArea extends RmObject implements ISelectionSource {
4519
4817
  _insetChilds: number[];
4520
4818
  private _info;
4521
4819
  private _path;
4820
+ private _internal;
4821
+ private _external;
4522
4822
  h1: number;
4523
4823
  h2: number;
4524
4824
  v1: number;
@@ -4542,6 +4842,8 @@ declare class MapArea extends RmObject implements ISelectionSource {
4542
4842
  id: string;
4543
4843
  name: string;
4544
4844
  get path(): string;
4845
+ get internal(): string;
4846
+ get external(): string;
4545
4847
  get selected(): boolean;
4546
4848
  displayText(): string;
4547
4849
  /**
@@ -4567,10 +4869,23 @@ declare class MapArea extends RmObject implements ISelectionSource {
4567
4869
  y1: number;
4568
4870
  y2: number;
4569
4871
  };
4570
- readPath(prj: MapProjection): string;
4872
+ readPath(prj: MapProjection, info: {
4873
+ internals: boolean;
4874
+ externals: boolean;
4875
+ }): string;
4876
+ private $_readInternal;
4877
+ private $_readExternal;
4571
4878
  getCenter(): MapCoord;
4572
4879
  _clone(): MapArea;
4573
4880
  }
4881
+ declare class MapBorder extends RmObject {
4882
+ source: BorderItem;
4883
+ private _path;
4884
+ constructor(source: BorderItem);
4885
+ get path(): string;
4886
+ reset(): void;
4887
+ readPath(prj: MapProjection): void;
4888
+ }
4574
4889
  interface IMapOwner {
4575
4890
  getProjection(second: boolean): MapProjection;
4576
4891
  projectionChanged(): void;
@@ -4589,6 +4904,7 @@ declare class MapModel extends RmObject {
4589
4904
  private _second;
4590
4905
  private _areas;
4591
4906
  private _areaMap;
4907
+ private _borders;
4592
4908
  _insets: MapInset[];
4593
4909
  _useOffset: boolean | MapCoord;
4594
4910
  private _mapAreaFinder;
@@ -4608,6 +4924,7 @@ declare class MapModel extends RmObject {
4608
4924
  private _index;
4609
4925
  private _name;
4610
4926
  private _hiddens;
4927
+ private _world;
4611
4928
  constructor(owner: IChart & IMapOwner, source: MapSourceImpl | MapModel, index: number);
4612
4929
  get index(): number;
4613
4930
  get name(): string;
@@ -4617,6 +4934,11 @@ declare class MapModel extends RmObject {
4617
4934
  */
4618
4935
  get hiddenAreas(): string[];
4619
4936
  set hiddenAreas(value: string[]);
4937
+ get alignArctic(): any;
4938
+ get hasInternals(): boolean;
4939
+ get hasExternals(): boolean;
4940
+ get hasBorders(): MapBorderInfo[];
4941
+ get isWorld(): boolean;
4620
4942
  get(index: number): MapArea;
4621
4943
  areaOf(id: any): MapArea;
4622
4944
  getAreaMap(prop: string): {
@@ -4629,14 +4951,14 @@ declare class MapModel extends RmObject {
4629
4951
  */
4630
4952
  reset(): void;
4631
4953
  isVisible(area: string): boolean;
4632
- isWorldMap(): boolean;
4954
+ insetAt(coord: MapCoord): MapInset;
4955
+ getBorder(name: string): MapBorder;
4633
4956
  /**
4634
4957
  * 투영전에 지도 bounds를 계산한다.
4635
4958
  * projection offset을 설정하려면 투영하기 전에 지도 경계값이 필요하다.
4636
4959
  * @TODO readPath 중복 로직 제거
4637
4960
  */
4638
4961
  private $_preflight;
4639
- private $_isWorldMap;
4640
4962
  private $_resetAreas;
4641
4963
  private $_updateMainAreaBounds;
4642
4964
  private $_load;
@@ -4671,7 +4993,7 @@ declare class Tooltip extends ChartItem<TooltipOptions> {
4671
4993
  setTarget(series: ISeries, point: DataPoint): ITooltipContext;
4672
4994
  getTextDomain(): IRichTextDomain;
4673
4995
  isFollowPointer(series: ISeries): boolean;
4674
- protected _doSetSimple(source: any): boolean;
4996
+ protected _doSetSimple(op: TooltipOptions, source: any): boolean;
4675
4997
  protected _doApply(options: TooltipOptions): void;
4676
4998
  }
4677
4999
 
@@ -4687,8 +5009,8 @@ declare class DataPointLabel<OP extends DataPointLabelOptions = DataPointLabelOp
4687
5009
  getText(value: any): string;
4688
5010
  isVisible(): boolean;
4689
5011
  getDefaultIconPos(): IconPosition;
4690
- protected _doSetSimple(src: any): boolean;
4691
- protected _doPrepareRender(chart: IChart): void;
5012
+ protected _doSetSimple(op: OP, src: any): boolean;
5013
+ protected _doPrepareRender(chart: IChart, op: OP): void;
4692
5014
  }
4693
5015
  declare class DataPointAnchorPoint<OP extends CalloutAnchorPointOptions = CalloutAnchorPointOptions> extends ChartItem<OP> {
4694
5016
  static defaults: CalloutAnchorPointOptions;
@@ -4713,6 +5035,7 @@ interface ISeries<T extends DataPoint = DataPoint> {
4713
5035
  _latFielder?: (src: any) => number;
4714
5036
  _valuesFielder?: (src: any) => any[];
4715
5037
  _colorFielder: (src: any) => string;
5038
+ coordOfArea(id: string): MapCoord;
4716
5039
  getColorScale(): string | number;
4717
5040
  initPoints(source: any[]): T[];
4718
5041
  followTooltipPointer(): boolean;
@@ -4757,8 +5080,10 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
4757
5080
  _colorFielder: (src: any) => string;
4758
5081
  _runColor: string;
4759
5082
  _calcedColor: string;
5083
+ protected _legend: object;
4760
5084
  private _legendMarker;
4761
5085
  private _pointLabelCallback;
5086
+ private _pointLabelVisCallback;
4762
5087
  private _pointArgs;
4763
5088
  private _pointListArgs;
4764
5089
  private _argsPoint;
@@ -4777,7 +5102,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
4777
5102
  /**
4778
5103
  * 시리즈 이름.<br/>
4779
5104
  * 시리즈 생성시 지정된 후 변경할 수 없다.
4780
- * 차트의 다른 구성 요소에서 이 시리즈를 참조할 때 사용되며,
5105
+ * 맵차트의 다른 구성 요소에서 이 시리즈를 참조할 때 사용되며,
4781
5106
  * 레전드나 툴팁에서 시리즈를 나타내는 텍스트로도 사용된다.
4782
5107
  *
4783
5108
  * @config
@@ -4829,12 +5154,11 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
4829
5154
  getLabeledPoints(): DataPoint[];
4830
5155
  getCallout(): DataPointCallout<DataPointCalloutOptions>;
4831
5156
  isPointCalloutVisible(): boolean;
4832
- getLegendSources(list: ILegendSource[]): void;
5157
+ getLegendSources(legend: object, list: ILegendSource[]): void;
4833
5158
  getLabelOff(): number;
4834
5159
  protected _defLabelOff(): number;
4835
5160
  setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
4836
5161
  coordOfArea(id: string): MapCoord;
4837
- getCoord(p: DataPoint): MapCoord;
4838
5162
  pointById(id: string): DataPoint;
4839
5163
  canAddAnimation(): boolean;
4840
5164
  canRemoveAnimation(): boolean;
@@ -4872,11 +5196,12 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
4872
5196
  */
4873
5197
  lock(): void;
4874
5198
  unlock(): void;
5199
+ _setLegend(legend: object): void;
4875
5200
  protected _doApply(options: SeriesOptions): void;
4876
5201
  _prepareRender(): void;
4877
5202
  protected _doAfterRender(): void;
4878
5203
  protected _doMapChanged(): void;
4879
- protected _doPrepareRender(chart: IChart): void;
5204
+ protected _doPrepareRender(chart: IChart, op: OP): void;
4880
5205
  protected abstract _createPoint(source: any): DataPoint;
4881
5206
  protected $_addPoint(source: any, i: number): DataPoint;
4882
5207
  protected _createFielder(f: any): (v: any) => any;
@@ -4899,6 +5224,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
4899
5224
  declare abstract class ValuePoint extends DataPoint {
4900
5225
  value: number;
4901
5226
  protected _readObject(series: ISeries, v: any): void;
5227
+ protected _assignTo(proxy: any): any;
4902
5228
  getValue(): number;
4903
5229
  getBaseValue(): number;
4904
5230
  }
@@ -4907,6 +5233,7 @@ declare abstract class ValuePoint extends DataPoint {
4907
5233
  declare abstract class ValueSeries<OP extends ValueSeriesOptions = ValueSeriesOptions> extends Series<OP> {
4908
5234
  static defaults: ValueSeriesOptions;
4909
5235
  protected _createFielders(op: ValueSeriesOptions): void;
5236
+ protected _createValueFielder(op: ValueSeriesOptions): (v: any) => any;
4910
5237
  }
4911
5238
  declare abstract class MarkerSeriesPoint extends ValuePoint {
4912
5239
  }
@@ -4917,10 +5244,13 @@ declare abstract class MarkerSeries<OP extends MarkerSeriesOptions = MarkerSerie
4917
5244
  }
4918
5245
  declare class SparkSeriesPoint extends ValuePoint {
4919
5246
  values: number[];
5247
+ _sum: number;
4920
5248
  position: PointViewPosition;
4921
5249
  getPoints(values: number[], minimum: number, maximum: number): number[];
4922
5250
  getBasePoint(minimum: number, maximum: number, base: number): number;
5251
+ getSum(): number;
4923
5252
  protected _readObject(series: ISeries, v: any): void;
5253
+ getParam(param: string): any;
4924
5254
  }
4925
5255
  declare class SparkCategoryImpl implements ILegendSource {
4926
5256
  name: string;
@@ -4933,6 +5263,7 @@ declare class SparkCategoryImpl implements ILegendSource {
4933
5263
  legendLabel(): string;
4934
5264
  }
4935
5265
  /**
5266
+ * 복수 개의 관련된 값들을 표시하는 시리즈 기반 클래스.<br/>
4936
5267
  */
4937
5268
  declare abstract class SparkSeries<OP extends SparkSeriesOptions = SparkSeriesOptions> extends ValueSeries<OP> {
4938
5269
  static defaults: SparkSeriesOptions;
@@ -4942,7 +5273,8 @@ declare abstract class SparkSeries<OP extends SparkSeriesOptions = SparkSeriesOp
4942
5273
  max: number;
4943
5274
  };
4944
5275
  protected _doApply(options: SparkSeriesOptions): void;
4945
- getLegendSources(list: ILegendSource[]): void;
5276
+ protected _createValueFielder(op: SparkSeriesOptions): (v: any) => any;
5277
+ getLegendSources(legend: object, list: ILegendSource[]): void;
4946
5278
  private $_parseCategories;
4947
5279
  }
4948
5280
  declare abstract class OrthogonalSparkSeriesPoint extends SparkSeriesPoint {
@@ -4957,6 +5289,7 @@ declare abstract class OrthogonalSparkSeries<OP extends OrthogonalSparkSeriesOpt
4957
5289
  private _baseLine;
4958
5290
  _width: number;
4959
5291
  _height: number;
5292
+ private _paddingDim;
4960
5293
  _minValue: number;
4961
5294
  _maxValue: number;
4962
5295
  _pointDomain: boolean;
@@ -4970,6 +5303,7 @@ declare abstract class OrthogonalSparkSeries<OP extends OrthogonalSparkSeriesOpt
4970
5303
  max: number;
4971
5304
  base: number;
4972
5305
  };
5306
+ getPadding(domain: number): number;
4973
5307
  protected _doApply(options: OrthogonalSparkSeriesOptions): void;
4974
5308
  }
4975
5309
  declare abstract class GaugePoint extends ValuePoint {
@@ -5027,6 +5361,12 @@ declare class DataPoint implements ISelectionSource {
5027
5361
  * 데이터포인트 표시 위치.<br/>
5028
5362
  */
5029
5363
  coord: MapCoord;
5364
+ /**
5365
+ * @private
5366
+ *
5367
+ * 인셋에 포함된 경우 인셋의 offset.<br/>
5368
+ */
5369
+ inset: MapCoord;
5030
5370
  /**
5031
5371
  * 본래 위치와 다른 곳에 데이터포인트 정보를 표시할 때,
5032
5372
  * 해당하는 위치까지의 경로를 표시한다.<br/>
@@ -5127,7 +5467,7 @@ interface AssetItemOptions {
5127
5467
  /**
5128
5468
  * 에셋 id.<br/>
5129
5469
  * 시리즈나 축에서 이 에셋 항목을 참조할 때 사용하는 키로서
5130
- * 차트 내에서 유일한 문자열로 반드시 지정해야 한다.
5470
+ * 맵차트 내에서 유일한 문자열로 반드시 지정해야 한다.
5131
5471
  *
5132
5472
  */
5133
5473
  id: string;
@@ -5265,55 +5605,33 @@ declare class AssetCollection {
5265
5605
  private $_loadItem;
5266
5606
  }
5267
5607
 
5608
+ /**
5609
+ * 맵차트 제작 주체 등을 표시하는 영역에 대한 모델.<br/>
5610
+ * 기본적으로 맵차트 오른쪽 아래에 표시되지만, {@link align}, {@link verticalAlign} 등으로 위치를 지정할 수 있다.
5611
+ * {@link url}을 설정하면 마우스 클릭 시 새창을 열고 해당 위치로 이동시킨다.
5612
+ */
5613
+ declare class Credits extends ChartItem<CreditsOptions> {
5614
+ static defaults: CreditsOptions;
5615
+ protected _doSetSimple(op: CreditsOptions, src: any): boolean;
5616
+ }
5617
+
5268
5618
  /**
5269
5619
  * 컬러, 버블 스케일 등의 스케일 기반 설정.<br/>
5270
5620
  */
5271
- interface ScaleOptions extends ChartItemOptions {
5272
- /**
5273
- * 시리즈에서 참조하는 스케일 이름.<br/>
5274
- */
5275
- name?: string;
5621
+ interface ScaleOptions extends MapSimpleWidgetOptions {
5276
5622
  /**
5277
5623
  * {@page minValue}나 {@page maxValue}를 지정하지 않는 경우 범위 기준값을 계산할 시리즈의 이름이나 index.<br />
5278
5624
  * 이 속성을 지정하지 않으면 첫 번째 map 시리즈의 범위를 계산한다.
5279
5625
  */
5280
5626
  series?: string | number;
5281
- /**
5282
- * scale 표시 위치.<br/>
5283
- */
5284
- location?: ChartItemLocation;
5285
- /**
5286
- * 수평 배치.<br/>
5287
- * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'left',
5288
- * 'left', 'right'일 때는 'center'이다.
5289
- */
5290
- align?: Align;
5291
- /**
5292
- * 수직 배치.<br/>
5293
- * 값을 지정하지 않으면, 기본값이 {@link location}이 'body'일 때는 'top',
5294
- * 'top', 'bottom'일 때는 'middle'이다.
5295
- */
5296
- verticalAlign?: VerticalAlign;
5297
- /**
5298
- * 범례와 body 혹은 차트 경계 사이의 수평 간격.<br/>
5299
- *
5300
- * @default 0
5301
- */
5302
- offsetX?: number;
5303
- /**
5304
- * 범례와 body 혹은 차트 경계 사이의 수직 간격.<br/>
5305
- *
5306
- * @default 0
5307
- */
5308
- offsetY?: number;
5309
5627
  }
5310
5628
  /**
5311
5629
  * @enum
5312
5630
  */
5313
5631
  declare const _ColorScaleLayout: {
5314
5632
  /**
5315
- * color scale이 차트 좌우에 배치되면 item들을 수직으로 배치하고,
5316
- * color scale이 차트 상하에 배치되면 item들을 수평으로 배치한다.
5633
+ * color scale이 맵차트 좌우에 배치되면 item들을 수직으로 배치하고,
5634
+ * color scale이 맵차트 상하에 배치되면 item들을 수평으로 배치한다.
5317
5635
  */
5318
5636
  readonly AUTO: "auto";
5319
5637
  /**
@@ -5373,26 +5691,52 @@ interface ColorScaleTickLineOptions extends ChartItemOptions {
5373
5691
  interface ColorScaleTickLabelOptions extends IconedTextOptions {
5374
5692
  /**
5375
5693
  * 라벨 표시 위치 및 내용.<br/>
5376
- * - 'tick' - tick 라인 아래 값을 표시한다.
5377
- * - 'between' - tick 사이의 중간에 해당 stop의 name을 표시한다. scale에 steps가 지정되지 않으면 무시된다.
5694
+ * - 'between' - step 경게에 맞춰 그 위치의 값을 표시한다.
5695
+ * - 'step' - step의 중간에 맟춰 해당 stop의 범위를 표시한다.
5378
5696
  *
5379
- * @default 'tick'
5697
+ * @default 'between'
5380
5698
  */
5381
- position?: 'tick' | 'between';
5699
+ position?: 'between' | 'step';
5382
5700
  /**
5383
5701
  * @default 4
5384
5702
  */
5385
5703
  offset?: number;
5386
- minText?: string;
5387
- maxText?: string;
5704
+ /**
5705
+ * 첫번째 label의 텍스트.<br/>
5706
+ * 빈 문자열이나 null로 지정하면 label이 표시되지 않는다.
5707
+ */
5708
+ startText?: string;
5709
+ /**
5710
+ * 마지막 label의 텍스트.<br/>
5711
+ * 빈 문자열이나 null로 지정하면 label이 표시되지 않는다.
5712
+ */
5713
+ endText?: string;
5388
5714
  }
5389
5715
  /**
5390
5716
  * 색상 스텝을 구분하는 color scale 틱 라인 및 라벨 옵션.<br/>
5391
5717
  * marker 반대편에 표시된다.
5392
5718
  */
5393
5719
  interface ColorScaleTickOptions extends ChartItemOptions {
5720
+ /**
5721
+ * tick 선 설정 옵션.<br/>
5722
+ */
5394
5723
  line?: ColorScaleTickLineOptions;
5724
+ /**
5725
+ * tick 라벨 설정 옵션.<br/>
5726
+ */
5395
5727
  label?: ColorScaleTickLabelOptions;
5728
+ /**
5729
+ * 명시적 false로 지정하면 최소값 tick 선과 라벨을 표시하지 않는다.<br/>
5730
+ *
5731
+ * @default undefined
5732
+ */
5733
+ minVisible?: boolean;
5734
+ /**
5735
+ * 명시적 false로 지정하면 최대값 tick 선과 라벨을 표시하지 않는다.<br/>
5736
+ *
5737
+ * @default undefined
5738
+ */
5739
+ maxVisible?: boolean;
5396
5740
  }
5397
5741
  interface ColorScaleStep {
5398
5742
  /**
@@ -5408,7 +5752,7 @@ interface ColorScaleStep {
5408
5752
  /**
5409
5753
  * 구간 label.<br/>
5410
5754
  */
5411
- label: string;
5755
+ label?: string;
5412
5756
  /**
5413
5757
  * 구간 색상.<br/>
5414
5758
  * {@page fromColor}를 지정하면 이 step에 포함된 영역의 값에 따라 두 색상 사이의 중간 색상으로 표시된다.<br/>
@@ -5430,6 +5774,28 @@ interface ColorStop {
5430
5774
  stop: number;
5431
5775
  color: string;
5432
5776
  }
5777
+ interface ColorScaleNullOptions extends ChartItemOptions {
5778
+ /**
5779
+ * @default false
5780
+ */
5781
+ visible?: boolean;
5782
+ /**
5783
+ * 기본 step들과 사이의 간격.<br/>
5784
+ *
5785
+ * @default 0
5786
+ */
5787
+ gap?: number;
5788
+ /**
5789
+ * 지정되지 않은 값 표시 색.<br/>
5790
+ *
5791
+ * @default 'white'
5792
+ */
5793
+ color?: string;
5794
+ /**
5795
+ * @default 'No Data'
5796
+ */
5797
+ label?: string;
5798
+ }
5433
5799
  /**
5434
5800
  * 맵 area 등에 표시되는 색상 범위를 표시한다.<br/>
5435
5801
  *
@@ -5441,15 +5807,31 @@ interface ColorScaleOptions extends ScaleOptions {
5441
5807
  */
5442
5808
  marker?: ColorScaleMarkerOptions;
5443
5809
  /**
5810
+ * Step 상자 옆에 표시되는 label 설정 옵션.<br/>
5444
5811
  */
5445
5812
  tick?: ColorScaleTickOptions;
5446
5813
  /**
5814
+ * Step 상자와 label 사이의 연결선 설정 옵션.<br/>
5447
5815
  */
5448
5816
  stepLine?: ColorScaleStepLineOptions;
5817
+ /**
5818
+ * 지정되지 않은 값들을 표시하는 데 적용되는 색상을 지시하는 별도의 step 설정 옵션.<br/>
5819
+ */
5820
+ nullStep?: ColorScaleNullOptions;
5449
5821
  /**
5450
5822
  * true로 지정하면 scale view 대신, color step들을 legend view의 항목들로 표시한다.<br/>
5451
5823
  */
5452
5824
  display?: ColorScaleDisplay;
5825
+ /**
5826
+ * Step 상자들과 tick lable들의 위치를 바꿔 표시한다.<br/>
5827
+ * true면 label이 step 상자 왼쪽이나 위쪽에 표시된다.
5828
+ */
5829
+ reversed?: boolean;
5830
+ /**
5831
+ * step의 방향을 바꿔 표시한다.<br/>
5832
+ * true면 오른쪽에 왼쪽으로, 또는 위쪽에서 아래쪽으로 최소에서 최대값으로 흐르게 표시한다.
5833
+ */
5834
+ inverted?: boolean;
5453
5835
  /**
5454
5836
  * 기준 최소값.<br/>
5455
5837
  * 이 값을 지정하지 않고 {@page series}가 설정되면 그 시리즈의 최소값을 사용한다.<br/>
@@ -5527,17 +5909,6 @@ interface ColorScaleOptions extends ScaleOptions {
5527
5909
  * 숫자로 지정하면 pixel 수, '%'로 지정하면 scale이 표시될 수 있는 최대 크기에 대한 백분율로 설정된다.
5528
5910
  */
5529
5911
  barLength?: PercentSize;
5530
- /**
5531
- * 배경 스타일 셋.
5532
- * 배경 색상 및 경계선 스타일을 지정할 수 있다.
5533
- */
5534
- backgroundStyle?: SVGStyleOrClass;
5535
- /**
5536
- * 이 scale과 chart body 등과의 간격을 픽셀 단위로 지정한다.<br/>
5537
- *
5538
- * @default 8
5539
- */
5540
- gap?: number;
5541
5912
  }
5542
5913
  /**
5543
5914
  * bubble 스텝을 구분하는 bubble scale 틱 라인 옵션.<br/>
@@ -5574,7 +5945,7 @@ interface BubbleScaleStep {
5574
5945
  label: string;
5575
5946
  }
5576
5947
  /**
5577
- * 버블 시리즈의 데이터포인트 값에 따라 설정되는
5948
+ * 버블,파이 시리즈의 데이터포인트 값에 따라 설정되는
5578
5949
  * 원 크기를 몇 단계로 나누어 원 크기와 값 사이의 관계를 개략적으로 표시한다.<br/>
5579
5950
 
5580
5951
  * @config chart.bubbleScale
@@ -5583,6 +5954,8 @@ interface BubbleScaleOptions extends ScaleOptions {
5583
5954
  tick?: BubbleScaleTickOptions;
5584
5955
  steps?: (BubbleScaleStep | number)[];
5585
5956
  stepCount?: number;
5957
+ minRadius?: number;
5958
+ maxRadius?: number;
5586
5959
  }
5587
5960
  /**
5588
5961
  * 맵 scale 옆에 표시되는 거리 표시 설정.<br/>
@@ -5610,8 +5983,7 @@ interface MapScaleOptions extends ScaleOptions {
5610
5983
  interface MapAxisGridLineOptions extends ChartItemOptions {
5611
5984
  /**
5612
5985
  * 경위도 선의 간격을 도(°) 단위로 지정한다.<br/>
5613
- *
5614
- * @default 10
5986
+ * 지정하지 않거나 잘못된 값을 않으면 10도로 적용된다.
5615
5987
  */
5616
5988
  step?: number;
5617
5989
  }
@@ -5661,13 +6033,56 @@ interface MapAxisTickLineOptions extends ChartItemOptions {
5661
6033
  */
5662
6034
  visible?: boolean;
5663
6035
  }
6036
+ interface MapAxisTickLabelOptions extends ChartTextOptions {
6037
+ /**
6038
+ * 방위 구분자를 '북남동서' 순서대로 지정한다.<br/>
6039
+ *
6040
+ * @default 'NSEW'
6041
+ */
6042
+ dirSymbols?: string;
6043
+ /**
6044
+ * '°°'로 지정하면 두 번째 자리에 방위에 해당하는 {@page position} 문자 표시.
6045
+ *
6046
+ * @default '°°'
6047
+ */
6048
+ suffix?: string;
6049
+ }
5664
6050
  interface MapAxisTickOptions extends ChartItemOptions {
5665
6051
  /**
5666
6052
  * @default false
5667
6053
  */
5668
6054
  visible?: boolean;
6055
+ /**
6056
+ * @private
6057
+ *
6058
+ * tick 선 설정 옵션.<br/>
6059
+ */
5669
6060
  line?: MapAxisTickLineOptions;
5670
- label?: ChartTextOptions;
6061
+ /**
6062
+ * tick 라벨 설정 옵션.<br/>
6063
+ */
6064
+ label?: MapAxisTickLabelOptions;
6065
+ /**
6066
+ * @default ['top','right']
6067
+ */
6068
+ positions?: Positions[];
6069
+ /**
6070
+ * 위경도 그리드 선 배치를 기준으로 tick 라인과 라벨을 표시하는 간격.<br/>
6071
+ * {@page latInterval}, {@page lonInterval}로 위경도 간격을 별도로 지정할 수도 있다.
6072
+ *
6073
+ * @default 1
6074
+ */
6075
+ interval?: number;
6076
+ /**
6077
+ * 경도 그리드 선 배치를 기준으로 tick 라인과 라벨을 표시하는 간격.<br/>
6078
+ * {@page interval}로 지정한 값보다 우선한다.
6079
+ */
6080
+ lonInterval?: number;
6081
+ /**
6082
+ * 위도 그리드 선 배치를 기준으로 tick 라인과 라벨을 표시하는 간격.<br/>
6083
+ * {@page interval}로 지정한 값보다 우선한다.
6084
+ */
6085
+ latInterval?: number;
5671
6086
  }
5672
6087
  /**
5673
6088
  * @enum
@@ -5869,7 +6284,7 @@ interface MapAxisOptions extends ChartItemOptions {
5869
6284
  /**
5870
6285
  * 위/경도선 좌표 표서 설정.<br/>
5871
6286
  */
5872
- tick?: MapAxisTickOptions;
6287
+ tick?: MapAxisTickOptions | boolean;
5873
6288
  /**
5874
6289
  * 마우스 현재 위치를 표시하는 crosshair 설정.<br/>
5875
6290
  */
@@ -5879,6 +6294,12 @@ interface MapAxisOptions extends ChartItemOptions {
5879
6294
  * 하나만 지정할 때는 배열로 지정하지 않아도 된다.
5880
6295
  */
5881
6296
  guide?: MapAxisGuideOptions | MapAxisGuideOptions[];
6297
+ /**
6298
+ * @default 5
6299
+ */
6300
+ interval?: number;
6301
+ lonInterval?: number;
6302
+ latInterval?: number;
5882
6303
  }
5883
6304
 
5884
6305
  declare class MapScaleLabel extends IconedText<MapScaleLabelOptions> {
@@ -5895,9 +6316,11 @@ declare class MapScale extends ScaleBase<MapScaleOptions> {
5895
6316
  private _scale;
5896
6317
  protected _doInit(op: MapScaleOptions): void;
5897
6318
  get label(): MapScaleLabel;
6319
+ isVertical(): boolean;
6320
+ _type(): string;
5898
6321
  protected _getScaledSeries(chart: IChart): ISeries;
5899
6322
  protected _doApply(options: MapScaleOptions): void;
5900
- protected _doPrepareRender(chart: IChart): void;
6323
+ protected _doPrepareRender(chart: IChart, op: MapScaleOptions): void;
5901
6324
  private $_calcScale;
5902
6325
  }
5903
6326
 
@@ -5907,9 +6330,9 @@ declare class MapScale extends ScaleBase<MapScaleOptions> {
5907
6330
  interface MapSourceOptions extends MapSource {
5908
6331
  }
5909
6332
  /**
5910
- * 차트의 기준이 되는 맵과 관련 속성 및 시리즈와 게이지의 기본 타입을 결정하는 중요한 몇가지 속성들과
6333
+ * 맵차트의 기준이 되는 맵과 관련 속성 및 시리즈와 게이지의 기본 타입을 결정하는 중요한 몇가지 속성들과
5911
6334
  * 하위 구성 요소들에 대한 옵션들을 설정한다.<br/>
5912
- * 차트 생성 시 이 옵션 객체를 구성해서 전달해야 한다.
6335
+ * 맵차트 생성 시 이 옵션 객체를 구성해서 전달해야 한다.
5913
6336
  *
5914
6337
  * ```js
5915
6338
  * const chart = RealMap.createChart(doc, 'div', {
@@ -5943,12 +6366,12 @@ interface ChartConfiguration {
5943
6366
  * 한 주의 시작 요일.<br/>
5944
6367
  * ex) 0: 일요일, 1: 월요일
5945
6368
  *
5946
- * [주의] 차트 로딩 후 변경할 수 없다.
6369
+ * [주의] 맵차트 로딩 후 변경할 수 없다.
5947
6370
  *
5948
6371
  */
5949
6372
  startOfWeek?: number;
5950
6373
  /**
5951
- * 차트 영역 전체에 연관되는 속성들을 설정한다.<br/>
6374
+ * 맵차트 영역 전체에 연관되는 속성들을 설정한다.<br/>
5952
6375
  */
5953
6376
  chart?: ChartOptionsOptions;
5954
6377
  /**
@@ -5960,15 +6383,15 @@ interface ChartConfiguration {
5960
6383
  */
5961
6384
  assets?: AssetOptionsType | AssetOptionsType[];
5962
6385
  /**
5963
- * {@page guide.title 차트 타이틀} 표시 영역.<br/>
6386
+ * {@page guide.title 맵차트 타이틀} 표시 영역.<br/>
5964
6387
  */
5965
6388
  title?: TitleOptions | string;
5966
6389
  /**
5967
- * {@page guide.title 차트 타이틀} 주변에 추가롤 표시되는 부제목 영역.<br/>
6390
+ * {@page guide.title 맵차트 타이틀} 주변에 추가롤 표시되는 부제목 영역.<br/>
5968
6391
  */
5969
6392
  subtitle?: SubtitleOptions | string;
5970
6393
  /**
5971
- * 차트의 기준이 될 지도 소스 및 관련 옵션.<br/>
6394
+ * 맵차트의 기준이 될 지도 소스 및 관련 옵션.<br/>
5972
6395
  * 배열로 둘 이상의 맵을 지정할 수 있다.
5973
6396
  */
5974
6397
  map?: MapSourceOptions | MapSourceOptions[];
@@ -5980,10 +6403,14 @@ interface ChartConfiguration {
5980
6403
  * 맵과 시리즈들이 그려지는 영역.<br/>
5981
6404
  */
5982
6405
  body?: BodyOptions;
6406
+ /**
6407
+ * 범례(legend)나 스케일(color/bubble scale) 등의 위젯들을 한 방향으로 배치하는 그룹을 하나 이상 설정한다.<br/>
6408
+ */
6409
+ widgetGroup?: MapWidgetGroupOptions | MapWidgetGroupOptions[];
5983
6410
  /**
5984
6411
  * 시리즈 구성을 직관적으로 이해할 수 있도록 도와주는 {@page guide.legend 범례}.<br/>
5985
6412
  */
5986
- legend?: LegendOptions | boolean;
6413
+ legend?: LegendOptions | LegendOptions[] | boolean;
5987
6414
  /**
5988
6415
  * {@page guide.colorscale 색상자}를 하나 이상 설정한다.
5989
6416
  */
@@ -6004,11 +6431,11 @@ interface ChartConfiguration {
6004
6431
  bubbleScales?: BubbleScaleOptions | BubbleScaleOptions[];
6005
6432
  mapScale?: MapScale;
6006
6433
  /**
6007
- * 차트가 {@page guide.zoom zoom} 가능할 때 zomm 버튼들이 표시되는 패널.<br/>
6434
+ * 맵차트가 {@page guide.zoom zoom} 가능할 때 zomm 버튼들이 표시되는 패널.<br/>
6008
6435
  */
6009
6436
  zoomPanel?: ZoomPanelOptions | boolean;
6010
6437
  /**
6011
- * 차트가 {@page guide.drilldown 드릴다운} 상태일 때 뒤로 가기 버튼(들)이 표시되는 패널.<br/>
6438
+ * 맵차트가 {@page guide.drilldown 드릴다운} 상태일 때 뒤로 가기 버튼(들)이 표시되는 패널.<br/>
6012
6439
  */
6013
6440
  drilldownPanel?: DrilldownPanelOptions | boolean;
6014
6441
  /**
@@ -6070,13 +6497,17 @@ declare class BubbleScale extends ScaleBase<BubbleScaleOptions> {
6070
6497
  protected _doInit(op: BubbleScaleOptions): void;
6071
6498
  get tick(): BubbleScaleTick;
6072
6499
  getSteps(wBody: number, hBody: number): IBubbleScaleStep[];
6500
+ _type(): string;
6501
+ isVertical(): boolean;
6073
6502
  protected _getScaledSeries(chart: IChart): ISeries;
6074
6503
  protected _doApply(options: BubbleScaleOptions): void;
6075
- protected _doPrepareRender(chart: IChart): void;
6504
+ protected _doPrepareRender(chart: IChart, op: BubbleScaleOptions): void;
6076
6505
  private $_buildSteps;
6077
6506
  }
6078
- declare class BubbleScaleCollection extends ScaleCollection<BubbleScale> {
6079
- protected _createScale(chart: IChart): BubbleScale;
6507
+ declare class BubbleScaleCollection extends MapWidgetCollection<BubbleScale> {
6508
+ protected _collectionProp(): string;
6509
+ protected _createWidget(chart: IChart): BubbleScale;
6510
+ beforeRender(): void;
6080
6511
  }
6081
6512
 
6082
6513
  interface IColorRanger {
@@ -6118,7 +6549,13 @@ interface IColorScaleTick {
6118
6549
  pos: number;
6119
6550
  label?: string;
6120
6551
  }
6121
- declare class ColorScaleStepLine extends ChartItem {
6552
+ declare class ColorScaleStepLine extends ChartItem<ColorScaleStepLineOptions> {
6553
+ static defaults: ColorScaleStepLineOptions;
6554
+ }
6555
+ declare class ColorScaleNull extends ChartItem<ColorScaleNullOptions> {
6556
+ static defaults: ColorScaleNullOptions;
6557
+ getLabel(): string;
6558
+ getGap(): number;
6122
6559
  }
6123
6560
  /**
6124
6561
  * 색상 범위를 표시한다.<br/>
@@ -6129,6 +6566,7 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6129
6566
  private _marker;
6130
6567
  private _stepLine;
6131
6568
  private _tick;
6569
+ private _nullStep;
6132
6570
  private _min;
6133
6571
  private _max;
6134
6572
  private _minColor;
@@ -6144,35 +6582,41 @@ declare class ColorScale extends ScaleBase<ColorScaleOptions> implements IColorR
6144
6582
  get marker(): ColorScaleMarker;
6145
6583
  get stepLine(): ColorScaleStepLine;
6146
6584
  get tick(): ColorScaleTick;
6585
+ get nullStep(): ColorScaleNull;
6147
6586
  get minColor(): Color;
6148
6587
  get maxColor(): Color;
6149
6588
  getRanger(): IColorRanger;
6150
6589
  getLayout(): ColorScaleLayout;
6151
6590
  getBarSize(wDomain: number, hDomain: number, vertical: boolean): ISize;
6152
- getSplitPoints(len: number): number[];
6591
+ getSplitPoints(len: number, nullStep: boolean, nullGap: number): number[];
6153
6592
  getPosition(value: number): number;
6154
6593
  getTicks(): IColorScaleTick[];
6155
6594
  getSteps(): ColorScaleStep[];
6156
6595
  getValueSteps(): number[];
6157
6596
  getLegendSources(target: ILegendSource[]): void;
6597
+ _type(): string;
6598
+ isVertical(): boolean;
6599
+ getDefaultDisplay(caption: MapWidgetCaption): MapWidgetCaptionDisplay;
6158
6600
  protected _doApply(options: ColorScaleOptions): void;
6159
6601
  protected _getScaledSeries(chart: IChart): ISeries;
6160
6602
  private $_parseColorStops;
6161
- protected _doPrepareRender(chart: IChart): void;
6603
+ protected _doPrepareRender(chart: IChart, op: ColorScaleOptions): void;
6162
6604
  _buildSteps(): void;
6163
6605
  private $_parseValue;
6164
6606
  private $_normalizeMin;
6165
6607
  private $_parseColor;
6166
6608
  private $_buildSteps;
6167
6609
  }
6168
- declare class ColorScaleCollection extends ScaleCollection<ColorScale> {
6610
+ declare class ColorScaleCollection extends MapWidgetCollection<ColorScale> {
6169
6611
  getVisibles(loc: ChartItemLocation): ColorScale[];
6170
6612
  getLegendSources(): ILegendSource[];
6171
- protected _createScale(chart: IChart): ColorScale;
6613
+ protected _collectionProp(): string;
6614
+ protected _createWidget(chart: IChart): ColorScale;
6615
+ beforeRender(): void;
6172
6616
  }
6173
6617
 
6174
6618
  /**
6175
- * 차트 내보내기 관련 설정 모델.
6619
+ * 맵차트 내보내기 관련 설정 모델.
6176
6620
  */
6177
6621
  declare class Exporter extends ChartItem<ExporterOptions> {
6178
6622
  static defaults: ExporterOptions;
@@ -6192,7 +6636,7 @@ declare class Exporter extends ChartItem<ExporterOptions> {
6192
6636
  */
6193
6637
  declare class MapAxisGridLine extends ChartItem<MapAxisGridLineOptions> {
6194
6638
  static defaults: MapAxisGridLineOptions;
6195
- protected _doSetSimple(src: any): boolean;
6639
+ protected _doSetSimple(op: MapAxisGridLineOptions, src: any): boolean;
6196
6640
  }
6197
6641
  /**
6198
6642
  * @config chart.axis.grid
@@ -6208,11 +6652,10 @@ declare class MapAxisGrid extends ChartItem<MapAxisGridOptions> {
6208
6652
  get lonLine(): MapAxisGridLine;
6209
6653
  get latLine(): MapAxisGridLine;
6210
6654
  get fitTo(): MapAxisGridFitTo;
6211
- getStep(map: MapModel): number;
6212
- getLonStep(map: MapModel): number;
6213
- getLatStep(map: MapModel): number;
6655
+ getLonStep(): number;
6656
+ getLatStep(): number;
6214
6657
  protected _doApply(options: MapAxisGridOptions): void;
6215
- protected _doPrepareRender(chart: IChart): void;
6658
+ protected _doPrepareRender(chart: IChart, op: MapAxisOptions): void;
6216
6659
  private $_defaultStep;
6217
6660
  }
6218
6661
  /**
@@ -6222,21 +6665,36 @@ declare class MapAxisLine extends ChartItem<MapAxisLineOptions> {
6222
6665
  static defaults: MapAxisLineOptions;
6223
6666
  }
6224
6667
  /**
6225
- * @internal
6668
+ * @private
6226
6669
  */
6227
6670
  declare class MapAxisTickLine extends ChartItem<MapAxisTickLineOptions> {
6228
6671
  static defaults: MapAxisTickLineOptions;
6229
6672
  }
6230
6673
  /**
6231
- * @internal
6674
+ * @private
6675
+ */
6676
+ declare class MapAxisTickLabel extends ChartText<MapAxisTickLabelOptions> {
6677
+ static defaults: MapAxisTickLabelOptions;
6678
+ private _symbolPos;
6679
+ private _symbols;
6680
+ getText(lat: boolean, dir: number): string;
6681
+ protected _doApply(op: MapAxisTickLabelOptions): void;
6682
+ }
6683
+ /**
6684
+ * @private
6232
6685
  */
6233
6686
  declare class MapAxisTick extends ChartItem<MapAxisTickOptions> {
6234
6687
  static defaults: MapAxisTickOptions;
6235
6688
  private _line;
6236
6689
  private _label;
6690
+ private _positions;
6237
6691
  protected _doInit(op: MapAxisTickOptions): void;
6238
6692
  get line(): MapAxisTickLine;
6239
- get label(): ChartText<ChartTextOptions>;
6693
+ get label(): MapAxisTickLabel;
6694
+ visibleAt(pos: Positions): boolean;
6695
+ getLonInterval(): number;
6696
+ getLatInterval(): number;
6697
+ protected _doApply(op: MapAxisTickOptions): void;
6240
6698
  }
6241
6699
  /**
6242
6700
  * 가이드 label 설정 모델.<br/>
@@ -6303,7 +6761,7 @@ declare class MapCrosshair extends ChartItem<MapCrosshairOptions> {
6303
6761
  get flag(): CrosshairFlag;
6304
6762
  getFlag(pos: number): string;
6305
6763
  moved(pos: IPoint, flag: string, points: DataPoint[]): void;
6306
- protected _doSetSimple(source: any): boolean;
6764
+ protected _doSetSimple(op: MapCrosshairOptions, source: any): boolean;
6307
6765
  }
6308
6766
  declare class MapAxis extends ChartItem<MapAxisOptions> {
6309
6767
  static defaults: MapAxisOptions;
@@ -6318,6 +6776,8 @@ declare class MapAxis extends ChartItem<MapAxisOptions> {
6318
6776
  private _tick;
6319
6777
  private _crosshair;
6320
6778
  private _guides;
6779
+ private _lonInterval;
6780
+ private _latInterval;
6321
6781
  private _saveGuide;
6322
6782
  protected _doInit(op: MapAxisOptions): void;
6323
6783
  get line(): MapAxisLine;
@@ -6331,6 +6791,8 @@ declare class MapAxis extends ChartItem<MapAxisOptions> {
6331
6791
  get tick(): MapAxisTick;
6332
6792
  get crosshair(): MapCrosshair;
6333
6793
  get guides(): MapAxisGuide<MapAxisGuideOptions>[];
6794
+ get lonInterval(): number;
6795
+ get latInterval(): number;
6334
6796
  protected _doApply(options: MapAxisOptions): void;
6335
6797
  private $_loadGuides;
6336
6798
  }
@@ -6354,8 +6816,8 @@ declare class DrilldownPanel extends BodyPanel<DrilldownPanelOptions> {
6354
6816
  }
6355
6817
 
6356
6818
  /**
6357
- * 차트 제목(title) 설정 모델.<br/>
6358
- * 기본적으로 차트 중앙 상단에 표시되지만 {@link align}, {@link verticalAlign} 등으로 위치를 변경할 수 있다.<br/>
6819
+ * 맵차트 제목(title) 설정 모델.<br/>
6820
+ * 기본적으로 맵차트 중앙 상단에 표시되지만 {@link align}, {@link verticalAlign} 등으로 위치를 변경할 수 있다.<br/>
6359
6821
  * {@link guide.title 타이틀 개요} 페이지를 참조한다.
6360
6822
  *
6361
6823
  * @config chart.title
@@ -6363,10 +6825,10 @@ declare class DrilldownPanel extends BodyPanel<DrilldownPanelOptions> {
6363
6825
  declare class Title<OP extends TitleOptions = TitleOptions> extends ChartItem<OP> {
6364
6826
  static defaults: TitleOptions;
6365
6827
  isVisible(): boolean;
6366
- protected _doSetSimple(src: any): boolean;
6828
+ protected _doSetSimple(op: OP, src: any): boolean;
6367
6829
  }
6368
6830
  /**
6369
- * 차트 부제목(subtitle) 설정 모델.<br/>
6831
+ * 맵차트 부제목(subtitle) 설정 모델.<br/>
6370
6832
  * 기본적으로 주 제목(title)의 설정을 따르고, 몇가지 속성들이 추가된다.<br/>
6371
6833
  * {@link guide.subtitle 부제목 개요} 페이지를 참조한다.
6372
6834
  *
@@ -6387,6 +6849,21 @@ declare class MapSeriesPoint extends ValuePoint {
6387
6849
  declare class MapSeriesDrilldown extends ChartItem<DrilldownOptions> {
6388
6850
  static defaults: DrilldownOptions;
6389
6851
  }
6852
+ declare class MapSeriesBorder extends ChartItem<MapBorderOptions> {
6853
+ name: string;
6854
+ series: MapSeries;
6855
+ static defaults: MapBorderOptions;
6856
+ border: MapBorder;
6857
+ constructor(name: string, series: MapSeries);
6858
+ getPath(): string;
6859
+ protected _doSetSimple(op: MapBorderOptions, src: any): boolean;
6860
+ }
6861
+ declare class MapSeriesBorders extends ChartItem<MapBordersOptions> {
6862
+ name: string;
6863
+ series: MapSeries;
6864
+ static defaults: MapBordersOptions;
6865
+ constructor(name: string, series: MapSeries);
6866
+ }
6390
6867
  /**
6391
6868
  * Map 시리즈 모델.<br/>
6392
6869
  * {@page op.SeriesOptions#type}은 {@page config.series.map 'map'}이고,
@@ -6400,17 +6877,27 @@ declare class MapSeries extends ValueSeries<MapSeriesOptions> {
6400
6877
  private _detail;
6401
6878
  private _detailed;
6402
6879
  private _drilldown;
6880
+ private _internalBorder;
6881
+ private _externalBorder;
6403
6882
  private _areaPts;
6404
6883
  private _minValue;
6405
6884
  private _maxValue;
6406
6885
  private _colorObj;
6407
6886
  private _colorRanger;
6408
6887
  private _useMapData;
6888
+ private _areaMap;
6889
+ private _hiddenAreas;
6890
+ private _mapBorders;
6891
+ private _saveBorders;
6409
6892
  get areaCount(): number;
6410
6893
  get parent(): MapSeries;
6411
6894
  get detail(): MapSeries;
6412
6895
  get drilldown(): MapSeriesDrilldown;
6896
+ get internalBorder(): MapSeriesBorders;
6897
+ get externalBorder(): MapSeriesBorders;
6413
6898
  get color(): Color;
6899
+ getMapBorders(): MapSeriesBorder[];
6900
+ isHiddenArea(areaId: string): MapArea;
6414
6901
  getHistory(): MapSeries[];
6415
6902
  get(second: boolean, index: number): MapArea;
6416
6903
  pointOf(area: MapArea): MapSeriesPoint;
@@ -6427,21 +6914,22 @@ declare class MapSeries extends ValueSeries<MapSeriesOptions> {
6427
6914
  protected _createLabel(chart: IChart): DataPointLabel;
6428
6915
  private $_createDetail;
6429
6916
  protected _doLoad(options: ChartItemOptions, source: any): void;
6430
- protected _doApply(options: MapSeriesOptions): void;
6917
+ protected _doApply(op: MapSeriesOptions): void;
6431
6918
  needMapScale(): boolean;
6432
6919
  canAddAnimation(): boolean;
6433
6920
  canRemoveAnimation(): boolean;
6434
6921
  getRangedColor(p: MapSeriesPoint): string;
6435
6922
  followTooltipPointer(): boolean;
6436
- getLegendSources(list: ILegendSource[]): void;
6923
+ getLegendSources(legend: object, list: ILegendSource[]): void;
6437
6924
  protected _createPoint(source: any): MapSeriesPoint;
6438
6925
  protected _getPointArgs(args: DataPointArgs, p: MapSeriesPoint): DataPointArgs;
6439
6926
  _prepareRender(): void;
6440
- protected _doPrepareRender(chart: IChart): void;
6927
+ protected _doPrepareRender(chart: IChart, op: MapSeriesOptions): void;
6441
6928
  protected _doLoadPoints(src: any): void;
6442
6929
  setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
6443
6930
  getColorScale(): string | number;
6444
6931
  canSelect(): boolean;
6932
+ private $_loadBorders;
6445
6933
  }
6446
6934
 
6447
6935
  declare class MapBackground extends ChartItem<MapBackgroundOptions> {
@@ -6456,7 +6944,7 @@ interface IBodyTransform {
6456
6944
  vy: number;
6457
6945
  }
6458
6946
  /**
6459
- * 시리즈, annotation, axis grid 및 guide 등이 표시되는 차트 주 영역 모델.<br/>
6947
+ * 시리즈, annotation, axis grid 및 guide 등이 표시되는 맵차트 주 영역 모델.<br/>
6460
6948
  * {@page options 설정} 모델은 {@page op.BodyOptions}이다.
6461
6949
  */
6462
6950
  declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
@@ -6474,18 +6962,15 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
6474
6962
  private _zoomAni;
6475
6963
  private _panX;
6476
6964
  private _panY;
6477
- private _wRate;
6478
- private _hRate;
6479
6965
  private _scale;
6480
6966
  private _vRect;
6481
6967
  private _wMap;
6482
- private _reCalculateFlag;
6483
- private _dragDistance;
6484
6968
  constructor(chart: IChart);
6485
6969
  protected _doInit(op: BodyOptions): void;
6486
6970
  anchorByName(name: string): ChartItem;
6487
6971
  get projection(): MapProjection;
6488
6972
  get mapBackground(): MapBackground;
6973
+ get isFlatWorld(): boolean;
6489
6974
  /**
6490
6975
  * rotation x of globe.
6491
6976
  */
@@ -6501,6 +6986,10 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
6501
6986
  */
6502
6987
  get scroll(): number;
6503
6988
  set scroll(value: number);
6989
+ /**
6990
+ * movable
6991
+ */
6992
+ get movable(): boolean;
6504
6993
  /**
6505
6994
  * pan x
6506
6995
  */
@@ -6529,9 +7018,10 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
6529
7018
  * map
6530
7019
  */
6531
7020
  get map(): MapModel;
6532
- set dragDistance(value: number);
6533
7021
  get calcedMapWidth(): number;
6534
7022
  isDrilldowned(): boolean;
7023
+ private $_calcPan;
7024
+ prepare(map: MapModel): void;
6535
7025
  prepareLayout(width: number, height: number): {
6536
7026
  scale: number;
6537
7027
  wMap: number;
@@ -6540,23 +7030,19 @@ declare class Body extends ChartItem<BodyOptions> implements IAnnotationOwner {
6540
7030
  ty: number;
6541
7031
  };
6542
7032
  /**
6543
- * 지도의 너비를 계산한다.
6544
- *
6545
- * EqualEarth와 같이 위도가 x 좌표 계산에 영향을 주는 경우, 지도 너비 계산이 어려워진다.
6546
- * 좌표 투영에 오프셋(scroll)이 적용된 경우, 오프셋에 따라 x2 - x1의 결과가 계속 달라진다.
6547
- * wMap의 값이 계속 달라진다면, scale값도 영향을 받아서 값이 매번 달라진다.
6548
- * 그러므로, 스크롤이 0일 때를 기준으로 x2 - x1값을 구해서 wMap의 값으로 사용해야 한다.
7033
+ * @private
6549
7034
  *
6550
- * @returns 지도의 너비
7035
+ * x1 ~ x2 대신 h1 ~ h2 로 계산한다.
7036
+ * 현재 globe가 아닌 세계 지도에만 적용하고 있다.
7037
+ * TODO: $_prepareLayout_world, $_prepareLayout 합칠 것!
6551
7038
  */
6552
- $_calcWMap(): {
6553
- x1: number;
6554
- x2: number;
6555
- w: number;
6556
- };
7039
+ private $_prepareLayout_world;
7040
+ private $_prepareLayout;
6557
7041
  getPoint(id: string): MapCoord;
6558
- isVisible(coord: MapCoord): boolean;
6559
- isWorldMap(): boolean;
7042
+ /**
7043
+ * coord는 projection 하지 않은 값.
7044
+ */
7045
+ toVisible(coord: MapCoord, second: boolean): MapCoord;
6560
7046
  isScrollable(): boolean;
6561
7047
  setZoom(value: number, duration?: number | AnimationOptions | (() => void)): void;
6562
7048
  incZoom(delta: number): void;
@@ -6605,17 +7091,11 @@ interface IMapChartEvents {
6605
7091
  onRequestRender(chart: ChartObject, now: boolean): void;
6606
7092
  onRequestShowSeries(chart: ChartObject, series: Series, visible: boolean): void;
6607
7093
  }
6608
- /**
6609
- * 차트 제작 주체 등을 표시하는 영역에 대한 모델.<br/>
6610
- * 기본적으로 차트 오른쪽 아래에 표시되지만, {@link align}, {@link verticalAlign} 등으로 위치를 지정할 수 있다.
6611
- * {@link url}을 설정하면 마우스 클릭 시 새창을 열고 해당 위치로 이동시킨다.
6612
- */
6613
- declare class Credits extends ChartItem<CreditsOptions> {
6614
- static defaults: CreditsOptions;
6615
- getAlign(loc: ChartItemLocation): void;
6616
- }
6617
7094
  declare class ChartOptions extends ChartItem<ChartOptionsOptions> {
6618
7095
  static defaults: ChartOptionsOptions;
7096
+ protected _widgetGaps: Sides;
7097
+ getWidgetSectionGap(loc: ChartItemLocation): any;
7098
+ protected _doApply(options: ChartOptionsOptions): void;
6619
7099
  }
6620
7100
  /**
6621
7101
  * @ignore
@@ -6637,7 +7117,6 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6637
7117
  private _body;
6638
7118
  _title: Title;
6639
7119
  _subtitle: Subtitle;
6640
- _legend: Legend;
6641
7120
  _zoomPanel: ZoomPanel;
6642
7121
  _drilldownPanel: DrilldownPanel;
6643
7122
  _credits: Credits;
@@ -6646,12 +7125,15 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6646
7125
  private _baseMap;
6647
7126
  private _series;
6648
7127
  _annotations: AnnotationCollection;
7128
+ _widgetGroups: MapWidgetGroupCollection;
7129
+ _legends: LegendCollection;
6649
7130
  _colorScales: ColorScaleCollection;
6650
7131
  _bubbleScales: BubbleScaleCollection;
6651
7132
  _mapScale: MapScale;
6652
7133
  private _selection;
6653
7134
  _exporter: Exporter;
6654
7135
  _loading: boolean;
7136
+ _widgetGroupDirty: boolean;
6655
7137
  private _point_shaes;
6656
7138
  private _params;
6657
7139
  _seriesIndex: number;
@@ -6692,7 +7174,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6692
7174
  selectionItemAdded(item: ISelectionSource): void;
6693
7175
  selectionItemRemoved(item: ISelectionSource): void;
6694
7176
  selectionCleared(): void;
6695
- get type(): "map" | "point" | "image" | "line" | "figure" | "bar" | "pie" | "waffle" | "bubble" | "route" | "feature" | "pin" | "vector" | "heatmap" | "panel" | "gauge" | "clock";
7177
+ get type(): "line" | "map" | "feature" | "point" | "pin" | "vector" | "bar" | "pie" | "figure" | "bubble" | "route" | "image" | "heatmap" | "panel" | "waffle" | "gauge" | "clock";
6696
7178
  get chartOptions(): ChartOptions;
6697
7179
  get legend(): Legend;
6698
7180
  get credits(): Credits;
@@ -6713,6 +7195,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6713
7195
  get colorScale(): ColorScale;
6714
7196
  get bubbleScale(): BubbleScale;
6715
7197
  get mapScale(): MapScale;
7198
+ get widgetGroup(): MapWidgetGroup;
6716
7199
  get isDirty(): boolean;
6717
7200
  get isDrilldowned(): boolean;
6718
7201
  getAnnotations(): Annotation[];
@@ -6726,6 +7209,9 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6726
7209
  seriesAt(index: number): Series;
6727
7210
  seriesByPoint(point: DataPoint): Series;
6728
7211
  annotationByName(name: string): Annotation;
7212
+ _collectWidgets(): {
7213
+ [dir: string]: MapWidget<MapWidgetOptions>[];
7214
+ };
6729
7215
  loadBase(source: any, model: string, type: string): any;
6730
7216
  private _setProperties;
6731
7217
  _load(config: ChartConfiguration): this;
@@ -6737,7 +7223,7 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6737
7223
  */
6738
7224
  update(options: ChartConfiguration, render: boolean): void;
6739
7225
  export(options: ExportOptions): void;
6740
- _getLegendSources(): ILegendSource[];
7226
+ _getLegendSources(legend: object): ILegendSource[];
6741
7227
  getParam(target: any, param: string): any;
6742
7228
  setParam(param: string, value: any, redraw?: boolean): ChartObject;
6743
7229
  addSeries(source: any, animate: boolean): Series;
@@ -6750,6 +7236,10 @@ declare class ChartObject extends RmEventProvider<IMapChartEvents> implements IC
6750
7236
  getBubbleScale(scale: string | number): BubbleScale;
6751
7237
  drilldown(series: MapSeries, area: string): Promise<void>;
6752
7238
  drillup(series?: MapSeries): Promise<void>;
7239
+ canClick(): boolean;
7240
+ click(info: any): void;
7241
+ pointToMap(x: number, y: number): MapCoord;
7242
+ private $_buildWidgetGroups;
6753
7243
  _visibleChanged(item: ChartItem): void;
6754
7244
  _hoverAreaChanged(series: Series, newArea: MapArea, oldArea: MapArea): void;
6755
7245
  _areaClicked(series: Series, area: MapArea): void;
@@ -6759,7 +7249,6 @@ interface IChart {
6759
7249
  wrapper: any;
6760
7250
  options: ChartConfiguration;
6761
7251
  type?: string;
6762
- chartOptions: ChartOptionsOptions;
6763
7252
  _loading: boolean;
6764
7253
  map: MapModel;
6765
7254
  axis: MapAxis;
@@ -6799,7 +7288,7 @@ interface IChart {
6799
7288
  getProjection(second: boolean): MapProjection;
6800
7289
  _visibleChanged(item: ChartItem): void;
6801
7290
  _optionChanged(item: ChartItem, tag?: any): void;
6802
- _getLegendSources(): ILegendSource[];
7291
+ _getLegendSources(legend: object): ILegendSource[];
6803
7292
  _hoverAreaChanged(series: Series, newArea: MapArea, oldArea: MapArea): void;
6804
7293
  _areaClicked(series: Series, newArea: MapArea): void;
6805
7294
  getParam(target: any, param: string): any;
@@ -6840,16 +7329,75 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6840
7329
  _load(source: any): OP;
6841
7330
  loadOptions(source: any): OP;
6842
7331
  saveOptions(): any;
7332
+ /**
7333
+ * 모델 설정 값들을 변경한다.<br/>
7334
+ *
7335
+ * @param source 설정 옵션들이 포함된 json 객체
7336
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7337
+ * @returns 모델 객체 자신
7338
+ */
6843
7339
  updateOptions(source?: OP, render?: boolean): this;
7340
+ /**
7341
+ * 모델 설정 값을 변경한다.<br/>
7342
+ *
7343
+ * @param prop 설정 항목 이름
7344
+ * @param value 설정 값
7345
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7346
+ * @returns 모델 객체 자신
7347
+ */
6844
7348
  updateOption(prop: keyof OP, value: any, render?: boolean): this;
7349
+ /**
7350
+ * boolean 타입의 모델 설정 값을 반대 값으로 변경한다.<br/>
7351
+ *
7352
+ * @param prop 설정 항목 이름
7353
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7354
+ * @returns 모델 객체 자신
7355
+ */
6845
7356
  toggleOption(prop: keyof OP, render?: boolean): this;
7357
+ /**
7358
+ * 명시적으로 설정된 모델 설정 값을 제거해서 모델의 기본 값이 적용되도록 한다.<br/>
7359
+ *
7360
+ * @param prop 설정 항목 이름
7361
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7362
+ * @returns 모델 객체 자신
7363
+ */
6846
7364
  removeOption(prop: keyof OP, render?: boolean): this;
7365
+ /**
7366
+ * 명시적으로 설정된 모든 모델 설정 값들을 제거한다..<br/>
7367
+ *
7368
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7369
+ * @returns 모델 객체 자신
7370
+ */
6847
7371
  clearOptions(render?: boolean): this;
7372
+ /**
7373
+ * 명시적으로 모델에 설정된 모든 style 값들을 제거한다.<br/>
7374
+ *
7375
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 false
7376
+ * @returns
7377
+ */
7378
+ clearStyle(render?: boolean): this;
7379
+ /**
7380
+ * 모델 css style 값을 변경한다.<br/>
7381
+ *
7382
+ * @param prop css 스타일 항목 이름.
7383
+ * @param value 적용할 스타일 값.
7384
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7385
+ * @returns
7386
+ */
7387
+ setStyle(prop: string, value: any, render?: boolean): this;
7388
+ /**
7389
+ * 여러 항목의 모델 css style 값들을 json 객체로 지정해서 동시에 변경한다.<br/>
7390
+ *
7391
+ * @param styles 스타일 항목들과 값들이 설정된 json 객체
7392
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본갑 true
7393
+ * @returns
7394
+ */
7395
+ setStyles(styles: any, render?: boolean): this;
6848
7396
  _prepareRender(): void;
6849
7397
  _afterRender(): void;
6850
7398
  _optionChanged(tag?: any): void;
6851
7399
  protected _doLoad(options: ChartItemOptions, source: any): void;
6852
- protected _doSetSimple(src: any): boolean;
7400
+ protected _doSetSimple(op: OP, src: any): boolean;
6853
7401
  /** @internal */
6854
7402
  protected _doLoadProp(prop: string, value: any): boolean;
6855
7403
  private $_applyOptions;
@@ -6859,7 +7407,7 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6859
7407
  protected _doSave(target: object): void;
6860
7408
  /** @internal */
6861
7409
  protected _doUpdate(source: any): void;
6862
- protected _doPrepareRender(chart: IChart): void;
7410
+ protected _doPrepareRender(chart: IChart, op: OP): void;
6863
7411
  protected _doAfterRender(): void;
6864
7412
  }
6865
7413
  declare abstract class ChartItemCollection<T extends ChartItem> {
@@ -6891,7 +7439,7 @@ declare class ChartText<OP extends ChartTextOptions = ChartTextOptions> extends
6891
7439
  setText(value: string): void;
6892
7440
  buildSvg(view: TextElement, outline: TextElement, maxWidth: number, maxHeight: number, target: any, domain: IRichTextDomain): void;
6893
7441
  prepareRich(text: string): void;
6894
- protected _doSetSimple(src: any): boolean;
7442
+ protected _doSetSimple(op: OP, src: any): boolean;
6895
7443
  protected _doApply(options: ChartTextOptions): void;
6896
7444
  private $_getNumberText;
6897
7445
  protected _getText(text: any, value: any, useSymbols: boolean, forceSymbols: boolean): string;
@@ -6903,38 +7451,91 @@ declare abstract class IconedText<OP extends IconedTextOptions = IconedTextOptio
6903
7451
  private _root;
6904
7452
  abstract getDefaultIconPos(): IconPosition;
6905
7453
  getIconPos(): IconPosition;
6906
- protected _doPrepareRender(chart: IChart): void;
7454
+ protected _doPrepareRender(chart: IChart, op: IconedTextOptions): void;
6907
7455
  getUrl(url: string): string;
6908
7456
  }
6909
- /**
6910
- * color, bubble 스케일 base.<br/>
6911
- */
6912
- declare abstract class ScaleBase<OP extends ScaleOptions = ScaleOptions> extends ChartItem<OP> {
6913
- static defaults: ScaleOptions;
6914
- index: number;
6915
- protected _location: ChartItemLocation;
6916
- protected _series: ISeries;
6917
- get series(): ISeries<DataPoint>;
7457
+ declare class MapWidgetBackground extends ChartItem<MapWidgetBackgroundOptions> {
7458
+ static defaults: MapWidgetBackgroundOptions;
7459
+ }
7460
+ declare class MapWidgetCaption extends IconedText<MapWidgetCaptionOptions> {
7461
+ static defaults: MapWidgetCaptionOptions;
7462
+ getDisplay(widget: MapWidget): MapWidgetCaptionDisplay;
7463
+ getGap(inline: boolean): number;
7464
+ protected _isVisible(): boolean;
7465
+ protected _doSetSimple(op: MapWidgetCaptionOptions, src: any): boolean;
7466
+ getDefaultIconPos(): IconPosition;
7467
+ }
7468
+ declare abstract class MapWidget<OP extends MapWidgetOptions = MapWidgetOptions> extends ChartItem<OP> {
7469
+ static defaults: MapWidgetOptions;
7470
+ private _group;
7471
+ private _index;
7472
+ private _background;
7473
+ private _title;
7474
+ private _footer;
7475
+ private _location;
7476
+ get index(): number;
7477
+ get background(): MapWidgetBackground;
7478
+ get title(): MapWidgetCaption;
7479
+ get footer(): MapWidgetCaption;
7480
+ abstract _type(): string;
7481
+ abstract isVertical(): boolean;
7482
+ isVisible(): boolean;
7483
+ getOrder(): number;
7484
+ _setGroup(g: MapWidgetGroup): void;
7485
+ getGroup(): MapWidgetGroup;
6918
7486
  getLocation(): ChartItemLocation;
6919
- isReversed(): boolean;
6920
- protected _doPrepareRender(chart: IChart): void;
6921
- protected abstract _getScaledSeries(chart: IChart): ISeries;
7487
+ _setIndex(value: number): void;
7488
+ getDefaultDisplay(caption: MapWidgetCaption): MapWidgetCaptionDisplay;
7489
+ protected _doInit(op: MapWidgetOptions): void;
7490
+ protected _doPrepareRender(chart: IChart, op: OP): void;
7491
+ }
7492
+ declare abstract class MapSimpleWidget<OP extends MapSimpleWidgetOptions = MapSimpleWidgetOptions> extends MapWidget<OP> {
7493
+ }
7494
+ declare class MapWidgetGroup extends MapWidget<MapWidgetGroupOptions> {
7495
+ static defaults: MapWidgetGroupOptions;
7496
+ private _widgets;
7497
+ _clean(): void;
7498
+ _add(w: MapSimpleWidget): void;
7499
+ _sort(): void;
7500
+ getWidget(index: number): MapSimpleWidget<MapSimpleWidgetOptions>;
7501
+ _internalWidgets(): MapSimpleWidget<MapSimpleWidgetOptions>[];
7502
+ _type(): string;
7503
+ isVertical(): boolean;
6922
7504
  }
6923
- declare abstract class ScaleCollection<T extends ScaleBase = ScaleBase> extends ChartItemCollection<T> {
7505
+ declare abstract class MapWidgetCollection<T extends MapWidget = MapWidget> extends ChartItemCollection<T> {
6924
7506
  private _map;
6925
7507
  protected _visibles: T[];
6926
7508
  getVisibles(loc: ChartItemLocation): T[];
6927
- get(name: string | number): T;
7509
+ get(name: string | number, loc: ChartItemLocation): T;
7510
+ find(name: string | number, force: boolean): T;
7511
+ beforeRender(): void;
7512
+ protected _collectVisibles(): void;
6928
7513
  prepareRender(): void;
6929
7514
  load(src: any): void;
6930
- protected abstract _createScale(chart: IChart): T;
7515
+ protected abstract _collectionProp(): string;
7516
+ protected abstract _createWidget(chart: IChart): T;
7517
+ protected _canEmpty(): boolean;
6931
7518
  private $_loadItem;
6932
7519
  }
7520
+ declare class MapWidgetGroupCollection extends MapWidgetCollection<MapWidgetGroup> {
7521
+ protected _collectionProp(): string;
7522
+ protected _createWidget(chart: IChart): MapWidgetGroup;
7523
+ }
7524
+ /**
7525
+ * color, bubble 스케일 base.<br/>
7526
+ */
7527
+ declare abstract class ScaleBase<OP extends ScaleOptions = ScaleOptions> extends MapSimpleWidget<OP> {
7528
+ static defaults: ScaleOptions;
7529
+ protected _series: ISeries;
7530
+ get series(): ISeries<DataPoint>;
7531
+ protected _doPrepareRender(chart: IChart, op: OP): void;
7532
+ protected abstract _getScaledSeries(chart: IChart): ISeries;
7533
+ }
6933
7534
 
6934
7535
  /**
6935
7536
  * Annotation 모델들의 기반 클래스.<br/>
6936
7537
  * {@page options 옵션} 모델은 {@page op.AnnotationOptions}이고,
6937
- * {@page config 차트 설정}에서 {@page config.annotation 'annotation'} 항목으로 설정한다.
7538
+ * {@page config 맵차트 설정}에서 {@page config.annotation 'annotation'} 항목으로 설정한다.
6938
7539
  * ```js
6939
7540
  * const config = {
6940
7541
  * annotation: [{
@@ -6990,7 +7591,7 @@ declare abstract class Annotation<OP extends AnnotationOptions = AnnotationOptio
6990
7591
  refresh(): void;
6991
7592
  _load(source: any): OP;
6992
7593
  protected _doApply(options: AnnotationOptions): void;
6993
- protected _doPrepareRender(chart: IChart): void;
7594
+ protected _doPrepareRender(chart: IChart, op: AnnotationOptions): void;
6994
7595
  }
6995
7596
  /**
6996
7597
  * @internal
@@ -7019,12 +7620,12 @@ declare class AnnotationCollection extends ChartItemCollection<Annotation> {
7019
7620
  }
7020
7621
 
7021
7622
  /**
7022
- * 차트 생성 이후 호출되는 콜백의 매개변수로 사용된다.
7623
+ * 맵차트 생성 이후 호출되는 콜백의 매개변수로 사용된다.
7023
7624
  */
7024
7625
  interface LoadCallbackArgs extends CommonCallbackArgs {
7025
7626
  }
7026
7627
  /**
7027
- * RealMap 라이브러리의 차트 모델.<br/>
7628
+ * RealMap 라이브러리의 맵차트 모델.<br/>
7028
7629
  */
7029
7630
  declare class MapChart {
7030
7631
  _obj: ChartObject;
@@ -7052,27 +7653,27 @@ declare class MapChart {
7052
7653
  */
7053
7654
  get map(): MapModel;
7054
7655
  /**
7055
- * 차트 타이틀 모델.
7656
+ * 맵차트 타이틀 모델.
7056
7657
  */
7057
7658
  get title(): Title;
7058
7659
  /**
7059
- * 차트 부제목 모델.
7660
+ * 맵차트 부제목 모델.
7060
7661
  */
7061
7662
  get subtitle(): Subtitle;
7062
7663
  /**
7063
- * 차트에 설정된 첫번째 시리즈.<br/>
7664
+ * 맵차트에 설정된 첫번째 시리즈.<br/>
7064
7665
  * {@link guide.series 시리즈 개요} 및
7065
7666
  * {@link config.base.series 시리즈 설정}을 참조한다.
7066
7667
  */
7067
7668
  get series(): Series;
7068
7669
  /**
7069
- * 차트에 설정된 첫번째 맵시리즈.<br/>
7670
+ * 맵차트에 설정된 첫번째 맵시리즈.<br/>
7070
7671
  * {@link guide.series 시리즈 개요} 및
7071
7672
  * {@link config.base.series 시리즈 설정}을 참조한다.
7072
7673
  */
7073
7674
  get firstMapSeries(): MapSeries;
7074
7675
  /**
7075
- * Legend.
7676
+ * 첫번째 legend.
7076
7677
  */
7077
7678
  get legend(): Legend;
7078
7679
  /**
@@ -7080,13 +7681,17 @@ declare class MapChart {
7080
7681
  */
7081
7682
  get credits(): Credits;
7082
7683
  /**
7083
- * Color scale
7684
+ * 첫번째 color scale.
7084
7685
  */
7085
7686
  get colorScale(): ColorScale;
7086
7687
  /**
7087
- * Bubble scale
7688
+ * 첫번째 bubble scale.
7088
7689
  */
7089
7690
  get bubbleScale(): BubbleScale;
7691
+ /**
7692
+ * 첫번째 widget group.
7693
+ */
7694
+ get widgetGroup(): MapWidgetGroup;
7090
7695
  /**
7091
7696
  * zoom panel.
7092
7697
  */
@@ -7104,11 +7709,11 @@ declare class MapChart {
7104
7709
  */
7105
7710
  get selection(): MapSelection;
7106
7711
  /**
7107
- * 차트 내보내기 관련 설정 모델.
7712
+ * 맵차트 내보내기 관련 설정 모델.
7108
7713
  */
7109
7714
  get exporter(): Exporter;
7110
7715
  /**
7111
- * 차트 축의 기준이 되는 맵 모델을 지정한다.<br/>
7716
+ * 맵차트 축의 기준이 되는 맵 모델을 지정한다.<br/>
7112
7717
  * 매개변수를 지정하지 않거나 잘못된 값을 넘기면 첫번째 enabled인 맵으로 설정된다.
7113
7718
  */
7114
7719
  setBaseMap(indexOrName?: number | string): void;
@@ -7136,34 +7741,34 @@ declare class MapChart {
7136
7741
  getAnnotation(name: string): Annotation;
7137
7742
  /**
7138
7743
  * 기존 모델 설정을 모두 제거하고 초기화 한 후,
7139
- * config로 전달된 설정에 따라 차트를 새로 구성한다.<br/>
7744
+ * config로 전달된 설정에 따라 맵차트를 새로 구성한다.<br/>
7140
7745
  * 기존에 생성되었던 시리즈나 게이지들과 축들이 모두 제거되고 새로 생성된다.
7141
7746
  *
7142
- * @param config 차트 설정 정보
7747
+ * @param config 맵차트 설정 정보
7143
7748
  */
7144
7749
  load(config: ChartConfiguration, loadAnimation?: boolean, callback?: (param: LoadCallbackArgs) => void): MapChart;
7145
7750
  /**
7146
7751
  * load 메서드의 async 버전. <br/>
7147
7752
  *
7148
7753
  * 기존 모델 설정을 모두 제거하고 초기화 한 후,
7149
- * config로 전달된 설정에 따라 차트를 새로 구성한다.<br/>
7754
+ * config로 전달된 설정에 따라 맵차트를 새로 구성한다.<br/>
7150
7755
  * 기존에 생성되었던 시리즈나 게이지들과 축들이 모두 제거되고 새로 생성된다.
7151
7756
  *
7152
7757
  * 또한 map과 series 옵션에 url 속성이 있는 경우, 해당 url에서 데이터를 가져온 다음, <br/>
7153
7758
  * 각 옵션의 map 또는 data 속성을 채운다.
7154
7759
  *
7155
- * @param config 차트 설정 정보
7760
+ * @param config 맵차트 설정 정보
7156
7761
  */
7157
7762
  loadAsync(config: ChartConfiguration, loadAnimation?: boolean, callback?: () => void): Promise<MapChart>;
7158
7763
  /**
7159
- * {@link load}와 달리 기존 모델을 유지하면서 차트 설정 일부를 반영한다.<br/>
7764
+ * {@link load}와 달리 기존 모델을 유지하면서 맵차트 설정 일부를 반영한다.<br/>
7160
7765
  *
7161
7766
  * @param options 설정 객체
7162
7767
  * @param render true로 지정하면 다시 그리도록 요청한다.
7163
7768
  */
7164
7769
  updateOptions(options: ChartConfiguration, render?: boolean): void;
7165
7770
  /**
7166
- * 현재 표시 중인 차트를 PNG, JPG 또는 SVG 벡터 이미지로 다운로드한다.
7771
+ * 현재 표시 중인 맵차트를 PNG, JPG 또는 SVG 벡터 이미지로 다운로드한다.
7167
7772
  *
7168
7773
  * ```js
7169
7774
  * chart.export({
@@ -7176,11 +7781,11 @@ declare class MapChart {
7176
7781
  */
7177
7782
  export(options: ExportOptions): void;
7178
7783
  /**
7179
- * 다음 rendering frame을 기다리지 않고, 차트를 즉시 다시 그린다.<br/>
7180
- * 차트 rendering 작업은 자원 소모가 많고 소용 시간도 적지 않으므로,
7784
+ * 다음 rendering frame을 기다리지 않고, 맵차트를 즉시 다시 그린다.<br/>
7785
+ * 맵차트 rendering 작업은 자원 소모가 많고 소용 시간도 적지 않으므로,
7181
7786
  * data나 여러 모델을 수정하는 경우 모든 작업이 완료된 후 한 번 호출해야 한다.
7182
7787
  * 가능하면 이 함수는 호출하지 않고
7183
- * 차트 기본 동작(다음 frame에 이전 변경 사항들을 모아서 한 번 rendering)으로 실행되게 해야 한다.
7788
+ * 맵차트 기본 동작(다음 frame에 이전 변경 사항들을 모아서 한 번 rendering)으로 실행되게 해야 한다.
7184
7789
  */
7185
7790
  render(now?: boolean): void;
7186
7791
  setParam(param: string, value: any, redraw?: boolean): void;
@@ -7200,7 +7805,7 @@ declare class MapChart {
7200
7805
  */
7201
7806
  removeSeries(series: string | Series, animate?: boolean): void;
7202
7807
  /**
7203
- * 차트 설정의 map.points로 지정한 위치를 리턴한다.
7808
+ * 맵차트 설정의 map.points로 지정한 위치를 리턴한다.
7204
7809
  *
7205
7810
  * @param id 포인트 키.
7206
7811
  * @returns [lon, lat]
@@ -7208,6 +7813,7 @@ declare class MapChart {
7208
7813
  getPoint(id: string): MapCoord;
7209
7814
  seriesAt(index: number): Series;
7210
7815
  seriesByName(name: string): Series;
7816
+ pointToMap(x: number, y: number): MapCoord;
7211
7817
  drilldown(series?: number | string | MapSeries, area?: string): Promise<void>;
7212
7818
  drillup(series?: number | string | MapSeries): Promise<void>;
7213
7819
  }
@@ -7230,7 +7836,7 @@ declare class Globals {
7230
7836
  */
7231
7837
  static setLicenseKey(key: string): void;
7232
7838
  /**
7233
- * true로 지정하면 차트 요소별 디버그 경계를 표시한다.<br/>
7839
+ * true로 지정하면 맵차트 요소별 디버그 경계를 표시한다.<br/>
7234
7840
  * 기본은 false 상태다.
7235
7841
  *
7236
7842
  * ```js
@@ -7255,7 +7861,11 @@ declare class Globals {
7255
7861
  */
7256
7862
  static getDistance(p1: [number, number], p2: [number, number]): number;
7257
7863
  /**
7258
- * 차트 설정 모델을 기반으로 svg를 생성한 후,
7864
+ * @internal
7865
+ */
7866
+ static setGlobals(globals: any): void;
7867
+ /**
7868
+ * 맵차트 설정 모델을 기반으로 svg를 생성한 후,
7259
7869
  * 지정된 div 엘리먼트의 유일한 자식으로 포함시킨다.\
7260
7870
  * div 전체 영역의 크기로 표시된다.
7261
7871
  *
@@ -7265,14 +7875,14 @@ declare class Globals {
7265
7875
  *
7266
7876
  * @param doc
7267
7877
  * @param container 컨트롤이 생성되는 div 엘리먼트나 id
7268
- * @param config 차트 모델 설정 JSON
7878
+ * @param config 맵차트 모델 설정 JSON
7269
7879
  * @param animate 첫 로딩 animation을 실행한다.
7270
- * @param callback 차트가 모두 로드되고 첫 렌더링이 완료된 후 호출되는 콜백 함수.
7271
- * @returns 생성된 차트 객체
7880
+ * @param callback 맵차트가 모두 로드되고 첫 렌더링이 완료된 후 호출되는 콜백 함수.
7881
+ * @returns 생성된 맵차트 객체
7272
7882
  */
7273
7883
  static createChart(doc: Document, container: string | HTMLDivElement, config: any, animate?: boolean, callback?: (param: LoadCallbackArgs) => void): MapChart;
7274
7884
  /**
7275
- * 지도 파일이나 데이터가 URL을 통해 제공되는 경우, 데이터를 모두 로드한 뒤 차트를 생성하도록 비동기 처리할 수 있다.
7885
+ * 지도 파일이나 데이터가 URL을 통해 제공되는 경우, 데이터를 모두 로드한 뒤 맵차트를 생성하도록 비동기 처리할 수 있다.
7276
7886
  *
7277
7887
  * ```js
7278
7888
  * const config = {
@@ -7288,39 +7898,16 @@ declare class Globals {
7288
7898
  *
7289
7899
  * @param doc
7290
7900
  * @param container 컨트롤이 생성되는 div 엘리먼트나 id
7291
- * @param config 차트 모델 설정 JSON
7901
+ * @param config 맵차트 모델 설정 JSON
7292
7902
  * @param animate 첫 로딩 animation을 실행한다.
7293
- * @param callback 차트가 모두 로드되고 첫 렌더링이 완료된 후 호출되는 콜백 함수.
7294
- * @returns 생성된 차트 객체
7903
+ * @param callback 맵차트가 모두 로드되고 첫 렌더링이 완료된 후 호출되는 콜백 함수.
7904
+ * @returns 생성된 맵차트 객체
7295
7905
  */
7296
7906
  static createChartAsync(doc: Document, container: string | HTMLDivElement, config: any, animate?: boolean, callback?: (param: LoadCallbackArgs) => void): Promise<MapChart>;
7297
7907
  /**
7298
7908
  * name에 해당하는 기본 제공 객체를 리턴한다.<br/>
7299
7909
  */
7300
- static preset(name: string, info?: MapInsetDisplay): MapInset;
7301
- }
7302
-
7303
- /**
7304
- * Globe 돌리기.
7305
- */
7306
- declare class GlobeSpinner extends DragTracker<ChartControl> {
7307
- protected _doDrag(eventTarget: Element, xPrev: number, yPrev: number, x: number, y: number): boolean;
7308
- }
7309
-
7310
- /**
7311
- * Map 이동 시키기.
7312
- */
7313
- declare class MapScroller extends DragTracker<ChartControl> {
7314
- private _oldX;
7315
- private _oldY;
7316
- private _xStart;
7317
- private _yStart;
7318
- private _prj;
7319
- constructor(control: ChartControl);
7320
- protected _doStart(eventTarget: Element, xStart: number, yStart: number, x: number, y: number): boolean;
7321
- protected _doEnded(x?: number, y?: number): void;
7322
- protected _doDrag(eventTarget: Element, xPrev: number, yPrev: number, x: number, y: number): boolean;
7323
- private $_mapView;
7910
+ static preset(name: string, info?: boolean | MapInsetDisplay): MapInset;
7324
7911
  }
7325
7912
 
7326
7913
  /**
@@ -7337,7 +7924,7 @@ declare class MapTool extends RmTool<ChartControl> {
7337
7924
  protected _doWheel(ev: WheelEvent): boolean;
7338
7925
  protected _isPinchTarget(dom: Element): boolean;
7339
7926
  protected _doPinch(dist: number): void;
7340
- protected _getDragTracker(dom: Element, dx: number, dy: number): GlobeSpinner | MapScroller;
7927
+ protected _getDragTracker(dom: Element, dx: number, dy: number): DragTracker;
7341
7928
  private $_chart;
7342
7929
  private $_chartView;
7343
7930
  private $_drildown;
@@ -7372,9 +7959,47 @@ declare class RectElement extends RmElement {
7372
7959
  protected _setBackgroundBorderRadius(value: number): void;
7373
7960
  }
7374
7961
 
7962
+ declare class ImageElement extends RmElement {
7963
+ private _dirty;
7964
+ private _bounds;
7965
+ /**
7966
+ * @IE11 not support SVGImageElement onload
7967
+ * 사이즈를 알기위해서 이벤트만 사용한다.
7968
+ */
7969
+ private _proxy;
7970
+ /**
7971
+ * @IE11 image proxy onload event
7972
+ */
7973
+ onloadProxy: () => void;
7974
+ constructor(doc: Document, full: boolean, styleName?: string);
7975
+ /** image url */
7976
+ get url(): string;
7977
+ set url(value: string);
7978
+ setImage(url: string, width: number, height: number): boolean;
7979
+ bbox(): IRect;
7980
+ }
7981
+
7982
+ /**
7983
+ * ChartText를 표시하는 텍스트 view.
7984
+ */
7985
+ declare class LabelElement extends GroupElement {
7986
+ private _back;
7987
+ _outline: TextElement;
7988
+ _text: TextElement;
7989
+ _icon: ImageElement;
7990
+ private _model;
7991
+ private _box;
7992
+ constructor(doc: Document, styleName: string);
7993
+ setText(s: string): LabelElement;
7994
+ setModel(doc: Document, model: IconedText, icon: string, contrastTarget: Element): LabelElement;
7995
+ setContrast(target: Element): LabelElement;
7996
+ layout(): LabelElement;
7997
+ bbox(): IRect;
7998
+ }
7999
+
7375
8000
  declare abstract class ChartElement<T extends ChartItem = ChartItem> extends RmElement {
7376
8001
  model: T;
7377
- protected options: ChartItemOptions;
8002
+ protected _op: ChartItemOptions;
7378
8003
  mw: number;
7379
8004
  mh: number;
7380
8005
  _debugRect: RectElement;
@@ -7419,42 +8044,25 @@ declare abstract class SectionView extends GroupElement {
7419
8044
  protected abstract _doLayout(param?: any): void;
7420
8045
  protected abstract _doLocateInner(width: number, height: number, param?: any): void;
7421
8046
  }
7422
-
7423
- /**
7424
- * @internal
7425
- */
7426
- declare class LegendItemView extends ChartElement<LegendItem> {
7427
- _back: RectElement;
7428
- _marker: RmElement;
7429
- _label: TextElement;
7430
- _gap: number;
7431
- _rMarker: IRect;
7432
- _col: number;
8047
+ declare class MapWidgetTitleView extends LabelElement {
7433
8048
  constructor(doc: Document);
7434
- setMarker(elt: RmElement): RmElement;
7435
- protected _doMeasure(doc: Document, model: LegendItem, hintWidth: number, hintHeight: number): ISize;
7436
- protected _doLayout(wMarker: number): void;
7437
8049
  }
7438
- /**
7439
- * @internal
7440
- */
7441
- declare class LegendView extends BoundableElement<Legend> {
7442
- static readonly LEGEND_CLASS = "rm-legend";
7443
- private _itemViews;
7444
- private _vertical;
7445
- private _rowViews;
7446
- private _sizes;
7447
- private _wMarkers;
7448
- _gap: number;
7449
- _ipr: number;
8050
+ declare class MapWidgetFooterView extends LabelElement {
7450
8051
  constructor(doc: Document);
7451
- legendByDom(dom: Element): LegendItem;
7452
- legendOfSeries(series: Series): LegendItemView;
8052
+ }
8053
+ declare abstract class MapWidgetView<T extends MapWidget = MapWidget> extends BoundableElement<T> {
8054
+ protected _titleView: MapWidgetTitleView;
8055
+ protected _footerView: MapWidgetFooterView;
8056
+ protected _inTitle: boolean;
8057
+ protected _inFooter: boolean;
8058
+ protected _rTitle: IRect;
8059
+ protected _rFooter: IRect;
8060
+ protected _gapFooter: number;
8061
+ constructor(doc: Document, styleName: string, backStyle: string);
7453
8062
  protected _setBackgroundStyle(back: RectElement): void;
7454
- protected _doMeasure(doc: Document, model: Legend, hintWidth: number, hintHeight: number): ISize;
7455
- protected _doLayout(): void;
7456
- private $_prepareItems;
7457
- private $_measure;
8063
+ private $_layoutCaption;
8064
+ protected _checkTitle(doc: Document): boolean;
8065
+ protected _checkFooter(doc: Document): boolean;
7458
8066
  }
7459
8067
 
7460
8068
  interface IAnnotationAnchorOwner {
@@ -7468,7 +8076,7 @@ interface IAnnotationAnchorOwner {
7468
8076
  declare abstract class AnnotationView<T extends Annotation = Annotation> extends BoundableElement<T> {
7469
8077
  static readonly CLASS_NAME: string;
7470
8078
  static register(...clses: [typeof Annotation<AnnotationOptions>, typeof AnnotationView<Annotation>][]): void;
7471
- protected options: AnnotationOptions;
8079
+ protected _op: AnnotationOptions;
7472
8080
  constructor(doc: Document, styleName: string);
7473
8081
  update(owner: IAnnotationAnchorOwner, hintWidth: number, hintHeight: number): void;
7474
8082
  _layoutView(owner: IAnnotationAnchorOwner, x: number, y: number, w: number, h: number): void;
@@ -7482,31 +8090,44 @@ declare abstract class AnnotationView<T extends Annotation = Annotation> extends
7482
8090
  /**
7483
8091
  * @internal
7484
8092
  */
7485
- declare class ColorScaleView extends ChartElement<ColorScale> {
8093
+ declare class ColorScaleView extends MapWidgetView<ColorScale> {
7486
8094
  static readonly SCALE_CLASS = "rm-color-scale";
7487
8095
  static readonly SCALE_FILL = "rm-color-scale-fill";
7488
- private _vertical;
7489
- private _reversed;
7490
- private _fills;
7491
- private _barLayer;
7492
- private _bars;
8096
+ private static readonly HORZ_FILL;
8097
+ private static readonly HORZ_FILL_I;
8098
+ private static readonly VERT_FILL;
8099
+ private static readonly VERT_FILL_I;
8100
+ private _scaleLayer;
8101
+ private _boxLayer;
8102
+ private _boxes;
7493
8103
  private _splitLayer;
7494
8104
  private _splits;
7495
8105
  private _marker;
7496
8106
  private _markerLabel;
7497
8107
  private _tickLineLayer;
7498
8108
  private _tickLabelLayer;
8109
+ private _nullLayer;
7499
8110
  private _tickLines;
7500
8111
  private _tickLabels;
7501
- private _gap;
8112
+ private _nullBar;
8113
+ private _nullLabel;
8114
+ private _vertical;
8115
+ private _reversed;
8116
+ private _inverted;
8117
+ private _fills;
8118
+ private _nullSize;
7502
8119
  private _markerSize;
7503
- private _labelSize;
7504
8120
  private _tickLen;
7505
8121
  private _tickLabelSize;
8122
+ private _rScale;
8123
+ private _wBar;
8124
+ private _hBar;
7506
8125
  private _value;
8126
+ private _stepCount;
8127
+ private _wSave;
8128
+ private _hSave;
7507
8129
  constructor(doc: Document);
7508
8130
  setValue(v: number): void;
7509
- protected _setBackgroundStyle(back: RectElement): void;
7510
8131
  protected _doMeasure(doc: Document, model: ColorScale, hintWidth: number, hintHeight: number): ISize;
7511
8132
  protected _doLayout(): void;
7512
8133
  private $_getFillId;
@@ -7517,15 +8138,19 @@ declare class ColorScaleView extends ChartElement<ColorScale> {
7517
8138
  private $_prepareBars;
7518
8139
  private $_prepareSplits;
7519
8140
  private $_prepareTickLines;
8141
+ private $_prepareTickLabels;
7520
8142
  private $_prepareMarker;
8143
+ private $_prepareNull;
7521
8144
  private $_layoutSplits;
7522
8145
  private $_layoutTickLines;
7523
8146
  private $_resetMarker;
8147
+ private $_layoutBar;
7524
8148
  }
7525
8149
 
7526
8150
  type Visitor<T extends RmElement> = (element: T, index?: number, count?: number) => void;
7527
8151
  /** @internal */
7528
8152
  declare class ElementPool<T extends RmElement> extends RmObject {
8153
+ private _reversed;
7529
8154
  removeDelay: number;
7530
8155
  private _owner;
7531
8156
  private _creator;
@@ -7536,12 +8161,18 @@ declare class ElementPool<T extends RmElement> extends RmObject {
7536
8161
  new (doc: Document, styleName?: string): T;
7537
8162
  }, styleName?: string, removeDelay?: number);
7538
8163
  protected _doDestory(): void;
8164
+ /**
8165
+ * reversed.
8166
+ */
8167
+ get reversed(): boolean;
8168
+ set reversed(value: boolean);
7539
8169
  get isEmpty(): boolean;
7540
8170
  get count(): number;
7541
8171
  get first(): T;
7542
8172
  get last(): T;
7543
8173
  get(index: number): T;
7544
8174
  getAll(): T[];
8175
+ getRange(start: number, end: number): T[];
7545
8176
  elementOf(dom: Element): T;
7546
8177
  prepare(count: number, visitor?: Visitor<T>, initor?: Visitor<T>): ElementPool<T>;
7547
8178
  borrow(): T;
@@ -7596,46 +8227,6 @@ declare class PolyLineElement extends PathElement {
7596
8227
  setLines(pts: (number | MapCoord | IPoint)[], curved: boolean): void;
7597
8228
  }
7598
8229
 
7599
- type ShapeDrawer = (rd: number, rd2: number) => (string | number)[];
7600
-
7601
- declare class ImageElement extends RmElement {
7602
- private _dirty;
7603
- private _bounds;
7604
- /**
7605
- * @IE11 not support SVGImageElement onload
7606
- * 사이즈를 알기위해서 이벤트만 사용한다.
7607
- */
7608
- private _proxy;
7609
- /**
7610
- * @IE11 image proxy onload event
7611
- */
7612
- onloadProxy: () => void;
7613
- constructor(doc: Document, full: boolean, styleName?: string);
7614
- /** image url */
7615
- get url(): string;
7616
- set url(value: string);
7617
- setImage(url: string, width: number, height: number): boolean;
7618
- bbox(): IRect;
7619
- }
7620
-
7621
- /**
7622
- * ChartText를 표시하는 텍스트 view.
7623
- */
7624
- declare class LabelElement extends GroupElement {
7625
- private _back;
7626
- _outline: TextElement;
7627
- _text: TextElement;
7628
- _icon: ImageElement;
7629
- private _model;
7630
- private _box;
7631
- constructor(doc: Document, styleName: string);
7632
- setText(s: string): LabelElement;
7633
- setModel(doc: Document, model: IconedText, icon: string, contrastTarget: Element): LabelElement;
7634
- setContrast(target: Element): LabelElement;
7635
- layout(): LabelElement;
7636
- bbox(): IRect;
7637
- }
7638
-
7639
8230
  declare class HoverAnimation extends RmAnimation {
7640
8231
  private _series;
7641
8232
  _focused: boolean;
@@ -7726,6 +8317,9 @@ declare class PointContainer extends LayerElement {
7726
8317
  }
7727
8318
  type PointPositioner = (x: number, y: number, wPoint: number, hPoint: number) => IPoint;
7728
8319
  type LabelPositioner = (x: number, y: number, rLabel: IRect, wPoint: number, hPoint: number, off: number) => IPoint;
8320
+ interface ISeriesViewOwner {
8321
+ getSiblingOf(sv: SeriesView): SeriesView;
8322
+ }
7729
8323
  /**
7730
8324
  * @internal
7731
8325
  *
@@ -7748,6 +8342,8 @@ declare abstract class SeriesView<T extends Series = Series> extends ChartElemen
7748
8342
  [pos: string]: LabelPositioner;
7749
8343
  };
7750
8344
  _second: boolean;
8345
+ _h1: number;
8346
+ _h2: number;
7751
8347
  _pointLayer: LayerElement;
7752
8348
  _pointContainer: PointContainer;
7753
8349
  _calloutContainer: PointCalloutContainer;
@@ -7765,6 +8361,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ChartElemen
7765
8361
  protected _scaler: (coord: MapCoord) => MapCoord;
7766
8362
  _aniOpacity: number;
7767
8363
  constructor(doc: Document, className: string, needLabels?: boolean);
8364
+ get owner(): ISeriesViewOwner;
7768
8365
  protected _setCalcedColor(model: T, dom: Element): void;
7769
8366
  protected _setModelColor(color: string): void;
7770
8367
  prepare(doc: Document, model: T): void;
@@ -7853,6 +8450,9 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
7853
8450
  private _frontAxisGuideContainer;
7854
8451
  private _secondFrontAxisGuideContainer;
7855
8452
  private _crosshairView;
8453
+ private _seconded;
8454
+ private _h1;
8455
+ private _h2;
7856
8456
  private _clip;
7857
8457
  private _clipMap;
7858
8458
  private _requestShow;
@@ -7864,7 +8464,6 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
7864
8464
  get transformInfo(): IBodyTransform;
7865
8465
  get isProjectionChanged(): boolean;
7866
8466
  getSeries(series: Series): SeriesView<Series<SeriesOptions>>;
7867
- canScroll(): boolean;
7868
8467
  prepare(doc: Document, model: Body): void;
7869
8468
  protected _doMeasure(doc: Document, model: Body, hintWidth: number, hintHeight: number): ISize;
7870
8469
  protected _doLayout(param: any): void;
@@ -7877,7 +8476,7 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
7877
8476
  showSeries(series: Series): void;
7878
8477
  hideSeries(series: Series): void;
7879
8478
  /**
7880
- * 클릭된 픽셀 좌표(x, y)를 경위도 좌표로 변환한다.
8479
+ * 클릭된 픽셀 좌표(x, y)를 경위도 좌표로 변환한다.<br/>
7881
8480
  * 픽셀 좌표는 BodyView의 Dom 노드의 오프셋 좌표여야 한다.
7882
8481
  *
7883
8482
  * ```ts
@@ -7892,8 +8491,9 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
7892
8491
  * @param point 픽셀 좌표
7893
8492
  * @returns 경위도 좌표
7894
8493
  */
7895
- private pointToMap;
7896
- private $_prepareMeasureSeries;
8494
+ mouseToMap(point: IPoint): MapCoord;
8495
+ pointToMap(x: number, y: number): MapCoord;
8496
+ private $_prepareSeries;
7897
8497
  private $_prepareLayoutSeries;
7898
8498
  private $_prepareAnnotations;
7899
8499
  private $_layoutAnnotations;
@@ -7980,10 +8580,8 @@ declare class ChartView extends LayerElement implements IAnnotationAnchorOwner {
7980
8580
  private _annotationContainer;
7981
8581
  private _bodyView;
7982
8582
  private _titleSectionView;
7983
- private _scaleLayer;
7984
- private _colorScaleMap;
7985
- private _bubbleScaleMap;
7986
- private _legendSectionView;
8583
+ private _widgetLayer;
8584
+ private _widgetMap;
7987
8585
  private _frontAnnotationContainer;
7988
8586
  private _annotationViews;
7989
8587
  private _annotationMap;
@@ -7997,9 +8595,9 @@ declare class ChartView extends LayerElement implements IAnnotationAnchorOwner {
7997
8595
  getAnnotationAnchor(model: any): RmElement;
7998
8596
  titleView(): TitleView;
7999
8597
  subtitleView(): TitleView;
8000
- legendView(): LegendView;
8001
8598
  bodyView(): BodyView;
8002
8599
  drilldownPanelView(): DrilldownPanelView;
8600
+ getWidgetViews(loc: ChartItemLocation, widgets: MapWidget[]): MapWidgetView<MapWidget<MapWidgetOptions>>[];
8003
8601
  measure(doc: Document, m: ChartObject, hintWidth: number, hintHeight: number): void;
8004
8602
  layout(): void;
8005
8603
  showTooltip(series: Series, pv: IPointView, map: BodyView, p: IPoint): void;
@@ -8010,8 +8608,10 @@ declare class ChartView extends LayerElement implements IAnnotationAnchorOwner {
8010
8608
  legendByDom(dom: Element): LegendItem;
8011
8609
  seriesByDom(dom: Element): SeriesView;
8012
8610
  creditByDom(dom: Element): CreditsView;
8611
+ getWidgetView(widget: MapWidget): MapWidgetView<MapWidget<MapWidgetOptions>>;
8013
8612
  getScaleView(scale: ColorScale): ColorScaleView;
8014
8613
  pointerMoved(x: number, y: number, target: EventTarget): void;
8614
+ click(ev: PointerEvent, elt: Element, sv: SeriesView): void;
8015
8615
  getButton(dom: Element): ButtonElement;
8016
8616
  buttonClicked(button: ButtonElement): void;
8017
8617
  updateAnnotation(anno: Annotation): void;
@@ -8042,6 +8642,7 @@ declare class ChartControl extends RmControl implements IMapChartEvents {
8042
8642
  onRequestRender(chart: ChartObject, now: boolean): void;
8043
8643
  onRequestShowSeries(chart: ChartObject, series: Series, visible: boolean): void;
8044
8644
  onExportRequest(chart: ChartObject, options: ExportOptions): void;
8645
+ onPointToMap(chart: ChartObject, x: number, y: number): MapCoord;
8045
8646
  /**
8046
8647
  * chart model.
8047
8648
  */
@@ -8065,6 +8666,18 @@ declare class ChartControl extends RmControl implements IMapChartEvents {
8065
8666
  private $_renderLoadingView;
8066
8667
  }
8067
8668
 
8669
+ declare class ExternalModuleManager {
8670
+ private static instance;
8671
+ static ModuleNames: {
8672
+ realchart: string;
8673
+ };
8674
+ private _moduleMap;
8675
+ private constructor();
8676
+ static getInstance(): ExternalModuleManager;
8677
+ registerModule(id: keyof typeof ExternalModuleManager.ModuleNames, externalModule: any): void;
8678
+ findModule(id: keyof typeof ExternalModuleManager.ModuleNames): any | null;
8679
+ }
8680
+
8068
8681
  declare class BarSeriesPoint extends OrthogonalSparkSeriesPoint {
8069
8682
  }
8070
8683
  /**
@@ -8078,6 +8691,7 @@ declare class BarSeries extends OrthogonalSparkSeries<BarSeriesOptions> {
8078
8691
  private _subLabel;
8079
8692
  protected _doInit(op: BarSeriesOptions): void;
8080
8693
  get subLabel(): DataPointLabel<DataPointLabelOptions>;
8694
+ get reversed(): boolean;
8081
8695
  pointLabelCount(): number;
8082
8696
  protected _createPoint(source: any): BarSeriesPoint;
8083
8697
  protected _defLabelOff(): number;
@@ -8089,7 +8703,6 @@ declare class BubbleSeriesPoint extends MarkerSeriesPoint {
8089
8703
  labelCount(): number;
8090
8704
  protected _readObject(series: ISeries<BubbleSeriesPoint>, v: any): void;
8091
8705
  protected _valuesChanged(prev: any): boolean;
8092
- protected _assignTo(proxy: any): void;
8093
8706
  }
8094
8707
  /**
8095
8708
  * Bubble 시리즈 모델.<br/>
@@ -8123,7 +8736,7 @@ declare class BubbleSeries extends MarkerSeries<BubbleSeriesOptions> {
8123
8736
  pointLabelCount(): number;
8124
8737
  getPointLabels(): DataPointLabel<DataPointLabelOptions>[];
8125
8738
  protected _createPoint(source: any): BubbleSeriesPoint;
8126
- protected _doPrepareRender(chart: IChart): void;
8739
+ protected _doPrepareRender(chart: IChart, op: BubbleSeriesOptions): void;
8127
8740
  }
8128
8741
 
8129
8742
  declare class CircleGaugeItem<OP extends ChartItemOptions> extends ChartItem<OP> {
@@ -8523,6 +9136,12 @@ declare class PanelSeries extends ValueSeries<PanelSeriesOptions> {
8523
9136
 
8524
9137
  declare class PieSeriesPoint extends SparkSeriesPoint {
8525
9138
  }
9139
+ declare class PieSeriesThresholdImpl implements PieSeriesThreshold {
9140
+ value: number;
9141
+ radius: number;
9142
+ style: SVGStyleOrClass;
9143
+ constructor(value: number, radius: number, style: SVGStyleOrClass);
9144
+ }
8526
9145
  /**
8527
9146
  * Pie 시리즈 모델.<br/>
8528
9147
  * {@page op.SeriesOptions#type}은 {@page config.series.pie 'pie'}이고,
@@ -8534,11 +9153,15 @@ declare class PieSeries extends SparkSeries<PieSeriesOptions> {
8534
9153
  _startRad: number;
8535
9154
  _totalRad: number;
8536
9155
  private _radiusDim;
9156
+ private _thresholds;
8537
9157
  getRadius(domain: number): number;
9158
+ hasThreshold(): PieSeriesThresholdImpl[];
9159
+ getThreshold(value: number): PieSeriesThresholdImpl;
8538
9160
  protected _createPoint(source: any): PieSeriesPoint;
8539
9161
  protected _defLabelOff(): number;
8540
9162
  protected _doApply(options: PieSeriesOptions): void;
8541
- protected _doPrepareRender(chart: IChart): void;
9163
+ protected _doPrepareRender(chart: IChart, op: PieSeriesOptions): void;
9164
+ private $_parseThresholds;
8542
9165
  }
8543
9166
 
8544
9167
  /**
@@ -8584,7 +9207,7 @@ declare class PinSeries extends MarkerSeries<PinSeriesOptions> {
8584
9207
  max: number;
8585
9208
  };
8586
9209
  getRangedColor(p: PinSeriesPoint): string;
8587
- protected _doPrepareRender(chart: IChart): void;
9210
+ protected _doPrepareRender(chart: IChart, op: PinSeriesOptions): void;
8588
9211
  }
8589
9212
 
8590
9213
  /**
@@ -8647,7 +9270,6 @@ declare class RouteSeries extends Series<RouteSeriesOptions> {
8647
9270
 
8648
9271
  type WaffleGrid = any[][];
8649
9272
  declare class WaffleSeriesPoint extends SparkSeriesPoint {
8650
- _sum: number;
8651
9273
  }
8652
9274
  /**
8653
9275
  * Waffle 시리즈 모델.<br/>
@@ -8688,7 +9310,7 @@ declare class WaffleSeries extends SparkSeries<WaffleSeriesOptions> {
8688
9310
  hCell: number;
8689
9311
  gap: number;
8690
9312
  };
8691
- protected _doPrepareRender(chart: IChart): void;
9313
+ protected _doPrepareRender(chart: IChart, op: WaffleSeriesOptions): void;
8692
9314
  private $_caculate;
8693
9315
  private $_rows;
8694
9316
  private $_cols;
@@ -8708,7 +9330,7 @@ declare class TextAnnotation extends Annotation<TextAnnotationOptions> {
8708
9330
  private _timeFormat;
8709
9331
  _domain: IRichTextDomain;
8710
9332
  protected _isVisible(): boolean;
8711
- protected _doSetSimple(src: any): boolean;
9333
+ protected _doSetSimple(op: TextAnnotationOptions, src: any): boolean;
8712
9334
  protected _doApply(options: TextAnnotationOptions): void;
8713
9335
  }
8714
9336
 
@@ -8721,7 +9343,7 @@ declare class ImageAnnotation extends Annotation<ImageAnnotationOptions> {
8721
9343
  static type: string;
8722
9344
  static defaults: ImageAnnotationOptions;
8723
9345
  protected _isVisible(): boolean;
8724
- protected _doSetSimple(src: any): boolean;
9346
+ protected _doSetSimple(op: ImageAnnotationOptions, src: any): boolean;
8725
9347
  }
8726
9348
 
8727
9349
  /**
@@ -8740,7 +9362,7 @@ declare class ShapeAnnotation extends Annotation<ShapeAnnotationOptions> {
8740
9362
  yRange: number[];
8741
9363
  };
8742
9364
  getShape(): Shape;
8743
- protected _doSetSimple(src: any): boolean;
9365
+ protected _doSetSimple(op: ShapeAnnotationOptions, src: any): boolean;
8744
9366
  }
8745
9367
 
8746
9368
  /**
@@ -8753,6 +9375,8 @@ declare class HtmlAnnotation extends Annotation<HtmlAnnotationOptions> {
8753
9375
  static readonly type = "html";
8754
9376
  static defaults: HtmlAnnotationOptions;
8755
9377
  private _params;
9378
+ private _paramCallback;
9379
+ private _userParams;
8756
9380
  setParams(params: object): void;
8757
9381
  applyParams(target: string): string;
8758
9382
  /**
@@ -8760,7 +9384,8 @@ declare class HtmlAnnotation extends Annotation<HtmlAnnotationOptions> {
8760
9384
  */
8761
9385
  private $_apply;
8762
9386
  protected _isVisible(): boolean;
8763
- protected _doSetSimple(src: any): boolean;
9387
+ protected _doSetSimple(op: HtmlAnnotationOptions, src: any): boolean;
9388
+ protected _doPrepareRender(chart: IChart, op: HtmlAnnotationOptions): void;
8764
9389
  }
8765
9390
 
8766
9391
  declare abstract class SeriesAnimation {
@@ -8957,6 +9582,7 @@ declare class Utils {
8957
9582
  * @param path 'aaa.bbb.2.ccc' 형식으로 지정한다. 2는 배열 항목 index.
8958
9583
  */
8959
9584
  static valueAt(data: any, path?: string): any;
9585
+ static normalizeToSteps(arr: number[], n: number): number[];
8960
9586
  }
8961
9587
 
8962
9588
  interface IDomContaner {
@@ -9042,10 +9668,11 @@ declare class Dom {
9042
9668
  declare const getVersion: typeof Globals.getVersion;
9043
9669
  declare const setDebugging: typeof Globals.setDebugging;
9044
9670
  declare const setLogging: typeof Globals.setLogging;
9671
+ declare const setGlobals: typeof Globals.setGlobals;
9045
9672
  declare const getDistance: typeof Globals.getDistance;
9046
9673
  declare const createChart: typeof Globals.createChart;
9047
9674
  declare const createChartAsync: typeof Globals.createChartAsync;
9048
9675
  declare const preset: typeof Globals.preset;
9049
9676
  declare const setLicenseKey: typeof Globals.setLicenseKey;
9050
9677
 
9051
- export { Align, Annotation, AnnotationAnimationOptions, AnnotationOptions, AnnotationOptionsType, AssetItemOptions, AssetOptionsType, BackgroundImageOptions, BandSeriesOptions, BandSeriesType, BarSeries, BarSeriesOptions, Body, BodyView, BubbleSeries, BubbleSeriesOptions, ChartConfiguration, ChartControl, ChartElement, ChartItem, ChartItemOptions, ChartObject, ChartOptionsOptions, ChartSeriesOptions, ChartSeriesType, ChartTextOptions, ChartView, CircleElement, CircleGauge, ClockGauge, Color, ColorListOptions, ColorRanger, CreditsOptions, DataPoint, DataPointArgs as DataPointCallbackArgs, DataPointLabel, DataPointLabelOptions, Dom, ElementPool, ExportOptions, Exporter, ExporterOptions, FeatureSeriesLabelOptions, FeatureSeriesOptions, FeatureSeriesType, FigureSeries, GradientOptions, HeatmapSeriesOptions, HeatmapSeriesType, HtmlAnnotation, IChart, ILegendSource, IPercentSize, IPointView, IRect, ISeries, IconedTextOptions, ImageAnnotation, ImageAnnotationOptions, ImageListOptions, ImageSeries, LayerElement, Legend, LegendOptions, LineElement, LineSeries, LineSeriesOptions, LinearGradientOptions, LoadCallbackArgs, MapArea, MapAxis, MapAxisBandGuide, MapAxisGuide, MapAxisLineGuide, MapAxisRangeGuide, MapChart, MapCoord, MapCrosshair, MapInset, MapInsetDisplay, MapProjection, MapSeries, MapSeriesLabelOptions, MapSeriesOptions, MapSeriesType, MapBackgroundOptions as MapViewBackgroundOptions, BodyOptions as MapViewOptions, MarkerSeries, MarkerSeriesOptions, MarkerSeriesPoint, MarkerSeriesPointView, MarkerSeriesView, ORG_ANGLE, OrthogonalSparkSeries, PI_2, PanelSeries, PathElement, PatternOptions, PercentSize, PieSeries, PieSeriesOptions, PinSeries, PointElement, PointLabelView, PointSeries, PointViewPool, PointViewPosition, PolyLineElement, ProjectionType, RAD_DEG, RadialGradientOptions, RectElement, RmElement, RouteSeries, RouteSeriesOptions, RouteSeriesType, SVGStyleOrClass, SVGStyles, SankeySeriesOptions, SankeySeriesType, SectionView, SectorElement, Series, SeriesAnimation, SeriesOptions, SeriesOptionsType, SeriesView, Shape, ShapeAnnotation, ShapeAnnotationOptions, ShapeDrawer, Size, SparkSeries, Subtitle, SubtitleOptions, TableSeriesOptions, TableSeriesType, TextAnchor, TextAnnotation, TextAnnotationOptions, TextElement, TextLayout, TiledWebSeriesOptions, TiledWebSeriesType, Title, TitleOptions, TooltipOptions, TrackSeriesOptions, TrackSeriesOutlineOptions, TrackSeriesType, Utils, ValuePoint, ValueSeries, VectorSeriesOptions, VectorSeriesType, WaffleSeries, _isIE, absv, assignObj, calcPercent, copyObj, cos, createChart, createChartAsync, createRect, extend, fixnum, getDistance, getVersion, incv, isArray, isEmptyRect, isObject, isString, maxv, minv, parsePercentSize, pickNum, pickProp, pickProp3, pixel, preset, rectToSize, setDebugging, setLicenseKey, setLogging, sin };
9678
+ export { Align, Annotation, AnnotationAnimationOptions, AnnotationOptions, AnnotationOptionsType, AnnotationView, AssetItemOptions, AssetOptionsType, BackgroundImageOptions, BandSeriesOptions, BandSeriesType, BarSeries, BarSeriesOptions, Body, BodyView, BubbleSeries, BubbleSeriesOptions, ChartAnnotationOptions, ChartAnnotationType, ChartConfiguration, ChartControl, ChartElement, ChartItem, ChartItemOptions, ChartObject, ChartOptionsOptions, ChartTextOptions, ChartView, CircleElement, CircleGauge, ClockGauge, Color, ColorListOptions, ColorRanger, Credits, CreditsOptions, DataPoint, DataPointArgs as DataPointCallbackArgs, DataPointLabel, DataPointLabelOptions, Dom, DragTracker, ElementPool, ExportOptions, Exporter, ExporterOptions, ExternalModuleManager, FeatureSeriesLabelOptions, FeatureSeriesOptions, FeatureSeriesType, FigureSeries, GradientOptions, HeatmapSeriesOptions, HeatmapSeriesType, HtmlAnnotation, IChart, ILegendSource, IPercentSize, IPointView, IRect, ISeries, ISize, IconedTextOptions, ImageAnnotation, ImageAnnotationOptions, ImageListOptions, ImageSeries, LayerElement, Legend, LegendOptions, LineElement, LineSeries, LineSeriesOptions, LinearGradientOptions, LoadCallbackArgs, MapArea, MapAxis, MapAxisBandGuide, MapAxisGuide, MapAxisLineGuide, MapAxisRangeGuide, MapChart, MapCoord, MapCrosshair, MapInset, MapInsetDisplay, MapProjection, MapSeries, MapSeriesLabelOptions, MapSeriesOptions, MapSeriesType, MapTool, MapBackgroundOptions as MapViewBackgroundOptions, BodyOptions as MapViewOptions, MarkerSeries, MarkerSeriesOptions, MarkerSeriesPoint, MarkerSeriesPointView, MarkerSeriesView, ORG_ANGLE, OrthogonalSparkSeries, PI_2, PanelSeries, PathElement, PatternOptions, PercentSize, PieSeries, PieSeriesOptions, PinSeries, PointElement, PointLabelView, PointSeries, PointViewPool, PointViewPosition, PolyLineElement, ProjectionType, RAD_DEG, RadialGradientOptions, RectElement, RmElement, RouteSeries, RouteSeriesOptions, RouteSeriesType, SVGStyleOrClass, SVGStyles, SankeySeriesOptions, SankeySeriesType, SectionView, SectorElement, Series, SeriesAnimation, SeriesOptions, SeriesOptionsType, SeriesView, Shape, ShapeAnnotation, ShapeAnnotationOptions, ShapeDrawer, Size, SparkSeries, Subtitle, SubtitleOptions, TableSeriesOptions, TableSeriesType, TextAnchor, TextAnnotation, TextAnnotationOptions, TextElement, TextLayout, TiledWebSeriesOptions, TiledWebSeriesType, Title, TitleOptions, TooltipOptions, TrackSeriesOptions, TrackSeriesOutlineOptions, TrackSeriesType, Utils, ValuePoint, ValueSeries, VectorSeriesOptions, VectorSeriesType, WaffleSeries, _isIE, absv, assignObj, calcPercent, copyObj, cos, createChart, createChartAsync, createRect, extend, fixnum, getDistance, getVersion, incv, isArray, isEmptyRect, isObject, isString, maxv, minv, parsePercentSize, pickNum, pickProp, pickProp3, pixel, preset, rectToSize, setDebugging, setGlobals, setLicenseKey, setLogging, sin };