@splunk/visualizations 26.0.0 → 26.1.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 (150) hide show
  1. package/Area.config.js +102 -18
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +618 -221
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +104 -20
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +624 -219
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +94 -20
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +606 -211
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +65 -14
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +550 -183
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +103 -18
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +637 -221
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -17
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +425 -148
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +100 -18
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +752 -293
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +96 -27
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +759 -374
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +62 -18
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +419 -154
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +106 -22
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +631 -223
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +72 -22
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +632 -219
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +241 -97
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1195 -595
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +70 -20
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +460 -195
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +79 -21
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +802 -411
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +72 -18
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +853 -484
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +75 -22
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +612 -212
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +81 -29
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +844 -379
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +85 -19
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +432 -152
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +84 -22
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +878 -342
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +96 -22
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +607 -212
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +94 -24
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1182 -650
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +286 -225
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +92 -22
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +965 -506
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +99 -26
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1167 -616
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +126 -67
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +73 -20
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +810 -322
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +107 -35
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +18 -7
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/EventsDoc.js +76 -22
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +68 -58
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +43 -34
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +156 -65
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +33 -5
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +31 -4
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +8 -2
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +27 -14
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +44 -12
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/docUtils.js +11 -1
  125. package/common/docUtils.js.map +1 -1
  126. package/common/gaugeUtils.js +173 -90
  127. package/common/gaugeUtils.js.map +1 -1
  128. package/common/shapeUtils.js +14 -2
  129. package/common/shapeUtils.js.map +1 -1
  130. package/common/utils/configUtils.js +49 -14
  131. package/common/utils/configUtils.js.map +1 -1
  132. package/common/utils/dataUtils.js +7 -2
  133. package/common/utils/dataUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +3 -1
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/layoutUtils.js +1 -0
  137. package/common/utils/layoutUtils.js.map +1 -1
  138. package/common/utils/mapUtils.js +287 -127
  139. package/common/utils/mapUtils.js.map +1 -1
  140. package/common/utils/singleValueUtils.js +241 -196
  141. package/common/utils/singleValueUtils.js.map +1 -1
  142. package/common/utils/testHelper.js +9 -0
  143. package/common/utils/testHelper.js.map +1 -1
  144. package/common/utils/trellisUtils.js +61 -0
  145. package/common/utils/trellisUtils.js.map +1 -1
  146. package/common/utils/urlUtils.js +2 -0
  147. package/common/utils/urlUtils.js.map +1 -1
  148. package/common/withDashboardViz.js +274 -95
  149. package/common/withDashboardViz.js.map +1 -1
  150. package/package.json +16 -18
@@ -120,11 +120,14 @@ module.exports = require("@babel/runtime/helpers/slicedToArray");
120
120
 
121
121
 
122
122
  var _typeof = __webpack_require__(13);
123
+
123
124
  Object.defineProperty(exports, "__esModule", {
124
125
  value: true
125
126
  });
126
127
  exports.componentStoriesToInclude = exports.getStoriesToInclude = exports.flattenVizOptions = exports.getOptionsFromArgTypes = exports.transformOptionType = exports.optionsSchemaToArgTypes = exports.platformOptionArgTypes = exports.getOptionControl = exports.getOptionDisplayType = exports.getPatternOptions = void 0;
128
+
127
129
  var lodash_1 = __webpack_require__(3);
130
+
128
131
  var configUtils_1 = __webpack_require__(53);
129
132
  /**
130
133
  * Returns type options from pattern
@@ -137,25 +140,30 @@ var configUtils_1 = __webpack_require__(53);
137
140
  * @param {string} patternString - visualization option type pattern
138
141
  * @return {string[]} array of type options
139
142
  */
143
+
144
+
140
145
  var getPatternOptions = function getPatternOptions(patternString) {
141
146
  return patternString.replace(/\$/g, '').split('|^').slice(1);
142
147
  };
148
+
143
149
  exports.getPatternOptions = getPatternOptions;
144
150
  /**
145
151
  * Returns Storybook display type for an option
146
152
  * @param {object} option - visualization option
147
153
  * @return {string} Storybook display type
148
154
  */
