@splunk/visualizations 28.7.0 → 28.8.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 (204) hide show
  1. package/Area.js +2 -2
  2. package/Area.js.map +2 -2
  3. package/Bar.js +2 -2
  4. package/Bar.js.map +2 -2
  5. package/Bubble.js +2 -2
  6. package/Bubble.js.map +2 -2
  7. package/CHANGELOG.external.md +26 -0
  8. package/ChoroplethSvg.js +2 -2
  9. package/ChoroplethSvg.js.map +2 -2
  10. package/Column.js +2 -2
  11. package/Column.js.map +2 -2
  12. package/Ellipse.js +2 -2
  13. package/Ellipse.js.map +2 -2
  14. package/Events.js +2 -2
  15. package/Events.js.map +2 -2
  16. package/FillerGauge.js +10 -5
  17. package/FillerGauge.js.map +2 -2
  18. package/Image.js +2 -2
  19. package/Image.js.map +2 -2
  20. package/Line.js +2 -2
  21. package/Line.js.map +2 -2
  22. package/LinkGraph.js +2 -2
  23. package/LinkGraph.js.map +2 -2
  24. package/Map.js +2 -2
  25. package/Map.js.map +2 -2
  26. package/Markdown.config.js +1 -1
  27. package/Markdown.config.js.map +1 -1
  28. package/Markdown.js +3 -3
  29. package/Markdown.js.map +2 -2
  30. package/MarkerGauge.js +10 -5
  31. package/MarkerGauge.js.map +2 -2
  32. package/NetworkGraph.js +2 -2
  33. package/NetworkGraph.js.map +2 -2
  34. package/ParallelCoordinates.js +2 -2
  35. package/ParallelCoordinates.js.map +2 -2
  36. package/Pie.js +2 -2
  37. package/Pie.js.map +2 -2
  38. package/ProcessTree.js +2 -2
  39. package/ProcessTree.js.map +2 -2
  40. package/Punchcard.js +2 -2
  41. package/Punchcard.js.map +2 -2
  42. package/Rectangle.js +2 -2
  43. package/Rectangle.js.map +2 -2
  44. package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
  45. package/RichText/PureRichText/InnerEditor.d.ts +10 -0
  46. package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
  47. package/RichText/PureRichText/PureRichText.d.ts +17 -0
  48. package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
  49. package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
  50. package/RichText/PureRichText/hooks/useContentSave.d.ts +6 -0
  51. package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -1
  52. package/RichText/PureRichText/hooks/useContentSync.d.ts +13 -1
  53. package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
  54. package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
  55. package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
  56. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +1 -16
  57. package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -1
  58. package/RichText/PureRichText/hooks/useTokenMap.d.ts +37 -35
  59. package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
  60. package/RichText/PureRichText/renderers/LeafRenderer.d.ts +0 -4
  61. package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -1
  62. package/RichText/PureRichText/types.d.ts +15 -0
  63. package/RichText/PureRichText/types.d.ts.map +1 -1
  64. package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
  65. package/RichText/RichText.d.ts +2 -0
  66. package/RichText/RichText.d.ts.map +1 -1
  67. package/RichText/config.d.ts.map +1 -1
  68. package/RichText.config.js +14 -1
  69. package/RichText.config.js.map +2 -2
  70. package/RichText.js +733 -263
  71. package/RichText.js.map +4 -4
  72. package/Sankey.js +2 -2
  73. package/Sankey.js.map +2 -2
  74. package/Scatter.js +2 -2
  75. package/Scatter.js.map +2 -2
  76. package/SingleValue.js +2 -2
  77. package/SingleValue.js.map +2 -2
  78. package/SingleValueIcon.js +2 -2
  79. package/SingleValueIcon.js.map +2 -2
  80. package/SingleValueRadial.js +2 -2
  81. package/SingleValueRadial.js.map +2 -2
  82. package/Table/PureTable.d.ts +2 -0
  83. package/Table/PureTable.d.ts.map +1 -1
  84. package/Table/config.d.ts.map +1 -1
  85. package/Table.config.js +7 -0
  86. package/Table.config.js.map +2 -2
  87. package/Table.js +91 -9
  88. package/Table.js.map +4 -4
  89. package/Timeline/PureTimeline/PureTimeline.d.ts +6 -5
  90. package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -1
  91. package/Timeline/PureTimeline/src/CursorPlugin.d.ts +1 -0
  92. package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -1
  93. package/Timeline/PureTimeline/src/TimelineLegend.d.ts +10 -7
  94. package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -1
  95. package/Timeline/PureTimeline/src/TimelineTooltip.d.ts +5 -1
  96. package/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -1
  97. package/Timeline/PureTimeline/src/TimelineUplot.d.ts +19 -2
  98. package/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -1
  99. package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
  100. package/Timeline/PureTimeline/src/XAxisPlugin.d.ts +1 -0
  101. package/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -1
  102. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +8 -0
  103. package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
  104. package/Timeline.js +449 -211
  105. package/Timeline.js.map +4 -4
  106. package/Treemap/PureTreemap/components/PureTreemap.d.ts +42 -0
  107. package/Treemap/PureTreemap/components/PureTreemap.d.ts.map +1 -0
  108. package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts +10 -0
  109. package/Treemap/PureTreemap/components/TreemapBreadcrumb.d.ts.map +1 -0
  110. package/Treemap/PureTreemap/components/TreemapChildCell.d.ts +28 -0
  111. package/Treemap/PureTreemap/components/TreemapChildCell.d.ts.map +1 -0
  112. package/Treemap/PureTreemap/components/TreemapHeader.d.ts +19 -0
  113. package/Treemap/PureTreemap/components/TreemapHeader.d.ts.map +1 -0
  114. package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts +17 -0
  115. package/Treemap/PureTreemap/components/TreemapHoverTarget.d.ts.map +1 -0
  116. package/Treemap/PureTreemap/components/TreemapLegend.d.ts +20 -0
  117. package/Treemap/PureTreemap/components/TreemapLegend.d.ts.map +1 -0
  118. package/Treemap/PureTreemap/components/TreemapNode.d.ts +5 -0
  119. package/Treemap/PureTreemap/components/TreemapNode.d.ts.map +1 -0
  120. package/Treemap/PureTreemap/components/TreemapParentNode.d.ts +10 -0
  121. package/Treemap/PureTreemap/components/TreemapParentNode.d.ts.map +1 -0
  122. package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts +6 -0
  123. package/Treemap/PureTreemap/components/TreemapStandaloneNode.d.ts.map +1 -0
  124. package/Treemap/PureTreemap/components/TreemapTooltip.d.ts +17 -0
  125. package/Treemap/PureTreemap/components/TreemapTooltip.d.ts.map +1 -0
  126. package/Treemap/PureTreemap/mockdata/data.d.ts +90 -0
  127. package/Treemap/PureTreemap/mockdata/data.d.ts.map +1 -0
  128. package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts +67 -0
  129. package/Treemap/PureTreemap/utils/treemapColorUtils.d.ts.map +1 -0
  130. package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts +5 -0
  131. package/Treemap/PureTreemap/utils/treemapDataColorUtils.d.ts.map +1 -0
  132. package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts +14 -0
  133. package/Treemap/PureTreemap/utils/treemapDataUtils.d.ts.map +1 -0
  134. package/Treemap/PureTreemap/utils/treemapLayout.d.ts +49 -0
  135. package/Treemap/PureTreemap/utils/treemapLayout.d.ts.map +1 -0
  136. package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts +81 -0
  137. package/Treemap/PureTreemap/utils/treemapNodeUtils.d.ts.map +1 -0
  138. package/Treemap/PureTreemap/utils/treemapTypes.d.ts +37 -0
  139. package/Treemap/PureTreemap/utils/treemapTypes.d.ts.map +1 -0
  140. package/Treemap/PureTreemap/utils/treemapUtils.d.ts +76 -0
  141. package/Treemap/PureTreemap/utils/treemapUtils.d.ts.map +1 -0
  142. package/Treemap/Treemap.d.ts +12 -0
  143. package/Treemap/Treemap.d.ts.map +1 -0
  144. package/Treemap/config.d.ts +4 -0
  145. package/Treemap/config.d.ts.map +1 -0
  146. package/Treemap/index.d.ts +3 -0
  147. package/Treemap/index.d.ts.map +1 -0
  148. package/Treemap.config.js +465 -0
  149. package/Treemap.config.js.map +7 -0
  150. package/Treemap.js +6233 -0
  151. package/Treemap.js.map +7 -0
  152. package/common/DocExampleWithVizSandbox.js.map +2 -2
  153. package/common/GaugeMajorTicks.js.map +2 -2
  154. package/common/GaugeValueMarker.js +1 -0
  155. package/common/GaugeValueMarker.js.map +2 -2
  156. package/common/OverviewDoc.js.map +2 -2
  157. package/common/docUtils.d.ts.map +1 -1
  158. package/common/docUtils.js +1 -8
  159. package/common/docUtils.js.map +2 -2
  160. package/common/gaugeUtils.d.ts.map +1 -1
  161. package/common/gaugeUtils.js +7 -3
  162. package/common/gaugeUtils.js.map +2 -2
  163. package/common/hocs/FixedSizeContainer.d.ts.map +1 -1
  164. package/common/hooks/useDynamicHeight.d.ts +67 -0
  165. package/common/hooks/useDynamicHeight.d.ts.map +1 -0
  166. package/common/interfaces/VizCategory.d.ts +2 -1
  167. package/common/interfaces/VizCategory.d.ts.map +1 -1
  168. package/common/withDashboardViz.js +2 -2
  169. package/common/withDashboardViz.js.map +2 -2
  170. package/docs-llm/INDEX.md +1 -0
  171. package/docs-llm/area/options.md +84 -84
  172. package/docs-llm/bar/options.md +77 -77
  173. package/docs-llm/bubble/options.md +51 -51
  174. package/docs-llm/choropleth-svg/options.md +5 -5
  175. package/docs-llm/column/options.md +82 -82
  176. package/docs-llm/ellipse/options.md +6 -6
  177. package/docs-llm/events/options.md +6 -6
  178. package/docs-llm/filler-gauge/options.md +16 -16
  179. package/docs-llm/image/options.md +3 -3
  180. package/docs-llm/line/options.md +82 -82
  181. package/docs-llm/link-graph/options.md +16 -16
  182. package/docs-llm/map/options.md +12 -12
  183. package/docs-llm/markdown/options.md +7 -7
  184. package/docs-llm/marker-gauge/options.md +16 -16
  185. package/docs-llm/network-graph/options.md +39 -39
  186. package/docs-llm/parallel-coordinates/options.md +4 -4
  187. package/docs-llm/pie/options.md +23 -23
  188. package/docs-llm/process-tree/options.md +22 -22
  189. package/docs-llm/punchcard/options.md +23 -23
  190. package/docs-llm/pure-rich-text/options.md +6 -5
  191. package/docs-llm/rectangle/options.md +9 -9
  192. package/docs-llm/rich-text/options.md +6 -5
  193. package/docs-llm/sankey/options.md +9 -9
  194. package/docs-llm/scatter/options.md +57 -57
  195. package/docs-llm/single-value/options.md +39 -39
  196. package/docs-llm/single-value-icon/options.md +33 -33
  197. package/docs-llm/single-value-radial/options.md +31 -31
  198. package/docs-llm/table/options.md +14 -13
  199. package/docs-llm/timeline/options.md +17 -17
  200. package/docs-llm/treemap/examples-json.md +5 -0
  201. package/docs-llm/treemap/examples-react.md +5 -0
  202. package/docs-llm/treemap/options.md +26 -0
  203. package/docs-llm/treemap/overview.md +27 -0
  204. package/package.json +28 -27
