@splunk/visualizations 26.0.0 → 26.1.1

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 (152) hide show
  1. package/Area.config.js +103 -19
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +646 -243
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +105 -21
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +653 -237
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +95 -21
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +635 -229
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +66 -15
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +589 -211
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +104 -19
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +666 -239
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +83 -18
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +444 -156
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +101 -19
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +792 -322
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +97 -28
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +786 -390
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +63 -19
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +439 -164
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +107 -23
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +841 -456
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +73 -23
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +653 -230
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +1082 -0
  46. package/Map.config.js +244 -99
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +1223 -612
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +71 -21
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +477 -202
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +80 -22
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +819 -418
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +73 -19
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +870 -491
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +76 -23
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +643 -233
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +82 -30
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +863 -387
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +86 -20
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +449 -159
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +85 -23
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +895 -349
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +97 -23
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +639 -234
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +95 -25
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +1198 -656
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +287 -226
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +93 -23
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +991 -522
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +100 -27
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1185 -624
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +127 -68
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +74 -21
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +827 -329
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +152 -69
  103. package/common/Charting.js.map +1 -1
  104. package/common/ChartingApi.js +25 -14
  105. package/common/ChartingApi.js.map +1 -1
  106. package/common/DocExampleWithVizSandbox.js +530 -0
  107. package/common/DocExampleWithVizSandbox.js.map +1 -0
  108. package/common/EventsDoc.js +139 -104
  109. package/common/EventsDoc.js.map +1 -1
  110. package/common/GaugeMajorTicks.js +79 -69
  111. package/common/GaugeMajorTicks.js.map +1 -1
  112. package/common/GaugeValueMarker.js +54 -45
  113. package/common/GaugeValueMarker.js.map +1 -1
  114. package/common/OptionsDoc.js +178 -87
  115. package/common/OptionsDoc.js.map +1 -1
  116. package/common/OverviewDoc.js +530 -68
  117. package/common/OverviewDoc.js.map +1 -1
  118. package/common/SplunkVisualization.js +47 -20
  119. package/common/SplunkVisualization.js.map +1 -1
  120. package/common/SplunkVisualizationApi.js +15 -9
  121. package/common/SplunkVisualizationApi.js.map +1 -1
  122. package/common/ThemesDoc.js +57 -44
  123. package/common/ThemesDoc.js.map +1 -1
  124. package/common/chartingUtils.js +52 -20
  125. package/common/chartingUtils.js.map +1 -1
  126. package/common/docUtils.js +139 -7
  127. package/common/docUtils.js.map +1 -1
  128. package/common/gaugeUtils.js +185 -102
  129. package/common/gaugeUtils.js.map +1 -1
  130. package/common/shapeUtils.js +28 -16
  131. package/common/shapeUtils.js.map +1 -1
  132. package/common/utils/configUtils.js +50 -15
  133. package/common/utils/configUtils.js.map +1 -1
  134. package/common/utils/dataUtils.js +8 -3
  135. package/common/utils/dataUtils.js.map +1 -1
  136. package/common/utils/hocUtils.js +4 -2
  137. package/common/utils/hocUtils.js.map +1 -1
  138. package/common/utils/layoutUtils.js +2 -1
  139. package/common/utils/layoutUtils.js.map +1 -1
  140. package/common/utils/mapUtils.js +288 -128
  141. package/common/utils/mapUtils.js.map +1 -1
  142. package/common/utils/singleValueUtils.js +242 -197
  143. package/common/utils/singleValueUtils.js.map +1 -1
  144. package/common/utils/testHelper.js +10 -1
  145. package/common/utils/testHelper.js.map +1 -1
  146. package/common/utils/trellisUtils.js +62 -1
  147. package/common/utils/trellisUtils.js.map +1 -1
  148. package/common/utils/urlUtils.js +3 -1
  149. package/common/utils/urlUtils.js.map +1 -1
  150. package/common/withDashboardViz.js +389 -192
  151. package/common/withDashboardViz.js.map +1 -1
  152. package/package.json +18 -26
