realchart 1.4.1 → 1.4.3

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
@@ -534,7 +534,6 @@ interface ChartItemOptions {
534
534
  visible?: boolean;
535
535
  /**
536
536
  * {@link it.SVGStyles 스타일셋} 또는 css {@link https://developer.mozilla.org/ko/docs/Web/CSS/CSS_selectors selector}.
537
- *
538
537
  */
539
538
  style?: SVGStyleOrClass;
540
539
  }
@@ -1299,8 +1298,11 @@ declare abstract class RcControl extends RcObject implements IAssetOwner {
1299
1298
  private _invalidateLock;
1300
1299
  private _lockDirty;
1301
1300
  private _cssVars;
1301
+ private _wSave;
1302
+ private _hSave;
1302
1303
  private _resizeObserver;
1303
- private _domResize;
1304
+ private _resizeTimer;
1305
+ private _resizeDelay;
1304
1306
  loaded: boolean;
1305
1307
  _padding: ISides;
1306
1308
  private _bounds;
@@ -1331,7 +1333,7 @@ declare abstract class RcControl extends RcObject implements IAssetOwner {
1331
1333
  releaseLock(validate?: boolean): void;
1332
1334
  lock(func: (control: RcControl) => void): void;
1333
1335
  silentLock(func: (control: RcControl) => void): void;
1334
- setDomResize(value: boolean): void;
1336
+ setResizeDelay(value: number): void;
1335
1337
  getBounds(): DOMRect;
1336
1338
  setAnimation(to?: number): void;
1337
1339
  fling(distance: number, duration: number): void;
@@ -1758,6 +1760,15 @@ interface DataPointLabelOptions extends IconedTextOptions {
1758
1760
  * 데이터 포인트별로 추가 적용되는 스타일을 리턴한다.<br/>
1759
1761
  */
1760
1762
  styleCallback?: (args: DataPointCallbackArgs) => SVGStyleOrClass;
1763
+ /**
1764
+ * 데이터 포인트 label의 회전 각도.<br/>
1765
+ * -90 ~ 90 사이의 값으로 지정한다.<br/>
1766
+ * -90 미만의 값을 지정하면 -90, 90을 초과하는 값을 지정하면 90으로 설정된다.<br/>
1767
+ * inverted일 때, rotation 옵션은 무시된다.
1768
+ *
1769
+ * @default 0
1770
+ */
1771
+ rotation?: number;
1761
1772
  }
1762
1773
  /** */
1763
1774
  interface DataPointLabelLineOptions extends ChartItemOptions {
@@ -1997,7 +2008,7 @@ interface SeriesOptions extends ChartItemOptions {
1997
2008
  */
1998
2009
  loadAnimation?: 'default' | 'reveal' | 'grow' | 'spread' | 'fadein';
1999
2010
  /**
2000
- * 데이터포인트 hover 효과.<br/>
2011
+ * 데이터포인트 위에 마우스 포인터가 올라갈(hovering) 때 표시되는 효과.<br/>
2001
2012
  */
2002
2013
  hoverEffect?: 'none' | 'default';
2003
2014
  /**
@@ -2127,6 +2138,23 @@ interface BasedSeriesOptions extends ClusterableSeriesOptions {
2127
2138
  * 기준값 보다 작은 쪽의 point들에 적용되는 스타일.<br/>
2128
2139
  */
2129
2140
  belowStyle?: SVGStyleOrClass;
2141
+ /**
2142
+ * 깊이가 있는 축에서 깊이 방향(z축)의 데이터포인트 두께.<br/>
2143
+ * 이 값과 {@link distance}을 더한 크기가 body의 {@link https://realchart.co.kr/config/config/body#depth 깊이}를 초과할 수 없다.
2144
+ * 즉, body의 깊이가 없으면 이 속성은 무시된다.<br/>
2145
+ * 이 속성을 설정하지 않으면, group에 포함된 경우 group의 depth를 따르고,
2146
+ * 그 값도 설정되지 않으면 기본값 10 픽셀로 적용된다.
2147
+ */
2148
+ depth?: number;
2149
+ /**
2150
+ * 깊이가 있는 축과 데이터포인트들 사이의 간격.<br/>
2151
+ * 이 값과 {@link depth}를 더한 크기가 body의 {@link https://realchart.co.kr/config/config/body#depth 깊이}를 초과할 수 없다.
2152
+ * 즉, body의 깊이가 없으면 이 속성은 무시된다.<br/>
2153
+ * group에 포함된 경우 group의 distance와 이 설정값을 더해서 적용된다.
2154
+ * 이 속성을 설정하지 않으면 group에 포함된 경우 0, 아니면 5 픽셀로 적용된다.
2155
+ * 또, layout이 overlap인 group에 포함된 경우 순서대로 앞쪽으로 표시된다.
2156
+ */
2157
+ distance?: number;
2130
2158
  }
2131
2159
  /**
2132
2160
  */
@@ -2196,6 +2224,8 @@ interface SeriesGroupOptions<T extends SeriesOptions = SeriesOptions> extends Ch
2196
2224
  /**
2197
2225
  * {@link layout}이 {@link layout 'fill'}일 때 상대적 최대값.
2198
2226
  * <br>
2227
+ * layoutMax는 0보다 큰 값으로 지정해야 한다. <br>
2228
+ * 값이 0이하이거나 지정하지 않으면 100으로 간주된다. <br>
2199
2229
  *
2200
2230
  * @default 100
2201
2231
  */
@@ -2334,6 +2364,24 @@ interface BarSeriesGroupBaseOptions<T extends BarSeriesBaseOptions> extends Clus
2334
2364
  * @default undefined
2335
2365
  */
2336
2366
  baseValue?: number;
2367
+ /**
2368
+ * 깊이가 있는 축에서 깊이 방향(z축)의 데이터포인트 두께.<br/>
2369
+ * 이 값과 {@link distance}을 더한 크기가 body의 {@link https://realchart.co.kr/config/config/body#depth 깊이}를 초과할 수 없다.
2370
+ * 즉, body의 깊이가 없으면 이 속성은 무시된다.<br/>
2371
+ * 이 속성이 설정되지 않으면 그룹에 속한 개별 시리즈들의 설정을 따른다.
2372
+ *
2373
+ * @defaul 10
2374
+ */
2375
+ depth?: number;
2376
+ /**
2377
+ * 깊이가 있는 축과 데이터포인트들 사이의 간격.<br/>
2378
+ * 이 값과 {@link depth}를 더한 크기가 body의 {@link https://realchart.co.kr/config/config/body#depth 깊이}를 초과할 수 없다.
2379
+ * 즉, body의 깊이가 없으면 이 속성은 무시된다.<br/>
2380
+ * 이 속성과 개별 시리즈들의 속성값이 더해져 시리즈들의 distance가 결정된다.
2381
+ *
2382
+ * @default 5
2383
+ */
2384
+ distance?: number;
2337
2385
  }
2338
2386
  /**
2339
2387
  * {@link https://realchart.co.kr/config/config/series/dumbbell dumbbell} 시리즈 등 데이터포인트 뷰에 표시되는 마커 옵션.<br/>
@@ -2731,6 +2779,7 @@ interface BarSeriesOptions extends BarSeriesBaseOptions {
2731
2779
  * 최대값이 bar 폭으로 절반으로 제한되므로 아주 큰 값을 지정하면 반원으로 표시된다.
2732
2780
  */
2733
2781
  bottomRadius?: number;
2782
+ shape?: 'default' | 'cylinder';
2734
2783
  }
2735
2784
  declare const BarSeriesGroupType = "bargroup";
2736
2785
  /**
@@ -3869,7 +3918,7 @@ interface RadialSeriesOptions extends WidgetSeriesOptions {
3869
3918
  * 시리즈 원호 전체 각도.<br/>
3870
3919
  * 0 ~ 360 사이의 값으로 지정해야 한다.
3871
3920
  * 범위를 벗어난 값은 범위 안으로 조정된다.
3872
- * 지정하지 않거나 잘못된 값이면 360으로 계산된다.
3921
+ * 지정하지 않거나 0보다 값이 아니면 360으로 적용된다.
3873
3922
  *
3874
3923
  * @default 360
3875
3924
  */
@@ -3927,6 +3976,26 @@ interface PieSeriesLabelOptions extends WidgetSeriesLabelOptions {
3927
3976
  */
3928
3977
  rotationMode?: PointLabelRotationMode;
3929
3978
  }
3979
+ interface PieSeriesDepthOption extends ChartItemOptions {
3980
+ /**
3981
+ * @default false
3982
+ */
3983
+ visible?: boolean;
3984
+ /**
3985
+ * 깊이의 길이, 즉 원호들의 두께를 지정한다.<br/>
3986
+ * 0 이하로 지정하면 무시된다.
3987
+ *
3988
+ * @default 25
3989
+ */
3990
+ length?: number;
3991
+ /**
3992
+ * {@link depth}가 지정된 경우 시리즈 타원의 비율.<br/>
3993
+ * 0.3 ~ 0.8 사이의 값으로 조정된다.
3994
+ *
3995
+ * @default 0.6
3996
+ */
3997
+ ratio?: number;
3998
+ }
3930
3999
  declare const PieSeriesType = "pie";
3931
4000
  /**
3932
4001
  * Pie 시리즈<br/>
@@ -3997,6 +4066,13 @@ interface PieSeriesOptions extends RadialSeriesOptions {
3997
4066
  * 기본 클래스 selector는 <b>'rct-pie-series-inner'</b>이다.
3998
4067
  */
3999
4068
  innerText?: PieSeriesTextOptions;
4069
+ /**
4070
+ * 깊이 설정 옵션.<br/>
4071
+ * 0보다 큰 숫자로 지정하면 {@link https://realchart.co.kr/docs/api/options/AxisDepthOptions/visible visible}을 true로 설정하고,
4072
+ * {@link https://realchart.co.kr/docs/api/options/PieSeriesDepthOptions/length length}를 지정하는 것과 동일하다.<br/>
4073
+ * [주의] 이 값이 지정되면 {@link https://realchart.co.kr/docs/api/options/AxisTickOptions/length length} 설정은 무시된다.<br/>
4074
+ */
4075
+ depth?: PieSeriesDepthOption | number | boolean;
4000
4076
  }
