@ic3/reporting-api 8.2.2 → 8.3.0

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 (126) hide show
  1. package/dist/ApiUtils.js +1 -1
  2. package/dist/INotification.d.ts +12 -3
  3. package/dist/IOnNewEventJsContext.d.ts +1 -1
  4. package/dist/IReporting.d.ts +52 -5
  5. package/dist/IThemeManager.d.ts +1 -1
  6. package/dist/ITypes.d.ts +3 -3
  7. package/dist/IWidgetVariantManager.d.ts +2 -2
  8. package/dist/LazyTreeView.d.ts +21 -6
  9. package/dist/Loader.d.ts +94 -20
  10. package/dist/Loader.js +45 -44
  11. package/dist/Loader.js.map +1 -1
  12. package/dist/Logger.d.ts +1 -1
  13. package/dist/PublicAmchartsData.d.ts +9 -3
  14. package/dist/PublicAmchartsData.js +22 -3
  15. package/dist/PublicAmchartsData.js.map +1 -1
  16. package/dist/PublicContext.d.ts +26 -1
  17. package/dist/PublicContext.js +6 -1
  18. package/dist/PublicContext.js.map +1 -1
  19. package/dist/PublicLayout.d.ts +2 -2
  20. package/dist/PublicTemplate.d.ts +10 -5
  21. package/dist/PublicTemplate.js.map +1 -1
  22. package/dist/PublicTemplateForm.d.ts +59 -23
  23. package/dist/PublicTemplateForm.js +2 -16
  24. package/dist/PublicTemplateForm.js.map +1 -1
  25. package/dist/PublicTemplates.d.ts +4 -2
  26. package/dist/PublicTheme.d.ts +103 -73
  27. package/dist/PublicTheme.js.map +1 -1
  28. package/dist/PublicTidyColumn.d.ts +37 -18
  29. package/dist/PublicTidyColumn.js.map +1 -1
  30. package/dist/PublicTidyTable.d.ts +25 -0
  31. package/dist/PublicTidyTableInteractions.d.ts +7 -2
  32. package/dist/PublicTidyTableInteractions.js.map +1 -1
  33. package/dist/PublicTidyTableTypeGuards.d.ts +1 -0
  34. package/dist/PublicTidyTableTypeGuards.js +16 -1
  35. package/dist/PublicTidyTableTypeGuards.js.map +1 -1
  36. package/dist/PublicTidyTableTypes.d.ts +53 -19
  37. package/dist/PublicTidyTableTypes.js +3 -4
  38. package/dist/PublicTidyTableTypes.js.map +1 -1
  39. package/dist/PublicTidyTree.d.ts +1 -1
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.js +2 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/theme/ThemeAlertDialog.d.ts +5 -3
  44. package/dist/theme/ThemeAlertDialog.js +14 -0
  45. package/dist/theme/ThemeAlertDialog.js.map +1 -1
  46. package/dist/theme/ThemeAmCharts4.d.ts +139 -26
  47. package/dist/theme/ThemeAmCharts4.js +8 -1
  48. package/dist/theme/ThemeAmCharts4.js.map +1 -1
  49. package/dist/theme/ThemeApp.d.ts +2 -1
  50. package/dist/theme/ThemeApp.js +1 -1
  51. package/dist/theme/ThemeApp.js.map +1 -1
  52. package/dist/theme/ThemeAppMenuIcon.d.ts +3 -3
  53. package/dist/theme/ThemeAppMenuIcon.js +4 -4
  54. package/dist/theme/ThemeAppMenuIcon.js.map +1 -1
  55. package/dist/theme/ThemeBaseTable.d.ts +4 -0
  56. package/dist/theme/ThemeDatePicker.d.ts +9 -1
  57. package/dist/theme/ThemeDatePicker.js +2 -1
  58. package/dist/theme/ThemeDatePicker.js.map +1 -1
  59. package/dist/theme/ThemeEditorTopBar.d.ts +9 -1
  60. package/dist/theme/ThemeEditorTopBar.js +15 -7
  61. package/dist/theme/ThemeEditorTopBar.js.map +1 -1
  62. package/dist/theme/ThemeErrorRenderer.d.ts +13 -13
  63. package/dist/theme/ThemeErrorRenderer.js +52 -0
  64. package/dist/theme/ThemeErrorRenderer.js.map +1 -1
  65. package/dist/theme/ThemeFilterAutocomplete.d.ts +8 -15
  66. package/dist/theme/ThemeFilterAutocomplete.js +3 -12
  67. package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
  68. package/dist/theme/ThemeFilterButtons.d.ts +3 -3
  69. package/dist/theme/ThemeFilterButtons.js +3 -3
  70. package/dist/theme/ThemeFilterButtons.js.map +1 -1
  71. package/dist/theme/ThemeFilterCheckboxRadio.d.ts +4 -4
  72. package/dist/theme/ThemeFilterCheckboxRadio.js +4 -4
  73. package/dist/theme/ThemeFilterCheckboxRadio.js.map +1 -1
  74. package/dist/theme/ThemeFilterPanel.d.ts +4 -0
  75. package/dist/theme/ThemeFilterSlider.d.ts +1 -1
  76. package/dist/theme/ThemeFilterSlider.js +2 -1
  77. package/dist/theme/ThemeFilterSlider.js.map +1 -1
  78. package/dist/theme/ThemeFilterTree.d.ts +7 -7
  79. package/dist/theme/ThemeFilterTree.js +1 -1
  80. package/dist/theme/ThemeFilterTree.js.map +1 -1
  81. package/dist/theme/ThemeGlobal.d.ts +2 -2
  82. package/dist/theme/ThemeGlobal.js +2 -2
  83. package/dist/theme/ThemeHtmlBox.d.ts +3 -3
  84. package/dist/theme/ThemeHtmlBox.js +9 -0
  85. package/dist/theme/ThemeHtmlBox.js.map +1 -1
  86. package/dist/theme/ThemeImage.d.ts +11 -0
  87. package/dist/theme/ThemeImage.js +9 -0
  88. package/dist/theme/ThemeImage.js.map +1 -1
  89. package/dist/theme/ThemeKpiCard.d.ts +5 -4
  90. package/dist/theme/ThemeKpiCard.js +12 -11
  91. package/dist/theme/ThemeKpiCard.js.map +1 -1
  92. package/dist/theme/ThemeLayout.d.ts +6 -3
  93. package/dist/theme/ThemeLayout.js +11 -0
  94. package/dist/theme/ThemeLayout.js.map +1 -1
  95. package/dist/theme/ThemeLayoutPage.d.ts +7 -6
  96. package/dist/theme/ThemeLayoutPage.js +25 -0
  97. package/dist/theme/ThemeLayoutPage.js.map +1 -1
  98. package/dist/theme/ThemeLazyTreeClasses.d.ts +1 -0
  99. package/dist/theme/ThemeListCounter.d.ts +5 -0
  100. package/dist/theme/ThemeListCounter.js +9 -0
  101. package/dist/theme/ThemeListCounter.js.map +1 -0
  102. package/dist/theme/ThemePivotTable.d.ts +1 -0
  103. package/dist/theme/ThemePivotTable.js +1 -0
  104. package/dist/theme/ThemePivotTable.js.map +1 -1
  105. package/dist/theme/ThemePrintButton.d.ts +22 -0
  106. package/dist/theme/ThemePrintButton.js +10 -0
  107. package/dist/theme/ThemePrintButton.js.map +1 -0
  108. package/dist/theme/ThemeQueryBuilderNode.d.ts +8 -3
  109. package/dist/theme/ThemeQueryBuilderNode.js +9 -4
  110. package/dist/theme/ThemeQueryBuilderNode.js.map +1 -1
  111. package/dist/theme/ThemeReportAppBar.d.ts +6 -3
  112. package/dist/theme/ThemeReportAppBar.js +18 -0
  113. package/dist/theme/ThemeReportAppBar.js.map +1 -1
  114. package/dist/theme/ThemeReportAppLeftPanel.d.ts +5 -4
  115. package/dist/theme/ThemeReportAppLeftPanel.js +5 -4
  116. package/dist/theme/ThemeReportAppLeftPanel.js.map +1 -1
  117. package/dist/theme/ThemeSinglePanelFilter.d.ts +18 -0
  118. package/dist/theme/{ThemeDrilldownUserSelectMenu.js → ThemeSinglePanelFilter.js} +1 -1
  119. package/dist/theme/ThemeSinglePanelFilter.js.map +1 -0
  120. package/dist/theme/ThemeTable.d.ts +4 -0
  121. package/dist/theme/ThemeWidgetBoxContentMessage.d.ts +3 -3
  122. package/dist/theme/ThemeWidgetBoxContentMessage.js +12 -0
  123. package/dist/theme/ThemeWidgetBoxContentMessage.js.map +1 -1
  124. package/package.json +5 -5
  125. package/dist/theme/ThemeDrilldownUserSelectMenu.d.ts +0 -11
  126. package/dist/theme/ThemeDrilldownUserSelectMenu.js.map +0 -1
