react-science 0.32.2 → 0.34.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 (207) hide show
  1. package/lib/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  2. package/lib/app/about/AboutDialogToolbarButton.js +2 -9
  3. package/lib/app/about/AboutDialogToolbarButton.js.map +1 -1
  4. package/lib/app/kinds/ir/IrPeaksPanel.js +1 -1
  5. package/lib/app/kinds/ir/IrPeaksPanel.js.map +1 -1
  6. package/lib/app/panels/SignalProcessingPanel.js +1 -1
  7. package/lib/app/panels/SignalProcessingPanel.js.map +1 -1
  8. package/lib/app/panels/measurements/MeasurementsPanel.d.ts +1 -1
  9. package/lib/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  10. package/lib/app/panels/measurements/MeasurementsPanel.js +20 -12
  11. package/lib/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  12. package/lib/app/panels/measurements/MeasurementsTable.d.ts +1 -1
  13. package/lib/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  14. package/lib/app/panels/measurements/MeasurementsTable.js +15 -12
  15. package/lib/app/panels/measurements/MeasurementsTable.js.map +1 -1
  16. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +4 -1
  17. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  18. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +3 -17
  19. package/lib/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  20. package/lib/components/dialog/ConfirmDialog.d.ts +12 -0
  21. package/lib/components/dialog/ConfirmDialog.d.ts.map +1 -0
  22. package/lib/components/dialog/ConfirmDialog.js +22 -0
  23. package/lib/components/dialog/ConfirmDialog.js.map +1 -0
  24. package/lib/components/dialog/index.d.ts +2 -0
  25. package/lib/components/dialog/index.d.ts.map +1 -0
  26. package/lib/components/{tabs → dialog}/index.js +1 -1
  27. package/lib/components/dialog/index.js.map +1 -0
  28. package/lib/components/index.d.ts +1 -2
  29. package/lib/components/index.d.ts.map +1 -1
  30. package/lib/components/index.js +1 -2
  31. package/lib/components/index.js.map +1 -1
  32. package/lib/components/info-panel/InfoPanel.d.ts +0 -1
  33. package/lib/components/info-panel/InfoPanel.d.ts.map +1 -1
  34. package/lib/components/info-panel/InfoPanel.js +2 -8
  35. package/lib/components/info-panel/InfoPanel.js.map +1 -1
  36. package/lib/components/layout-manager/LayoutManager.d.ts.map +1 -1
  37. package/lib/components/layout-manager/LayoutManager.js +0 -2
  38. package/lib/components/layout-manager/LayoutManager.js.map +1 -1
  39. package/lib/components/root-layout/RootLayout.js +1 -1
  40. package/lib/components/root-layout/RootLayout.js.map +1 -1
  41. package/lib/components/table/Table.d.ts +8 -3
  42. package/lib/components/table/Table.d.ts.map +1 -1
  43. package/lib/components/table/Table.js +14 -65
  44. package/lib/components/table/Table.js.map +1 -1
  45. package/lib/components/table/TableHeader.d.ts +3 -0
  46. package/lib/components/table/TableHeader.d.ts.map +1 -0
  47. package/lib/components/table/TableHeader.js +10 -0
  48. package/lib/components/table/TableHeader.js.map +1 -0
  49. package/lib/components/table/TableRow.d.ts +3 -0
  50. package/lib/components/table/TableRow.d.ts.map +1 -0
  51. package/lib/components/table/TableRow.js +57 -0
  52. package/lib/components/table/TableRow.js.map +1 -0
  53. package/lib/components/table/tableContext.d.ts +10 -0
  54. package/lib/components/table/tableContext.d.ts.map +1 -0
  55. package/lib/components/table/tableContext.js +11 -0
  56. package/lib/components/table/tableContext.js.map +1 -0
  57. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  58. package/lib/components/toolbar/PanelPreferencesToolbar.js +2 -2
  59. package/lib/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  60. package/lib/components/toolbar/Toolbar.d.ts +8 -5
  61. package/lib/components/toolbar/Toolbar.d.ts.map +1 -1
  62. package/lib/components/toolbar/Toolbar.js +12 -9
  63. package/lib/components/toolbar/Toolbar.js.map +1 -1
  64. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  65. package/lib-esm/app/about/AboutDialogToolbarButton.js +4 -8
  66. package/lib-esm/app/about/AboutDialogToolbarButton.js.map +1 -1
  67. package/lib-esm/app/kinds/ir/IrPeaksPanel.js +1 -1
  68. package/lib-esm/app/kinds/ir/IrPeaksPanel.js.map +1 -1
  69. package/lib-esm/app/panels/SignalProcessingPanel.js +1 -1
  70. package/lib-esm/app/panels/SignalProcessingPanel.js.map +1 -1
  71. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts +1 -1
  72. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  73. package/lib-esm/app/panels/measurements/MeasurementsPanel.js +16 -8
  74. package/lib-esm/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  75. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts +1 -1
  76. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  77. package/lib-esm/app/panels/measurements/MeasurementsTable.js +11 -8
  78. package/lib-esm/app/panels/measurements/MeasurementsTable.js.map +1 -1
  79. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +4 -1
  80. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  81. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js +4 -18
  82. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.js.map +1 -1
  83. package/lib-esm/components/dialog/ConfirmDialog.d.ts +12 -0
  84. package/lib-esm/components/dialog/ConfirmDialog.d.ts.map +1 -0
  85. package/lib-esm/components/dialog/ConfirmDialog.js +18 -0
  86. package/lib-esm/components/dialog/ConfirmDialog.js.map +1 -0
  87. package/lib-esm/components/dialog/index.d.ts +2 -0
  88. package/lib-esm/components/dialog/index.d.ts.map +1 -0
  89. package/lib-esm/components/dialog/index.js +2 -0
  90. package/lib-esm/components/dialog/index.js.map +1 -0
  91. package/lib-esm/components/index.d.ts +1 -2
  92. package/lib-esm/components/index.d.ts.map +1 -1
  93. package/lib-esm/components/index.js +1 -2
  94. package/lib-esm/components/index.js.map +1 -1
  95. package/lib-esm/components/info-panel/InfoPanel.d.ts +0 -1
  96. package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -1
  97. package/lib-esm/components/info-panel/InfoPanel.js +2 -8
  98. package/lib-esm/components/info-panel/InfoPanel.js.map +1 -1
  99. package/lib-esm/components/layout-manager/LayoutManager.d.ts.map +1 -1
  100. package/lib-esm/components/layout-manager/LayoutManager.js +0 -2
  101. package/lib-esm/components/layout-manager/LayoutManager.js.map +1 -1
  102. package/lib-esm/components/root-layout/RootLayout.js +1 -1
  103. package/lib-esm/components/root-layout/RootLayout.js.map +1 -1
  104. package/lib-esm/components/table/Table.d.ts +8 -3
  105. package/lib-esm/components/table/Table.d.ts.map +1 -1
  106. package/lib-esm/components/table/Table.js +12 -63
  107. package/lib-esm/components/table/Table.js.map +1 -1
  108. package/lib-esm/components/table/TableHeader.d.ts +3 -0
  109. package/lib-esm/components/table/TableHeader.d.ts.map +1 -0
  110. package/lib-esm/components/table/TableHeader.js +6 -0
  111. package/lib-esm/components/table/TableHeader.js.map +1 -0
  112. package/lib-esm/components/table/TableRow.d.ts +3 -0
  113. package/lib-esm/components/table/TableRow.d.ts.map +1 -0
  114. package/lib-esm/components/table/TableRow.js +53 -0
  115. package/lib-esm/components/table/TableRow.js.map +1 -0
  116. package/lib-esm/components/table/tableContext.d.ts +10 -0
  117. package/lib-esm/components/table/tableContext.d.ts.map +1 -0
  118. package/lib-esm/components/table/tableContext.js +7 -0
  119. package/lib-esm/components/table/tableContext.js.map +1 -0
  120. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  121. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +2 -2
  122. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  123. package/lib-esm/components/toolbar/Toolbar.d.ts +8 -5
  124. package/lib-esm/components/toolbar/Toolbar.d.ts.map +1 -1
  125. package/lib-esm/components/toolbar/Toolbar.js +12 -9
  126. package/lib-esm/components/toolbar/Toolbar.js.map +1 -1
  127. package/package.json +30 -30
  128. package/src/app/about/AboutDialogToolbarButton.tsx +10 -14
  129. package/src/app/kinds/ir/IrPeaksPanel.tsx +1 -1
  130. package/src/app/panels/SignalProcessingPanel.tsx +5 -5
  131. package/src/app/panels/measurements/MeasurementsPanel.tsx +33 -15
  132. package/src/app/panels/measurements/MeasurementsTable.tsx +33 -26
  133. package/src/components/color-picker/color-picker-dropdown/ColorPickerDropdown.tsx +17 -37
  134. package/src/components/dialog/ConfirmDialog.tsx +65 -0
  135. package/src/components/dialog/index.ts +1 -0
  136. package/src/components/index.ts +1 -2
  137. package/src/components/info-panel/InfoPanel.tsx +4 -17
  138. package/src/components/layout-manager/LayoutManager.tsx +0 -2
  139. package/src/components/root-layout/RootLayout.tsx +1 -1
  140. package/src/components/table/Table.tsx +37 -96
  141. package/src/components/table/TableHeader.tsx +12 -0
  142. package/src/components/table/TableRow.tsx +89 -0
  143. package/src/components/table/tableContext.ts +7 -0
  144. package/src/components/toolbar/PanelPreferencesToolbar.tsx +17 -3
  145. package/src/components/toolbar/Toolbar.tsx +22 -13
  146. package/lib/components/modal/ConfirmModal.d.ts +0 -17
  147. package/lib/components/modal/ConfirmModal.d.ts.map +0 -1
  148. package/lib/components/modal/ConfirmModal.js +0 -71
  149. package/lib/components/modal/ConfirmModal.js.map +0 -1
  150. package/lib/components/modal/Modal.d.ts +0 -25
  151. package/lib/components/modal/Modal.d.ts.map +0 -1
  152. package/lib/components/modal/Modal.js +0 -85
  153. package/lib/components/modal/Modal.js.map +0 -1
  154. package/lib/components/modal/index.d.ts +0 -3
  155. package/lib/components/modal/index.d.ts.map +0 -1
  156. package/lib/components/modal/index.js +0 -19
  157. package/lib/components/modal/index.js.map +0 -1
  158. package/lib/components/modal/useDialog.d.ts +0 -19
  159. package/lib/components/modal/useDialog.d.ts.map +0 -1
  160. package/lib/components/modal/useDialog.js +0 -51
  161. package/lib/components/modal/useDialog.js.map +0 -1
  162. package/lib/components/tabs/Tabs.d.ts +0 -16
  163. package/lib/components/tabs/Tabs.d.ts.map +0 -1
  164. package/lib/components/tabs/Tabs.js +0 -99
  165. package/lib/components/tabs/Tabs.js.map +0 -1
  166. package/lib/components/tabs/TabsContext.d.ts +0 -8
  167. package/lib/components/tabs/TabsContext.d.ts.map +0 -1
  168. package/lib/components/tabs/TabsContext.js +0 -20
  169. package/lib/components/tabs/TabsContext.js.map +0 -1
  170. package/lib/components/tabs/index.d.ts +0 -2
  171. package/lib/components/tabs/index.d.ts.map +0 -1
  172. package/lib/components/tabs/index.js.map +0 -1
  173. package/lib-esm/components/modal/ConfirmModal.d.ts +0 -17
  174. package/lib-esm/components/modal/ConfirmModal.d.ts.map +0 -1
  175. package/lib-esm/components/modal/ConfirmModal.js +0 -64
  176. package/lib-esm/components/modal/ConfirmModal.js.map +0 -1
  177. package/lib-esm/components/modal/Modal.d.ts +0 -25
  178. package/lib-esm/components/modal/Modal.d.ts.map +0 -1
  179. package/lib-esm/components/modal/Modal.js +0 -78
  180. package/lib-esm/components/modal/Modal.js.map +0 -1
  181. package/lib-esm/components/modal/index.d.ts +0 -3
  182. package/lib-esm/components/modal/index.d.ts.map +0 -1
  183. package/lib-esm/components/modal/index.js +0 -3
  184. package/lib-esm/components/modal/index.js.map +0 -1
  185. package/lib-esm/components/modal/useDialog.d.ts +0 -19
  186. package/lib-esm/components/modal/useDialog.d.ts.map +0 -1
  187. package/lib-esm/components/modal/useDialog.js +0 -47
  188. package/lib-esm/components/modal/useDialog.js.map +0 -1
  189. package/lib-esm/components/tabs/Tabs.d.ts +0 -16
  190. package/lib-esm/components/tabs/Tabs.d.ts.map +0 -1
  191. package/lib-esm/components/tabs/Tabs.js +0 -95
  192. package/lib-esm/components/tabs/Tabs.js.map +0 -1
  193. package/lib-esm/components/tabs/TabsContext.d.ts +0 -8
  194. package/lib-esm/components/tabs/TabsContext.d.ts.map +0 -1
  195. package/lib-esm/components/tabs/TabsContext.js +0 -15
  196. package/lib-esm/components/tabs/TabsContext.js.map +0 -1
  197. package/lib-esm/components/tabs/index.d.ts +0 -2
  198. package/lib-esm/components/tabs/index.d.ts.map +0 -1
  199. package/lib-esm/components/tabs/index.js +0 -2
  200. package/lib-esm/components/tabs/index.js.map +0 -1
  201. package/src/components/modal/ConfirmModal.tsx +0 -134
  202. package/src/components/modal/Modal.tsx +0 -143
  203. package/src/components/modal/index.ts +0 -2
  204. package/src/components/modal/useDialog.ts +0 -95
  205. package/src/components/tabs/Tabs.tsx +0 -189
  206. package/src/components/tabs/TabsContext.tsx +0 -22
  207. package/src/components/tabs/index.ts +0 -1
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ export declare const TableContext: import("react").Context<{
3
+ hasBorder: boolean;
4
+ color: string;
5
+ }>;
6
+ export declare function useTableContext(): {
7
+ hasBorder: boolean;
8
+ color: string;
9
+ };
10
+ //# sourceMappingURL=tableContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableContext.d.ts","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY;;;EAAgD,CAAC;AAC1E,wBAAgB,eAAe;;;EAG9B"}
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const TableContext = createContext({ hasBorder: true, color: '' });
3
+ export function useTableContext() {
4
+ const context = useContext(TableContext);
5
+ return context;
6
+ }
7
+ //# sourceMappingURL=tableContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableContext.js","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1E,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelPreferencesToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/PanelPreferencesToolbar.tsx"],"names":[],"mappings":"AAKA,UAAU,4BAA4B;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAgBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,oDAQ1E"}
1
+ {"version":3,"file":"PanelPreferencesToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/PanelPreferencesToolbar.tsx"],"names":[],"mappings":"AAKA,UAAU,4BAA4B;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAgBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,oDAsB1E"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  /** @jsxImportSource @emotion/react */
3
3
  import { css } from '@emotion/react';