4001
4077
  declare const ScatterSeriesType = "scatter";
4002
4078
  /**
@@ -4922,11 +4998,12 @@ interface ChartOptionsOptions extends ChartItemOptions {
4922
4998
  */
4923
4999
  pointHovering?: PointHoveringOptions;
4924
5000
  /**
4925
- * div 크기가 변경될 때, 차트를 해당 크기에 맞게 조정할지 여부
5001
+ * 차트 div 크기가 변경됐을 지정한 시간(밀리초) 이후에 다시 그린다.<br>
5002
+ * 0 이하면 대기 없이 바로 다시 그리기를 요청한다.<br>
4926
5003
  *
4927
- * @default false
5004
+ * @default 50 밀리초
4928
5005
  */
4929
- domResize?: boolean;
5006
+ resizeDelay?: number;
4930
5007
  }
4931
5008
  /**
4932
5009
  */
@@ -5037,6 +5114,62 @@ interface ZoomCallbackArgs {
5037
5114
  */
5038
5115
  to: number;
5039
5116
  }
5117
+ /**
5118
+ * {@link BodyDepth.depth depth}가 지정된 body 영역의 양 축 방향에 표시되는
5119
+ * {@link https://realchart.co.kr/config/config/body/xSide side}s panel의 경계선 설정 옵션.<br/>
5120
+ */
5121
+ interface BodyDepthLineOptions extends ChartItemOptions {
5122
+ /**
5123
+ * @default false
5124
+ */
5125
+ visible?: boolean;
5126
+ }
5127
+ /**
5128
+ * {@link BodyDepth.depth depth}가 지정된 body 영역의 양 축 방향에 표시되는 side panel 설정 옵션.<br/>
5129
+ */
5130
+ interface BodyDepthSideOptions extends ChartItemOptions {
5131
+ /**
5132
+ * depth side 바깥 경계선 설정 옵션.<br/>
5133
+ */
5134
+ line?: BodyDepthLineOptions | boolean;
5135
+ /**
5136
+ * depth side 양 끝에서 body 쪽으로 연결하는 선 설정 옵션.<br/>
5137
+ */
5138
+ endLine?: BodyDepthLineOptions | boolean;
5139
+ /**
5140
+ * depth side에 표시되는 axis grid 선 설정 옵션.<br/>
5141
+ */
5142
+ gridLine?: BodyDepthLineOptions | boolean;
5143
+ }
5144
+ /**
5145
+ * body 깊이 설정 옵션.<br/>
5146
+ * x 축이고 첫번째 연결된 시리즈가 depth가 설정된 { 'bar'} 시리즈를 표시할 때, 축 깊이를 설정한다.<br/>
5147
+ * 차트나 분할 pane에 연결된 첫번째 x축일 때만 의미가 있다.
5148
+ */
5149
+ interface BodyDepthOptions extends ChartItemOptions {
5150
+ /**
5151
+ * @default false
5152
+ */
5153
+ visible?: boolean;
5154
+ /**
5155
+ * 픽셀 단위의 body 깊이.<br/>
5156
+ *
5157
+ * @default 24
5158
+ */
5159
+ length?: number;
5160
+ /**
5161
+ * 30 ~ 60도 사이로 지정할 수 있다.</br>
5162
+ *
5163
+ * @default 32
5164
+ */
5165
+ angle?: number;
5166
+ xSide?: BodyDepthSideOptions;
5167
+ ySide?: BodyDepthSideOptions;
5168
+ /**
5169
+ * 원점에서 depth side 끝까지 연결하는 선 설정 옵션.<br/>
5170
+ */
5171
+ orgLine?: BodyDepthLineOptions | string | boolean;
5172
+ }
5040
5173
  /**
5041
5174
  * {@link https://realchart.co.kr/config/config/base/series 시리즈}나 {@link https://realchart.co.kr/config/config/base/gauge 게이지}들이 그려지는 영역 설정 옵션.<br/>
5042
5175
  * 전체 차트에서 {@link https://realchart.co.kr/config/config/title 타이틀}, {@link https://realchart.co.kr/config/config/legend 범례},
@@ -5109,6 +5242,13 @@ interface BodyOptions extends ChartItemOptions {
5109
5242
  * zoom 될 때 호출되는 이벤트 콜백<br/>
5110
5243
  */
5111
5244
  zoomCallback?: (series: ZoomCallbackArgs) => void;
5245
+ /**
5246
+ * 깊이 설정 옵션.<br/>
5247
+ * 0보다 큰 숫자로 지정하면 {@link https://realchart.co.kr/docs/api/options/AxisDepthOptions/visible visible}을 true로 설정하고,
5248
+ * {@link https://realchart.co.kr/docs/api/options/BodyDepthOptions/length length}를 지정하는 것과 동일하다.<br/>
5249
+ * [주의] 이 값이 지정되면 {@link https://realchart.co.kr/docs/api/options/AxisTickOptions/length length} 설정은 무시된다.<br/>
5250
+ */
5251
+ depth?: BodyDepthOptions | number | boolean;
5112
5252
  }
5113
5253
  /**
5114
5254
  */
@@ -6088,7 +6228,6 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6088
6228
  */
6089
6229
  init(): OP;
6090
6230
  protected _doInit(op: OP): void;
6091
- protected _doInitChildren(op: OP): void;
6092
6231
  /**
6093
6232
  * @private
6094
6233
  */
@@ -6174,13 +6313,16 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6174
6313
  * @param render true로 지정하면 설정 후 차트를 다시 그린다.
6175
6314
  * @returns 객체 자신.
6176
6315
  */
6316
+ private $_updateChildren;
6317
+ private $_mergeOptions;
6177
6318
  updateOptions(source?: OP, render?: boolean): this;
6178
6319
  /**
6179
6320
  * 하나의 속성 값을 설정한다.<br/>
6180
6321
  * 여러 속성들을 한꺼번에 변경할 때는 {@link updateOptions}를 사용한다.
6181
6322
  * 기본적으로 이전 값과 다른 경우에만 적용된다.
6182
6323
  * 특히, 속성값이 객체인 경우 객체 속성만 바뀐 경우 적용되지 않는다.
6183
- * 바꾸고 싶다면 force 매개변수를 true로 지정해서 호출한다.
6324
+ * 바꾸고 싶다면 force 매개변수를 true로 지정해서 호출한다.<br/>
6325
+ * 또, prop 매개변수가 하위 모델 이름인 경우 하위 모델의 {@link updateOptions}를 호출한 것과 동일하다.
6184
6326
  *
6185
6327
  * @param render true로 지정하면 설정 후 차트를 다시 그린다.
6186
6328
  * @param force 지정한 값이 이전 값과 동일한 경우에도 적용한다.
@@ -6218,6 +6360,25 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6218
6360
  * @returns 객체 자신.
6219
6361
  */
6220
6362
  clearOptions(render?: boolean): this;