155
+
149
156
  var getOptionDisplayType = function getOptionDisplayType(option) {
150
157
  var oneOf = option.oneOf,
151
- anyOf = option.anyOf,
152
- type = option.type,
153
- en = option.enum,
154
- pattern = option.pattern,
155
- items = option.items;
156
- var displayTypes = [];
157
- // wrap values in quotes only if enum or pattern is string
158
+ anyOf = option.anyOf,
159
+ type = option.type,
160
+ en = option.enum,
161
+ pattern = option.pattern,
162
+ items = option.items;
163
+ var displayTypes = []; // wrap values in quotes only if enum or pattern is string
164
+
158
165
  var conditionalQuote = type === 'string' ? '"' : '';
166
+
159
167
  if (en && Array.isArray(en)) {
160
168
  displayTypes = en.map(function (e) {
161
169
  var enumQuote = typeof e === 'string' ? '"' : '';
@@ -176,11 +184,14 @@ var getOptionDisplayType = function getOptionDisplayType(option) {
176
184
  return "".concat(conditionalQuote).concat(p).concat(conditionalQuote);
177
185
  });
178
186
  }
187
+
179
188
  if (displayTypes.length > 0) {
180
189
  return "(".concat(displayTypes.join(' | '), ")");
181
190
  }
191
+
182
192
  return type;
183
193
  };
194
+
184
195
  exports.getOptionDisplayType = getOptionDisplayType;
185
196
  /**
186
197
  * Returns Storybook control type for an option
@@ -188,14 +199,16 @@ exports.getOptionDisplayType = getOptionDisplayType;
188
199
  * @param {string} optionKey - visualization option key
189
200
  * @return {ArgTypeControl} Storybook control object
190
201
  */
202
+
191
203
  var getOptionControl = function getOptionControl(option, optionKey) {
192
204
  var anyOf = option.anyOf;
193
205
  var schema = Array.isArray(anyOf) && anyOf.length ? anyOf[0] : option;
194
206
  var type = Array.isArray(schema.type) ? schema.type[0] : schema.type;
195
207
  var maximum = schema.maximum,
196
- minimum = schema.minimum,
197
- en = schema.enum;
208
+ minimum = schema.minimum,
209
+ en = schema.enum;
198
210
  var isColorOption = new RegExp(/color/, 'i').test(optionKey) && type !== 'array';
211
+
199
212
  if (isColorOption) {
200
213
  return {
201
214
  type: 'color'
@@ -223,14 +236,17 @@ var getOptionControl = function getOptionControl(option, optionKey) {
223
236
  type: 'text'
224
237
  };
225
238
  }
239
+
226
240
  return {
227
241
  type: type
228
242
  };
229
243
  };
244
+
230
245
  exports.getOptionControl = getOptionControl;
231
246
  /**
232
247
  * platform specific visualization option argTypes
233
248
  */
249
+
234
250
  var objectTableControl = {
235
251
  control: {
236
252
  type: 'object'
@@ -259,19 +275,21 @@ exports.platformOptionArgTypes = {
259
275
  * @param {string} subcategory - nested property parent option name
260
276
  * @return {ArgTypes} Storybook argTypes
261
277
  */
278
+
262
279
  var optionsSchemaToArgTypes = function optionsSchemaToArgTypes(_ref) {
263
280
  var _ref$options = _ref.options,
264
- options = _ref$options === void 0 ? {} : _ref$options,
265
- _ref$requiredProps = _ref.requiredProps,
266
- requiredProps = _ref$requiredProps === void 0 ? [] : _ref$requiredProps,
267
- _ref$isPlatformViz = _ref.isPlatformViz,
268
- isPlatformViz = _ref$isPlatformViz === void 0 ? false : _ref$isPlatformViz,
269
- _ref$subcategory = _ref.subcategory,
270
- subcategory = _ref$subcategory === void 0 ? null : _ref$subcategory;
281
+ options = _ref$options === void 0 ? {} : _ref$options,
282
+ _ref$requiredProps = _ref.requiredProps,
283
+ requiredProps = _ref$requiredProps === void 0 ? [] : _ref$requiredProps,
284
+ _ref$isPlatformViz = _ref.isPlatformViz,
285
+ isPlatformViz = _ref$isPlatformViz === void 0 ? false : _ref$isPlatformViz,
286
+ _ref$subcategory = _ref.subcategory,
287
+ subcategory = _ref$subcategory === void 0 ? null : _ref$subcategory;
271
288
  var validObjectTypeOptions = ['lineDashStylesByField', 'seriesColorsByField', 'fieldActions', 'highlightValuesByField'];
272
289
  var argTypes = {};
273
290
  Object.keys(options).forEach(function (optionKey) {
274
291
  var option = (0, lodash_1.get)(options, optionKey);
292
+
275
293
  if (option.type === 'object' && !validObjectTypeOptions.includes(optionKey)) {
276
294
  // do not support controls for patternProperties, only nested properties
277
295
  if (option.properties) {
@@ -284,16 +302,18 @@ var optionsSchemaToArgTypes = function optionsSchemaToArgTypes(_ref) {
284
302
  }
285
303
  } else {
286
304
  var description = option.description,
287
- optionDefault = option.default;
305
+ optionDefault = option.default;
288
306
  var optionControl = (0, exports.getOptionControl)(option, optionKey);
289
307
  var control = isPlatformViz ? {
290
308
  type: 'text'
291
309
  } : optionControl;
292
310
  var required = requiredProps.includes(optionKey);
293
311
  var defaultValue = optionDefault;
312
+
294
313
  if (!isPlatformViz && (0, configUtils_1.isDynamicOption)(optionDefault)) {
295
314
  defaultValue = null;
296
315
  }
316
+
297
317
  argTypes[optionKey] = {
298
318
  description: description,
299
319
  control: control,
@@ -317,11 +337,14 @@ var optionsSchemaToArgTypes = function optionsSchemaToArgTypes(_ref) {
317
337
  };
318
338
  }
319
339
  });
340
+
320
341
  if (isPlatformViz) {
321
342
  Object.assign(argTypes, exports.platformOptionArgTypes);
322
343
  }
344
+
323
345
  return argTypes;
324
346
  };
347
+
325
348
  exports.optionsSchemaToArgTypes = optionsSchemaToArgTypes;
326
349
  /**
327
350
  * Helper which converts string visualization options to their required type
@@ -329,14 +352,16 @@ exports.optionsSchemaToArgTypes = optionsSchemaToArgTypes;
329
352
  * @param {string} expectedType - expected option type
330
353
  * @return {any} correctly typed option value
331
354
  */
355
+
332
356
  var transformOptionType = function transformOptionType(value) {
333
357
  var expectedType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'string';
334
358
  var isStringValue = !(0, configUtils_1.isDynamicOption)(value) && (0, lodash_1.isString)(value);
335
359
  if (isStringValue && expectedType === 'boolean') return value == 'true';else if (isStringValue && expectedType === 'number') return (0, lodash_1.toNumber)(value);
336
360
  return value;
337
361
  };
338
- exports.transformOptionType = transformOptionType;
339
- // stringify these fields for storybook controls' support
362
+
363
+ exports.transformOptionType = transformOptionType; // stringify these fields for storybook controls' support
364
+
340
365
  var FieldsToStringify = ['layers', 'center', 'eventActions', 'fieldActions', 'legendLabels', 'lineDashStylesByField', 'seriesColors', 'seriesColorsByField', 'footerFields', 'highlightValuesByField'];
341
366
  /**
342
367
  * Helper which returns platform visualization options from Storybook controls
@@ -345,14 +370,15 @@ var FieldsToStringify = ['layers', 'center', 'eventActions', 'fieldActions', 'le
345
370
  * @param {ArgTypes} argTypes - visualization argTypes
346
371
  * @return {object} visualization options
347
372
  */
373
+
348
374
  var getOptionsFromArgTypes = function getOptionsFromArgTypes(args, argTypes) {
349
375
  return (0, lodash_1.reduce)(argTypes, function (accum, val, option) {
350
376
  var subcategory = (0, lodash_1.get)(val, 'table.subcategory');
351
377
  var _argTypes$option = argTypes[option],
352
- optionType = _argTypes$option.optionType,
353
- defaultValue = _argTypes$option.defaultValue;
354
- var controlledOption = (0, exports.transformOptionType)((0, lodash_1.get)(args, option), optionType);
355
- // filter options from react & json if set to default value or is undefined
378
+ optionType = _argTypes$option.optionType,
379
+ defaultValue = _argTypes$option.defaultValue;
380
+ var controlledOption = (0, exports.transformOptionType)((0, lodash_1.get)(args, option), optionType); // filter options from react & json if set to default value or is undefined
381
+
356
382
  if (optionType && controlledOption != null && controlledOption !== defaultValue) {
357
383
  // parse the value if option is stringified as part of flattenVizOptions
358
384
  if (FieldsToStringify.includes(option)) {
@@ -362,29 +388,35 @@ var getOptionsFromArgTypes = function getOptionsFromArgTypes(args, argTypes) {
362
388
  controlledOption = null;
363
389
  }
364
390
  }
391
+
365
392
  if (subcategory) {
366
393
  if (!accum[subcategory]) accum[subcategory] = {};
367
394
  accum[subcategory][option] = controlledOption;
368
395
  } else accum[option] = controlledOption;
369
396
  }
397
+
370
398
  return accum;
371
399
  }, Object.assign({}, (0, lodash_1.omit)(args.options, Object.keys(argTypes))));
372
400
  };
401
+
373
402
  exports.getOptionsFromArgTypes = getOptionsFromArgTypes;
374
403
  /**
375
404
  * Helper which flattens objects single depth level
376
405
  * @param {object} options - visualization options object
377
406
  * @return {object} flattened visualization options
378
407
  */
408
+
379
409
  var flattenVizOptions = function flattenVizOptions(options) {
380
410
  var nonFlattenOptions = new Set(['y2Fields', 'overlayFields', 'gaugeRanges', 'fieldActions', 'highlightValuesByField']);
381
411
  return (0, lodash_1.reduce)(options, function (accum, val, option) {
382
412
  if (!exports.platformOptionArgTypes[option]) {
383
413
  if (_typeof(val) === 'object' && FieldsToStringify.includes(option)) accum[option] = JSON.stringify(val);else if (_typeof(val) === 'object' && !nonFlattenOptions.has(option)) accum = Object.assign(Object.assign({}, accum), val);else accum[option] = val;
384
414
  }
415
+
385
416
  return accum;
386
417
  }, {});
387
418
  };
419
+
388
420
  exports.flattenVizOptions = flattenVizOptions;
389
421
  /**
390
422
  * Returns value based on Storybook publishing status
@@ -392,20 +424,24 @@ exports.flattenVizOptions = flattenVizOptions;
392
424
  * @param {T} localStories - stories to include in local Storybook
393
425
  * @return {T} one of the two params
394
426
  */
427
+
395
428
  var getStoriesToInclude = function getStoriesToInclude(publishedStories, localStories) {
396
429
  return Object({"NODE_ENV":"production"}).STORYBOOK_PUBLISH ? publishedStories : localStories;
397
430
  };
431
+
398
432
  exports.getStoriesToInclude = getStoriesToInclude;
399
433
  /**
400
434
  * Returns component level stories to include, defaults to innclude all stories
401
435
  * @param {StoriesList} stories - stories to include in published Storybook
402
436
  * @return {object} CSF includeStories config
403
437
  */
438
+
404
439
  var componentStoriesToInclude = function componentStoriesToInclude(stories) {
405
440
  return (0, exports.getStoriesToInclude)({
406
441
  includeStories: stories
407
442
  }, {});
408
443
  };
444
+
409
445
  exports.componentStoriesToInclude = componentStoriesToInclude;
410
446
 
411
447
  /***/ }),
@@ -485,25 +521,38 @@ __webpack_require__.r(__webpack_exports__);
485
521
 
486
522
 
487
523
 
524
+
488
525
  function ownKeys(object, enumerableOnly) {
489
526
  var keys = Object.keys(object);
527
+
490
528
  if (Object.getOwnPropertySymbols) {
491
529
  var symbols = Object.getOwnPropertySymbols(object);
492
- enumerableOnly && (symbols = symbols.filter(function (sym) {
530
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
493
531
  return Object.getOwnPropertyDescriptor(object, sym).enumerable;
494
- })), keys.push.apply(keys, symbols);
532
+ });
533
+ keys.push.apply(keys, symbols);
495
534
  }
535
+
496
536
  return keys;
497
537
  }
538
+
498
539
  function _objectSpread(target) {
499
540
  for (var i = 1; i < arguments.length; i++) {
500
- var source = null != arguments[i] ? arguments[i] : {};
501
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
502
- _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(target, key, source[key]);
503
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
504
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
505
- });
541
+ var source = arguments[i] != null ? arguments[i] : {};
542
+
543
+ if (i % 2) {
544
+ ownKeys(Object(source), true).forEach(function (key) {
545
+ _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(target, key, source[key]);
546
+ });
547
+ } else if (Object.getOwnPropertyDescriptors) {
548
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
549
+ } else {
550
+ ownKeys(Object(source)).forEach(function (key) {
551
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
552
+ });
553
+ }
506
554
  }
555
+
507
556
  return target;
508
557
  }
509
558
 
@@ -515,6 +564,7 @@ function _objectSpread(target) {
515
564
 
516
565
 
517
566
 
567
+
518
568
  var Option = styled_components__WEBPACK_IMPORTED_MODULE_9___default.a.div.withConfig({
519
569
  displayName: "OptionsDoc__Option",
520
570
  componentId: "sc-1eidk15-0"
@@ -557,16 +607,15 @@ var PropertiesContent = styled_components__WEBPACK_IMPORTED_MODULE_9___default.a
557
607
  })(["margin-left:", "px;"], function (props) {
558
608
  return props.isPatternProperty ? 40 : 0;
559
609
  });
560
-
561
610
  /**
562
611
  * @method isOneOfJsonSchema
563
612
  * @param {object} item
564
613
  * @returns {boolean}
565
614
  */
615
+
566
616
  var isOneOfJsonSchema = function isOneOfJsonSchema(item) {
567
617
  return item.oneOf && Array.isArray(item.oneOf);
568
618
  };
569
-
570
619
  /**
571
620
  * get Or type as string
572
621
  * @method getOrType
@@ -574,29 +623,34 @@ var isOneOfJsonSchema = function isOneOfJsonSchema(item) {
574
623
  * @param {string} res
575
624
  * @returns {string} res eg: (string | number)
576
625
  */
626
+
627
+
577
628
  var getOrType = function getOrType(item) {
578
629
  var res = '';
630
+
579
631
  if (isOneOfJsonSchema(item)) {
580
632
  res = item.oneOf.map(function (one) {
581
633
  if (one.type !== 'array') {
582
634
  return one.type;
583
- }
584
- // eslint-disable-next-line no-use-before-define
635
+ } // eslint-disable-next-line no-use-before-define
636
+
637
+
585
638
  return getArrayType(one, '');
586
639
  }).join(' | ');
587
640
  } else if (Array.isArray(item.type)) {
588
641
  if (lodash_isEmpty__WEBPACK_IMPORTED_MODULE_5___default()(item.default)) {
589
642
  return item.type.join(' | ');
590
643
  }
644
+
591
645
  res = item.type.filter(function (itemType) {
592
646
  return itemType !== 'string';
593
647
  }).join(' | ');
594
648
  res += ' | ';
595
649
  res += "\"".concat(item.default, "\"");
596
650
  }
651
+
597
652
  return res;
598
653
  };
599
-
600
654
  /**
601
655
  * get the array type as string
602
656
  * @method getArrayType
@@ -604,103 +658,124 @@ var getOrType = function getOrType(item) {
604
658
  * @param {string} res
605
659
  * @returns {string} res eg: arrayOf(arrayOf(string | number | arrayOf(string | number)))
606
660
  */
661
+
662
+
607
663
  var getArrayType = function getArrayType(item) {
608
664
  var res = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
665
+
609
666
  if (item.type !== 'array') {
610
667
  if (Array.isArray(item.type) || isOneOfJsonSchema(item)) {
611
668
  return getOrType(item);
612
669
  }
670
+
613
671
  return item.type;
614
672
  }
673
+
615
674
  if (item.type === 'array') {
616
675
  res += 'arrayOf('; // eslint-disable-line no-param-reassign
617
676
  }
618
677
 
619
678
  res += getArrayType(item.items, ''); // eslint-disable-line no-param-reassign
679
+
620
680
  res += ')'; // eslint-disable-line no-param-reassign
681
+
621
682
  return res;
622
683
  };
623
-
624
684
  /**
625
685
  * get the type of this option item
626
686
  * @method getType
627
687
  * @param {ojbect} item option item
628
688
  * @returns {string} type
629
689
  */
690
+
691
+
630
692
  var getType = function getType(item) {
631
693
  if (isOneOfJsonSchema(item)) {
632
694
  return "oneOf(".concat(getOrType(item), ")");
633
695
  }
696
+
634
697
  if (item.enum && Array.isArray(item.enum)) {
635
698
  var values = !lodash_isEmpty__WEBPACK_IMPORTED_MODULE_5___default()(item.enum) && typeof item.enum[0] === 'string' ? item.enum.map(function (v) {
636
699
  return "\"".concat(v, "\"");
637
700
  }).join(', ') : item.enum.join(', ');
638
701
  return "oneOf([".concat(values, "])");
639
702
  }
703
+
640
704
  if (Array.isArray(item.type)) {
641
705
  return getOrType(item);
642
706
  }
707
+
643
708
  if (item.type === 'array') {
644
709
  if ('items' in item) {
645
710
  return "arrayOf(".concat(getType(item.items), ")");
646
711
  }
712
+
647
713
  return 'array';
648
714
  }
715
+
649
716
  return item.type;
650
717
  };
651
-
652
718
  /**
653
719
  * get the default value as string
654
720
  * @method getDefaultValue
655
721
  * @param {object | boolean | number | string} defaultValue
656
722
  * @returns {string | object[]} default value
657
723
  */
724
+
658
725
  var getDefaultValue = function getDefaultValue(defaultValue) {
659
726
  if (typeof defaultValue === 'boolean' || typeof defaultValue === 'number') {
660
727
  return defaultValue.toString();
661
728
  }
729
+
662
730
  if (Array.isArray(defaultValue)) {
663
731
  if (defaultValue.length > 1 && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_2___default()(defaultValue[0]) === 'object') {
664
732
  // return the array only if the defaultValue is an object array
665
733
  return defaultValue;
666
734
  }
735
+
667
736
  var values = defaultValue.map(function (v) {
668
737
  return JSON.stringify(v);
669
738
  }).join(', ');
670
739
  return "[".concat(values, "]");
671
740
  }
741
+
672
742
  return defaultValue;
673
743
  };
744
+
674
745
  var Pair = function Pair(_ref) {
675
746
  var title = _ref.title,
676
- content = _ref.content;
747
+ content = _ref.content;
677
748
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PairContainer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PairTitle, null, "".concat(title, ":")), Array.isArray(content) ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PairValueJSON, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("pre", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("code", null, JSON.stringify(content, null, 2)))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PairValue, null, content));
678
749
  };