4
- import { Button } from '../button/Button';
4
+ import { Toolbar } from './Toolbar';
5
5
  const styles = {
6
6
  toolbar: css({
7
7
  display: 'flex',
@@ -17,6 +17,6 @@ const styles = {
17
17
  };
18
18
  export function PanelPreferencesToolbar(props) {
19
19
  const { onClose, onSave } = props;
20
- return (_jsxs("div", { css: styles.toolbar, children: [_jsx(Button, { minimal: true, onClick: onClose, intent: "danger", icon: "cross" }), _jsx(Button, { minimal: true, onClick: onSave, intent: "success", icon: "tick" })] }));
20
+ return (_jsx("div", { css: styles.toolbar, children: _jsxs(Toolbar, { children: [_jsx(Toolbar.Item, { title: "close", onClick: onClose, intent: "danger", icon: "cross", noTooltip: true }), _jsx(Toolbar.Item, { title: "save", onClick: onSave, intent: "success", icon: "tick", noTooltip: true })] }) }));
21
21
  }
22
22
  //# sourceMappingURL=PanelPreferencesToolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelPreferencesToolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/PanelPreferencesToolbar.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,aAAa;QAC5B,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,YAAY,EAAE;YACZ,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,MAAM;SACjB;KACF,CAAC;CACH,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,OAAO,CACL,eAAK,GAAG,EAAE,MAAM,CAAC,OAAO,aACtB,KAAC,MAAM,IAAC,OAAO,QAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,GAAG,EACjE,KAAC,MAAM,IAAC,OAAO,QAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,GAAG,IAC5D,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PanelPreferencesToolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/PanelPreferencesToolbar.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,MAAM,GAAG;IACb,OAAO,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,aAAa;QAC5B,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC;QACV,YAAY,EAAE;YACZ,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,MAAM;SACjB;KACF,CAAC;CACH,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAmC;IACzE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClC,OAAO,CACL,cAAK,GAAG,EAAE,MAAM,CAAC,OAAO,YACtB,MAAC,OAAO,eACN,KAAC,OAAO,CAAC,IAAI,IACX,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,QAAQ,EACf,IAAI,EAAC,OAAO,EACZ,SAAS,SACT,EACF,KAAC,OAAO,CAAC,IAAI,IACX,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,MAAM,EACX,SAAS,SACT,IACM,GACN,CACP,CAAC;AACJ,CAAC"}
@@ -2,24 +2,27 @@
2
2
  import { Intent } from '@blueprintjs/core';
3
3
  import { ReactElement, ReactNode } from 'react';
4
4
  import { ButtonProps } from '../index';
5
- export interface ToolbarProps {
6
- vertical?: boolean;
7
- large?: boolean;
5
+ interface ToolbarBaseProps {
8
6
  intent?: Intent;
9
7
  disabled?: boolean;
8
+ }
9
+ export interface ToolbarProps extends ToolbarBaseProps {
10
+ vertical?: boolean;
11
+ large?: boolean;
10
12
  children?: Array<ReactElement<ToolbarItemProps>> | ReactElement<ToolbarItemProps> | Iterable<ReactNode> | boolean | null;
11
13
  }
12
- export interface ToolbarItemProps {
14
+ export interface ToolbarItemProps extends ToolbarBaseProps {
13
15
  id?: string;
14
16
  title: string;
15
17
  icon: ButtonProps['icon'];
16
18
  active?: boolean;
17
19
  onClick?: (item: ToolbarItemProps) => void;
18
20
  className?: string;
19
- intent?: Intent;
21
+ noTooltip?: boolean;
20
22
  }
21
23
  export declare function Toolbar(props: ToolbarProps): import("@emotion/react/jsx-runtime").JSX.Element;
22
24
  export declare namespace Toolbar {
23
25
  var Item: (props: ToolbarItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
24
26
  }
27
+ export {};
25
28
  //# sourceMappingURL=Toolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAgC,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,SAAS,EAIV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AAQ/C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EACL,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,GACrC,YAAY,CAAC,gBAAgB,CAAC,GAC9B,QAAQ,CAAC,SAAS,CAAC,GACnB,OAAO,GACP,IAAI,CAAC;CACV;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,oDAuD1C;yBAvDe,OAAO"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAgC,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,SAAS,EAIV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AAQ/C,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EACL,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,GACrC,YAAY,CAAC,gBAAgB,CAAC,GAC9B,QAAQ,CAAC,SAAS,CAAC,GACnB,OAAO,GACP,IAAI,CAAC;CACV;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,oDAuD1C;yBAvDe,OAAO"}
@@ -44,9 +44,10 @@ export function Toolbar(props) {
44
44
  }, children: children }) }));
45
45
  }