6363
+ /**
6364
+ * 모델 css style 값을 변경한다.<br/>
6365
+ * value에 undefined나 null, ''을 지정하면 기존에 설정됐던 스타일 항목이 제거된다.<br/>
6366
+ *
6367
+ * @param prop css 스타일 항목 이름.
6368
+ * @param value 적용할 스타일 값.
6369
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본값 true
6370
+ * @returns
6371
+ */
6372
+ setStyle(prop: string, value: any, render?: boolean): this;
6373
+ /**
6374
+ * 여러 항목의 모델 css style 값들을 json 객체로 지정해서 동시에 변경한다.<br/>
6375
+ * value에 undefined나 null, ''을 지정하면 기존에 설정됐던 스타일 항목이 제거된다.<br/>
6376
+ *
6377
+ * @param props 스타일 항목들과 값들이 설정된 json 객체
6378
+ * @param clear true로 지정하면 기존 스타일 값을 모두 제거한다. 기본값 false
6379
+ * @param render true로 지정하면 옵션 변경 시 맵차트를 다시 그린다. 기본값 true
6380
+ */
6381
+ setStyles(props: object, clear?: boolean, render?: boolean): this;
6221
6382
  /** @private */
6222
6383
  _prepareRender(): void;
6223
6384
  /** @private */
@@ -6241,8 +6402,6 @@ declare class ChartItem<OP extends ChartItemOptions = ChartItemOptions> extends
6241
6402
  /** @private */
6242
6403
  protected _doApply(op: OP): void;
6243
6404
  /** @private */
6244
- protected _doUpdate(source: any): void;
6245
- /** @private */
6246
6405
  protected _doPrepareRender(chart: IChart): void;
6247
6406
  }
