@deephaven/iris-grid 0.31.2-beta.3 → 0.31.2-beta.8
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.
- package/dist/IrisGrid.css +7 -0
- package/dist/IrisGrid.css.map +1 -1
- package/dist/IrisGrid.d.ts +3 -0
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +78 -52
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +1 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +16 -11
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js +1 -0
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTheme.module.css +1 -0
- package/dist/IrisGridTheme.module.css.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.d.ts +17 -0
- package/dist/mousehandlers/IrisGridTokenMouseHandler.d.ts.map +1 -0
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +136 -0
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -0
- package/dist/mousehandlers/index.d.ts +1 -0
- package/dist/mousehandlers/index.d.ts.map +1 -1
- package/dist/mousehandlers/index.js +1 -0
- package/dist/mousehandlers/index.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +4 -2
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +43 -15
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
- package/package.json +15 -15
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
1
|
+
import React, { useEffect, useRef, useState, useCallback } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
4
|
import { Button, ThemeExport } from '@deephaven/components';
|
|
@@ -19,11 +19,15 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
19
19
|
var groupRef = useRef(group);
|
|
20
20
|
var nameInputRef = useRef(null);
|
|
21
21
|
var colorInputRef = useRef(null);
|
|
22
|
+
var [isColorInputOpen, setIsColorInputOpen] = useState(false);
|
|
22
23
|
var [name, setName] = useState(isNew ? '' : group.name);
|
|
23
24
|
var [isEditing, setIsEditing] = useState(isNew);
|
|
24
|
-
var [
|
|
25
|
+
var [shouldValidate, setShouldValidate] = useState(false);
|
|
25
26
|
var nameValidationError = name !== group.name ? validateName(name) : '';
|
|
26
|
-
var isValid = isNew && !
|
|
27
|
+
var isValid = isNew && !shouldValidate || nameValidationError === '';
|
|
28
|
+
var colorInputBlurHandler = useCallback(() => {
|
|
29
|
+
setIsColorInputOpen(false);
|
|
30
|
+
}, []);
|
|
27
31
|
useEffect(function focusEditInput() {
|
|
28
32
|
if (isEditing && nameInputRef.current) {
|
|
29
33
|
// This is solely b/c RTL doesn't count select as focusing the element
|
|
@@ -40,6 +44,30 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
40
44
|
}
|
|
41
45
|
};
|
|
42
46
|
}, [onDelete]);
|
|
47
|
+
useEffect(function openColorInput() {
|
|
48
|
+
if (isColorInputOpen) {
|
|
49
|
+
var _colorInputRef$curren, _colorInputRef$curren2;
|
|
50
|
+
(_colorInputRef$curren = colorInputRef.current) === null || _colorInputRef$curren === void 0 ? void 0 : _colorInputRef$curren.click();
|
|
51
|
+
// Mostly for testing. Chrome seems to not give the hidden input focus
|
|
52
|
+
// Really would only affect screen readers
|
|
53
|
+
(_colorInputRef$curren2 = colorInputRef.current) === null || _colorInputRef$curren2 === void 0 ? void 0 : _colorInputRef$curren2.focus();
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Adding this event handler is for Firefox on Mac
|
|
57
|
+
* There seems to be buggy behavior when multiple color inputs are on the same page
|
|
58
|
+
* Clicking between the inputs without closing the previous causes a bad state
|
|
59
|
+
* The user gets to a point where they can't open most of the pickers
|
|
60
|
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=1618418
|
|
61
|
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=975468
|
|
62
|
+
* Instead, we remove the color input when any focus is returned to the window
|
|
63
|
+
* This causes Firefox on Mac to mostly operate correctly
|
|
64
|
+
* Firefox seems to ignore the first click back into the window and emit no event
|
|
65
|
+
* So opening a color picker when another is open requires 2 clicks in Firefox
|
|
66
|
+
*/
|
|
67
|
+
window.addEventListener('click', colorInputBlurHandler, true);
|
|
68
|
+
}
|
|
69
|
+
return () => window.removeEventListener('click', colorInputBlurHandler, true);
|
|
70
|
+
}, [isColorInputOpen, colorInputBlurHandler]);
|
|
43
71
|
var handleConfirm = () => {
|
|
44
72
|
if (isValid) {
|
|
45
73
|
onNameChange(group, name);
|
|
@@ -55,7 +83,7 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
55
83
|
setIsEditing(false);
|
|
56
84
|
};
|
|
57
85
|
var handleEditKeyDown = e => {
|
|
58
|
-
|
|
86
|
+
setShouldValidate(true);
|
|
59
87
|
if (e.key === 'Enter') {
|
|
60
88
|
e.stopPropagation();
|
|
61
89
|
handleConfirm();
|
|
@@ -78,7 +106,8 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
78
106
|
value: name,
|
|
79
107
|
placeholder: "Group Name",
|
|
80
108
|
onChange: e => setName(e.target.value),
|
|
81
|
-
onKeyDown: handleEditKeyDown
|
|
109
|
+
onKeyDown: handleEditKeyDown,
|
|
110
|
+
onBlur: () => setShouldValidate(true)
|
|
82
111
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
83
112
|
kind: "ghost",
|
|
84
113
|
icon: vsCheck,
|
|
@@ -128,15 +157,14 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
128
157
|
color: group.color,
|
|
129
158
|
transform: "shrink-2 down-1"
|
|
130
159
|
})) : vsPaintcan,
|
|
131
|
-
tooltip: "Set color"
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
160
|
+
tooltip: "Set color"
|
|
161
|
+
/**
|
|
162
|
+
* Toggle to close the picker on Chrome
|
|
163
|
+
* Prevents Firefox on Mac from getting into a stuck state
|
|
164
|
+
* Does not close on Firefox b/c the picker stays open when the element is removed
|
|
165
|
+
*/,
|
|
166
|
+
onClick: () => setIsColorInputOpen(val => !val)
|
|
167
|
+
}), isColorInputOpen && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("input", {
|
|
140
168
|
"aria-label": "Color input",
|
|
141
169
|
ref: colorInputRef,
|
|
142
170
|
type: "color",
|
|
@@ -155,6 +183,6 @@ export default function VisibilityOrderingGroup(props) {
|
|
|
155
183
|
}
|
|
156
184
|
}), /*#__PURE__*/React.createElement("datalist", {
|
|
157
185
|
id: "presetColors"
|
|
158
|
-
}, /*#__PURE__*/React.createElement("option", null, ThemeExport['content-bg']), /*#__PURE__*/React.createElement("option", null, ThemeExport.primary), /*#__PURE__*/React.createElement("option", null, ThemeExport.foreground), /*#__PURE__*/React.createElement("option", null, ThemeExport.green), /*#__PURE__*/React.createElement("option", null, ThemeExport.yellow), /*#__PURE__*/React.createElement("option", null, ThemeExport.orange), /*#__PURE__*/React.createElement("option", null, ThemeExport.red), /*#__PURE__*/React.createElement("option", null, ThemeExport.purple), /*#__PURE__*/React.createElement("option", null, ThemeExport.blue), /*#__PURE__*/React.createElement("option", null, ThemeExport['gray-400']))));
|
|
186
|
+
}, /*#__PURE__*/React.createElement("option", null, ThemeExport['content-bg']), /*#__PURE__*/React.createElement("option", null, ThemeExport.primary), /*#__PURE__*/React.createElement("option", null, ThemeExport.foreground), /*#__PURE__*/React.createElement("option", null, ThemeExport.green), /*#__PURE__*/React.createElement("option", null, ThemeExport.yellow), /*#__PURE__*/React.createElement("option", null, ThemeExport.orange), /*#__PURE__*/React.createElement("option", null, ThemeExport.red), /*#__PURE__*/React.createElement("option", null, ThemeExport.purple), /*#__PURE__*/React.createElement("option", null, ThemeExport.blue), /*#__PURE__*/React.createElement("option", null, ThemeExport['gray-400'])))));
|
|
159
187
|
}
|
|
160
188
|
//# sourceMappingURL=VisibilityOrderingGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityOrderingGroup.js","names":["React","useEffect","useRef","useState","classNames","FontAwesomeIcon","Button","ThemeExport","dhSquareFilled","vsCheck","vsChromeClose","vsEdit","vsPaintcan","vsTrash","VisibilityOrderingGroup","props","group","onDelete","onColorChange","onNameChange","validateName","isNew","groupRef","nameInputRef","colorInputRef","name","setName","isEditing","setIsEditing","hasTyped","setHasTyped","nameValidationError","isValid","focusEditInput","current","focus","select","deleteNewOnUnmount","handleConfirm","handleCancel","handleEditKeyDown","e","key","stopPropagation","target","value","color","undefined","white","click","visibility","width","height","padding","border","primary","foreground","green","yellow","orange","red","purple","blue"],"sources":["../../../src/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, ThemeExport } from '@deephaven/components';\nimport {\n dhSquareFilled,\n vsCheck,\n vsChromeClose,\n vsEdit,\n vsPaintcan,\n vsTrash,\n} from '@deephaven/icons';\nimport type ColumnHeaderGroup from '../../ColumnHeaderGroup';\nimport './VisibilityOrderingGroup.scss';\n\ninterface VisibilityOrderingGroupProps {\n group: ColumnHeaderGroup;\n onDelete(group: ColumnHeaderGroup): void;\n onColorChange(group: ColumnHeaderGroup, color: string | undefined): void;\n onNameChange(group: ColumnHeaderGroup, name: string): void;\n validateName(name: string): string;\n}\n\nexport default function VisibilityOrderingGroup(\n props: VisibilityOrderingGroupProps\n): JSX.Element {\n const { group, onDelete, onColorChange, onNameChange, validateName } = props;\n const { isNew } = group;\n const groupRef = useRef(group);\n const nameInputRef = useRef<HTMLInputElement>(null);\n const colorInputRef = useRef<HTMLInputElement>(null);\n const [name, setName] = useState(isNew ? '' : group.name);\n const [isEditing, setIsEditing] = useState(isNew);\n const [hasTyped, setHasTyped] = useState(false);\n const nameValidationError = name !== group.name ? validateName(name) : '';\n const isValid = (isNew && !hasTyped) || nameValidationError === '';\n\n useEffect(\n function focusEditInput() {\n if (isEditing && nameInputRef.current) {\n // This is solely b/c RTL doesn't count select as focusing the element\n // Might be fixed in v13+ of RTL\n nameInputRef.current.focus();\n nameInputRef.current.select();\n }\n },\n [isEditing]\n );\n\n useEffect(\n function deleteNewOnUnmount() {\n return () => {\n if (groupRef.current.isNew) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n onDelete(groupRef.current);\n }\n };\n },\n [onDelete]\n );\n\n const handleConfirm = () => {\n if (isValid) {\n onNameChange(group, name);\n setIsEditing(false);\n }\n };\n\n const handleCancel = () => {\n if (isNew) {\n onDelete(group);\n return;\n }\n setName(group.name);\n setIsEditing(false);\n };\n\n const handleEditKeyDown = (e: React.KeyboardEvent): void => {\n setHasTyped(true);\n if (e.key === 'Enter') {\n e.stopPropagation();\n handleConfirm();\n }\n\n if (e.key === ' ') {\n e.stopPropagation();\n }\n\n if (e.key === 'Escape') {\n handleCancel();\n }\n };\n\n if (isEditing) {\n return (\n <>\n <div className=\"editing-container\">\n <input\n ref={nameInputRef}\n className={classNames('form-control', {\n 'is-invalid': !isValid,\n })}\n value={name}\n placeholder=\"Group Name\"\n onChange={e => setName(e.target.value)}\n onKeyDown={handleEditKeyDown}\n />\n <Button\n kind=\"ghost\"\n icon={vsCheck}\n tooltip=\"Confirm\"\n onClick={handleConfirm}\n />\n <Button\n kind=\"ghost\"\n icon={vsChromeClose}\n tooltip=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n {!isValid && (\n <p className=\"mb-0 validate-label-error text-danger\">\n {nameValidationError}\n </p>\n )}\n </>\n );\n }\n\n return (\n <div className=\"group-name-wrapper\">\n <span className=\"column-name\">{name}</span>\n <Button\n className=\"p-1 mx-1\"\n kind=\"ghost\"\n icon={vsEdit}\n tooltip=\"Edit\"\n onClick={() => {\n setIsEditing(true);\n }}\n />\n\n <span className=\"right-buttons\">\n <Button\n kind=\"ghost\"\n icon={vsTrash}\n tooltip=\"Delete group\"\n onClick={() => onDelete(group)}\n />\n <Button\n kind=\"ghost\"\n className=\"color-swatch mr-1\"\n icon={\n group.color !== undefined ? (\n <span className=\"fa-layers\">\n <FontAwesomeIcon\n className=\"color-swatch\"\n icon={dhSquareFilled}\n color={ThemeExport.white}\n transform=\"down-1\"\n />\n <FontAwesomeIcon\n className=\"color-swatch\"\n icon={dhSquareFilled}\n color={group.color}\n transform=\"shrink-2 down-1\"\n />\n </span>\n ) : (\n vsPaintcan\n )\n }\n tooltip=\"Set color\"\n onClick={() => {\n colorInputRef.current?.click();\n // Mostly for testing. Chrome seems to not give the hidden input focus\n // Really would only affect screen readers\n colorInputRef.current?.focus();\n }}\n />\n <input\n aria-label=\"Color input\"\n ref={colorInputRef}\n type=\"color\"\n list=\"presetColors\"\n value={group.color ?? ThemeExport['content-bg']}\n style={{\n visibility: 'hidden',\n width: 0,\n height: 0,\n padding: 0,\n border: 0,\n }}\n onChange={e => {\n group.color = e.target.value;\n onColorChange(group, e.target.value);\n }}\n />\n <datalist id=\"presetColors\">\n <option>{ThemeExport['content-bg']}</option>\n <option>{ThemeExport.primary}</option>\n <option>{ThemeExport.foreground}</option>\n <option>{ThemeExport.green}</option>\n <option>{ThemeExport.yellow}</option>\n <option>{ThemeExport.orange}</option>\n <option>{ThemeExport.red}</option>\n <option>{ThemeExport.purple}</option>\n <option>{ThemeExport.blue}</option>\n <option>{ThemeExport['gray-400']}</option>\n </datalist>\n </span>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VisibilityOrderingGroup.js","names":["React","useEffect","useRef","useState","useCallback","classNames","FontAwesomeIcon","Button","ThemeExport","dhSquareFilled","vsCheck","vsChromeClose","vsEdit","vsPaintcan","vsTrash","VisibilityOrderingGroup","props","group","onDelete","onColorChange","onNameChange","validateName","isNew","groupRef","nameInputRef","colorInputRef","isColorInputOpen","setIsColorInputOpen","name","setName","isEditing","setIsEditing","shouldValidate","setShouldValidate","nameValidationError","isValid","colorInputBlurHandler","focusEditInput","current","focus","select","deleteNewOnUnmount","openColorInput","click","window","addEventListener","removeEventListener","handleConfirm","handleCancel","handleEditKeyDown","e","key","stopPropagation","target","value","color","undefined","white","val","visibility","width","height","padding","border","primary","foreground","green","yellow","orange","red","purple","blue"],"sources":["../../../src/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, ThemeExport } from '@deephaven/components';\nimport {\n dhSquareFilled,\n vsCheck,\n vsChromeClose,\n vsEdit,\n vsPaintcan,\n vsTrash,\n} from '@deephaven/icons';\nimport type ColumnHeaderGroup from '../../ColumnHeaderGroup';\nimport './VisibilityOrderingGroup.scss';\n\ninterface VisibilityOrderingGroupProps {\n group: ColumnHeaderGroup;\n onDelete(group: ColumnHeaderGroup): void;\n onColorChange(group: ColumnHeaderGroup, color: string | undefined): void;\n onNameChange(group: ColumnHeaderGroup, name: string): void;\n validateName(name: string): string;\n}\n\nexport default function VisibilityOrderingGroup(\n props: VisibilityOrderingGroupProps\n): JSX.Element {\n const { group, onDelete, onColorChange, onNameChange, validateName } = props;\n const { isNew } = group;\n const groupRef = useRef(group);\n const nameInputRef = useRef<HTMLInputElement>(null);\n const colorInputRef = useRef<HTMLInputElement>(null);\n const [isColorInputOpen, setIsColorInputOpen] = useState(false);\n const [name, setName] = useState(isNew ? '' : group.name);\n const [isEditing, setIsEditing] = useState(isNew);\n const [shouldValidate, setShouldValidate] = useState(false);\n const nameValidationError = name !== group.name ? validateName(name) : '';\n const isValid = (isNew && !shouldValidate) || nameValidationError === '';\n const colorInputBlurHandler = useCallback(() => {\n setIsColorInputOpen(false);\n }, []);\n\n useEffect(\n function focusEditInput() {\n if (isEditing && nameInputRef.current) {\n // This is solely b/c RTL doesn't count select as focusing the element\n // Might be fixed in v13+ of RTL\n nameInputRef.current.focus();\n nameInputRef.current.select();\n }\n },\n [isEditing]\n );\n\n useEffect(\n function deleteNewOnUnmount() {\n return () => {\n if (groupRef.current.isNew) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n onDelete(groupRef.current);\n }\n };\n },\n [onDelete]\n );\n\n useEffect(\n function openColorInput() {\n if (isColorInputOpen) {\n colorInputRef.current?.click();\n // Mostly for testing. Chrome seems to not give the hidden input focus\n // Really would only affect screen readers\n colorInputRef.current?.focus();\n\n /**\n * Adding this event handler is for Firefox on Mac\n * There seems to be buggy behavior when multiple color inputs are on the same page\n * Clicking between the inputs without closing the previous causes a bad state\n * The user gets to a point where they can't open most of the pickers\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1618418\n * https://bugzilla.mozilla.org/show_bug.cgi?id=975468\n * Instead, we remove the color input when any focus is returned to the window\n * This causes Firefox on Mac to mostly operate correctly\n * Firefox seems to ignore the first click back into the window and emit no event\n * So opening a color picker when another is open requires 2 clicks in Firefox\n */\n window.addEventListener('click', colorInputBlurHandler, true);\n }\n\n return () =>\n window.removeEventListener('click', colorInputBlurHandler, true);\n },\n [isColorInputOpen, colorInputBlurHandler]\n );\n\n const handleConfirm = () => {\n if (isValid) {\n onNameChange(group, name);\n setIsEditing(false);\n }\n };\n\n const handleCancel = () => {\n if (isNew) {\n onDelete(group);\n return;\n }\n setName(group.name);\n setIsEditing(false);\n };\n\n const handleEditKeyDown = (e: React.KeyboardEvent): void => {\n setShouldValidate(true);\n if (e.key === 'Enter') {\n e.stopPropagation();\n handleConfirm();\n }\n\n if (e.key === ' ') {\n e.stopPropagation();\n }\n\n if (e.key === 'Escape') {\n handleCancel();\n }\n };\n\n if (isEditing) {\n return (\n <>\n <div className=\"editing-container\">\n <input\n ref={nameInputRef}\n className={classNames('form-control', {\n 'is-invalid': !isValid,\n })}\n value={name}\n placeholder=\"Group Name\"\n onChange={e => setName(e.target.value)}\n onKeyDown={handleEditKeyDown}\n onBlur={() => setShouldValidate(true)}\n />\n <Button\n kind=\"ghost\"\n icon={vsCheck}\n tooltip=\"Confirm\"\n onClick={handleConfirm}\n />\n <Button\n kind=\"ghost\"\n icon={vsChromeClose}\n tooltip=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n {!isValid && (\n <p className=\"mb-0 validate-label-error text-danger\">\n {nameValidationError}\n </p>\n )}\n </>\n );\n }\n\n return (\n <div className=\"group-name-wrapper\">\n <span className=\"column-name\">{name}</span>\n <Button\n className=\"p-1 mx-1\"\n kind=\"ghost\"\n icon={vsEdit}\n tooltip=\"Edit\"\n onClick={() => {\n setIsEditing(true);\n }}\n />\n\n <span className=\"right-buttons\">\n <Button\n kind=\"ghost\"\n icon={vsTrash}\n tooltip=\"Delete group\"\n onClick={() => onDelete(group)}\n />\n <Button\n kind=\"ghost\"\n className=\"color-swatch mr-1\"\n icon={\n group.color !== undefined ? (\n <span className=\"fa-layers\">\n <FontAwesomeIcon\n className=\"color-swatch\"\n icon={dhSquareFilled}\n color={ThemeExport.white}\n transform=\"down-1\"\n />\n <FontAwesomeIcon\n className=\"color-swatch\"\n icon={dhSquareFilled}\n color={group.color}\n transform=\"shrink-2 down-1\"\n />\n </span>\n ) : (\n vsPaintcan\n )\n }\n tooltip=\"Set color\"\n /**\n * Toggle to close the picker on Chrome\n * Prevents Firefox on Mac from getting into a stuck state\n * Does not close on Firefox b/c the picker stays open when the element is removed\n */\n onClick={() => setIsColorInputOpen(val => !val)}\n />\n {isColorInputOpen && (\n <>\n <input\n aria-label=\"Color input\"\n ref={colorInputRef}\n type=\"color\"\n list=\"presetColors\"\n value={group.color ?? ThemeExport['content-bg']}\n style={{\n visibility: 'hidden',\n width: 0,\n height: 0,\n padding: 0,\n border: 0,\n }}\n onChange={e => {\n group.color = e.target.value;\n onColorChange(group, e.target.value);\n }}\n />\n <datalist id=\"presetColors\">\n <option>{ThemeExport['content-bg']}</option>\n <option>{ThemeExport.primary}</option>\n <option>{ThemeExport.foreground}</option>\n <option>{ThemeExport.green}</option>\n <option>{ThemeExport.yellow}</option>\n <option>{ThemeExport.orange}</option>\n <option>{ThemeExport.red}</option>\n <option>{ThemeExport.purple}</option>\n <option>{ThemeExport.blue}</option>\n <option>{ThemeExport['gray-400']}</option>\n </datalist>\n </>\n )}\n </span>\n </div>\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.31.2-beta.
|
|
3
|
+
"version": "0.31.2-beta.8+f7f918e",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@deephaven/components": "^0.31.2-beta.
|
|
27
|
-
"@deephaven/console": "^0.31.2-beta.
|
|
28
|
-
"@deephaven/filters": "^0.31.2-beta.
|
|
29
|
-
"@deephaven/grid": "^0.31.2-beta.
|
|
30
|
-
"@deephaven/icons": "^0.31.2-beta.
|
|
31
|
-
"@deephaven/jsapi-shim": "^0.31.2-beta.
|
|
32
|
-
"@deephaven/jsapi-utils": "^0.31.2-beta.
|
|
33
|
-
"@deephaven/log": "^0.31.2-beta.
|
|
34
|
-
"@deephaven/react-hooks": "^0.31.2-beta.
|
|
35
|
-
"@deephaven/storage": "^0.31.2-beta.
|
|
36
|
-
"@deephaven/utils": "^0.31.2-beta.
|
|
26
|
+
"@deephaven/components": "^0.31.2-beta.8+f7f918e",
|
|
27
|
+
"@deephaven/console": "^0.31.2-beta.8+f7f918e",
|
|
28
|
+
"@deephaven/filters": "^0.31.2-beta.8+f7f918e",
|
|
29
|
+
"@deephaven/grid": "^0.31.2-beta.8+f7f918e",
|
|
30
|
+
"@deephaven/icons": "^0.31.2-beta.8+f7f918e",
|
|
31
|
+
"@deephaven/jsapi-shim": "^0.31.2-beta.8+f7f918e",
|
|
32
|
+
"@deephaven/jsapi-utils": "^0.31.2-beta.8+f7f918e",
|
|
33
|
+
"@deephaven/log": "^0.31.2-beta.8+f7f918e",
|
|
34
|
+
"@deephaven/react-hooks": "^0.31.2-beta.8+f7f918e",
|
|
35
|
+
"@deephaven/storage": "^0.31.2-beta.8+f7f918e",
|
|
36
|
+
"@deephaven/utils": "^0.31.2-beta.8+f7f918e",
|
|
37
37
|
"@dnd-kit/core": "^6.0.5",
|
|
38
38
|
"@dnd-kit/sortable": "^7.0.0",
|
|
39
39
|
"@dnd-kit/utilities": "^3.2.0",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"react-dom": "^17.x"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@deephaven/mocks": "^0.31.2-beta.
|
|
61
|
-
"@deephaven/tsconfig": "^0.31.2-beta.
|
|
60
|
+
"@deephaven/mocks": "^0.31.2-beta.8+f7f918e",
|
|
61
|
+
"@deephaven/tsconfig": "^0.31.2-beta.8+f7f918e"
|
|
62
62
|
},
|
|
63
63
|
"files": [
|
|
64
64
|
"dist"
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "f7f918e7f0c5f1b0fb4030eb748010aaf4d196df"
|
|
73
73
|
}
|