@@ -7,7 +7,6 @@ import { IWidgetLayoutDefinition } from "./PublicLayout";
7
7
  import { IThemeWidgetDefaults } from "./IThemeManager";
8
8
  import { AlertDialogClassKey } from "./theme/ThemeAlertDialog";
9
9
  import { AppClassKey, AppDivProps } from "./theme/ThemeApp";
10
- import { DrilldownUserSelectMenuClassKey } from "./theme/ThemeDrilldownUserSelectMenu";
11
10
  import { ErrorRendererClassKey } from "./theme/ThemeErrorRenderer";
12
11
  import { HtmlBoxClassKey, HtmlBoxProps } from "./theme/ThemeHtmlBox";
13
12
  import { LayoutClassKey } from "./theme/ThemeLayout";
@@ -15,6 +14,7 @@ import { LayoutPageClassKey } from "./theme/ThemeLayoutPage";
15
14
  import { ReportAppBarClassKey } from "./theme/ThemeReportAppBar";
16
15
  import { WidgetBoxClassKey } from "./theme/ThemeWidgetBox";
17
16
  import { WidgetBoxContentMessageClassKey } from "./theme/ThemeWidgetBoxContentMessage";
17
+ import * as React from "react";
18
18
  import { ReactElement } from "react";
19
19
  import { TypographyStyleOptions } from "@mui/material/styles/createTypography";
20
20
  import { Property } from "csstype";
@@ -31,34 +31,37 @@ import { ReportAppLeftPanelClassKey } from "./theme/ThemeReportAppLeftPanel";
31
31
  import { FilterTreeChartOptions, FilterTreeClassKey } from "./theme/ThemeFilterTree";
32
32
  import { DatePickerChartOptions, DatePickerClassKey } from "./theme/ThemeDatePicker";
33
33
  import { FilterAutocompleteChartOptions, FilterAutocompleteClassesKey } from "./theme/ThemeFilterAutocomplete";
34
- import { AppMenuIconProps, ThemeAppMenuIconClassKey } from "./theme/ThemeAppMenuIcon";
35
- import { QueryBuilderNodeProps, ThemeQueryBuilderNodeClassKey } from "./theme/ThemeQueryBuilderNode";
34
+ import { AppMenuIconClassKey, AppMenuIconProps } from "./theme/ThemeAppMenuIcon";
35
+ import { QueryBuilderNodeClassKey, QueryBuilderNodeProps } from "./theme/ThemeQueryBuilderNode";
36
36
  import { KpiCardClassKey, KpiCardProps } from "./theme/ThemeKpiCard";