@@ -0,0 +1,530 @@
1
+ /*!
2
+ * Copyright © 2024 Splunk Inc.
3
+ * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
+ * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
+ */
6
+ module.exports =
7
+ /******/ (function(modules) { // webpackBootstrap
8
+ /******/ // The module cache
9
+ /******/ var installedModules = {};
10
+ /******/
11
+ /******/ // The require function
12
+ /******/ function __webpack_require__(moduleId) {
13
+ /******/
14
+ /******/ // Check if module is in cache
15
+ /******/ if(installedModules[moduleId]) {
16
+ /******/ return installedModules[moduleId].exports;
17
+ /******/ }
18
+ /******/ // Create a new module (and put it into the cache)
19
+ /******/ var module = installedModules[moduleId] = {
20
+ /******/ i: moduleId,
21
+ /******/ l: false,
22
+ /******/ exports: {}
23
+ /******/ };
24
+ /******/
25
+ /******/ // Execute the module function
26
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
27
+ /******/
28
+ /******/ // Flag the module as loaded
29
+ /******/ module.l = true;
30
+ /******/
31
+ /******/ // Return the exports of the module
32
+ /******/ return module.exports;
33
+ /******/ }
34
+ /******/
35
+ /******/
36
+ /******/ // expose the modules object (__webpack_modules__)
37
+ /******/ __webpack_require__.m = modules;
38
+ /******/
39
+ /******/ // expose the module cache
40
+ /******/ __webpack_require__.c = installedModules;
41
+ /******/
42
+ /******/ // define getter function for harmony exports
43
+ /******/ __webpack_require__.d = function(exports, name, getter) {
44
+ /******/ if(!__webpack_require__.o(exports, name)) {
45
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
46
+ /******/ }
47
+ /******/ };
48
+ /******/
49
+ /******/ // define __esModule on exports
50
+ /******/ __webpack_require__.r = function(exports) {
51
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
52
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
53
+ /******/ }
54
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
55
+ /******/ };
56
+ /******/
57
+ /******/ // create a fake namespace object
58
+ /******/ // mode & 1: value is a module id, require it
59
+ /******/ // mode & 2: merge all properties of value into the ns
60
+ /******/ // mode & 4: return value when already ns object
61
+ /******/ // mode & 8|1: behave like require
62
+ /******/ __webpack_require__.t = function(value, mode) {
63
+ /******/ if(mode & 1) value = __webpack_require__(value);
64
+ /******/ if(mode & 8) return value;
65
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
66
+ /******/ var ns = Object.create(null);
67
+ /******/ __webpack_require__.r(ns);
68
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
69
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
70
+ /******/ return ns;
71
+ /******/ };
72
+ /******/
73
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
74
+ /******/ __webpack_require__.n = function(module) {
75
+ /******/ var getter = module && module.__esModule ?
76
+ /******/ function getDefault() { return module['default']; } :
77
+ /******/ function getModuleExports() { return module; };
78
+ /******/ __webpack_require__.d(getter, 'a', getter);
79
+ /******/ return getter;
80
+ /******/ };
81
+ /******/
82
+ /******/ // Object.prototype.hasOwnProperty.call
83
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
84
+ /******/
85
+ /******/ // __webpack_public_path__
86
+ /******/ __webpack_require__.p = "";
87
+ /******/
88
+ /******/
89
+ /******/ // Load entry module and return exports
90
+ /******/ return __webpack_require__(__webpack_require__.s = 25);
91
+ /******/ })
92
+ /************************************************************************/
93
+ /******/ ([
94
+ /* 0 */
95
+ /***/ (function(module, exports) {
96
+
97
+ module.exports = require("react");
98
+
99
+ /***/ }),
100
+ /* 1 */
101
+ /***/ (function(module, exports) {
102
+
103
+ module.exports = require("prop-types");
104
+
105
+ /***/ }),
106
+ /* 2 */,
107
+ /* 3 */,
108
+ /* 4 */
109
+ /***/ (function(module, exports) {
110
+
111
+ module.exports = require("@splunk/ui-utils/i18n");
112
+
113
+ /***/ }),
114
+ /* 5 */,
115
+ /* 6 */,
116
+ /* 7 */,
117
+ /* 8 */
118
+ /***/ (function(module, exports) {
119
+
120
+ module.exports = require("@babel/runtime/helpers/slicedToArray");
121
+
122
+ /***/ }),
123
+ /* 9 */,
124
+ /* 10 */,
125
+ /* 11 */,
126
+ /* 12 */,
127
+ /* 13 */,
128
+ /* 14 */,
129
+ /* 15 */,
130
+ /* 16 */,
131
+ /* 17 */
132
+ /***/ (function(module, exports, __webpack_require__) {
133
+
134
+ "use strict";
135
+
136
+
137
+ Object.defineProperty(exports, "__esModule", {
138
+ value: true
139
+ });
140
+ exports.convertToDashboardJSON = exports.extractDataFromReactCode = exports.formatCodeStringToObject = exports.extractDocItems = exports.getFormatterClassdesc = void 0;
141
+
142
+ var React = __webpack_require__(0);
143
+
144
+ var UtilPage_1 = __webpack_require__(18);
145
+
146
+ var sharedSelectors = ['getField', 'getType', 'min', 'max'];
147
+
148
+ var formatSidebarItemName = function formatSidebarItemName(name, className) {
149
+ return sharedSelectors.find(function (sharedSelector) {
150
+ return name === sharedSelector;
151
+ }) ? "".concat(className, "#").concat(name) : name;
152
+ };
153
+
154
+ var removePrependedClassName = function removePrependedClassName() {
155
+ var longname = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
156
+ return longname.slice(longname.indexOf('#') + 1);
157
+ };
158
+
159
+ var formatDSLSelectorDocs = function formatDSLSelectorDocs(docs) {
160
+ return docs.map(function (doc) {
161
+ return Object.assign(Object.assign({}, doc), {
162
+ longname: removePrependedClassName(doc.longname)
163
+ });
164
+ });
165
+ };
166
+
167
+ var getFormatterClassdesc = function getFormatterClassdesc(formatterDocs, name) {
168
+ return {
169
+ name: name,
170
+ markdown: "# ".concat(name, "\n ").concat(formatterDocs.find(function (doc) {
171
+ return doc.name === name && doc.kind === 'class';
172
+ }).classdesc)
173
+ };
174
+ };
175
+
176
+ exports.getFormatterClassdesc = getFormatterClassdesc;
177
+
178
+ var extractDocItems = function extractDocItems(docs, className) {
179
+ var classHeaderDoc = docs[0];
180
+ var fileDoc = docs[docs.length - 1];
181
+ var filteredDocs = formatDSLSelectorDocs(docs).filter(function (_ref) {
182
+ var access = _ref.access,
183
+ comment = _ref.comment;
184
+ return access === 'public' && comment;
185
+ });
186
+ return filteredDocs.map(function (doc) {
187
+ return {
188
+ name: formatSidebarItemName(doc.name, className),
189
+ component: function UtilDoc() {
190
+ // named function so linter doesnt raise react/display-name error
191
+ return React.createElement(UtilPage_1.default, {
192
+ title: "".concat(className, "#").concat(doc.name),
193
+ status: 1,
194
+ docs: [classHeaderDoc, doc, fileDoc]
195
+ });
196
+ }
197
+ };
198
+ }).sort(function (a, b) {
199
+ return a.name.localeCompare(b.name);
200
+ });
201
+ };
202
+
203
+ exports.extractDocItems = extractDocItems;
204
+
205
+ var formatCodeStringToObject = function formatCodeStringToObject(codeString, regexMatch) {
206
+ var match = regexMatch.exec(codeString);
207
+ if (!match) return null;
208
+ var stringToParse = "{".concat(match[1], "}"); // remove trailing commas
209
+
210
+ var removedCommas = stringToParse.replace(/,(?!\s*?[-{["'\w])/g, ''); // convert double quotes (which only occur inside strings) to back quotes
211
+
212
+ var backQuotes = removedCommas.replace(/"/g, '`'); // replace single quotes with double quotes
213
+
214
+ var doubleQuotes = backQuotes.replace(/'/g, '"'); // replace back quotes with single quotes
215
+
216
+ var singleQuotes = doubleQuotes.replace(/`/g, "'"); // add quotes around keys
217
+
218
+ var quotesAroundKeys = singleQuotes.replace(/\b(\w+)\s*:(?=\s)/g, '"$1":');
219
+ var retval = null;
220
+
221
+ try {
222
+ retval = JSON.parse(quotesAroundKeys);
223
+ } catch (e) {
224
+ // eslint-disable-next-line no-console
225
+ console.error(e);
226
+ }
227
+
228
+ return retval;
229
+ };
230
+
231
+ exports.formatCodeStringToObject = formatCodeStringToObject;
232
+
233
+ var extractDataFromReactCode = function extractDataFromReactCode(codeString) {
234
+ var _a;
235
+
236
+ var primaryRegex = /dataSources={{([\s\S]*?primary:[\s\S]*?)}}/;
237
+
238
+ var _ref2 = (_a = (0, exports.formatCodeStringToObject)(codeString, primaryRegex)) !== null && _a !== void 0 ? _a : {},
239
+ primary = _ref2.primary;
240
+
241
+ var optionsRegex = /options={{([\s\S]*?)}}/;
242
+ var options = (0, exports.formatCodeStringToObject)(codeString, optionsRegex);
243
+ var contextRegex = /context={{([\s\S]*?)}}/;
244
+ var context = (0, exports.formatCodeStringToObject)(codeString, contextRegex);
245
+ return {
246
+ primary: primary,
247
+ options: options,
248
+ context: context
249
+ };
250
+ };
251
+
252
+ exports.extractDataFromReactCode = extractDataFromReactCode; // Takes a stringified react viz example and a viz type
253
+ // Returns a dashboard definition object.
254
+ // e.g. codeString: '<Area dataSources={{}} options={{}} />'
255
+ // type: 'splunk.area'
256
+
257
+ var convertToDashboardJSON = function convertToDashboardJSON(codeString, type) {
258
+ var _ref3 = (0, exports.extractDataFromReactCode)(codeString),
259
+ options = _ref3.options,
260
+ primary = _ref3.primary,
261
+ context = _ref3.context;
262
+
263
+ return Object.assign(Object.assign({
264
+ visualizations: {
265
+ test_viz: Object.assign(Object.assign(Object.assign({
266
+ type: type
267
+ }, options ? {
268
+ options: options
269
+ } : {}), primary ? {
270
+ dataSources: {
271
+ primary: 'primary'
272
+ }
273
+ } : {}), context ? {
274
+ context: context
275
+ } : {})
276
+ }
277
+ }, primary ? {
278
+ dataSources: {
279
+ primary: {
280
+ type: 'ds.test',
281
+ options: primary
282
+ }
283
+ }
284
+ } : {}), {
285
+ defaults: {
286
+ dataSources: {
287
+ global: {
288
+ options: {
289
+ queryParameters: {
290
+ latest: '$global_time.latest$',
291
+ earliest: '$global_time.earliest$'
292
+ }
293
+ }
294
+ }
295
+ }
296
+ },
297
+ inputs: {
298
+ input_global_trp: {
299
+ type: 'input.timerange',
300
+ options: {
301
+ token: 'global_time',
302
+ defaultValue: '-24h@h,now'
303
+ },
304
+ title: 'Global Time Range'
305
+ }
306
+ },
307
+ layout: {
308
+ type: 'absolute',
309
+ options: {},
310
+ structure: [{
311
+ item: 'test_viz',
312
+ type: 'block',
313
+ position: {
314
+ x: 0,
315
+ y: 0,
316
+ w: 800,
317
+ h: 500
318
+ }
319
+ }],
320
+ globalInputs: ['input_global_trp']
321
+ }
322
+ });
323
+ };
324
+
325
+ exports.convertToDashboardJSON = convertToDashboardJSON;
326
+
327
+ /***/ }),
328
+ /* 18 */
329
+ /***/ (function(module, exports) {
330
+
331
+ module.exports = require("@splunk/react-docs/UtilPage");
332
+
333
+ /***/ }),
334
+ /* 19 */,
335
+ /* 20 */,
336
+ /* 21 */,
337
+ /* 22 */,
338
+ /* 23 */,
339
+ /* 24 */,
340
+ /* 25 */
341
+ /***/ (function(module, exports, __webpack_require__) {
342
+
343
+ "use strict";
344
+
345
+
346
+ var _slicedToArray = __webpack_require__(8);
347
+
348
+ Object.defineProperty(exports, "__esModule", {
349
+ value: true
350
+ });
351
+
352
+ var React = __webpack_require__(0);
353
+
354
+ var DocExample_1 = __webpack_require__(26);
355
+
356
+ var Button_1 = __webpack_require__(27);
357
+
358
+ var Code_1 = __webpack_require__(28);
359
+
360
+ var TransitionOpen_1 = __webpack_require__(29);
361
+
362
+ var SquaresLayered_1 = __webpack_require__(30);
363
+
364
+ var Checkmark_1 = __webpack_require__(31);
365
+
366
+ var EyeSlashed_1 = __webpack_require__(32);
367
+
368
+ var WindowChevronsSlash_1 = __webpack_require__(33);
369
+
370
+ var i18n_1 = __webpack_require__(4);
371
+
372
+ var T = __webpack_require__(1);
373
+
374
+ var docUtils_1 = __webpack_require__(17);
375
+
376
+ var DocExampleWithVizSandbox = function DocExampleWithVizSandbox(props) {
377
+ var type = props.type,
378
+ title = props.title,
379
+ code = props.code,
380
+ example = props.example,
381
+ _props$hideSandbox = props.hideSandbox,
382
+ hideSandbox = _props$hideSandbox === void 0 ? false : _props$hideSandbox,
383
+ description = props.description;
384
+
385
+ var _React$useState = React.useState(false),
386
+ _React$useState2 = _slicedToArray(_React$useState, 2),
387
+ isCopied = _React$useState2[0],
388
+ setIsCopied = _React$useState2[1];
389
+
390
+ var _React$useState3 = React.useState(false),
391
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
392
+ showCode = _React$useState4[0],
393
+ setShowCode = _React$useState4[1];
394
+
395
+ var isMounted = React.useRef(true);
396
+ var toggleShowCode = React.useCallback(function () {
397
+ setShowCode(function (state) {
398
+ return !state;
399
+ });
400
+ }, []);
401
+ React.useEffect(function () {
402
+ return function () {
403
+ isMounted.current = false;
404
+ setIsCopied(false);
405
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
406
+ }, []);
407
+ if (hideSandbox) return React.createElement(DocExample_1.default, {
408
+ title: title,
409
+ code: code,
410
+ example: example
411
+ });
412
+ var objDefn = (0, docUtils_1.convertToDashboardJSON)(code, type); // set spacing level to 4
413
+
414
+ var prettyJson = JSON.stringify(objDefn, null, 4);
415
+
416
+ var copyToClipBoard = function copyToClipBoard() {
417
+ if ('clipboard' in navigator) {
418
+ navigator.clipboard.writeText(prettyJson);
419
+ setIsCopied(true);
420
+ }
421
+
422
+ setTimeout(function () {
423
+ if (isMounted.current) {
424
+ setIsCopied(false);
425
+ }
426
+ }, 5000);
427
+ };
428
+
429
+ var renderAdditionalActions = function renderAdditionalActions() {
430
+ return [React.createElement(Button_1.default, {
431
+ key: "show-dashboard-definition",
432
+ appearance: "toggle",
433
+ onClick: toggleShowCode,
434
+ icon: showCode ? React.createElement(EyeSlashed_1.default, null) : React.createElement(WindowChevronsSlash_1.default, null),
435
+ label: showCode ? (0, i18n_1._)('Hide dashboard definition') : (0, i18n_1._)('Show dashboard definition')
436
+ })];
437
+ };
438
+
439
+ return React.createElement(DocExample_1.default, {
440
+ renderAdditionalActions: renderAdditionalActions,
441
+ title: title,
442
+ code: code,
443
+ example: example,
444
+ description: description
445
+ }, React.createElement(TransitionOpen_1.default, {
446
+ animation: "slideFromTop",
447
+ open: showCode,
448
+ retainFocus: false,
449
+ takeFocus: false,
450
+ renderChildrenWhenCollapsed: false,
451
+ animateOnMount: false
452
+ }, React.createElement("div", {
453
+ style: {
454
+ display: 'flex',
455
+ justifyContent: 'space-between'
456
+ }
457
+ }, React.createElement(Code_1.default, {
458
+ value: prettyJson,
459
+ language: "json"
460
+ }), React.createElement(Button_1.default, {
461
+ onClick: copyToClipBoard,
462
+ icon: isCopied ? React.createElement(Checkmark_1.default, null) : React.createElement(SquaresLayered_1.default, null),
463
+ label: isCopied ? (0, i18n_1._)('Copied') : (0, i18n_1._)('Copy to clipboard'),
464
+ style: {
465
+ height: '30px',
466
+ maxWidth: '164px'
467
+ }
468
+ }))));
469
+ };
470
+
471
+ DocExampleWithVizSandbox.propTypes = {
472
+ type: T.string,
473
+ title: T.string,
474
+ code: T.string,
475
+ example: T.func,
476
+ hideSandbox: T.bool
477
+ };
478
+ exports.default = DocExampleWithVizSandbox;
479
+
480
+ /***/ }),
481
+ /* 26 */
482
+ /***/ (function(module, exports) {
483
+
484
+ module.exports = require("@splunk/react-docs/DocExample");
485
+
486
+ /***/ }),
487
+ /* 27 */
488
+ /***/ (function(module, exports) {
489
+
490
+ module.exports = require("@splunk/react-ui/Button");
491
+
492
+ /***/ }),
493
+ /* 28 */
494
+ /***/ (function(module, exports) {
495
+
496
+ module.exports = require("@splunk/react-ui/Code");
497
+
498
+ /***/ }),
499
+ /* 29 */
500
+ /***/ (function(module, exports) {
501
+
502
+ module.exports = require("@splunk/react-ui/TransitionOpen");
503
+
504
+ /***/ }),
505
+ /* 30 */
506
+ /***/ (function(module, exports) {
507
+
508
+ module.exports = require("@splunk/react-icons/SquaresLayered");
509
+
510
+ /***/ }),
511
+ /* 31 */
512
+ /***/ (function(module, exports) {
513
+
514
+ module.exports = require("@splunk/react-icons/Checkmark");
515
+
516
+ /***/ }),
517
+ /* 32 */
518
+ /***/ (function(module, exports) {
519
+
520
+ module.exports = require("@splunk/react-icons/EyeSlashed");
521
+
522
+ /***/ }),
523
+ /* 33 */
524
+ /***/ (function(module, exports) {
525
+
526
+ module.exports = require("@splunk/react-icons/WindowChevronsSlash");
527
+
528
+ /***/ })
529
+ /******/ ]);
530
+ //# sourceMappingURL=DocExampleWithVizSandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///./src/common/docUtils.tsx","webpack:///external \"@splunk/react-docs/UtilPage\"","webpack:///./src/common/DocExampleWithVizSandbox.tsx","webpack:///external \"@splunk/react-docs/DocExample\"","webpack:///external \"@splunk/react-ui/Button\"","webpack:///external \"@splunk/react-ui/Code\"","webpack:///external \"@splunk/react-ui/TransitionOpen\"","webpack:///external \"@splunk/react-icons/SquaresLayered\"","webpack:///external \"@splunk/react-icons/Checkmark\"","webpack:///external \"@splunk/react-icons/EyeSlashed\"","webpack:///external \"@splunk/react-icons/WindowChevronsSlash\""],"names":[],"mappings":"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","file":"DocExampleWithVizSandbox.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 = 25);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","import * as React from 'react';\nimport UtilPage from '@splunk/react-docs/UtilPage';\n\n// https://github.com/jsdoc2md/jsdoc-api#synopsis\ninterface JsDoc {\n access?: string;\n classdesc?: string;\n comment: string;\n kind: string;\n longname: string;\n meta: Record<string, unknown>;\n member: string;\n name: string;\n scope: string;\n}\n\nconst sharedSelectors = ['getField', 'getType', 'min', 'max'];\n\nconst formatSidebarItemName = (name: string, className: string): string => {\n return sharedSelectors.find(sharedSelector => name === sharedSelector) ? `${className}#${name}` : name;\n};\n\nconst removePrependedClassName = (longname = ''): string => longname.slice(longname.indexOf('#') + 1);\n\nconst formatDSLSelectorDocs = (docs: JsDoc[]): JsDoc[] =>\n docs.map(doc => ({\n ...doc,\n longname: removePrependedClassName(doc.longname),\n }));\n\nexport const getFormatterClassdesc = (\n formatterDocs: JsDoc[],\n name: string\n): { name: string; markdown: string } => ({\n name,\n markdown: `# ${name}\\n ${formatterDocs.find(doc => doc.name === name && doc.kind === 'class').classdesc}`,\n});\n\nexport const extractDocItems = (\n docs: JsDoc[],\n className: string\n): { name: string; component: (...args: any[]) => any }[] => {\n const classHeaderDoc = docs[0];\n const fileDoc = docs[docs.length - 1];\n const filteredDocs = formatDSLSelectorDocs(docs).filter(\n ({ access, comment }) => access === 'public' && comment\n );\n\n return filteredDocs\n .map(doc => ({\n name: formatSidebarItemName(doc.name, className),\n component: function UtilDoc() {\n // named function so linter doesnt raise react/display-name error\n return (\n <UtilPage\n title={`${className}#${doc.name}`}\n status={1}\n docs={[classHeaderDoc, doc, fileDoc]}\n />\n );\n },\n }))\n .sort((a, b) => a.name.localeCompare(b.name));\n};\n\nexport const formatCodeStringToObject = (codeString: string, regexMatch: RegExp): any => {\n const match = regexMatch.exec(codeString);\n if (!match) return null;\n\n const stringToParse = `{${match[1]}}`;\n\n // remove trailing commas\n const removedCommas = stringToParse.replace(/,(?!\\s*?[-{[\"'\\w])/g, '');\n\n // convert double quotes (which only occur inside strings) to back quotes\n const backQuotes = removedCommas.replace(/\"/g, '`');\n // replace single quotes with double quotes\n const doubleQuotes = backQuotes.replace(/'/g, '\"');\n // replace back quotes with single quotes\n const singleQuotes = doubleQuotes.replace(/`/g, \"'\");\n\n // add quotes around keys\n const quotesAroundKeys = singleQuotes.replace(/\\b(\\w+)\\s*:(?=\\s)/g, '\"$1\":');\n\n let retval = null;\n try {\n retval = JSON.parse(quotesAroundKeys);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return retval;\n};\n\nexport const extractDataFromReactCode = (codeString: string): any => {\n const primaryRegex = /dataSources={{([\\s\\S]*?primary:[\\s\\S]*?)}}/;\n const { primary } = formatCodeStringToObject(codeString, primaryRegex) ?? {};\n\n const optionsRegex = /options={{([\\s\\S]*?)}}/;\n const options = formatCodeStringToObject(codeString, optionsRegex);\n\n const contextRegex = /context={{([\\s\\S]*?)}}/;\n const context = formatCodeStringToObject(codeString, contextRegex);\n\n return { primary, options, context };\n};\n\n// Takes a stringified react viz example and a viz type\n// Returns a dashboard definition object.\n// e.g. codeString: '<Area dataSources={{}} options={{}} />'\n// type: 'splunk.area'\nexport const convertToDashboardJSON = (codeString: string, type: string): any => {\n const { options, primary, context } = extractDataFromReactCode(codeString);\n\n return {\n visualizations: {\n test_viz: {\n type,\n ...(options ? { options } : {}),\n ...(primary ? { dataSources: { primary: 'primary' } } : {}),\n ...(context ? { context } : {}),\n },\n },\n ...(primary ? { dataSources: { primary: { type: 'ds.test', options: primary } } } : {}),\n defaults: {\n dataSources: {\n global: {\n options: {\n queryParameters: {\n latest: '$global_time.latest$',\n earliest: '$global_time.earliest$',\n },\n },\n },\n },\n },\n inputs: {\n input_global_trp: {\n type: 'input.timerange',\n options: {\n token: 'global_time',\n defaultValue: '-24h@h,now',\n },\n title: 'Global Time Range',\n },\n },\n layout: {\n type: 'absolute',\n options: {},\n structure: [\n {\n item: 'test_viz',\n type: 'block',\n position: {\n x: 0,\n y: 0,\n w: 800,\n h: 500,\n },\n },\n ],\n globalInputs: ['input_global_trp'],\n },\n };\n};\n","module.exports = require(\"@splunk/react-docs/UtilPage\");","import * as React from 'react';\nimport DocExample from '@splunk/react-docs/DocExample';\nimport Button from '@splunk/react-ui/Button';\nimport Code from '@splunk/react-ui/Code';\nimport TransitionOpen from '@splunk/react-ui/TransitionOpen';\nimport SquaresLayered from '@splunk/react-icons/SquaresLayered';\nimport Checkmark from '@splunk/react-icons/Checkmark';\nimport EyeSlashed from '@splunk/react-icons/EyeSlashed';\nimport WindowChevronsSlash from '@splunk/react-icons/WindowChevronsSlash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport * as T from 'prop-types';\nimport { convertToDashboardJSON } from './docUtils';\n\ninterface DocExampleWithVizSandboxProps {\n type: string;\n title: string;\n code: string;\n example: () => React.ReactElement;\n hideSandbox?: boolean;\n description?: string;\n}\n\nconst DocExampleWithVizSandbox = (props: DocExampleWithVizSandboxProps): React.ReactElement => {\n const { type, title, code, example, hideSandbox = false, description } = props;\n const [isCopied, setIsCopied] = React.useState(false);\n const [showCode, setShowCode] = React.useState(false);\n const isMounted = React.useRef(true);\n\n const toggleShowCode = React.useCallback(() => {\n setShowCode(state => !state);\n }, []);\n\n React.useEffect((): (() => void) => {\n return () => {\n isMounted.current = false;\n setIsCopied(false);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (hideSandbox) return <DocExample title={title} code={code} example={example} />;\n\n const objDefn = convertToDashboardJSON(code, type);\n // set spacing level to 4\n const prettyJson = JSON.stringify(objDefn, null, 4);\n\n const copyToClipBoard = () => {\n if ('clipboard' in navigator) {\n navigator.clipboard.writeText(prettyJson);\n setIsCopied(true);\n }\n setTimeout(() => {\n if (isMounted.current) {\n setIsCopied(false);\n }\n }, 5000);\n };\n\n const renderAdditionalActions = () => [\n <Button\n key=\"show-dashboard-definition\"\n appearance=\"toggle\"\n onClick={toggleShowCode}\n icon={showCode ? <EyeSlashed /> : <WindowChevronsSlash />}\n label={showCode ? _('Hide dashboard definition') : _('Show dashboard definition')}\n />,\n ];\n\n return (\n <DocExample\n renderAdditionalActions={renderAdditionalActions}\n title={title}\n code={code}\n example={example}\n description={description}\n >\n <TransitionOpen\n animation=\"slideFromTop\"\n open={showCode}\n retainFocus={false}\n takeFocus={false}\n renderChildrenWhenCollapsed={false}\n animateOnMount={false}\n >\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <Code value={prettyJson} language=\"json\" />\n <Button\n onClick={copyToClipBoard}\n icon={isCopied ? <Checkmark /> : <SquaresLayered />}\n label={isCopied ? _('Copied') : _('Copy to clipboard')}\n style={{ height: '30px', maxWidth: '164px' }}\n />\n </div>\n </TransitionOpen>\n </DocExample>\n );\n};\n\nDocExampleWithVizSandbox.propTypes = {\n type: T.string,\n title: T.string,\n code: T.string,\n example: T.func,\n hideSandbox: T.bool,\n};\n\nexport default DocExampleWithVizSandbox;\n","module.exports = require(\"@splunk/react-docs/DocExample\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/Code\");","module.exports = require(\"@splunk/react-ui/TransitionOpen\");","module.exports = require(\"@splunk/react-icons/SquaresLayered\");","module.exports = require(\"@splunk/react-icons/Checkmark\");","module.exports = require(\"@splunk/react-icons/EyeSlashed\");","module.exports = require(\"@splunk/react-icons/WindowChevronsSlash\");"],"sourceRoot":""}