@vitessce/vit-s 2.0.3-beta.0 → 2.0.3

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 (184) hide show
  1. package/dist/index.mjs +84801 -0
  2. package/{dist → dist-tsc}/index.js +2 -2
  3. package/package.json +7 -7
  4. package/src/CallbackPublisher.js +81 -0
  5. package/src/LoadingIndicator.js +34 -0
  6. package/src/TitleInfo.js +240 -0
  7. package/src/VitS.js +180 -0
  8. package/src/VitessceGrid.js +110 -0
  9. package/src/VitessceGrid.test.jsx +48 -0
  10. package/src/Warning.js +62 -0
  11. package/{dist → src}/classNames.js +0 -0
  12. package/src/component-registry.js +21 -0
  13. package/src/data/AbstractLoader.js +46 -0
  14. package/{dist → src}/data/AbstractTwoStepLoader.js +5 -4
  15. package/src/data/LoaderResult.js +8 -0
  16. package/{dist → src}/data/index.js +0 -0
  17. package/src/data/loader-registry.js +19 -0
  18. package/src/data-hook-utils.js +197 -0
  19. package/src/data-hooks.js +354 -0
  20. package/src/errors/AbstractLoaderError.js +14 -0
  21. package/src/errors/DataSourceFetchError.js +15 -0
  22. package/src/errors/DatasetNotFoundError.js +23 -0
  23. package/src/errors/LoaderNotFoundError.js +24 -0
  24. package/src/errors/LoaderValidationError.js +23 -0
  25. package/src/errors/OptionsValidationError.js +25 -0
  26. package/{dist → src}/errors/index.js +0 -0
  27. package/src/file-options-schemas-legacy.js +139 -0
  28. package/src/file-options-schemas-legacy.test.js +138 -0
  29. package/src/file-options-schemas.js +327 -0
  30. package/src/file-options-schemas.test.js +26 -0
  31. package/src/hooks.js +252 -0
  32. package/src/index.js +101 -0
  33. package/src/joint-file-types-legacy.js +298 -0
  34. package/src/joint-file-types-legacy.test.js +412 -0
  35. package/src/joint-file-types.js +171 -0
  36. package/src/joint-file-types.test.js +144 -0
  37. package/{dist/schemas.js → src/json-schemas.js} +6 -1
  38. package/{dist → src}/plugins.js +102 -70
  39. package/src/plugins.test.fixtures.js +78 -0
  40. package/src/plugins.test.js +42 -0
  41. package/src/schemas/config-0.1.0.schema.json +85 -0
  42. package/src/schemas/config-1.0.0.schema.json +733 -0
  43. package/src/schemas/config-1.0.1.schema.json +909 -0
  44. package/src/schemas/config-1.0.10.schema.json +969 -0
  45. package/src/schemas/config-1.0.11.schema.json +990 -0
  46. package/src/schemas/config-1.0.12.schema.json +997 -0
  47. package/src/schemas/config-1.0.13.schema.json +1013 -0
  48. package/src/schemas/config-1.0.14.schema.json +1048 -0
  49. package/src/schemas/config-1.0.15.schema.json +1048 -0
  50. package/src/schemas/config-1.0.16.schema.json +1069 -0
  51. package/src/schemas/config-1.0.16.schema.test.js +32 -0
  52. package/src/schemas/config-1.0.2.schema.json +911 -0
  53. package/src/schemas/config-1.0.3.schema.json +911 -0
  54. package/src/schemas/config-1.0.4.schema.json +949 -0
  55. package/src/schemas/config-1.0.5.schema.json +949 -0
  56. package/src/schemas/config-1.0.6.schema.json +950 -0
  57. package/src/schemas/config-1.0.7.schema.json +950 -0
  58. package/src/schemas/config-1.0.8.schema.json +966 -0
  59. package/src/schemas/config-1.0.9.schema.json +965 -0
  60. package/src/schemas/fixtures/cellSets.good.json +16 -0
  61. package/src/schemas/fixtures/config-1.0.1.bad.json +1 -0
  62. package/src/schemas/fixtures/config-1.0.1.bad.message.json +11 -0
  63. package/src/schemas/fixtures/config-1.0.1.good.json +37 -0
  64. package/src/schemas/fixtures/config-1.0.2.bad.json +1 -0
  65. package/src/schemas/fixtures/config-1.0.2.bad.message.json +11 -0
  66. package/src/schemas/fixtures/config-1.0.2.good.json +38 -0
  67. package/src/schemas/fixtures/config-1.0.3.bad.json +1 -0
  68. package/src/schemas/fixtures/config-1.0.3.bad.message.json +11 -0
  69. package/src/schemas/fixtures/config-1.0.3.good.json +38 -0
  70. package/src/schemas/fixtures/obsSets.bad.json +1 -0
  71. package/src/schemas/fixtures/obsSets.bad.message.json +11 -0
  72. package/src/schemas/fixtures/obsSets.good.json +16 -0
  73. package/src/schemas/fixtures/obsSetsTabular.bad.json +1 -0
  74. package/src/schemas/fixtures/obsSetsTabular.bad.message.json +11 -0
  75. package/src/schemas/fixtures/obsSetsTabular.good.json +26 -0
  76. package/src/schemas/fixtures/raster.bad.json +1 -0
  77. package/src/schemas/fixtures/raster.bad.message.json +11 -0
  78. package/src/schemas/fixtures/raster.good.json +39 -0
  79. package/src/schemas/obsSets.schema.js +195 -0
  80. package/src/schemas/obsSetsTabular.schema.js +39 -0
  81. package/src/schemas/raster.schema.js +121 -0
  82. package/src/schemas/schema-schema.sh +34 -0
  83. package/{dist → src}/schemas/schema.test-old.js +0 -1
  84. package/src/shared-mui/components.js +79 -0
  85. package/src/shared-mui/container.js +212 -0
  86. package/src/shared-mui/styles.js +110 -0
  87. package/src/shared-plot-options/CellColorEncodingOption.js +43 -0
  88. package/src/shared-plot-options/OptionSelect.js +19 -0
  89. package/src/shared-plot-options/OptionsContainer.js +26 -0
  90. package/{dist → src}/shared-plot-options/index.js +0 -0
  91. package/src/shared-plot-options/styles.js +49 -0
  92. package/src/state/hooks.js +633 -0
  93. package/src/view-config-upgraders.js +628 -0
  94. package/src/view-config-utils.js +315 -0
  95. package/src/view-config-utils.test.fixtures.js +893 -0
  96. package/src/view-config-utils.test.js +95 -0
  97. package/src/view-config-versions.js +68 -0
  98. package/src/vitessce-grid-layout/VitessceGridLayout.js +158 -0
  99. package/src/vitessce-grid-layout/VitessceGridLayout.test.jsx +56 -0
  100. package/{dist → src}/vitessce-grid-layout/index.js +0 -0
  101. package/src/vitessce-grid-layout/layout-utils.js +76 -0
  102. package/src/vitessce-grid-layout/layout-utils.test.js +167 -0
  103. package/src/vitessce-grid-utils.js +160 -0
  104. package/dist/CallbackPublisher.js +0 -68
  105. package/dist/LoadingIndicator.js +0 -27
  106. package/dist/TitleInfo.js +0 -151
  107. package/dist/VitS.js +0 -117
  108. package/dist/Vitessce.integration.test.js +0 -36
  109. package/dist/Vitessce.js +0 -101
  110. package/dist/VitessceGrid.js +0 -59
  111. package/dist/VitessceGrid.test.js +0 -36
  112. package/dist/Warning.js +0 -45
  113. package/dist/component-registry.js +0 -16
  114. package/dist/data/AbstractLoader.js +0 -35
  115. package/dist/data/LoaderResult.js +0 -7
  116. package/dist/data/loader-registry.js +0 -15
  117. package/dist/data-hook-utils.js +0 -175
  118. package/dist/data-hooks.js +0 -241
  119. package/dist/errors/AbstractLoaderError.js +0 -13
  120. package/dist/errors/DataSourceFetchError.js +0 -13
  121. package/dist/errors/DatasetNotFoundError.js +0 -17
  122. package/dist/errors/LoaderNotFoundError.js +0 -17
  123. package/dist/errors/LoaderValidationError.js +0 -15
  124. package/dist/errors/OptionsValidationError.js +0 -15
  125. package/dist/export-utils.js +0 -70
  126. package/dist/export-utils.test.js +0 -66
  127. package/dist/file-options-schemas-legacy.js +0 -136
  128. package/dist/file-options-schemas-legacy.test.js +0 -126
  129. package/dist/file-options-schemas.js +0 -322
  130. package/dist/file-options-schemas.test.js +0 -23
  131. package/dist/hooks.js +0 -215
  132. package/dist/joint-file-types-legacy.js +0 -278
  133. package/dist/joint-file-types-legacy.test.js +0 -400
  134. package/dist/joint-file-types.js +0 -148
  135. package/dist/joint-file-types.test.js +0 -139
  136. package/dist/loader-registry.js +0 -98
  137. package/dist/plugins.test.fixtures.js +0 -76
  138. package/dist/plugins.test.js +0 -30
  139. package/dist/schemas/PrettyJsonSchema.js +0 -34
  140. package/dist/schemas/config-0.1.0.schema.json +0 -84
  141. package/dist/schemas/config-1.0.0.schema.json +0 -733
  142. package/dist/schemas/config-1.0.1.schema.json +0 -909
  143. package/dist/schemas/config-1.0.10.schema.json +0 -969
  144. package/dist/schemas/config-1.0.11.schema.json +0 -990
  145. package/dist/schemas/config-1.0.12.schema.json +0 -997
  146. package/dist/schemas/config-1.0.13.schema.json +0 -1013
  147. package/dist/schemas/config-1.0.14.schema.json +0 -1048
  148. package/dist/schemas/config-1.0.15.schema.json +0 -1048
  149. package/dist/schemas/config-1.0.15.schema.test.js +0 -22
  150. package/dist/schemas/config-1.0.16.schema.json +0 -1109
  151. package/dist/schemas/config-1.0.16.schema.test.js +0 -22
  152. package/dist/schemas/config-1.0.2.schema.json +0 -910
  153. package/dist/schemas/config-1.0.3.schema.json +0 -910
  154. package/dist/schemas/config-1.0.4.schema.json +0 -949
  155. package/dist/schemas/config-1.0.5.schema.json +0 -949
  156. package/dist/schemas/config-1.0.6.schema.json +0 -949
  157. package/dist/schemas/config-1.0.7.schema.json +0 -949
  158. package/dist/schemas/config-1.0.8.schema.json +0 -965
  159. package/dist/schemas/config-1.0.9.schema.json +0 -965
  160. package/dist/schemas/obs-sets-tabular.schema.js +0 -37
  161. package/dist/schemas/obs-sets.schema.js +0 -194
  162. package/dist/schemas/obsSets.schema.js +0 -195
  163. package/dist/schemas/obsSetsTabular.schema.js +0 -38
  164. package/dist/schemas/raster.schema.js +0 -120
  165. package/dist/schemas/schema.test.js +0 -46
  166. package/dist/schemas-extra.js +0 -3
  167. package/dist/shared-mui/components.js +0 -35
  168. package/dist/shared-mui/container.js +0 -211
  169. package/dist/shared-mui/styles.js +0 -107
  170. package/dist/shared-plot-options/CellColorEncodingOption.js +0 -18
  171. package/dist/shared-plot-options/OptionSelect.js +0 -12
  172. package/dist/shared-plot-options/OptionsContainer.js +0 -12
  173. package/dist/shared-plot-options/styles.js +0 -48
  174. package/dist/state/hooks.js +0 -549
  175. package/dist/view-config-upgraders.js +0 -525
  176. package/dist/view-config-utils.js +0 -286
  177. package/dist/view-config-utils.test.fixtures.js +0 -765
  178. package/dist/view-config-utils.test.js +0 -66
  179. package/dist/view-config-versions.js +0 -47
  180. package/dist/vitessce-grid-layout/VitessceGridLayout.js +0 -95
  181. package/dist/vitessce-grid-layout/VitessceGridLayout.test.js +0 -40
  182. package/dist/vitessce-grid-layout/layout-utils.js +0 -60
  183. package/dist/vitessce-grid-layout/layout-utils.test.js +0 -146
  184. package/dist/vitessce-grid-utils.js +0 -140
