react-science 0.34.0 → 0.36.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 (193) hide show
  1. package/lib/app/about/AboutDialogToolbarButton.d.ts +3 -3
  2. package/lib/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  3. package/lib/app/about/AboutDialogToolbarButton.js.map +1 -1
  4. package/lib/app/helpers/react-plot.d.ts.map +1 -1
  5. package/lib/app/helpers/react-plot.js +1 -1
  6. package/lib/app/helpers/react-plot.js.map +1 -1
  7. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +1 -1
  8. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js +6 -1
  9. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js.map +1 -1
  10. package/lib/app/kinds/mass/MeasurementMassPlot.js +1 -1
  11. package/lib/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
  12. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts +1 -1
  13. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  14. package/lib/app/panels/measurements/MeasurementColorPreview.js +19 -16
  15. package/lib/app/panels/measurements/MeasurementColorPreview.js.map +1 -1
  16. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts +3 -3
  17. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +1 -1
  18. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js +6 -6
  19. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js.map +1 -1
  20. package/lib/app/panels/measurements/MeasurementsPanel.d.ts +3 -1
  21. package/lib/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  22. package/lib/app/panels/measurements/MeasurementsPanel.js +17 -13
  23. package/lib/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  24. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts +1 -1
  25. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +1 -1
  26. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js +10 -3
  27. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js.map +1 -1
  28. package/lib/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  29. package/lib/app/panels/measurements/MeasurementsTable.js +61 -58
  30. package/lib/app/panels/measurements/MeasurementsTable.js.map +1 -1
  31. package/lib/app/panels/measurements/index.d.ts +5 -0
  32. package/lib/app/panels/measurements/index.d.ts.map +1 -1
  33. package/lib/app/panels/measurements/index.js +5 -0
  34. package/lib/app/panels/measurements/index.js.map +1 -1
  35. package/lib/app/panels/measurements/measurementPanelContext.d.ts +11 -0
  36. package/lib/app/panels/measurements/measurementPanelContext.d.ts.map +1 -0
  37. package/lib/app/panels/measurements/measurementPanelContext.js +19 -0
  38. package/lib/app/panels/measurements/measurementPanelContext.js.map +1 -0
  39. package/lib/components/accordion/Accordion.d.ts.map +1 -1
  40. package/lib/components/accordion/Accordion.js +0 -1
  41. package/lib/components/accordion/Accordion.js.map +1 -1
  42. package/lib/components/button/Button.d.ts +6 -2
  43. package/lib/components/button/Button.d.ts.map +1 -1
  44. package/lib/components/button/Button.js +17 -3
  45. package/lib/components/button/Button.js.map +1 -1
  46. package/lib/components/button/index.d.ts +0 -1
  47. package/lib/components/button/index.d.ts.map +1 -1
  48. package/lib/components/button/index.js +0 -1
  49. package/lib/components/button/index.js.map +1 -1
  50. package/lib/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  51. package/lib/components/color-picker/react-color/sketch/SketchFields.js +0 -2
  52. package/lib/components/color-picker/react-color/sketch/SketchFields.js.map +1 -1
  53. package/lib/components/forms/radio-group/RadioGroup.d.ts +0 -1
  54. package/lib/components/forms/radio-group/RadioGroup.d.ts.map +1 -1
  55. package/lib/components/forms/radio-group/RadioGroup.js +4 -9
  56. package/lib/components/forms/radio-group/RadioGroup.js.map +1 -1
  57. package/lib/components/hooks/index.d.ts +1 -0
  58. package/lib/components/hooks/index.d.ts.map +1 -1
  59. package/lib/components/hooks/index.js +1 -0
  60. package/lib/components/hooks/index.js.map +1 -1
  61. package/lib/components/hooks/useSelect.d.ts +21 -0
  62. package/lib/components/hooks/useSelect.d.ts.map +1 -0
  63. package/lib/components/hooks/useSelect.js +45 -0
  64. package/lib/components/hooks/useSelect.js.map +1 -0
  65. package/lib/components/root-layout/RootLayout.js +1 -1
  66. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts +2 -0
  67. package/lib/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  68. package/lib/components/toolbar/PanelPreferencesToolbar.js +14 -4
  69. package/lib/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  70. package/lib/components/toolbar/Toolbar.d.ts +13 -4
  71. package/lib/components/toolbar/Toolbar.d.ts.map +1 -1
  72. package/lib/components/toolbar/Toolbar.js +46 -8
  73. package/lib/components/toolbar/Toolbar.js.map +1 -1
  74. package/lib/components/toolbar/toolbarContext.d.ts +2 -0
  75. package/lib/components/toolbar/toolbarContext.d.ts.map +1 -1
  76. package/lib/components/toolbar/toolbarContext.js.map +1 -1
  77. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts +3 -3
  78. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  79. package/lib-esm/app/about/AboutDialogToolbarButton.js.map +1 -1
  80. package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
  81. package/lib-esm/app/helpers/react-plot.js +1 -1
  82. package/lib-esm/app/helpers/react-plot.js.map +1 -1
  83. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +1 -1
  84. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.js +6 -1
  85. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.js.map +1 -1
  86. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js +1 -1
  87. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
  88. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts +1 -1
  89. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  90. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js +18 -16
  91. package/lib-esm/app/panels/measurements/MeasurementColorPreview.js.map +1 -1
  92. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts +3 -3
  93. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +1 -1
  94. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.js +5 -5
  95. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.js.map +1 -1
  96. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts +3 -1
  97. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  98. package/lib-esm/app/panels/measurements/MeasurementsPanel.js +16 -12
  99. package/lib-esm/app/panels/measurements/MeasurementsPanel.js.map +1 -1
  100. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts +1 -1
  101. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +1 -1
  102. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.js +10 -3
  103. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.js.map +1 -1
  104. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  105. package/lib-esm/app/panels/measurements/MeasurementsTable.js +63 -37
  106. package/lib-esm/app/panels/measurements/MeasurementsTable.js.map +1 -1
  107. package/lib-esm/app/panels/measurements/index.d.ts +5 -0
  108. package/lib-esm/app/panels/measurements/index.d.ts.map +1 -1
  109. package/lib-esm/app/panels/measurements/index.js +5 -0
  110. package/lib-esm/app/panels/measurements/index.js.map +1 -1
  111. package/lib-esm/app/panels/measurements/measurementPanelContext.d.ts +11 -0
  112. package/lib-esm/app/panels/measurements/measurementPanelContext.d.ts.map +1 -0
  113. package/lib-esm/app/panels/measurements/measurementPanelContext.js +14 -0
  114. package/lib-esm/app/panels/measurements/measurementPanelContext.js.map +1 -0
  115. package/lib-esm/components/accordion/Accordion.d.ts.map +1 -1
  116. package/lib-esm/components/accordion/Accordion.js +0 -1
  117. package/lib-esm/components/accordion/Accordion.js.map +1 -1
  118. package/lib-esm/components/button/Button.d.ts +6 -2
  119. package/lib-esm/components/button/Button.d.ts.map +1 -1
  120. package/lib-esm/components/button/Button.js +18 -4
  121. package/lib-esm/components/button/Button.js.map +1 -1
  122. package/lib-esm/components/button/index.d.ts +0 -1
  123. package/lib-esm/components/button/index.d.ts.map +1 -1
  124. package/lib-esm/components/button/index.js +0 -1
  125. package/lib-esm/components/button/index.js.map +1 -1
  126. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  127. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.js +0 -2
  128. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.js.map +1 -1
  129. package/lib-esm/components/forms/radio-group/RadioGroup.d.ts +0 -1
  130. package/lib-esm/components/forms/radio-group/RadioGroup.d.ts.map +1 -1
  131. package/lib-esm/components/forms/radio-group/RadioGroup.js +4 -9
  132. package/lib-esm/components/forms/radio-group/RadioGroup.js.map +1 -1
  133. package/lib-esm/components/hooks/index.d.ts +1 -0
  134. package/lib-esm/components/hooks/index.d.ts.map +1 -1
  135. package/lib-esm/components/hooks/index.js +1 -0
  136. package/lib-esm/components/hooks/index.js.map +1 -1
  137. package/lib-esm/components/hooks/useSelect.d.ts +21 -0
  138. package/lib-esm/components/hooks/useSelect.d.ts.map +1 -0
  139. package/lib-esm/components/hooks/useSelect.js +41 -0
  140. package/lib-esm/components/hooks/useSelect.js.map +1 -0
  141. package/lib-esm/components/root-layout/RootLayout.js +1 -1
  142. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts +2 -0
  143. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -1
  144. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +14 -4
  145. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -1
  146. package/lib-esm/components/toolbar/Toolbar.d.ts +13 -4
  147. package/lib-esm/components/toolbar/Toolbar.d.ts.map +1 -1
  148. package/lib-esm/components/toolbar/Toolbar.js +49 -11
  149. package/lib-esm/components/toolbar/Toolbar.js.map +1 -1
  150. package/lib-esm/components/toolbar/toolbarContext.d.ts +2 -0
  151. package/lib-esm/components/toolbar/toolbarContext.d.ts.map +1 -1
  152. package/lib-esm/components/toolbar/toolbarContext.js.map +1 -1
  153. package/package.json +27 -27
  154. package/src/app/about/AboutDialogToolbarButton.tsx +4 -3
  155. package/src/app/helpers/react-plot.tsx +1 -0
  156. package/src/app/kinds/iv/plot-view/IvPlotVariablesSelector.tsx +7 -1
  157. package/src/app/kinds/mass/MeasurementMassPlot.tsx +2 -2
  158. package/src/app/panels/measurements/MeasurementColorPreview.tsx +30 -31
  159. package/src/app/panels/measurements/MeasurementVisibilityToggle.tsx +17 -14
  160. package/src/app/panels/measurements/MeasurementsPanel.tsx +37 -28
  161. package/src/app/panels/measurements/MeasurementsPanelAccordion.tsx +15 -2
  162. package/src/app/panels/measurements/MeasurementsTable.tsx +153 -57
  163. package/src/app/panels/measurements/index.ts +5 -0
  164. package/src/app/panels/measurements/measurementPanelContext.tsx +32 -0
  165. package/src/components/accordion/Accordion.tsx +0 -1
  166. package/src/components/button/Button.tsx +35 -4
  167. package/src/components/button/index.ts +0 -1
  168. package/src/components/color-picker/react-color/sketch/SketchFields.tsx +0 -2
  169. package/src/components/forms/radio-group/RadioGroup.tsx +3 -14
  170. package/src/components/hooks/index.ts +1 -0
  171. package/src/components/hooks/useSelect.tsx +58 -0
  172. package/src/components/root-layout/RootLayout.tsx +1 -1
  173. package/src/components/toolbar/PanelPreferencesToolbar.tsx +38 -20
  174. package/src/components/toolbar/Toolbar.tsx +112 -10
  175. package/src/components/toolbar/toolbarContext.ts +3 -0
  176. package/lib/components/button/ButtonGroup.d.ts +0 -15
  177. package/lib/components/button/ButtonGroup.d.ts.map +0 -1
  178. package/lib/components/button/ButtonGroup.js +0 -42
  179. package/lib/components/button/ButtonGroup.js.map +0 -1
  180. package/lib/components/forms/radio-group/ClassicRadioItem.d.ts +0 -3
  181. package/lib/components/forms/radio-group/ClassicRadioItem.d.ts.map +0 -1
  182. package/lib/components/forms/radio-group/ClassicRadioItem.js +0 -93
  183. package/lib/components/forms/radio-group/ClassicRadioItem.js.map +0 -1
  184. package/lib-esm/components/button/ButtonGroup.d.ts +0 -15
  185. package/lib-esm/components/button/ButtonGroup.d.ts.map +0 -1
  186. package/lib-esm/components/button/ButtonGroup.js +0 -35
  187. package/lib-esm/components/button/ButtonGroup.js.map +0 -1
  188. package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts +0 -3
  189. package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts.map +0 -1
  190. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js +0 -66
  191. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js.map +0 -1
  192. package/src/components/button/ButtonGroup.tsx +0 -57
  193. package/src/components/forms/radio-group/ClassicRadioItem.tsx +0 -95