@@ -54,6 +54,8 @@ export interface PureTableProps {
54
54
  }>;
55
55
  hasEventHandlers?: boolean;
56
56
  showColumnAsExpandedJson?: string[];
57
+ dynamicHeight?: boolean;
58
+ onRequestHeight?: (height: number | undefined) => void;
57
59
  }
58
60
  export declare const getUseMouseOverEffect: (props: any, header: string) => boolean;
59
61
  declare const _default: any;
@@ -1 +1 @@
1
- {"version":3,"file":"PureTable.d.ts","sourceRoot":"","sources":["../src/Table/PureTable.tsx"],"names":[],"mappings":"AAcA,OAAO,EAKH,qBAAqB,EAExB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EACH,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACf,MAAM,SAAS,CAAC;AAIjB,OAAO,EAA4B,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAM7E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,UAAU,qBAAqB;IAE3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAIvB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,kBAAkB,CAAC;IAG9B,YAAY,EAAE,kBAAkB,CAAC;IAGjC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,CAAC,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,qBAAqB,CAAA;KAAE,KAAK,IAAI,CAAC;IACrF,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE;YACL,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACL,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AA4TD,eAAO,MAAM,qBAAqB,GAAI,UAAK,EAAE,QAAQ,MAAM,KAAG,OAmB7D,CAAC;wBAyfyE,GAAG;AAA9E,wBAA+E"}
1
+ {"version":3,"file":"PureTable.d.ts","sourceRoot":"","sources":["../src/Table/PureTable.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/Table/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;;AA2kB3D,wBAAqC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/Table/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;;AAklB3D,wBAAqC"}
package/Table.config.js CHANGED
@@ -409,6 +409,13 @@ var editorConfig = [
409
409
  }
410
410
  }
