@ringcentral/spring-ui 1.7.0 → 1.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 (233) hide show
  1. package/Alert.js +3 -3
  2. package/Announcement.js +1 -1
  3. package/Autocomplete.js +174 -236
  4. package/Avatar.js +27 -13
  5. package/BottomNavigation.js +0 -3
  6. package/Checkbox.js +0 -2
  7. package/DatePicker.js +5 -13
  8. package/DateUtilsContext.js +0 -1
  9. package/Dialer.js +2 -50
  10. package/Dialog.js +4 -4
  11. package/Dropdown.js +0 -7
  12. package/FocusTrap.js +0 -32
  13. package/InlineEditable.js +0 -4
  14. package/Link.js +1 -1
  15. package/ListItem.js +1 -1
  16. package/ListNavigation.js +0 -6
  17. package/Menu.js +1 -1
  18. package/MenuDivider.js +2 -2
  19. package/MenuFooter.js +4 -4
  20. package/MenuHeader.js +4 -4
  21. package/MenuItem.js +1 -1
  22. package/MenuItemText.js +1 -1
  23. package/PageHeader.js +6 -4
  24. package/Popper.js +0 -1
  25. package/Rating.js +0 -5
  26. package/SingleFilter.js +0 -1
  27. package/Slider.js +1 -4
  28. package/Snackbar.js +0 -14
  29. package/SortableListItem.js +0 -1
  30. package/SplitButton.js +1 -3
  31. package/StatusIndicator.js +1 -1
  32. package/SubMenu.js +0 -4
  33. package/SwipeableDrawer.js +8 -146
  34. package/Switch.js +1 -4
  35. package/Tab.js +7 -8
  36. package/TabContext.js +0 -5
  37. package/TableBody.js +1 -1
  38. package/TableCell.js +0 -6
  39. package/TableRow.js +0 -1
  40. package/Tabs.js +20 -118
  41. package/Text.js +2 -4
  42. package/TimePicker.js +7 -46
  43. package/VirtualizedList.js +2 -30
  44. package/chunks/Alert.js +8 -7
  45. package/chunks/BottomNavigationItem.js +0 -1
  46. package/chunks/Button.js +0 -1
  47. package/chunks/Chip.js +0 -5
  48. package/chunks/Drawer.js +1 -30
  49. package/chunks/ListItem.js +3 -6
  50. package/chunks/Menu.js +3 -3
  51. package/chunks/MenuDivider.js +2 -3
  52. package/chunks/MenuItemText.js +3 -3
  53. package/chunks/MenuList.js +0 -3
  54. package/chunks/PickerTextField.js +0 -1
  55. package/chunks/Popover.js +0 -5
  56. package/chunks/Select.js +2 -39
  57. package/chunks/Squircle.js +0 -7
  58. package/chunks/StatusIndicator.js +1 -0
  59. package/chunks/StepIcon.js +1 -3
  60. package/chunks/StepperContext.js +0 -7
  61. package/chunks/Tooltip.js +0 -36
  62. package/chunks/VirtualizedMenu.js +2 -78
  63. package/chunks/getFade.js +2 -0
  64. package/chunks/useFocusTrapStack.js +0 -8
  65. package/chunks/useHelperTextId.js +0 -24
  66. package/chunks/useListNavigation.js +2 -17
  67. package/chunks/useMenuItemSelect.js +6 -19
  68. package/chunks/useMotionSafeTransition.js +0 -4
  69. package/chunks/useNestedParentMenu.js +0 -2
  70. package/chunks/usePrefersReducedMotion.js +0 -10
  71. package/chunks/useTooltipForceHide.js +0 -4
  72. package/chunks/useTrayNavigate.js +0 -1
  73. package/index.css +392 -120
  74. package/index.js +1 -1
  75. package/package.json +4 -4
  76. package/src/Accordion/Accordion.type.d.ts +0 -21
  77. package/src/AccordionHeader/AccordionHeader.type.d.ts +0 -14
  78. package/src/Alert/Alert.type.d.ts +0 -32
  79. package/src/Animation/components/ExpandCollapseCaret/ExpandCollapseCaret.d.ts +0 -4
  80. package/src/Animation/components/ShowHideEye/ShowHideEye.d.ts +0 -4
  81. package/src/Animation/hooks/useMotionSafeTransition/useMotionSafeTransition.d.ts +0 -4
  82. package/src/Autocomplete/Autocomplete.d.ts +0 -5
  83. package/src/Autocomplete/Autocomplete.type.d.ts +0 -84
  84. package/src/Autocomplete/SuggestionList/SuggestionList.d.ts +5 -89
  85. package/src/Autocomplete/SuggestionList/SuggestionListItem.d.ts +0 -2
  86. package/src/Autocomplete/SuggestionList/utils/SuggestionListItem.d.ts +1 -13
  87. package/src/Autocomplete/SuggestionList/utils/useDynamicHeight.d.ts +0 -6
  88. package/src/Autocomplete/SuggestionList/utils/useHighlightScroll.d.ts +0 -20
  89. package/src/Autocomplete/SuggestionList/utils/useSuggestionList.d.ts +3 -41
  90. package/src/Autocomplete/SuggestionList/utils/useSuggestionListGroup.d.ts +0 -49
  91. package/src/Autocomplete/useAutocomplete.d.ts +1 -62
  92. package/src/Autocomplete/useAutocompleteTag.d.ts +0 -33
  93. package/src/Avatar/Avatar.type.d.ts +0 -58
  94. package/src/AvatarGroup/AvatarGroup.type.d.ts +0 -3
  95. package/src/Backdrop/Backdrop.type.d.ts +0 -4
  96. package/src/Badge/Badge.type.d.ts +0 -33
  97. package/src/Block/Block.type.d.ts +0 -24
  98. package/src/BlockHeader/BlockHeader.type.d.ts +0 -5
  99. package/src/BottomNavigation/BottomNavigation.type.d.ts +0 -34
  100. package/src/BottomNavigationItem/BottomNavigationItem.type.d.ts +0 -39
  101. package/src/Button/Button.type.d.ts +0 -30
  102. package/src/CallButton/CallButton.type.d.ts +0 -4
  103. package/src/Checkbox/Checkbox.type.d.ts +0 -17
  104. package/src/Chip/Chip.type.d.ts +0 -41
  105. package/src/CircularProgressIndicator/CircularProgressIndicator.type.d.ts +0 -19
  106. package/src/DatePicker/Calendar.d.ts +1 -20
  107. package/src/DatePicker/DatePicker.type.d.ts +0 -18
  108. package/src/DatePicker/DatePickerHeader.d.ts +1 -12
  109. package/src/DatePicker/Day.d.ts +0 -7
  110. package/src/DatePicker/Year.d.ts +0 -6
  111. package/src/DatePicker/Years.d.ts +0 -7
  112. package/src/Dialer/DialDelete/DialDelete.d.ts +0 -3
  113. package/src/Dialer/DialPad/DialPad.d.ts +0 -106
  114. package/src/Dialer/DialPad/utils/types.d.ts +0 -5
  115. package/src/Dialer/DialPad/utils/useDialKeyboard.d.ts +0 -5
  116. package/src/Dialer/DialPad/utils/useKeyAudio.d.ts +0 -9
  117. package/src/Dialer/DialPadButton/DialPadButton.d.ts +0 -14
  118. package/src/Dialer/DialTextField/DialTextField.d.ts +0 -23
  119. package/src/Dialer/DialTextField/utils/getDialPadValueOnlyRegex.d.ts +0 -3
  120. package/src/Dialer/DialTextField/utils/useFixedEndSelection.d.ts +0 -3
  121. package/src/Dialog/Dialog.type.d.ts +0 -11
  122. package/src/Divider/Divider.type.d.ts +0 -17
  123. package/src/DragHandle/DragHandle.type.d.ts +0 -4
  124. package/src/Drawer/Drawer.d.ts +0 -28
  125. package/src/Drawer/Drawer.type.d.ts +0 -84
  126. package/src/Dropdown/Dropdown.type.d.ts +0 -64
  127. package/src/EmptyState/EmptyState.type.d.ts +0 -12
  128. package/src/FabButton/FabButton.type.d.ts +0 -5
  129. package/src/FocusTrap/FocusTrap.d.ts +0 -38
  130. package/src/FocusTrap/useFocusTrapStack.d.ts +0 -9
  131. package/src/FormField/FormField.type.d.ts +0 -26
  132. package/src/FormField/useHelperTextId.d.ts +0 -25
  133. package/src/FormLabel/FormLabel.type.d.ts +0 -14
  134. package/src/Icon/Icon.type.d.ts +0 -15
  135. package/src/IconButton/IconButton.type.d.ts +0 -30
  136. package/src/IconButton/IconButtonLabel.type.d.ts +0 -3
  137. package/src/IconButtonGroup/IconButtonGroup.type.d.ts +0 -8
  138. package/src/InlineEditable/InlineEditable.type.d.ts +0 -75
  139. package/src/LinearProgressIndicator/LinearProgressIndicator.type.d.ts +0 -31
  140. package/src/Link/Link.classes.d.ts +1 -1
  141. package/src/Link/Link.type.d.ts +1 -10
  142. package/src/ListItem/ListItem.type.d.ts +0 -41
  143. package/src/ListItemText/ListItemText.type.d.ts +0 -21
  144. package/src/ListNavigation/useListNavigation.d.ts +0 -16
  145. package/src/Menu/Menu.type.d.ts +0 -10
  146. package/src/MenuFooter/MenuFooter.type.d.ts +0 -4
  147. package/src/MenuHeader/MenuHeader.type.d.ts +0 -10
  148. package/src/MenuItem/MenuItem.type.d.ts +0 -19
  149. package/src/MenuItem/MenuItemSelectContext.d.ts +0 -3
  150. package/src/MenuItem/useMenuItemSelect.d.ts +0 -21
  151. package/src/MenuItemText/MenuItemText.type.d.ts +0 -17
  152. package/src/MenuList/MenuList.type.d.ts +0 -4
  153. package/src/MenuList/MenuListContext.d.ts +0 -6
  154. package/src/Modal/InnerModal.type.d.ts +0 -5
  155. package/src/Modal/Modal.type.d.ts +0 -11
  156. package/src/Modal/ModalContext.d.ts +0 -4
  157. package/src/Option/Option.type.d.ts +0 -3
  158. package/src/Overlap/Overlap.type.d.ts +0 -11
  159. package/src/PageHeader/PageHeader.type.d.ts +0 -4
  160. package/src/PickerTextField/PickerTextField.type.d.ts +0 -10
  161. package/src/Popover/Popover.type.d.ts +0 -29
  162. package/src/Popper/Popper.type.d.ts +0 -61
  163. package/src/Radio/Radio.type.d.ts +0 -5
  164. package/src/RadioGroup/RadioGroup.type.d.ts +0 -4
  165. package/src/Rating/Rating.type.d.ts +0 -74
  166. package/src/Select/Select.type.d.ts +0 -84
  167. package/src/SingleFilter/FilterButton/FilterButton.type.d.ts +0 -16
  168. package/src/SingleFilter/SingleFilter.type.d.ts +0 -26
  169. package/src/Skeleton/Skeleton.type.d.ts +0 -1
  170. package/src/Skeleton/SkeletonContainer/SkeletonContainer.classes.d.ts +1 -1
  171. package/src/Slider/Slider.classes.d.ts +1 -5
  172. package/src/Slider/Slider.type.d.ts +0 -104
  173. package/src/Snackbar/Snackbar.type.d.ts +0 -18
  174. package/src/SplitButton/SplitButton.type.d.ts +0 -21
  175. package/src/Squircle/Squircle.type.d.ts +0 -3
  176. package/src/StatusIndicator/StatusIndicator.classes.d.ts +1 -1
  177. package/src/StatusIndicator/StatusIndicator.type.d.ts +1 -9
  178. package/src/Step/Step.type.d.ts +0 -29
  179. package/src/Step/StepContext.d.ts +0 -7
  180. package/src/StepButton/StepButton.type.d.ts +0 -15
  181. package/src/StepContent/StepContent.type.d.ts +0 -7
  182. package/src/StepIcon/StepIcon.type.d.ts +0 -26
  183. package/src/StepLabel/StepLabel.type.d.ts +0 -23
  184. package/src/Stepper/Stepper.type.d.ts +0 -27
  185. package/src/SwipeableDrawer/SwipeableDrawer.d.ts +0 -26
  186. package/src/SwipeableDrawer/SwipeableDrawer.types.d.ts +0 -67
  187. package/src/SwipeableDrawer/hooks/useDrawerGestures.d.ts +0 -110
  188. package/src/SwipeableDrawer/hooks/useElementSizeObserver.d.ts +0 -5
  189. package/src/SwipeableDrawer/hooks/useSnapPoints.d.ts +0 -60
  190. package/src/Switch/Switch.type.d.ts +0 -9
  191. package/src/Tab/Tab.classes.d.ts +3 -2
  192. package/src/Tab/Tab.type.d.ts +0 -29
  193. package/src/TabContext/TabContext.d.ts +0 -4
  194. package/src/TabContext/TabContext.type.d.ts +0 -7
  195. package/src/TabPanel/TabPanel.type.d.ts +0 -10
  196. package/src/Table/Table.type.d.ts +0 -19
  197. package/src/TableBody/TableBody.type.d.ts +0 -3
  198. package/src/TableCell/TableCell.d.ts +0 -4
  199. package/src/TableCell/TableCell.type.d.ts +0 -35
  200. package/src/TableContainer/TableContainer.type.d.ts +0 -7
  201. package/src/TableFooter/TableFooter.type.d.ts +0 -3
  202. package/src/TableHead/TableHead.type.d.ts +0 -6
  203. package/src/TablePagination/TablePagination.type.d.ts +0 -47
  204. package/src/TableRow/TableRow.type.d.ts +0 -17
  205. package/src/Tabs/TabMoreMenu.d.ts +0 -16
  206. package/src/Tabs/TabScrollButton.d.ts +0 -10
  207. package/src/Tabs/Tabs.classes.d.ts +1 -1
  208. package/src/Tabs/Tabs.d.ts +1 -1
  209. package/src/Tabs/Tabs.type.d.ts +2 -36
  210. package/src/Tabs/TabsContext.d.ts +2 -0
  211. package/src/Tabs/hooks/useTabsScroller.d.ts +0 -30
  212. package/src/Tag/Tag.type.d.ts +0 -12
  213. package/src/Text/Text.type.d.ts +0 -13
  214. package/src/TextField/TextField.type.d.ts +0 -64
  215. package/src/Textarea/Textarea.type.d.ts +0 -13
  216. package/src/TimePicker/NumberPicker.type.d.ts +0 -12
  217. package/src/TimePicker/SelectionView.d.ts +0 -6
  218. package/src/TimePicker/TimeButton.d.ts +0 -3
  219. package/src/TimePicker/TimePicker.type.d.ts +0 -11
  220. package/src/TimePicker/ToggleText.type.d.ts +0 -3
  221. package/src/TimePicker/utils/TimeBoundary.d.ts +0 -3
  222. package/src/TimePicker/utils/TimePickerHelper.d.ts +0 -19
  223. package/src/TimePicker/utils/getNumberPickerBoundary.d.ts +0 -3
  224. package/src/Tooltip/TooltipTrigger.a11y.d.ts +0 -9
  225. package/src/Tooltip/TooltipTrigger.type.d.ts +0 -44
  226. package/src/Tooltip/TooltipView.type.d.ts +0 -25
  227. package/src/Tooltip/useTooltipForceHide.d.ts +0 -4
  228. package/src/Tray/Tray.type.d.ts +0 -13
  229. package/src/Tray/TrayContext.d.ts +0 -4
  230. package/src/Tray/hooks/useTray.d.ts +0 -16
  231. package/src/Tray/hooks/useTrayPanel.d.ts +0 -3
  232. package/src/VirtualizedList/VirtualizedList.type.d.ts +0 -27
  233. package/src/VirtualizedMenu/VirtualizedMenu.type.d.ts +0 -17
