react-science 19.11.0 → 20.1.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 (234) hide show
  1. package/lib/components/accordion/accordion.d.ts +2 -2
  2. package/lib/components/accordion/accordion.d.ts.map +1 -1
  3. package/lib/components/accordion/accordion_context_provider.d.ts +1 -1
  4. package/lib/components/accordion/accordion_context_provider.d.ts.map +1 -1
  5. package/lib/components/activity_bar/activity_bar.d.ts +2 -2
  6. package/lib/components/activity_bar/activity_bar.d.ts.map +1 -1
  7. package/lib/components/activity_bar/activity_bar.js +5 -1
  8. package/lib/components/activity_bar/activity_bar.js.map +1 -1
  9. package/lib/components/activity_panel/activity_panel.d.ts +2 -2
  10. package/lib/components/activity_panel/activity_panel.d.ts.map +1 -1
  11. package/lib/components/button/Button.d.ts +1 -1
  12. package/lib/components/button/Button.d.ts.map +1 -1
  13. package/lib/components/button/Button.js +30 -22
  14. package/lib/components/button/Button.js.map +1 -1
  15. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +3 -3
  16. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  17. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +2 -2
  18. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  19. package/lib/components/color-picker/gradient_select/gradient_select.d.ts +1 -1
  20. package/lib/components/color-picker/gradient_select/gradient_select.d.ts.map +1 -1
  21. package/lib/components/color-picker/gradient_select/gradient_select.js +1 -1
  22. package/lib/components/color-picker/gradient_select/gradient_select.js.map +1 -1
  23. package/lib/components/color-picker/preview/ColorPreview.d.ts +1 -1
  24. package/lib/components/color-picker/preview/ColorPreview.d.ts.map +1 -1
  25. package/lib/components/color-picker/preview/FixedColorPreview.d.ts +1 -1
  26. package/lib/components/color-picker/preview/FixedColorPreview.d.ts.map +1 -1
  27. package/lib/components/color-picker/preview/FixedGradientPreview.d.ts +1 -1
  28. package/lib/components/color-picker/preview/FixedGradientPreview.d.ts.map +1 -1
  29. package/lib/components/color-picker/react-color/ColorPicker.d.ts +1 -1
  30. package/lib/components/color-picker/react-color/ColorPicker.d.ts.map +1 -1
  31. package/lib/components/color-picker/react-color/ColorPicker.js +2 -2
  32. package/lib/components/color-picker/react-color/ColorPicker.js.map +1 -1
  33. package/lib/components/color-picker/react-color/common/Alpha.d.ts +1 -1
  34. package/lib/components/color-picker/react-color/common/Alpha.d.ts.map +1 -1
  35. package/lib/components/color-picker/react-color/common/CheckBoard.d.ts +1 -1
  36. package/lib/components/color-picker/react-color/common/CheckBoard.d.ts.map +1 -1
  37. package/lib/components/color-picker/react-color/common/EditableInput.d.ts +1 -1
  38. package/lib/components/color-picker/react-color/common/EditableInput.d.ts.map +1 -1
  39. package/lib/components/color-picker/react-color/common/Hue.d.ts +1 -1
  40. package/lib/components/color-picker/react-color/common/Hue.d.ts.map +1 -1
  41. package/lib/components/color-picker/react-color/common/Saturation.d.ts +1 -1
  42. package/lib/components/color-picker/react-color/common/Saturation.d.ts.map +1 -1
  43. package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts +2 -2
  44. package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  45. package/lib/components/color-picker/react-color/sketch/SketchPresetColors.d.ts +1 -1
  46. package/lib/components/color-picker/react-color/sketch/SketchPresetColors.d.ts.map +1 -1
  47. package/lib/components/dialog/ConfirmDialog.d.ts +1 -1
  48. package/lib/components/dialog/ConfirmDialog.d.ts.map +1 -1
  49. package/lib/components/doi/doi.d.ts +1 -1
  50. package/lib/components/doi/doi.d.ts.map +1 -1
  51. package/lib/components/doi/doi_logo.d.ts +1 -1
  52. package/lib/components/doi/doi_logo.d.ts.map +1 -1
  53. package/lib/components/drop-zone/DropZone.d.ts +2 -2
  54. package/lib/components/drop-zone/DropZone.d.ts.map +1 -1
  55. package/lib/components/form/components/input/checkbox.d.ts +1 -1
  56. package/lib/components/form/components/input/checkbox.d.ts.map +1 -1
  57. package/lib/components/form/components/input/color_picker.d.ts +1 -1
  58. package/lib/components/form/components/input/color_picker.d.ts.map +1 -1
  59. package/lib/components/form/components/input/input.d.ts +1 -1
  60. package/lib/components/form/components/input/input.d.ts.map +1 -1
  61. package/lib/components/form/components/input/numeric_input.d.ts +2 -1
  62. package/lib/components/form/components/input/numeric_input.d.ts.map +1 -1
  63. package/lib/components/form/components/input/numeric_input.js.map +1 -1
  64. package/lib/components/form/components/input/radio_group.d.ts +1 -1
  65. package/lib/components/form/components/input/radio_group.d.ts.map +1 -1
  66. package/lib/components/form/components/input/radio_group.js.map +1 -1
  67. package/lib/components/form/components/input/reset_button.d.ts +1 -1
  68. package/lib/components/form/components/input/reset_button.d.ts.map +1 -1
  69. package/lib/components/form/components/input/select.d.ts +1 -1
  70. package/lib/components/form/components/input/select.d.ts.map +1 -1
  71. package/lib/components/form/components/input/submit_button.d.ts +1 -1
  72. package/lib/components/form/components/input/submit_button.d.ts.map +1 -1
  73. package/lib/components/form/components/input/submit_button.js +2 -2
  74. package/lib/components/form/components/input/submit_button.js.map +1 -1
  75. package/lib/components/form/components/input/switch.d.ts +1 -1
  76. package/lib/components/form/components/input/switch.d.ts.map +1 -1
  77. package/lib/components/form/components/input_groups/form.d.ts +1 -1
  78. package/lib/components/form/components/input_groups/form.d.ts.map +1 -1
  79. package/lib/components/form/components/input_groups/form_group.d.ts +1 -1
  80. package/lib/components/form/components/input_groups/form_group.d.ts.map +1 -1
  81. package/lib/components/form/components/layout/Section.d.ts +1 -1
  82. package/lib/components/form/components/layout/Section.d.ts.map +1 -1
  83. package/lib/components/fullscreen/fullscreen_context.provider.d.ts +4 -2
  84. package/lib/components/fullscreen/fullscreen_context.provider.d.ts.map +1 -1
  85. package/lib/components/fullscreen/fullscreen_context.provider.js.map +1 -1
  86. package/lib/components/fullscreen/fullscreen_toolbar_button.d.ts +1 -1
  87. package/lib/components/fullscreen/fullscreen_toolbar_button.d.ts.map +1 -1
  88. package/lib/components/header/Header.d.ts +1 -1
  89. package/lib/components/header/Header.d.ts.map +1 -1
  90. package/lib/components/header/PanelHeader.d.ts +1 -1
  91. package/lib/components/header/PanelHeader.d.ts.map +1 -1
  92. package/lib/components/icon.d.ts +1 -1
  93. package/lib/components/icon.d.ts.map +1 -1
  94. package/lib/components/info-panel/InfoPanel.d.ts +1 -1
  95. package/lib/components/info-panel/InfoPanel.d.ts.map +1 -1
  96. package/lib/components/info-panel/InfoPanel.js +13 -10
  97. package/lib/components/info-panel/InfoPanel.js.map +1 -1
  98. package/lib/components/inline_editable_renderer/inline_editable_renderer.d.ts +1 -1
  99. package/lib/components/inline_editable_renderer/inline_editable_renderer.d.ts.map +1 -1
  100. package/lib/components/input/radio-button-group/RadioButton.d.ts +1 -1
  101. package/lib/components/input/radio-button-group/RadioButton.d.ts.map +1 -1
  102. package/lib/components/input/radio-button-group/RadioButtonGroup.d.ts +1 -1
  103. package/lib/components/input/radio-button-group/RadioButtonGroup.d.ts.map +1 -1
  104. package/lib/components/input/radio-button-group/RadioButtonGroup.js +5 -4
  105. package/lib/components/input/radio-button-group/RadioButtonGroup.js.map +1 -1
  106. package/lib/components/input/utils/SubText.d.ts +1 -1
  107. package/lib/components/input/utils/SubText.d.ts.map +1 -1
  108. package/lib/components/logger/FifoLoggerDialog.d.ts +1 -1
  109. package/lib/components/logger/FifoLoggerDialog.d.ts.map +1 -1
  110. package/lib/components/logger/FifoLoggerProvider.d.ts +1 -1
  111. package/lib/components/logger/FifoLoggerProvider.d.ts.map +1 -1
  112. package/lib/components/logger/FifoLoggerToolbarItem.d.ts +1 -1
  113. package/lib/components/logger/FifoLoggerToolbarItem.d.ts.map +1 -1
  114. package/lib/components/root-layout/root_layout.d.ts +1 -1
  115. package/lib/components/root-layout/root_layout.d.ts.map +1 -1
  116. package/lib/components/root-layout/root_layout.js +1 -2
  117. package/lib/components/root-layout/root_layout.js.map +1 -1
  118. package/lib/components/root-layout/root_layout_context.provider.d.ts +1 -1
  119. package/lib/components/root-layout/root_layout_context.provider.d.ts.map +1 -1
  120. package/lib/components/selected-total/SelectedTotal.d.ts +1 -1
  121. package/lib/components/selected-total/SelectedTotal.d.ts.map +1 -1
  122. package/lib/components/split_pane/split_pane.d.ts +1 -1
  123. package/lib/components/split_pane/split_pane.d.ts.map +1 -1
  124. package/lib/components/split_pane/split_pane.js.map +1 -1
  125. package/lib/components/split_pane/use_split_pane_size.d.ts +1 -1
  126. package/lib/components/split_pane/use_split_pane_size.d.ts.map +1 -1
  127. package/lib/components/svg/styled/svg_styled_line.d.ts +1 -1
  128. package/lib/components/svg/styled/svg_styled_line.d.ts.map +1 -1
  129. package/lib/components/svg/styled/svg_styled_path.d.ts +1 -1
  130. package/lib/components/svg/styled/svg_styled_path.d.ts.map +1 -1
  131. package/lib/components/svg/styled/svg_styled_text.d.ts +1 -1
  132. package/lib/components/svg/styled/svg_styled_text.d.ts.map +1 -1
  133. package/lib/components/table/default_table_cell.d.ts +1 -1
  134. package/lib/components/table/default_table_cell.d.ts.map +1 -1
  135. package/lib/components/table/flash_row/flashed_row_provider.d.ts +1 -1
  136. package/lib/components/table/flash_row/flashed_row_provider.d.ts.map +1 -1
  137. package/lib/components/table/flash_row/use_flash_row_effect.d.ts +1 -1
  138. package/lib/components/table/flash_row/use_flash_row_effect.d.ts.map +1 -1
  139. package/lib/components/table/flash_row/use_flash_row_effect.js.map +1 -1
  140. package/lib/components/table/preview_table.d.ts +1 -1
  141. package/lib/components/table/preview_table.d.ts.map +1 -1
  142. package/lib/components/table/reorder_rows/draggable_row_context.d.ts +4 -2
  143. package/lib/components/table/reorder_rows/draggable_row_context.d.ts.map +1 -1
  144. package/lib/components/table/reorder_rows/draggable_row_context.js.map +1 -1
  145. package/lib/components/table/reorder_rows/draggable_row_tr.d.ts +1 -1
  146. package/lib/components/table/reorder_rows/draggable_row_tr.d.ts.map +1 -1
  147. package/lib/components/table/reorder_rows/draggable_row_tr.js.map +1 -1
  148. package/lib/components/table/reorder_rows/item_data.d.ts +1 -1
  149. package/lib/components/table/reorder_rows/item_data.d.ts.map +1 -1
  150. package/lib/components/table/reorder_rows/item_data.js.map +1 -1
  151. package/lib/components/table/reorder_rows/item_order_provider.d.ts +1 -1
  152. package/lib/components/table/reorder_rows/item_order_provider.d.ts.map +1 -1
  153. package/lib/components/table/reorder_rows/item_order_provider.js +10 -5
  154. package/lib/components/table/reorder_rows/item_order_provider.js.map +1 -1
  155. package/lib/components/table/reorder_rows/table_drag_row_handler.d.ts +1 -1
  156. package/lib/components/table/reorder_rows/table_drag_row_handler.d.ts.map +1 -1
  157. package/lib/components/table/reorder_rows/use_drop_monitor.d.ts +1 -1
  158. package/lib/components/table/reorder_rows/use_drop_monitor.d.ts.map +1 -1
  159. package/lib/components/table/reorder_rows/use_drop_monitor.js.map +1 -1
  160. package/lib/components/table/table_body.d.ts +1 -1
  161. package/lib/components/table/table_body.d.ts.map +1 -1
  162. package/lib/components/table/table_header.d.ts +1 -1
  163. package/lib/components/table/table_header.d.ts.map +1 -1
  164. package/lib/components/table/table_header_cell.d.ts +1 -1
  165. package/lib/components/table/table_header_cell.d.ts.map +1 -1
  166. package/lib/components/table/table_root.d.ts +2 -2
  167. package/lib/components/table/table_root.d.ts.map +1 -1
  168. package/lib/components/table/table_row.d.ts +3 -3
  169. package/lib/components/table/table_row.d.ts.map +1 -1
  170. package/lib/components/table/table_row.js.map +1 -1
  171. package/lib/components/table/table_row_cell.d.ts +1 -1
  172. package/lib/components/table/table_row_cell.d.ts.map +1 -1
  173. package/lib/components/table/table_scroll_container.d.ts +2 -2
  174. package/lib/components/table/table_scroll_container.d.ts.map +1 -1
  175. package/lib/components/table/use_table_scroll.d.ts +1 -1
  176. package/lib/components/table/use_table_scroll.d.ts.map +1 -1
  177. package/lib/components/toolbar/OverflowButton.d.ts +3 -3
  178. package/lib/components/toolbar/OverflowButton.d.ts.map +1 -1
  179. package/lib/components/toolbar/OverflowButton.js +2 -4
  180. package/lib/components/toolbar/OverflowButton.js.map +1 -1
  181. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts +1 -1
  182. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  183. package/lib/components/toolbar/Toolbar.d.ts +8 -301
  184. package/lib/components/toolbar/Toolbar.d.ts.map +1 -1
  185. package/lib/components/toolbar/Toolbar.js +13 -13
  186. package/lib/components/toolbar/Toolbar.js.map +1 -1
  187. package/lib/components/toolbar/TooltipHelpContent.d.ts +1 -1
  188. package/lib/components/toolbar/TooltipHelpContent.d.ts.map +1 -1
  189. package/lib/components/toolbar/useCheckOverflow.d.ts +2 -1
  190. package/lib/components/toolbar/useCheckOverflow.d.ts.map +1 -1
  191. package/lib/components/toolbar/useCheckOverflow.js.map +1 -1
  192. package/lib/components/value-renderers/Boolean.d.ts +1 -1
  193. package/lib/components/value-renderers/Boolean.d.ts.map +1 -1
  194. package/lib/components/value-renderers/Color.d.ts +1 -1
  195. package/lib/components/value-renderers/Color.d.ts.map +1 -1
  196. package/lib/components/value-renderers/Component.d.ts +1 -1
  197. package/lib/components/value-renderers/Component.d.ts.map +1 -1
  198. package/lib/components/value-renderers/Number.d.ts +1 -1
  199. package/lib/components/value-renderers/Number.d.ts.map +1 -1
  200. package/lib/components/value-renderers/ObjectRenderer.d.ts +1 -1
  201. package/lib/components/value-renderers/ObjectRenderer.d.ts.map +1 -1
  202. package/lib/components/value-renderers/Text.d.ts +1 -1
  203. package/lib/components/value-renderers/Text.d.ts.map +1 -1
  204. package/lib/components/value-renderers/Title.d.ts +1 -1
  205. package/lib/components/value-renderers/Title.d.ts.map +1 -1
  206. package/package.json +49 -51
  207. package/src/components/activity_bar/activity_bar.tsx +5 -1
  208. package/src/components/button/Button.tsx +39 -42
  209. package/src/components/color-picker/color-picker-dropdown/ColorPickerDropdown.tsx +8 -6
  210. package/src/components/color-picker/gradient_select/gradient_select.tsx +1 -1
  211. package/src/components/color-picker/react-color/ColorPicker.tsx +8 -4
  212. package/src/components/color-picker/react-color/sketch/SketchFields.tsx +1 -1
  213. package/src/components/form/components/input/numeric_input.tsx +2 -0
  214. package/src/components/form/components/input/radio_group.tsx +2 -2
  215. package/src/components/form/components/input/submit_button.tsx +2 -2
  216. package/src/components/fullscreen/fullscreen_context.provider.tsx +4 -1
  217. package/src/components/info-panel/InfoPanel.tsx +13 -12
  218. package/src/components/input/radio-button-group/RadioButtonGroup.tsx +9 -4
  219. package/src/components/root-layout/root_layout.tsx +2 -4
  220. package/src/components/split_pane/split_pane.tsx +5 -2
  221. package/src/components/split_pane/use_split_pane_size.tsx +1 -1
  222. package/src/components/table/flash_row/use_flash_row_effect.ts +1 -1
  223. package/src/components/table/reorder_rows/draggable_row_context.ts +5 -2
  224. package/src/components/table/reorder_rows/draggable_row_tr.tsx +1 -1
  225. package/src/components/table/reorder_rows/item_data.ts +4 -1
  226. package/src/components/table/reorder_rows/item_order_provider.tsx +8 -6
  227. package/src/components/table/reorder_rows/use_drop_monitor.ts +1 -1
  228. package/src/components/table/table_root.tsx +1 -1
  229. package/src/components/table/table_row.tsx +3 -3
  230. package/src/components/table/table_scroll_container.tsx +3 -3
  231. package/src/components/table/use_table_scroll.ts +1 -1
  232. package/src/components/toolbar/OverflowButton.tsx +9 -10
  233. package/src/components/toolbar/Toolbar.tsx +36 -29
  234. package/src/components/toolbar/useCheckOverflow.tsx +2 -1
