@thoughtspot/ts-chart-sdk 0.0.1-alpha.0 → 0.0.1-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +782 -0
  2. package/cjs/index.d.ts +9 -0
  3. package/cjs/index.d.ts.map +1 -0
  4. package/cjs/index.js +25 -0
  5. package/cjs/index.js.map +1 -0
  6. package/cjs/main/custom-chart-context.d.ts +47 -0
  7. package/cjs/main/custom-chart-context.d.ts.map +1 -0
  8. package/cjs/main/custom-chart-context.js +326 -0
  9. package/cjs/main/custom-chart-context.js.map +1 -0
  10. package/cjs/main/custom-chart-context.spec.d.ts +2 -0
  11. package/cjs/main/custom-chart-context.spec.d.ts.map +1 -0
  12. package/cjs/main/custom-chart-context.spec.js +699 -0
  13. package/cjs/main/custom-chart-context.spec.js.map +1 -0
  14. package/cjs/main/post-message-event-bridge.d.ts +6 -0
  15. package/cjs/main/post-message-event-bridge.d.ts.map +1 -0
  16. package/cjs/main/post-message-event-bridge.js +46 -0
  17. package/cjs/main/post-message-event-bridge.js.map +1 -0
  18. package/cjs/main/post-message-event-bridge.spec.d.ts +2 -0
  19. package/cjs/main/post-message-event-bridge.spec.d.ts.map +1 -0
  20. package/cjs/main/post-message-event-bridge.spec.js +124 -0
  21. package/cjs/main/post-message-event-bridge.spec.js.map +1 -0
  22. package/cjs/react/mocks/custom-chart-context-mock.d.ts +3 -0
  23. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  24. package/cjs/react/mocks/custom-chart-context-mock.js +100 -0
  25. package/cjs/react/mocks/custom-chart-context-mock.js.map +1 -0
  26. package/cjs/react/use-custom-chart-context.d.ts +4 -0
  27. package/cjs/react/use-custom-chart-context.d.ts.map +1 -0
  28. package/cjs/react/use-custom-chart-context.js +95 -0
  29. package/cjs/react/use-custom-chart-context.js.map +1 -0
  30. package/cjs/react/use-custom-chart-context.spec.d.ts +2 -0
  31. package/cjs/react/use-custom-chart-context.spec.d.ts.map +1 -0
  32. package/cjs/react/use-custom-chart-context.spec.js +391 -0
  33. package/cjs/react/use-custom-chart-context.spec.js.map +1 -0
  34. package/cjs/react/use-custom-chart-context.util.d.ts +6 -0
  35. package/cjs/react/use-custom-chart-context.util.d.ts.map +1 -0
  36. package/cjs/react/use-custom-chart-context.util.js +60 -0
  37. package/cjs/react/use-custom-chart-context.util.js.map +1 -0
  38. package/cjs/react/use-custom-chart-types.d.ts +23 -0
  39. package/cjs/react/use-custom-chart-types.d.ts.map +1 -0
  40. package/cjs/react/use-custom-chart-types.js +3 -0
  41. package/cjs/react/use-custom-chart-types.js.map +1 -0
  42. package/cjs/test/test-utils.d.ts +7 -0
  43. package/cjs/test/test-utils.d.ts.map +1 -0
  44. package/cjs/test/test-utils.js +14 -0
  45. package/cjs/test/test-utils.js.map +1 -0
  46. package/cjs/types/answer-column.types.d.ts +69 -0
  47. package/cjs/types/answer-column.types.d.ts.map +1 -0
  48. package/cjs/types/answer-column.types.js +59 -0
  49. package/cjs/types/answer-column.types.js.map +1 -0
  50. package/cjs/types/chart-to-ts-event.types.d.ts +98 -0
  51. package/cjs/types/chart-to-ts-event.types.d.ts.map +1 -0
  52. package/cjs/types/chart-to-ts-event.types.js +32 -0
  53. package/cjs/types/chart-to-ts-event.types.js.map +1 -0
  54. package/cjs/types/common.types.d.ts +52 -0
  55. package/cjs/types/common.types.d.ts.map +1 -0
  56. package/cjs/types/common.types.js +3 -0
  57. package/cjs/types/common.types.js.map +1 -0
  58. package/cjs/types/configurator.types.d.ts +15 -0
  59. package/cjs/types/configurator.types.d.ts.map +1 -0
  60. package/cjs/types/configurator.types.js +3 -0
  61. package/cjs/types/configurator.types.js.map +1 -0
  62. package/cjs/types/ts-to-chart-event.types.d.ts +91 -0
  63. package/cjs/types/ts-to-chart-event.types.d.ts.map +1 -0
  64. package/cjs/types/ts-to-chart-event.types.js +18 -0
  65. package/cjs/types/ts-to-chart-event.types.js.map +1 -0
  66. package/cjs/types/visual-prop.types.d.ts +73 -0
  67. package/cjs/types/visual-prop.types.d.ts.map +1 -0
  68. package/cjs/types/visual-prop.types.js +3 -0
  69. package/cjs/types/visual-prop.types.js.map +1 -0
  70. package/dist/ts-chart-sdk.d.ts +151 -23
  71. package/lib/index.d.ts +1 -0
  72. package/lib/index.d.ts.map +1 -1
  73. package/lib/index.js +1 -0
  74. package/lib/index.js.map +1 -1
  75. package/lib/main/custom-chart-context.d.ts +12 -3
  76. package/lib/main/custom-chart-context.d.ts.map +1 -1
  77. package/lib/main/custom-chart-context.js +128 -9
  78. package/lib/main/custom-chart-context.js.map +1 -1
  79. package/lib/main/custom-chart-context.spec.js +381 -25
  80. package/lib/main/custom-chart-context.spec.js.map +1 -1
  81. package/lib/main/post-message-event-bridge.js +1 -1
  82. package/lib/main/post-message-event-bridge.js.map +1 -1
  83. package/lib/main/post-message-event-bridge.spec.js +5 -3
  84. package/lib/main/post-message-event-bridge.spec.js.map +1 -1
  85. package/lib/react/mocks/custom-chart-context-mock.d.ts +3 -0
  86. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  87. package/lib/react/mocks/custom-chart-context-mock.js +94 -0
  88. package/lib/react/mocks/custom-chart-context-mock.js.map +1 -0
  89. package/lib/react/use-custom-chart-context.d.ts +4 -0
  90. package/lib/react/use-custom-chart-context.d.ts.map +1 -0
  91. package/lib/react/use-custom-chart-context.js +68 -0
  92. package/lib/react/use-custom-chart-context.js.map +1 -0
  93. package/lib/react/use-custom-chart-context.spec.d.ts +2 -0
  94. package/lib/react/use-custom-chart-context.spec.d.ts.map +1 -0
  95. package/lib/react/use-custom-chart-context.spec.js +363 -0
  96. package/lib/react/use-custom-chart-context.spec.js.map +1 -0
  97. package/lib/react/use-custom-chart-context.util.d.ts +6 -0
  98. package/lib/react/use-custom-chart-context.util.d.ts.map +1 -0
  99. package/lib/react/use-custom-chart-context.util.js +51 -0
  100. package/lib/react/use-custom-chart-context.util.js.map +1 -0
  101. package/lib/react/use-custom-chart-types.d.ts +23 -0
  102. package/lib/react/use-custom-chart-types.d.ts.map +1 -0
  103. package/lib/react/use-custom-chart-types.js +2 -0
  104. package/lib/react/use-custom-chart-types.js.map +1 -0
  105. package/lib/types/chart-to-ts-event.types.d.ts +63 -13
  106. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
  107. package/lib/types/chart-to-ts-event.types.js +13 -0
  108. package/lib/types/chart-to-ts-event.types.js.map +1 -1
  109. package/lib/types/common.types.d.ts +9 -8
  110. package/lib/types/common.types.d.ts.map +1 -1
  111. package/lib/types/ts-to-chart-event.types.d.ts +25 -1
  112. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
  113. package/lib/types/ts-to-chart-event.types.js +3 -0
  114. package/lib/types/ts-to-chart-event.types.js.map +1 -1
  115. package/lib/types/visual-prop.types.d.ts +27 -1
  116. package/lib/types/visual-prop.types.d.ts.map +1 -1
  117. package/package.json +9 -3
  118. package/src/index.ts +1 -0
  119. package/src/main/custom-chart-context.spec.ts +513 -26
  120. package/src/main/custom-chart-context.ts +269 -18
  121. package/src/main/post-message-event-bridge.spec.ts +5 -3
  122. package/src/main/post-message-event-bridge.ts +3 -3
  123. package/src/react/mocks/custom-chart-context-mock.ts +114 -0
  124. package/src/react/use-custom-chart-context.spec.tsx +464 -0
  125. package/src/react/use-custom-chart-context.tsx +180 -0
  126. package/src/react/use-custom-chart-context.util.ts +101 -0
  127. package/src/react/use-custom-chart-types.ts +70 -0
  128. package/src/types/answer-column.types.ts +5 -5
  129. package/src/types/chart-to-ts-event.types.ts +233 -31
  130. package/src/types/common.types.ts +37 -26
  131. package/src/types/configurator.types.ts +8 -8
  132. package/src/types/ts-to-chart-event.types.ts +80 -4
  133. package/src/types/visual-prop.types.ts +148 -11
  134. package/lib/dist/ts-chart-sdk.d.ts +0 -312