411
411
  ],
412
+ [
413
+ {
414
+ label: (0, i18n_exports._)("Dynamic table height"),
415
+ option: "dynamicHeight",
416
+ editor: "editor.toggle"
417
+ }
418
+ ],
412
419
  [
413
420
  {
414
421
  label: (0, i18n_exports._)("Row numbers"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/Table/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/visualizations-shared/colorConstants", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-icons/placeholders", "esm-externals:@splunk/themes/variables", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/react-icons/TextAlignCenter", "esm-externals:@splunk/react-icons/TextAlignLeft", "esm-externals:@splunk/react-icons/TextAlignRight", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/ThemedDefaults.tsx"],
4
- "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { tableOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\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 { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { defaultBackgroundColor } from '../common/ThemedDefaults';\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 add_summary_to_metadata: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n // color context configs\n colorRangeConfig: [\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 colorMatchConfig: [{ match: '', value: '#5C33FF' }],\n colorGradientConfig: { colors: ['#252214', '#B846BB'] },\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 {\n label: _('Auto'),\n value: '> table | type() | matchValue(tableAlignByType)',\n },\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 themes: ThemedDefaults = {\n defaultBackgroundColor,\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: { dark: 'rgba(35,36,41,0.4)', light: 'rgba(240,240,240,0.6)' },\n prisma: { dark: 'rgba(35,36,41,0.4)', light: 'rgba(240,240,240,0.6)' },\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: { dark: 'rgba(0,0,0,0.4)', light: 'rgba(255,255,255,0.6)' },\n prisma: { dark: 'rgba(0,0,0,0.4)', light: 'rgba(255,255,255,0.6)' },\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([...COLOR_EDITOR_PALETTE]);\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 label: _('Footer totals row'),\n option: 'showFooterTotals',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Footer percentages row'),\n option: 'showFooterPercentages',\n editor: 'editor.checkbox',\n editorProps: {\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 {\n label: _('Proportional (Default)'),\n value: 'proportional',\n },\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 {\n label: _('Extra Small (font 10px, row 24px)'),\n value: 'extraSmall',\n },\n {\n label: _('Small (font 12px, row 24px)'),\n value: 'small',\n },\n {\n label: _('Default (font 14px, row 32px)'),\n value: 'default',\n },\n {\n label: _('Large (font 16px, row 36px)'),\n value: 'large',\n },\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 key: 'tableDynamicColor',\n editor: 'editor.tableDynamicColor',\n context: 'colorGradientConfig',\n option: 'tableFormat',\n label: _('Data colors'),\n filterKeywords: ['range', 'match', 'gradient', 'dynamic coloring'],\n editorProps: {\n labelPosition: 'top',\n formatters: [\n {\n label: _('Gradient'),\n value: 'gradient',\n isDefault: true,\n defaults: {\n table: defaultContext.colorGradientConfig,\n },\n },\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n table: defaultContext.colorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n table: defaultContext.colorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Table'),\n value: 'table',\n },\n ],\n defaultPalettesConfig,\n },\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: defaultContext.colorRangeConfig,\n rowColors: defaultContext.colorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: defaultContext.colorMatchConfig,\n rowColors: defaultContext.colorMatchConfig,\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 {\n label: _('Off'),\n value: false,\n },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n sparkline: [], // Configure via columnFormat.sparklineNullValueDisplay\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", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignCenter\";\nexport * from \"@splunk/react-icons/TextAlignCenter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignLeft\";\nexport * from \"@splunk/react-icons/TextAlignLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignRight\";\nexport * from \"@splunk/react-icons/TextAlignRight\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\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\n enhancedConfig.editorConfig = vizConfig.editorConfig.map((config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\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\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 { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\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", "import pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const defaultBackgroundColor = props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { _ } from '@splunk/ui-utils/i18n';\nimport { tableOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\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 { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { defaultBackgroundColor } from '../common/ThemedDefaults';\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 add_summary_to_metadata: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n // color context configs\n colorRangeConfig: [\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 colorMatchConfig: [{ match: '', value: '#5C33FF' }],\n colorGradientConfig: { colors: ['#252214', '#B846BB'] },\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 {\n label: _('Auto'),\n value: '> table | type() | matchValue(tableAlignByType)',\n },\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 themes: ThemedDefaults = {\n defaultBackgroundColor,\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: { dark: 'rgba(35,36,41,0.4)', light: 'rgba(240,240,240,0.6)' },\n prisma: { dark: 'rgba(35,36,41,0.4)', light: 'rgba(240,240,240,0.6)' },\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: { dark: 'rgba(0,0,0,0.4)', light: 'rgba(255,255,255,0.6)' },\n prisma: { dark: 'rgba(0,0,0,0.4)', light: 'rgba(255,255,255,0.6)' },\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([...COLOR_EDITOR_PALETTE]);\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: _('Dynamic table height'),\n option: 'dynamicHeight',\n editor: 'editor.toggle',\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 label: _('Footer totals row'),\n option: 'showFooterTotals',\n editor: 'editor.checkbox',\n editorProps: {\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Footer percentages row'),\n option: 'showFooterPercentages',\n editor: 'editor.checkbox',\n editorProps: {\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 {\n label: _('Proportional (Default)'),\n value: 'proportional',\n },\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 {\n label: _('Extra Small (font 10px, row 24px)'),\n value: 'extraSmall',\n },\n {\n label: _('Small (font 12px, row 24px)'),\n value: 'small',\n },\n {\n label: _('Default (font 14px, row 32px)'),\n value: 'default',\n },\n {\n label: _('Large (font 16px, row 36px)'),\n value: 'large',\n },\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 key: 'tableDynamicColor',\n editor: 'editor.tableDynamicColor',\n context: 'colorGradientConfig',\n option: 'tableFormat',\n label: _('Data colors'),\n filterKeywords: ['range', 'match', 'gradient', 'dynamic coloring'],\n editorProps: {\n labelPosition: 'top',\n formatters: [\n {\n label: _('Gradient'),\n value: 'gradient',\n isDefault: true,\n defaults: {\n table: defaultContext.colorGradientConfig,\n },\n },\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n table: defaultContext.colorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n table: defaultContext.colorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Table'),\n value: 'table',\n },\n ],\n defaultPalettesConfig,\n },\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: defaultContext.colorRangeConfig,\n rowColors: defaultContext.colorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: defaultContext.colorMatchConfig,\n rowColors: defaultContext.colorMatchConfig,\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 {\n label: _('Off'),\n value: false,\n },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n sparkline: [], // Configure via columnFormat.sparklineNullValueDisplay\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", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignCenter\";\nexport * from \"@splunk/react-icons/TextAlignCenter\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignLeft\";\nexport * from \"@splunk/react-icons/TextAlignLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/TextAlignRight\";\nexport * from \"@splunk/react-icons/TextAlignRight\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\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\n enhancedConfig.editorConfig = vizConfig.editorConfig.map((config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\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\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 { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\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", "import pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const defaultBackgroundColor = props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props);\n"],
5
+ "mappings": "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",
6
6
  "names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "TableIcon", "TablePlaceholderIcon", "optionsSchema"]
7
7
  }
