react-science 0.22.0 → 0.22.2

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 (137) hide show
  1. package/lib/components/accordion/Accordion.js +10 -6
  2. package/lib/components/modal/useDialog.js +1 -0
  3. package/lib/components/tabs/Tabs.js +6 -1
  4. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts +1 -1
  5. package/lib-esm/app/about/AboutDialogToolbarButton.d.ts.map +1 -1
  6. package/lib-esm/app/explorer/ExplorerPlotView.d.ts +1 -2
  7. package/lib-esm/app/explorer/ExplorerPlotView.d.ts.map +1 -1
  8. package/lib-esm/app/explorer/MeasurementExplorer.d.ts +1 -2
  9. package/lib-esm/app/explorer/MeasurementExplorer.d.ts.map +1 -1
  10. package/lib-esm/app/explorer/MeasurementExplorerWithState.d.ts +1 -2
  11. package/lib-esm/app/explorer/MeasurementExplorerWithState.d.ts.map +1 -1
  12. package/lib-esm/app/helpers/MeasurementPlot.d.ts +1 -2
  13. package/lib-esm/app/helpers/MeasurementPlot.d.ts.map +1 -1
  14. package/lib-esm/app/helpers/MeasurementVariableSelect.d.ts +1 -2
  15. package/lib-esm/app/helpers/MeasurementVariableSelect.d.ts.map +1 -1
  16. package/lib-esm/app/helpers/react-plot.d.ts +1 -1
  17. package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
  18. package/lib-esm/app/kinds/ir/IrPeaksPanel.d.ts +1 -2
  19. package/lib-esm/app/kinds/ir/IrPeaksPanel.d.ts.map +1 -1
  20. package/lib-esm/app/kinds/iv/plot-view/IvMeasurementsPlot.d.ts +1 -2
  21. package/lib-esm/app/kinds/iv/plot-view/IvMeasurementsPlot.d.ts.map +1 -1
  22. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts +1 -2
  23. package/lib-esm/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +1 -1
  24. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.d.ts +1 -2
  25. package/lib-esm/app/kinds/iv/plot-view/IvPlotView.d.ts.map +1 -1
  26. package/lib-esm/app/kinds/iv/plot-view/IvSeries.d.ts +1 -2
  27. package/lib-esm/app/kinds/iv/plot-view/IvSeries.d.ts.map +1 -1
  28. package/lib-esm/app/kinds/mass/MassPlotView.d.ts +1 -2
  29. package/lib-esm/app/kinds/mass/MassPlotView.d.ts.map +1 -1
  30. package/lib-esm/app/kinds/mass/MeasurementMassPlot.d.ts +1 -2
  31. package/lib-esm/app/kinds/mass/MeasurementMassPlot.d.ts.map +1 -1
  32. package/lib-esm/app/panels/SignalProcessingPanel.d.ts +1 -2
  33. package/lib-esm/app/panels/SignalProcessingPanel.d.ts.map +1 -1
  34. package/lib-esm/app/panels/measurement-config/MeasurementConfigPanel.d.ts +1 -2
  35. package/lib-esm/app/panels/measurement-config/MeasurementConfigPanel.d.ts.map +1 -1
  36. package/lib-esm/app/panels/measurement-config/MeasurementConfigPanelAccordion.d.ts +1 -2
  37. package/lib-esm/app/panels/measurement-config/MeasurementConfigPanelAccordion.d.ts.map +1 -1
  38. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.d.ts +1 -2
  39. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.d.ts.map +1 -1
  40. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanelAccordion.d.ts +1 -2
  41. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanelAccordion.d.ts.map +1 -1
  42. package/lib-esm/app/panels/measurements/MeasurementCheckbox.d.ts +1 -2
  43. package/lib-esm/app/panels/measurements/MeasurementCheckbox.d.ts.map +1 -1
  44. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts +1 -2
  45. package/lib-esm/app/panels/measurements/MeasurementColorPreview.d.ts.map +1 -1
  46. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts +2 -3
  47. package/lib-esm/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +1 -1
  48. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts +1 -2
  49. package/lib-esm/app/panels/measurements/MeasurementsPanel.d.ts.map +1 -1
  50. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts +1 -2
  51. package/lib-esm/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +1 -1
  52. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts +1 -2
  53. package/lib-esm/app/panels/measurements/MeasurementsTable.d.ts.map +1 -1
  54. package/lib-esm/app-data/state/appState.d.ts +1 -1
  55. package/lib-esm/app-data/state/appState.d.ts.map +1 -1
  56. package/lib-esm/components/accordion/Accordion.d.ts.map +1 -1
  57. package/lib-esm/components/accordion/Accordion.js +10 -6
  58. package/lib-esm/components/accordion/Accordion.js.map +1 -1
  59. package/lib-esm/components/accordion/AccordionContext.d.ts +1 -1
  60. package/lib-esm/components/accordion/AccordionContext.d.ts.map +1 -1
  61. package/lib-esm/components/button/ButtonGroup.d.ts +2 -2
  62. package/lib-esm/components/button/ButtonGroup.d.ts.map +1 -1
  63. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts +1 -2
  64. package/lib-esm/components/color-picker/color-picker-dropdown/ColorPickerDropdown.d.ts.map +1 -1
  65. package/lib-esm/components/color-picker/gradient-select/GradientSelect.d.ts +1 -2
  66. package/lib-esm/components/color-picker/gradient-select/GradientSelect.d.ts.map +1 -1
  67. package/lib-esm/components/color-picker/preview/ColorPreview.d.ts +1 -2
  68. package/lib-esm/components/color-picker/preview/ColorPreview.d.ts.map +1 -1
  69. package/lib-esm/components/color-picker/preview/FixedColorPreview.d.ts +1 -2
  70. package/lib-esm/components/color-picker/preview/FixedColorPreview.d.ts.map +1 -1
  71. package/lib-esm/components/color-picker/preview/FixedGradientPreview.d.ts +1 -2
  72. package/lib-esm/components/color-picker/preview/FixedGradientPreview.d.ts.map +1 -1
  73. package/lib-esm/components/color-picker/react-color/ColorPicker.d.ts +1 -1
  74. package/lib-esm/components/color-picker/react-color/ColorPicker.d.ts.map +1 -1
  75. package/lib-esm/components/color-picker/react-color/common/Alpha.d.ts +1 -1
  76. package/lib-esm/components/color-picker/react-color/common/Alpha.d.ts.map +1 -1
  77. package/lib-esm/components/color-picker/react-color/common/CheckBoard.d.ts +1 -1
  78. package/lib-esm/components/color-picker/react-color/common/CheckBoard.d.ts.map +1 -1
  79. package/lib-esm/components/color-picker/react-color/common/EditableInput.d.ts +1 -1
  80. package/lib-esm/components/color-picker/react-color/common/EditableInput.d.ts.map +1 -1
  81. package/lib-esm/components/color-picker/react-color/common/Hue.d.ts +1 -1
  82. package/lib-esm/components/color-picker/react-color/common/Hue.d.ts.map +1 -1
  83. package/lib-esm/components/color-picker/react-color/common/Saturation.d.ts +1 -1
  84. package/lib-esm/components/color-picker/react-color/common/Saturation.d.ts.map +1 -1
  85. package/lib-esm/components/color-picker/react-color/common/Swatch.d.ts +3 -3
  86. package/lib-esm/components/color-picker/react-color/common/Swatch.d.ts.map +1 -1
  87. package/lib-esm/components/color-picker/react-color/common/interaction.d.ts +2 -2
  88. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.d.ts +1 -2
  89. package/lib-esm/components/color-picker/react-color/sketch/SketchFields.d.ts.map +1 -1
  90. package/lib-esm/components/color-picker/react-color/sketch/SketchPresetColors.d.ts +1 -2
  91. package/lib-esm/components/color-picker/react-color/sketch/SketchPresetColors.d.ts.map +1 -1
  92. package/lib-esm/components/drop-zone/DropZone.d.ts +2 -2
  93. package/lib-esm/components/drop-zone/DropZone.d.ts.map +1 -1
  94. package/lib-esm/components/dropdown-menu/DropdownMenu.d.ts +1 -1
  95. package/lib-esm/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  96. package/lib-esm/components/dropdown-menu/MenuItems.d.ts +1 -1
  97. package/lib-esm/components/dropdown-menu/MenuItems.d.ts.map +1 -1
  98. package/lib-esm/components/forms/Input.d.ts +1 -1
  99. package/lib-esm/components/forms/Input.d.ts.map +1 -1
  100. package/lib-esm/components/forms/context/FieldsContext.d.ts +1 -1
  101. package/lib-esm/components/forms/context/FieldsContext.d.ts.map +1 -1
  102. package/lib-esm/components/fullscreen/FullscreenContext.d.ts +1 -1
  103. package/lib-esm/components/fullscreen/FullscreenContext.d.ts.map +1 -1
  104. package/lib-esm/components/fullscreen/FullscreenToolbarButton.d.ts +1 -2
  105. package/lib-esm/components/fullscreen/FullscreenToolbarButton.d.ts.map +1 -1
  106. package/lib-esm/components/modal/ConfirmModal.d.ts +1 -1
  107. package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
  108. package/lib-esm/components/modal/Modal.d.ts +4 -4
  109. package/lib-esm/components/modal/Modal.d.ts.map +1 -1
  110. package/lib-esm/components/modal/useDialog.d.ts.map +1 -1
  111. package/lib-esm/components/modal/useDialog.js +1 -0
  112. package/lib-esm/components/modal/useDialog.js.map +1 -1
  113. package/lib-esm/components/root-layout/RootLayoutContext.d.ts +1 -1
  114. package/lib-esm/components/root-layout/RootLayoutContext.d.ts.map +1 -1
  115. package/lib-esm/components/spinner/FullSpinner.d.ts +1 -2
  116. package/lib-esm/components/spinner/FullSpinner.d.ts.map +1 -1
  117. package/lib-esm/components/tabs/Tabs.js +6 -1
  118. package/lib-esm/components/tabs/Tabs.js.map +1 -1
  119. package/lib-esm/components/tabs/TabsContext.d.ts +1 -1
  120. package/lib-esm/components/tabs/TabsContext.d.ts.map +1 -1
  121. package/lib-esm/components/toolbar/ToolbarContext.d.ts +1 -1
  122. package/lib-esm/components/toolbar/ToolbarContext.d.ts.map +1 -1
  123. package/lib-esm/components/value-renderers/Boolean.d.ts +1 -2
  124. package/lib-esm/components/value-renderers/Boolean.d.ts.map +1 -1
  125. package/lib-esm/components/value-renderers/Component.d.ts +1 -1
  126. package/lib-esm/components/value-renderers/Component.d.ts.map +1 -1
  127. package/lib-esm/components/value-renderers/Header.d.ts +1 -2
  128. package/lib-esm/components/value-renderers/Header.d.ts.map +1 -1
  129. package/lib-esm/components/value-renderers/Number.d.ts +1 -2
  130. package/lib-esm/components/value-renderers/Number.d.ts.map +1 -1
  131. package/lib-esm/components/value-renderers/ObjectRenderer.d.ts +1 -2
  132. package/lib-esm/components/value-renderers/ObjectRenderer.d.ts.map +1 -1
  133. package/package.json +12 -7
  134. package/src/components/accordion/Accordion.tsx +18 -8
  135. package/src/components/modal/useDialog.ts +1 -0
  136. package/src/components/tabs/Tabs.tsx +6 -1
  137. package/src/styles/storybook-globals.css +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-science",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
