@splunk/react-ui 5.0.0-beta.2 → 5.0.0-beta.4

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 (187) hide show
  1. package/Accordion.js +185 -243
  2. package/Animation.js +2 -2
  3. package/Button.js +4 -4
  4. package/ButtonGroup.js +10 -11
  5. package/ButtonSimple.js +48 -42
  6. package/CHANGELOG.md +26 -0
  7. package/CHANGELOG.v5.mdx +81 -0
  8. package/Calendar.js +352 -469
  9. package/Card.js +178 -321
  10. package/Chip.js +154 -296
  11. package/Clickable.js +30 -30
  12. package/Code.js +64 -49
  13. package/Color.js +546 -462
  14. package/ComboBox.js +575 -767
  15. package/Date.js +144 -136
  16. package/Divider.js +29 -26
  17. package/DualListbox.js +441 -444
  18. package/File.js +707 -981
  19. package/FormRows.js +260 -286
  20. package/Image.js +124 -251
  21. package/JSONTree.js +129 -129
  22. package/Layout.d.ts +2 -0
  23. package/Link.js +12 -12
  24. package/MIGRATION.mdx +22 -1
  25. package/MIGRATION.v5.mdx +12 -1
  26. package/Menu.js +76 -76
  27. package/Message.js +77 -100
  28. package/MessageBar.js +141 -251
  29. package/Modal.js +42 -40
  30. package/ModalLayer.js +12 -12
  31. package/Multiselect.js +1989 -2362
  32. package/NonInteractiveCheckbox.js +30 -118
  33. package/Number.js +75 -73
  34. package/Popover.js +348 -350
  35. package/Progress.js +1 -1
  36. package/RadioBar.js +136 -136
  37. package/Resize.js +62 -65
  38. package/Scroll.js +2 -2
  39. package/Select.js +281 -283
  40. package/SidePanel.js +53 -55
  41. package/Slider.js +370 -364
  42. package/SlidingPanels.js +100 -102
  43. package/SplitButton.js +170 -343
  44. package/StaticContent.js +15 -13
  45. package/StepBar.js +61 -60
  46. package/Switch.js +150 -164
  47. package/TabBar.js +544 -417
  48. package/Table.js +1711 -1540
  49. package/Text.js +28 -26
  50. package/TextArea.js +26 -26
  51. package/Tooltip.js +416 -562
  52. package/TransitionOpen.js +179 -158
  53. package/Tree.d.ts +2 -0
  54. package/WaitSpinner.js +1 -1
  55. package/package.json +7 -9
  56. package/types/src/Accordion/Accordion.d.ts +14 -21
  57. package/types/src/Accordion/AccordionContext.d.ts +0 -1
  58. package/types/src/Animation/Animation.d.ts +2 -3
  59. package/types/src/AnimationToggle/docs/examples/Provider.d.ts +2 -2
  60. package/types/src/AnimationToggle/docs/examples/ToggleComponent.d.ts +2 -2
  61. package/types/src/AnimationToggle/useAnimationToggle.d.ts +1 -1
  62. package/types/src/Button/Button.d.ts +2 -2
  63. package/types/src/ButtonGroup/ButtonGroupContext.d.ts +0 -1
  64. package/types/src/ButtonSimple/ButtonSimple.d.ts +1 -3
  65. package/types/src/ButtonSimple/mixin.d.ts +1 -1
  66. package/types/src/Calendar/Calendar.d.ts +2 -2
  67. package/types/src/Calendar/{DateTable.d.ts → DateGrid.d.ts} +9 -9
  68. package/types/src/Calendar/Day.d.ts +8 -4
  69. package/types/src/Card/Card.d.ts +27 -14
  70. package/types/src/CardLayout/CardLayoutContext.d.ts +0 -1
  71. package/types/src/CardLayout/docs/examples/Interactive.d.ts +2 -2
  72. package/types/src/Clickable/Clickable.d.ts +1 -1
  73. package/types/src/CollapsiblePanel/SingleOpenPanelGroupContext.d.ts +0 -1
  74. package/types/src/Color/Color.d.ts +3 -3
  75. package/types/src/Color/ColorInput.d.ts +27 -0
  76. package/types/src/Color/Palette.d.ts +11 -18
  77. package/types/src/Color/Swatch.d.ts +3 -1
  78. package/types/src/ComboBox/ComboBox.d.ts +46 -50
  79. package/types/src/ComboBox/Option.d.ts +34 -18
  80. package/types/src/ControlGroup/docs/examples/CustomizedLabelTarget.d.ts +2 -2
  81. package/types/src/Date/Date.d.ts +3 -2
  82. package/types/src/Date/docs/examples/Controlled.d.ts +2 -2
  83. package/types/src/Date/docs/examples/HighlightToday.d.ts +2 -2
  84. package/types/src/DefinitionList/DefinitionListContext.d.ts +0 -1
  85. package/types/src/Divider/Divider.d.ts +14 -6
  86. package/types/src/Divider/docs/examples/Appearance.d.ts +3 -0
  87. package/types/src/DualListbox/DualListbox.d.ts +5 -1
  88. package/types/src/File/File.d.ts +6 -6
  89. package/types/src/File/FileContext.d.ts +0 -1
  90. package/types/src/File/Item.d.ts +11 -3
  91. package/types/src/File/ItemIcon.d.ts +7 -0
  92. package/types/src/File/docs/examples/Disabled.d.ts +2 -2
  93. package/types/src/File/docs/examples/DropAnywhere.d.ts +2 -2
  94. package/types/src/File/docs/examples/Multi.d.ts +2 -2
  95. package/types/src/File/docs/examples/Single.d.ts +2 -2
  96. package/types/src/FormRows/FormRows.d.ts +8 -8
  97. package/types/src/FormRows/FormRowsContext.d.ts +1 -2
  98. package/types/src/FormRows/Row.d.ts +2 -2
  99. package/types/src/FormRows/RowInternal.d.ts +1 -1
  100. package/types/src/FormRows/SortableRow.d.ts +3 -3
  101. package/types/src/FormRows/docs/examples/Basic.d.ts +2 -2
  102. package/types/src/FormRows/docs/examples/Header.d.ts +2 -2
  103. package/types/src/FormRows/docs/examples/Menu.d.ts +2 -2
  104. package/types/src/FormRows/docs/examples/ReorderOnly.d.ts +2 -2
  105. package/types/src/Image/Image.d.ts +1 -4
  106. package/types/src/JSONTree/docs/examples/Events.d.ts +2 -2
  107. package/types/src/Layout/Layout.d.ts +1 -0
  108. package/types/src/Link/icons/External.d.ts +1 -2
  109. package/types/src/Menu/Divider.d.ts +1 -1
  110. package/types/src/Menu/MenuContext.d.ts +0 -1
  111. package/types/src/MessageBar/MessageBar.d.ts +5 -1
  112. package/types/src/Modal/ModalContext.d.ts +0 -1
  113. package/types/src/Multiselect/Compact.d.ts +49 -21
  114. package/types/src/Multiselect/Multiselect.d.ts +73 -30
  115. package/types/src/Multiselect/Normal.d.ts +46 -57
  116. package/types/src/Multiselect/Option.d.ts +42 -18
  117. package/types/src/Multiselect/docs/examples/Children.d.ts +2 -2
  118. package/types/src/Multiselect/docs/examples/Controlled.d.ts +2 -2
  119. package/types/src/Multiselect/docs/examples/CustomizeSelected.d.ts +2 -2
  120. package/types/src/Multiselect/docs/examples/Disabled.d.ts +2 -2
  121. package/types/src/Multiselect/docs/examples/Error.d.ts +2 -2
  122. package/types/src/Multiselect/docs/examples/Fetching.d.ts +2 -2
  123. package/types/src/Multiselect/docs/examples/LoadMoreOnScrollBottom.d.ts +2 -2
  124. package/types/src/Multiselect/docs/examples/NewValues.d.ts +2 -2
  125. package/types/src/Multiselect/docs/examples/TabInput.d.ts +2 -2
  126. package/types/src/NonInteractiveCheckbox/NonInteractiveCheckbox.d.ts +9 -8
  127. package/types/src/Number/Number.d.ts +1 -0
  128. package/types/src/Number/docs/examples/Basic.d.ts +2 -2
  129. package/types/src/Number/docs/examples/Limits.d.ts +2 -2
  130. package/types/src/Number/docs/examples/Locale.d.ts +2 -2
  131. package/types/src/Popover/Popover.d.ts +1 -1
  132. package/types/src/Popover/PopoverMenuContext.d.ts +0 -1
  133. package/types/src/RadioBar/RadioBar.d.ts +1 -1
  134. package/types/src/RadioBar/RadioBarContext.d.ts +0 -1
  135. package/types/src/RadioList/RadioListContext.d.ts +0 -1
  136. package/types/src/Scroll/Inner.d.ts +1 -1
  137. package/types/src/Scroll/docs/examples/Controlled.d.ts +2 -2
  138. package/types/src/Search/Search.d.ts +2 -2
  139. package/types/src/Select/SelectBase.d.ts +2 -2
  140. package/types/src/SidePanel/SidePanel.d.ts +8 -3
  141. package/types/src/Slider/Slider.d.ts +1 -1
  142. package/types/src/Slider/docs/examples/Controlled.d.ts +2 -2
  143. package/types/src/Slider/docs/examples/CustomLabels.d.ts +2 -2
  144. package/types/src/Slider/getStepMarksBackground.d.ts +8 -0
  145. package/types/src/SlidingPanels/Panel.d.ts +2 -2
  146. package/types/src/SlidingPanels/SlidingPanels.d.ts +2 -2
  147. package/types/src/SlidingPanels/docs/examples/Basic.d.ts +2 -2
  148. package/types/src/SlidingPanels/docs/examples/Dropdown.d.ts +2 -2
  149. package/types/src/SplitButton/Item.d.ts +34 -20
  150. package/types/src/SplitButton/SplitButton.d.ts +4 -1
  151. package/types/src/StaticContent/StaticContent.d.ts +3 -1
  152. package/types/src/StepBar/Step.d.ts +1 -1
  153. package/types/src/StepBar/StepBar.d.ts +1 -1
  154. package/types/src/StepBar/StepBarContext.d.ts +0 -1
  155. package/types/src/Switch/Switch.d.ts +1 -9
  156. package/types/src/Switch/docs/examples/Basic.d.ts +2 -2
  157. package/types/src/Switch/docs/examples/Disabled.d.ts +2 -2
  158. package/types/src/TabBar/Tab.d.ts +12 -5
  159. package/types/src/TabBar/TabBar.d.ts +4 -3
  160. package/types/src/TabBar/TabBarContext.d.ts +7 -2
  161. package/types/src/Table/Head.d.ts +4 -15
  162. package/types/src/Table/HeadCell.d.ts +23 -25
  163. package/types/src/Table/HeadDropdownCell.d.ts +23 -26
  164. package/types/src/Table/HeadInner.d.ts +4 -10
  165. package/types/src/Table/Row.d.ts +6 -6
  166. package/types/src/Table/Table.d.ts +3 -8
  167. package/types/src/Table/TableContext.d.ts +0 -1
  168. package/types/src/Table/Toggle.d.ts +1 -1
  169. package/types/src/Text/Text.d.ts +5 -1
  170. package/types/src/Tooltip/Tooltip.d.ts +26 -58
  171. package/types/src/Tooltip/docs/examples/Controlled.d.ts +2 -2
  172. package/types/src/TransitionOpen/TransitionOpen.d.ts +6 -1
  173. package/types/src/Tree/TreeContext.d.ts +0 -1
  174. package/types/src/useForceUpdate/useForceUpdate.d.ts +0 -1
  175. package/types/src/useResizeObserver/useResizeObserver.d.ts +2 -1
  176. package/types/src/utils/types.d.ts +2 -3
  177. package/useResizeObserver.js +26 -19
  178. package/types/src/File/Icon.d.ts +0 -3
  179. package/types/src/File/IconCloud.d.ts +0 -3
  180. package/types/src/File/PaperClip.d.ts +0 -3
  181. package/types/src/File/Retry.d.ts +0 -2
  182. package/types/src/File/Trash.d.ts +0 -3
  183. package/types/src/FormRows/icons/FormRowsPlusIcon.d.ts +0 -3
  184. package/types/src/Image/icons/Cross.d.ts +0 -3
  185. package/types/src/Multiselect/docs/examples/CompactSelectAll.d.ts +0 -3
  186. package/types/src/Table/docs/examples/prisma/DockedHeaderScrollbar.d.ts +0 -3
  187. package/types/src/Tooltip/InfoIcon.d.ts +0 -4