@@ -1,211 +0,0 @@
1
- import { makeStyles } from '@material-ui/core/styles';
2
- export const useVitessceContainerStyles = makeStyles(theme => ({
3
- vitessceContainer: {
4
- position: 'relative',
5
- margin: '0',
6
- textAlign: 'left',
7
- backgroundColor: theme.palette.gridLayoutBackground,
8
- '& div': {
9
- fontFamily: '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"',
10
- fontSize: '16px',
11
- fontWeight: '400',
12
- lineHeight: '1.5',
13
- textAlign: 'left',
14
- },
15
- '& p': {
16
- marginTop: '0',
17
- marginBottom: '16px',
18
- },
19
- '& *, ::after, ::before': {
20
- boxSizing: 'border-box',
21
- },
22
- // Manually converted styles from 'react-grid-layout/css/styles.css',
23
- // using https://cssinjs.org/jss-plugin-global/?v=v10.9.2
24
- // so that no CSS or SCSS import is required.
25
- '@global .react-grid-layout': {
26
- transition: 'height 200ms ease',
27
- // Custom
28
- height: 'auto',
29
- position: 'absolute',
30
- width: '100%',
31
- },
32
- '@global .react-grid-item': {
33
- transition: 'all 200ms ease',
34
- transitionProperty: 'left, top',
35
- // Custom
36
- flexDirection: 'column!important',
37
- display: 'flex!important',
38
- /* So the resize handle position looks correct: */
39
- paddingRight: '10px',
40
- },
41
- '@global .react-grid-item img': {
42
- pointerEvents: 'none',
43
- userSelect: 'none',
44
- },
45
- '@global .react-grid-item.cssTransforms': {
46
- transitionProperty: 'transform',
47
- },
48
- '@global .react-grid-item.resizing': {
49
- zIndex: '1',
50
- willChange: 'width, height',
51
- },
52
- '@global .react-grid-item.react-draggable-dragging': {
53
- transition: 'none',
54
- zIndex: '3',
55
- willChange: 'transform',
56
- },
57
- '@global .react-grid-item.dropping': {
58
- visibility: 'hidden',
59
- },
60
- '@global .react-grid-item.react-grid-placeholder': {
61
- background: 'red',
62
- opacity: '0.2',
63
- transitionDuration: '100ms',
64
- zIndex: '2',
65
- userSelect: 'none',
66
- },
67
- '@global .react-grid-item > .react-resizable-handle': {
68
- position: 'absolute',
69
- width: '20px',
70
- height: '20px',
71
- },
72
- '@global .react-grid-item > .react-resizable-handle::after': {
73
- content: '""',
74
- position: 'absolute',
75
- right: '3px',
76
- bottom: '3px',
77
- width: '5px',
78
- height: '5px',
79
- borderRight: '2px solid rgba(0, 0, 0, 0.4)',
80
- borderBottom: '2px solid rgba(0, 0, 0, 0.4)',
81
- },
82
- '@global .react-resizable-hide > .react-resizable-handle': {
83
- display: 'none',
84
- },
85
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-sw': {
86
- bottom: '0',
87
- left: '0',
88
- cursor: 'sw-resize',
89
- transform: 'rotate(90deg)',
90
- },
91
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-se': {
92
- bottom: '0',
93
- right: '0',
94
- cursor: 'se-resize',
95
- },
96
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-nw': {
97
- top: '0',
98
- left: '0',
99
- cursor: 'nw-resize',
100
- transform: 'rotate(180deg)',
101
- },
102
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-ne': {
103
- top: '0',
104
- right: '0',
105
- cursor: 'ne-resize',
106
- transform: 'rotate(270deg)',
107
- },
108
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-w': {
109
- top: '50%',
110
- marginTop: '-10px',
111
- cursor: 'ew-resize',
112
- left: '0',
113
- transform: 'rotate(135deg)',
114
- },
115
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-e': {
116
- top: '50%',
117
- marginTop: '-10px',
118
- cursor: 'ew-resize',
119
- right: '0',
120
- transform: 'rotate(315deg)',
121
- },
122
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-n': {
123
- left: '50%',
124
- marginLeft: '-10px',
125
- cursor: 'ns-resize',
126
- top: '0',
127
- transform: 'rotate(225deg)',
128
- },
129
- '@global .react-grid-item > .react-resizable-handle.react-resizable-handle-s': {
130
- left: '50%',
131
- marginLeft: '-10px',
132
- cursor: 'ns-resize',
133
- bottom: '0',
134
- transform: 'rotate(45deg)',
135
- },
136
- // Manually converted styles from 'react-resizable/css/styles.css',
137
- '@global .react-resizable': {
138
- position: 'relative',
139
- },
140
- '@global .react-resizable-handle': {
141
- position: 'absolute',
142
- width: '20px',
143
- height: '20px',
144
- backgroundRepeat: 'no-repeat',
145
- backgroundOrigin: 'content-box',
146
- boxSizing: 'border-box',
147
- backgroundImage: "url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+')",
148
- backgroundPosition: 'bottom right',
149
- padding: '0 3px 3px 0',
150
- },
151
- '@global .react-resizable-handle-sw': {
152
- bottom: '0',
153
- left: '0',
154
- cursor: 'sw-resize',
155
- transform: 'rotate(90deg)',
156
- },
157
- '@global .react-resizable-handle-se': {
158
- bottom: '0',
159
- right: '0',
160
- cursor: 'se-resize',
161
- },
162
- '@global .react-resizable-handle-nw': {
163
- top: '0',
164
- left: '0',
165
- cursor: 'nw-resize',
166
- transform: 'rotate(180deg)',
167
- },
168
- '@global .react-resizable-handle-ne': {
169
- top: '0',
170
- right: '0',
171
- cursor: 'ne-resize',
172
- transform: 'rotate(270deg)',
173
- },
174
- '@global .react-resizable-handle-w': {
175
- top: '50%',
176
- marginTop: '-10px',
177
- cursor: 'ew-resize',
178
- left: '0',
179
- transform: 'rotate(135deg)',
180
- },
181
- '@global .react-resizable-handle-e': {
182
- top: '50%',
183
- marginTop: '-10px',
184
- cursor: 'ew-resize',
185
- right: '0',
186
- transform: 'rotate(315deg)',
187
- },
188
- '@global .react-resizable-handle-n': {
189
- left: '50%',
190
- marginLeft: '-10px',
191
- cursor: 'ns-resize',
192
- top: '0',
193
- transform: 'rotate(225deg)',
194
- },
195
- '@global .react-resizable-handle-s': {
196
- left: '50%',
197
- marginLeft: '-10px',
198
- cursor: 'ns-resize',
199
- bottom: '0',
200
- transform: 'rotate(45deg)',
201
- },
202
- // Custom
203
- '@global .react-draggable-transparent-selection .react-grid-item': {
204
- /* These styles prevent text selection during resize drag interactions.
205
- The react-draggable-transparent-selection class is added to the body
206
- element during resizing and removed after resizing has finished.
207
- Not part of mixin because acts outside of .vitessce-container. */
208
- userSelect: 'none !important',
209
- },
210
- },
211
- }));
@@ -1,107 +0,0 @@
1
- import { createTheme } from '@material-ui/core/styles';
2
- import { grey } from '@material-ui/core/colors';
3
- const globalColors = {
4
- white: '#FFFFFF',
5
- grayLight: '#D3D3D3',
6
- grayMid: '#808080',
7
- grayDark: '#555555',
8
- black: '#000000',
9
- grayDarkL5: 'rgb(98, 98, 98)',
10
- grayDarkD15: 'rgb(47, 47, 47)',
11
- grayMidL10: 'rgb(154, 154, 154)',
12
- grayLightL10: 'rgb(237, 237, 237)', // lighten(map-get($global-colors, "gray-light"), 10%);
13
- };
14
- const sharedThemeOptions = {
15
- // Use px instead of rem, so that sizing is consistent despite the root element font-size.
16
- // Reference: https://github.com/mui/material-ui/blob/627c08fc/src/styles/createTypography.js
17
- typography: {
18
- pxToRem: size => `${size}px`,
19
- display4: {
20
- fontSize: '112px',
21
- },
22
- display3: {
23
- fontSize: '56px',
24
- },
25
- display2: {
26
- fontSize: '45px',
27
- },
28
- display1: {
29
- fontSize: '34px',
30
- },
31
- headline: {
32
- fontSize: '24px',
33
- },
34
- title: {
35
- fontSize: '21px',
36
- },
37
- subheading: {
38
- fontSize: '16px',
39
- },
40
- body2: {
41
- fontSize: '14px',
42
- },
43
- body1: {
44
- fontSize: '14px',
45
- },
46
- caption: {
47
- fontSize: '12px',
48
- },
49
- },
50
- props: {
51
- MuiButtonBase: {
52
- disableRipple: true,
53
- },
54
- },
55
- };
56
- export const muiTheme = {
57
- dark: createTheme({
58
- palette: {
59
- type: 'dark',
60
- primary: grey,
61
- secondary: grey,
62
- primaryBackground: '#222222',
63
- primaryBackgroundHighlight: '#000000',
64
- primaryBackgroundInput: '#D3D3D3',
65
- primaryBackgroundDim: '#333333',
66
- primaryBackgroundLight: '#757575',
67
- primaryForeground: '#D3D3D3',
68
- primaryForegroundL5: 'rgb(224, 224, 224)',
69
- primaryForegroundL10: 'rgb(237, 237, 237)',
70
- primaryForegroundD15: 'rgb(173, 173, 173)',
71
- primaryForegroundDim: '#000000',
72
- primaryForegroundActive: '#9bb7d6',
73
- secondaryBackground: '#000000',
74
- secondaryBackgroundDim: '#444444',
75
- secondaryForeground: '#D3D3D3',
76
- gridLayoutBackground: '#333333',
77
- cardBorder: 'rgba(0, 0, 0, 0.125)',
78
- ...globalColors,
79
- },
80
- ...sharedThemeOptions,
81
- }),
82
- light: createTheme({
83
- palette: {
84
- type: 'light',
85
- primary: grey,
86
- secondary: grey,
87
- primaryBackground: '#F1F1F1',
88
- primaryBackgroundHighlight: '#FFFFFF',
89
- primaryBackgroundInput: '#FFFFFF',
90
- primaryBackgroundDim: '#8A8A8A',
91
- primaryBackgroundLight: '#e0e0e0',
92
- primaryForeground: '#333333',
93
- primaryForegroundL5: 'rgb(64, 64, 64)',
94
- primaryForegroundL10: 'rgb(77, 77, 77)',
95
- primaryForegroundD15: 'rgb(13, 13, 13)',
96
- primaryForegroundDim: '#808080',
97
- primaryForegroundActive: '#0074D9',
98
- secondaryBackground: '#F1F1F1',
99
- secondaryBackgroundDim: '#C0C0C0',
100
- secondaryForeground: '#222222',
101
- gridLayoutBackground: '#FFFFFF',
102
- cardBorder: 'rgba(241, 241, 241, 0.125)',
103
- ...globalColors,
104
- },
105
- ...sharedThemeOptions,
106
- }),
107
- };
@@ -1,18 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- import TableCell from '@material-ui/core/TableCell';
4
- import TableRow from '@material-ui/core/TableRow';
5
- import { capitalize } from '@vitessce/utils';
6
- import OptionSelect from './OptionSelect';
7
- import { useStyles } from './styles';
8
- export default function CellColorEncodingOption(props) {
9
- const { observationsLabel, cellColorEncoding, setCellColorEncoding, } = props;
10
- const classes = useStyles();
11
- const observationsLabelNice = capitalize(observationsLabel);
12
- function handleColorEncodingChange(event) {
13
- setCellColorEncoding(event.target.value);
14
- }
15
- return (_jsxs(TableRow, { children: [_jsxs(TableCell, { className: classes.labelCell, htmlFor: "cell-color-encoding-select", children: [observationsLabelNice, " Color Encoding"] }), _jsx(TableCell, { className: classes.inputCell, children: _jsxs(OptionSelect, { className: classes.select, value: cellColorEncoding, onChange: handleColorEncodingChange, inputProps: {
16
- id: 'cell-color-encoding-select',
17
- }, children: [_jsx("option", { value: "cellSetSelection", children: "Cell Sets" }), _jsx("option", { value: "geneSelection", children: "Gene Expression" })] }) })] }));
18
- }
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- import Select from '@material-ui/core/Select';
4
- import { useStyles } from './styles';
5
- export default function OptionSelect(props) {
6
- const { classes: classesProp = {} } = props;
7
- const classes = useStyles();
8
- return (_jsx(Select, { native: true, disableUnderline: true, ...props, classes: {
9
- root: classes.selectRoot,
10
- ...classesProp,
11
- } }));
12
- }
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from 'react';
3
- import Box from '@material-ui/core/Box';
4
- import Table from '@material-ui/core/Table';
5
- import TableBody from '@material-ui/core/TableBody';
6
- import TableContainer from '@material-ui/core/TableContainer';
7
- import { useStyles } from './styles';
8
- export default function OptionsContainer(props) {
9
- const { children, } = props;
10
- const classes = useStyles();
11
- return (_jsx(Box, { className: classes.box, children: _jsx(TableContainer, { className: classes.tableContainer, children: _jsx(Table, { className: classes.table, size: "small", children: _jsx(TableBody, { children: children }) }) }) }));
12
- }
@@ -1,48 +0,0 @@
1
- import { makeStyles } from '@material-ui/core/styles';
2
- export const useStyles = makeStyles(theme => ({
3
- box: {
4
- boxSizing: 'border-box',
5
- },
6
- checkbox: {
7
- padding: '3px',
8
- color: theme.palette.primaryForeground,
9
- '&:checked': {
10
- color: theme.palette.primaryForeground,
11
- },
12
- '& input': {
13
- height: '100%',
14
- },
15
- },
16
- slider: {
17
- color: theme.palette.primaryForeground,
18
- minWidth: '60px',
19
- padding: '10px 0 10px 0',
20
- },
21
- sliderValueLabel: {
22
- '& span': {
23
- '& span': {
24
- color: theme.palette.primaryBackground,
25
- },
26
- },
27
- },
28
- tableContainer: {
29
- overflow: 'hidden',
30
- overflowX: 'hidden !important',
31
- },
32
- labelCell: {
33
- padding: '2px 8px 2px 16px',
34
- },
35
- inputCell: {
36
- padding: '2px 16px 2px 8px',
37
- overflow: 'visible',
38
- },
39
- select: {
40
- '& select': {
41
- fontSize: '14px',
42
- },
43
- },
44
- selectRoot: {
45
- padding: 0,
46
- height: 'auto',
47
- },
48
- }));