package/Table.js CHANGED
@@ -454,6 +454,13 @@ var editorConfig = [
454
454
  }
455
455
  }
456
456
  ],
457
+ [
458
+ {
459
+ label: (0, i18n_exports._)("Dynamic table height"),
460
+ option: "dynamicHeight",
461
+ editor: "editor.toggle"
462
+ }
463
+ ],
457
464
  [
458
465
  {
459
466
  label: (0, i18n_exports._)("Row numbers"),
@@ -1196,7 +1203,7 @@ var Cover = styled_components_default.div`
1196
1203
  bottom: 0;
1197
1204
  `;
1198
1205
  var Blocker = styled_components_default.div.attrs({
1199
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6"
1206
+ "data-splunk-visualization-version": "28.8.0 - 633c53372"
1200
1207
  })`
1201
1208
  position: relative;
1202
1209
  width: 100%;
@@ -1277,7 +1284,7 @@ var withFixedSizeContainer = (Viz) => {
1277
1284
  FixSizeItem,
1278
1285
  {
1279
1286
  "data-test": "fix-size-item",
1280
- "data-splunk-visualization-version": "28.7.0 - d7b18cab6",
1287
+ "data-splunk-visualization-version": "28.8.0 - 633c53372",
1281
1288
  width,
1282
1289
  height,
1283
1290
  backgroundColor
@@ -4470,6 +4477,72 @@ var SparklineCell = ({
4470
4477
  };
4471
4478
  SparklineCell.displayName = "SparklineCell";
4472
4479
 
4480
+ // src/common/hooks/useDynamicHeight.ts
4481
+ var PAGINATOR_CONTAINER_HEIGHT = 38;
4482
+ var PAGINATOR_SPACING = 5;
4483
+ var useDynamicHeight = ({
4484
+ dynamicHeight,
4485
+ onRequestHeight,
4486
+ isPaging,
4487
+ rows,
4488
+ expandedRowJson
4489
+ }) => {
4490
+ const containerRef = (0, react_exports.useRef)(null);
4491
+ const containerRefInner = (0, react_exports.useRef)(null);
4492
+ const suiTableRef = (0, react_exports.useRef)(null);
4493
+ const lastReportedHeight = (0, react_exports.useRef)(null);
4494
+ const lastContentHeightRef = (0, react_exports.useRef)(void 0);
4495
+ const prevRowsRef = (0, react_exports.useRef)(rows);
4496
+ const prevExpandedRef = (0, react_exports.useRef)(expandedRowJson);
4497
+ (0, react_exports.useEffect)(() => {
4498
+ var _a, _b;
4499
+ if (!dynamicHeight || !onRequestHeight) {
4500
+ return void 0;
4501
+ }
4502
+ const contentChanged = prevRowsRef.current !== rows || prevExpandedRef.current !== expandedRowJson;
4503
+ prevRowsRef.current = rows;
4504
+ prevExpandedRef.current = expandedRowJson;
4505
+ if (contentChanged) {
4506
+ lastReportedHeight.current = null;
4507
+ }
4508
+ const containerEl = containerRef.current;
4509
+ const viewport = containerRefInner.current;
4510
+ const contentNode = (_b = (_a = suiTableRef.current) == null ? void 0 : _a.querySelector("table")) != null ? _b : null;
4511
+ const reportNaturalHeight = () => {
4512
+ var _a2, _b2;
4513
+ const rawPadding = containerEl ? Number.parseInt(getComputedStyle(containerEl).paddingTop, 10) : 0;
4514
+ const paddingOffset = (Number.isNaN(rawPadding) ? 0 : rawPadding) * 2;
4515
+ const paginatorChrome = isPaging ? PAGINATOR_CONTAINER_HEIGHT + PAGINATOR_SPACING : 0;
4516
+ const measuredHeight = (_b2 = (_a2 = contentNode == null ? void 0 : contentNode.scrollHeight) != null ? _a2 : viewport == null ? void 0 : viewport.scrollHeight) != null ? _b2 : 0;
4517
+ const naturalHeight = Math.ceil(measuredHeight + paddingOffset + paginatorChrome);
4518
+ lastContentHeightRef.current = naturalHeight;
4519
+ if (naturalHeight !== lastReportedHeight.current) {
4520
+ lastReportedHeight.current = naturalHeight;
4521
+ onRequestHeight(naturalHeight);
4522
+ }
4523
+ };
4524
+ if (!contentNode) {
4525
+ reportNaturalHeight();
4526
+ return void 0;
4527
+ }
4528
+ reportNaturalHeight();
4529
+ const observer = new ResizeObserver(reportNaturalHeight);
4530
+ observer.observe(contentNode);
4531
+ return () => observer.disconnect();
4532
+ }, [dynamicHeight, isPaging, rows, expandedRowJson, onRequestHeight]);
4533
+ (0, react_exports.useEffect)(() => {
4534
+ if (lastContentHeightRef.current === void 0) {
4535
+ return;
4536
+ }
4537
+ if (dynamicHeight) {
4538
+ onRequestHeight == null ? void 0 : onRequestHeight(lastContentHeightRef.current);
4539
+ } else {
4540
+ onRequestHeight == null ? void 0 : onRequestHeight(void 0);
4541
+ }
4542
+ }, [dynamicHeight, onRequestHeight]);
4543
+ return { containerRef, containerRefInner, suiTableRef };
4544
+ };
4545
+
4473
4546
  // src/common/utils/textUtils.ts
4474
4547
  var VIZ_FONT_FAMILY = "'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif";
4475
4548
 
@@ -4673,8 +4746,6 @@ var VizTableContainer = styled_components_default.div`
4673
4746
  }
4674
4747
  `;
4675
4748
  VizTableContainer.displayName = "VizTableContainer";
4676
- var PAGINATOR_CONTAINER_HEIGHT = 38;
4677
- var PAGINATOR_SPACING = 5;
4678
4749
  var SUITableContainer = styled_components_default.div`
4679
4750
  & * {
4680
4751
  font-family: ${(props) => props.font};
@@ -4886,11 +4957,11 @@ var PureTable = (props) => {
4886
4957
  headerVisibility,
4887
4958
  font,
4888
4959
  fontSize,
4889
- showColumnAsExpandedJson
4960
+ showColumnAsExpandedJson,
4961
+ dynamicHeight,
4962
+ onRequestHeight
4890
4963
  } = _a;
4891
4964
  const [columns, setColumns] = react_exports.useState(columnFormat);
4892
- const containerRef = react_exports.useRef(null);
4893
- const containerRefInner = react_exports.useRef(null);
4894
4965
  const [isResizing, setResizing] = react_exports.useState(false);
4895
4966
  const firstRenderCount = react_exports.useRef(count);
4896
4967
  react_exports.useEffect(() => {
@@ -4917,6 +4988,13 @@ var PureTable = (props) => {
4917
4988
  () => expandedRowJson.some((rowJson) => rowJson.isExpandable),
4918
4989
  [expandedRowJson]
4919
4990
  );
4991
+ const { containerRef, containerRefInner, suiTableRef } = useDynamicHeight({
4992
+ dynamicHeight,
4993
+ onRequestHeight,
4994
+ isPaging,
4995
+ rows: tableBody.rows,
4996
+ expandedRowJson
4997
+ });
4920
4998
  const TableHead = useTableHead(headerVisibility);
4921
4999
  const debouncedDrilldown = react_exports.useMemo(
4922
5000
  () => debounce_default((e, payload) => {
@@ -5090,6 +5168,7 @@ var PureTable = (props) => {
5090
5168
  /* @__PURE__ */ react_exports.createElement(
5091
5169
  Table_default,
5092
5170
  {
5171
+ elementRef: suiTableRef,
5093
5172
  resizableFillLayout: true,
5094
5173
  headType: isHeaderHidden ? void 0 : "inline",
5095
5174
  rowExpansion: hasExpandableRows ? "multi" : "none",
@@ -5266,7 +5345,9 @@ PureTable.propTypes = {
5266
5345
  width: prop_types_exports.oneOfType([prop_types_exports.number]),
5267
5346
  onColumnFormatChange: prop_types_exports.func,
5268
5347
  font: prop_types_exports.string,
5269
- fontSize: prop_types_exports.string
5348
+ fontSize: prop_types_exports.string,
5349
+ dynamicHeight: prop_types_exports.bool,
5350
+ onRequestHeight: prop_types_exports.func
5270
5351
  };
5271
5352
  PureTable.defaultProps = {
5272
5353
  columnFormat: {},
@@ -5292,7 +5373,8 @@ PureTable.defaultProps = {
5292
5373
  width: 300,
5293
5374
  onColumnFormatChange: lodash_exports.noop,
5294
5375
  font: fontMap.proportional,
5295
- fontSize: fontSizeMap.default
5376
+ fontSize: fontSizeMap.default,
5377
+ dynamicHeight: false
5296
5378
  };
5297
5379
  PureTable.displayName = "VizTable";
5298
5380
  var PureTable_default = withEmptyTableMessage(FixedSizeContainer_default(PureTable));