750
+
679
751
  Pair.propTypes = {
680
752
  title: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
681
753
  content: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object)])
682
754
  };
755
+
683
756
  var PropertyItems = function PropertyItems(_ref2) {
684
757
  var _ref2$isPatternProper = _ref2.isPatternProperty,
685
- isPatternProperty = _ref2$isPatternProper === void 0 ? false : _ref2$isPatternProper,
686
- propsItems = _ref2.propsItems;
758
+ isPatternProperty = _ref2$isPatternProper === void 0 ? false : _ref2$isPatternProper,
759
+ propsItems = _ref2.propsItems;
687
760
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PropertiesContainer, {
688
761
  isPatternProperty: isPatternProperty
689
762
  }, isPatternProperty ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PairTitle, null, Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_6__["_"])('[fieldName]:')) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(PropertiesContent, {
690
763
  isPatternProperty: isPatternProperty
691
764
  }, propsItems));
692
765
  };
766
+
693
767
  PropertyItems.propTypes = {
694
768
  isPatternProperty: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool,
695
769
  propsItems: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.array
696
770
  };
771
+
697
772
  var OptionItem = function OptionItem(_ref3) {
698
773
  var name = _ref3.name,
699
- type = _ref3.type,
700
- desc = _ref3.desc,
701
- defaultValue = _ref3.defaultValue,
702
- enumerable = _ref3.enumerable,
703
- PropertiesSection = _ref3.PropertiesSection;
774
+ type = _ref3.type,
775
+ desc = _ref3.desc,
776
+ defaultValue = _ref3.defaultValue,
777
+ enumerable = _ref3.enumerable,
778
+ PropertiesSection = _ref3.PropertiesSection;
704
779
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Option, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(OptionName, null, name), desc ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_splunk_react_ui_Markdown__WEBPACK_IMPORTED_MODULE_8___default.a, {
705
780
  style: {
706
781
  marginLeft: 40
@@ -719,6 +794,7 @@ var OptionItem = function OptionItem(_ref3) {
719
794
  content: defaultValue
720
795
  }), PropertiesSection);
721
796
  };