@@ -2,63 +2,14 @@ import { ButtonHTMLAttributes, PropsWithoutRef } from 'react';
2
2
  import { SuggestionListGroupedOption, SuggestionListItemData } from './SuggestionListItem';
3
3
  export declare type UseAutocompleteGroupParams<T extends SuggestionListItemData = SuggestionListItemData> = {
4
4
  id: string;
5
- /**
6
- * @requires
7
- * options for search
8
- */
9
5
  options: T[];
10
- /**
11
- * Used to determine the disabled state for a given option.
12
- *
13
- * @param {T} option The option to test.
14
- * @returns {boolean}
15
- */
16
6
  getOptionDisabled?: (option: T) => boolean;
17
- /**
18
- * current filtered results
19
- */
20
7
  filteredResult: T[];
21
- /**
22
- * group layout mode
23
- *
24
- * - `normal`: use group name as group title
25
- * - `expanded`: use first-item as group title, and that is `clickable`
26
- *
27
- * @default 'normal'
28
- */
29
8
  groupVariant?: 'normal' | 'expanded';
30
- /**
31
- * group expanded state, you can control expanded state by that
32
- *
33
- * - `true`: expand all
34
- * - `false`: collapse all
35
- * - `{key: boolean}`: control group state
36
- */
37
9
  groupExpanded?: Record<string, boolean> | boolean;
38
- /**
39
- * group default expanded state
40
- *
41
- * - `true`: expand all
42
- * - `false`: collapse all
43
- * - `{key: boolean}`: control group state
44
- */
45
10
  groupDefaultExpanded?: Record<string, boolean> | boolean;
46
- /**
47
- * If provided, the options will be grouped under the returned string.
48
- * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.
49
- *
50
- * @param {T} option The options to group.
51
- * @returns {string} The group key
52
- */
53
11
  groupBy?: (option: T) => string;
54
- /**
55
- * Trigger when group item expanded state change.
56
- *
57
- * @param {object} group The state of the group.
58
- * @param {object} groupStateMap The whole group state
59
- */
60
12
  onGroupExpanded?: (group: SuggestionListGroupedOption<T>, groupStateMap: Record<string, boolean>) => void;
61
- /** The props apply to ExpandIcon */
62
13
  getExpandIconProps?: (group: SuggestionListGroupedOption) => PropsWithoutRef<React.DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>> | undefined;
63
14
  };
