@splunk/react-ui 5.9.0 → 5.9.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 (53) hide show
  1. package/ButtonSimple.js +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/Code.js +177 -170
  4. package/ColumnLayout.js +69 -45
  5. package/Dropdown.js +74 -68
  6. package/LICENSE +1 -1
  7. package/MIGRATION.md +40 -0
  8. package/Markdown.js +331 -306
  9. package/Menu.js +2 -2
  10. package/Multiselect.js +59 -59
  11. package/Number.js +236 -242
  12. package/SimpleTable.d.ts +2 -0
  13. package/SimpleTable.js +433 -0
  14. package/SlidingPanels.js +224 -153
  15. package/SpotLight.d.ts +2 -0
  16. package/SpotLight.js +687 -0
  17. package/Table.js +1230 -1233
  18. package/docker-compose.yml +12 -18
  19. package/docs-llm/Avatar.md +2 -2
  20. package/docs-llm/Collapsible Panel.md +11 -57
  21. package/docs-llm/Column Layout.md +2 -2
  22. package/docs-llm/Divider.md +33 -0
  23. package/docs-llm/Message Bar.md +4 -1
  24. package/docs-llm/Multiselect.md +180 -159
  25. package/docs-llm/Table.md +7 -7
  26. package/docs-llm/Typography.md +1 -1
  27. package/docs-llm/llms.txt +1 -1
  28. package/package.json +9 -11
  29. package/test-runner-jest.config.js +4 -53
  30. package/types/src/CollapsiblePanel/docs/examples/Actions.d.ts +1 -1
  31. package/types/src/ColumnLayout/ColumnLayout.d.ts +2 -2
  32. package/types/src/Divider/docs/examples/VerticalWithAlignItems.d.ts +8 -0
  33. package/types/src/Markdown/Markdown.d.ts +14 -2
  34. package/types/src/Markdown/renderers/MarkdownTable.d.ts +2 -22
  35. package/types/src/Markdown/renderers/MarkdownWrapper.d.ts +11 -0
  36. package/types/src/Markdown/renderers/index.d.ts +3 -1
  37. package/types/src/Multiselect/Compact.d.ts +4 -0
  38. package/types/src/Multiselect/Multiselect.d.ts +4 -0
  39. package/types/src/Multiselect/docs/examples/LoadMoreWithSelectAll.d.ts +9 -0
  40. package/types/src/SelectBase/SelectBase.d.ts +4 -0
  41. package/types/src/SimpleTable/Body.d.ts +25 -0
  42. package/types/src/SimpleTable/Cell.d.ts +20 -0
  43. package/types/src/SimpleTable/Head.d.ts +20 -0
  44. package/types/src/SimpleTable/HeadCell.d.ts +20 -0
  45. package/types/src/SimpleTable/Row.d.ts +20 -0
  46. package/types/src/SimpleTable/SimpleTable.d.ts +37 -0
  47. package/types/src/SimpleTable/index.d.ts +3 -0
  48. package/types/src/SpotLight/SpotLight.d.ts +88 -0
  49. package/types/src/SpotLight/index.d.ts +2 -0
  50. package/types/src/Table/Row.d.ts +1 -1
  51. package/types/src/Table/Table.d.ts +1 -1
  52. package/types/src/Typography/Typography.d.ts +1 -1
  53. package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +0 -7
package/docs-llm/Table.md CHANGED
@@ -2452,14 +2452,14 @@ export default Complex;
2452
2452
 
2453
2453
  | Name | Type | Required | Default | Description |
2454
2454
  |------|------|------|------|------|
2455
- | actions | React.ReactElement[] | no | | Adds table-level actions. Not compatible with `onRequestResize`. |
2455
+ | actions | React.ReactElement[] | no | [] | Adds table-level actions. Not compatible with `onRequestResize`. |
2456
2456
  | actionsColumnWidth | number | no | | Specifies the width of the actions column. Adds an empty header for row actions if no table-level actions are present. |
2457
2457
  | children | React.ReactNode | no | | Must be `Table.Head`, `Table.Body`, or `Table.Caption`. |
2458
- | dockOffset | number | no | | Sets the offset from the top of the window. Only applies when `headType` is 'docked'. |
2458
+ | dockOffset | number | no | 0 | Sets the offset from the top of the window. Only applies when `headType` is 'docked'. |
2459
2459
  | dockScrollBar | boolean | no | | Docks the horizontal scroll bar at the bottom of the window when the bottom of the table is below the viewport. |
2460
2460
  | elementRef | React.Ref<HTMLDivElement> | no | | A React ref which is set to the DOM element when the component mounts and null when it unmounts. |