@@ -4,4 +4,5 @@ export * from './useModifiedPopper';
4
4
  export * from './useOnClickOutside';
5
5
  export * from './useOnOff';
6
6
  export * from './useToggle';
7
+ export * from './useSelect';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ItemRenderer } from '@blueprintjs/select';
3
+ export declare function useSelect<T extends {
4
+ label: string;
5
+ }>(): {
6
+ value: T | null;
7
+ setValue: import("react").Dispatch<import("react").SetStateAction<T | null>>;
8
+ itemRenderer: ItemRenderer<T>;
9
+ onItemSelect: import("react").Dispatch<import("react").SetStateAction<T | null>>;
10
+ popoverProps: {
11
+ onOpened: (node: HTMLElement) => void;
12
+ };
13
+ popoverTargetProps: {
14
+ style: {
15
+ display: string;
16
+ };
17
+ };
18
+ itemPredicate: (query: string, item: T) => boolean;
19
+ itemListPredicate: (query: string, items: T[]) => T[];
20
+ };
21
+ //# sourceMappingURL=useSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelect.d.ts","sourceRoot":"","sources":["../../../src/components/hooks/useSelect.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;;yBAKhC,WAAW;;;;;;;2BAWA,MAAM,QAAQ,CAAC;+BAGX,MAAM,SAAS,CAAC,EAAE;EAerD"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { MenuItem } from '@blueprintjs/core';
3
+ import { useState } from 'react';
4
+ export function useSelect() {
5
+ const [value, setValue] = useState(null);
6
+ const itemRenderer = getItemRenderer(value);
7
+ const onItemSelect = setValue;
8
+ const popoverProps = {
9
+ onOpened: (node) => {
10
+ const firstUl = node.querySelector('ul');
11
+ if (firstUl) {
12
+ firstUl.tabIndex = 0;
13
+ firstUl.focus();
14
+ }
15
+ },
16
+ };
17
+ const popoverTargetProps = {
18
+ style: { display: 'inline-block' },
19
+ };
20
+ const itemPredicate = (query, item) => {
21
+ return item.label.toLowerCase().includes(query.toLowerCase());
22
+ };
23
+ const itemListPredicate = (query, items) => {
24
+ return items.filter((item) => item.label.toLowerCase().includes(query.toLowerCase()));
25
+ };
26
+ return {
27
+ value,
28
+ setValue,
29
+ itemRenderer,
30
+ onItemSelect,
31
+ popoverProps,
32
+ popoverTargetProps,
33
+ itemPredicate,
34
+ itemListPredicate,
35
+ };
36
+ }
37
+ function getItemRenderer(value) {
38
+ const render = ({ label }, { handleClick, handleFocus, modifiers, index }) => (_jsx(MenuItem, { active: modifiers.active, disabled: modifiers.disabled, selected: value?.label === label, onClick: handleClick, onFocus: handleFocus, roleStructure: "listoption", text: label }, index));
39
+ return render;
40
+ }
41
+ //# sourceMappingURL=useSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelect.js","sourceRoot":"","sources":["../../../src/components/hooks/useSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC;IAC9B,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,CAAC,IAAiB,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;IACF,MAAM,kBAAkB,GAAG;QACzB,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;KACnC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,IAAO,EAAE,EAAE;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,KAAU,EAAE,EAAE;QACtD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAA8B,KAAe;IACnE,MAAM,MAAM,GAAoB,CAC9B,EAAE,KAAK,EAAE,EACT,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,EAC9C,EAAE,CAAC,CACH,KAAC,QAAQ,IACP,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,QAAQ,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,EAEhC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAC,YAAY,EAC1B,IAAI,EAAE,KAAK,IAJN,KAAK,CAKV,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -10,7 +10,7 @@ FocusStyleManager.onlyShowFocusOnTabs();
10
10
  const style = {
11
11
  width: '100%',
12
12
  height: '100%',
13
- fontSize: '12px',
13
+ fontSize: '14px',
14
14
  };