@@ -215,7 +215,7 @@ interface RegularTableProps<
215
215
  * By default, the table itself is used as the scrollable element, but
216
216
  * you must style it to make it scrollable.
217
217
  */
218
- scrollableElementRef?: RefObject<Element>;
218
+ scrollableElementRef?: RefObject<Element | null>;
219
219
  }
220
220
 
221
221
  interface VirtualizedTableProps<
@@ -4,12 +4,12 @@ import { useRef } from 'react';
4
4
 
5
5
  import { useFlashRowEffect } from './flash_row/use_flash_row_effect.js';
6
6
 
7
- export interface TableRowTrProps {
8
- row: Row<unknown>;
7
+ export interface TableRowTrProps<RowType> {
8
+ row: Row<RowType>;
9
9
  trProps: JSX.IntrinsicElements['tr'];
10
10
  }
11
11
 
12
- export function TableRowTr(props: TableRowTrProps) {
12
+ export function TableRowTr<RowType>(props: TableRowTrProps<RowType>) {
13
13
  const { row, trProps } = props;
14
14
  const tableRowRef = useRef<HTMLTableRowElement>(null);
15
15
  useFlashRowEffect(row.id, tableRowRef);
@@ -28,7 +28,7 @@ interface ScrollContainerProps {
28
28
  /**
29
29
  * A ref to the effective scroll container.
30
30
  */
31
- scrollRef: RefObject<Element>;
31
+ scrollRef: RefObject<Element | null>;
32
32
  /**
33
33
  * The user provided ref to attach the scroll callbacks to.
34
34
  * It is set by the ScrollContainer component if the table is virtualized.
@@ -74,7 +74,7 @@ export function ScrollContainer(props: ScrollContainerProps) {
74
74
  }
75
75
 
76
76
  interface ContainerWithReorderingProps {
77
- scrollElementRef: RefObject<Element>;
77
+ scrollElementRef: RefObject<Element | null>;
78
78
  isReorderingEnabled: boolean;
79
79
  children: ReactNode;
80
80
  }
@@ -91,7 +91,7 @@ function ContainerVirtual(props: ContainerWithReorderingProps) {
91
91
  }
92
92
 
93
93
  interface NoContainerProps {
94
- scrollElementRef: RefObject<Element>;
94
+ scrollElementRef: RefObject<Element | null>;
95
95
  enabled: boolean;
96
96
  children: ReactNode;
97
97
  }
@@ -19,7 +19,7 @@ export function useTableScroll<TData extends RowData>(options: {
19
19
  /**
20
20
  * A ref to the effective scroll container.
21
21
  */
22
- scrollRef: RefObject<Element>;
22
+ scrollRef: RefObject<Element | null>;
23
23
  /*
24
24
  Tanstack table instance.
25
25
  */
@@ -1,5 +1,5 @@
1
- import type { PopoverProps, TooltipProps } from '@blueprintjs/core';
2
- import { Popover } from '@blueprintjs/core';
1
+ import type { PopoverNextProps, TooltipProps } from '@blueprintjs/core';
2
+ import { PopoverNext } from '@blueprintjs/core';
3
3
  import type { ReactNode } from 'react';
4
4
 
5
5
  import type { ButtonProps } from '../button/Button.tsx';
@@ -10,7 +10,7 @@ export type Placement = 'start' | 'end';
10
10
 
11
11
  export interface BaseOverButtonProps extends ButtonProps {
12
12
  placement?: Placement;
13
- popoverProps?: PopoverProps;
13
+ popoverProps?: PopoverNextProps;
14
14
  }
15
15
  export interface OverButtonProps extends BaseOverButtonProps {
16
16
  vertical?: boolean;
@@ -21,7 +21,7 @@ export interface OverButtonProps extends BaseOverButtonProps {
21
21
  function getPlacement(
22
22
  placement: Placement,
23
23
  vertical?: boolean,
24
- ): PopoverProps['placement'] {
24
+ ): PopoverNextProps['placement'] {
25
25
  const isEndPlacement = placement === 'end';
26
26
  return vertical
27
27
  ? `${isEndPlacement ? 'top' : 'bottom'}-start`
@@ -41,17 +41,16 @@ export function OverflowButton(props: OverButtonProps) {
41
41
  ...otherProps
42
42
  } = props;
43
43
  return (
44
- <Popover
45
- minimal
44
+ <PopoverNext
45
+ shouldReturnFocusOnClose={false}
46
+ animation="minimal"
47
+ arrow={false}
46
48
  disabled={disabled}
47
49
  placement={getPlacement(placement, vertical)}
48
50
  interactionKind="hover"
49
51
  hasBackdrop={false}
50
52
  enforceFocus={false}
51
53
  autoFocus={false}
52
- modifiers={{
53
- flip: { enabled: false },
54
- }}
55
54
  {...popoverProps}
56
55
  content={
57
56
  <Toolbar
@@ -75,7 +74,7 @@ export function OverflowButton(props: OverButtonProps) {
75
74
  }}
76
75
  {...otherProps}
77
76
  />
78
- </Popover>
77
+ </PopoverNext>
79
78
  );
80
79
  }
81
80
 
@@ -1,10 +1,17 @@
1
1
  import type {
2
2
  ButtonGroupProps,
3
3
  Intent,
4
- PopoverProps,
4
+ PopoverNextProps,
5
5
  TooltipProps,
6
6
  } from '@blueprintjs/core';
7
- import { ButtonGroup, Classes, Colors, Icon, Popover } from '@blueprintjs/core';
7
+ import {
8
+ ButtonGroup,
9
+ Classes,
10
+ Colors,
11
+ Icon,
12
+ PopoverNext,
13
+ } from '@blueprintjs/core';
14
+ import type { StyledComponent } from '@emotion/styled';
8
15
  import styled from '@emotion/styled';
9
16
  import type { MouseEvent, ReactNode } from 'react';
10
17
  import { useLayoutEffect, useMemo, useRef } from 'react';
@@ -71,7 +78,7 @@ interface ToolbarItemInternalProps extends ToolbarItemProps {
71
78
  }
72
79
 
73
80
  export interface ToolbarPopoverItemProps extends Omit<
74
- PopoverProps,
81
+ PopoverNextProps,
75
82
  'targetProps'
76
83
  > {
77
84
  itemProps: ToolbarItemProps;
@@ -96,7 +103,7 @@ const Container = styled.div<ContainerProps>`
96
103
  width: 100%;
97
104
  `;
98
105
 
99
- export const ToolbarButton = styled(Button)`
106
+ export const ToolbarButton: StyledComponent<ButtonProps> = styled(Button)`
100
107
  .${Classes.ICON} {
101
108
  /* Color of icon in button is lighter in Blueprintjs. We want a better contrast in the toolbars */
102
109
  color: ${Colors.DARK_GRAY3} !important;
@@ -154,7 +161,7 @@ export function Toolbar(props: ToolbarProps) {
154
161
 
155
162
  function update() {
156
163
  const lastElement = ref.current?.lastElementChild;
157
- if (!lastElement) {
164
+ if (!ref.current || !lastElement) {
158
165
  return;
159
166
  }
160
167
  ref.current.style.width = 'initial';
@@ -273,28 +280,26 @@ function ToolbarItemInternal(props: ToolbarItemInternalProps) {
273
280
  width: 'fit-content',
274
281
  }}
275
282
  icon={
276
- <>
277
- {isPopover ? (
278
- <>
279
- {/*For the icon to be properly styled, it should not have any siblings*/}
280
- <div style={{ display: 'contents' }}>{normalizedIcon}</div>
281
- <Icon
282
- icon="caret-right"
283
- size={9}
284
- style={{
285
- transform: 'rotate(45deg)',
286
- position: 'absolute',
287
- bottom: 0,
288
- right: 0,
289
- width: 9,
290
- height: 9,
291
- }}
292
- />
293
- </>
294
- ) : (
295
- normalizedIcon
296
- )}
297
- </>
283
+ isPopover ? (
284
+ <div style={{ display: 'contents' }}>
285
+ {/*For the icon to be properly styled, it should not have any siblings*/}
286
+ <div style={{ display: 'contents' }}>{normalizedIcon}</div>
287
+ <Icon
288
+ icon="caret-right"
289
+ size={9}
290
+ style={{
291
+ transform: 'rotate(45deg)',
292
+ position: 'absolute',
293
+ bottom: 0,
294
+ right: 0,
295
+ width: 9,
296
+ height: 9,
297
+ }}
298
+ />
299
+ </div>
300
+ ) : (
301
+ normalizedIcon
302
+ )
298
303
  }
299
304
  onClick={onClick}
300
305
  tooltipProps={
@@ -316,7 +321,7 @@ function ToolbarItemInternal(props: ToolbarItemInternalProps) {
316
321
 
317
322
  Toolbar.Item = ToolbarItem;
318
323
 
319
- const ToolbarPopover = styled(Popover)`
324
+ const ToolbarPopover = styled(PopoverNext)`
320
325
  .${Classes.ICON} {
321
326
  color: ${Colors.DARK_GRAY3};
322
327
  }
@@ -330,7 +335,9 @@ Toolbar.PopoverItem = function ToolbarPopoverItem(
330
335
 
331
336
  return (
332
337
  <ToolbarPopover
333
- minimal
338
+ shouldReturnFocusOnClose={false}
339
+ animation="minimal"
340
+ arrow={false}
334
341
  disabled={disabled}
335
342
  placement={vertical ? 'right-start' : 'bottom-start'}
336
343
  interactionKind={popoverInteractionKind}
@@ -1,9 +1,10 @@
1
+ import type { RefObject } from 'react';
1
2
  import { useLayoutEffect, useState } from 'react';
2
3
 
3
4
  import type { Overflow } from './Toolbar.tsx';
4
5
 
5
6
  interface UseCheckOverflowOptions {
6
- containerRef: React.RefObject<HTMLDivElement>;
7
+ containerRef: RefObject<HTMLDivElement | null>;
7
8
  vertical: boolean;
8
9
  overflow: Overflow;
9
10
  }