2461
- | headType | 'docked' \| 'fixed' \| 'inline' | no | | Sets the table head type: * `docked`: The head is docked against the window * `fixed` : The head is fixed in the table. The table can scroll independently from the head. * `inline`: The head isn't fixed, but can scroll with the rest of the table. |
2462
- | horizontalOverflow | 'auto' \| 'scroll' | no | | Controls how the Table handles horizontal content overflow: * `auto`: The default behavior for overflow. `HeadCell` content will truncate and `Cell` content will wrap. The Table will scroll horizontally when the container's width exceeds the Table's width. * `scroll`: The Table will scroll horizontally. `HeadCell` content will not truncate and `Cell` content will wrap only for word breaks. |
2461
+ | headType | 'docked' \| 'fixed' \| 'inline' | no | 'inline' | Sets the table head type: * `docked`: The head is docked against the window * `fixed` : The head is fixed in the table. The table can scroll independently from the head. * `inline`: The head isn't fixed, but can scroll with the rest of the table. |
2462
+ | horizontalOverflow | 'auto' \| 'scroll' | no | 'auto' | Controls how the Table handles horizontal content overflow: * `auto`: The default behavior for overflow. `HeadCell` content will truncate and `Cell` content will wrap. The Table will scroll horizontally when the container's width exceeds the Table's width. * `scroll`: The Table will scroll horizontally. `HeadCell` content will not truncate and `Cell` content will wrap only for word breaks. |
2463
2463
  | innerStyle | React.CSSProperties | no | | Style specification for the inner container, which is the scrolling container. |
2464
2464
  | onRequestMoveColumn | TableRequestMoveColumnHandler | no | | An event handler for handle the re-order action of Table. The function is passed an options object with `fromIndex` and `toIndex`. |
2465
2465
  | onRequestMoveRow | TableRequestMoveRowHandler | no | | An event handler to handle the reorder rows action of Table. The function is passed an options object with `fromIndex` and `toIndex`. |
@@ -2468,10 +2468,10 @@ export default Complex;
2468
2468
  | onScroll | React.UIEventHandler<HTMLDivElement> | no | | Callback invoked when a scroll event occurs on the inner scrolling container. |
2469
2469
  | outerStyle | React.CSSProperties | no | | Style specification for the outer container. |
2470
2470
  | pinnedColumns | PinnedColumnsProp | no | | Optionally pin the actions column to the end of the table by passing `pinnedColumns={{ actions: true }}.` When using pinned columns `horizontalOverflow` should be set to `scroll`. |
2471
- | primaryColumnIndex | number | no | | Indicates the column to use as the primary label for each row. |
2471
+ | primaryColumnIndex | number | no | 0 | Indicates the column to use as the primary label for each row. |
2472
2472
  | resizableFillLayout | boolean | no | | Table will fill parent container. Resizable columns can have a `width` of `auto` only with this prop enabled. |
2473
- | rowExpansion | 'single' \| 'multi' \| 'controlled' \| 'none' | no | | Adds a column to the table with an expansion button for each row that has expansion content. Supported values: * `single`: Only one row can be expanded at a time. If another expansion button is clicked, the currently expanded row closes and the new one opens. * `multi`: Allows multiple rows to be expanded at the same time. * `controlled`: Allows the expanded state to be externally managed by `expanded` prop of `Row`. * `none`: The default with no row expansion. |
2474
- | rowSelection | 'all' \| 'some' \| 'none' | no | | When an `onRequestToggleAllRows` handler is defined, this prop determines the appearance of the toggle all rows button. |
2473
+ | rowExpansion | 'single' \| 'multi' \| 'controlled' \| 'none' | no | 'none' | Adds a column to the table with an expansion button for each row that has expansion content. Supported values: * `single`: Only one row can be expanded at a time. If another expansion button is clicked, the currently expanded row closes and the new one opens. * `multi`: Allows multiple rows to be expanded at the same time. * `controlled`: Allows the expanded state to be externally managed by `expanded` prop of `Row`. * `none`: The default with no row expansion. |
2474
+ | rowSelection | 'all' \| 'some' \| 'none' | no | 'none' | When an `onRequestToggleAllRows` handler is defined, this prop determines the appearance of the toggle all rows button. |
2475
2475
  | stripeRows | boolean | no | | Alternate rows are given a darker background to improve readability. |
2476
2476
  | tableStyle | React.CSSProperties | no | | The style attribute for the table. This is primarily useful for setting the CSS table-layout property. |
2477
2477
 
@@ -68,7 +68,7 @@ Typography renders text content with styling based on the Splunk Design System.
68
68
 
69
69
  | Name | Type | Required | Default | Description |
70
70
  |------|------|------|------|------|