15
15
  export function RootLayout(props) {
16
16
  const [rootRef, setRootRef] = useState(typeof document !== 'undefined' ? document.body : null);
@@ -1,4 +1,6 @@
1
+ /// <reference types="react" />
1
2
  interface PanelPreferencesToolbarProps {
3
+ title?: React.ReactNode;
2
4
  onClose?: () => void;
3
5
  onSave?: () => void;
4
6
  }
@@ -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,oDAsB1E"}
1
+ {"version":3,"file":"PanelPreferencesToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/PanelPreferencesToolbar.tsx"],"names":[],"mappings":";AAKA,UAAU,4BAA4B;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AA0BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,oDA6B1E"}
@@ -3,11 +3,21 @@ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
3
  import { css } from '@emotion/react';
4
4
  import { Toolbar } from './Toolbar';
5
5
  const styles = {
6
+ container: css({
7
+ display: 'flex',
8
+ justifyContent: 'space-between',
9
+ borderBottom: '1px solid rgb(240, 240, 240)',
10
+ }),
11
+ title: css({
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ justifyContent: 'center',
15
+ paddingLeft: 12,
16
+ fontWeight: 500,
17
+ }),
6
18
  toolbar: css({
7
19
  display: 'flex',
8
20
  flexDirection: 'row-reverse',
9
- fontSize: 16,
10
- padding: 3,
11
21
  '& > button': {
12
22
  padding: 0,
13
23
  paddingLeft: 9,
@@ -16,7 +26,7 @@ const styles = {
16
26
  }),
17
27
  };
18
28
  export function PanelPreferencesToolbar(props) {
19
- const { onClose, onSave } = props;
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 })] }) }));
29
+ const { title = '', onClose, onSave } = props;
30
+ return (_jsxs("div", { css: styles.container, children: [_jsx("div", { css: styles.title, children: title }), _jsx("div", { css: styles.toolbar, children: _jsxs(Toolbar, { children: [onClose && (_jsx(Toolbar.Item, { title: "close", onClick: onClose, intent: "danger", icon: "cross", noTooltip: true })), onSave && (_jsx(Toolbar.Item, { title: "save", onClick: onSave, intent: "success", icon: "tick", noTooltip: true }))] }) })] }));
21
31
  }
