@splunk/visualizations 26.1.1 → 26.2.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.
- package/Area.config.js +2 -1
- package/Area.config.js.map +1 -1
- package/Area.js +1562 -433
- package/Area.js.map +1 -1
- package/Bar.config.js +1 -0
- package/Bar.config.js.map +1 -1
- package/Bar.js +1555 -430
- package/Bar.js.map +1 -1
- package/Bubble.config.js +1 -0
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +1580 -455
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +1 -0
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +1418 -351
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +2 -1
- package/Column.config.js.map +1 -1
- package/Column.js +1564 -435
- package/Column.js.map +1 -1
- package/Ellipse.config.js +1 -0
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +1342 -297
- package/Ellipse.js.map +1 -1
- package/Events.config.js +4 -0
- package/Events.config.js.map +1 -1
- package/Events.js +1503 -489
- package/Events.js.map +1 -1
- package/FEATUREFLAGS.md +3 -0
- package/FillerGauge.config.js +1 -0
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +1406 -345
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +1 -0
- package/Image.config.js.map +1 -1
- package/Image.js +2355 -1183
- package/Image.js.map +1 -1
- package/Line.config.js +2 -1
- package/Line.config.js.map +1 -1
- package/Line.js +1562 -433
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +1 -0
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +2013 -968
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +1 -0
- package/Map.config.js.map +1 -1
- package/Map.js +2556 -1527
- package/Map.js.map +1 -1
- package/Markdown.config.js +1 -0
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +1952 -883
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +1 -0
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +4049 -2965
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +1 -0
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +3286 -2215
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +1 -0
- package/Pie.config.js.map +1 -1
- package/Pie.js +2187 -1036
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +1 -0
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +3397 -2299
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +1 -0
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +2181 -1112
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +1 -0
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +3275 -2199
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +1 -0
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +3551 -2400
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +27 -0
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +5551 -4397
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +1227 -1209
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +27 -0
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +2850 -1696
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +1 -0
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +6334 -5215
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +96 -96
- package/SparkLine.js.map +1 -1
- package/Table.config.js +172 -7
- package/Table.config.js.map +1 -1
- package/Table.js +3517 -2212
- package/Table.js.map +1 -1
- package/common/Charting.js +1009 -82
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +4 -4
- package/common/ChartingApi.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +54 -57
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/EventsDoc.js +40 -40
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +15 -13
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +12 -12
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +34 -34
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +124 -103
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +49 -49
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +4 -4
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +31 -31
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +24 -8
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +4 -4
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +16 -16
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +36 -36
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +48 -47
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +832 -6
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/featureFlagUtils.js +139 -0
- package/common/utils/featureFlagUtils.js.map +1 -0
- package/common/utils/hocUtils.js +2 -2
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +2 -2
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +77 -54
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +28 -19
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +10 -10
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +6 -6
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +2 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +1313 -235
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +13 -12
- package/__mocks__/fileMock.js +0 -2
- package/__mocks__/styleMock.js +0 -2
- package/babel.config.js +0 -11
- package/jest.config.js +0 -8
- package/loki.config.js +0 -14
package/Table.config.js
CHANGED
|
@@ -153,6 +153,7 @@ var VizBehavior;
|
|
|
153
153
|
*/
|
|
154
154
|
VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
|
|
155
155
|
VizBehavior["EVENTS"] = "events";
|
|
156
|
+
VizBehavior["DOWNSAMPLING"] = "downsampling";
|
|
156
157
|
/**
|
|
157
158
|
* Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
|
|
158
159
|
* missing.
|
|
@@ -488,11 +489,17 @@ var variables_1 = __webpack_require__(10);
|
|
|
488
489
|
|
|
489
490
|
var pick_1 = __webpack_require__(9);
|
|
490
491
|
|
|
492
|
+
var TextAlignCenter_1 = __webpack_require__(83);
|
|
493
|
+
|
|
494
|
+
var TextAlignLeft_1 = __webpack_require__(84);
|
|
495
|
+
|
|
496
|
+
var TextAlignRight_1 = __webpack_require__(85);
|
|
497
|
+
|
|
491
498
|
var configUtils_1 = __webpack_require__(4);
|
|
492
499
|
|
|
493
500
|
var VizBehavior_1 = __webpack_require__(2);
|
|
494
501
|
|
|
495
|
-
var consts_1 = __webpack_require__(
|
|
502
|
+
var consts_1 = __webpack_require__(86);
|
|
496
503
|
|
|
497
504
|
var VizCategory_1 = __webpack_require__(8);
|
|
498
505
|
|
|
@@ -588,6 +595,108 @@ var defaultContext = {
|
|
|
588
595
|
tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],
|
|
589
596
|
tableAltRowBackgroundColorsByBackgroundColor: ['> backgroundColor', '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)']
|
|
590
597
|
};
|
|
598
|
+
var headerAlignConfigTable = {
|
|
599
|
+
label: (0, i18n_1._)('Header alignment'),
|
|
600
|
+
editor: 'editor.radioBar',
|
|
601
|
+
option: 'tableFormat.headerAlign',
|
|
602
|
+
editorProps: {
|
|
603
|
+
values: [{
|
|
604
|
+
label: (0, i18n_1._)('Left'),
|
|
605
|
+
value: 'left',
|
|
606
|
+
icon: TextAlignLeft_1.default
|
|
607
|
+
}, {
|
|
608
|
+
label: (0, i18n_1._)('Center'),
|
|
609
|
+
value: 'center',
|
|
610
|
+
icon: TextAlignCenter_1.default
|
|
611
|
+
}, {
|
|
612
|
+
label: (0, i18n_1._)('Right'),
|
|
613
|
+
value: 'right',
|
|
614
|
+
icon: TextAlignRight_1.default
|
|
615
|
+
}]
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
var headerAlignConfigColumn = Object.assign(Object.assign({}, headerAlignConfigTable), {
|
|
619
|
+
option: 'headerAlign',
|
|
620
|
+
editorProps: {
|
|
621
|
+
values: [{
|
|
622
|
+
label: (0, i18n_1._)('Auto'),
|
|
623
|
+
value: 'auto'
|
|
624
|
+
}, {
|
|
625
|
+
label: (0, i18n_1._)('Left'),
|
|
626
|
+
value: 'left',
|
|
627
|
+
icon: TextAlignLeft_1.default
|
|
628
|
+
}, {
|
|
629
|
+
label: (0, i18n_1._)('Center'),
|
|
630
|
+
value: 'center',
|
|
631
|
+
icon: TextAlignCenter_1.default
|
|
632
|
+
}, {
|
|
633
|
+
label: (0, i18n_1._)('Right'),
|
|
634
|
+
value: 'right',
|
|
635
|
+
icon: TextAlignRight_1.default
|
|
636
|
+
}]
|
|
637
|
+
}
|
|
638
|
+
});
|
|
639
|
+
var textOverflowConfigColumn = {
|
|
640
|
+
label: (0, i18n_1._)('Text wrapping'),
|
|
641
|
+
editor: 'editor.radioBar',
|
|
642
|
+
option: 'textOverflow',
|
|
643
|
+
editorProps: {
|
|
644
|
+
values: [{
|
|
645
|
+
label: (0, i18n_1._)('Standard'),
|
|
646
|
+
value: 'break-word'
|
|
647
|
+
}, {
|
|
648
|
+
label: (0, i18n_1._)('Anywhere'),
|
|
649
|
+
value: 'anywhere'
|
|
650
|
+
}, {
|
|
651
|
+
label: (0, i18n_1._)('Trim'),
|
|
652
|
+
value: 'ellipsis'
|
|
653
|
+
}]
|
|
654
|
+
}
|
|
655
|
+
};
|
|
656
|
+
var textAlignConfigTable = {
|
|
657
|
+
label: (0, i18n_1._)('Cells alignment'),
|
|
658
|
+
editor: 'editor.radioBar',
|
|
659
|
+
option: 'tableFormat.align',
|
|
660
|
+
editorProps: {
|
|
661
|
+
values: [{
|
|
662
|
+
label: (0, i18n_1._)('Auto'),
|
|
663
|
+
value: '> table | type() | matchValue(tableAlignByType)'
|
|
664
|
+
}, {
|
|
665
|
+
label: (0, i18n_1._)('Left'),
|
|
666
|
+
value: 'left',
|
|
667
|
+
icon: TextAlignLeft_1.default
|
|
668
|
+
}, {
|
|
669
|
+
label: (0, i18n_1._)('Center'),
|
|
670
|
+
value: 'center',
|
|
671
|
+
icon: TextAlignCenter_1.default
|
|
672
|
+
}, {
|
|
673
|
+
label: (0, i18n_1._)('Right'),
|
|
674
|
+
value: 'right',
|
|
675
|
+
icon: TextAlignRight_1.default
|
|
676
|
+
}]
|
|
677
|
+
}
|
|
678
|
+
};
|
|
679
|
+
var textAlignConfigColumn = Object.assign(Object.assign({}, textAlignConfigTable), {
|
|
680
|
+
option: 'align',
|
|
681
|
+
editorProps: {
|
|
682
|
+
values: [{
|
|
683
|
+
label: (0, i18n_1._)('Auto'),
|
|
684
|
+
value: 'auto'
|
|
685
|
+
}, {
|
|
686
|
+
label: (0, i18n_1._)('Left'),
|
|
687
|
+
value: 'left',
|
|
688
|
+
icon: TextAlignLeft_1.default
|
|
689
|
+
}, {
|
|
690
|
+
label: (0, i18n_1._)('Center'),
|
|
691
|
+
value: 'center',
|
|
692
|
+
icon: TextAlignCenter_1.default
|
|
693
|
+
}, {
|
|
694
|
+
label: (0, i18n_1._)('Right'),
|
|
695
|
+
value: 'right',
|
|
696
|
+
icon: TextAlignRight_1.default
|
|
697
|
+
}]
|
|
698
|
+
}
|
|
699
|
+
});
|
|
591
700
|
var unitPositionConfig = {
|
|
592
701
|
label: (0, i18n_1._)('Units position'),
|
|
593
702
|
editor: 'editor.select',
|
|
@@ -654,12 +763,13 @@ var optionsSchema = {
|
|
|
654
763
|
type: 'object',
|
|
655
764
|
properties: {
|
|
656
765
|
align: {
|
|
657
|
-
description: 'Specify the alignment for
|
|
658
|
-
type: 'array',
|
|
766
|
+
description: 'Specify the alignment for the whole column. Valid alignments include "left", "center", and "right". You can also pass an array to specify the alignment of each cell. When set to "auto", the column will use the same configuration as tableFormat.align.',
|
|
767
|
+
type: ['string', 'array'],
|
|
659
768
|
items: {
|
|
660
769
|
type: 'string',
|
|
661
770
|
enum: consts_1.validAlignments.concat()
|
|
662
|
-
}
|
|
771
|
+
},
|
|
772
|
+
default: 'auto'
|
|
663
773
|
},
|
|
664
774
|
cellTypes: {
|
|
665
775
|
description: 'Specify how to render data in cells. Valid cell renders include "TextCell", "ArrayCell", "SparklineCell".',
|
|
@@ -685,6 +795,15 @@ var optionsSchema = {
|
|
|
685
795
|
}]
|
|
686
796
|
}
|
|
687
797
|
},
|
|
798
|
+
headerAlign: {
|
|
799
|
+
description: 'Specify the heaader alignment for the whole column. Valid alignments include "left", "center", and "right". When set to "auto", the column will use the same configuration as tableFormat.headerAlign',
|
|
800
|
+
type: 'string',
|
|
801
|
+
items: {
|
|
802
|
+
type: 'string',
|
|
803
|
+
enum: consts_1.validAlignments.concat()
|
|
804
|
+
},
|
|
805
|
+
default: 'auto'
|
|
806
|
+
},
|
|
688
807
|
rowBackgroundColors: {
|
|
689
808
|
description: 'Specify a list of colors, in hexadecimal code, for the background color of each column of the table. For example, ["#2C333B", "32373D"].',
|
|
690
809
|
type: 'array',
|
|
@@ -813,8 +932,8 @@ var optionsSchema = {
|
|
|
813
932
|
properties: {
|
|
814
933
|
align: {
|
|
815
934
|
default: '> table | type() | matchValue(tableAlignByType)',
|
|
816
|
-
description: 'Specify alignment for
|
|
817
|
-
type: 'array',
|
|
935
|
+
description: 'Specify alignment for the whole table. Valid alignments include "left", "center", and "right". You can also pass a 2 dimensional array to specify the alignment of each cell. By default, the table will be aligned by type.',
|
|
936
|
+
type: ['string', 'array'],
|
|
818
937
|
items: {
|
|
819
938
|
type: 'array',
|
|
820
939
|
items: {
|
|
@@ -854,6 +973,15 @@ var optionsSchema = {
|
|
|
854
973
|
}
|
|
855
974
|
}
|
|
856
975
|
},
|
|
976
|
+
headerAlign: {
|
|
977
|
+
description: 'Specify the header alignment for the whole table. Valid alignments include "left", "center", and "right".',
|
|
978
|
+
type: 'string',
|
|
979
|
+
items: {
|
|
980
|
+
type: 'string',
|
|
981
|
+
enum: consts_1.validAlignments.concat()
|
|
982
|
+
},
|
|
983
|
+
default: 'left'
|
|
984
|
+
},
|
|
857
985
|
headerBackgroundColor: {
|
|
858
986
|
default: '> themes.defaultHeaderBackgroundColor',
|
|
859
987
|
description: 'Specify the table header background color using a hexadecimal code. For example, "#FFFFFF".',
|
|
@@ -920,6 +1048,15 @@ var optionsSchema = {
|
|
|
920
1048
|
enum: consts_1.validSparklineTypes.concat()
|
|
921
1049
|
}
|
|
922
1050
|
}
|
|
1051
|
+
},
|
|
1052
|
+
textOverflow: {
|
|
1053
|
+
description: 'Specify the text overflow for the whole column. Valid overflows include "break-word", "anywhere", and "ellipsis".',
|
|
1054
|
+
type: 'string',
|
|
1055
|
+
items: {
|
|
1056
|
+
type: 'string',
|
|
1057
|
+
enum: consts_1.validTextOverflows.concat()
|
|
1058
|
+
},
|
|
1059
|
+
default: 'break-word'
|
|
923
1060
|
}
|
|
924
1061
|
}
|
|
925
1062
|
}
|
|
@@ -1071,10 +1208,11 @@ var editorConfig = [{
|
|
|
1071
1208
|
labelPosition: 'top',
|
|
1072
1209
|
labelWidth: EDITOR_LABEL_WIDTH
|
|
1073
1210
|
}
|
|
1074
|
-
}], [{
|
|
1211
|
+
}], [Object.assign({}, headerAlignConfigTable)], [Object.assign({}, textAlignConfigTable)], [{
|
|
1075
1212
|
label: (0, i18n_1._)('Column-specific formatting'),
|
|
1076
1213
|
editor: 'editor.tableColumnFormatter',
|
|
1077
1214
|
editorProps: {
|
|
1215
|
+
// popover: {sections: [textFormatConfig, formatByTypeConfig, columnColoringConfig]}
|
|
1078
1216
|
// Table column coloring does not adhere to same DSL structure as other dynamically colored options
|
|
1079
1217
|
// we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders
|
|
1080
1218
|
columnColoringConfig: {
|
|
@@ -1109,8 +1247,14 @@ var editorConfig = [{
|
|
|
1109
1247
|
},
|
|
1110
1248
|
string: {
|
|
1111
1249
|
unitPosition: 'after'
|
|
1250
|
+
},
|
|
1251
|
+
text: {
|
|
1252
|
+
align: 'auto',
|
|
1253
|
+
headerAlign: 'auto',
|
|
1254
|
+
textOverflow: 'break-word'
|
|
1112
1255
|
}
|
|
1113
1256
|
},
|
|
1257
|
+
textFormatConfig: [[Object.assign({}, headerAlignConfigColumn)], [Object.assign({}, textAlignConfigColumn)], [Object.assign({}, textOverflowConfigColumn)]],
|
|
1114
1258
|
flyoutConfig: {
|
|
1115
1259
|
number: [[Object.assign({}, unitPositionConfig), Object.assign({}, unitLabelConfig)], [{
|
|
1116
1260
|
label: (0, i18n_1._)('Precision'),
|
|
@@ -1190,6 +1334,27 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
|
|
|
1190
1334
|
/***/ }),
|
|
1191
1335
|
|
|
1192
1336
|
/***/ 83:
|
|
1337
|
+
/***/ (function(module, exports) {
|
|
1338
|
+
|
|
1339
|
+
module.exports = require("@splunk/react-icons/TextAlignCenter");
|
|
1340
|
+
|
|
1341
|
+
/***/ }),
|
|
1342
|
+
|
|
1343
|
+
/***/ 84:
|
|
1344
|
+
/***/ (function(module, exports) {
|
|
1345
|
+
|
|
1346
|
+
module.exports = require("@splunk/react-icons/TextAlignLeft");
|
|
1347
|
+
|
|
1348
|
+
/***/ }),
|
|
1349
|
+
|
|
1350
|
+
/***/ 85:
|
|
1351
|
+
/***/ (function(module, exports) {
|
|
1352
|
+
|
|
1353
|
+
module.exports = require("@splunk/react-icons/TextAlignRight");
|
|
1354
|
+
|
|
1355
|
+
/***/ }),
|
|
1356
|
+
|
|
1357
|
+
/***/ 86:
|
|
1193
1358
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1194
1359
|
|
|
1195
1360
|
"use strict";
|
package/Table.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Table/config.ts","webpack:///./src/Table/consts.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"Table.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { map, get } from 'lodash';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport {\n validHeaderVisibilities,\n validAlignments,\n validTextOverflows,\n validCellRenderers,\n validSparklineTypes,\n validFontSizes,\n} from './consts';\nimport { VizCategory } from '../common/interfaces/VizCategory';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n { match: 'null', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n { match: 'null', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst unitPositionConfig = {\n label: _('Units position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n];\n\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You might use a data source to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n columnFormat: {\n description:\n 'Lets you format an individual column in a table. Specify a column in a table as a field, followed by a property. For more information, see the Column Format Align - Left example on the Examples page.',\n type: 'object',\n patternProperties: {\n '.*': {\n description: 'Customization for column property',\n type: 'object',\n properties: {\n align: {\n description:\n 'Specify the alignment for each cell in a column. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n cellTypes: {\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n data: {\n description: 'Specify data points to be displayed in the cells of a column.',\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n rowBackgroundColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each column of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of the cells of a column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineTypes: {\n description:\n 'Choose either area or line formatting for the Sparkline. Valid sparkline types include \"line\" and \"area\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n textOverflow: {\n description:\n 'Controls how the text should be truncated within a particular column. Valid types include \"anywhere\", \"break-word\", \"ellipsis\". Columns are \"break-word\" styled by default when \"textOverflow\" is not configured.',\n type: 'string',\n pattern: getPattern(validTextOverflows),\n enum: validTextOverflows.concat(),\n },\n width: {\n description:\n 'Specify, in pixels, the width of the column. The default displays a minimum width of at least 90, unless the table needs to filled further. The minimum width is 30px.',\n type: 'number',\n minimum: 30,\n },\n },\n },\n },\n },\n count: {\n description: 'Specify the maximum number of rows to display.',\n type: 'number',\n default: 10,\n },\n font: {\n default: 'proportional',\n description: 'Specify the font style to use for table content.',\n type: 'string',\n pattern: getPattern(['proportional', 'monospace']),\n },\n fontSize: {\n default: 'default',\n description:\n 'Specify the font size to use for table content. Font sizes range from extra small (10px) to large (16px) with the default being 14px.',\n type: 'string',\n pattern: getPattern(validFontSizes),\n },\n headers: {\n default: '> table | getField()',\n description:\n \"Specify an array of headers to display on the table. Though these can be statically listed, it's best to use the dynamic default, as it will return the fields of your search.\",\n type: 'array',\n items: {\n type: 'string',\n },\n },\n headerVisibility: {\n default: 'inline',\n description: 'Specify how to display the table header row.',\n pattern: getPattern(validHeaderVisibilities),\n enum: validHeaderVisibilities.concat(),\n type: 'string',\n },\n paginateDataSourceKey: {\n default: 'primary',\n description: 'Specify the data source key for pagination and sorting.',\n type: 'string',\n },\n showInternalFields: {\n default: true,\n description:\n 'Specify whether to show internal fields that start with an underscore. The _time field will still be shown if false.',\n type: 'boolean',\n },\n showRowNumbers: {\n default: false,\n description: 'Show row numbers in the first column.',\n type: 'boolean',\n },\n table: {\n default: '> primary',\n description: 'Two dimensional array of data to be displayed in the table.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n tableFormat: {\n description: 'Lets you set global options for a table.',\n type: 'object',\n properties: {\n align: {\n default: '> table | type() | matchValue(tableAlignByType)',\n description:\n 'Specify alignment for each cell in the table. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n },\n cellTypes: {\n default: '> table | type() | matchValue(tableCellTypeByType)',\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n },\n data: {\n description:\n 'Two dimensional data to be displayed in the table. This is usually formatted data instead of raw data from search.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n headerBackgroundColor: {\n default: '> themes.defaultHeaderBackgroundColor',\n description:\n 'Specify the table header background color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n headerColor: {\n description:\n 'Specify the table header text color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n rowBackgroundColors: {\n default: '> table | seriesByIndex(0) | pick(tableAltRowBackgroundColorsByTheme)',\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineTypes: {\n description: 'Choose either area or line formatting for the Sparkline.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n },\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Rows displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row numbers'),\n option: 'showRowNumbers',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal fields'),\n option: 'showInternalFields',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header row'),\n option: 'headerVisibility',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Proportional (Default)'), value: 'proportional' },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small (font 10px, row 24px)'), value: 'extraSmall' },\n { label: _('Small (font 12px, row 24px)'), value: 'small' },\n { label: _('Default (font 14px, row 32px)'), value: 'default' },\n { label: _('Large (font 16px, row 36px)'), value: 'large' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Column-specific formatting'),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n },\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: false },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: _('Table'),\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\n themes,\n};\n\nexport default enhanceConfig(config);\n","export const validCellRenderers = ['TextCell', 'ArrayCell', 'SparklineCell'] as const;\nexport type CellRenderers = typeof validCellRenderers[number];\nexport const validSparklineTypes = ['line', 'area'] as const;\nexport type SparklineType = typeof validSparklineTypes[number];\nexport const validHeaderVisibilities = ['none', 'fixed', 'inline'] as const;\nexport type TableHeaderVisibility = typeof validHeaderVisibilities[number];\nexport const validAlignments = ['left', 'center', 'right'] as const;\nexport type TableAlignment = typeof validAlignments[number];\nexport const validTextOverflows = ['anywhere', 'break-word', 'ellipsis'] as const;\nexport type TextOverflow = typeof validTextOverflows[number];\nexport const validFontSizes = ['extraSmall', 'small', 'default', 'large'] as const;\nexport type FontSize = typeof validFontSizes[number];\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Table/config.ts","webpack:///external \"@splunk/react-icons/TextAlignCenter\"","webpack:///external \"@splunk/react-icons/TextAlignLeft\"","webpack:///external \"@splunk/react-icons/TextAlignRight\"","webpack:///./src/Table/consts.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"Table.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n DOWNSAMPLING = 'downsampling',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { map, get } from 'lodash';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport TextAlignCenter from '@splunk/react-icons/TextAlignCenter';\nimport TextAlignLeft from '@splunk/react-icons/TextAlignLeft';\nimport TextAlignRight from '@splunk/react-icons/TextAlignRight';\n\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport {\n validHeaderVisibilities,\n validAlignments,\n validTextOverflows,\n validCellRenderers,\n validSparklineTypes,\n validFontSizes,\n} from './consts';\nimport { VizCategory } from '../common/interfaces/VizCategory';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n { match: 'null', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n { match: 'null', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst headerAlignConfigTable = {\n label: _('Header alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.headerAlign',\n editorProps: {\n values: [\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst headerAlignConfigColumn = {\n ...headerAlignConfigTable,\n option: 'headerAlign',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textOverflowConfigColumn = {\n label: _('Text wrapping'),\n editor: 'editor.radioBar',\n option: 'textOverflow',\n editorProps: {\n values: [\n { label: _('Standard'), value: 'break-word' },\n { label: _('Anywhere'), value: 'anywhere' },\n { label: _('Trim'), value: 'ellipsis' },\n ],\n },\n};\n\nconst textAlignConfigTable = {\n label: _('Cells alignment'),\n editor: 'editor.radioBar',\n option: 'tableFormat.align',\n editorProps: {\n values: [\n { label: _('Auto'), value: '> table | type() | matchValue(tableAlignByType)' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst textAlignConfigColumn = {\n ...textAlignConfigTable,\n option: 'align',\n editorProps: {\n values: [\n { label: _('Auto'), value: 'auto' },\n { label: _('Left'), value: 'left', icon: TextAlignLeft },\n { label: _('Center'), value: 'center', icon: TextAlignCenter },\n { label: _('Right'), value: 'right', icon: TextAlignRight },\n ],\n },\n};\n\nconst unitPositionConfig = {\n label: _('Units position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n];\n\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You might use a data source to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n columnFormat: {\n description:\n 'Lets you format an individual column in a table. Specify a column in a table as a field, followed by a property. For more information, see the Column Format Align - Left example on the Examples page.',\n type: 'object',\n patternProperties: {\n '.*': {\n description: 'Customization for column property',\n type: 'object',\n properties: {\n align: {\n description:\n 'Specify the alignment for the whole column. Valid alignments include \"left\", \"center\", and \"right\". You can also pass an array to specify the alignment of each cell. When set to \"auto\", the column will use the same configuration as tableFormat.align.',\n type: ['string', 'array'],\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n default: 'auto',\n },\n cellTypes: {\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n data: {\n description: 'Specify data points to be displayed in the cells of a column.',\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n headerAlign: {\n description:\n 'Specify the heaader alignment for the whole column. Valid alignments include \"left\", \"center\", and \"right\". When set to \"auto\", the column will use the same configuration as tableFormat.headerAlign',\n type: 'string',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n default: 'auto',\n },\n rowBackgroundColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each column of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of the cells of a column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n sparklineTypes: {\n description:\n 'Choose either area or line formatting for the Sparkline. Valid sparkline types include \"line\" and \"area\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n textOverflow: {\n description:\n 'Controls how the text should be truncated within a particular column. Valid types include \"anywhere\", \"break-word\", \"ellipsis\". Columns are \"break-word\" styled by default when \"textOverflow\" is not configured.',\n type: 'string',\n pattern: getPattern(validTextOverflows),\n enum: validTextOverflows.concat(),\n },\n width: {\n description:\n 'Specify, in pixels, the width of the column. The default displays a minimum width of at least 90, unless the table needs to filled further. The minimum width is 30px.',\n type: 'number',\n minimum: 30,\n },\n },\n },\n },\n },\n count: {\n description: 'Specify the maximum number of rows to display.',\n type: 'number',\n default: 10,\n },\n font: {\n default: 'proportional',\n description: 'Specify the font style to use for table content.',\n type: 'string',\n pattern: getPattern(['proportional', 'monospace']),\n },\n fontSize: {\n default: 'default',\n description:\n 'Specify the font size to use for table content. Font sizes range from extra small (10px) to large (16px) with the default being 14px.',\n type: 'string',\n pattern: getPattern(validFontSizes),\n },\n headers: {\n default: '> table | getField()',\n description:\n \"Specify an array of headers to display on the table. Though these can be statically listed, it's best to use the dynamic default, as it will return the fields of your search.\",\n type: 'array',\n items: {\n type: 'string',\n },\n },\n headerVisibility: {\n default: 'inline',\n description: 'Specify how to display the table header row.',\n pattern: getPattern(validHeaderVisibilities),\n enum: validHeaderVisibilities.concat(),\n type: 'string',\n },\n paginateDataSourceKey: {\n default: 'primary',\n description: 'Specify the data source key for pagination and sorting.',\n type: 'string',\n },\n showInternalFields: {\n default: true,\n description:\n 'Specify whether to show internal fields that start with an underscore. The _time field will still be shown if false.',\n type: 'boolean',\n },\n showRowNumbers: {\n default: false,\n description: 'Show row numbers in the first column.',\n type: 'boolean',\n },\n table: {\n default: '> primary',\n description: 'Two dimensional array of data to be displayed in the table.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n tableFormat: {\n description: 'Lets you set global options for a table.',\n type: 'object',\n properties: {\n align: {\n default: '> table | type() | matchValue(tableAlignByType)',\n description:\n 'Specify alignment for the whole table. Valid alignments include \"left\", \"center\", and \"right\". You can also pass a 2 dimensional array to specify the alignment of each cell. By default, the table will be aligned by type.',\n type: ['string', 'array'],\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n },\n cellTypes: {\n default: '> table | type() | matchValue(tableCellTypeByType)',\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n },\n data: {\n description:\n 'Two dimensional data to be displayed in the table. This is usually formatted data instead of raw data from search.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n headerAlign: {\n description:\n 'Specify the header alignment for the whole table. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'string',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n default: 'left',\n },\n headerBackgroundColor: {\n default: '> themes.defaultHeaderBackgroundColor',\n description:\n 'Specify the table header background color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n headerColor: {\n description:\n 'Specify the table header text color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n rowBackgroundColors: {\n default: '> table | seriesByIndex(0) | pick(tableAltRowBackgroundColorsByTheme)',\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineTypes: {\n description: 'Choose either area or line formatting for the Sparkline.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n },\n textOverflow: {\n description:\n 'Specify the text overflow for the whole column. Valid overflows include \"break-word\", \"anywhere\", and \"ellipsis\".',\n type: 'string',\n items: {\n type: 'string',\n enum: validTextOverflows.concat(),\n },\n default: 'break-word',\n },\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Rows displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row numbers'),\n option: 'showRowNumbers',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal fields'),\n option: 'showInternalFields',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header row'),\n option: 'headerVisibility',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Proportional (Default)'), value: 'proportional' },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small (font 10px, row 24px)'), value: 'extraSmall' },\n { label: _('Small (font 12px, row 24px)'), value: 'small' },\n { label: _('Default (font 14px, row 32px)'), value: 'default' },\n { label: _('Large (font 16px, row 36px)'), value: 'large' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n ...headerAlignConfigTable,\n },\n ],\n [\n {\n ...textAlignConfigTable,\n },\n ],\n [\n {\n label: _('Column-specific formatting'),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // popover: {sections: [textFormatConfig, formatByTypeConfig, columnColoringConfig]}\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n text: {\n align: 'auto',\n headerAlign: 'auto',\n textOverflow: 'break-word',\n },\n },\n textFormatConfig: [\n [\n {\n ...headerAlignConfigColumn,\n },\n ],\n [\n {\n ...textAlignConfigColumn,\n },\n ],\n [\n {\n ...textOverflowConfigColumn,\n },\n ],\n ],\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: false },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: _('Table'),\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/TextAlignCenter\");","module.exports = require(\"@splunk/react-icons/TextAlignLeft\");","module.exports = require(\"@splunk/react-icons/TextAlignRight\");","export const validCellRenderers = ['TextCell', 'ArrayCell', 'SparklineCell'] as const;\nexport type CellRenderers = typeof validCellRenderers[number];\nexport const validSparklineTypes = ['line', 'area'] as const;\nexport type SparklineType = typeof validSparklineTypes[number];\nexport const validHeaderVisibilities = ['none', 'fixed', 'inline'] as const;\nexport type TableHeaderVisibility = typeof validHeaderVisibilities[number];\nexport const validAlignments = ['left', 'center', 'right'] as const;\nexport type TableAlignment = typeof validAlignments[number];\nexport const validTextOverflows = ['anywhere', 'break-word', 'ellipsis'] as const;\nexport type TextOverflow = typeof validTextOverflows[number];\nexport const validFontSizes = ['extraSmall', 'small', 'default', 'large'] as const;\nexport type FontSize = typeof validFontSizes[number];\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
|