71
- | as | \| 'p' \| 'h1' \| 'h2' \| 'h3' \| 'h4' \| 'h5' \| 'h6' \| 'span' \| 'blockquote' \| 'dd' \| 'dl' \| 'dt' \| 'figcaption' \| 'figure' \| 'li' \| 'ol' \| 'ul' \| 'pre' \| 'abbr' \| 'cite' \| 'code' \| 'data' \| 'dfn' \| 'em' \| 'u' \| 'time' \| 'sup' \| 'sub' \| 'strong' \| 'small' \| 'samp' \| 's' \| 'var' \| 'ruby' \| 'rt' \| 'rp' | yes | | Tag for the element to render children content into. Use the most semantically appropriate tag. Layout elements like `div` are not allowed; use the `typography` mixin from `@splunk/themes` instead. |
71
+ | as | \| 'p' \| 'h1' \| 'h2' \| 'h3' \| 'h4' \| 'h5' \| 'h6' \| 'span' \| 'blockquote' \| 'dd' \| 'dl' \| 'dt' \| 'figcaption' \| 'figure' \| 'li' \| 'ol' \| 'ul' \| 'pre' \| 'abbr' \| 'cite' \| 'code' \| 'data' \| 'dfn' \| 'em' \| 'label' \| 'u' \| 'time' \| 'sup' \| 'sub' \| 'strong' \| 'small' \| 'samp' \| 's' \| 'var' \| 'ruby' \| 'rt' \| 'rp' | yes | | Tag for the element to render children content into. Use the most semantically appropriate tag. Layout elements like `div` are not allowed; use the `typography` mixin from `@splunk/themes` instead. |
72
72
  | children | React.ReactNode | yes | | Text and inline icons |
73
73
  | color | 'active' \| 'default' \| 'disabled' \| 'inverted' \| 'muted' \| 'inherit' | no | | Set the color to a system-standard color: e.g. `active` for `@splunk/themes/variables.contentColorActive`. |
74
74
  | elementRef | React.Ref<HTMLElement> | no | | A React ref which is set to the DOM element when the component mounts, and null when it unmounts. |
package/docs-llm/llms.txt CHANGED
@@ -77,7 +77,6 @@ A library of UI components, all independent of the Splunk Enterprise environment
77
77
  - **AnimationToggle**
78
78
  - **Button Group**
79
79
  - **Clickable**
80
- - **Column Layout**
81
80
  - **Divider**
82
81
  - **Dropdown**
83
82
  - **Layer**
@@ -97,5 +96,6 @@ A library of UI components, all independent of the Splunk Enterprise environment
97
96
  ## Deprecated
98
97
 
99
98
  - **Accordion**
99
+ - **Column Layout**
100
100
  - **Monogram**
101
101
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splunk/react-ui",
3
- "version": "5.9.0",
3
+ "version": "5.9.1",
4
4
  "description": "Library of React components that implement the Splunk design language",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Splunk Inc.",
@@ -45,17 +45,16 @@
45
45
  "@dnd-kit/sortable": "^8.0.0",
46
46
  "@dnd-kit/utilities": "^3.2.2",
47
47
  "@react-spring/web": "^9.7.5",
48
- "@splunk/react-icons": "^5.9.0",
49
- "@splunk/themes": "^1.6.0",
50
- "@splunk/ui-utils": "^1.12.0",
48
+ "@splunk/react-icons": "^5.10.0",
49
+ "@splunk/themes": "^1.7.0",
50
+ "@splunk/ui-utils": "^1.13.0",
51
51
  "decimal.js-light": "^2.5.1",
52
52
  "intl-tel-input": "^25.3.2",
53
- "lodash": "^4.17.14",
53
+ "lodash": "^4.18.1",
54
54
  "moment": "^2.29.4",
55
55
  "prop-types": "^15.6.2",
56
56
  "react-markdown": "^8.0.7",
57
57
  "remark-gfm": "^1.0.0",
58
- "tinycolor2": "^1.4.1",
59
58
  "use-sync-external-store": "^1.6.0",
60
59
  "use-typed-event-listener": "^3.0.0"
61
60
  },
@@ -63,10 +62,10 @@
63
62
  "@babel/core": "^7.28.0",
64
63
  "@babel/plugin-transform-runtime": "^7.28.0",
65
64
  "@splunk/babel-preset": "^4.0.0",
66
- "@splunk/docs-gen": "^1.4.0",
67
- "@splunk/eslint-config": "^5.0.0",
68
- "@splunk/eslint-plugin-splunk-ui": "^0.1.0",
69
- "@splunk/react-docs": "^1.6.0",
65
+ "@splunk/docs-gen": "^1.5.0",
66
+ "@splunk/eslint-config": "^5.1.0",
67
+ "@splunk/eslint-plugin-splunk-ui": "^0.2.0",
68
+ "@splunk/react-docs": "^1.7.0",
70
69
  "@splunk/stylelint-config": "^5.0.0",
71
70
  "@splunk/test-runner-utils": "^0.4.1",
72
71
  "@splunk/webpack-configs": "^7.0.3",
@@ -90,7 +89,6 @@
90
89
  "@types/react": "^18.2.0",
91
90
  "@types/react-dom": "^18.2.0",
92
91
  "@types/styled-components": "^5.1.0",
93
- "@types/tinycolor2": "^1.4.2",
94
92
  "@types/use-sync-external-store": "^1.5.0",
95
93
  "@types/webpack-env": "^1.15.2",
96
94
  "@typescript-eslint/eslint-plugin": "^8.29.1",