22
32
  //# 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,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"}
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;AAQpC,MAAM,MAAM,GAAG;IACb,SAAS,EAAE,GAAG,CAAC;QACb,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,YAAY,EAAE,8BAA8B;KAC7C,CAAC;IACF,KAAK,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,GAAG;KAChB,CAAC;IACF,OAAO,EAAE,GAAG,CAAC;QACX,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,aAAa;QAC5B,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,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC9C,OAAO,CACL,eAAK,GAAG,EAAE,MAAM,CAAC,SAAS,aACxB,cAAK,GAAG,EAAE,MAAM,CAAC,KAAK,YAAG,KAAK,GAAO,EACrC,cAAK,GAAG,EAAE,MAAM,CAAC,OAAO,YACtB,MAAC,OAAO,eACL,OAAO,IAAI,CACV,KAAC,OAAO,CAAC,IAAI,IACX,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,QAAQ,EACf,IAAI,EAAC,OAAO,EACZ,SAAS,SACT,CACH,EACA,MAAM,IAAI,CACT,KAAC,OAAO,CAAC,IAAI,IACX,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,MAAM,EACX,SAAS,SACT,CACH,IACO,GACN,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  /** @jsxImportSource @emotion/react */
2
- import { Intent } from '@blueprintjs/core';
3
- import { ReactElement, ReactNode } from 'react';
4
- import { ButtonProps } from '../index';
2
+ import { Intent, PopoverProps, TagProps } from '@blueprintjs/core';
3
+ import { IconName } from '@blueprintjs/icons';
4
+ import { JSX, ReactElement, ReactNode } from 'react';
5
+ export type PopoverInteractionType = 'click' | 'hover' | 'click-target' | 'hover-target';
5
6
  interface ToolbarBaseProps {
6
7
  intent?: Intent;
7
8
  disabled?: boolean;
@@ -10,19 +11,27 @@ export interface ToolbarProps extends ToolbarBaseProps {
10
11
  vertical?: boolean;
11
12
  large?: boolean;
12
13
  children?: Array<ReactElement<ToolbarItemProps>> | ReactElement<ToolbarItemProps> | Iterable<ReactNode> | boolean | null;
14
+ popoverInteractionKind?: PopoverInteractionType;
13
15
  }
14
16
  export interface ToolbarItemProps extends ToolbarBaseProps {
15
17
  id?: string;
16
18
  title: string;
17
- icon: ButtonProps['icon'];
19
+ icon: IconName | JSX.Element;
18
20
  active?: boolean;
19
21
  onClick?: (item: ToolbarItemProps) => void;
20
22
  className?: string;
21
23
  noTooltip?: boolean;
24
+ isPopover?: boolean;
25
+ tag?: ReactNode;
26
+ tagProps?: Omit<TagProps, 'children'>;
27
+ }
28
+ export interface ToolbarPopoverItemProps extends PopoverProps {
29
+ itemProps: ToolbarItemProps;
22
30
  }
23
31
  export declare function Toolbar(props: ToolbarProps): import("@emotion/react/jsx-runtime").JSX.Element;
24
32
  export declare namespace Toolbar {
25
33
  var Item: (props: ToolbarItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
34
+ var PopoverItem: (props: ToolbarPopoverItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
26
35
  }
27
36
  export {};
28
37
  //# 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,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"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAIL,MAAM,EAEN,YAAY,EACZ,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAEL,GAAG,EACH,YAAY,EACZ,SAAS,EAIV,MAAM,OAAO,CAAC;AAUf,MAAM,MAAM,sBAAsB,GAC9B,OAAO,GACP,OAAO,GACP,cAAc,GACd,cAAc,CAAC;AAEnB,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;IACT,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;IAC7B,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;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAID,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,oDA+D1C;yBA/De,OAAO"}
@@ -1,14 +1,14 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  /** @jsxImportSource @emotion/react */
3
- import { ButtonGroup, Classes, Colors } from '@blueprintjs/core';
3
+ import { ButtonGroup, Classes, Colors, Popover, Icon, } from '@blueprintjs/core';
4
4
  import { css } from '@emotion/react';
5
- import { useLayoutEffect, useMemo, useRef, } from 'react';
5
+ import { cloneElement, useLayoutEffect, useMemo, useRef, } from 'react';
6
6
  import { Button } from '../index';
7
7
  import { toolbarContext, useToolbarContext, } from './toolbarContext';
8
8
  const border = '1px solid rgb(247, 247, 247)';
9
9
  export function Toolbar(props) {
10
- const { children, disabled, intent, large, vertical } = props;
11
- const contextValue = useMemo(() => ({ intent, large, vertical, disabled }), [intent, large, vertical, disabled]);
10
+ const { children, disabled, intent, large, vertical, popoverInteractionKind, } = props;
11
+ const contextValue = useMemo(() => ({ intent, large, vertical, disabled, popoverInteractionKind }), [intent, large, vertical, disabled, popoverInteractionKind]);
12
12
  const ref = useRef(null);
13
13
  // Work around wrong width on vertical flex when wrapping
14
14
  // In Chrome: recently fixed (https://bugs.chromium.org/p/chromium/issues/detail?id=507397)
@@ -38,26 +38,47 @@ export function Toolbar(props) {
38
38
  return () => observer.unobserve(element);
39
39
  }
40
40
  }, [vertical]);
41
- return (_jsx(ToolbarProvider, { value: contextValue, children: _jsx(ButtonGroup, { ref: ref, vertical: vertical, large: large, style: {
41
+ return (_jsx(ToolbarProvider, { value: contextValue, children: _jsx(ButtonGroup
42
+ // Reset because of layout effect above
43
+ // TODO: remove once the workaround is no longer needed
44
+ , { vertical: vertical, large: large, style: {
42
45
  flexWrap: 'wrap',
43
46
  borderRight: vertical ? border : undefined,
44
- }, children: children }) }));
47
+ }, children: children }, String(vertical)) }));
45
48
  }
46
49
  Toolbar.Item = function ToolbarItem(props) {
47
- const { active = false, icon, onClick, title, id, intent: itemIntent, disabled: itemDisabled, noTooltip = false, ...other } = props;
50
+ const { active = false, icon, onClick, title, id, intent: itemIntent, disabled: itemDisabled, noTooltip = false, isPopover, ...other } = props;
48
51
  const { intent: toolbarIntent, disabled: toolbarDisabled, large, vertical, } = useToolbarContext();
49
52
  const intent = itemIntent ?? toolbarIntent;
50
53
  const disabled = itemDisabled ?? toolbarDisabled;
51
- return (_jsx(Button, { minimal: true, disabled: disabled, css: css `
54
+ const resizedIcon = typeof icon === 'string'
55
+ ? icon
56
+ : cloneElement(icon, {
57
+ className: icon.props.className
58
+ ? `${icon.props.className} bp5-icon`
59
+ : 'bp5-icon',
60
+ });
61
+ return (_jsx(Button, { alignText: isPopover ? 'left' : undefined, minimal: true, disabled: disabled, css: css `
52
62
  .${Classes.ICON} {
53
63
  color: ${Colors.DARK_GRAY3};
54
64
  }
55
65
  `, intent: intent, style: {
56
66
  position: 'relative',
57
- fontSize: '1.25em',
67
+ fontSize: '1.125em',
58
68
  width: 'fit-content',
59
69
  flex: 'none',
60
- }, type: "button", active: active, icon: icon, onClick: () => {
70
+ }, type: "button", active: active, icon: _jsxs("div", { style: {
71
+ display: 'flex',
72
+ justifyContent: 'center',
73
+ alignItems: 'center',
74
+ width: 0,
75
+ height: 0,
76
+ }, children: [_jsx(Icon, { icon: resizedIcon }), isPopover && (_jsx(Icon, { icon: "caret-right", size: large ? 14 : 9, style: {
77
+ transform: 'rotate(45deg)',
78
+ position: 'absolute',
79
+ bottom: 0,
80
+ right: 0,
81
+ } }))] }), onClick: () => {
61
82
  onClick?.(props);
62
83
  }, tooltipProps: noTooltip
63
84
  ? undefined
@@ -68,6 +89,23 @@ Toolbar.Item = function ToolbarItem(props) {
68
89
  compact: !large,
69
90
  }, ...other }));
70
91
  };
92
+ Toolbar.PopoverItem = function ToolbarPopoverItem(props) {
93
+ const { itemProps, ...other } = props;
94
+ const { disabled, vertical, popoverInteractionKind } = useToolbarContext();
95
+ return (_jsx(Popover, { minimal: true, disabled: disabled, placement: vertical ? 'right-start' : 'bottom-start', interactionKind: popoverInteractionKind, hoverCloseDelay: 0, css: css `
96
+ .${Classes.ICON} {
97
+ color: ${Colors.DARK_GRAY3};
98
+ }
99
+ `, targetProps: {
100
+ style: {
101
+ position: 'relative',
102
+ fontSize: '1.125em',
103
+ width: 'fit-content',
104
+ height: 'fit-content',
105
+ flex: 'none',
106
+ },
107
+ }, ...other, children: _jsx(Toolbar.Item, { noTooltip: true, isPopover: true, ...itemProps }) }));
108
+ };
71
109
  function ToolbarProvider(props) {
72
110
  return (_jsx(toolbarContext.Provider, { value: props.value, children: props.children }));
73
111
  }
@@ -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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"}
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { Intent } from '@blueprintjs/core';
3
+ import { PopoverInteractionType } from './Toolbar';
3
4
  export interface ToolbarContext {
4
5
  intent?: Intent;
5
6
  large?: boolean;
6
7
  vertical?: boolean;
7
8
  disabled?: boolean;
9
+ popoverInteractionKind?: PopoverInteractionType;
8
10
  }
9
11
  export declare const toolbarContext: import("react").Context<ToolbarContext | null>;
10
12
  export declare function useToolbarContext(): ToolbarContext;
@@ -1 +1 @@
1
- {"version":3,"file":"toolbarContext.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/toolbarContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,gDAA6C,CAAC;AAEzE,wBAAgB,iBAAiB,mBAQhC"}
1
+ {"version":3,"file":"toolbarContext.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/toolbarContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,eAAO,MAAM,cAAc,gDAA6C,CAAC;AAEzE,wBAAgB,iBAAiB,mBAQhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolbarContext.js","sourceRoot":"","sources":["../../../src/components/toolbar/toolbarContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AASlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"toolbarContext.js","sourceRoot":"","sources":["../../../src/components/toolbar/toolbarContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAYlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-science",
3
- "version": "0.34.0",
3
+ "version": "0.36.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.11.0"
54
+ "node": "20.11.1"
55
55
  },
56
56
  "overrides": {
57
57
  "react": "^18.2.0",
@@ -64,7 +64,7 @@
64
64
  "react-dom": ">=18.0.0"
65
65
  },
66
66
  "dependencies": {
67
- "@blueprintjs/select": "^5.0.23",
67
+ "@blueprintjs/select": "^5.1.1",
68
68
  "@emotion/react": "^11.11.3",
69
69
  "@emotion/styled": "^11.11.0",
70
70
  "@headlessui/react": "^1.7.18",
@@ -73,20 +73,20 @@
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.17.19",
77
- "@tanstack/react-table": "^8.11.7",
76
+ "@tanstack/react-query": "^5.21.7",
77
+ "@tanstack/react-table": "^8.12.0",
78
78
  "biologic-converter": "^0.6.0",
79
79
  "cheminfo-types": "^1.7.2",
80
80
  "d3-scale-chromatic": "^3.0.0",
81
81
  "filelist-utils": "^1.11.0",
82
82
  "immer": "^10.0.3",
83
- "jcampconverter": "^9.6.0",
83
+ "jcampconverter": "^9.6.1",
84
84
  "lodash": "^4.17.21",
85
85
  "ml-gsd": "^12.1.3",
86
86
  "ml-peak-shape-generator": "^4.1.2",
87
87
  "ml-signal-processing": "^1.0.3",
88
- "ml-spectra-processing": "^12.8.0",
89
- "ms-spectrum": "^3.4.1",
88
+ "ml-spectra-processing": "^12.10.2",
89
+ "ms-spectrum": "^3.4.2",
90
90
  "netcdfjs": "^3.0.0",
91
91
  "react-d3-utils": "^1.0.0",
92
92
  "react-dropzone": "^14.2.3",
@@ -102,41 +102,41 @@
102
102
  "wdf-parser": "^0.3.0"
103
103
  },
104
104
  "devDependencies": {
105
- "@babel/core": "^7.23.7",
106
- "@babel/eslint-parser": "^7.23.3",
105
+ "@babel/core": "^7.23.9",
106
+ "@babel/eslint-parser": "^7.23.10",
107
107
  "@babel/preset-react": "^7.23.3",
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",
108
+ "@blueprintjs/core": "^5.9.1",
109
+ "@blueprintjs/icons": "^5.7.1",
110
+ "@playwright/experimental-ct-react": "^1.41.2",
111
+ "@playwright/test": "^1.41.2",
112
+ "@storybook/addon-essentials": "7.6.16",
113
+ "@storybook/addon-storysource": "7.6.16",
114
+ "@storybook/blocks": "7.6.16",
115
+ "@storybook/react": "7.6.16",
116
+ "@storybook/react-vite": "7.6.16",
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.48",
121
- "@types/react-dom": "^18.2.18",
120
+ "@types/react": "^18.2.56",
121
+ "@types/react-dom": "^18.2.19",
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.2.1",
125
+ "@vitest/coverage-v8": "^1.3.0",
126
126
  "cheminfo-font": "^1.13.0",
127
127
  "cross-env": "^7.0.3",
128
128
  "eslint": "^8.56.0",
129
129
  "eslint-config-zakodium": "^8.1.0",
130
- "eslint-plugin-storybook": "^0.6.15",
131
- "prettier": "^3.2.4",
130
+ "eslint-plugin-storybook": "^0.8.0",
131
+ "prettier": "^3.2.5",
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.10",
136
+ "storybook": "7.6.16",
137
137
  "typescript": "^5.3.3",
138
- "vite": "^5.0.12",
139
- "vitest": "^1.2.1"
138
+ "vite": "^5.1.3",
139
+ "vitest": "^1.3.0"
140
140
  },
141
141
  "repository": {
142
142
  "type": "git",
@@ -1,11 +1,12 @@
1
- import { ButtonProps, Dialog, DialogBody } from '@blueprintjs/core';
2
- import { ReactNode } from 'react';
1
+ import { Dialog, DialogBody } from '@blueprintjs/core';
2
+ import { IconName } from '@blueprintjs/icons';
3
+ import { JSX, ReactNode } from 'react';
3
4
 
4
5
  import { Toolbar, useOnOff } from '../../components';
5
6
 
6
7
  interface AboutDialogToolbarButtonProps {
7
8
  name: string;
8
- icon: ButtonProps['icon'];
9
+ icon: IconName | JSX.Element;
9
10
  body: ReactNode;
10
11
  }
11
12
 
@@ -111,6 +111,7 @@ export function BasicComponent(props: BasicComponentProps) {
111
111
  flip={flipHorizontalAxis}
112
112
  position="bottom"
113
113
  label={`${x.label}${x.units ? `(${x.units})` : ''}`}
114
+ paddingEnd="20"
114
115
  />
115
116
  <Axis
116
117
  hidden={!showVerticalAxis}
@@ -28,7 +28,13 @@ export default function IvPlotVariablesSelector() {
28
28
 
29
29
  return (
30
30
  <div
31
- style={{ display: 'flex', flexDirection: 'row', gap: 5, fontSize: 18 }}
31
+ style={{
32
+ display: 'flex',
33
+ flexDirection: 'row',
34
+
35
+ gap: 30,
36
+ fontSize: '1.125em',
37
+ }}
32
38
  >
33
39
  <MeasurementVariableSelect
34
40
  label="Y variable"
@@ -121,14 +121,14 @@ function MassComponent(props: MeasurementPlotProps) {
121
121
  style={{ strokeWidth: 2, stroke: 'blue' }}
122
122
  />
123
123
  <Annotation.Text
124
- style={{ fontSize: '13px', fontWeight: '600' }}
124
+ style={{ fontSize: '0.875rem', fontWeight: '600' }}
125
125
  x="2"
126
126
  y="0"
127
127
  >
128
128
  {shortLabel}
129
129
  </Annotation.Text>
130
130
  <Annotation.Text
131
- style={{ fontSize: '13px', fontWeight: '600' }}
131
+ style={{ fontSize: '0.875rem', fontWeight: '600' }}
132
132
  x="2"
133
133
  y="-14"
134
134
  >
@@ -13,7 +13,6 @@ import {
13
13
  useOnClickOutside,
14
14
  useOnOff,
15
15
  } from '../../../components/index';
16
- import { Portal } from '../../../components/root-layout/Portal';
17
16
 
18
17
  interface MeasurementColorPreviewProps {
19
18
  measurementId: string;
@@ -24,11 +23,12 @@ interface MeasurementColorPreviewProps {
24
23
  const ColorPreviewButton = styled.button`
25
24
  width: 1em;
26
25
  height: 1em;
26
+ & > div {
27
+ border-radius: 0.5em;
28
+ }
27
29
  `;
28
30
 
29
- export default function MeasurementColorPreview(
30
- props: MeasurementColorPreviewProps,
31
- ) {
31
+ export function MeasurementColorPreview(props: MeasurementColorPreviewProps) {
32
32
  const { measurementId, kind, color } = props;
33
33
 
34
34
  const dispatch = useAppDispatch();
@@ -53,35 +53,33 @@ export default function MeasurementColorPreview(
53
53
  <ColorPreview color={color} />
54
54
  </ColorPreviewButton>
55
55
  {isOpened && (
56
- <Portal>
57
- <div
58
- ref={(div) => {
59
- setPopperElement(div);
60
- ref.current = div;
61
- }}
62
- {...popperProps}
63
- >
64
- {color.kind === 'fixed' ? (
65
- <FixedColorPicker
66
- color={color.color}
67
- onChange={(newColor) =>
68
- dispatch({
69
- type: 'CHANGE_MEASUREMENT_DISPLAY',
70
- payload: {
71
- display: {
72
- color: {
73
- kind: 'fixed',
74
- color: newColor,
75
- },
56
+ <div
57
+ ref={(div) => {
58
+ setPopperElement(div);
59
+ ref.current = div;
60
+ }}
61
+ {...popperProps}
62
+ >
63
+ {color.kind === 'fixed' ? (
64
+ <FixedColorPicker
65
+ color={color.color}
66
+ onChange={(newColor) =>
67
+ dispatch({
68
+ type: 'CHANGE_MEASUREMENT_DISPLAY',
69
+ payload: {
70
+ display: {
71
+ color: {
72
+ kind: 'fixed',
73
+ color: newColor,
76
74
  },
77
- measurement: { id: measurementId, kind },
78
75
  },
79
- })
80
- }
81
- />
82
- ) : null}
83
- </div>
84
- </Portal>
76
+ measurement: { id: measurementId, kind },
77
+ },
78
+ })
79
+ }
80
+ />
81
+ ) : null}
82
+ </div>
85
83
  )}
86
84
  </>
87
85
  );
@@ -94,6 +92,7 @@ function FixedColorPicker(props: {
94
92
  const { color, onChange } = props;
95
93
  return (
96
94
  <ColorPicker
95
+ style={{ fontSize: '0.875em' }}
97
96
  color={{ hex: color }}
98
97
  onChangeComplete={(color) => {
99
98
  onChange(color.hex);