46
46
  Toolbar.Item = function ToolbarItem(props) {
47
- const { active = false, icon, onClick, title, id, intent: itemIntent, ...other } = props;
48
- const { intent: toolbarIntent, large, vertical, disabled, } = useToolbarContext();
49
- const intent = itemIntent || toolbarIntent;
47
+ const { active = false, icon, onClick, title, id, intent: itemIntent, disabled: itemDisabled, noTooltip = false, ...other } = props;
48
+ const { intent: toolbarIntent, disabled: toolbarDisabled, large, vertical, } = useToolbarContext();
49
+ const intent = itemIntent ?? toolbarIntent;
50
+ const disabled = itemDisabled ?? toolbarDisabled;
50
51
  return (_jsx(Button, { minimal: true, disabled: disabled, css: css `
51
52
  .${Classes.ICON} {
52
53
  color: ${Colors.DARK_GRAY3};
@@ -58,12 +59,14 @@ Toolbar.Item = function ToolbarItem(props) {
58
59
  flex: 'none',
59
60
  }, type: "button", active: active, icon: icon, onClick: () => {
60
61
  onClick?.(props);
61
- }, tooltipProps: {
62
- content: title,
63
- placement: vertical ? 'right' : 'bottom',
64
- intent,
65
- compact: !large,
66
- }, ...other }));
62
+ }, tooltipProps: noTooltip
63
+ ? undefined
64
+ : {
65
+ content: title,
66
+ placement: vertical ? 'right' : 'bottom',
67
+ intent,
68
+ compact: !large,
69
+ }, ...other }));
67
70
  };
68
71
  function ToolbarProvider(props) {
69
72
  return (_jsx(toolbarContext.Provider, { value: props.value, children: props.children }));
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-science",
3
- "version": "0.32.2",
3
+ "version": "0.34.0",
4
4
  "description": "React components to build scientific applications UI",
5
5
  "exports": {
6
6
  "./app": {
@@ -51,7 +51,7 @@
51
51
  "test-only": "vitest run --coverage "
52
52
  },
53
53
  "volta": {
54
- "node": "20.10.0"
54
+ "node": "20.11.0"
55
55
  },
56
56
  "overrides": {
57
57
  "react": "^18.2.0",
@@ -64,23 +64,23 @@
64
64
  "react-dom": ">=18.0.0"
65
65
  },
66
66
  "dependencies": {
67
- "@blueprintjs/select": "^5.0.20",
68
- "@emotion/react": "^11.11.1",
67
+ "@blueprintjs/select": "^5.0.23",
68
+ "@emotion/react": "^11.11.3",
69
69
  "@emotion/styled": "^11.11.0",
70
- "@headlessui/react": "^1.7.17",
70
+ "@headlessui/react": "^1.7.18",
71
71
  "@lukeed/uuid": "^2.0.1",
72
72
  "@popperjs/core": "^2.11.8",
73
73
  "@radix-ui/react-checkbox": "^1.0.4",
74
74
  "@radix-ui/react-radio-group": "^1.1.3",
75
75
  "@radix-ui/react-select": "^2.0.0",
76
- "@tanstack/react-query": "^5.13.4",
77
- "@tanstack/react-table": "^8.10.7",
76
+ "@tanstack/react-query": "^5.17.19",
77
+ "@tanstack/react-table": "^8.11.7",
78
78
  "biologic-converter": "^0.6.0",
79
79
  "cheminfo-types": "^1.7.2",
80
80
  "d3-scale-chromatic": "^3.0.0",
81
- "filelist-utils": "^1.10.2",
81
+ "filelist-utils": "^1.11.0",
82
82
  "immer": "^10.0.3",
83
- "jcampconverter": "^9.5.0",
83
+ "jcampconverter": "^9.6.0",
84
84
  "lodash": "^4.17.21",
85
85
  "ml-gsd": "^12.1.3",
86
86
  "ml-peak-shape-generator": "^4.1.2",
@@ -90,8 +90,8 @@
90
90
  "netcdfjs": "^3.0.0",
91
91
  "react-d3-utils": "^1.0.0",
92
92
  "react-dropzone": "^14.2.3",
93
- "react-error-boundary": "^4.0.11",
94
- "react-icons": "^4.12.0",
93
+ "react-error-boundary": "^4.0.12",
94
+ "react-icons": "^5.0.1",
95
95
  "react-inspector": "^6.0.2",
96
96
  "react-kbs": "^2.1.1",
97
97
  "react-plot": "^1.4.2",
@@ -102,41 +102,41 @@
102
102
  "wdf-parser": "^0.3.0"
103
103
  },
104
104
  "devDependencies": {
105
- "@babel/core": "^7.23.6",
105
+ "@babel/core": "^7.23.7",
106
106
  "@babel/eslint-parser": "^7.23.3",
107
107
  "@babel/preset-react": "^7.23.3",
108
- "@blueprintjs/core": "^5.7.2",
109
- "@blueprintjs/icons": "^5.5.0",
110
- "@playwright/experimental-ct-react": "^1.40.1",
111
- "@playwright/test": "^1.40.1",
112
- "@storybook/addon-essentials": "7.6.4",
113
- "@storybook/addon-storysource": "7.6.4",
114
- "@storybook/blocks": "7.6.4",
115
- "@storybook/react": "7.6.4",
116
- "@storybook/react-vite": "7.6.4",
108
+ "@blueprintjs/core": "^5.8.2",
109
+ "@blueprintjs/icons": "^5.7.0",
110
+ "@playwright/experimental-ct-react": "^1.41.1",
111
+ "@playwright/test": "^1.41.1",
112
+ "@storybook/addon-essentials": "7.6.10",
113
+ "@storybook/addon-storysource": "7.6.10",
114
+ "@storybook/blocks": "7.6.10",
115
+ "@storybook/react": "7.6.10",
116
+ "@storybook/react-vite": "7.6.10",
117
117
  "@types/babel__core": "^7.20.5",
118
118
  "@types/d3-scale-chromatic": "^3.0.3",
119
119
  "@types/lodash": "^4.14.202",
120
- "@types/react": "^18.2.45",
121
- "@types/react-dom": "^18.2.17",
120
+ "@types/react": "^18.2.48",
121
+ "@types/react-dom": "^18.2.18",
122
122
  "@types/react-inspector": "^4.0.6",
123
123
  "@types/tinycolor2": "^1.4.6",
124
124
  "@vitejs/plugin-react": "^4.2.1",
125
- "@vitest/coverage-v8": "^1.0.4",
126
- "cheminfo-font": "^1.12.0",
125
+ "@vitest/coverage-v8": "^1.2.1",
126
+ "cheminfo-font": "^1.13.0",
127
127
  "cross-env": "^7.0.3",
128
- "eslint": "^8.55.0",
128
+ "eslint": "^8.56.0",
129
129
  "eslint-config-zakodium": "^8.1.0",
130
130
  "eslint-plugin-storybook": "^0.6.15",
131
- "prettier": "^3.1.1",
131
+ "prettier": "^3.2.4",
132
132
  "react": "^18.2.0",
133
133
  "react-dom": "^18.2.0",
134
134
  "react-ocl": "^6.1.0",
135
135
  "rimraf": "^5.0.5",
136
- "storybook": "7.6.4",
136
+ "storybook": "7.6.10",
137
137
  "typescript": "^5.3.3",
138
- "vite": "^5.0.8",
139
- "vitest": "^1.0.4"
138
+ "vite": "^5.0.12",
139
+ "vitest": "^1.2.1"
140
140
  },
141
141
  "repository": {
142
142
  "type": "git",
@@ -1,8 +1,7 @@
1
- import { ButtonProps } from '@blueprintjs/core';
2
- import styled from '@emotion/styled';
1
+ import { ButtonProps, Dialog, DialogBody } from '@blueprintjs/core';
3
2
  import { ReactNode } from 'react';
4
3
 
5
- import { Modal, Toolbar, useOnOff } from '../../components';
4
+ import { Toolbar, useOnOff } from '../../components';
6
5
 
7
6
  interface AboutDialogToolbarButtonProps {
8
7
  name: string;
@@ -10,11 +9,6 @@ interface AboutDialogToolbarButtonProps {
10
9
  body: ReactNode;
11
10
  }
12
11
 
13
- const ModalBody = styled.div`
14
- max-width: 600px;
15
- padding: 10px;
16
- `;
17
-
18
12
  export function AboutDialogToolbarButton(props: AboutDialogToolbarButtonProps) {
19
13
  const { name, icon, body } = props;
20
14
  const [isOpenDialog, openDialog, closeDialog] = useOnOff(false);
@@ -22,12 +16,14 @@ export function AboutDialogToolbarButton(props: AboutDialogToolbarButtonProps) {
22
16
  return (
23
17
  <>
24
18
  <Toolbar.Item title={`About ${name}`} onClick={openDialog} icon={icon} />
25
- <Modal isOpen={isOpenDialog} onRequestClose={closeDialog}>
26
- <Modal.Header>{name}</Modal.Header>
27
- <Modal.Body>
28
- <ModalBody>{body}</ModalBody>
29
- </Modal.Body>
30
- </Modal>
19
+ <Dialog
20
+ isOpen={isOpenDialog}
21
+ onClose={closeDialog}
22
+ title={name}
23
+ icon="info-sign"
24
+ >
25
+ <DialogBody>{body}</DialogBody>
26
+ </Dialog>
31
27
  </>
32
28
  );
33
29
  }
@@ -65,7 +65,7 @@ export function IrPeaksPanel(props: IrPeaksPanelProps) {
65
65
  getSortedRowModel: getSortedRowModel(),
66
66
  });
67
67
  return (
68
- <Table>
68
+ <Table bordered>
69
69
  <Table.Header>
70
70
  {table
71
71
  .getHeaderGroups()
@@ -40,14 +40,14 @@ export function SignalProcessingPanel(props: SignalProcessingPanelProps) {
40
40
 
41
41
  return (
42
42
  <div>
43
- <Table border={false}>
43
+ <Table>
44
44
  <Table.Header>
45
- <ValueRenderers.Title value=" " />
46
- <ValueRenderers.Title value="Name" />
47
- <ValueRenderers.Title value="Options" />
45
+ <ValueRenderers.Header value=" " />
46
+ <ValueRenderers.Header value="Name" />
47
+ <ValueRenderers.Header value="Options" />
48
48
  </Table.Header>
49
49
  {filters.map(({ name, options }, i) => (
50
- <Table.Row key={name} border>
50
+ <Table.Row key={name} hasBorder>
51
51
  <ValueRenderers.Component>
52
52
  <div style={{ display: 'flex', gap: '3px' }}>
53
53
  <Button
@@ -1,11 +1,14 @@
1
+ /** @jsxImportSource @emotion/react */
2
+ import { Tab, Tabs } from '@blueprintjs/core';
3
+ import { css } from '@emotion/react';
4
+
1
5
  import {
2
6
  kindLabels,
3
7
  MeasurementKind,
4
8
  measurementKinds,
5
- useAppState,
6
9
  useAppDispatch,
7
- } from '../../../app-data/index';
8
- import { TabItem, Tabs } from '../../../components/index';
10
+ useAppState,
11
+ } from '../../../app-data';
9
12
 
10
13
  import { MeasurementsTable } from './MeasurementsTable';
11
14
 
@@ -25,7 +28,7 @@ export function MeasurementsPanel() {
25
28
  (label) => data.measurements[label].entries.length > 0,
26
29
  );
27
30
 
28
- const items: Array<TabItem<MeasurementKind>> = availableKinds.map(kindItem);
31
+ const items = availableKinds.map(kindItem);
29
32
 
30
33
  function handleTabSelection(id: MeasurementKind) {
31
34
  dispatch({
@@ -34,21 +37,36 @@ export function MeasurementsPanel() {
34
37
  });
35
38
  }
36
39
 
37
- if (items.length > 1) {
40
+ if (items.length > 0) {
38
41
  return (
39
- <Tabs<MeasurementKind>
40
- orientation="horizontal"
41
- items={items}
42
- opened={view.selectedKind}
43
- onClick={handleTabSelection}
44
- />
42
+ <Tabs
43
+ selectedTabId={view.selectedKind}
44
+ onChange={handleTabSelection}
45
+ css={css`
46
+ div[role='tablist'] {
47
+ overflow-x: auto;
48
+ padding: 2px 0 0 1rem;
49
+ border-bottom: 1px solid gray;
50
+ }
51
+ div[role='tabpanel'] {
52
+ margin-top: 4px;
53
+ }
54
+ `}
55
+ >
56
+ {items.map((item) => (
57
+ <Tab
58
+ id={item.id}
59
+ key={item.id}
60
+ title={item.title}
61
+ panel={item.content}
62
+ tagContent={data.measurements[item.id].entries.length}
63
+ tagProps={{ round: true }}
64
+ />
65
+ ))}
66
+ </Tabs>
45
67
  );
46
68
  }
47
69
 
48
- if (items.length === 1 && items[0].content) {
49
- return <>{items[0].content}</>;
50
- }
51
-
52
70
  return (
53
71
  <div style={{ paddingTop: '1rem', marginInline: 'auto' }}>
54
72
  No data available
@@ -6,8 +6,8 @@ import {
6
6
  MeasurementKind,
7
7
  useAppDispatch,
8
8
  useAppState,
9
- } from '../../../app-data/index';
10
- import { ConfirmModal, useOnOff } from '../../../components/index';
9
+ } from '../../../app-data';
10
+ import { ConfirmDialog, useOnOff } from '../../../components';
11
11
 
12
12
  import { MeasurementCheckbox } from './MeasurementCheckbox';
13
13
  import MeasurementColorPreview from './MeasurementColorPreview';
@@ -27,7 +27,6 @@ interface MeasurementsTableRowProps {
27
27
  const MeasurementsTableContainer = styled.div`
28
28
  display: flex;
29
29
  flex-direction: column;
30
- gap: 5px;
31
30
  `;
32
31
 
33
32
  const MeasurementsTableRoot = styled.table`
@@ -60,13 +59,18 @@ const MeasurementsLinkButton = styled.span`
60
59
  const MeasurementsHeaderColumn = styled.div`
61
60
  display: flex;
62
61
  flex-direction: row;
63
- gap: 10px;
62
+ gap: 12px;
64
63
  align-items: center;
65
64
  padding-left: 5px;
66
-
65
+ padding-right: 5px;
67
66
  border-bottom: 1px solid black;
68
67
  `;
69
68
 
69
+ const MeasurementsHeaderGroup = styled.div`
70
+ display: flex;
71
+ gap: 6px;
72
+ `;
73
+
70
74
  const MeasurementsTableRowData = styled.tr`
71
75
  height: 50px;
72
76
  max-height: 50px;
@@ -102,7 +106,7 @@ export function MeasurementsTable(props: MeasurementsTableProps) {
102
106
  view: { selectedMeasurements },
103
107
  } = useAppState();
104
108
  const dispatch = useAppDispatch();
105
- const [isRemoveModalOpen, openRemoveModal, closeRemoveModal] = useOnOff();
109
+ const [isRemoveDialogOpen, openRemoveDialog, closeRemoveDialog] = useOnOff();
106
110
 
107
111
  const hasSelectedMeasurements = (selectedMeasurements[kind]?.length ?? 0) > 0;
108
112
 
@@ -118,38 +122,41 @@ export function MeasurementsTable(props: MeasurementsTableProps) {
118
122
 
119
123
  function onRemove() {
120
124
  dispatch({ type: 'REMOVE_SELECTED_MEASUREMENTS', payload: { kind } });
121
- closeRemoveModal();
125
+ closeRemoveDialog();
122
126
  }
123
127
 
124
128
  return (
125
129
  <MeasurementsTableContainer>
126
130
  <MeasurementsHeaderColumn>
127
- <MeasurementSelectedVisibilityChange kind={kind} openedEyes />
128
- <MeasurementSelectedVisibilityChange kind={kind} openedEyes={false} />
129
- <MeasurementsLinkButton onClick={() => onSelectLink(true)}>
130
- Select all
131
- </MeasurementsLinkButton>
132
- <MeasurementsLinkButton onClick={() => onSelectLink(false)}>
133
- Unselect all
134
- </MeasurementsLinkButton>
135
-
136
- <FaTrash
137
- style={
138
- hasSelectedMeasurements ? { cursor: 'pointer' } : { opacity: 0.6 }
139
- }
140
- onClick={hasSelectedMeasurements ? openRemoveModal : undefined}
141
- />
142
- <ConfirmModal
131
+ <MeasurementsHeaderGroup>
132
+ <MeasurementsLinkButton onClick={() => onSelectLink(true)}>
133
+ Select all
134
+ </MeasurementsLinkButton>
135
+ <MeasurementsLinkButton onClick={() => onSelectLink(false)}>
136
+ Unselect all
137
+ </MeasurementsLinkButton>
138
+ </MeasurementsHeaderGroup>
139
+ <MeasurementsHeaderGroup>
140
+ <MeasurementSelectedVisibilityChange kind={kind} openedEyes />
141
+ <MeasurementSelectedVisibilityChange kind={kind} openedEyes={false} />
142
+ <FaTrash
143
+ style={
144
+ hasSelectedMeasurements ? { cursor: 'pointer' } : { opacity: 0.6 }
145
+ }
146
+ onClick={hasSelectedMeasurements ? openRemoveDialog : undefined}
147
+ />
148
+ </MeasurementsHeaderGroup>
149
+ <ConfirmDialog
143
150
  headerColor="red"
144
- isOpen={isRemoveModalOpen}
151
+ isOpen={isRemoveDialogOpen}
145
152
  onConfirm={onRemove}
146
- onRequestClose={closeRemoveModal}
153
+ onClose={closeRemoveDialog}
147
154
  saveText="Remove"
148
155
  >
149
156
  <div style={{ fontWeight: 'bold', padding: 10 }}>
150
157
  Remove selected measurements?
151
158
  </div>
152
- </ConfirmModal>
159
+ </ConfirmDialog>
153
160
  </MeasurementsHeaderColumn>
154
161
 
155
162
  <MeasurementsTableRoot>
@@ -1,18 +1,17 @@
1
+ import { Popover, PopoverProps } from '@blueprintjs/core';
1
2
  import styled from '@emotion/styled';
2
- import { useRef } from 'react';
3
3
 
4
- import { useModifiedPopper } from '../../hooks/useModifiedPopper';
5
- import { useOnClickOutside } from '../../hooks/useOnClickOutside';
6
- import { useOnOff } from '../../hooks/useOnOff';
7
- import { Portal } from '../../root-layout/Portal';
8
4
  import FixedColorPreview from '../preview/FixedColorPreview';
9
5
  import { ColorPicker, ColorPickerProps } from '../react-color/ColorPicker';
10
6
  import * as colorHelper from '../react-color/helpers/color';
11
7
 
12
- type ColorPickerDropdownProps = Pick<
13
- ColorPickerProps,
14
- 'color' | 'presetColors' | 'disableAlpha' | 'onChange' | 'onChangeComplete'
15
- >;
8
+ interface ColorPickerDropdownProps
9
+ extends Pick<
10
+ ColorPickerProps,
11
+ 'color' | 'presetColors' | 'disableAlpha' | 'onChange' | 'onChangeComplete'
12
+ > {
13
+ popoverProps?: Omit<PopoverProps, 'content'>;
14
+ }
16
15
 
17
16
  const ColorPickerRoot = styled.button`
18
17
  position: relative;
@@ -30,41 +29,22 @@ const ColorPickerPreview = styled.div`
30
29
  `;
31
30
 
32
31
  export function ColorPickerDropdown(props: ColorPickerDropdownProps) {
33
- const { color, ...otherProps } = props;
34
-
35
- const ref = useRef<HTMLDivElement | null>(null);
36
- const [isOpened, , close, toggle] = useOnOff(false);
32
+ const { color, popoverProps, ...otherProps } = props;
37
33
 
38
34
  const { hex } = colorHelper.toState(color || 'white');
39
35
 
40
- const { setReferenceElement, setPopperElement, popperProps } =
41
- useModifiedPopper<HTMLButtonElement>({
42
- placement: 'bottom-start',
43
- offset: 6,
44
- });
45
-
46
- useOnClickOutside(ref, close);
47
-
48
36
  return (
49
- <>
50
- <ColorPickerRoot type="button" ref={setReferenceElement} onClick={toggle}>
37
+ <Popover
38
+ targetProps={{ style: { width: '100%' } }}
39
+ content={<ColorPicker color={color} {...otherProps} />}
40
+ minimal
41
+ {...popoverProps}
42
+ >
43
+ <ColorPickerRoot type="button">
51
44
  <ColorPickerPreview>
52
45
  <FixedColorPreview color={hex} />
53
46
  </ColorPickerPreview>
54
47
  </ColorPickerRoot>
55
- {isOpened && (
56
- <Portal>
57
- <div
58
- ref={(div) => {
59
- setPopperElement(div);
60
- ref.current = div;
61
- }}
62
- {...popperProps}
63
- >
64
- <ColorPicker color={color} {...otherProps} />
65
- </div>
66
- </Portal>
67
- )}
68
- </>
48
+ </Popover>
69
49
  );
70
50
  }