37
+ import { ListCounterClassKey } from "./theme/ThemeListCounter";
38
+ import { LazyTreeClassesClassKey } from "./theme/ThemeLazyTreeClasses";
39
+ import { PrintButtonChartOptions, PrintButtonClassKey } from "./theme/ThemePrintButton";
37
40
  export interface INoSchemaRendererOptions {
38
41
  missingSchema: string;
39
42
  }
40
- export declare type ThemeTextFormatter = {
43
+ export type ThemeTextFormatter = {
41
44
  formatReport: ((value: any, locale: string) => string) | string;
42
45
  formatExcel?: string;
43
46
  };
44
- export declare type ThemeTextFormatters = Record<string, ThemeTextFormatter> & {
47
+ export type ThemeTextFormatters = Record<string, ThemeTextFormatter> & {
45
48
  defaultDate: ThemeTextFormatter;
46
49
  defaultNumber: ThemeTextFormatter;
47
50
  defaultAmount: ThemeTextFormatter;
48
51
  defaultPercentage: ThemeTextFormatter;
49
52
  };
50
- export declare type ThemeFormatters = {
53
+ export type ThemeFormatters = {
51
54
  text: ThemeTextFormatters;
52
55
  emptyCell: string;
53
56
  amCharts4: Amcharts4ThemeDateFormatter;
54
57
  };
55
- export declare type ThemeTextFormattersOptions = Record<string, ThemeTextFormatter> & {
58
+ export type ThemeTextFormattersOptions = Record<string, ThemeTextFormatter> & {
56
59
  defaultDate?: ThemeTextFormatter;
57
60
  defaultNumber?: ThemeTextFormatter;
58
61
  defaultAmount?: ThemeTextFormatter;
59
62
  defaultPercentage?: ThemeTextFormatter;
60
63
  };
61
- declare type Amcharts4ThemeDateFormatter = {
64
+ type Amcharts4ThemeDateFormatter = {
62
65
  /**
63
66
  * Amcharts date formatter.
64
67
  * Read more about the format codes here: https://www.amcharts.com/docs/v4/concepts/formatters/formatting-date-time/#Format_codes
@@ -99,11 +102,11 @@ declare type Amcharts4ThemeDateFormatter = {
99
102
  };
100
103
  };
101
104
  };
102
- declare type DeepPartial<T> = {
105
+ type DeepPartial<T> = {
103
106
  [P in keyof T]?: T[P] extends Record<string, unknown> ? DeepPartial<T[P]> : T[P];
104
107
  };
105
- declare type Amcharts4ThemeDateFormatterOptions = DeepPartial<Amcharts4ThemeDateFormatter>;
106
- export declare type ThemeFormattersOptions = {
108
+ type Amcharts4ThemeDateFormatterOptions = DeepPartial<Amcharts4ThemeDateFormatter>;
109
+ export type ThemeFormattersOptions = {
107
110
  text?: ThemeTextFormattersOptions;
108
111
  emptyCell?: string;
109
112
  amCharts4?: Amcharts4ThemeDateFormatterOptions;
@@ -154,6 +157,30 @@ export interface ic3Palette {
154
157
  * If null or undefined, returns onHover color
155
158
  */
156
159
  onHover: (color?: Property.Color | undefined | null) => Property.Color;
160
+ mdx: {
161
+ annotation: string;
162
+ comment: string;
163
+ definitionKeyword: string;
164
+ keyword: string;
165
+ labelName: string;
166
+ number: string;
167
+ operator: string;
168
+ propertyName: string;
169
+ separator: string;
170
+ string: string;
171
+ variableName: string;
172
+ dimension: string;
173
+ hierarchy: string;
174
+ level: string;
175
+ member: string;
176
+ measureGroup: string;
177
+ measureFolder: string;
178
+ measure: string;
179
+ set: string;
180
+ calcMeasure: string;
181
+ event: string;
182
+ hierarchyFolder: string;
183
+ };
157
184
  }
158
185
  interface MandatorySingleColors {
159
186
  /**
@@ -230,6 +257,7 @@ export interface ic3PaletteOptions {
230
257
  'default'?: Property.Color;
231
258
  } & Record<string, Property.Color>;
232
259
  onHover?: (color: Property.Color) => Property.Color;
260
+ mdx?: Partial<ic3Palette['mdx']>;
233
261
  }
234
262
  export interface ic3Typography {
235
263
  amCharts4: TypographyStyleOptions;
@@ -249,7 +277,7 @@ export interface ic3Theme {
249
277
  id: string;
250
278
  caption: string;
251
279
  cssClass: string;
252
- loadFonts?: (continuation: () => void) => void;
280
+ waitForFonts?: () => Promise<any>;
253
281
  formatter: ThemeFormatters;
254
282
  /**
255
283
  * Icons used in tables and trees
@@ -262,11 +290,35 @@ export interface ic3Theme {
262
290
  sort: (className: string) => ReactElement | string;
263
291
  sortAsc: (className: string) => ReactElement | string;
264
292
  sortDesc: (className: string) => ReactElement | string;
293
+ datePickerIcon?: React.ElementType;
294
+ menuIcon: JSX.Element;
295
+ statusWaiting: JSX.Element;
296
+ statusWaitingResult: JSX.Element;
297
+ statusRendering: JSX.Element;
298
+ statusDone: JSX.Element;
299
+ queryError: JSX.Element;
300
+ queryWarning: JSX.Element;
301
+ helpIcon: JSX.Element;
302
+ closeQueryIcon: JSX.Element;
303
+ interactionModeSelection: JSX.Element;
304
+ interactionModeDrilldown: JSX.Element;
305
+ autocompleteClearIcon: JSX.Element | undefined;
306
+ autocompletePopupIcon: JSX.Element | undefined;
307
+ nodeOpened: JSX.Element;
308
+ nodeClosed: JSX.Element;
309
+ checkBoxUnselected: React.ReactNode | undefined;
310
+ checkBoxSelected: React.ReactNode | undefined;
311
+ checkIndeterminate: React.ReactNode | undefined;
312
+ radioUnselected: React.ReactNode | undefined;
313
+ radioSelected: React.ReactNode | undefined;
265
314
  };
266
315
  table: Record<TableRowHeightOptions, {
267
316
  rowHeight: number;
268
317
  headerRowHeight: number;
269
318
  }>;
319
+ treeFilter: {
320
+ itemHeight: number;
321
+ };
270
322
  googleMap: {
271
323
  options?: google.maps.MapOptions;
272
324
  markerClustererOptions?: MarkerClustererOptions;
@@ -365,20 +417,24 @@ export interface ic3ThemeOptions {
365
417
  id: string;
366
418
  caption: string;
367
419
  cssClass?: string;
368
- loadFonts?: (continuation: () => void) => void;
420
+ /**
421
+ * The recommended setup is to use document.fonts.ready here and put document.fonts.load(...) for all your added
422
+ * fonts in the theme definition .ts file.
423
+ */
424
+ waitForFonts?: () => Promise<any>;
369
425
  formatter?: ThemeFormattersOptions;
370
- icons?: {
371
- expanded?: (className: string) => ReactElement | string;
372
- collapse?: (className: string) => ReactElement | string;
373
- loading?: (className: string) => ReactElement | string;
374
- sort?: (className: string) => ReactElement | string;
375
- sortAsc?: (className: string) => ReactElement | string;
376
- sortDesc?: (className: string) => ReactElement | string;
377
- };
426
+ icons?: Partial<ic3Theme['icons']>;
378
427
  table?: Record<TableRowHeightOptions, Partial<{
379
428
  rowHeight: number;
380
429
  headerRowHeight: number;
381
430
  }>>;
431
+ treeFilter?: {
432
+ /**
433
+ * Define the height for an item in the tree. This cannot be done using css, because the tree is virtualized and
434
+ * requires a fixed height setting.
435
+ */
436
+ itemHeight?: number;
437
+ };
382
438
  googleMap?: {
383
439
  options?: google.maps.MapOptions;
384
440
  };
@@ -461,9 +517,6 @@ interface ic3BaseComponents {
461
517
  App?: {
462
518
  styleOverrides?: ComponentsOverrides["App"];
463
519
  };
464
- DrilldownUserSelectMenu?: {
465
- styleOverrides?: ComponentsOverrides["DrilldownUserSelectMenu"];
466
- };
467
520
  ErrorRenderer?: {
468
521
  styleOverrides?: ComponentsOverrides["ErrorRenderer"];
469
522
  };
@@ -475,14 +528,26 @@ interface ic3BaseComponents {
475
528
  styleOverrides?: ComponentsOverrides["FilterButtons"];
476
529
  variants?: ComponentsVariants["FilterButtons"];
477
530
  };
531
+ LazyTreeViewStyled?: {
532
+ styleOverrides?: ComponentsOverrides["LazyTreeViewStyled"];
533
+ variants?: ComponentsVariants["LazyTreeViewStyled"];
534
+ };
478
535
  FilterPanel?: {
479
536
  variants?: ComponentsVariants['FilterPanel'];
480
537
  styleOverrides?: ComponentsOverrides["FilterPanel"];
481
538
  };
539
+ SingleFilterPanel?: {
540
+ variants?: ComponentsVariants['SingleFilterPanel'];
541
+ styleOverrides?: ComponentsOverrides["SingleFilterPanel"];
542
+ };
482
543
  FilterSlider?: {
483
544
  styleOverrides?: ComponentsOverrides["FilterSlider"];
484
545
  variants?: ComponentsVariants["FilterSlider"];
485
546
  };
547
+ ListCounter?: {
548
+ styleOverrides?: ComponentsOverrides["ListCounter"];
549
+ variants?: ComponentsVariants["ListCounter"];
550
+ };
486
551
  FilterTree?: {
487
552
  styleOverrides?: ComponentsOverrides["FilterTree"];
488
553
  variants?: ComponentsVariants["FilterTree"];
@@ -539,6 +604,10 @@ interface ic3BaseComponents {
539
604
  QueryBuilderNode?: {
540
605
  styleOverrides?: ComponentsOverrides["QueryBuilderNode"];
541
606
  };
607
+ PrintButton?: {
608
+ styleOverrides?: ComponentsOverrides["PrintButton"];
609
+ variants?: ComponentsVariants["PrintButton"];
610
+ };
542
611
  }
543
612
  /**
544
613
  * For Typing purpose extending MUI Theme with ic3 components
@@ -553,55 +622,9 @@ export interface ic3Components extends ic3BaseComponents, Components {
553
622
  declare module "@mui/material/styles/createPalette" {
554
623
  interface Palette {
555
624
  ic3: ic3Palette;
556
- mdx: {
557
- annotation: string;
558
- comment: string;
559
- definitionKeyword: string;
560
- keyword: string;
561
- labelName: string;
562
- number: string;
563
- operator: string;
564
- propertyName: string;
565
- separator: string;
566
- string: string;
567
- variableName: string;
568
- dimension: string;
569
- hierarchy: string;
570
- level: string;
571
- member: string;
572
- measureGroup: string;
573
- measureFolder: string;
574
- measure: string;
575
- set: string;
576
- calcMeasure: string;
577
- event: string;
578
- };
579
625
  }
580
626
  interface PaletteOptions {
581
627
  ic3?: ic3PaletteOptions;
582
- mdx?: {
583
- annotation?: string;
584
- comment?: string;
585
- definitionKeyword?: string;
586
- keyword?: string;
587
- labelName?: string;
588
- number?: string;
589
- operator?: string;
590
- propertyName?: string;
591
- separator?: string;
592
- string?: string;
593
- variableName?: string;
594
- dimension?: string;
595
- hierarchy?: string;
596
- level?: string;
597
- member?: string;
598
- measureGroup?: string;
599
- measureFolder?: string;
600
- measure?: string;
601
- set?: string;
602
- calcMeasure?: string;
603
- event?: string;
604
- };
605
628
  }
606
629
  }
607
630
  declare module "@mui/material/styles/createTypography" {
@@ -634,12 +657,14 @@ declare module '@mui/material/styles/overrides' {
634
657
  interface ComponentNameToClassKey {
635
658
  AlertDialog: AlertDialogClassKey;
636
659
  App: AppClassKey;
637
- DrilldownUserSelectMenu: DrilldownUserSelectMenuClassKey;
638
660
  ErrorRenderer: ErrorRendererClassKey;
639
661
  FilterCheckbox: FilterCheckboxRadioClassKey;
640
662
  FilterButtons: FilterButtonsClassKey;
663
+ LazyTreeViewStyled: LazyTreeClassesClassKey;
641
664
  FilterPanel: FilterPanelClassesKey;
665
+ SingleFilterPanel: FilterPanelClassesKey;
642
666
  FilterSlider: FilterSliderClassKey;
667
+ ListCounter: ListCounterClassKey;
643
668
  FilterTree: FilterTreeClassKey;
644
669
  FilterDatePicker: DatePickerClassKey;
645
670
  FilterAutocomplete: FilterAutocompleteClassesKey;
@@ -653,16 +678,20 @@ declare module '@mui/material/styles/overrides' {
653
678
  WidgetBox: WidgetBoxClassKey;
654
679
  WidgetBoxContentMessage: WidgetBoxContentMessageClassKey;
655
680
  ReportAppLeftPanel: ReportAppLeftPanelClassKey;
656
- AppMenuIcon: ThemeAppMenuIconClassKey;
657
- QueryBuilderNode: ThemeQueryBuilderNodeClassKey;
681
+ AppMenuIcon: AppMenuIconClassKey;
682
+ QueryBuilderNode: QueryBuilderNodeClassKey;
683
+ PrintButton: PrintButtonClassKey;
658
684
  }
659
685
  }
660
686
  declare module '@mui/material/styles/props' {
661
687
  interface ComponentsPropsList {
662
688
  FilterCheckbox: FilterCheckboxRadioChartOptions;
663
689
  FilterButtons: FilterButtonsChartOptions;
690
+ LazyTreeViewStyled: Record<never, any>;
664
691
  FilterPanel: FilterPanelProps;
692
+ SingleFilterPanel: Record<never, any>;
665
693
  FilterSlider: FilterSliderChartOptions;
694
+ ListCounter: Record<never, any>;
666
695
  FilterTree: FilterTreeChartOptions;
667
696
  FilterDatePicker: DatePickerChartOptions;
668
697
  FilterAutocomplete: FilterAutocompleteChartOptions;
@@ -675,6 +704,7 @@ declare module '@mui/material/styles/props' {
675
704
  AppMenuIconStyled: AppMenuIconProps;
676
705
  App: AppDivProps;
677
706
  QueryBuilderNode: QueryBuilderNodeProps;
707
+ PrintButton: PrintButtonChartOptions;
678
708
  }
679
709
  }
680
710
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AA8RA,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACnB,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC"}
1
+ {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AA4TA,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACnB,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC"}
@@ -10,7 +10,7 @@ export interface ITidyColumnTypedValue {
10
10
  fValue?: string;
11
11
  type: TidyColumnsType;
12
12
  }
13
- export declare type ITidyColumnAddValue = ITidyColumnAddValueInsert | ITidyColumnAddValueCopyRow;
13
+ export type ITidyColumnAddValue = ITidyColumnAddValueInsert | ITidyColumnAddValueCopyRow;
14
14
  export interface ITidyColumnAddValueInsert {
15
15
  options: "INSERT";
16
16
  value: ITidyColumnTypedValue;
@@ -127,8 +127,8 @@ export interface ITidyColumnXlsxCell {
127
127
  /** The style/theme of the cell (if applicable) */
128
128
  s?: any;
129
129
  }
130
- declare type NonNullable<T> = Exclude<T, null | undefined>;
131
- export declare type AllowedColumnType<T> = TidyColumnsType.UNKNOWN | TidyColumnsType.MIXED | (NonNullable<T> extends Property.Color ? TidyColumnsType.COLOR : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends string ? TidyColumnsType.CHARACTER : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends number ? TidyColumnsType.NUMERIC | TidyColumnsType.LATITUDE | TidyColumnsType.LONGITUDE : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends boolean ? TidyColumnsType.LOGICAL : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends any[] ? TidyColumnsType.LIST : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends Date ? TidyColumnsType.DATETIME : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends unknown ? TidyColumnsType : TidyColumnsType.UNKNOWN) | (T extends null ? TidyColumnsType.NULL : TidyColumnsType.UNKNOWN);
130
+ type NonNullable<T> = Exclude<T, null | undefined>;
131
+ export type AllowedColumnType<T> = TidyColumnsType.UNKNOWN | TidyColumnsType.MIXED | (NonNullable<T> extends Property.Color ? TidyColumnsType.COLOR : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends string ? TidyColumnsType.CHARACTER : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends number ? TidyColumnsType.NUMERIC | TidyColumnsType.LATITUDE | TidyColumnsType.LONGITUDE : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends boolean ? TidyColumnsType.LOGICAL : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends any[] ? TidyColumnsType.LIST : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends Date ? TidyColumnsType.DATETIME : TidyColumnsType.UNKNOWN) | (NonNullable<T> extends unknown ? TidyColumnsType : TidyColumnsType.UNKNOWN) | (T extends null ? TidyColumnsType.NULL : TidyColumnsType.UNKNOWN);
132
132
  export interface ITidyBaseColumnReadonly<T> {
133
133
  /**
134
134
  * Returns the length of the value array.
@@ -221,11 +221,19 @@ export interface ITidyBaseColumnReadonly<T> {
221
221
  * @see ITidyBaseColumn.reIndex
222
222
  */
223
223
  reIndexN(index: number[]): ITidyBaseColumn<T>;
224
+ /**
225
+ * Returns the color of this columns header.
226
+ */
227
+ getHeaderColor(): string | undefined;
224
228
  }
225
229
  /**
226
230
  * Base interface for nullable column.
227
231
  */
228
232
  export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
233
+ /**
234
+ * Set the color for the columns header
235
+ */
236
+ setHeaderColor(color: string | undefined): void;
229
237
  isSameDimensionality(other: ITidyBaseColumn<any>): boolean;
230
238
  getErrors(): (TidyCellError | undefined)[];
231
239
  /**
@@ -260,6 +268,10 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
260
268
  * @param idx the position to return the value of.
261
269
  */
262
270
  getExcelCell(idx: number): ITidyColumnXlsxCell | undefined;
271
+ /**
272
+ * Returns excel format, best effort
273
+ */
274
+ getExcelFormat(): string | undefined;
263
275
  /**
264
276
  * Returns the type for Material-UI Table/Grid
265
277
  */
@@ -344,6 +356,10 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
344
356
  * Returns true if and only if the node in the hierarchy has children.
345
357
  */
346
358
  hasChildren(index: number): boolean;
359
+ /**
360
+ * Returns the children of the node at index.
361
+ */
362
+ getChildren(index: number): number[];
347
363
  /**
348
364
  * Return the siblings of the node in the hierarchy at the index.
349
365
  * Including the node itself.
@@ -521,9 +537,10 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
521
537
  */
522
538
  mapAxisOrRows<K>(callbackfn: (rowIdx: number, column: ITidyBaseColumn<T>) => K): K[];
523
539
  /**
524
- * @param callbackfn if the return value is undefined do not map the row
540
+ * @param callbackFn if the return value of callbackFn is undefined, then it is not included in the returned array.
541
+ * @param forceMapAllRows if true, also include values returned by callbackFn that are undefined.
525
542
  */
526
- mapAllRows<P>(callbackfn: (index: number, column: ITidyBaseColumn<T>) => P | undefined, forceMapAllRows?: boolean): P[];
543
+ mapAllRows<P>(callbackFn: (index: number, column: ITidyBaseColumn<T>) => P | undefined, forceMapAllRows?: boolean): P[];
527
544
  /**
528
545
  * Map the rows that are visible given a hierarchical axis and an array of boolean values
529
546
  * @param expanded an array indicating for each index if it is expanded or not. If it is collapsed, then all
@@ -536,7 +553,7 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
536
553
  * true for that node.
537
554
  * @param filter Possibly filter the nodes.
538
555
  */
539
- mapTreeVisibleRows<P>(expanded: (rowIdx: number) => boolean, fun: (index: number, isCollapsed: boolean) => P, filter?: (info: MdxInfo) => boolean): P[];
556
+ mapTreeVisibleRows<P>(expanded: (rowIdx: number) => boolean, fun: (rowIdx: number, isCollapsed: boolean) => P, filter?: (info: MdxInfo) => boolean): P[];
540
557
  /**
541
558
  * Set a property on the column. If the property already exists, it is overwritten.
542
559
  * @param property the column to set as a property. Ensure that the lengths are the same.
@@ -574,7 +591,8 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
574
591
  */
575
592
  toFlatColumns(nullValue: any): ITidyUnknownColumn[];
576
593
  /**
577
- * Returns the tree-path for the node, including the node itself.
594
+ * Returns the tree-path for the node, including the node itself. The path starts at the node at rowIdx and contains
595
+ * its parents.
578
596
  * @param rowIdx column index of the node.
579
597
  */
580
598
  getNodePath(rowIdx: number): number[];
@@ -593,6 +611,7 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
593
611
  setCellDecoration(decoration: PublicTidyColumnCellDecoration): void;
594
612
  /**
595
613
  * Return the index of the column.
614
+ * @see tidyTable.
596
615
  */
597
616
  getIndex(): ITidyColumnIndex[];
598
617
  /**
@@ -629,17 +648,17 @@ export interface HtmlTidyColumnCellDecoration extends BaseTidyColumnCellDecorati
629
648
  stringRenderer: true;
630
649
  renderer: (rowIdx: number, options?: PublicTidyColumnCellDecorationRenderedOptions) => string;
631
650
  }
632
- export declare type PublicTidyColumnCellDecoration = ReactTidyColumnCellDecoration | HtmlTidyColumnCellDecoration;
633
- export declare type ITidyColumn = ITidyBaseColumn<any>;
634
- export declare type ITidyUnknownColumn = ITidyBaseColumn<unknown>;
635
- export declare type ITidyNullColumn = ITidyBaseColumn<null>;
636
- export declare type ITidyNumericColumn = ITidyBaseColumn<number | null>;
637
- export declare type ITidyCharacterColumn = ITidyBaseColumn<string | null>;
638
- export declare type ITidyColorColumn = ITidyBaseColumn<Property.Color | null>;
639
- export declare type ITidyDateColumn = ITidyBaseColumn<Date | null>;
640
- export declare type ITidyLogicalColumn = ITidyBaseColumn<boolean | null>;
641
- export declare type ITidyListColumn = ITidyBaseColumn<any[] | null>;
642
- export declare type ITidyColumnIsType<T extends TidyColumnsType> = T extends TidyColumnsType.ANY ? ITidyColumn : T extends TidyColumnsType.COLOR ? ITidyColorColumn : T extends TidyColumnsType.LONGITUDE ? ITidyBaseColumn<number | null> : T extends TidyColumnsType.LATITUDE ? ITidyBaseColumn<number | null> : T extends TidyColumnsType.ISO2_LOCATION_CODE ? ITidyCharacterColumn : T extends TidyColumnsType.DATETIME ? ITidyDateColumn : T extends TidyColumnsType.NUMERIC ? ITidyNumericColumn : T extends TidyColumnsType.CHARACTER ? ITidyCharacterColumn : T extends TidyColumnsType.LOGICAL ? ITidyLogicalColumn : T extends TidyColumnsType.LIST ? ITidyListColumn : T extends TidyColumnsType.MIXED ? ITidyColumn : T extends TidyColumnsType.NULL ? ITidyNullColumn : ITidyUnknownColumn;
651
+ export type PublicTidyColumnCellDecoration = ReactTidyColumnCellDecoration | HtmlTidyColumnCellDecoration;
652
+ export type ITidyColumn = ITidyBaseColumn<any>;
653
+ export type ITidyUnknownColumn = ITidyBaseColumn<unknown>;
654
+ export type ITidyNullColumn = ITidyBaseColumn<null>;
655
+ export type ITidyNumericColumn = ITidyBaseColumn<number | null>;
656
+ export type ITidyCharacterColumn = ITidyBaseColumn<string | null>;
657
+ export type ITidyColorColumn = ITidyBaseColumn<Property.Color | null>;
658
+ export type ITidyDateColumn = ITidyBaseColumn<Date | null>;
659
+ export type ITidyLogicalColumn = ITidyBaseColumn<boolean | null>;
660
+ export type ITidyListColumn = ITidyBaseColumn<any[] | null>;
661
+ export type ITidyColumnIsType<T extends TidyColumnsType> = T extends TidyColumnsType.ANY ? ITidyColumn : T extends TidyColumnsType.COLOR ? ITidyColorColumn : T extends TidyColumnsType.LONGITUDE ? ITidyBaseColumn<number | null> : T extends TidyColumnsType.LATITUDE ? ITidyBaseColumn<number | null> : T extends TidyColumnsType.ISO2_LOCATION_CODE ? ITidyCharacterColumn : T extends TidyColumnsType.DATETIME ? ITidyDateColumn : T extends TidyColumnsType.NUMERIC ? ITidyNumericColumn : T extends TidyColumnsType.CHARACTER ? ITidyCharacterColumn : T extends TidyColumnsType.LOGICAL ? ITidyLogicalColumn : T extends TidyColumnsType.LIST ? ITidyListColumn : T extends TidyColumnsType.MIXED ? ITidyColumn : T extends TidyColumnsType.NULL ? ITidyNullColumn : ITidyUnknownColumn;
643
662
  /**
644
663
  * Introduced for tidy table HTML expression (e.g., tooltip) completion.
645
664
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,13 @@ export interface ITidyTable {
89
89
  * @param alias mapping name
90
90
  */
91
91
  getColumnByAlias(alias: string): ITidyColumn;
92
+ /**
93
+ * Returns multiple columns. For example, in the line chart, this function returns all the columns mapped in the
94
+ * values option.
95
+ * @see getColumnByAlias
96
+ * @param alias
97
+ */
98
+ getColumnsByAlias(alias: string): ITidyColumn[];
92
99
  /**
93
100
  * @see {getOptionalColumnByRole}
94
101
  * @param role mapping name
@@ -409,6 +416,13 @@ export interface ITidyTable {
409
416
  */
410
417
  createColumn<T>(name: string, values: T[], type?: AllowedColumnType<T>): ITidyBaseColumn<T>;
411
418
  createTable(): ITidyTable;
419
+ /**
420
+ * Returns a new table with the original columns and rows filtered and in a new order
421
+ *
422
+ * cols : [2,1,4] -> 3 columns in a new order
423
+ * rowIdx:[55,2,3,5] -> 4 rows in a new order
424
+ */
425
+ createFilteredTable(colIdx: number[] | undefined, rowIdx: number[] | undefined): ITidyTable;
412
426
  /**
413
427
  * Print the table as a markdown table (e.g., used for internal documentation).
414
428
  */
@@ -493,4 +507,15 @@ export interface ITidyTable {
493
507
  * Returns true if and only if the table is truncated by the server (too many rows otherwise).
494
508
  */
495
509
  reachedMaxTidyRowCount(): boolean;
510
+ /**
511
+ * Some MDX queries return headers that have a hierarchy. This function returns the number of header rows.
512
+ * For example, the table below has two headers.
513
+ *
514
+ * 2020 | | 2021 |
515
+ * car | bike | car | bike
516
+ * -------------------------------------
517
+ * 40 | 50 | 55 | 35
518
+ *
519
+ */
520
+ getTopHeaderHierarchyCount(): number;
496
521
  }
@@ -4,6 +4,7 @@ import { ILazyTreeViewLoader } from "./LazyTreeView";
4
4
  import { PublicIcEvent } from "./IcEvent";
5
5
  import { Theme } from "@mui/material/styles";
6
6
  import { MdxNodeIdentifier } from "./PublicTidyTable";
7
+ import { AppNotification } from "./INotification";
7
8
  export declare enum SelectionMode {
8
9
  /**
9
10
  * User can only select one item.
@@ -28,8 +29,8 @@ export declare enum TidyPivotTableLikeNodeStatus {
28
29
  WITH_DRILLDOWN = 3,
29
30
  LOADING = 4
30
31
  }
31
- export declare type TidyEvent = MouseEvent | TouchEvent;
32
- export declare type IWidgetInteractionMode = "drilldown" | "selection";
32
+ export type TidyEvent = MouseEvent | TouchEvent;
33
+ export type IWidgetInteractionMode = "drilldown" | "selection";
33
34
  export interface ITidyTableInteractionSelection {
34
35
  /**
35
36
  * Sets the selection at the creation of the widget.
@@ -288,4 +289,8 @@ export interface ITidyTableInteraction extends ITidyTableInteractionSelection, I
288
289
  * Add an item to the interactions selection.
289
290
  */
290
291
  setSelection(items: ITidyTableSelection | ITidyTableSelection[]): void;
292
+ /**
293
+ * Use for publishing app notifications, e.g., print the report.
294
+ */
295
+ publishAppNotification(notification: AppNotification): void;
291
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyTableInteractions.js","sourceRoot":"","sources":["../src/PublicTidyTableInteractions.ts"],"names":[],"mappings":";;;AAOA,IAAY,aAUX;AAVD,WAAY,aAAa;IACrB;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,sCAAqB,CAAA;AACzB,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kDAA6B,CAAA;IAC7B;;OAEG;IACH,4DAAuC,CAAA;AAC3C,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAGD,IAAY,4BAMX;AAND,WAAY,4BAA4B;IACpC,yFAAS,CAAA;IACT,uFAAQ,CAAA;IACR,uHAAwB,CAAA;IACxB,mGAAc,CAAA;IACd,qFAAO,CAAA;AACX,CAAC,EANW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAMvC"}
1
+ {"version":3,"file":"PublicTidyTableInteractions.js","sourceRoot":"","sources":["../src/PublicTidyTableInteractions.ts"],"names":[],"mappings":";;;AAQA,IAAY,aAUX;AAVD,WAAY,aAAa;IACrB;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,sCAAqB,CAAA;AACzB,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB;AAED,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kDAA6B,CAAA;IAC7B;;OAEG;IACH,4DAAuC,CAAA;AAC3C,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAGD,IAAY,4BAMX;AAND,WAAY,4BAA4B;IACpC,yFAAS,CAAA;IACT,uFAAQ,CAAA;IACR,uHAAwB,CAAA;IACxB,mGAAc,CAAA;IACd,qFAAO,CAAA;AACX,CAAC,EANW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAMvC"}
@@ -3,3 +3,4 @@ export declare function isTidyTableMappingColumnSelectorOptions(v: unknown): v i
3
3
  export declare function isTidyTableColumnIdentifier(v: unknown): v is TidyTableColumnIdentifier;
4
4
  export declare function isTidyTableRoleSelector(v: unknown): v is TidyTableRoleSelector;
5
5
  export declare function isTidyTableColumnSelector(v: unknown): v is TidyTableColumnSelector;
6
+ export declare function isTidyTableColumnsChooser(columnChooserValue: unknown): columnChooserValue is (TidyTableColumnSelector | TidyTableColumnSelector[]);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTidyTableColumnSelector = exports.isTidyTableRoleSelector = exports.isTidyTableColumnIdentifier = exports.isTidyTableMappingColumnSelectorOptions = void 0;
3
+ exports.isTidyTableColumnsChooser = exports.isTidyTableColumnSelector = exports.isTidyTableRoleSelector = exports.isTidyTableColumnIdentifier = exports.isTidyTableMappingColumnSelectorOptions = void 0;
4
4
  function isTidyTableMappingColumnSelectorOptions(v) {
5
5
  return typeof v === "string" && v.startsWith('@IC3_');
6
6
  }
@@ -19,4 +19,19 @@ function isTidyTableColumnSelector(v) {
19
19
  || isTidyTableRoleSelector(v);
20
20
  }
21
21
  exports.isTidyTableColumnSelector = isTidyTableColumnSelector;
22
+ function isTidyTableColumnsChooser(columnChooserValue) {
23
+ // Type guarding
24
+ if (Array.isArray(columnChooserValue)) {
25
+ if (columnChooserValue.every(v => isTidyTableColumnSelector(v))) {
26
+ return true;
27
+ }
28
+ }
29
+ else {
30
+ if (isTidyTableColumnSelector(columnChooserValue)) {
31
+ return true;
32
+ }
33
+ }
34
+ return false;
35
+ }
36
+ exports.isTidyTableColumnsChooser = isTidyTableColumnsChooser;
22
37
  //# sourceMappingURL=PublicTidyTableTypeGuards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyTableTypeGuards.js","sourceRoot":"","sources":["../src/PublicTidyTableTypeGuards.ts"],"names":[],"mappings":";;;AAQA,SAAgB,uCAAuC,CAAC,CAAU;IAC9D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAFD,0FAEC;AAED,SAAgB,2BAA2B,CAAC,CAAU;IAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,kEAEC;AAED,SAAgB,uBAAuB,CAAC,CAAU;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,0DAEC;AAED,SAAgB,yBAAyB,CAAC,CAAU;IAChD,OAAO,uCAAuC,CAAC,CAAC,CAAC;WAC1C,2BAA2B,CAAC,CAAC,CAAC;WAC9B,uBAAuB,CAAC,CAAC,CAAC,CAC5B;AACT,CAAC;AALD,8DAKC"}
1
+ {"version":3,"file":"PublicTidyTableTypeGuards.js","sourceRoot":"","sources":["../src/PublicTidyTableTypeGuards.ts"],"names":[],"mappings":";;;AAQA,SAAgB,uCAAuC,CAAC,CAAU;IAC9D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAFD,0FAEC;AAED,SAAgB,2BAA2B,CAAC,CAAU;IAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,kEAEC;AAED,SAAgB,uBAAuB,CAAC,CAAU;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,0DAEC;AAED,SAAgB,yBAAyB,CAAC,CAAU;IAChD,OAAO,uCAAuC,CAAC,CAAC,CAAC;WAC1C,2BAA2B,CAAC,CAAC,CAAC;WAC9B,uBAAuB,CAAC,CAAC,CAAC,CAC5B;AACT,CAAC;AALD,8DAKC;AAED,SAAgB,yBAAyB,CAAC,kBAA2B;IACjE,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7D,OAAO,IAAI,CAAC;SACf;KACJ;SAAM;QACH,IAAI,yBAAyB,CAAC,kBAAkB,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAC;SACf;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,8DAYC"}