@@ -1,4 +1,8 @@
1
1
  // Generated by dts-bundle v0.7.3
2
+ // Dependencies for this module:
3
+ // ../react
4
+
5
+ import React from 'react';
2
6
 
3
7
  export interface ChartConfigDimension {
4
8
  key: string;
@@ -8,15 +12,14 @@ export interface ChartConfig {
8
12
  key: string;
9
13
  dimensions: ChartConfigDimension[];
10
14
  }
11
- export type DataArray = {
12
- columnId: string;
13
- columnDataType: DataType;
14
- dataValue: any[];
15
+ export type DataPointsArray = {
16
+ columns: string[];
17
+ dataValue: any[][];
15
18
  };
16
19
  export type QueryData = {
17
- data: DataArray[];
18
- completionRatio: number;
19
- samplingRatio: number;
20
+ data: DataPointsArray;
21
+ completionRatio?: number;
22
+ samplingRatio?: number;
20
23
  totalRowCount: number;
21
24
  };
22
25
  export interface ChartModel {
@@ -39,6 +42,7 @@ export interface AppConfig {
39
42
  appOptions?: {
40
43
  isMobile?: boolean;
41
44
  isPrintMode?: boolean;
45
+ isLiveboardContext?: boolean;
42
46
  isDebugMode?: boolean;
43
47
  };
44
48
  localeOptions?: {
@@ -46,6 +50,7 @@ export interface AppConfig {
46
50
  quarterStartMonth: string;
47
51
  sessionTimezone: string;
48
52
  };
53
+ appUrl?: string;
49
54
  customCalendarConfig?: any;
50
55
  }
51
56
  export {};
@@ -65,6 +70,16 @@ export interface ChartConfigEditorDefinition {
65
70
  columnSections: ChartConfigSection[];
66
71
  }
67
72
 
73
+ export interface InputValidation {
74
+ required?: boolean;
75
+ requiredError?: string;
76
+ regex?: string;
77
+ regexError?: string;
78
+ minLength?: number;
79
+ minLengthError?: string;
80
+ range?: string;
81
+ rangeError?: string;
82
+ }
68
83
  export interface TextInputFormDetail {
69
84
  type: 'text';
70
85
  key: string;
@@ -73,6 +88,21 @@ export interface TextInputFormDetail {
73
88
  multiline?: boolean;
74
89
  placeholder?: string;
75
90
  defaultValue?: string;
91
+ inputValidation?: InputValidation;
92
+ }
93
+ export interface NumberInputFormDetail {
94
+ type: 'number';
95
+ key: string;
96
+ label?: string;
97
+ defaultValue?: number;
98
+ inputValidation?: InputValidation;
99
+ }
100
+ export interface ColorPickerFormDetail {
101
+ type: 'colorpicker';
102
+ key: string;
103
+ label?: string;
104
+ selectorType?: 'FONT' | 'COLOR';
105
+ defaultValue?: string;
76
106
  }
77
107
  export interface ToggleFormDetail {
78
108
  type: 'toggle';
@@ -106,8 +136,9 @@ export interface Section {
106
136
  label?: string;
107
137
  children?: PropElement[];
108
138
  alignment?: 'row' | 'column';
139
+ layoutType?: 'accordion' | 'tab' | 'none';
109
140
  }
110
- export type PropElement = Section | TextInputFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
141
+ export type PropElement = Section | TextInputFormDetail | NumberInputFormDetail | ColorPickerFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
111
142
  export interface VisualPropEditorDefinition {
112
143
  elements: PropElement[];
113
144
  }
@@ -189,17 +220,34 @@ export enum ChartToTSEvent {
189
220
  RenderStart = "RenderStart",
190
221
  RenderError = "RenderError",
191
222
  RenderComplete = "RenderComplete",
192
- UpdateVisualProps = "UpdateVisualProps"
223
+ UpdateVisualProps = "UpdateVisualProps",
224
+ GetTMLString = "GetTMLString",
225
+ SetTMLString = "SetTMLString",
226
+ GetDataForQuery = "GetDataForQuery",
227
+ ShowToolTip = "ShowToolTip",
228
+ HideToolTip = "HideToolTip"
193
229
  }
194
230
  export interface ChartToTSEventsPayloadMap {
195
- [ChartToTSEvent.OpenContextMenu]: OpenContextMenuEventPayload;
196
- [ChartToTSEvent.CloseContextMenu]: null;
197
- [ChartToTSEvent.RenderStart]: null;
198
- [ChartToTSEvent.RenderComplete]: null;
199
- [ChartToTSEvent.RenderError]: RenderErrorEventPayload;
200
- [ChartToTSEvent.UpdateVisualProps]: UpdateVisualPropsEventPayload;
201
- }
202
- type UpdateVisualPropsEventPayload = VisualProps;
231
+ [ChartToTSEvent.OpenContextMenu]: [OpenContextMenuEventPayload];
232
+ [ChartToTSEvent.CloseContextMenu]: [];
233
+ [ChartToTSEvent.RenderStart]: [];
234
+ [ChartToTSEvent.RenderComplete]: [];
235
+ [ChartToTSEvent.RenderError]: [RenderErrorEventPayload];
236
+ [ChartToTSEvent.UpdateVisualProps]: [UpdateVisualPropsEventPayload];
237
+ [ChartToTSEvent.GetTMLString]: [];
238
+ [ChartToTSEvent.SetTMLString]: [SetTMLStringEventPayload];
239
+ [ChartToTSEvent.GetDataForQuery]: [GetDataForQueryEventPayload];
240
+ [ChartToTSEvent.ShowToolTip]: [ShowToolTipEventPayload];
241
+ [ChartToTSEvent.HideToolTip]: [];
242
+ [ChartToTSEvent.OpenAxisMenu]: [OpenAxisMenuEventPayload];
243
+ [ChartToTSEvent.CloseAxisMenu]: [];
244
+ }
245
+ export interface UpdateVisualPropsEventPayload {
246
+ visualProps: VisualProps;
247
+ }
248
+ export interface SetTMLStringEventPayload {
249
+ tmlString: string;
250
+ }
203
251
  export interface PointVal {
204
252
  columnId: string;
205
253
  value: any;
@@ -210,33 +258,68 @@ export interface Point {
210
258
  export interface CustomAction {
211
259
  id: string;
212
260
  label: string;
213
- icon: string;
261
+ icon?: string;
214
262
  onClick: (...args: any[]) => void;
215
263
  }
216
264
  export interface OpenContextMenuEventPayload {
217
- event: Pick<PointerEvent, 'x' | 'y' | 'clientX' | 'clientY' | 'pageX' | 'pageY' | 'screenX' | 'screenY'>;
265
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
218
266
  clickedPoint: Point;
219
267
  selectedPoints?: Point[];
220
268
  customActions?: CustomAction[];
221
269
  }
222
- interface RenderErrorEventPayload {
270
+ export interface ShowToolTipEventPayload {
271
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
272
+ customTooltipContent?: string[];
273
+ point?: Point;
274
+ }
275
+ export interface RenderErrorEventPayload {
223
276
  hasError: boolean;
224
277
  error: any;
225
278
  }
279
+ export interface GetDataForQueryEventPayload {
280
+ queries: Query[];
281
+ }
226
282
  export enum ErrorType {
227
283
  MultipleContextsNotSupported = "MultipleContextsNotSupported"
228
284
  }
229
- export {};
285
+ export enum AxisMenuActions {
286
+ AGGREGATE = "AGGREGATE",
287
+ TIME_BUCKET = "TIME_BUCKET",
288
+ FILTER = "FILTER",
289
+ SORT = "SORT",
290
+ SEPARATOR = "SEPARATOR"
291
+ }
292
+ export interface AxisMenuCustomAction {
293
+ id: string;
294
+ label: string;
295
+ icon?: string;
296
+ onClick: (...args: any[]) => void;
297
+ }
298
+ export interface OpenAxisMenuEventPayload {
299
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
300
+ columnIds: string[];
301
+ selectedActions?: AxisMenuActions[];
302
+ customActions?: AxisMenuCustomAction[];
303
+ }
304
+ export interface ContextMenuActionHandler {
305
+ [key: string]: (args: CustomContextMenuAction) => void;
306
+ }
307
+ export interface AxisMenuActionHandler {
308
+ [key: string]: (args: CustomAxisMenuAction) => void;
309
+ }
230
310
 
231
311
  export enum TSToChartEvent {
232
312
  Initialize = "Initialize",
313
+ InitializeComplete = "InitializeComplete",
233
314
  GetDataQuery = "GetDataQuery",
234
315
  ChartConfigValidate = "ChartConfigValidate",
235
316
  ChartModelUpdate = "ChartModelUpdate",
236
317
  DataUpdate = "DataUpdate",
237
318
  TriggerRenderChart = "TriggerRenderChart",
238
319
  VisualPropsValidate = "VisualPropsValidate",
239
- VisualPropsUpdate = "VisualPropsUpdate"
320
+ VisualPropsUpdate = "VisualPropsUpdate",
321
+ ContextMenuActionClick = "ContextMenuActionClick",
322
+ AxisMenuActionClick = "AxisMenuActionClick"
240
323
  }
241
324
  export interface TSToChartEventsPayloadMap {
242
325
  [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
@@ -245,10 +328,13 @@ export interface TSToChartEventsPayloadMap {
245
328
  }
246
329
  export interface TSToChartInternalEventsPayloadMap {
247
330
  [TSToChartEvent.Initialize]: (payload: InitializeEventPayload) => InitializeEventResponsePayload;
331
+ [TSToChartEvent.InitializeComplete]: () => void;
248
332
  [TSToChartEvent.GetDataQuery]: (payload: GetDataQueryPayload) => GetDataQueryResponsePayload;
249
333
  [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
250
334
  [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
251
335
  [TSToChartEvent.TriggerRenderChart]: () => void;
336
+ [TSToChartEvent.ContextMenuActionClick]: (payload: ContextMenuCustomActionPayload) => void;
337
+ [TSToChartEvent.AxisMenuActionClick]: (payload: AxisMenuCustomActionPayload) => void;
252
338
  }
253
339
  export interface InitializeEventPayload {
254
340
  chartModel: ChartModel;
@@ -290,6 +376,23 @@ export interface VisualPropsValidateEventPayload {
290
376
  export interface ChartConfigValidateEventPayload {
291
377
  chartConfig: ChartConfig[];
292
378
  }
379
+ export interface CustomContextMenuAction {
380
+ id: string;
381
+ clickedPoint: Point;
382
+ selectedPoints?: Point[];
383
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
384
+ }
385
+ export interface ContextMenuCustomActionPayload {
386
+ customAction: CustomContextMenuAction;
387
+ }
388
+ export interface CustomAxisMenuAction {
389
+ id: string;
390
+ columnIds: string[];
391
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
392
+ }
393
+ export interface AxisMenuCustomActionPayload {
394
+ customAction: CustomAxisMenuAction;
395
+ }
293
396
 
294
397
  export type CustomChartContextProps = {
295
398
  getDefaultChartConfig: (chartModel: ChartModel) => ChartConfig[];
@@ -304,9 +407,34 @@ export class CustomChartContext {
304
407
  constructor(chartContextProps: CustomChartContextProps);
305
408
  initialize: () => Promise<void>;
306
409
  on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
410
+ off<T extends keyof TSToChartEventsPayloadMap>(eventType: T): void;
307
411
  destroy(): void;
308
412
  getChartModel: () => ChartModel;
309
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
413
+ getAppConfig: () => AppConfig;
414
+ contextMenuCustomActionPreProcessor(eventPayload: [OpenContextMenuEventPayload]): [OpenContextMenuEventPayload];
415
+ axisMenuCustomActionPreProcessor(eventPayload: [OpenAxisMenuEventPayload]): [OpenAxisMenuEventPayload];
416
+ emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
310
417
  }
311
418
  export const getChartContext: (customChartConfig: CustomChartContextProps) => Promise<CustomChartContext>;
312
419
 
420
+ export const useChartContext: (props: Omit<CustomChartContextProps, 'renderChart'>) => ChartContextProps;
421
+
422
+ export type ChartToTSEventEmitters = {
423
+ [key in keyof ChartToTSEventsPayloadMap as `emit${Capitalize<key>}`]: (...args: ChartToTSEventsPayloadMap[key]) => Promise<void>;
424
+ };
425
+ export type TSToChartEventListener = {
426
+ [key in keyof TSToChartEventsPayloadMap as `setOn${Capitalize<key>}`]: (args: TSToChartEventsPayloadMap[key]) => Promise<void>;
427
+ };
428
+ export type TSToChartEventOffListener = {
429
+ [key in keyof TSToChartEventsPayloadMap as `setOff${Capitalize<key>}`]: () => Promise<void>;
430
+ };
431
+ export interface TSChartContextProps {
432
+ children: React.ReactNode;
433
+ }
434
+ export interface ChartContextProps extends ChartToTSEventEmitters, TSToChartEventListener, TSToChartEventOffListener {
435
+ hasInitialized: boolean;
436
+ chartModel: ChartModel | undefined;
437
+ destroy: () => void;
438
+ TSChartContext: ({ children }: TSChartContextProps) => React.JSX.Element;
439
+ }
440
+
package/lib/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export * from './types/answer-column.types';
5
5
  export * from './types/chart-to-ts-event.types';
6
6
  export * from './types/ts-to-chart-event.types';
7
7
  export * from './main/custom-chart-context';
8
+ export * from './react/use-custom-chart-context';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
package/lib/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './types/answer-column.types';
5
5
  export * from './types/chart-to-ts-event.types';
6
6
  export * from './types/ts-to-chart-event.types';
7
7
  export * from './main/custom-chart-context';
8
+ export * from './react/use-custom-chart-context';
8
9
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { ChartToTSEventsPayloadMap } from '../types/chart-to-ts-event.types';
2
- import { ChartConfig, ChartModel, ValidationResponse, VisualProps } from '../types/common.types';
1
+ import { ChartToTSEventsPayloadMap, OpenAxisMenuEventPayload, OpenContextMenuEventPayload } from '../types/chart-to-ts-event.types';
2
+ import { AppConfig, ChartConfig, ChartModel, ValidationResponse, VisualProps } from '../types/common.types';
3
3
  import { ChartConfigEditorDefinition } from '../types/configurator.types';
4
4
  import { Query, TSToChartEventsPayloadMap } from '../types/ts-to-chart-event.types';
5
5
  import { VisualPropEditorDefinition } from '../types/visual-prop.types';
@@ -16,21 +16,30 @@ export declare class CustomChartContext {
16
16
  private componentId;
17
17
  private hostUrl;
18
18
  private chartModel;
19
+ private appConfig;
19
20
  private chartContextProps;
20
21
  private eventListeners;
21
22
  private hasInitializedPromise;
22
23
  private triggerInitResolve;
24
+ private contextMenuActionHandler;
25
+ private axisMenuActionHandler;
23
26
  constructor(chartContextProps: CustomChartContextProps);
24
27
  initialize: () => Promise<void>;
25
28
  on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
29
+ off<T extends keyof TSToChartEventsPayloadMap>(eventType: T): void;
26
30
  private onInternal;
27
31
  destroy(): void;
28
32
  getChartModel: () => ChartModel;
29
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
33
+ getAppConfig: () => AppConfig;
34
+ contextMenuCustomActionPreProcessor(eventPayload: [OpenContextMenuEventPayload]): [OpenContextMenuEventPayload];
35
+ axisMenuCustomActionPreProcessor(eventPayload: [OpenAxisMenuEventPayload]): [OpenAxisMenuEventPayload];
36
+ private eventPayloadPreProcessor;
37
+ emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
30
38
  private registerEventProcessor;
31
39
  private eventProcessor;
32
40
  private registerEvents;
33
41
  private initializeContext;
42
+ private initializationComplete;
34
43
  private publishChartContextPropsToHost;
35
44
  private executeEventListenerCBs;
36
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAQH,KAAK,EAEL,yBAAyB,EAI5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAKxE,MAAM,MAAM,uBAAuB,GAAG;IAQlC,qBAAqB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAQjE,yBAAyB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;IAQnE,WAAW,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAUxD,cAAc,CAAC,EAAE,CACb,aAAa,EAAE,WAAW,EAAE,EAC5B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAWxB,mBAAmB,CAAC,EAAE,CAClB,kBAAkB,EAAE,WAAW,EAC/B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAQxB,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAS5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAYF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;gBAOpC,iBAAiB,EAAE,uBAAuB;IAkB/C,UAAU,QAAO,QAAQ,IAAI,CAAC,CAGnC;IAUK,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC/C,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACzC,IAAI;IAiBP,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAUlD,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAmBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CAsIpB;IASF,OAAO,CAAC,iBAAiB,CAcvB;IAEF,OAAO,CAAC,8BAA8B,CA8BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}
1
+ {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AASA,OAAO,EAGH,yBAAyB,EAIzB,wBAAwB,EACxB,2BAA2B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,SAAS,EACT,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAUH,KAAK,EAEL,yBAAyB,EAI5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAKxE,MAAM,MAAM,uBAAuB,GAAG;IAQlC,qBAAqB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAQjE,yBAAyB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;IAQnE,WAAW,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAUxD,cAAc,CAAC,EAAE,CACb,aAAa,EAAE,WAAW,EAAE,EAC5B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAWxB,mBAAmB,CAAC,EAAE,CAClB,kBAAkB,EAAE,WAAW,EAC/B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAQxB,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAW5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAWF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,SAAS,CAAiB;IAOlC,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;IAQhD,OAAO,CAAC,wBAAwB,CAAgC;IAQhE,OAAO,CAAC,qBAAqB,CAA6B;gBAO9C,iBAAiB,EAAE,uBAAuB;IAkB/C,UAAU,QAAO,QAAQ,IAAI,CAAC,CAGnC;IAUK,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC/C,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACzC,IAAI;IAeA,GAAG,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI;IAiBzE,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAOlD,YAAY,QAAO,SAAS,CAAmB;IAQ/C,mCAAmC,CACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC,GAC5C,CAAC,2BAA2B,CAAC;IAiCzB,gCAAgC,CACnC,YAAY,EAAE,CAAC,wBAAwB,CAAC,GACzC,CAAC,wBAAwB,CAAC;IAiC7B,OAAO,CAAC,wBAAwB;IA0BzB,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,GAAG,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAuBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CAqOpB;IASF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,8BAA8B,CA6BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { ErrorType, } from '../types/chart-to-ts-event.types';
2
+ import { ChartToTSEvent, ErrorType, } from '../types/chart-to-ts-event.types';
3
3
  import { TSToChartEvent, } from '../types/ts-to-chart-event.types';
4
4
  import * as PostMessageEventBridge from './post-message-event-bridge';
5
5
  let isInitialized = false;
@@ -7,21 +7,24 @@ const DEFAULT_CHART_CONTEXT_PROPS = {
7
7
  validateConfig: () => ({ isValid: true }),
8
8
  validateVisualProps: () => ({ isValid: true }),
9
9
  chartConfigEditorDefinition: undefined,
10
- visualPropEditorDefinition: undefined,
11
10
  };
12
11
  export class CustomChartContext {
13
12
  constructor(chartContextProps) {
14
13
  this.componentId = '';
15
14
  this.hostUrl = '';
16
15
  this.chartModel = {};
16
+ this.appConfig = {};
17
17
  this.chartContextProps = DEFAULT_CHART_CONTEXT_PROPS;
18
18
  this.eventListeners = {};
19
19
  this.triggerInitResolve = _.noop;
20
+ this.contextMenuActionHandler = {};
21
+ this.axisMenuActionHandler = {};
20
22
  this.initialize = () => {
21
23
  console.log('Chart Context: initialization start');
22
24
  return this.hasInitializedPromise;
23
25
  };
24
26
  this.getChartModel = () => this.chartModel;
27
+ this.getAppConfig = () => this.appConfig;
25
28
  this.registerEventProcessor = () => {
26
29
  if (isInitialized) {
27
30
  console.error('The context is already initialized. you cannot have multiple contexts');
@@ -49,6 +52,7 @@ export class CustomChartContext {
49
52
  };
50
53
  this.registerEvents = () => {
51
54
  this.onInternal(TSToChartEvent.Initialize, (payload) => this.initializeContext(payload));
55
+ this.onInternal(TSToChartEvent.InitializeComplete, () => this.initializationComplete());
52
56
  this.onInternal(TSToChartEvent.VisualPropsValidate, (payload) => {
53
57
  if (this.chartContextProps.validateVisualProps) {
54
58
  const validationResponse = this.chartContextProps.validateVisualProps(payload.visualProps, this.chartModel);
@@ -69,8 +73,51 @@ export class CustomChartContext {
69
73
  queries,
70
74
  };
71
75
  });
72
- this.onInternal(TSToChartEvent.TriggerRenderChart, async () => {
73
- await this.chartContextProps.renderChart(this);
76
+ this.onInternal(TSToChartEvent.TriggerRenderChart, () => {
77
+ this.chartContextProps.renderChart(this);
78
+ });
79
+ this.onInternal(TSToChartEvent.ContextMenuActionClick, (payload) => {
80
+ try {
81
+ const { id: customActionCallback, clickedPoint, selectedPoints, event, } = payload.customAction;
82
+ const customActionCallbackArgs = {
83
+ id: customActionCallback,
84
+ clickedPoint,
85
+ selectedPoints,
86
+ event,
87
+ };
88
+ this.contextMenuActionHandler[customActionCallback](customActionCallbackArgs);
89
+ return {
90
+ isValid: true,
91
+ };
92
+ }
93
+ catch (error) {
94
+ console.log('ContextMenuCustomAction: payload recieved:', payload, 'CustomActionCallbackStore:', this.axisMenuActionHandler);
95
+ return {
96
+ isValid: false,
97
+ error,
98
+ };
99
+ }
100
+ });
101
+ this.onInternal(TSToChartEvent.AxisMenuActionClick, (payload) => {
102
+ try {
103
+ const { id: customActionCallback, columnIds, event, } = payload.customAction;
104
+ const customActionCallbackArgs = {
105
+ id: customActionCallback,
106
+ columnIds,
107
+ event,
108
+ };
109
+ this.axisMenuActionHandler[customActionCallback](customActionCallbackArgs);
110
+ return {
111
+ isValid: true,
112
+ };
113
+ }
114
+ catch (error) {
115
+ console.log('AxisMenuCustomAction: payload recieved:', payload, 'CustomActionCallbackStore:', this.axisMenuActionHandler);
116
+ return {
117
+ isValid: false,
118
+ error,
119
+ };
120
+ }
74
121
  });
75
122
  this.on(TSToChartEvent.ChartModelUpdate, (payload) => {
76
123
  this.chartModel = payload.chartModel;
@@ -92,12 +139,16 @@ export class CustomChartContext {
92
139
  });
93
140
  };
94
141
  this.initializeContext = (payload) => {
142
+ var _a;
95
143
  this.componentId = payload.componentId;
96
144
  this.hostUrl = payload.hostUrl;
97
145
  this.chartModel = payload.chartModel;
146
+ this.appConfig = (_a = payload.appConfig) !== null && _a !== void 0 ? _a : {};
147
+ return this.publishChartContextPropsToHost();
148
+ };
149
+ this.initializationComplete = () => {
98
150
  isInitialized = true;
99
151
  this.triggerInitResolve();
100
- return this.publishChartContextPropsToHost();
101
152
  };
102
153
  this.publishChartContextPropsToHost = () => {
103
154
  var _a;
@@ -140,7 +191,7 @@ export class CustomChartContext {
140
191
  ...chartContextProps,
141
192
  };
142
193
  this.registerEventProcessor();
143
- this.hasInitializedPromise = new Promise((resolve) => {
194
+ this.hasInitializedPromise = new Promise((resolve, reject) => {
144
195
  this.triggerInitResolve = resolve;
145
196
  });
146
197
  }
@@ -150,6 +201,14 @@ export class CustomChartContext {
150
201
  }
151
202
  this.eventListeners[eventType].push(callbackFn);
152
203
  }
204
+ off(eventType) {
205
+ if (_.isNil(this.eventListeners[eventType])) {
206
+ console.log('No event listener found to remove');
207
+ this.eventListeners[eventType] = [];
208
+ return;
209
+ }
210
+ this.eventListeners[eventType].splice(0, 1);
211
+ }
153
212
  onInternal(eventType, callbackFn) {
154
213
  if (_.isNil(this.eventListeners[eventType])) {
155
214
  this.eventListeners[eventType] = [];
@@ -160,12 +219,72 @@ export class CustomChartContext {
160
219
  PostMessageEventBridge.destroyMessageListener(this.eventProcessor);
161
220
  isInitialized = false;
162
221
  }
163
- emitEvent(eventType, eventPayload) {
222
+ contextMenuCustomActionPreProcessor(eventPayload) {
223
+ var _a, _b, _c, _d, _e;
224
+ this.contextMenuActionHandler = {};
225
+ if (_.isEmpty((_a = eventPayload === null || eventPayload === void 0 ? void 0 : eventPayload[0]) === null || _a === void 0 ? void 0 : _a.customActions)) {
226
+ return eventPayload;
227
+ }
228
+ (_c = (_b = eventPayload === null || eventPayload === void 0 ? void 0 : eventPayload[0]) === null || _b === void 0 ? void 0 : _b.customActions) === null || _c === void 0 ? void 0 : _c.forEach((action) => {
229
+ this.contextMenuActionHandler[action.id] = action.onClick;
230
+ });
231
+ const processedCustomActions = (_e = (_d = eventPayload[0]) === null || _d === void 0 ? void 0 : _d.customActions) === null || _e === void 0 ? void 0 : _e.map((action) => {
232
+ return {
233
+ id: action.id,
234
+ label: action.label,
235
+ icon: action.icon,
236
+ };
237
+ });
238
+ const processedPayload = [
239
+ {
240
+ ...eventPayload[0],
241
+ customActions: processedCustomActions,
242
+ },
243
+ ];
244
+ return processedPayload;
245
+ }
246
+ axisMenuCustomActionPreProcessor(eventPayload) {
247
+ var _a, _b, _c;
248
+ this.axisMenuActionHandler = {};
249
+ if (_.isEmpty((_a = eventPayload === null || eventPayload === void 0 ? void 0 : eventPayload[0]) === null || _a === void 0 ? void 0 : _a.customActions)) {
250
+ return eventPayload;
251
+ }
252
+ (_b = eventPayload[0].customActions) === null || _b === void 0 ? void 0 : _b.forEach((action) => {
253
+ this.axisMenuActionHandler[action.id] = action.onClick;
254
+ });
255
+ const processedCustomActions = (_c = eventPayload === null || eventPayload === void 0 ? void 0 : eventPayload[0].customActions) === null || _c === void 0 ? void 0 : _c.map((action) => {
256
+ return {
257
+ id: action.id,
258
+ label: action.label,
259
+ icon: action.icon,
260
+ };
261
+ });
262
+ const processedPayload = [
263
+ {
264
+ ...eventPayload[0],
265
+ customActions: processedCustomActions,
266
+ },
267
+ ];
268
+ return processedPayload;
269
+ }
270
+ eventPayloadPreProcessor(eventType, eventPayload) {
271
+ switch (eventType) {
272
+ case ChartToTSEvent.OpenContextMenu:
273
+ return this.contextMenuCustomActionPreProcessor(eventPayload);
274
+ case ChartToTSEvent.OpenAxisMenu:
275
+ return this.axisMenuCustomActionPreProcessor(eventPayload);
276
+ default:
277
+ return eventPayload;
278
+ }
279
+ }
280
+ emitEvent(eventType, ...eventPayload) {
281
+ var _a;
164
282
  if (!isInitialized) {
165
283
  console.log('Chart Context: not initialized the context, something went wrong');
166
- return Promise.reject();
284
+ return Promise.reject(new Error('Context not initialized'));
167
285
  }
168
- return PostMessageEventBridge.postMessageToHostApp(this.componentId, this.hostUrl, eventPayload, eventType);
286
+ const processedPayload = this.eventPayloadPreProcessor(eventType, eventPayload);
287
+ return PostMessageEventBridge.postMessageToHostApp(this.componentId, this.hostUrl, (_a = processedPayload === null || processedPayload === void 0 ? void 0 : processedPayload[0]) !== null && _a !== void 0 ? _a : null, eventType);
169
288
  }
170
289
  }
171
290
  export const getChartContext = async (customChartConfig) => {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AAQA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAEH,cAAc,EAId,SAAS,GAGZ,MAAM,kCAAkC,CAAC;AAS1C,OAAO,EAWH,cAAc,GAKjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AAEtE,IAAI,aAAa,GAAG,KAAK,CAAC;AA8E1B,MAAM,2BAA2B,GAAqC;IAClE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C,2BAA2B,EAAE,SAAS;CACzC,CAAC;AAEF,MAAM,OAAO,kBAAkB;IA6F3B,YAAY,iBAA0C;QAnF9C,gBAAW,GAAG,EAAE,CAAC;QASjB,YAAO,GAAG,EAAE,CAAC;QAQb,eAAU,GAAe,EAAS,CAAC;QAOnC,cAAS,GAAc,EAAE,CAAC;QAO1B,sBAAiB,GACrB,2BAAsD,CAAC;QAQnD,mBAAc,GAAiD,EAAE,CAAC;QAoBlE,uBAAkB,GAAe,CAAC,CAAC,IAAI,CAAC;QAQxC,6BAAwB,GAA6B,EAAE,CAAC;QAQxD,0BAAqB,GAA0B,EAAE,CAAC;QAyBnD,eAAU,GAAG,GAAkB,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,qBAAqB,CAAC;QACtC,CAAC,CAAC;QAuEK,kBAAa,GAAG,GAAe,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;QAOlD,iBAAY,GAAG,GAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAkI9C,2BAAsB,GAAG,GAAG,EAAE;YAClC,IAAI,aAAa,EAAE;gBACf,OAAO,CAAC,KAAK,CACT,uEAAuE,CAC1E,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;aAC3D;YACD,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC,CAAC;QAOM,mBAAc,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;gBACrC,OAAO;aACV;YAED,OAAO,CAAC,GAAG,CACP,kCAAkC,EAClC,KAAK,CAAC,IAAI,CAAC,SAAS,EACpB,KAAK,CAAC,IAAI,CACb,CAAC;YAEF,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAG5D,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;oBAC3B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;wBACvB,GAAI,eAAuB;qBAC9B,CAAC,CAAC;iBACN;qBAAM;oBACH,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBAClC;aACJ;QACL,CAAC,CAAC;QAOM,mBAAc,GAAG,GAAS,EAAE;YAOhC,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,UAAU,EACzB,CAAC,OAA+B,EAAE,EAAE,CAChC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CACtC,CAAC;YAKF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,EAAE,CACpD,IAAI,CAAC,sBAAsB,EAAE,CAChC,CAAC;YAOF,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,mBAAmB,EAClC,CAAC,OAAwC,EAAsB,EAAE;gBAC7D,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE;oBAC5C,MAAM,kBAAkB,GACpB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CACtC,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,UAAU,CAClB,CAAC;oBACN,OAAO,kBAAkB,CAAC;iBAC7B;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC,CACJ,CAAC;YAOF,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,mBAAmB,EAClC,CAAC,OAAwC,EAAsB,EAAE;gBAC7D,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE;oBACvC,MAAM,kBAAkB,GACpB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CACjC,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,UAAU,CAClB,CAAC;oBACN,OAAO,kBAAkB,CAAC;iBAC7B;gBAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC9B,CAAC,CACJ,CAAC;YAMF,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,YAAY,EAC3B,CAAC,OAA4B,EAA+B,EAAE;gBAC1D,MAAM,OAAO,GACT,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAC5C,OAAO,CAAC,MAAM,CACjB,CAAC;gBACN,OAAO;oBACH,OAAO;iBACV,CAAC;YACN,CAAC,CACJ,CAAC;YAKF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBACpD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAKH,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,sBAAsB,EACrC,CACI,OAAuC,EAIzC,EAAE;gBACA,IAAI;oBACA,MAAM,EACF,EAAE,EAAE,oBAAoB,EACxB,YAAY,EACZ,cAAc,EACd,KAAK,GACR,GAAG,OAAO,CAAC,YAAY,CAAC;oBACzB,MAAM,wBAAwB,GAAG;wBAC7B,EAAE,EAAE,oBAAoB;wBACxB,YAAY;wBACZ,cAAc;wBACd,KAAK;qBACR,CAAC;oBACF,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,CAC/C,wBAAwB,CAC3B,CAAC;oBACF,OAAO;wBACH,OAAO,EAAE,IAAI;qBAChB,CAAC;iBACL;gBAAC,OAAO,KAAc,EAAE;oBACrB,OAAO,CAAC,GAAG,CACP,4CAA4C,EAC5C,OAAO,EACP,4BAA4B,EAC5B,IAAI,CAAC,qBAAqB,CAC7B,CAAC;oBACF,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,KAAK;qBACR,CAAC;iBACL;YACL,CAAC,CACJ,CAAC;YAKF,IAAI,CAAC,UAAU,CACX,cAAc,CAAC,mBAAmB,EAClC,CACI,OAAoC,EAItC,EAAE;gBACA,IAAI;oBACA,MAAM,EACF,EAAE,EAAE,oBAAoB,EACxB,SAAS,EACT,KAAK,GACR,GAAG,OAAO,CAAC,YAAY,CAAC;oBACzB,MAAM,wBAAwB,GAAG;wBAC7B,EAAE,EAAE,oBAAoB;wBACxB,SAAS;wBACT,KAAK;qBACR,CAAC;oBACF,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAC5C,wBAAwB,CAC3B,CAAC;oBACF,OAAO;wBACH,OAAO,EAAE,IAAI;qBAChB,CAAC;iBACL;gBAAC,OAAO,KAAc,EAAE;oBACrB,OAAO,CAAC,GAAG,CACP,yCAAyC,EACzC,OAAO,EACP,4BAA4B,EAC5B,IAAI,CAAC,qBAAqB,CAC7B,CAAC;oBACF,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,KAAK;qBACR,CAAC;iBACL;YACL,CAAC,CACJ,CAAC;YAUF,IAAI,CAAC,EAAE,CACH,cAAc,CAAC,gBAAgB,EAC/B,CACI,OAAqC,EACN,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACrC,OAAO;oBACH,kBAAkB,EAAE,IAAI;iBAC3B,CAAC;YACN,CAAC,CACJ,CAAC;YAOF,IAAI,CAAC,EAAE,CACH,cAAc,CAAC,UAAU,EACzB,CACI,OAA+B,EAGjC,EAAE;gBACA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACpC,OAAO;oBACH,kBAAkB,EAAE,IAAI;iBAC3B,CAAC;YACN,CAAC,CACJ,CAAC;YAOF,IAAI,CAAC,EAAE,CACH,cAAc,CAAC,iBAAiB,EAChC,CACI,OAAsC,EACP,EAAE;gBACjC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;gBAClD,OAAO;oBACH,kBAAkB,EAAE,IAAI;iBAC3B,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC;QASM,sBAAiB,GAAG,CACxB,OAA+B,EACD,EAAE;;YAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC;YAEzC,OAAO,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACjD,CAAC,CAAC;QAEM,2BAAsB,GAAG,GAAS,EAAE;YAExC,aAAa,GAAG,IAAI,CAAC;YAGrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC;QAEM,mCAA8B,GAClC,GAAmC,EAAE;;YAEjC,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,OAAO,CAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CACrC,CAAC;YACF,MAAM,EAAE,OAAO,EAAE,GACb,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc;gBACnD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CACjC,MAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,mCAAI,EAAE,EACxC,IAAI,CAAC,UAAU,CAClB;gBACH,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAE7B,IAAI,kBAAkB,GAAkB,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE;gBACV,kBAAkB;oBACd,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACxC,IAAI,CAAC,UAAU,CAClB,CAAC;aACT;YACD,OAAO;gBACH,aAAa,EAAE,OAAO;gBACtB,kBAAkB;gBAClB,2BAA2B,EACvB,IAAI,CAAC,iBAAiB,CAAC,2BAA2B;gBACtD,0BAA0B,EACtB,IAAI,CAAC,iBAAiB,CAAC,0BAA0B;aACxD,CAAC;QACN,CAAC,CAAC;QAQE,4BAAuB,GAAG,CAAC,KAAmB,EAAO,EAAE;;YAE3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;gBACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBAI3D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,QAAQ,GAAG;oBACP,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,2CAA2C,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;iBAC3E,CAAC;aACL;YAED,OAAO,CAAC,GAAG,CACP,yBAAyB,EACzB,KAAK,CAAC,IAAI,CAAC,SAAS,EACpB,QAAQ,EACR,MAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,0CAAE,MAAM,CACpD,CAAC;YACF,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;QAllBE,IAAI,CAAC,iBAAiB,GAAG;YACrB,GAAG,2BAA2B;YAC9B,GAAG,iBAAiB;SACvB,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAsBM,EAAE,CACL,SAAY,EACZ,UAAwC;QAIxC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAQM,GAAG,CAA4C,SAAY;QAC9D,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO;SACV;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAUO,UAAU,CACd,SAAY,EACZ,UAAgD;QAEhD,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAQM,OAAO;QACV,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnE,aAAa,GAAG,KAAK,CAAC;IAC1B,CAAC;IAsBM,mCAAmC,CACtC,YAA2C;;QAG3C,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,0CAAE,aAAa,CAAC,EAAE;YAC7C,OAAO,YAAY,CAAC;SACvB;QACD,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,0CAAE,aAAa,0CAAE,OAAO,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC/D,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,MAAA,MAAA,YAAY,CAAC,CAAC,CAAC,0CAAE,aAAa,0CAAE,GAAG,CAC9D,CAAC,MAAoB,EAAE,EAAE;YACrB,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC;QACN,CAAC,CACJ,CAAC;QACF,MAAM,gBAAgB,GAAkC;YACpD;gBACI,GAAG,YAAY,CAAC,CAAC,CAAC;gBAClB,aAAa,EAAE,sBAAwC;aAC1D;SACJ,CAAC;QACF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAQM,gCAAgC,CACnC,YAAwC;;QAGxC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,0CAAE,aAAa,CAAC,EAAE;YAC7C,OAAO,YAAY,CAAC;SACvB;QACD,MAAA,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,0CAAE,OAAO,CAAC,CAAC,MAAoB,EAAE,EAAE;YAC5D,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,EAAE,aAAa,0CAAE,GAAG,CAC/D,CAAC,MAAoB,EAAE,EAAE;YACrB,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC;QACN,CAAC,CACJ,CAAC;QACF,MAAM,gBAAgB,GAA+B;YACjD;gBACI,GAAG,YAAY,CAAC,CAAC,CAAC;gBAClB,aAAa,EAAE,sBAAwC;aAC1D;SACJ,CAAC;QACF,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAQO,wBAAwB,CAC5B,SAAY,EACZ,YAA0C;QAE1C,QAAQ,SAAS,EAAE;YACf,KAAK,cAAc,CAAC,eAAe;gBAC/B,OAAO,IAAI,CAAC,mCAAmC,CAC3C,YAA6C,CAChB,CAAC;YACtC,KAAK,cAAc,CAAC,YAAY;gBAC5B,OAAO,IAAI,CAAC,gCAAgC,CACxC,YAA0C,CACb,CAAC;YACtC;gBACI,OAAO,YAAY,CAAC;SAC3B;IACL,CAAC;IAUM,SAAS,CACZ,SAAY,EACZ,GAAG,YAA0C;;QAE7C,IAAI,CAAC,aAAa,EAAE;YAChB,OAAO,CAAC,GAAG,CACP,kEAAkE,CACrE,CAAC;YACF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;SAC/D;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAClD,SAAS,EACT,YAAY,CACf,CAAC;QACF,OAAO,sBAAsB,CAAC,oBAAoB,CAC9C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,CAAC,CAAC,mCAAI,IAAI,EAC7B,SAAS,CACZ,CAAC;IACN,CAAC;CAqXJ;AAQD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAChC,iBAA0C,EACf,EAAE;IAC7B,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAGtD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAEvB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC"}