@@ -1,58 +1,9 @@
1
- /* eslint-disable no-undef */
2
- // eslint-disable-next-line @typescript-eslint/no-var-requires
3
- const { getJestConfig } = require('@storybook/test-runner');
1
+ import { getJestConfig } from '@storybook/test-runner';
4
2
 
5
- // if component is passed to storybook:test then test will run for only that component
6
- const testMatch = process.env.STORYBOOK_TEST_COMPONENT
7
- ? [
8
- `**/${process.env.STORYBOOK_TEST_COMPONENT}.stories.[jt]s?(x)`,
9
- `**/${process.env.STORYBOOK_TEST_COMPONENT}.examples.[jt]s?(x)`,
10
- ]
11
- : ['**/*.stories.[jt]s?(x)', '**/*.examples.[jt]s?(x)'];
3
+ import sharedJestConfig from '../../infra/visual-tests/test-runner-jest.config.js';
12
4
 
13
- module.exports = {
5
+ export default {
14
6
  // The default configuration comes from @storybook/test-runner
15
7
  ...getJestConfig(),
16
- rootDir: process.cwd(),
17
- testMatch,
18
- transform: {
19
- '^.+\\.stories\\.[jt]sx?$': '@storybook/test-runner/playwright/transform',
20
- '^.+\\.examples\\.[jt]sx?$': '@storybook/test-runner/playwright/transform',
21
- '^.+\\.tsx?$': 'babel-jest',
22
- },
23
- // used for a11y DOM snapshots, currently disabled
24
- // snapshotResolver: '<rootDir>/.storybook-visual/config/snapshotResolver.js',
25
- reporters: [
26
- 'default',
27
- 'jest-junit',
28
- [
29
- 'jest-stare',
30
- {
31
- resultDir: `./test-reports/${
32
- process.env.STORYBOOK_TEST_A11Y === 'false' ? 'visual' : 'a11y'
33
- }/${process.env.STORYBOOK_THEME_FAMILY}${
34
- process.env.JOB_BROWSER ? `-${process.env.JOB_BROWSER}` : ''
35
- }`,
36
- reportTitle: `${
37
- process.env.STORYBOOK_TEST_A11Y === 'false' ? 'Visual' : 'A11y'
38
- } Test Report - ${process.env.STORYBOOK_THEME_FAMILY}${
39
- process.env.JOB_BROWSER ? `-${process.env.JOB_BROWSER}` : ''
40
- }`,
41
- reportHeadline: `${
42
- process.env.STORYBOOK_TEST_A11Y === 'false' ? 'Visual' : 'A11y'
43
- } Test Report - ${process.env.STORYBOOK_THEME_FAMILY}${
44
- process.env.JOB_BROWSER ? `-${process.env.JOB_BROWSER}` : ''
45
- }`,
46
- hidePending: true,
47
- resultHtml:
48
- process.env.STORYBOOK_TEST_A11Y === 'false'
49
- ? 'visual-report.html'
50
- : 'a11y-report.html',
51
- },
52
- ],
53
- '../../infra/visual-tests/orphaned-snapshot-check-reporter.js',
54
- ],
55
- globals: {
56
- __DEV__: true,
57
- },
8
+ ...sharedJestConfig,
58
9
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  /**
3
3
  * @name Actions
4
- * @description Adding clickable items in the header.
4
+ * @description Adding clickable items in the header. Within a set of panels, keep headers consistent by either including `actions` on all panels or on none.
5
5
  */
6
6
  declare function Actions(): React.JSX.Element;
7
7
  export default Actions;
@@ -17,8 +17,8 @@ interface ColumnLayoutPropsBase {
17
17
  }
18
18
  type ColumnLayoutProps = ComponentProps<ColumnLayoutPropsBase, 'div'>;
19
19
  /**
20
- * `ColumnLayout` provides simple API for laying out content into columns. It is based on flexbox
21
- * and has 12 columns.
20
+ * @deprecated
21
+ * ColumnLayout has been deprecated and will be removed in a future major version. Use CSS `grid` or `flex` instead.
22
22
  */
23
23
  declare function ColumnLayout({ children, divider, elementRef, gutter, ...otherProps }: ColumnLayoutProps): React.JSX.Element;
24
24
  declare namespace ColumnLayout {
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ /**
3
+ * @name VerticalWithAlignItems
4
+ * @description When a flex container uses `align-items`, the vertical divider collapses
5
+ * to zero height. Apply `align-self: stretch` to the divider to restore it height.
6
+ */
7
+ declare function VerticalWithAlignItems(): React.JSX.Element;
8
+ export default VerticalWithAlignItems;
@@ -54,6 +54,10 @@ type ListRenderer = (props: {
54
54
  type ParagraphRenderer = (props: {
55
55
  children: React.ReactNode[];
56
56
  }) => RemarkReturn;
57
+ type WrapperRenderer = (props: {
58
+ children?: React.ReactNode;
59
+ elementRef?: React.Ref<HTMLElement>;
60
+ }) => JSX.Element;
57
61
  interface MarkdownPropsBase {
58
62
  /**
59
63
  * A custom blockquote renderer. The function is passed an object containing `children`.
@@ -109,6 +113,12 @@ interface MarkdownPropsBase {
109
113
  * prop is superseded by `Markdown`'s `text` prop.
110
114
  */
111
115
  rendererOptions?: Omit<Options, 'children'>;
116
+ /**
117
+ * @private
118
+ * Replaces the default Prose wrapper.
119
+ * Can be set to null to render markdown without a wrapper.
120
+ */
121
+ wrapper?: WrapperRenderer | null;
112
122
  }
113
123
  type MarkdownProps = ComponentProps<MarkdownPropsBase, 'section'>;
114
124
  /**
@@ -116,7 +126,7 @@ type MarkdownProps = ComponentProps<MarkdownPropsBase, 'section'>;
116
126
  * The component prefers @splunk/react-ui components over plain HTML components. For example
117
127
  * links are rendered as the `@splunk/react-ui/Link` component instead of plain `<a>` tag.
118
128
  */
119
- declare function Markdown({ blockquoteRenderer, codeBlockRenderer, codeRenderer, elementRef, headingRenderer, imageRenderer, itemRenderer, linkRenderer, listRenderer, paragraphRenderer, text, rendererOptions, ...otherProps }: MarkdownProps): React.JSX.Element;
129
+ declare function Markdown({ blockquoteRenderer, codeBlockRenderer, codeRenderer, elementRef, headingRenderer, imageRenderer, itemRenderer, linkRenderer, listRenderer, paragraphRenderer, text, rendererOptions, wrapper, ...otherProps }: MarkdownProps): React.JSX.Element;
120
130
  declare namespace Markdown {
121
131
  var propTypes: {
122
132
  blockquoteRenderer: PropTypes.Requireable<(...args: any[]) => any>;
@@ -131,7 +141,9 @@ declare namespace Markdown {
131
141
  paragraphRenderer: PropTypes.Requireable<(...args: any[]) => any>;
132
142
  text: PropTypes.Validator<string>;
133
143
  rendererOptions: PropTypes.Requireable<object>;
144
+ /** @private */
145
+ wrapper: PropTypes.Requireable<(...args: any[]) => any>;
134
146
  };
135
147
  }
136
148
  export default Markdown;
137
- export { MarkdownAnchorHeading, MarkdownBlockquote, MarkdownCodeBlock, MarkdownCode, MarkdownHeading, MarkdownImage, MarkdownItem, MarkdownLink, MarkdownList, MarkdownParagraph, BlockquoteRenderer, CodeBlockRenderer, CodeRenderer, HeadingRenderer, ImageRenderer, ItemRenderer, LinkRenderer, ListRenderer, ParagraphRenderer, };
149
+ export { MarkdownAnchorHeading, MarkdownBlockquote, MarkdownCodeBlock, MarkdownCode, MarkdownHeading, MarkdownImage, MarkdownItem, MarkdownLink, MarkdownList, MarkdownParagraph, BlockquoteRenderer, CodeBlockRenderer, CodeRenderer, HeadingRenderer, ImageRenderer, ItemRenderer, LinkRenderer, ListRenderer, ParagraphRenderer, WrapperRenderer, };
@@ -2,39 +2,19 @@ import React from 'react';
2
2
  declare function MarkdownTable({ children, ...otherProps }: {
3
3
  children: React.ReactNode[];
4
4
  }): React.JSX.Element;
5
- declare namespace MarkdownTable {
6
- var splunkUiType: string;
7
- }
8
5
  declare function MarkdownTableBody({ children, ...otherProps }: {
9
6
  children: React.ReactNode[];
10
7
  }): React.JSX.Element;
11
- declare namespace MarkdownTableBody {
12
- var splunkUiType: string;
13
- }
14
- declare function MarkdownTableCell({ children, style, ...otherProps }: {
8
+ declare function MarkdownTableCell({ children, ...otherProps }: {
15
9
  children: React.ReactNode[];
16
- style?: React.CSSProperties & Record<string, unknown>;
17
10
  }): React.JSX.Element;
18
- declare namespace MarkdownTableCell {
19
- var splunkUiType: string;
20
- }
21
11
  declare function MarkdownTableHead({ children, ...otherProps }: {
22
12
  children: React.ReactNode[];
23
13
  }): React.JSX.Element;
24
- declare namespace MarkdownTableHead {
25
- var splunkUiType: string;
26
- }
27
- declare function MarkdownTableHeadCell({ children, style, ...otherProps }: {
14
+ declare function MarkdownTableHeadCell({ children, ...otherProps }: {
28
15
  children: React.ReactNode[];
29
- style?: React.CSSProperties & Record<string, unknown>;
30
16
  }): React.JSX.Element;
31
- declare namespace MarkdownTableHeadCell {
32
- var splunkUiType: string;
33
- }
34
17
  declare function MarkdownTableRow({ children, ...otherProps }: {
35
18
  children: React.ReactNode[];
36
19
  }): React.JSX.Element;
37
- declare namespace MarkdownTableRow {
38
- var splunkUiType: string;
39
- }
40
20
  export { MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeadCell, MarkdownTableRow, };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { ComponentProps } from '../../utils/types';
3
+ type MarkdownWrapperPropsBase = {
4
+ children?: React.ReactNode;
5
+ elementRef?: React.Ref<HTMLElement>;
6
+ frontmatter?: Record<string, unknown>;
7
+ };
8
+ type MarkdownWrapperProps = ComponentProps<MarkdownWrapperPropsBase, 'section'>;
9
+ declare function MarkdownWrapper({ children, elementRef, ...otherProps }: MarkdownWrapperProps): React.JSX.Element;
10
+ export default MarkdownWrapper;
11
+ export type { MarkdownWrapperProps };
@@ -9,4 +9,6 @@ import MarkdownLink from './MarkdownLink';
9
9
  import MarkdownList from './MarkdownList';
10
10
  import MarkdownParagraph from './MarkdownParagraph';
11
11
  import { MarkdownTable, MarkdownTableHeadCell, MarkdownTableCell, MarkdownTableRow, MarkdownTableBody, MarkdownTableHead } from './MarkdownTable';
12
- export { MarkdownAnchorHeading, MarkdownBlockquote, MarkdownCodeBlock, MarkdownCode, MarkdownHeading, MarkdownImage, MarkdownItem, MarkdownLink, MarkdownList, MarkdownParagraph, MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeadCell, MarkdownTableRow, StyledCodeBlock, StyledHint, };
12
+ import MarkdownWrapper from './MarkdownWrapper';
13
+ export { MarkdownAnchorHeading, MarkdownBlockquote, MarkdownCodeBlock, MarkdownCode, MarkdownHeading, MarkdownImage, MarkdownItem, MarkdownLink, MarkdownList, MarkdownParagraph, MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeadCell, MarkdownTableRow, MarkdownWrapper, StyledCodeBlock, StyledHint, };
14
+ export type { MarkdownWrapperProps } from './MarkdownWrapper';
@@ -99,6 +99,7 @@ interface CompactPropsBase {
99
99
  /**
100
100
  * A callback to receive the change events. If values is set, this callback is required.
101
101
  * This must set the values prop to retain the change.
102
+ * Supports custom selection behavior.
102
103
  */
103
104
  onChange?: MultiselectChangeHandler;
104
105
  /**
@@ -140,6 +141,9 @@ interface CompactPropsBase {
140
141
  /**
141
142
  * Determines how to display Select all/Clear all.
142
143
  *
144
+ * By default, selection applies only to currently loaded options.
145
+ * Use `onChange` for custom selection behavior.
146
+ *
143
147
  * @deprecatedValue 'buttongroup'
144
148
  * The 'buttongroup' value is deprecated and will be removed in a future major version.
145
149
  */
@@ -123,6 +123,7 @@ interface MultiselectPropsBase {
123
123
  /**
124
124
  * A callback to receive the change events. If values is set, this callback is required.
125
125
  * This must set the values prop to retain the change.
126
+ * Supports custom selection behavior.
126
127
  */
127
128
  onChange?: MultiselectChangeHandler;
128
129
  /**
@@ -165,6 +166,9 @@ interface MultiselectPropsBase {
165
166
  * Determines how to display Select all/Clear all.
166
167
  * Only supported when `compact=true`.
167
168
  *
169
+ * By default, selection applies only to currently loaded options.
170
+ * Use `onChange` for custom selection behavior.
171
+ *
168
172
  * @deprecatedValue 'buttongroup'
169
173
  * The 'buttongroup' value is deprecated and will be removed in a future major version.
170
174
  */
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ /**
3
+ * @name Load more on scroll bottom with select all
4
+ * @description Demonstrates incremental loading when the list is scrolled to the bottom.
5
+ * The `onScrollBottom` callback appends additional options to the existing list.
6
+ * A custom `onChange` handler applies "Select all" to the full dataset, so options loaded later remain selected as they appear.
7
+ */
8
+ declare function LoadMoreWithSelectAll(): React.JSX.Element;
9
+ export default LoadMoreWithSelectAll;
@@ -127,6 +127,7 @@ interface SelectBasePropsBase {
127
127
  /**
128
128
  * A callback to receive the change events. If values is set, this callback is required.
129
129
  * This must set the values prop to retain the change.
130
+ * Supports custom selection behavior.
130
131
  */
131
132
  onChange?: SelectBaseChangeHandler;
132
133
  /**
@@ -175,6 +176,9 @@ interface SelectBasePropsBase {
175
176
  repositionMode?: 'none' | 'flip';
176
177
  /**
177
178
  * Determines how to display Select all/Clear all.
179
+ *
180
+ * By default, selection applies only to currently loaded options.
181
+ * Use `onChange` for custom selection behavior.
178
182
  */
179
183
  selectAllAppearance?: 'buttongroup' | 'checkbox' | 'none';
180
184
  showSelectedValuesFirst?: 'nextOpen' | 'immediately' | 'never';
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface BodyPropsBase {
5
+ children?: React.ReactNode;
6
+ /**
7
+ * A React ref which is set to the section DOM element when the component mounts and null when it unmounts.
8
+ */
9
+ elementRef?: React.Ref<HTMLTableSectionElement>;
10
+ /**
11
+ * Alternate rows are given a darker background to improve readability.
12
+ */
13
+ stripeRows?: boolean;
14
+ }
15
+ type BodyProps = ComponentProps<BodyPropsBase, 'tbody'>;
16
+ declare function Body({ children, elementRef, stripeRows, ...otherProps }: BodyProps): React.JSX.Element;
17
+ declare namespace Body {
18
+ var propTypes: {
19
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
+ elementRef: PropTypes.Requireable<object>;
21
+ stripeRows: PropTypes.Requireable<boolean>;
22
+ };
23
+ }
24
+ export default Body;
25
+ export type { BodyPropsBase };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface CellPropsBase {
5
+ children?: React.ReactNode;
6
+ /**
7
+ * A React ref which is set to the cell DOM element when the component mounts and null when it unmounts.
8
+ */
9
+ elementRef?: React.Ref<HTMLTableCellElement>;
10
+ }
11
+ type CellProps = ComponentProps<CellPropsBase, 'td'>;
12
+ declare function Cell({ children, elementRef, ...otherProps }: CellProps): React.JSX.Element;
13
+ declare namespace Cell {
14
+ var propTypes: {
15
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
+ elementRef: PropTypes.Requireable<object>;
17
+ };
18
+ }
19
+ export default Cell;
20
+ export type { CellPropsBase };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface HeadPropsBase {
5
+ children?: React.ReactNode;
6
+ /**
7
+ * A React ref which is set to the section DOM element when the component mounts and null when it unmounts.
8
+ */
9
+ elementRef?: React.Ref<HTMLTableSectionElement>;
10
+ }
11
+ type HeadProps = ComponentProps<HeadPropsBase, 'thead'>;
12
+ declare function Head({ children, elementRef, ...otherProps }: HeadProps): React.JSX.Element;
13
+ declare namespace Head {
14
+ var propTypes: {
15
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
+ elementRef: PropTypes.Requireable<object>;
17
+ };
18
+ }
19
+ export default Head;
20
+ export type { HeadPropsBase };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface HeadCellPropsBase {
5
+ children?: React.ReactNode;
6
+ /**
7
+ * A React ref which is set to the cell DOM element when the component mounts and null when it unmounts.
8
+ */
9
+ elementRef?: React.Ref<HTMLTableCellElement>;
10
+ }
11
+ type HeadCellProps = ComponentProps<HeadCellPropsBase, 'th'>;
12
+ declare function HeadCell({ children, elementRef, ...otherProps }: HeadCellProps): React.JSX.Element;
13
+ declare namespace HeadCell {
14
+ var propTypes: {
15
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
+ elementRef: PropTypes.Requireable<object>;
17
+ };
18
+ }
19
+ export default HeadCell;
20
+ export type { HeadCellPropsBase };
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComponentProps } from '../utils/types';
4
+ interface RowPropsBase {
5
+ children?: React.ReactNode;
6
+ /**
7
+ * A React ref which is set to the row DOM element when the component mounts and null when it unmounts.
8
+ */
9
+ elementRef?: React.Ref<HTMLTableRowElement>;
10
+ }
11
+ type RowProps = ComponentProps<RowPropsBase, 'tr'>;
12
+ declare function Row({ children, elementRef, ...otherProps }: RowProps): React.JSX.Element;
13
+ declare namespace Row {
14
+ var propTypes: {
15
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
+ elementRef: PropTypes.Requireable<object>;
17
+ };
18
+ }
19
+ export default Row;
20
+ export type { RowPropsBase };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Body from './Body';
4
+ import Cell from './Cell';
5
+ import Head from './Head';
6
+ import HeadCell from './HeadCell';
7
+ import Row from './Row';
8
+ import { ComponentProps } from '../utils/types';
9
+ interface SimpleTablePropsBase {
10
+ /**
11
+ * Must be `SimpleTable.Head` and `SimpleTable.Body`.
12
+ */
13
+ children?: React.ReactNode;
14
+ /**
15
+ * A React ref which is set to the table element when the component mounts and null when it unmounts.
16
+ */
17
+ elementRef?: React.Ref<HTMLTableElement>;
18
+ }
19
+ type SimpleTableProps = ComponentProps<SimpleTablePropsBase, 'table'>;
20
+ /**
21
+ * A lightweight table for static content. It preserves native table semantics and basic Splunk table styling
22
+ * without the interactive runtime used by `Table`.
23
+ */
24
+ declare function SimpleTable({ children, elementRef, ...otherProps }: SimpleTableProps): React.JSX.Element;
25
+ declare namespace SimpleTable {
26
+ var propTypes: {
27
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
28
+ elementRef: PropTypes.Requireable<object>;
29
+ };
30
+ var Body: typeof import("./Body").default;
31
+ var Cell: typeof import("./Cell").default;
32
+ var Head: typeof import("./Head").default;
33
+ var HeadCell: typeof import("./HeadCell").default;
34
+ var Row: typeof import("./Row").default;
35
+ }
36
+ export default SimpleTable;
37
+ export { Body, Cell, Head, HeadCell, Row };
@@ -0,0 +1,3 @@
1
+ export { default } from './SimpleTable';
2
+ export * from './SimpleTable';
3
+ export { sharedCellPaddingBlock, StyledSimpleTable, StyledSimpleTableBody, StyledSimpleTableCell, StyledSimpleTableHead, StyledSimpleTableHeadCell, StyledSimpleTableRow, } from './SimpleTableStyles';
@@ -0,0 +1,88 @@
1
+ import React from 'react';
2
+ import { AnyTheme, Interpolation, OptionalThemedProps } from '@splunk/themes';
3
+ import { ComponentProps } from '../utils/types';
4
+ type Color = React.CSSProperties['color'] | Interpolation<AnyTheme, OptionalThemedProps<AnyTheme>>;
5
+ type SpotLightAnchorElement = HTMLElement | null;
6
+ type SpotLightAnchorEdge = 'top' | 'right' | 'bottom' | 'left';
7
+ interface SpotLightColorStop {
8
+ /**
9
+ * Position of the stop within the radial gradient.
10
+ */
11
+ at?: string;
12
+ /**
13
+ * The color used at this gradient stop.
14
+ */
15
+ color: Color;
16
+ /**
17
+ * The amount of color mixed into the stop, expressed as a CSS percentage.
18
+ */
19
+ opacity?: string;
20
+ }
21
+ interface SpotLightAnchor {
22
+ /**
23
+ * The edge whose center should be used as the spotlight origin.
24
+ */
25
+ edge: SpotLightAnchorEdge;
26
+ /**
27
+ * The element used to position the spotlight. Falls back to the spotlight host when omitted.
28
+ */
29
+ element?: SpotLightAnchorElement;
30
+ /**
31
+ * Distance applied perpendicular to the chosen edge.
32
+ */
33
+ inset?: string;
34
+ /**
35
+ * Offset applied along the chosen edge axis.
36
+ */
37
+ offset?: string;
38
+ }
39
+ interface SpotLightLayer {
40
+ /**
41
+ * Positions the spotlight relative to an element instead of explicit coordinates.
42
+ */
43
+ anchor?: SpotLightAnchor;
44
+ /**
45
+ * The radial gradient height. When paired with `width`, this creates an elliptical spotlight.
46
+ */
47
+ height: string;
48
+ /**
49
+ * Explicit gradient stops for multicolor spotlights.
50
+ */
51
+ stops: SpotLightColorStop[];
52
+ /**
53
+ * The radial gradient width. When paired with `height`, this creates an elliptical spotlight.
54
+ */
55
+ width: string;
56
+ /**
57
+ * Horizontal position for the spotlight center when `anchor` is not provided.
58
+ */
59
+ x?: string;
60
+ /**
61
+ * Vertical position for the spotlight center when `anchor` is not provided.
62
+ */
63
+ y?: string;
64
+ }
65
+ interface SpotLightPropsBase {
66
+ /**
67
+ * Applies a blur filter to the combined spotlight surface.
68
+ */
69
+ blur?: string;
70
+ /**
71
+ * A React ref which is set to the DOM element when the component mounts, and null when it unmounts.
72
+ */
73
+ elementRef?: React.Ref<HTMLDivElement>;
74
+ /**
75
+ * Decorative radial gradient layers to render behind the content.
76
+ */
77
+ layers: SpotLightLayer[];
78
+ }
79
+ type SpotLightProps = ComponentProps<SpotLightPropsBase, 'div'>;
80
+ /**
81
+ * SpotLight renders decorative radial gradients as a positioned sibling layer.
82
+ */
83
+ export declare function SpotLight({ blur, elementRef, layers, ...otherProps }: SpotLightProps): React.JSX.Element;
84
+ export declare namespace SpotLight {
85
+ var propTypes: React.WeakValidationMap<SpotLightPropsBase>;
86
+ }
87
+ export default SpotLight;
88
+ export type { Color, SpotLightColorStop, SpotLightAnchor, SpotLightAnchorEdge, SpotLightAnchorElement, SpotLightLayer, SpotLightProps, SpotLightPropsBase, };
@@ -0,0 +1,2 @@
1
+ export { default } from './SpotLight';
2
+ export * from './SpotLight';