6248
6407
  declare abstract class ChartItemCollection<T extends ChartItem> {
@@ -6530,6 +6689,9 @@ declare class CategoryAxis extends Axis<CategoryAxisOptions> {
6530
6689
  private $_collectCategories;
6531
6690
  }
6532
6691
 
6692
+ declare class DataPointLabelLine extends ChartItem<DataPointLabelLineOptions> {
6693
+ static defaults: DataPointLabelLineOptions;
6694
+ }
6533
6695
  /**
6534
6696
  * {@link Series 시리즈}의 {@link Series.pointLabel 데이터포인트 라벨} 표시에 대한 모델.<br/>
6535
6697
  * 옵션 설정 모델은 {@link DataPointLabelOptions}이다.
@@ -6540,13 +6702,14 @@ declare class DataPointLabel<OP extends DataPointLabelOptions = DataPointLabelOp
6540
6702
  private _point;
6541
6703
  _domain: IRichTextDomain;
6542
6704
  _overflowFit: number;
6543
- _vertAdujst: number;
6705
+ _vertAdjust: number;
6544
6706
  protected _doInit(op: OP): void;
6545
6707
  getValue(p: DataPoint, index: number): any;
6546
6708
  getTextDomain(p: DataPoint): IRichTextDomain;
6547
6709
  getText(value: any): string;
6548
6710
  getOffset(): number;
6549
6711
  getDefaultIconPos(): IconPosition;
6712
+ getRotation(): number;
6550
6713
  protected _isVisible(): boolean;
6551
6714
  protected _doSetSimple(src: any): boolean;
6552
6715
  protected _doApply(op: OP): void;
@@ -6668,6 +6831,7 @@ interface ISeries extends IPlottingItem {
6668
6831
  options: SeriesOptions;
6669
6832
  chart: IChart;
6670
6833
  _group: ISeriesGroup;
6834
+ canDepth(): boolean;
6671
6835
  _xFielder: (src: any) => any;
6672
6836
  _yFielder: (src: any) => any;
6673
6837
  _zFielder: (src: any) => any;
@@ -6753,7 +6917,6 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6753
6917
  _yMin: number;
6754
6918
  _yMax: number;
6755
6919
  protected _doInit(op: OP): void;
6756
- protected _doInitChildren(op: OP): void;
6757
6920
  onDataValueChanged(data: DataObject, row: number, field: string, value: any, oldValue: any): void;
6758
6921
  onDataRowUpdated(data: DataObject, row: number, oldValues: any): void;
6759
6922
  onDataRowAdded(data: DataObject, row: number): void;
@@ -6864,6 +7027,7 @@ declare abstract class Series<OP extends SeriesOptions = SeriesOptions> extends
6864
7027
  seriesChanged(): boolean;
6865
7028
  getMinPointWidth(): number;
6866
7029
  isRace(): boolean;
7030
+ canDepth(): boolean;
6867
7031
  getVisibleSeries(): ISeries[];
6868
7032
  protected _getNoClip(polar: boolean): boolean;
6869
7033
  needClip(polar: boolean): boolean;
@@ -7050,6 +7214,7 @@ declare class PlottingItemCollection extends ChartItemCollection<PlottingItem> {
7050
7214
  _internalSeries(): Series<SeriesOptions>[];
7051
7215
  seriesCount(): number;
7052
7216
  needAxes(): boolean;
7217
+ canDepth(): boolean;
7053
7218
  /** @private */
7054
7219
  _clear(): void;
7055
7220
  get(index: number): Series | SeriesGroup;
@@ -7075,7 +7240,7 @@ declare class PlottingItemCollection extends ChartItemCollection<PlottingItem> {
7075
7240
  */
7076
7241
  declare abstract class ConnectableSeries<OP extends ConnectableSeriesOptions = ConnectableSeriesOptions> extends Series<OP> {
7077
7242
  static defaults: ConnectableSeriesOptions;
7078
- protected _doInitChildren(op: OP): void;
7243
+ protected _doInit(op: OP): void;
7079
7244
  /**
7080
7245
  * 추세선 설정 모델.<br/>
7081
7246
  */
@@ -7115,7 +7280,7 @@ declare abstract class WidgetSeriesLabel<OP extends WidgetSeriesLabelOptions = W
7115
7280
  private _distance;
7116
7281
  protected _distanceDim: IPercentSize;
7117
7282
  constructor(chart: IChart, isSub?: boolean);
7118
- protected _doInitChildren(op: OP): void;
7283
+ protected _doInit(op: OP): void;
7119
7284
  /**
7120
7285
  * 연결선 모델.<br/>
7121
7286
  */
@@ -7142,7 +7307,7 @@ declare abstract class WidgetSeries<OP extends WidgetSeriesOptions = WidgetSerie
7142
7307
  private _centerYDim;
7143
7308
  private _othersGroup;
7144
7309
  private _groupedPoints;
7145
- protected _doInitChildren(op: OP): void;
7310
+ protected _doInit(op: OP): void;
7146
7311
  get othersGroup(): OthersGroup;
7147
7312
  getCenter(plotWidth: number, plotHeight: number): Point;
7148
7313
  protected _getLabelDefaultPos(labels: WidgetSeriesLabel, pos: PointLabelPosition): PointLabelPosition;
@@ -7187,13 +7352,32 @@ declare abstract class ClusterableSeries<OP extends ClusterableSeriesOptions = C
7187
7352
  setCluster(width: number, pos: number): void;
7188
7353
  protected _doPrepareRender(): void;
7189
7354
  }
7355
+ /**
7356
+ * {@link BasedSeries} 데이터포인트 설정 모델.<br/>
7357
+ */
7358
+ declare class BasedSeriesLabel<OP extends BasedSeriesLabelOptions = BasedSeriesLabelOptions> extends DataPointLabel<OP> {
7359
+ static defaults: BasedSeriesLabelOptions;
7360
+ private _line;
7361
+ /**
7362
+ * 연결선 설정 모델.<br/>
7363
+ */
7364
+ get line(): DataPointLabelLine;
7365
+ protected _doInit(op: OP): void;
7366
+ }
7190
7367
  /**
7191
7368
  * 'bar'와 같이 y축 기준 위/아래 구분이 필요한 시리즈.<br/>
7192
7369
  * 구분하는 값은 {@link baseValue}로 지정한다.
7193
7370
  */
7194
7371
  declare abstract class BasedSeries<OP extends BasedSeriesOptions = BasedSeriesOptions> extends ClusterableSeries<OP> {
7372
+ static readonly DEPTH = 10;
7373
+ static readonly DISTANCE = 5;
7195
7374
  static defaults: BasedSeriesOptions;
7196
7375
  private _base;
7376
+ private _depth;
7377
+ private _distance;
7378
+ _groupDistance: number;
7379
+ get depth(): number;
7380
+ get distance(): number;
7197
7381
  protected _createLabel(chart: IChart): DataPointLabel;
7198
7382
  protected _doPrepareRender(): void;
7199
7383
  getBaseValue(axis: IAxis): number;
@@ -7214,6 +7398,7 @@ declare abstract class LowRangedSeries<OP extends LowRangedSeriesOptions = LowRa
7214
7398
  * 같은 {@link opt.SeriesOptions#type type}의 여러 시리즈들을 연관지어 표시한다.
7215
7399
  */
7216
7400
  declare abstract class SeriesGroup<T extends Series = Series, OP extends SeriesGroupOptions = SeriesGroupOptions> extends ChartItem<OP> implements ISeriesGroup, ITooltipContext {
7401
+ static readonly LAYOUT_MAX: number;
7217
7402
  static readonly type: string;
7218
7403
  static readonly seriesType: string;
7219
7404
  static register(...clses: typeof SeriesGroup<Series, SeriesGroupOptions>[]): void;
@@ -7257,6 +7442,8 @@ declare abstract class SeriesGroup<T extends Series = Series, OP extends SeriesG
7257
7442
  getBaseValue(axis: IAxis): number;
7258
7443
  getVisibleSeries(): ISeries[];
7259
7444
  isRace(): boolean;
7445
+ getDepth(): number;
7446
+ getDistance(): number;
7260
7447
  get index(): number;
7261
7448
  get visCount(): number;
7262
7449
  _type(): string;
@@ -7276,6 +7463,7 @@ declare abstract class SeriesGroup<T extends Series = Series, OP extends SeriesG
7276
7463
  seriesChanged(): boolean;
7277
7464
  remove(series: T): boolean;
7278
7465
  _getVisiblePoints(): DataPoint[];
7466
+ getLayoutMax(): number;
7279
7467
  protected _doApply(op: OP): void;
7280
7468
  protected _doSaveArray(prop: string, value: any[]): any[];
7281
7469
  _prepareRender(): void;
@@ -7691,7 +7879,7 @@ declare class AxisGridRows extends AxisItem<AxisGridRowsOptions> {
7691
7879
  declare abstract class AxisGrid<OP extends AxisGridOptions = AxisGridOptions> extends AxisItem<OP> {
7692
7880
  static defaults: AxisGridOptions;
7693
7881
  private _rows;
7694
- protected _doInitChildren(op: OP): void;
7882
+ protected _doInit(op: OP): void;
7695
7883
  get rows(): AxisGridRows;
7696
7884
  abstract getPoints(axis: Axis, length: number): number[];
7697
7885
  protected _isVisible(): boolean;
@@ -7712,7 +7900,7 @@ declare class AxisGuideLabel extends IconedText<AxisGuideLabelOptions> {
7712
7900
  declare abstract class AxisGuide<OP extends AxisGuideOptions = AxisGuideOptions> extends AxisItem<OP> {
7713
7901
  static defaults: AxisGuideOptions;
7714
7902
  private _label;
7715
- protected _doInitChildren(op: OP): void;
7903
+ protected _doInit(op: OP): void;
7716
7904
  /**
7717
7905
  * label 모델.
7718
7906
  */
@@ -7934,7 +8122,7 @@ declare abstract class Axis<OP extends AxisOptions = AxisOptions> extends ChartI
7934
8122
  readonly guides: AxisGuide[];
7935
8123
  _animating(): boolean;
7936
8124
  constructor(chart: IChart, isX: boolean);
7937
- protected _doInitChildren(op: OP): void;
8125
+ protected _doInit(op: OP): void;
7938
8126
  _type(): string;
7939
8127
  /**
7940
8128
  * 축 이름.<br/>
@@ -8339,7 +8527,7 @@ interface ContinuousAxisTickOptions extends AxisTickOptions {
8339
8527
  * [plot크기, pixels] 목록으로 지정한다. 단일 값으로 지정하면 [[Infiniy, pixels]]으로 설정된다.
8340
8528
  * plot 영역의 크기가 첫번째 값 이하면 두번째로 지정한 값만큼의 pixels로 계산한다.<br/>
8341
8529
  * 지정하지 않거나 잘못 지정하면 아래 목록으로 기본 적용된다.<br/>
8342
- * 수직축: `[[130, 36], [200, 48], [450, 72], [Infinity, 96]]`<br/>
8530
+ * 수직축: `[[130, 36], [300, 48], [450, 72], [Infinity, 96]]`<br/>
8343
8531
  * 수평축: `[[400, 48], [700, 72], [Infinity, 96]]`<br/>
8344
8532
  * polar: `48`<br/>
8345
8533
  */
@@ -8351,20 +8539,34 @@ interface ContinuousAxisTickOptions extends AxisTickOptions {
8351
8539
  * @default true
8352
8540
  */
8353
8541
  enableDecimals?: boolean;
8542
+ /**
8543
+ * true로 지정하면 {@link stepPixels}가 적용 중일 때,
8544
+ * 좀 더 세밀한 [1, 2, 2.5, 3, 4, 5, 10] 배수 목록이 사용된다.<br/>
8545
+ */
8546
+ fineStep?: boolean;
8354
8547
  /**
8355
8548
  * {@link stepPixels}가 적용 중일 때,
8356
8549
  * step 간격을 계사하는데 사용되는 단위 배수 목록.<br/>
8357
8550
  * 최소/최대값을 기준으로 동적으로 목록을 리턴하는 콜백을 지정할 수도 있다.<br/>
8358
8551
  * 지정하지 않으면 {@link enableDecimals} 설정에 따라,
8359
- * `[1, 2, 5, 10]` 또는 `[1, 2, 2.5, 5, 10]`이 사용된다.<br/>
8552
+ * `[1, 2, 5, 10]` 또는 `[1, 2, 2.5, 5, 10]`이 사용된다.
8553
+ * 또, {@link fineStep}이 true로 지정되면 좀 더 세밀한
8554
+ * [1, 2, 2.5, 3, 4, 5, 10] 배수 목록이 사용된다.<br/>
8360
8555
  * 숫자가 아니거나 1 이상이 아닌 것들은 제외된다.
8361
8556
  */
8362
- stepMultiples?: number[];
8557
+ stepMultiples?: number[] | ((args: StepCallbackArgs) => number[]);
8363
8558
  /**
8364
8559
  * 최대한 지정된 개수만큼 tick들이 생성되도록 한다.<br/>
8365
8560
  * 1보다 큰 값으로 지정해야 한다.
8366
8561
  */
8367
8562
  stepCount?: number;
8563
+ /**
8564
+ * {@link stepPixels}가 적용 중일 때,
8565
+ * 최대 표시 step 개수.<br/>
8566
+ *
8567
+ * @default 8
8568
+ */
8569
+ maxCount?: number;
8368
8570
  /**
8369
8571
  * 명시적으로 설정하는 setp 목록<br/>
8370
8572
  * 최소/최대값을 기준으로 동적으로 목록을 리턴하는 콜백을 지정할 수도 있다.<br/>
@@ -8821,6 +9023,13 @@ interface AxisGridOptions extends AxisItemOptions {
8821
9023
  * @default x축이면 false, y축이면 true.
8822
9024
  */
8823
9025
  lastVisible?: boolean;
9026
+ /**
9027
+ * {@link https://realchart.co.kr/config/config/body#depth depth}가 설정된 body의 side panel에 표시할 지 여부.<br/>
9028
+ * 별도로 지정하지 않으면 {@link visible} 설정을 따른다.
9029
+ *
9030
+ * @default undefined
9031
+ */
9032
+ depthVisible?: boolean;
8824
9033
  }
8825
9034
  /**
8826
9035
  * 축 상에 crosshair의 정보를 표시하는 view 설정 모델.
@@ -9129,19 +9338,19 @@ interface AxisOptions extends ChartItemOptions {
9129
9338
  */
9130
9339
  scrollBar?: AxisScrollBarOptions | boolean;
9131
9340
  /**
9132
- * 분할 모드일 때 축이 표시될 pane의 수직 위치.
9341
+ * 분할 모드일 때 축이 표시될 pane의 수직 위치.<br/>
9133
9342
  *
9134
9343
  * @default 0
9135
9344
  */
9136
9345
  row?: number;
9137
9346
  /**
9138
- * 분할 모드일 때 축이 표시될 pane의 수평 위치.
9347
+ * 분할 모드일 때 축이 표시될 pane의 수평 위치.<br/>
9139
9348
  *
9140
9349
  * @default 0
9141
9350
  */
9142
9351
  col?: number;
9143
9352
  /**
9144
- * Polar 차트에서 사용될 때 시작 각도.
9353
+ * Polar 차트에서 사용될 때 시작 각도.<br/>
9145
9354
  *
9146
9355
  * @default 0
9147
9356
  */
@@ -9163,35 +9372,35 @@ interface AxisOptions extends ChartItemOptions {
9163
9372
  */
9164
9373
  position?: AxisPosition;
9165
9374
  /**
9166
- * true면 반대 방향으로 point 위치들이 지정된다.
9375
+ * true면 반대 방향으로 point 위치들이 지정된다.<br/>
9167
9376
  *
9168
9377
  * @default false
9169
9378
  */
9170
9379
  reversed?: boolean;
9171
9380
  /**
9172
- * 명시적으로 지정하는 최소값.
9381
+ * 명시적으로 지정하는 최소값.<br/>
9173
9382
  *
9174
9383
  */
9175
9384
  minValue?: number;
9176
9385
  /**
9177
- * 명시적으로 지정하는 최대값.
9386
+ * 명시적으로 지정하는 최대값.<br/>
9178
9387
  *
9179
9388
  */
9180
9389
  maxValue?: number;
9181
9390
  /**
9182
- * plot 영역이나 먼저 표시되는 축 사이의 여백 크기.
9391
+ * plot 영역이나 먼저 표시되는 축 사이의 여백 크기.<br/>
9183
9392
  *
9184
9393
  * @default 0
9185
9394
  */
9186
9395
  marginNear?: number;
9187
9396
  /**
9188
- * 차트 경계나 뒤쪽 축 사이의 여백 크기.
9397
+ * 차트 경계나 뒤쪽 축 사이의 여백 크기.<br/>
9189
9398
  *
9190
9399
  * @default 0
9191
9400
  */
9192
9401
  marginFar?: number;
9193
9402
  /**
9194
- * label 등에 표시할 수 있는 단위 정보 문자열.
9403
+ * label 등에 표시할 수 있는 단위 정보 문자열.<br/>
9195
9404
  *
9196
9405
  */
9197
9406
  unit?: string;
@@ -9211,14 +9420,14 @@ interface AxisOptions extends ChartItemOptions {
9211
9420
  tooltipHeader?: string;
9212
9421
  /**
9213
9422
  * @private
9214
- * 축에 포함된 각 시리즈별 표시되는 포인트 툴팁 텍스트 템플릿.
9423
+ * 축에 포함된 각 시리즈별 표시되는 포인트 툴팁 텍스트 템플릿.<br/>
9215
9424
  *
9216
9425
  * @default '${series}:<b> ${yValue}</b>'
9217
9426
  */
9218
9427
  tooltipRow?: string;
9219
9428
  /**
9220
9429
  * @private
9221
- * 축에 포함된 시리즈들 툴팁의 아래쪽에 표시되는 텍스트 템플릿.
9430
+ * 축에 포함된 시리즈들 툴팁의 아래쪽에 표시되는 텍스트 템플릿.<br/>
9222
9431
  *
9223
9432
  */
9224
9433
  tooltipFooter?: string;
@@ -9227,7 +9436,7 @@ interface AxisOptions extends ChartItemOptions {
9227
9436
  */
9228
9437
  animatable?: boolean;
9229
9438
  /**
9230
- * true로 지정하면 새로 계산된 너비나 높이가 이전 계산된 크기보다 작으면 이전 크기를 유지한다.
9439
+ * true로 지정하면 새로 계산된 너비나 높이가 이전 계산된 크기보다 작으면 이전 크기를 유지한다.<br/>
9231
9440
  *
9232
9441
  * @default false
9233
9442
  */
@@ -11187,7 +11396,7 @@ declare abstract class GaugeScale<OP extends GaugeScaleOptions = GaugeScaleOptio
11187
11396
  _min: number;
11188
11397
  _max: number;
11189
11398
  constructor(gauge: ValueGauge | GaugeGroup);
11190
- protected _doInitChildren(op: OP): void;
11399
+ protected _doInit(op: OP): void;
11191
11400
  /**
11192
11401
  *
11193
11402
  */
@@ -11240,7 +11449,7 @@ declare class GaugeRangeBand extends ChartItem<GaugeRangeBandOptions> {
11240
11449
  private _runRanges;
11241
11450
  private _thicknessDim;
11242
11451
  constructor(gauge: ValueGauge | GaugeGroup);
11243
- protected _doInitChildren(op: {
11452
+ protected _doInit(op: {
11244
11453
  [child: string]: ChartItemOptions;
11245
11454
  }): void;
11246
11455
  /**
@@ -11344,7 +11553,6 @@ declare abstract class CircularGauge<OP extends CircularGaugeOptions = CircularG
11344
11553
  _props: CircularProps;
11345
11554
  _childProps: CircularProps;
11346
11555
  protected _doInit(op: OP): void;
11347
- protected _doInitChildren(op: OP): void;
11348
11556
  /**
11349
11557
  * label.
11350
11558
  */
@@ -11365,7 +11573,6 @@ declare abstract class CircularGaugeGroup<T extends CircularGauge = CircularGaug
11365
11573
  private _label;
11366
11574
  props: CircularProps;
11367
11575
  protected _doInit(op: OP): void;
11368
- protected _doInitChildren(op: OP): void;
11369
11576
  /**
11370
11577
  * 게이지 중앙에 표시되는 label 설정 모델
11371
11578
  *
@@ -11395,6 +11602,56 @@ interface IPolar {
11395
11602
  cy: number;
11396
11603
  rd: number;
11397
11604
  }
11605
+ declare class BodyDepthLine extends ChartItem<BodyDepthLineOptions> {
11606
+ static defaults: BodyDepthLineOptions;
11607
+ }
11608
+ declare class BodyDepthSide extends ChartItem<BodyDepthSideOptions> {
11609
+ static defaults: BodyDepthOptions;
11610
+ private _line;
11611
+ private _endLine;
11612
+ private _gridLine;
11613
+ protected _doInit(op: BodyDepthSideOptions): void;
11614
+ get line(): BodyDepthLine;
11615
+ get endLine(): BodyDepthLine;
11616
+ get gridLine(): BodyDepthLine;
11617
+ }
11618
+ /**
11619
+ * body 깊이 설정 모델.<br/>
11620
+ */
11621
+ declare class BodyDepth extends ChartItem<BodyDepthOptions> {
11622
+ static defaults: BodyDepthOptions;
11623
+ private _xSide;
11624
+ private _ySide;
11625
+ private _orgLine;
11626
+ protected _doInit(op: BodyDepthOptions): void;
11627
+ /**
11628
+ * x축 쪽 depth side 모델.<br/>
11629
+ */
11630
+ get xSide(): BodyDepthSide;
11631
+ /**
11632
+ * y축 쪽 depth side 모델.<br/>
11633
+ */
11634
+ get ySide(): BodyDepthSide;
11635
+ /**
11636
+ * 원점에서 depth side 끝까지 연결하는 선 모델.<br/>
11637
+ */
11638
+ get orgLine(): BodyDepthLine;
11639
+ protected _isVisible(): boolean;
11640
+ protected _doSetSimple(src: any): boolean;
11641
+ protected _doApply(op: BodyDepthOptions): void;
11642
+ }
11643
+ /**
11644
+ * @private
11645
+ * body 깊이 관련 크기 정보 집합.<br/>
11646
+ */
11647
+ interface IBodyDepthExtents {
11648
+ depth: number;
11649
+ angle: number;
11650
+ side: number;
11651
+ base: number;
11652
+ wBody: number;
11653
+ hBody: number;
11654
+ }
11398
11655
  /**
11399
11656
  * 시리즈 및 게이지들이 표시되는 영역 모델.<br/>
11400
11657
  * {@link options 옵션} 모델은 {@link https://realchart.co.kr/docs/api/options/BodyOptions BodyOptions}이고,
@@ -11415,6 +11672,7 @@ interface IPolar {
11415
11672
  declare class Body<OP extends BodyOptions = BodyOptions> extends ChartItem<OP> implements IAnnotationOwner {
11416
11673
  static defaults: BodyOptions;
11417
11674
  private _anns;
11675
+ private _depth;
11418
11676
  private _image;
11419
11677
  private _zoomButton;
11420
11678
  private _emptyView;
@@ -11426,12 +11684,17 @@ declare class Body<OP extends BodyOptions = BodyOptions> extends ChartItem<OP> i
11426
11684
  private _cx;
11427
11685
  private _cy;
11428
11686
  constructor(chart: IChart);
11429
- protected _doInitChildren(op: OP): void;
11687
+ protected _doInit(op: OP): void;
11430
11688
  anchorByName(name: string): ChartItem;
11689
+ /**
11690
+ * 깊이 모델.<br/>
11691
+ */
11692
+ get depth(): BodyDepth;
11431
11693
  get image(): BackgroundImage;
11432
11694
  get emptyView(): EmptyView;
11433
11695
  get zoomButton(): ZoomButton;
11434
11696
  canZoom(): boolean;
11697
+ _getDepth(w: number, h: number): IBodyDepthExtents;
11435
11698
  getRadius(width: number, height: number): number;
11436
11699
  setPolar(width: number, height: number): Body;
11437
11700
  getPolar(axis: Axis): IPolar;
@@ -11479,7 +11742,7 @@ declare class SeriesNavigator extends ChartItem<SeriesNavigatorOptions> {
11479
11742
  _vertical: boolean;
11480
11743
  private _chartConfig;
11481
11744
  private _axisType;
11482
- protected _doInitChildren(op: {
11745
+ protected _doInit(op: {
11483
11746
  [child: string]: ChartItemOptions;
11484
11747
  }): void;
11485
11748
  /**
@@ -11652,7 +11915,7 @@ declare class PointHovering extends ChartItem<PointHoveringOptions> {
11652
11915
  declare class ChartOptions extends ChartItem<ChartOptionsOptions> {
11653
11916
  private _pointHovering;
11654
11917
  static defaults: ChartOptionsOptions;
11655
- protected _doInitChildren(op: {
11918
+ protected _doInit(op: {
11656
11919
  [child: string]: ChartItemOptions;
11657
11920
  }): void;
11658
11921
  /**
@@ -11725,7 +11988,14 @@ declare class ChartObject extends EventProvider<IChartEventListener> implements
11725
11988
  * @deprecated
11726
11989
  */
11727
11990
  get options(): ChartConfiguration;
11991
+ /**
11992
+ *
11993
+ */
11728
11994
  get chartOptions(): ChartOptions;
11995
+ /**
11996
+ * 크레딧 모델.
11997
+ */
11998
+ get credits(): Credits;
11729
11999
  _createChart(config: any): IChart;
11730
12000
  animatable(): boolean;
11731
12001
  loadAnimatable(): boolean;
@@ -12558,6 +12828,7 @@ declare class ContinuousAxisTick<OP extends ContinuousAxisTickOptions = Continuo
12558
12828
  protected _getValidInterval(axis: ContinuousAxis, v: any, length: number, min: number, max: number): any;
12559
12829
  buildSteps(axis: ContinuousAxis, length: number, base: number, min: number, max: number, broken?: boolean): number[];
12560
12830
  getNextStep(step: number, delta: number): number;
12831
+ getMaxCount(): number;
12561
12832
  canUseNumSymbols(): boolean;
12562
12833
  protected _doApply(op: OP): void;
12563
12834
  private $_getStepPixels;
@@ -12565,10 +12836,10 @@ declare class ContinuousAxisTick<OP extends ContinuousAxisTickOptions = Continuo
12565
12836
  protected _normalizeMin(min: number, interval: number): number;
12566
12837
  protected _getStepsByCount(count: number, baseVal: number, min: number, max: number, based: boolean): number[];
12567
12838
  protected _getStepsByInterval(interval: any, base: number, min: number, max: number): number[];
12568
- protected _getStepMultiples(scale: number): number[];
12839
+ protected _getStepMultiples(scale: number, args: any): number[];
12569
12840
  protected _getStepsBySteps(min: number, max: number, args: any): number[];
12570
12841
  protected _calcStep: any;
12571
- protected _getStepsByPixels(length: number, pixels: number, base: number, min: number, max: number): number[];
12842
+ protected _getStepsByPixels(length: number, pixels: number, base: number, min: number, max: number, args: any): number[];
12572
12843
  }
12573
12844
  /**
12574
12845
  * 연속축의 label 모델.<br/>
@@ -12651,7 +12922,7 @@ declare abstract class ContinuousAxis<OP extends ContinuousAxisOptions = Continu
12651
12922
  _breaksChanged: boolean;
12652
12923
  private _sects;
12653
12924
  private _lastSect;
12654
- protected _doInitChildren(op: OP): void;
12925
+ protected _doInit(op: OP): void;
12655
12926
  /**
12656
12927
  * base value 위치에 표시되는 선분 설정 모델.<br/>
12657
12928
  * 기본적으로 표시되지 않는다.
@@ -12827,6 +13098,7 @@ declare class ElementPool<T extends RcElement> extends RcObject {
12827
13098
  forEach(visitor: (v: T, i?: number, count?: number) => void): void;
12828
13099
  visit(visitor: (v: T, i: number, count: number) => boolean): boolean;
12829
13100
  sort(compare: (v1: T, v2: T) => number): ElementPool<T>;
13101
+ sortDom(compare: (v1: T, v2: T) => number): ElementPool<T>;
12830
13102
  map(callback: (v: T) => any): any[];
12831
13103
  front(v: T): void;
12832
13104
  back(v: T): void;
@@ -12958,6 +13230,19 @@ type LabelLayoutInfo = {
12958
13230
  textAlign: Align;
12959
13231
  below?: boolean;
12960
13232
  pb?: PathBuilder;
13233
+ distX?: number;
13234
+ distY?: number;
13235
+ side?: number;
13236
+ base?: number;
13237
+ };
13238
+ type ILabelOverlap = {
13239
+ model: DataPointLabel;
13240
+ inverted: boolean;
13241
+ width: number;
13242
+ height: number;
13243
+ fit: number;
13244
+ outline: number;
13245
+ contrast: number;
12961
13246
  };
12962
13247
  declare abstract class SeriesView<T extends Series = Series> extends ContentView<T> {
12963
13248
  static readonly POINT_CLASS = "rct-point";
@@ -12970,6 +13255,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
12970
13255
  protected _pointContainer: PointContainer;
12971
13256
  _labelContainer: PointLabelContainer;
12972
13257
  private _trendLineView;
13258
+ protected _depthExt: IBodyDepthExtents;
12973
13259
  protected _legendMarker: RcElement;
12974
13260
  protected _visPoints: DataPoint[];
12975
13261
  private _growRate;
@@ -12980,6 +13266,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
12980
13266
  _hoverPts: IPointView[];
12981
13267
  private _labelOverlap;
12982
13268
  constructor(doc: Document, styleName: string);
13269
+ depthEnabled(): boolean;
12983
13270
  clipInvertable(): boolean;
12984
13271
  getClipContainer(): RcElement;
12985
13272
  getClipContainer2(): RcElement;
@@ -12999,7 +13286,8 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
12999
13286
  clicked(elt: Element): void;
13000
13287
  protected _doPointClicked(view: IPointView): void;
13001
13288
  protected _getPointColors(): string;
13002
- prepareSeries(doc: Document, model: T, polar: boolean): void;
13289
+ _setDepth(depth: IBodyDepthExtents): void;
13290
+ prepareSeries(doc: Document, model: T, polar: boolean, depth: BodyDepth): void;
13003
13291
  protected _setModelColor(color: string): void;
13004
13292
  protected _legendColorProp(): string;
13005
13293
  needDecoreateLegend(): boolean;
@@ -13008,6 +13296,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
13008
13296
  setHoverStyle(pv: RcElement): void;
13009
13297
  hoverPoint(p: DataPoint): void;
13010
13298
  protected _clearHoverClasses(pv: RcElement): void;
13299
+ focusPointView(pv: RcElement, focus: boolean): void;
13011
13300
  focusPoints(pvs: IPointView[]): void;
13012
13301
  protected _needFocusOrder(): boolean;
13013
13302
  getPointsAt(axis: Axis, pos: number): IPointView[];
@@ -13021,7 +13310,7 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
13021
13310
  protected _doMeasure(doc: Document, model: T, hintWidth: number, hintHeight: number, phase: number): Size;
13022
13311
  protected _doLayout(): void;
13023
13312
  protected _doAfterLayout(): void;
13024
- protected abstract _prepareSeries(doc: Document, model: T, polar: boolean): void;
13313
+ protected abstract _prepareSeries(doc: Document, model: T, polar: boolean, depth: BodyDepth): void;
13025
13314
  protected abstract _renderSeries(width: number, height: number): void;
13026
13315
  protected _collectVisPoints(model: T): DataPoint[];
13027
13316
  protected _setColorIndex(v: RcElement, p: DataPoint): void;
@@ -13044,6 +13333,17 @@ declare abstract class SeriesView<T extends Series = Series> extends ContentView
13044
13333
  protected _clipRange(w: number, h: number, rangeAxis: 'x' | 'y' | 'z', range: ValueRange, clip: ClipRectElement, inverted: boolean): void;
13045
13334
  protected _setFill(elt: RcElement, style: SVGStyleOrClass): void;
13046
13335
  protected _savePrevs(): void;
13336
+ /**
13337
+ * [고객문의]pointLabel rotation 속성 #1248
13338
+ *
13339
+ * rotation 각도에 따라 labelView를 회전시킨다.
13340
+ */
13341
+ protected _layoutLabelRotation(labelView: PointLabelView, r?: IRect, x?: number, y?: number): void;
13342
+ protected _adjustRotatedLabelPosition(lv: PointLabelView, info: ILabelOverlap, r: IRect, x: number, y: number): void;
13343
+ /**
13344
+ * 회전한 라벨의 바닥이 원래 위치에서 얼마나 이동했는지를 계산한다.
13345
+ */
13346
+ protected _getRotatedLabelDisplacement(rotation: number, r: IRect): number;
13047
13347
  }
13048
13348
  declare abstract class PointElement extends PathElement implements IPointView {
13049
13349
  point: DataPoint;
@@ -13051,34 +13351,49 @@ declare abstract class PointElement extends PathElement implements IPointView {
13051
13351
  savePrevs(): void;
13052
13352
  }
13053
13353
  declare abstract class BoxPointElement extends PointElement {
13054
- labelViews: PointLabelView[];
13055
13354
  wPoint: number;
13056
13355
  hPoint: number;
13057
13356
  wSave: number;
13058
13357
  xSave: number;
13059
- abstract layout(x: number, y: number, rTop: number, rBottom: number): void;
13060
13358
  savePrevs(): void;
13061
13359
  }
13062
13360
  declare class BarElement extends BoxPointElement {
13063
- layout(x: number, y: number, rTop: number, rBottom: number): void;
13361
+ layout(x: number, y: number, rTop: number, rBottom: number, base: number, side: number, inverted: boolean): void;
13362
+ }
13363
+ declare class Bar3DElement extends RcElement implements IPointView {
13364
+ point: DataPoint;
13365
+ wPoint: number;
13366
+ hPoint: number;
13367
+ wSave: number;
13368
+ xSave: number;
13369
+ private _topView;
13370
+ private _frontView;
13371
+ private _sideView;
13372
+ constructor(doc: Document);
13373
+ layout(x: number, y: number, rTop: number, rBottom: number, base: number, side: number, inverted: boolean): void;
13374
+ savePrevs(): void;
13064
13375
  }
13065
13376
  declare abstract class ClusterableSeriesView<T extends Series = Series> extends SeriesView<T> {
13066
13377
  protected _labelInfo: LabelLayoutInfo;
13067
- protected _prepareSeries(doc: Document, model: T): void;
13378
+ protected _prepareSeries(doc: Document, model: T, polar: boolean, depth: BodyDepth): void;
13068
13379
  protected _renderSeries(width: number, height: number): void;
13069
13380
  protected _runShowEffect(firstTime: boolean): void;
13070
13381
  protected _doViewRateChanged(rate: number): void;
13071
13382
  protected _savePrevs(): void;
13072
13383
  getPointsAt(axis: Axis, pos: number): IPointView[];
13073
- protected abstract _preparePoints(doc: Document, model: T, points: DataPoint[]): void;
13384
+ protected abstract _preparePoints(doc: Document, model: T, points: DataPoint[], deep: boolean): void;
13074
13385
  protected abstract _layoutPoints(width: number, height: number): void;
13075
13386
  protected abstract _layoutPoint(view: RcElement, index: number, x: number, y: number, wPoint: number, hPoint: number): void;
13076
13387
  }
13077
13388
  declare abstract class BasedSeriesView<T extends BasedSeries> extends ClusterableSeriesView<T> {
13078
13389
  private _labelLineContainer;
13079
13390
  protected _pointOff: number;
13391
+ protected _depthAngle: number;
13392
+ protected _base: number;
13393
+ protected _side: number;
13080
13394
  constructor(doc: Document, styleName: string);
13081
- protected _prepareSeries(doc: Document, model: T): void;
13395
+ depthEnabled(): boolean;
13396
+ protected _prepareSeries(doc: Document, model: T, polar: boolean, depth: BodyDepth): void;
13082
13397
  protected _doPrevRateChanged(rate: number): void;
13083
13398
  protected _layoutPoints(width: number, height: number): void;
13084
13399
  protected _layoutLabel(model: DataPointLabel, info: LabelLayoutInfo, w: number, h: number): void;
@@ -13107,6 +13422,7 @@ declare abstract class MarkerSeriesView<T extends MarkerSeries, P extends DataPo
13107
13422
  protected _getPointPool(): ElementPool<RcElement>;
13108
13423
  clipInvertable(): boolean;
13109
13424
  getPointsAt(axis: Axis, pos: number): IPointView[];
13425
+ protected _adjustRotatedLabelPosition(lv: PointLabelView, info: ILabelOverlap, r: IRect, x: number, y: number): void;
13110
13426
  protected abstract _getDefaultPos(overflowed: boolean): PointLabelPosition;
13111
13427
  _getDrawer(shape: string): (rd: number) => (string | number)[];
13112
13428
  protected _layoutLabelView(labelView: PointLabelView, pos: PointLabelPosition, off: number, radius: number, x: number, y: number): void;
@@ -13186,6 +13502,7 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
13186
13502
  private _polar;
13187
13503
  private _hitTester;
13188
13504
  private _background;
13505
+ private _depthLayer;
13189
13506
  private _image;
13190
13507
  private _emptyView;
13191
13508
  _gridRowContainer: AxisGridRowContainer;
@@ -13225,12 +13542,14 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
13225
13542
  private _seriesClip;
13226
13543
  private _seriesClip2;
13227
13544
  private _bodyClip;
13545
+ _depthExt: IBodyDepthExtents;
13228
13546
  constructor(doc: Document, owner: IPlottingOwner);
13229
13547
  getAnnotationAnchor(model: any): RcElement;
13230
13548
  getCol(): number;
13231
13549
  getRow(): number;
13232
- prepareRender(doc: Document, chart: IChart, polar: boolean): void;
13550
+ prepareRender(doc: Document, model: Body, polar: boolean): void;
13233
13551
  prepareGuideContainers(): void;
13552
+ checkDepth(chart: IChart, width: number, height: number): IBodyDepthExtents;
13234
13553
  pointerMoved(p: Point, target: EventTarget): boolean;
13235
13554
  hoverSeries(series: Series): void;
13236
13555
  private $_setFocused;
@@ -13258,7 +13577,7 @@ declare class BodyView extends ChartElement<Body> implements IAnnotationAnchorOw
13258
13577
  private $_isEmptyVisible;
13259
13578
  private $_createGaugeView;
13260
13579
  private $_prepareGrids;
13261
- protected _prepareSeries(doc: Document, chart: IChart, series: Series[]): void;
13580
+ protected _prepareSeries(doc: Document, model: Body, series: Series[], deep: boolean): void;
13262
13581
  protected _prepareGauges(doc: Document, chart: IChart, gauges: GaugeBase[]): void;
13263
13582
  protected _prepareAnnotations(doc: Document, annotations: Annotation[]): void;
13264
13583
  private $_prepareAxisBreaks;
@@ -13681,7 +14000,7 @@ declare abstract class LineSeriesBase<OP extends LineSeriesBaseOptions = LineSer
13681
14000
  private _marker;
13682
14001
  private _shape;
13683
14002
  _lines: PointLine[];
13684
- protected _doInitChildren(op: OP): void;
14003
+ protected _doInit(op: OP): void;
13685
14004
  /**
13686
14005
  */
13687
14006
  get marker(): LineSeriesMarker;
@@ -13727,7 +14046,7 @@ declare class LineSeries<OP extends LineSeriesOptions = LineSeriesOptions> exten
13727
14046
  static defaults: LineSeriesOptions;
13728
14047
  private _flag;
13729
14048
  protected _base: number;
13730
- protected _doInitChildren(op: OP): void;
14049
+ protected _doInit(op: OP): void;
13731
14050
  get flag(): LineSeriesFlag;
13732
14051
  backDir(): LineStepDirection;
13733
14052
  isMarker(): boolean;
@@ -13764,7 +14083,7 @@ declare class AreaSeries<OP extends AreaSeriesOptions = AreaSeriesOptions> exten
13764
14083
  static readonly type: string;
13765
14084
  static defaults: LineSeriesOptions;
13766
14085
  _areas: PointLine[];
13767
- protected _doInitChildren(op: OP): void;
14086
+ protected _doInit(op: OP): void;
13768
14087
  /**
13769
14088
  * 미리 생성된 line들을 기준으로 area들을 생성한다.
13770
14089
  */
@@ -13869,16 +14188,21 @@ declare abstract class BarSeriesBase<OP extends BarSeriesBaseOptions = BarSeries
13869
14188
  */
13870
14189
  declare class BarSeries<OP extends BarSeriesOptions = BarSeriesOptions> extends BarSeriesBase<OP> {
13871
14190
  static readonly type: string;
14191
+ canDepth(): boolean;
13872
14192
  protected _createLegendMarker(doc: Document, size: number): RcElement;
13873
14193
  get canPolar(): boolean;
13874
14194
  }
13875
14195
  /**
13876
- * {@link BarSeries}, {@link CircleBarSeires}의 그룹 기반 모델.
14196
+ * {@link BarSeries}, {@link CircleBarSeires}의 그룹 기반 모델.<br/>
14197
+ * {@link options 설정} 모델은 {@link https://realchart.co.kr/docs/api/options/BarSeriesGroupBaseOptions BarSeriesGroupBaseOptions}이다.
13877
14198
  */
13878
14199
  declare abstract class BarSeriesGroupBase<T extends BarSeriesBase, OP extends BarSeriesGroupBaseOptions<BarSeriesBaseOptions>> extends ClusterableSeriesGroup<T, OP> implements IClusterable {
13879
14200
  static defaults: BarSeriesGroupBaseOptions<BarSeriesBaseOptions>;
13880
14201
  canCategorized(): boolean;
13881
14202
  getBaseValue(axis: IAxis): number;
14203
+ getDepth(): number;
14204
+ getDistance(): number;
14205
+ protected _doApply(op: OP): void;
13882
14206
  protected _doPrepareSeries(series: T[]): void;
13883
14207
  }
13884
14208
  /**
@@ -14061,7 +14385,7 @@ declare class CandlestickSeries<OP extends CandlestickSeriesOptions = Candlestic
14061
14385
  protected _createLegendMarker(doc: Document, size: number): RcElement;
14062
14386
  }
14063
14387
 
14064
- declare class CircelBarPointLabel extends DataPointLabel<DataPointLabelOptions> {
14388
+ declare class CircelBarPointLabel extends BasedSeriesLabel<DataPointLabelOptions> {
14065
14389
  static defaults: CircleBarPointLabelOptions;
14066
14390
  }
14067
14391
  /**
@@ -14108,7 +14432,7 @@ declare class DumbbellSeries extends LowRangedSeries<DumbbellSeriesOptions> {
14108
14432
  static readonly type = "dumbbell";
14109
14433
  private _marker;
14110
14434
  private _lowMarker;
14111
- protected _doInitChildren(op: {
14435
+ protected _doInit(op: {
14112
14436
  [child: string]: ChartItemOptions;
14113
14437
  }): void;
14114
14438
  get marker(): DumbbellSeriesMarker;
@@ -14218,7 +14542,7 @@ declare class LollipopSeriesMarker extends SeriesMarker<LollipopSeriesMarkerOpti
14218
14542
  declare class LollipopSeries extends BasedSeries<LollipopSeriesOptions> {
14219
14543
  static readonly type = "lollipop";
14220
14544
  private _marker;
14221
- protected _doInitChildren(op: {
14545
+ protected _doInit(op: {
14222
14546
  [child: string]: ChartItemOptions;
14223
14547
  }): void;
14224
14548
  get marker(): LollipopSeriesMarker;
@@ -14281,6 +14605,14 @@ declare class PieSeriesLabel extends WidgetSeriesLabel<PieSeriesLabelOptions> {
14281
14605
  static defaults: PieSeriesLabelOptions;
14282
14606
  getDistance(inner: boolean, rd: number, rdInner: number): number;
14283
14607
  }
14608
+ declare class PieSeriesDepth extends ChartItem<PieSeriesDepthOption> {
14609
+ static readonly DEPTH_RATIO = 0.6;
14610
+ static defaults: PieSeriesDepthOption;
14611
+ getLength(): number;
14612
+ protected _isVisible(): boolean;
14613
+ protected _doSetSimple(src: any): boolean;
14614
+ protected _doApply(op: PieSeriesDepthOption): void;
14615
+ }
14284
14616
  /**
14285
14617
  * Pie 시리즈 모델.<br/>
14286
14618
  * {@link https://realchart.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realchart.co.kr/config/config/series/pie pie}이고,
@@ -14290,13 +14622,14 @@ declare class PieSeries extends RadialSeries<PieSeriesOptions> {
14290
14622
  static readonly type = "pie";
14291
14623
  static defaults: PieSeriesOptions;
14292
14624
  private _innerText;
14625
+ private _depth;
14293
14626
  private _innerRadiusDim;
14294
14627
  private _sliceOffsetDim;
14295
14628
  _groupPos: number;
14296
14629
  _groupSize: number;
14297
14630
  _startRad: number;
14298
14631
  _totalRad: number;
14299
- protected _doInitChildren(op: {
14632
+ protected _doInit(op: {
14300
14633
  [child: string]: ChartItemOptions;
14301
14634
  }): void;
14302
14635
  /**
@@ -14304,6 +14637,10 @@ declare class PieSeries extends RadialSeries<PieSeriesOptions> {
14304
14637
  * 기본 클래스 selector는 <b>'rct-pie-series-inner'</b>이다.
14305
14638
  */
14306
14639
  get innerText(): PieSeriesText;
14640
+ /**
14641
+ * 시리즈 깊이 모델.<br/>
14642
+ */
14643
+ get depth(): PieSeriesDepth;
14307
14644
  followPointer(): boolean;
14308
14645
  hasInner(): boolean;
14309
14646
  getInnerRadius(rd: number): number;
@@ -14312,7 +14649,7 @@ declare class PieSeries extends RadialSeries<PieSeriesOptions> {
14312
14649
  protected _createLabel(chart: IChart): PieSeriesLabel;
14313
14650
  protected _createPoint(source: any): PieSeriesPoint;
14314
14651
  protected _createOthersPoint(source: any, points: PieSeriesPoint[]): PieSeriesPoint;
14315
- protected _doApply(options: PieSeriesOptions): void;
14652
+ protected _doApply(op: PieSeriesOptions): void;
14316
14653
  protected _doPrepareRender(): void;
14317
14654
  }
14318
14655
  /**
@@ -14349,6 +14686,7 @@ declare class ScatterSeries extends MarkerSeries<ScatterSeriesOptions> {
14349
14686
  static defaults: ScatterSeriesOptions;
14350
14687
  _defShape: Shape;
14351
14688
  protected _createPoint(source: any): DataPoint;
14689
+ protected _getNoClip(polar: boolean): boolean;
14352
14690
  protected _createLegendMarker(doc: Document, size: number): RcElement;
14353
14691
  _colorByPoint(): boolean;
14354
14692
  /**
@@ -14441,8 +14779,11 @@ declare class ShapeAnnotation extends Annotation<ShapeAnnotationOptions> {
14441
14779
 
14442
14780
  /** @private */
14443
14781
  declare class Color {
14782
+ static readonly BLACK = "#000";
14783
+ static readonly WHITE = "#fff";
14444
14784
  static isBright(color: string): boolean;
14445
14785
  static getContrast(color: string, darkColor?: string, brightColor?: string): string;
14786
+ static interpolate(color1: string, color2: string, ratio: number): string;
14446
14787
  private r;
14447
14788
  private g;
14448
14789
  private b;
@@ -14458,14 +14799,15 @@ declare class Color {
14458
14799
  }
14459
14800
 
14460
14801
  declare abstract class BarSeriesViewBase<T extends BarSeriesBase> extends BasedSeriesView<T> {
14802
+ private _deep;
14461
14803
  private _bars;
14462
14804
  private _sectors;
14463
14805
  protected _labelInfo: LabelLayoutInfo;
14464
14806
  protected _getPointPool(): ElementPool<RcElement>;
14465
- protected _preparePoints(doc: Document, model: T, points: DataPoint[]): void;
14807
+ protected _preparePoints(doc: Document, model: T, points: DataPoint[], deep: boolean): void;
14466
14808
  protected _setPointStyle(v: RcElement, model: T, p: DataPoint): void;
14467
14809
  protected _layoutPoints(width: number, height: number): void;
14468
- protected abstract _createBarPool(container: RcElement): ElementPool<PointElement>;
14810
+ protected abstract _createBarPool(container: RcElement, deep: boolean): ElementPool<RcElement & IPointView>;
14469
14811
  private $_parepareBars;
14470
14812
  private $_parepareSectors;
14471
14813
  private $_layoutSectors;
@@ -14474,9 +14816,9 @@ declare class BarSeriesView<T extends BarSeries = BarSeries> extends BarSeriesVi
14474
14816
  protected _rdTop: number;
14475
14817
  protected _rdBottom: number;
14476
14818
  constructor(doc: Document, className?: string);
14477
- protected _createBarPool(container: RcElement): ElementPool<PointElement>;
14478
- protected _prepareSeries(doc: Document, model: T): void;
14479
- protected _layoutPoint(view: BarElement, i: number, x: number, y: number, wPoint: number, hPoint: number): void;
14819
+ protected _createBarPool(container: RcElement, deep: boolean): ElementPool<RcElement & IPointView>;
14820
+ protected _prepareSeries(doc: Document, model: T, polar: boolean, depth: BodyDepth): void;
14821
+ protected _layoutPoint(view: (BarElement | Bar3DElement), i: number, x: number, y: number, wPoint: number, hPoint: number): void;
14480
14822
  }
14481
14823
 
14482
14824
  declare class LineMarkerView extends MarkerSeriesPointView implements IPointView {
@@ -14586,6 +14928,7 @@ interface ISectorShape {
14586
14928
  angle: number;
14587
14929
  borderRadius?: number;
14588
14930
  clockwise?: boolean;
14931
+ depth?: number;
14589
14932
  }
14590
14933
  declare class SectorElement extends PathElement {
14591
14934
  static create(doc: Document, styleName: string, x: number, y: number, rx: number, ry: number, start: number, angle: number, clockwise?: boolean): SectorElement;
@@ -14635,7 +14978,7 @@ declare class SectorElement extends PathElement {
14635
14978
  setSector(shape: ISectorShape): void;
14636
14979
  setSectorEx(shape: ISectorShape, stroked: boolean): void;
14637
14980
  protected _getShape(): ISectorShape;
14638
- protected _assignShape(shape: ISectorShape, stroked: boolean): void;
14981
+ _assignShape(shape: ISectorShape, stroked: boolean): void;
14639
14982
  private $_renderSector;
14640
14983
  private $_renderArc;
14641
14984
  }