797
+
722
798
  OptionItem.propTypes = {
723
799
  name: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
724
800
  type: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
@@ -730,28 +806,31 @@ OptionItem.propTypes = {
730
806
  OptionItem.default = {
731
807
  PropertiesItem: null
732
808
  };
809
+
733
810
  var getPropertiesSection = function getPropertiesSection(properties, patternProperties) {
734
811
  var allProperties = [];
735
- var isPatternProperty = false;
736
-
737
- // the properties either comes from property field of the option schema item
812
+ var isPatternProperty = false; // the properties either comes from property field of the option schema item
738
813
  // or from the property field of each patternProperties of the option schema item
739
814
  // can check table tableFormat and columnFormat as examples
815
+
740
816
  if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_5___default()(properties)) {
741
817
  allProperties = [properties];
742
818
  } else if (!lodash_isEmpty__WEBPACK_IMPORTED_MODULE_5___default()(patternProperties)) {
743
819
  Object.keys(patternProperties).forEach(function (patternKey) {
744
820
  var propsInPattern = patternProperties[patternKey].properties;
821
+
745
822
  if (propsInPattern) {
746
823
  allProperties.push(propsInPattern);
747
824
  }
748
825
  });
749
826
  isPatternProperty = true;
750
827
  }
828
+
751
829
  if (allProperties.length) {
752
830
  var allPropsItems = allProperties.map(function (props) {
753
831
  var propsItems = Object.keys(props).map(function (pKey) {
754
832
  var _p$anyOf, _p$anyOf2, _p$anyOf3, _p$anyOf3$, _p$anyOf4, _p$anyOf4$, _p$anyOf4$$items, _p$anyOf4$$items$enum, _p$anyOf5, _p$anyOf5$, _p$anyOf5$$items, _p$anyOf5$$items$item, _p$anyOf5$$items$item2, _pEnumerable;
833
+
755
834
  var p = props[pKey];
756
835
  var pType = (_p$anyOf = p.anyOf) !== null && _p$anyOf !== void 0 && _p$anyOf[0] ? Object(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__["getOptionDisplayType"])(_objectSpread(_objectSpread({}, (_p$anyOf2 = p.anyOf) === null || _p$anyOf2 === void 0 ? void 0 : _p$anyOf2[0]), {}, {
757
836
  enum: p.enum
@@ -759,8 +838,8 @@ var getPropertiesSection = function getPropertiesSection(properties, patternProp
759
838
  enum: p.enum
760
839
  }));
761
840
  var pDefault = getDefaultValue(p.default);
762
- var pEnumerable;
763
- // get nested oneOf property listing
841
+ var pEnumerable; // get nested oneOf property listing
842
+
764
843
  if (typeof ((_p$anyOf3 = p.anyOf) === null || _p$anyOf3 === void 0 ? void 0 : (_p$anyOf3$ = _p$anyOf3[0]) === null || _p$anyOf3$ === void 0 ? void 0 : _p$anyOf3$.pattern) === 'string') {
765
844
  pEnumerable = Object(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__["getPatternOptions"])(p.anyOf[0].pattern);
766
845
  } else if (((_p$anyOf4 = p.anyOf) === null || _p$anyOf4 === void 0 ? void 0 : (_p$anyOf4$ = _p$anyOf4[0]) === null || _p$anyOf4$ === void 0 ? void 0 : (_p$anyOf4$$items = _p$anyOf4$.items) === null || _p$anyOf4$$items === void 0 ? void 0 : (_p$anyOf4$$items$enum = _p$anyOf4$$items.enum) === null || _p$anyOf4$$items$enum === void 0 ? void 0 : _p$anyOf4$$items$enum.length) > 0) {
@@ -773,16 +852,19 @@ var getPropertiesSection = function getPropertiesSection(properties, patternProp
773
852
  pEnumerable = p.anyOf[0].items.items.enum;
774
853
  } else if (p.enum) {
775
854
  pEnumerable = p.enum;
776
- }
855
+ } // use the JS types (e.g. string, number) of the nested property if the nested property is an enumerable
856
+
777
857
 
778
- // use the JS types (e.g. string, number) of the nested property if the nested property is an enumerable
779
858
  if ((_pEnumerable = pEnumerable) !== null && _pEnumerable !== void 0 && _pEnumerable.length) {
780
859
  var _p$anyOf6, _p$anyOf6$, _p$anyOf7, _p$anyOf7$;
860
+
781
861
  pType = ((_p$anyOf6 = p.anyOf) === null || _p$anyOf6 === void 0 ? void 0 : (_p$anyOf6$ = _p$anyOf6[0]) === null || _p$anyOf6$ === void 0 ? void 0 : _p$anyOf6$.type) !== 'array' ? (_p$anyOf7 = p.anyOf) === null || _p$anyOf7 === void 0 ? void 0 : (_p$anyOf7$ = _p$anyOf7[0]) === null || _p$anyOf7$ === void 0 ? void 0 : _p$anyOf7$.type : pType;
862
+
782
863
  if (Array.isArray(pType)) {
783
864
  pType = pType.join(' | ');
784
865
  }
785
866
  }
867
+
786
868
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(OptionItem, {
787
869
  key: pKey,
788
870
  name: pKey,
@@ -802,39 +884,45 @@ var getPropertiesSection = function getPropertiesSection(properties, patternProp
802
884
  isPatternProperty: isPatternProperty
803
885
  }, allPropsItems);
804
886
  }
887
+
805
888
  return null;
806
889
  };
890
+
807
891
  var OptionsDoc = function OptionsDoc(_ref4) {
808
892
  var options = _ref4.options,
809
- description = _ref4.description;
893
+ description = _ref4.description;
810
894
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", null, options.length === 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_7___default.a, {
811
895
  level: 4
812
896
  }, " No Options") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_splunk_react_ui_Heading__WEBPACK_IMPORTED_MODULE_7___default.a, {
813
897
  level: 4
814
898
  }, "Options"), description && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", null, description), Object.entries(options).map(function (_ref5) {
815
899
  var _item$anyOf, _item$anyOf$, _item$anyOf2, _item$anyOf2$, _item$anyOf4, _item$anyOf4$, _item$anyOf5, _item$anyOf5$, _enumerable;
900
+
816
901
  var _ref6 = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0___default()(_ref5, 2),
817
- key = _ref6[0],
818
- item = _ref6[1];
902
+ key = _ref6[0],
903
+ item = _ref6[1];
904
+
819
905
  var type;
820
906
  var enumerable = [];
821
- var PropertiesSection = null;
907
+ var PropertiesSection = null; // get oneOf property listing
822
908
 
823
- // get oneOf property listing
824
909
  if (typeof ((_item$anyOf = item.anyOf) === null || _item$anyOf === void 0 ? void 0 : (_item$anyOf$ = _item$anyOf[0]) === null || _item$anyOf$ === void 0 ? void 0 : _item$anyOf$.pattern) === 'string') {
825
910
  enumerable = Object(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__["getPatternOptions"])(item.anyOf[0].pattern);
826
911
  } else if ((_item$anyOf2 = item.anyOf) !== null && _item$anyOf2 !== void 0 && (_item$anyOf2$ = _item$anyOf2[0]) !== null && _item$anyOf2$ !== void 0 && _item$anyOf2$.enum) {
827
912
  var _item$anyOf3, _item$anyOf3$;
913
+
828
914
  enumerable = (_item$anyOf3 = item.anyOf) === null || _item$anyOf3 === void 0 ? void 0 : (_item$anyOf3$ = _item$anyOf3[0]) === null || _item$anyOf3$ === void 0 ? void 0 : _item$anyOf3$.enum;
829
915
  } else if (item.enum) {
830
916
  enumerable = item.enum;
831
- }
917
+ } // get the nested options inside {option}.items.anyof. e.g. 'layers' in Map
918
+
832
919
 
833
- // get the nested options inside {option}.items.anyof. e.g. 'layers' in Map
834
920
  if (((_item$anyOf4 = item.anyOf) === null || _item$anyOf4 === void 0 ? void 0 : (_item$anyOf4$ = _item$anyOf4[0]) === null || _item$anyOf4$ === void 0 ? void 0 : _item$anyOf4$.type) === 'array' && 'anyOf' in ((_item$anyOf5 = item.anyOf) === null || _item$anyOf5 === void 0 ? void 0 : (_item$anyOf5$ = _item$anyOf5[0]) === null || _item$anyOf5$ === void 0 ? void 0 : _item$anyOf5$.items)) {
835
921
  var _item$anyOf6, _item$anyOf6$, _item$anyOf6$$items;
922
+
836
923
  type = Object(_storybook_utils_storybookUtils__WEBPACK_IMPORTED_MODULE_11__["getOptionDisplayType"])(item);
837
924
  var patternProperties = item.patternProperties; // merge the 3 objects together instead of showing the longest options in the array
925
+
838
926
  var option = (_item$anyOf6 = item.anyOf) === null || _item$anyOf6 === void 0 ? void 0 : (_item$anyOf6$ = _item$anyOf6[0]) === null || _item$anyOf6$ === void 0 ? void 0 : (_item$anyOf6$$items = _item$anyOf6$.items) === null || _item$anyOf6$$items === void 0 ? void 0 : _item$anyOf6$$items.anyOf;
839
927
  var mergedOptions = option.reduce(function (prev, next) {
840
928
  return Object(lodash__WEBPACK_IMPORTED_MODULE_10__["merge"])(prev, next);
@@ -850,6 +938,7 @@ var OptionsDoc = function OptionsDoc(_ref4) {
850
938
  PropertiesSection: PropertiesSection
851
939
  });
852
940
  }
941
+
853
942
  if (item.type === 'object') {
854
943
  // get properties for object type
855
944
  type = item.type;
@@ -857,9 +946,11 @@ var OptionsDoc = function OptionsDoc(_ref4) {
857
946
  var _patternProperties = item.patternProperties;
858
947
  PropertiesSection = getPropertiesSection(_properties, _patternProperties);
859
948
  } else if ((_enumerable = enumerable) !== null && _enumerable !== void 0 && _enumerable.length) {
860
- var _item$anyOf7, _item$anyOf7$;
861
- // use the JS types (e.g. string, number) of the property if the property is an enumerable
949
+ var _item$anyOf7, _item$anyOf7$; // use the JS types (e.g. string, number) of the property if the property is an enumerable
950
+
951
+
862
952
  type = (_item$anyOf7 = item.anyOf) === null || _item$anyOf7 === void 0 ? void 0 : (_item$anyOf7$ = _item$anyOf7[0]) === null || _item$anyOf7$ === void 0 ? void 0 : _item$anyOf7$.type;
953
+
863
954
  if (Array.isArray(type)) {
864
955
  type = type.join(' | ');
865
956
  }
@@ -868,12 +959,11 @@ var OptionsDoc = function OptionsDoc(_ref4) {
868
959
  enum: item.enum
869
960
  }));
870
961
  }
962
+
871
963
  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(OptionItem, {
872
964
  key: key,
873
- name: key
874
- // item.anyOf in the config.ts is a tuple which holds [{ type, pattern, items }, { type, pattern: DYNAMIC_OPTIONS_PATTERN }]
965
+ name: key // item.anyOf in the config.ts is a tuple which holds [{ type, pattern, items }, { type, pattern: DYNAMIC_OPTIONS_PATTERN }]
875
966
  ,
876
-
877
967
  type: type,
878
968
  enumerable: enumerable,
879
969
  desc: item.description,
@@ -882,6 +972,7 @@ var OptionsDoc = function OptionsDoc(_ref4) {
882
972
  });
883
973
  }));
884
974
  };
975
+
885
976
  OptionsDoc.propTypes = {
886
977
  options: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object.isRequired,
887
978
  description: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string