4
4
  "description": "React components to build analysis UI",
5
5
  "exports": {
6
6
  "./app": {
@@ -26,15 +26,14 @@
26
26
  ],
27
27
  "scripts": {
28
28
  "build": "npm run clean && npm run build-ts && npm run fix-react-shadow",
29
- "build-all": "npm run build-app && npm run build-stories && mv build dist/stories",
29
+ "build-all": "npm run build-app && npm run build-storybook && mv storybook-static dist/stories",
30
30
  "build-app": "cross-env NO_MINIFY=true vite build",
31
- "build-stories": "ladle build",
31
+ "build-storybook": "storybook build",
32
32
  "build-ts": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json",
33
33
  "check-types": "tsc --noEmit",
34
34
  "clean": "rimraf lib lib-esm",
35
35
  "createData": "npm run prepack && node scripts/createData",
36
- "dev": "echo Use npm run dev-app or npm run dev-stories && exit 1",
37
- "dev-stories": "ladle serve",
36
+ "dev": "echo Use npm run dev-app or npm run storybook && exit 1",
38
37
  "dev-app": "vite --open /pages/demo.html",
39
38
  "eslint": "eslint .",
40
39
  "eslint-fix": "npm run eslint -- --fix",
@@ -46,6 +45,7 @@
46
45
  "prettier": "prettier --check .",
47
46
  "prettier-write": "prettier --write .",
48
47
  "serve": "vite preview",
48
+ "storybook": "storybook dev -p 6006",
49
49
  "test": "npm run playwright && npm run test-only && npm run eslint && npm run prettier && npm run check-types",
50
50
  "test-only": "vitest run --coverage "
51
51
  },
@@ -78,7 +78,7 @@
78
78
  "ml-gsd": "^12.1.3",
79
79
  "ml-peak-shape-generator": "^4.1.2",
80
80
  "ml-signal-processing": "^1.0.3",
81
- "ml-spectra-processing": "^12.3.0",
81
+ "ml-spectra-processing": "12.3.0",
82
82
  "ms-spectrum": "^2.3.1",
83
83
  "netcdfjs": "^2.0.2",
84
84
  "react-d3-utils": "^1.0.0",
@@ -98,9 +98,12 @@
98
98
  "devDependencies": {
99
99
  "@babel/core": "^7.21.4",
100
100
  "@babel/eslint-parser": "^7.21.3",
101
- "@ladle/react": "^2.12.3",
102
101
  "@playwright/experimental-ct-react": "^1.33.0",
103
102
  "@playwright/test": "^1.33.0",
103
+ "@storybook/addon-essentials": "^7.0.10",
104
+ "@storybook/blocks": "^7.0.10",
105
+ "@storybook/react": "^7.0.10",
106
+ "@storybook/react-vite": "^7.0.10",
104
107
  "@types/babel__core": "^7.20.0",
105
108
  "@types/d3-scale-chromatic": "^3.0.0",
106
109
  "@types/lodash": "^4.14.194",
@@ -113,11 +116,13 @@
113
116
  "cross-env": "^7.0.3",
114
117
  "eslint": "^8.39.0",
115
118
  "eslint-config-zakodium": "^7.2.0",
119
+ "eslint-plugin-storybook": "^0.6.12",
116
120
  "prettier": "^2.8.8",
117
121
  "react": "^18.2.0",
118
122
  "react-dom": "^18.2.0",
119
123
  "react-ocl": "^5.0.0",
120
124
  "rimraf": "^5.0.0",
125
+ "storybook": "^7.0.10",
121
126
  "typescript": "^5.0.4",
122
127
  "vite": "^4.3.3",
123
128
  "vitest": "^0.30.1"
@@ -1,8 +1,12 @@
1
1
  /** @jsxImportSource @emotion/react */
2
2
  import { css } from '@emotion/react';
3
- import type { ReactElement, ReactNode, ReactFragment } from 'react';
4
-
5
- import { useDoubleClick } from '../hooks/index';
3
+ import type {
4
+ ReactElement,
5
+ ReactNode,
6
+ ReactFragment,
7
+ MouseEvent as ReactMouseEvent,
8
+ } from 'react';
9
+ import { useCallback } from 'react';
6
10
 
7
11
  import { useAccordionContext } from './AccordionContext';
8
12
 
@@ -61,10 +65,16 @@ export function Accordion(props: AccordionProps) {
61
65
  Accordion.Item = function AccordionItem(props: AccordionItemProps) {
62
66
  const { item, utils } = useAccordionContext(props.title, props.defaultOpened);
63
67
 
64
- const onClickHandle = useDoubleClick({
65
- onClick: utils.toggle,
66
- onDoubleClick: utils.clear,
67
- });
68
+ const onClickHandle = useCallback(
69
+ (event: ReactMouseEvent<HTMLButtonElement, MouseEvent>) => {
70
+ if (event.shiftKey) {
71
+ utils.clear();
72
+ } else {
73
+ utils.toggle();
74
+ }
75
+ },
76
+ [utils],
77
+ );
68
78
 
69
79
  let displayable = false;
70
80
 
@@ -87,7 +97,7 @@ Accordion.Item = function AccordionItem(props: AccordionItemProps) {
87
97
  display: 'flex',
88
98
  alignItems: 'center',
89
99
  width: '100%',
90
- userSelect: 'text',
100
+ userSelect: 'none',
91
101
  }}
92
102
  css={styles.header}
93
103
  >
@@ -42,6 +42,7 @@ export function useDialog({
42
42
 
43
43
  const onClick = useCallback<MouseEventHandler<HTMLDialogElement>>(
44
44
  (event) => {
45
+ event.stopPropagation();
45
46
  // Since the dialog has no size of itself, this condition is only
46
47
  // `true` when we click on the backdrop.
47
48
  if (event.target === event.currentTarget && requestCloseOnBackdrop) {
@@ -152,7 +152,12 @@ function TabsHorizontal<T extends string = string>(
152
152
  const item = useTabsContext();
153
153
  return (
154
154
  <div
155
- style={{ display: 'flex', flexDirection: 'column', overflowX: 'hidden' }}
155
+ style={{
156
+ display: 'flex',
157
+ flexDirection: 'column',
158
+ overflowX: 'hidden',
159
+ height: '100%',
160
+ }}
156
161
  >
157
162
  <div
158
163
  style={{
@@ -0,0 +1,6 @@
1
+ html,
2
+ body,
3
+ #storybook-root {
4
+ height: 100%;
5
+ margin: 0;
6
+ }