64
15
  declare type ExpandedMapState = Record<string, boolean>;
@@ -3,82 +3,22 @@ import { SuggestionListGetItemPropsOptions, SuggestionListItemData, UseSuggestio
3
3
  import { UseAutocompleteTagParams } from './useAutocompleteTag';
4
4
  export declare type AutocompleteCloseReason = 'toggleInput' | 'escape' | 'select-option' | 'blur';
5
5
  export declare type UseAutocompleteParams<T extends SuggestionListItemData = SuggestionListItemData> = {
6
- /** input container ref, if you have a scrollable input, that will be needed */
7
6
  inputContainerRef?: React.RefObject<HTMLDivElement>;
8
- /**
9
- * if you want add `freeSolo` item at `first` or `last` of options array,
10
- * set that will auto add item into options
11
- */
12
7
  addNoOptionItem?: 'first' | 'last';
13
- /**
14
- * Control the popup open state.
15
- */
16
8
  open?: boolean;
17
- /**
18
- * Callback fired when the popup requests to be opened.
19
- * Use in controlled mode (see open).
20
- *
21
- * @param {object} event The event source of the callback.
22
- */
23
9
  onOpen?: (event: React.ChangeEvent<{}>) => void;
24
- /**
25
- * Callback fired when the popup requests to be closed.
26
- * Use in controlled mode (see open).
27
- *
28
- * @param {object} event The event source of the callback.
29
- * @param {string} reason Can be: `"toggleInput"`, `"escape"`, `"select-option"`, `"blur"`.
30
- */
31
10
  onClose?: (event: React.ChangeEvent<{}>, reason: AutocompleteCloseReason) => void;
32
- /**
33
- * If `true`, the popup won't close when a value is selected.
34
- * This prop defaults to the value of the `multiple` prop.
35
- *
36
- * @default multiple
37
- */
38
11
  disableCloseOnSelect?: boolean;
39
- /**
40
- * This is the initial isOpen value when Autocomplete is initialized.
41
- */
42
12
  initialIsOpen?: boolean;
43
- /** current input value */
44
13
  inputValue?: string;
45
- /**
46
- * If `true`, the selected option becomes the value of the input
47
- * when the input loses focus unless the user chooses
48
- * a different option or changes the character string in the input.
49
- */
50
14
  autoSelect?: boolean;
51
- /**
52
- * If `true`, the popup will open on input focus.
53
- * @default true
54
- */
55
15
  openOnFocus?: boolean;
56
- /**
57
- * If `true`, when the input element is clicked it will toggle
58
- * the visibility of the popup.
59
- *
60
- * @default true
61
- */
62
16
  toggleWithInput?: boolean;
63
- /**
64
- * Render when search no have any options.
65
- *
66
- * @param {object} additionItems
67
- * render when not have any options,
68
- * if set that the freeSolo auto add items will not be cover
69
- */
70
17
  renderNoOptions?: (getNoOptionsProps: (additionProps: PropsWithoutRef<DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>>) => DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>, additionItem: SuggestionListItemData | null) => React.ReactNode;
71
- /**
72
- * If `true`, the first option is automatically highlighted.
73
- * @default true
74
- */
75
18
  autoHighlight?: boolean;
76
- /**
77
- * current focused state
78
- */
79
19
  focused?: boolean;
80
20
  } & Pick<InputHTMLAttributes<HTMLInputElement>, 'disabled' | 'required'> & UseSuggestionListParams<T> & Omit<UseAutocompleteTagParams<T>, 'id'>;
81
- export declare const useAutocomplete: <T extends SuggestionListItemData = SuggestionListItemData>({ multiple: multipleProp, variant, inputValue: inputValueProp, getOptionLabel, keyToTags, filterOptions: filterOptionsProp, disabledItemsHighlightable, options, freeSolo, onInputChange: onInputChangeProp, maxFreeSolo, onMaxFreeSolo, openOnFocus, toggleWithInput, disableCloseOnSelect, initialIsOpen, autoSelect, inputContainerRef, inputRef, wrapperRef, onKeyDown: onKeyDownProp, onChange: onSelectChange, value: selectedItemsProp, disabled, renderNoOptions, onClear, autoHighlight, getOptionDisabled, addNoOptionItem, groupBy, onGroupExpanded, groupVariant, groupExpanded, groupDefaultExpanded, getExpandIconProps, required, open: openProp, onOpen, onClose, focused, }: UseAutocompleteParams<T>) => {
21
+ export declare const useAutocomplete: <T extends SuggestionListItemData = SuggestionListItemData>({ multiple: multipleProp, variant, inputValue: inputValueProp, getOptionLabel, keyToTags, filterOptions: filterOptionsProp, disabledItemsHighlightable, options, freeSolo, onInputChange: onInputChangeProp, maxFreeSolo, onMaxFreeSolo, openOnFocus, toggleWithInput, disableCloseOnSelect, initialIsOpen, autoSelect, inputContainerRef, inputRef, wrapperRef, onKeyDown: onKeyDownProp, onChange: onSelectChange, value: selectedItemsProp, disabled, renderNoOptions, onClear, autoHighlight, getOptionDisabled, addNoOptionItem, groupBy, onGroupExpanded, groupVariant, groupExpanded, groupDefaultExpanded, getExpandIconProps, required, open: openProp, onOpen, onClose, focused, isOptionEqualToValue, }: UseAutocompleteParams<T>) => {
82
22
  focusInput: () => void | undefined;
83
23
  readOnly: boolean | undefined;
84
24
  getTagProps: ({ index, selectedItem, ...restTagProps }: import("./useAutocompleteTag").GetTagProps<T>) => {
@@ -631,7 +571,6 @@ export declare const useAutocomplete: <T extends SuggestionListItemData = Sugges
631
571
  reset: (isFocus?: boolean | undefined) => void;
632
572
  forceUpdate: () => void;
633
573
  optionsGroupList: import("./SuggestionList").SuggestionListGroupedOption<T>[];
634
- /** that state of current Autocomplete focused, both tag or input focused */
635
574
  focused: boolean | undefined;
636
575
  id: string;
637
576
  inputChanged: boolean;
@@ -11,54 +11,21 @@ export declare type GetTagProps<T> = PropsWithChildren<{
11
11
  disabled?: boolean;
12
12
  } & PropsWithoutRef<Omit<DetailedHTMLProps<HTMLAttributes<HTMLElement>, HTMLElement>, 'color'>> & HTMLDataAttribute>;
13
13
  export declare type UseAutocompleteTagParams<T extends SuggestionListItemData = SuggestionListItemData> = {
14
- /** id for unique */
15
14
  id: string;
16
- /** that input ref you binding event */
17
15
  inputRef: React.RefObject<HTMLInputElement>;
18
- /** wrapper container ref, if you have `tag` or use in `popper`, that will be needed */
19
16
  wrapperRef?: React.RefObject<HTMLDivElement>;
20
- /** when that return `true` will ignore freeSolo create event */
21
17
  getStopCreateFreeSolo?: () => boolean;
22
- /** trigger when check free solo complete */
23
18
  onReset?: (e?: ChangeEvent<{}>) => void;
24
- /**
25
- * max number of tags,
26
- * @default 20
27
- */
28
19
  maxFreeSolo?: number;
29
- /** emit when bigger than maxFreeSolo number */
30
20
  onMaxFreeSolo?: (max?: number) => void;
31
- /**
32
- * one of that character, also can be confirm a tag
33
- * @default
34
- * [',', ';', '↵']
35
- */
36
21
  keyToTags?: string[];
37
- /** selectedItems array list */
38
22
  value?: T[];
39
- /**
40
- * emit tags change event
41
- */
42
23
  onChange?: (selectedItems: T[]) => void;
43
- /**
44
- * display mode,
45
- * when be `autocomplete`, that `multiple` will be `false`
46
- *
47
- * @default tags
48
- */
49
24
  variant?: 'tags' | 'autocomplete';
50
- /**
51
- * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.
52
- */
53
25
  freeSolo?: boolean;
54
- /**
55
- * is that can select multiple, default is `false`
56
- */
57
26
  multiple?: boolean;
58
- /** trigger when addTags is called */
59
27
  onAddTags?: () => void;
60
28
  } & Pick<InputHTMLAttributes<HTMLInputElement>, 'disabled' | 'required'> & Pick<UseSuggestionListParams<T>, 'getOptionLabel' | 'onInputChange'>;
61
- /** @inner inner hook work with useAutocomplete */
62
29
  export declare const useAutocompleteTag: <T extends SuggestionListItemData = SuggestionListItemData>({ id: AutocompleteId, value: selectedItemsProp, onChange: onSelectChange, variant, getOptionLabel, onInputChange: onInputChangeProp, freeSolo, multiple, wrapperRef, inputRef, maxFreeSolo, keyToTags, onMaxFreeSolo, required, disabled, getStopCreateFreeSolo, onReset, onAddTags, }: UseAutocompleteTagParams<T>) => {
63
30
  focused: boolean;
64
31
  setFocused: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -8,79 +8,21 @@ declare type ExtendElementType = ElementType;
8
8
  export declare type AvatarVariant = 'circle' | 'squircle';
9
9
  export declare type AvatarSize = 'xxlarge' | 'xlarge' | 'large' | 'medium' | 'small' | 'xsmall' | 'xxsmall';
10
10
  declare type BaseAvatarProps = WithClassesProps<{
11
- /**
12
- * Used in combination with `src` or `srcSet` to
13
- * provide an alt attribute for the rendered `img` element.
14
- */
15
11
  alt?: string;
16
- /**
17
- * Used to render text elements inside the Avatar if `src` or `srcSet` is not set.
18
- * This can be an element, or just a string.
19
- */
20
12
  children?: ReactNode;
21
- /**
22
- * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.
23
- * It can be used to listen for the loading error event.
24
- */
25
13
  imgProps?: Omit<ComponentProps<'img'>, 'alt' | 'src' | 'srcSet'>;
26
- /**
27
- * The size of the component.
28
- * @default 'xlarge'
29
- */
30
14
  size?: AvatarSize;
31
- /**
32
- * The `src` attribute for the `img` element.
33
- * If an error occurs while loading the avatar image, it will fallback to alternatives in the following order:
34
- * 1. The provided children string.
35
- * 2. The first letter of the alt text.
36
- * 3. A generic icon. (**Only applies to variant 'circle'**)
37
- */
38
15
  src?: string;
39
- /**
40
- * The `srcSet` attribute for the `img` element.
41
- * Use this attribute for responsive image display.
42
- */
43
16
  srcSet?: string;
44
- /**
45
- * Icon symbol.
46
- */
47
17
  symbol?: ComponentType;
48
- /**
49
- * The variant to use.
50
- * @default 'circle'
51
- */
52
18
  variant?: AvatarVariant;
53
- /**
54
- * The color of the component.
55
- * @default 'default'
56
- */
57
19
  color?: 'default' | 'primary';
58
- /**
59
- * This will apply to the avatar shape node
60
- * @default div
61
- * */
62
20
  component?: 'div' | 'button';
63
- /**
64
- * If this component is clickable. When enabled hover, pressed and focus states are triggered.
65
- */
66
21
  clickable?: boolean;
67
- /**
68
- * Props of the avatar shape
69
- */
70
22
  avatarShapeRef?: Ref<ElementRef<'div' | 'button'>>;
71
- /**
72
- * If `true`, the Avatar will show a StatusIndicator component. Does not apply to the `xxsmall`/`xsmall` sizes.
73
- */
74
23
  showStatusIndicator?: boolean;
75
- /**
76
- * Props passed to the StatusIndicator component. Only applicable if `showStatusIndicator` is `true`.
77
- */
78
24
  IndicatorProps?: StatusIndicatorProps;
79
- /** Attributes applied to root */
80
25
  rootProps?: Omit<ComponentProps<'div'>, 'className' | 'classes'> & Partial<OverlapProps>;
81
- /**
82
- * If `true`, the component is disabled.
83
- */
84
26
  disabled?: boolean;
85
27
  } & Pick<UseFocusVisibleOptions, 'onFocusVisible'>, AvatarClassesKey>;
86
28
  export declare type AvatarProps<T extends ExtendElementType = DefaultElementType> = OverridableProps<BaseAvatarProps, T>;
@@ -4,9 +4,6 @@ import { AvatarGroupClassesKey } from './AvatarGroup.classes';
4
4
  declare type DefaultElementType = 'div';
5
5
  declare type ExtendElementType = 'div' | 'button';
6
6
  declare type BaseAvatarGroupProps = WithClassesProps<{
7
- /**
8
- * You can only pass 2 Avatar components as children
9
- */
10
7
  children: ReactNode;
11
8
  }, AvatarGroupClassesKey>;
12
9
  export declare type AvatarGroupProps<T extends ExtendElementType = DefaultElementType> = OverridableProps<BaseAvatarGroupProps, T>;
@@ -1,9 +1,5 @@
1
1
  import { StandardProps } from '@ringcentral/spring-base';
2
2
  import { BackdropClassesKey } from './Backdrop.classes';
3
3
  export declare type BackdropProps = StandardProps<{
4
- /**
5
- * Prop to set backdrop transparent
6
- * @default false
7
- */
8
4
  isTransparent?: boolean;
9
5
  }, BackdropClassesKey, 'div'>;
@@ -8,45 +8,12 @@ export declare type BadgeOverlap = 'rectangular' | 'circular';
8
8
  export declare type BadgeAnchorOrigin = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
9
9
  export declare type BadgeType = 'standard' | 'dot';
10
10
  export declare type BadgeProps = StandardProps<{
11
- /**
12
- * The variant to use.
13
- * @default 'contained'
14
- */
15
11
  variant?: BadgeVariant;
16
- /**
17
- * The count type to use.
18
- * @default 'standard'
19
- */
20
12
  type?: BadgeType;
21
- /**
22
- * The integer to display. Undefined count with dot type can be used to show a dot.
23
- */
24
13
  count?: number | string;
25
- /**
26
- * The color of the component.
27
- * @default 'primary'
28
- */
29
14
  color?: BadgeColor;
30
- /**
31
- * The size of the component.
32
- * @default 'small'
33
- */
34
15
  size?: BadgeSize;
35
- /**
36
- * Wrapped shape the badge should overlap.
37
- * Note: Automatically take effect when there are child elements.
38
- * @default 'rectangular'
39
- */
40
16
  overlap?: BadgeOverlap;
41
- /**
42
- * Use the overlap position when there are no child elements.
43
- * Note: If true, please give the parent element a position relative or absolute to make the badge work.
44
- * @default false
45
- */
46
17
  forceOverlap?: boolean;
47
- /**
48
- * The anchor of the badge.
49
- * @default 'topRight'
50
- */
51
18
  anchorOrigin?: BadgeAnchorOrigin;
52
19
  } & Omit<UseBadgeParameters, 'badgeContent'>, BadgeClassesKey, 'span'>;
@@ -5,35 +5,11 @@ export declare type BlockBorderRadius = 'none' | 'xsmall' | 'small' | 'medium';
5
5
  export declare type BlockColor = 'default' | 'neutral';
6
6
  declare type DefaultElementType = 'div';
7
7
  declare type BaseBlockProps = WithClassesProps<{
8
- /**
9
- * If `true`, flex direction is set to 'row'.
10
- * @default false
11
- */
12
8
  row?: boolean;
13
- /**
14
- * If `false`, container padding is set to 0.
15
- * @default true
16
- */
17
9
  padding?: boolean;
18
- /**
19
- * If `false`, the border is hidden.
20
- * @default true
21
- */
22
10
  bordered?: boolean;
23
- /**
24
- * The border radius of the component.
25
- * @default 'medium'
26
- */
27
11
  borderRadius?: BlockBorderRadius;
28
- /**
29
- * The color of the component.
30
- * @default 'default'
31
- */
32
12
  color?: BlockColor;
33
- /**
34
- * If `false`, the background is hidden.
35
- * @default true
36
- */
37
13
  background?: boolean;
38
14
  }, BlockClassesKey>;
39
15
  export declare type BlockProps<T extends ElementType = DefaultElementType> = OverridableProps<BaseBlockProps, T>;
@@ -3,12 +3,7 @@ import { OverridableComponent, OverridableProps, WithClassesProps } from '@ringc
3
3
  import { BlockHeaderClassesKey } from './BlockHeader.classes';
4
4
  declare type DefaultElementType = 'div';
5
5
  declare type BaseBlockHeaderProps = WithClassesProps<{
6
- /** End slot of this header. */
7
6
  endSlot?: ReactNode;
8
- /**
9
- * If true, show blockHeader divider
10
- * @default false
11
- */
12
7
  divider?: boolean;
13
8
  }, BlockHeaderClassesKey>;
14
9
  export declare type BlockHeaderProps<T extends ElementType = DefaultElementType> = OverridableProps<BaseBlockHeaderProps, T>;
@@ -5,55 +5,21 @@ import { BottomNavigationItemProps } from '../BottomNavigationItem';
5
5
  import { BottomNavigationClassesKey } from './BottomNavigation.classes';
6
6
  export declare type CollapseReason = 'EscapeKeyDown' | 'TabBlur' | 'ClickAway' | 'ToggleMore' | 'ItemSelected';
7
7
  export declare type BottomNavigationProps<T = string> = StandardProps<{
8
- /**
9
- * The default value. Use when the component is not controlled.
10
- */
11
8
  defaultValue?: T;
12
- /**
13
- * The value of the activated navigation item.
14
- */
15
9
  value?: T;
16
- /**
17
- * The default data of navigation items. Use when the component is not controlled.
18
- */
19
10
  defaultData?: {
20
11
  visible: T[];
21
12
  more?: T[];
22
13
  };
23
- /**
24
- * The data of navigation items.
25
- * The max count of visible items is **6**,
26
- * it would be **5** due to the appearance of more button when there are items in more section.
27
- */
28
14
  data?: {
29
15
  visible: T[];
30
16
  more?: T[];
31
17
  };
32
- /**
33
- * Callback invoked when new value is being set.
34
- */
35
18
  onChange?: (event: React.SyntheticEvent, value: T) => void;
36
- /**
37
- * Used when rendering the navigation items.
38
- * @param value value of current navigation item
39
- * @returns {ReactNode}
40
- */
41
19
  renderItem: (value: T) => ReactNode;
42
- /**
43
- * Props applied to the more button (which only appears when there are items in the more section.)
44
- */
45
20
  MoreProps?: Omit<BottomNavigationItemProps, 'symbol'>;
46
- /**
47
- * Shows up at the bottom when more section expanded.
48
- */
49
21
  description?: ReactNode;
50
- /**
51
- * Invoke when more section collapsed.
52
- */
53
22
  onCollapse?: (event: React.SyntheticEvent | undefined, reason: CollapseReason) => void;
54
- /**
55
- * If `true`, the bottom navigation will take up the full width of its container.
56
- */
57
23
  fullWidth?: boolean;
58
24
  } & Omit<HTMLMotionProps<'div'>, 'onChange'>, BottomNavigationClassesKey>;
59
25
  export interface BottomNavigationComponent {
@@ -5,56 +5,17 @@ import { IconButtonProps } from '../IconButton';
5
5
  import { TooltipProps } from '../Tooltip';
6
6
  import { BottomNavigationItemClassesKey } from './BottomNavigationItem.classes';
7
7
  export declare type BottomNavigationItemProps<T = string> = StandardProps<{
8
- /**
9
- * Value of the navigation item.
10
- */
11
8
  value?: T;
12
- /**
13
- * Icon symbol.
14
- */
15
9
  symbol: ComponentType;
16
- /**
17
- * Icon symbol when activated is true.
18
- */
19
10
  activatedSymbol?: ComponentType;
20
- /**
21
- * Badge count.
22
- * The integer to display. It displays in dot mode if has not count specified.
23
- */
24
11
  count?: number;
25
- /**
26
- * If true, navigation item will be displayed in an activated state.
27
- */
28
12
  activated?: boolean;
29
- /**
30
- * If true, navigation item will be displayed in an expanded state.
31
- */
32
13
  expanded?: boolean;
33
- /**
34
- * Callback fired when the button is clicked.
35
- *
36
- * @param {React.MouseEvent<HTMLButtonElement>} event The event source of the callback.
37
- */
38
14
  onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
39
- /**
40
- * Props applied to Badge component
41
- */
42
15
  BadgeProps?: Omit<BadgeProps, 'count'> & HTMLDataAttribute;
43
- /**
44
- * Props applied to IconButton component
45
- */
46
16
  ButtonProps?: Omit<IconButtonProps, 'symbol' | 'variant' | 'size' | 'shape' | 'color' | 'onClick'> & HTMLDataAttribute;
47
- /**
48
- * This label will be displayed in tooltip by default.
49
- */
50
17
  label?: string;
51
- /**
52
- * Props applied to Tooltip component
53
- */
54
18
  TooltipProps?: Omit<TooltipProps, 'title' | 'PopperProps' | 'open' | 'onOpenStateChange'> & HTMLDataAttribute;
55
- /**
56
- * Ref will be passed to the button.
57
- */
58
19
  ref?: React.ForwardedRef<HTMLButtonElement>;
59
20
  }, BottomNavigationItemClassesKey>;
60
21
  export interface BottomNavigationItemComponent {
@@ -9,44 +9,14 @@ export declare type ButtonSize = 'xlarge' | 'large' | 'medium' | 'small' | 'xsma
9
9
  export declare type ButtonVariant = 'text' | 'contained' | 'outlined' | 'inverted';
10
10
  export declare type ButtonColor = 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'neutral';
11
11
  declare type BaseButtonProps = WithClassesProps<WithTooltipProps<{
12
- /** Icon placed before the children. */
13
12
  startIcon?: IconProps['symbol'] | React.ReactNode;
14
- /** Icon placed after the children. */
15
13
  endIcon?: IconProps['symbol'] | React.ReactNode;
16
- /**
17
- * If `true`, the button will take up the full width of its container.
18
- * @default false
19
- */
20
14
  fullWidth?: boolean;
21
- /**
22
- * The size of the component.
23
- * @default 'medium'
24
- */
25
15
  size?: ButtonSize;
26
- /**
27
- * The variant to use.
28
- * @default 'contained'
29
- */
30
16
  variant?: ButtonVariant;
31
- /**
32
- * The color of the component.
33
- * @default 'primary'
34
- */
35
17
  color?: ButtonColor;
36
- /**
37
- * If the component is in a loading state. Disables interactions and hides the startIcon if set.
38
- * @default false
39
- */
40
- /**
41
- * Controls whether the component should have a background in its resting state.
42
- * Does not apply to the "text" variant.
43
- * @default true
44
- */
45
18
  background?: boolean;
46
19
  loading?: boolean;
47
- /**
48
- * Sets the props that are applied to the CircularProgressIndicator if `loading` is `true`.
49
- */
50
20
  CircularProgressIndicatorProps?: CircularProgressIndicatorProps;
51
21
  } & Omit<UseButtonParameters, 'href' | 'type' | 'rootRef'>>, ButtonClassesKey>;
52
22
  export declare type ButtonProps<T extends ExtendElementType = DefaultElementType> = OverridableProps<BaseButtonProps, T>;
@@ -5,10 +5,6 @@ export declare type DefaultElementType = 'button';
5
5
  declare type ExtendElementType = 'button';
6
6
  declare type BaseCallButtonProps = Omit<IconButtonProps, 'classes' | 'symbol' | 'label' | 'color' | 'variant' | 'shape' | 'size'> & WithClassesProps<{
7
7
  variant: 'start' | 'end';
8
- /**
9
- * The size of the component.
10
- * @default "medium"
11
- */
12
8
  size?: 'large' | 'medium' | 'small';
13
9
  }, UnionOmit<IconButtonClassesKey, 'rectangular' | 'outlined' | 'label' | 'primary'>>;
14
10
  export declare type CallButtonProps<T extends ExtendElementType = DefaultElementType> = OverridableProps<BaseCallButtonProps, T>;
@@ -4,27 +4,10 @@ import { StandardProps } from '@ringcentral/spring-base';
4
4
  import { CheckboxClassesKey } from './Checkbox.classes';
5
5
  export declare type CheckboxShape = 'rectangular' | 'squircle';
6
6
  export declare type CheckboxProps = StandardProps<{
7
- /**
8
- * If `true`, the component appears indeterminate.
9
- * @default false
10
- */
11
7
  indeterminate?: boolean;
12
- /**
13
- * If `true`, the Checkbox will be automatically focused on mount.
14
- * @default false
15
- */
16
8
  autoFocus?: boolean;
17
- /**
18
- * Pass a ref to the `input` element.
19
- */
20
9
  inputRef?: Ref<HTMLInputElement>;
21
- /** Attributes applied to root */
22
10
  rootProps?: Omit<ComponentProps<'div'>, 'className'>;
23
- /** Attributes applied to `input` element */
24
11
  inputProps?: Omit<ComponentProps<'input'>, 'className' | 'type' | 'ref'>;
25
- /**
26
- * The shape of the checkbox.
27
- * @default 'rectangular'
28
- */
29
12
  shape?: CheckboxShape;
30
13
  } & Omit<UseSwitchParameters, 'readonly'>, CheckboxClassesKey>;
@@ -5,56 +5,15 @@ import { ChipClassesKey } from './Chip.classes';
5
5
  declare type DefaultElementType = 'div';
6
6
  export declare type ExtendElementType = 'div' | 'a';
7
7
  declare type BaseChipProps = WithClassesProps<{
8
- /**
9
- * Slot for putting an Avatar or Icon before label
10
- */
11
8
  startSlot?: ReactElement;
12
- /**
13
- * This prop isn't supported.
14
- * Use the `component` prop if you need to change the children structure.
15
- */
16
9
  children?: null;
17
- /**
18
- * If `true`, the chip will appear clickable,
19
- * even if the onClick prop is not defined.
20
- * If `false`, the chip will not appear clickable, even if onClick prop is defined.
21
- * This can be used, for example,
22
- * along with the component prop to indicate an anchor Chip is clickable.
23
- * Note: this controls the UI and does not affect the onClick event.
24
- */
25
10
  clickable?: boolean;
26
- /**
27
- * If `true`, there is a max-width at 144,
28
- * If `false`, there is no max-width.
29
- * @default true
30
- */
31
11
  truncate?: boolean;
32
- /**
33
- * The color of the component.
34
- * @default 'default'
35
- */
36
12
  color?: 'default' | 'error';
37
- /**
38
- * The size of the component.
39
- * @default 'large'
40
- */
41
13
  size?: 'large' | 'medium' | 'small';
42
- /**
43
- * The content of the component.
44
- */
45
14
  label?: React.ReactNode;
46
- /**
47
- * Callback fired
48
- * 1. when the delete icon is clicked
49
- * 2. press 'Backspace' or 'Delete' when Chip is focused
50
- * If set, the delete icon will be shown.
51
- */
52
15
  onDelete?: (event: MouseEvent<Element> | KeyboardEvent<Element>) => void;
53
- /** Attributes applied to delete icon button */
54
16
  DeleteIconProps?: Omit<IconButtonProps, 'variant' | 'size' | 'shape'>;
55
- /**
56
- * If `true`, the component is disabled.
57
- */
58
17
  disabled?: boolean;
59
18
  }, ChipClassesKey>;
60
19
  export declare type ChipProps<T extends ExtendElementType = DefaultElementType> = OverridableProps<BaseChipProps, T>;