@@ -1,6 +1,7 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
2
3
  import Panel from './Panel';
3
- import { ClassComponentProps } from '../utils/types';
4
+ import { ComponentProps } from '../utils/types';
4
5
  /** @public */
5
6
  type AccordionChangeHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
6
7
  event: React.MouseEvent<HTMLButtonElement>;
@@ -47,30 +48,22 @@ interface AccordionUncontrolledProps extends AccordionPropsBase {
47
48
  defaultOpenPanelId?: string | number;
48
49
  openPanelId?: never;
49
50
  }
50
- declare const defaultProps: {
51
- inset: boolean;
52
- };
53
- type AccordionProps = ClassComponentProps<AccordionControlledProps | AccordionUncontrolledProps, typeof defaultProps, 'div'>;
54
- interface AccordionState {
55
- openPanelId?: string | number;
56
- }
51
+ type AccordionProps = ComponentProps<AccordionControlledProps | AccordionUncontrolledProps, 'div'>;
57
52
  /**
58
53
  * @deprecated
59
54
  * Accordion has been deprecated and will be removed in a future major version. Use Collapsible Panel's SingleOpenPanelGroup API instead.
60
55
  */
61
- declare class Accordion extends Component<AccordionProps, AccordionState> {
62
- private controlledExternally;
63
- static propTypes: React.WeakValidationMap<AccordionProps>;
64
- static defaultProps: {
65
- inset: boolean;
56
+ declare function Accordion({ children, defaultOpenPanelId, elementRef, inset, onChange, openPanelId: openPanelIdProp, ...otherProps }: AccordionProps): React.JSX.Element;
57
+ declare namespace Accordion {
58
+ var propTypes: {
59
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
60
+ defaultOpenPanelId: PropTypes.Requireable<any>;
61
+ elementRef: PropTypes.Requireable<object>;
62
+ inset: PropTypes.Requireable<boolean>;
63
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
64
+ openPanelId: PropTypes.Requireable<any>;
66
65
  };
67
- static Panel: typeof Panel;
68
- constructor(props: Readonly<AccordionProps>);
69
- componentDidUpdate(prevProps: Readonly<AccordionProps>): void;
70
- private getCurrentOpenPanel;
71
- private handleChange;
72
- private isControlled;
73
- render(): React.JSX.Element;
66
+ var Panel: typeof import("./Panel").default;
74
67
  }
75
68
  export default Accordion;
76
69
  export { AccordionChangeHandler, Panel };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CollapsiblePanelChangeHandler } from '@splunk/react-ui/CollapsiblePanel';
3
2
  export interface AccordionContext {
4
3
  onChange?: CollapsiblePanelChangeHandler;
@@ -1,10 +1,9 @@
1
- /// <reference types="react" />
2
- import { SpringComponentProps as RSSpringComponentProps, TransitionComponentProps as RSTransitionComponentProps, UseSpringProps as RSUseSpringProps, UseTransitionProps as RSUseTransitionProps } from 'react-spring';
1
+ import { SpringComponentProps as RSSpringComponentProps, TransitionComponentProps as RSTransitionComponentProps, UseSpringProps as RSUseSpringProps, UseTransitionProps as RSUseTransitionProps } from '@react-spring/web';
3
2
  declare function useAnimation({ immediate, ...otherProps }: RSUseSpringProps): {
4
3
  [x: string]: any;
5
4
  [x: number]: any;
6
5
  };
7
- declare function useAnimationTransition(items: any, { immediate, ...otherProps }: RSUseTransitionProps): import("react-spring").TransitionFn<any, {
6
+ declare function useAnimationTransition(items: any, { immediate, ...otherProps }: RSUseTransitionProps): import("@react-spring/core").TransitionFn<any, {
8
7
  [x: string]: any;
9
8
  [x: number]: any;
10
9
  [Symbol.hasInstance]: (value: any) => boolean;
@@ -1,9 +1,9 @@
1
1
  import React, { Component } from 'react';
2
- declare class Provider extends Component<{}, {
2
+ declare class Provider extends Component<object, {
3
3
  animatedTransitions: boolean;
4
4
  open: boolean;
5
5
  }> {
6
- constructor(props: {});
6
+ constructor(props: object);
7
7
  handleButtonClick: () => void;
8
8
  handleSwitchClick: () => void;
9
9
  render(): React.JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import React, { Component } from 'react';
2
- declare class ToggleComponent extends Component<{}, {
2
+ declare class ToggleComponent extends Component<object, {
3
3
  animatedTransitions: boolean;
4
4
  }> {
5
- constructor(props: {});
5
+ constructor(props: object);
6
6
  handleSwitchClick: () => void;
7
7
  render(): React.JSX.Element;
8
8
  }
@@ -6,5 +6,5 @@
6
6
  * and the user prefers reduced motion, `'reduced'` is returned, `'on'` otherwise.
7
7
  * @public
8
8
  */
9
- declare const useAnimationToggle: () => 'on' | 'off' | 'reduced';
9
+ declare const useAnimationToggle: () => "on" | "off" | "reduced";
10
10
  export { useAnimationToggle };
@@ -12,7 +12,7 @@ interface ButtonPropsBase {
12
12
  action?: string;
13
13
  /** Changes the style of the button.
14
14
  */
15
- appearance?: 'default' | 'secondary' | 'primary' | 'destructive' | 'destructiveSecondary' | 'subtle';
15
+ appearance?: 'default' | 'secondary' | 'primary' | 'destructive' | 'destructiveSecondary' | 'standalone' | 'subtle';
16
16
  /** Removes the right border and border-radius of the button so you can
17
17
  * append other elements to it. */
18
18
  append?: boolean;
@@ -84,4 +84,4 @@ type ButtonProps = ButtonButtonProps | ButtonLinkProps;
84
84
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
85
85
  export default Button;
86
86
  export { ButtonClickHandler };
87
- export type { ButtonPropsBase };
87
+ export type { ButtonProps, ButtonPropsBase };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface ButtonGroupContext {
3
2
  inline?: boolean;
4
3
  role?: string;
@@ -2,14 +2,12 @@ import React from 'react';
2
2
  import { ButtonVariant } from './ButtonSimpleStyles';
3
3
  import buttonMixin from './mixin';
4
4
  import { ComponentProps } from '../utils/types';
5
- declare const appearances: readonly ["default", "secondary", "primary", "destructive", "destructiveSecondary", "subtle"];
6
- type Appearance = typeof appearances[number];
7
5
  interface ButtonSimplePropsBase {
8
6
  /** Returns a value on click. Use when composing or testing. */
9
7
  action?: string;
10
8
  /** Changes the style of the button.
11
9
  */
12
- appearance?: Appearance;
10
+ appearance?: 'default' | 'secondary' | 'primary' | 'destructive' | 'destructiveSecondary' | 'subtle' | 'standalone';
13
11
  /** Removes the right border and border-radius of the button so you can
14
12
  * append things to it. */
15
13
  append?: boolean;
@@ -1,5 +1,5 @@
1
1
  import { AnyTheme, Interpolation, InterpolationResult, ThemedProps } from '@splunk/themes';
2
- declare const buttonVariants: readonly ["primary", "secondary", "destructive", "destructiveSecondary", "subtle"];
2
+ declare const buttonVariants: readonly ["primary", "secondary", "destructive", "destructiveSecondary", "subtle", "standalone"];
3
3
  type ButtonVariant = typeof buttonVariants[number];
4
4
  type ButtonStyleProps = ThemedProps & Partial<{
5
5
  $append: boolean;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { DateTableChangeHandler } from './DateTable';
3
+ import { DateGridChangeHandler } from './DateGrid';
4
4
  import { ComponentProps } from '../utils/types';
5
- type CalendarChangeHandler = DateTableChangeHandler;
5
+ type CalendarChangeHandler = DateGridChangeHandler;
6
6
  declare const calendarActiveSelector = "[data-active-day=\"true\"]";
7
7
  interface CalendarPropsBase {
8
8
  /**
@@ -1,22 +1,22 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ComponentProps } from '../utils/types';
4
- type DateTableChangeHandler = (event: React.MouseEvent<HTMLTableCellElement> | React.KeyboardEvent<HTMLTableCellElement>, data: {
4
+ type DateGridChangeHandler = (event: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>, data: {
5
5
  value: string;
6
6
  }) => void;
7
- interface DateTablePropsBase {
7
+ interface DateGridPropsBase {
8
8
  displayValue: string;
9
9
  highlightToday?: boolean;
10
10
  labelledBy?: string;
11
11
  locale?: string;
12
- onChange?: DateTableChangeHandler;
13
- onInternalChange?: DateTableChangeHandler;
12
+ onChange?: DateGridChangeHandler;
13
+ onInternalChange?: DateGridChangeHandler;
14
14
  selectedValue: string;
15
15
  todayValue?: string;
16
16
  }
17
- type DateTableProps = ComponentProps<DateTablePropsBase, 'table'>;
18
- declare function DateTable({ displayValue, highlightToday, labelledBy, locale, onChange, onInternalChange, selectedValue, todayValue, ...otherProps }: DateTableProps): React.JSX.Element;
19
- declare namespace DateTable {
17
+ type DateGridProps = ComponentProps<DateGridPropsBase, 'div'>;
18
+ declare function DateGrid({ displayValue, highlightToday, labelledBy, locale, onChange, onInternalChange, selectedValue, todayValue, ...otherProps }: DateGridProps): React.JSX.Element;
19
+ declare namespace DateGrid {
20
20
  var propTypes: {
21
21
  displayValue: PropTypes.Validator<string>;
22
22
  highlightToday: PropTypes.Requireable<boolean>;
@@ -28,5 +28,5 @@ declare namespace DateTable {
28
28
  todayValue: PropTypes.Requireable<string>;
29
29
  };
30
30
  }
31
- export default DateTable;
32
- export { DateTableChangeHandler };
31
+ export default DateGrid;
32
+ export { DateGridChangeHandler };
@@ -1,15 +1,17 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ComponentProps } from '../utils/types';
4
- type DayClickHandler = (event: React.MouseEvent<HTMLTableCellElement>, data: {
4
+ type DayClickHandler = (event: React.MouseEvent<HTMLDivElement>, data: {
5
5
  value: string;
6
6
  }) => void;
7
- type DayKeyDownHandler = (event: React.KeyboardEvent<HTMLTableCellElement>, data: {
7
+ type DayKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>, data: {
8
8
  value: string;
9
9
  }) => void;
10
10
  interface DayPropsBase {
11
11
  /** Whether or not this day has the active cursor. */
12
12
  active?: boolean;
13
+ /** @private */
14
+ dayOfWeek?: number;
13
15
  /** Locale set by language and localization specifiers. */
14
16
  locale?: string;
15
17
  /** Callback for click */
@@ -23,11 +25,13 @@ interface DayPropsBase {
23
25
  /** Day number to be displayed */
24
26
  value: string;
25
27
  }
26
- type DayProps = ComponentProps<DayPropsBase, 'td'>;
27
- declare function Day({ active, locale, onClick, onKeyDown, selected, today, value, ...otherProps }: DayProps): React.JSX.Element;
28
+ type DayProps = ComponentProps<DayPropsBase, 'div'>;
29
+ declare function Day({ active, dayOfWeek, locale, onClick, onKeyDown, selected, today, value, ...otherProps }: DayProps): React.JSX.Element;
28
30
  declare namespace Day {
29
31
  var propTypes: {
30
32
  active: PropTypes.Requireable<boolean>;
33
+ /** @private. */
34
+ dayOfWeek: PropTypes.Requireable<number>;
31
35
  locale: PropTypes.Requireable<string>;
32
36
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
33
37
  onKeydown: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1,8 +1,9 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
2
3
  import Body from './Body';
3
4
  import Footer from './Footer';
4
5
  import Header from './Header';
5
- import { ClassComponentProps } from '../utils/types';
6
+ import { ComponentProps } from '../utils/types';
6
7
  /** @public */
7
8
  type CardClickHandler = (event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>, data: {
8
9
  selected: boolean;
@@ -48,7 +49,6 @@ interface CardPropsBase {
48
49
  /** Overrides the HTML tag for the Card component. Defaults to `article`. */
49
50
  tag?: 'article' | 'div' | 'aside' | 'section';
50
51
  }
51
- declare const defaultProps: Required<Pick<CardPropsBase, 'openInNewContext'>>;
52
52
  interface CardPropsBaseNonClickable extends CardPropsBase {
53
53
  elementRef?: React.Ref<HTMLDivElement>;
54
54
  onClick?: never;
@@ -67,18 +67,31 @@ interface CardPropsBaseClickable extends CardPropsBase {
67
67
  selected?: never;
68
68
  to?: string;
69
69
  }
70
- type CardNonClickableProps = ClassComponentProps<CardPropsBaseNonClickable, typeof defaultProps, 'div' | 'article'>;
71
- type CardClickableButtonProps = ClassComponentProps<CardPropsBaseOnClickClickable | CardPropsBaseClickable, typeof defaultProps, 'button'>;
72
- type CardClickableLinkProps = ClassComponentProps<CardPropsBaseOnClickClickable | CardPropsBaseClickable, typeof defaultProps, 'a', 'href'>;
70
+ type CardNonClickableProps = ComponentProps<CardPropsBaseNonClickable, 'div' | 'article'>;
71
+ type CardClickableButtonProps = ComponentProps<CardPropsBaseOnClickClickable | CardPropsBaseClickable, 'button'>;
72
+ type CardClickableLinkProps = ComponentProps<CardPropsBaseOnClickClickable | CardPropsBaseClickable, 'a', 'href'>;
73
73
  type CardProps = CardNonClickableProps | CardClickableButtonProps | CardClickableLinkProps;
74
- declare class Card extends Component<CardProps, {}> {
75
- static propTypes: React.WeakValidationMap<CardProps>;
76
- static defaultProps: Required<Pick<CardPropsBase, "openInNewContext">>;
77
- static Header: typeof Header;
78
- static Body: typeof Body;
79
- static Footer: typeof Footer;
80
- private handleCardClick;
81
- render(): React.JSX.Element;
74
+ declare function Card(props: CardProps): React.JSX.Element;
75
+ declare namespace Card {
76
+ var propTypes: {
77
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
78
+ elementRef: PropTypes.Requireable<object>;
79
+ /** @private */
80
+ margin: PropTypes.Requireable<number>;
81
+ /** @private */
82
+ maxWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
83
+ /** @private */
84
+ minWidth: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
85
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
86
+ openInNewContext: PropTypes.Requireable<boolean>;
87
+ selected: PropTypes.Requireable<boolean>;
88
+ to: PropTypes.Requireable<string>;
89
+ value: PropTypes.Requireable<any>;
90
+ tag: PropTypes.Requireable<string>;
91
+ };
92
+ var Header: typeof import("./Header").default;
93
+ var Body: typeof import("./Body").default;
94
+ var Footer: typeof import("./Footer").default;
82
95
  }
83
96
  export default Card;
84
97
  export { CardClickHandler, Header, Body, Footer };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface CardLayoutContext {
3
2
  minWidth?: number | string;
4
3
  maxWidth?: number | string;
@@ -11,8 +11,8 @@ interface InteractiveState {
11
11
  setAsWidth: boolean;
12
12
  hasMaxWidth: boolean;
13
13
  }
14
- declare class Interactive extends Component<{}, InteractiveState> {
15
- constructor(props: {});
14
+ declare class Interactive extends Component<object, InteractiveState> {
15
+ constructor(props: object);
16
16
  handleChangeAmount: NumberChangeHandler;
17
17
  handleChangeMinWidth: NumberChangeHandler;
18
18
  handleChangeMaxWidth: NumberChangeHandler;
@@ -51,4 +51,4 @@ type ClickableProps = ClickableButtonProps | ClickableLinkProps;
51
51
  */
52
52
  declare const Clickable: React.ForwardRefExoticComponent<ClickableProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
53
53
  export default Clickable;
54
- export { ClickableProps };
54
+ export { ClickableButtonProps, ClickableLinkProps, ClickableProps, ClickablePropsBase };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CollapsiblePanelChangeHandler } from '@splunk/react-ui/CollapsiblePanel';
3
2
  export interface SingleOpenPanelGroupContext {
4
3
  onChange?: CollapsiblePanelChangeHandler;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { defaultPalette } from './Palette';
3
4
  import { ComponentProps } from '../utils/types';
4
5
  /** @public */
5
6
  type ColorChangeHandler = (data: {
@@ -54,7 +55,6 @@ interface ColorPropsBase {
54
55
  */
55
56
  value?: string | null;
56
57
  }
57
- export declare const defaultPalette: string[];
58
58
  interface ColorPropsBaseControlled extends ColorPropsBase {
59
59
  defaultValue?: never;
60
60
  onChange: ColorChangeHandler;
@@ -87,5 +87,5 @@ declare namespace Color {
87
87
  var componentType: string;
88
88
  }
89
89
  export default Color;
90
- export { ColorChangeHandler };
91
- export type { ColorPropsBase, ColorPropsBaseControlled, ColorPropsBaseUncontrolled };
90
+ export { defaultPalette };
91
+ export type { ColorChangeHandler, ColorPropsBase, ColorPropsBaseControlled, ColorPropsBaseUncontrolled, };
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { TextProps } from '@splunk/react-ui/Text';
3
+ import { naLowercase, transparent } from './Swatch';
4
+ type ColorInputChangeHandler = (event: React.KeyboardEvent<HTMLInputElement> | React.MouseEvent<HTMLButtonElement>, data: {
5
+ value?: string | null;
6
+ }) => void;
7
+ type ColorInputProps = {
8
+ /** Allow "transparent" as a valid value */
9
+ allowTransparent?: boolean;
10
+ /** Append removes rounded borders and the border from the right side. */
11
+ append?: boolean;
12
+ inputRef?: React.Ref<HTMLInputElement>;
13
+ onChange?: ColorInputChangeHandler;
14
+ /** Prepend removes rounded borders from the left side. */
15
+ prepend?: boolean;
16
+ /** Show a button for the system color picker */
17
+ showPicker?: boolean;
18
+ /** Show a button for submitting the value */
19
+ showSubmitButton?: boolean;
20
+ value?: string | null;
21
+ /** Whether or not the value is a custom value */
22
+ valueIsCustom?: boolean;
23
+ } & Omit<TextProps, 'onChange' | 'value'>;
24
+ declare const ColorInput: ({ allowTransparent, append, disabled, inputRef, labelledBy, onChange, showPicker, showSubmitButton, value, valueIsCustom, ...otherProps }: ColorInputProps) => React.JSX.Element;
25
+ export default ColorInput;
26
+ export { naLowercase, transparent };
27
+ export type { ColorInputChangeHandler };
@@ -1,35 +1,28 @@
1
1
  import React from 'react';
2
+ import { ColorInputChangeHandler } from './ColorInput';
2
3
  import { ComponentProps } from '../utils/types';
3
4
  interface PalettePropsBase {
4
5
  /**
5
- * Complete list of palettes values to be rendered as swatches
6
- */
7
- palette: (string | null)[];
8
- /**
9
- * Current value of the Color input
10
- */
11
- value?: string | null;
12
- /**
13
- * This ref is passed to the swatch that should be focused for Color to control focus
6
+ * This ref is passed to the swatch that should be focused for Color to control focus.
7
+ * If the color is not in the palette, this is the ref to the text input instead.
14
8
  */
15
- swatchToFocusRef: React.RefObject<HTMLButtonElement & HTMLInputElement> | null;
9
+ activeInputRef: React.RefObject<HTMLButtonElement & HTMLInputElement> | null;
16
10
  /**
17
11
  * Callback for handling when a swatch is selected
18
12
  */
19
- onSwatchClick: (event: React.MouseEvent<HTMLButtonElement>, data: {
20
- value?: string | null;
21
- }) => void;
13
+ onChange: ColorInputChangeHandler;
22
14
  /**
23
- * Render function for injecting the toolbar and input below the rendered swatches
15
+ * Complete list of palettes values to be rendered as swatches
24
16
  */
25
- renderInput?: () => JSX.Element;
17
+ palette?: (string | null)[];
26
18
  /**
27
- * Callback for handling activation of the system color picker.
19
+ * Current value of the Color input
28
20
  */
29
- onSystemColorPickerChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
21
+ value?: string | null;
30
22
  }
31
23
  type PaletteProps = ComponentProps<PalettePropsBase, 'div'> & {
32
24
  disabled?: boolean;
33
25
  };
34
- declare function Palette({ palette, value, swatchToFocusRef, onSwatchClick, onSystemColorPickerChange, renderInput, disabled, ...otherProps }: PaletteProps): React.JSX.Element;
26
+ export declare const defaultPalette: string[];
27
+ declare function Palette({ activeInputRef, disabled, onChange, palette: paletteProp, value: valueProp, ...otherProps }: PaletteProps): React.JSX.Element;
35
28
  export default Palette;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { naLowercase, transparent } from './SwatchStyles';
2
3
  type SwatchClickHandler = (event: React.MouseEvent<HTMLButtonElement>, data: {
3
4
  value?: string | null;
4
5
  }) => void;
@@ -25,4 +26,5 @@ interface SwatchPropsBase {
25
26
  }
26
27
  declare const Swatch: React.ForwardRefExoticComponent<SwatchPropsBase & Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref" | "css" | keyof SwatchPropsBase> & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
27
28
  export default Swatch;
28
- export { SwatchPropsBase, SwatchClickHandler };
29
+ export { naLowercase, transparent };
30
+ export type { SwatchPropsBase, SwatchClickHandler };
@@ -1,7 +1,8 @@
1
- import React, { Component } from 'react';
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
2
3
  import { Divider, Heading } from '@splunk/react-ui/Menu';
3
4
  import Option from './Option';
4
- import { ClassComponentProps } from '../utils/types';
5
+ import { ComponentProps } from '../utils/types';
5
6
  /** @public */
6
7
  type ComboBoxChangeHandler = (event: React.ChangeEvent<HTMLInputElement> | React.MouseEvent<HTMLButtonElement | HTMLSpanElement> | React.KeyboardEvent<HTMLInputElement>, data: {
7
8
  name?: string;
@@ -120,7 +121,6 @@ interface ComboBoxPropsBase {
120
121
  */
121
122
  virtualization?: number;
122
123
  }
123
- declare const defaultProps: Required<Pick<ComboBoxPropsBase, 'animateLoading' | 'controlledFilter' | 'defaultPlacement' | 'disabled' | 'error' | 'inline' | 'isLoadingOptions' | 'menuStyle' | 'placeholder'>>;
124
124
  interface ComboBoxPropsBaseControlled extends ComboBoxPropsBase {
125
125
  defaultValue?: never;
126
126
  onChange: ComboBoxChangeHandler;
@@ -130,56 +130,52 @@ interface ComboBoxPropsBaseUncontrolled extends ComboBoxPropsBase {
130
130
  defaultValue?: string;
131
131
  value?: never;
132
132
  }
133
- type ComboBoxProps = ClassComponentProps<ComboBoxPropsBaseControlled | ComboBoxPropsBaseUncontrolled, typeof defaultProps, 'div'>;
134
- interface ComboBoxState {
135
- activeIndex: number;
136
- anchor: HTMLDivElement | null;
137
- open: boolean;
138
- typedValue: string | undefined;
139
- value: string;
140
- }
133
+ type ComboBoxProps = ComponentProps<ComboBoxPropsBaseControlled | ComboBoxPropsBaseUncontrolled, 'div'>;
141
134
  /**
142
135
  * `ComboBox` allows the user to select a predefined string or enter a new value. Unlike `Select`
143
136
  * and `Multiselect`, `Option` value must always be a string.
144
137
  */
145
- declare class ComboBox extends Component<ComboBoxProps, ComboBoxState> {
146
- private activeItemId;
147
- private activeValue?;
148
- private availableOptionCount;
149
- private controlledExternally;
150
- private options?;
151
- private popoverId;
152
- private previousActiveIndex;
153
- private textInput;
154
- static propTypes: React.WeakValidationMap<ComboBoxProps>;
155
- static defaultProps: Required<Pick<ComboBoxPropsBase, "placeholder" | "disabled" | "inline" | "error" | "defaultPlacement" | "animateLoading" | "menuStyle" | "isLoadingOptions" | "controlledFilter">>;
156
- static Option: typeof Option;
157
- static Divider: typeof Divider;
158
- static Heading: typeof Heading;
159
- constructor(props: Readonly<ComboBoxProps>);
160
- componentDidUpdate(prevProps: Readonly<ComboBoxProps>, prevState: Readonly<ComboBoxState>): void;
161
- private getValue;
162
- private getDisplayValue;
163
- private handleInputMount;
164
- private handleAnchorMount;
165
- private handleActiveOptionMount;
166
- private handleInputFocus;
167
- private handleChange;
168
- private handleSelectOption;
169
- private handleInputKeyDown;
170
- private handleInputClick;
171
- private handleRequestClose;
172
- private handleScrollBottom;
173
- private prepareOptions;
174
- private renderMenu;
175
- private open;
176
- private close;
177
- /**
178
- * Focus the `ComboBox`.
179
- */
180
- focus(): void;
181
- private isControlled;
182
- render(): React.JSX.Element;
138
+ declare function ComboBox({ animateLoading, append, children, controlledFilter, defaultPlacement, defaultValue, describedBy, disabled, elementRef, error, footerMessage, inline, inputId, inputRef, isLoadingOptions, labelledBy, loadingMessage, menuStyle, name, noOptionsMessage, onBlur, onChange, onClose, onFocus, onKeyDown, onOpen, onScroll, onScrollBottom, onSelect, placeholder, prepend, value: valueProp, virtualization, ...otherProps }: ComboBoxProps): React.JSX.Element;
139
+ declare namespace ComboBox {
140
+ var Divider: typeof import("@splunk/react-ui/Menu").Divider;
141
+ var Heading: typeof import("@splunk/react-ui/Menu").Heading;
142
+ var Option: typeof import("./Option").default;
143
+ var propTypes: {
144
+ animateLoading: PropTypes.Requireable<boolean>;
145
+ append: PropTypes.Requireable<boolean>;
146
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
147
+ controlledFilter: PropTypes.Requireable<boolean>;
148
+ defaultPlacement: PropTypes.Requireable<string>;
149
+ defaultValue: PropTypes.Requireable<string>;
150
+ describedBy: PropTypes.Requireable<string>;
151
+ disabled: PropTypes.Requireable<boolean>;
152
+ elementRef: PropTypes.Requireable<object>;
153
+ error: PropTypes.Requireable<boolean>;
154
+ footerMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
155
+ inline: PropTypes.Requireable<boolean>;
156
+ inputId: PropTypes.Requireable<string>;
157
+ inputRef: PropTypes.Requireable<object>;
158
+ isLoadingOptions: PropTypes.Requireable<boolean>;
159
+ labelledBy: PropTypes.Requireable<string>;
160
+ loadingMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
161
+ menuStyle: PropTypes.Requireable<object>;
162
+ name: PropTypes.Requireable<string>;
163
+ noOptionsMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
164
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
165
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
166
+ onClose: PropTypes.Requireable<(...args: any[]) => any>;
167
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
168
+ onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
169
+ onOpen: PropTypes.Requireable<(...args: any[]) => any>;
170
+ onScroll: PropTypes.Requireable<(...args: any[]) => any>;
171
+ onScrollBottom: PropTypes.Requireable<(...args: any[]) => any>;
172
+ onSelect: PropTypes.Requireable<(...args: any[]) => any>;
173
+ placeholder: PropTypes.Requireable<string>;
174
+ prepend: PropTypes.Requireable<boolean>;
175
+ value: PropTypes.Requireable<string>;
176
+ /** @private. */
177
+ virtualization: PropTypes.Requireable<number>;
178
+ };
183
179
  }
184
180
  export default ComboBox;
185
- export { ComboBoxBlurHandler, ComboBoxChangeHandler, ComboBoxFocusHandler, Option, Divider, Heading, };
181
+ export { ComboBoxBlurHandler, ComboBoxChangeHandler, ComboBoxFocusHandler, ComboBoxProps, ComboBoxScrollBottomHandler, Option, Divider, Heading, };