@deephaven/components 1.20.0 → 1.21.1
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/AutoResizeTextarea.d.ts +1 -1
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +32 -17
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/dialogs/ActionButtonDialogTrigger.d.ts +1 -1
- package/dist/dialogs/ActionButtonDialogTrigger.d.ts.map +1 -1
- package/dist/dialogs/ActionButtonDialogTrigger.js.map +1 -1
- package/dist/spectrum/comboBox/ComboBox.d.ts +1 -1
- package/dist/spectrum/index.d.ts +1 -0
- package/dist/spectrum/index.d.ts.map +1 -1
- package/dist/spectrum/index.js +1 -0
- package/dist/spectrum/index.js.map +1 -1
- package/dist/spectrum/listView/ListView.d.ts +1 -1
- package/dist/spectrum/listView/ListView.d.ts.map +1 -1
- package/dist/spectrum/listView/ListView.js.map +1 -1
- package/dist/spectrum/multiSelect/MultiSelect.css +326 -0
- package/dist/spectrum/multiSelect/MultiSelect.css.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelect.d.ts +7 -0
- package/dist/spectrum/multiSelect/MultiSelect.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelect.js +445 -0
- package/dist/spectrum/multiSelect/MultiSelect.js.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectListBox.d.ts +29 -0
- package/dist/spectrum/multiSelect/MultiSelectListBox.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectListBox.js +41 -0
- package/dist/spectrum/multiSelect/MultiSelectListBox.js.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectNormalized.d.ts +8 -0
- package/dist/spectrum/multiSelect/MultiSelectNormalized.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectNormalized.js +37 -0
- package/dist/spectrum/multiSelect/MultiSelectNormalized.js.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectProps.d.ts +121 -0
- package/dist/spectrum/multiSelect/MultiSelectProps.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectProps.js +2 -0
- package/dist/spectrum/multiSelect/MultiSelectProps.js.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectTag.d.ts +14 -0
- package/dist/spectrum/multiSelect/MultiSelectTag.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/MultiSelectTag.js +36 -0
- package/dist/spectrum/multiSelect/MultiSelectTag.js.map +1 -0
- package/dist/spectrum/multiSelect/index.d.ts +4 -0
- package/dist/spectrum/multiSelect/index.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/index.js +4 -0
- package/dist/spectrum/multiSelect/index.js.map +1 -0
- package/dist/spectrum/multiSelect/multiSelectUtils.d.ts +53 -0
- package/dist/spectrum/multiSelect/multiSelectUtils.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/multiSelectUtils.js +166 -0
- package/dist/spectrum/multiSelect/multiSelectUtils.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectFilter.d.ts +27 -0
- package/dist/spectrum/multiSelect/useMultiSelectFilter.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectFilter.js +51 -0
- package/dist/spectrum/multiSelect/useMultiSelectFilter.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectKeyboard.d.ts +40 -0
- package/dist/spectrum/multiSelect/useMultiSelectKeyboard.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectKeyboard.js +200 -0
- package/dist/spectrum/multiSelect/useMultiSelectKeyboard.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectLoadingSpinner.d.ts +11 -0
- package/dist/spectrum/multiSelect/useMultiSelectLoadingSpinner.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectLoadingSpinner.js +44 -0
- package/dist/spectrum/multiSelect/useMultiSelectLoadingSpinner.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectNormalizedProps.d.ts +21 -0
- package/dist/spectrum/multiSelect/useMultiSelectNormalizedProps.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectNormalizedProps.js +83 -0
- package/dist/spectrum/multiSelect/useMultiSelectNormalizedProps.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectScrollListener.d.ts +17 -0
- package/dist/spectrum/multiSelect/useMultiSelectScrollListener.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectScrollListener.js +55 -0
- package/dist/spectrum/multiSelect/useMultiSelectScrollListener.js.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectState.d.ts +26 -0
- package/dist/spectrum/multiSelect/useMultiSelectState.d.ts.map +1 -0
- package/dist/spectrum/multiSelect/useMultiSelectState.js +67 -0
- package/dist/spectrum/multiSelect/useMultiSelectState.js.map +1 -0
- package/dist/spectrum/overlays.d.ts +1 -1
- package/dist/spectrum/overlays.d.ts.map +1 -1
- package/dist/spectrum/overlays.js.map +1 -1
- package/dist/spectrum/picker/Picker.d.ts +1 -1
- package/dist/spectrum/picker/PickerProps.d.ts +1 -1
- package/dist/spectrum/picker/PickerProps.d.ts.map +1 -1
- package/dist/spectrum/picker/PickerProps.js.map +1 -1
- package/dist/spectrum/picker/usePickerProps.js +1 -1
- package/dist/spectrum/picker/usePickerProps.js.map +1 -1
- package/dist/spectrum/utils/itemWrapperUtils.d.ts +1 -1
- package/dist/spectrum/utils/itemWrapperUtils.d.ts.map +1 -1
- package/dist/spectrum/utils/itemWrapperUtils.js +3 -0
- package/dist/spectrum/utils/itemWrapperUtils.js.map +1 -1
- package/dist/spectrum/utils/themeUtils.d.ts +3 -3
- package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts.map +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.js +12 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.js.map +1 -1
- package/package.json +18 -11
|
@@ -12,7 +12,7 @@ interface AutoResizeTextareaProps {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Makes a textarea that auto resizes based on contents, its height grows with new lines.
|
|
15
|
-
* If a
|
|
15
|
+
* If a delimiter is set, such as " -" or " ", as used by jvm args or env vars
|
|
16
16
|
* then the field will also "explode" the value by the delimiter over new lines
|
|
17
17
|
* on focus, and implode on blur. By default, it doesn't word wrap.
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../src/AutoResizeTextarea.tsx"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"AutoResizeTextarea.d.ts","sourceRoot":"","sources":["../src/AutoResizeTextarea.tsx"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,CAAC;AAEnC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAqBD;;;;;GAKG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,SAAc,EACd,KAAK,EAAE,UAAU,EACjB,QAAQ,EACR,UAAkB,EAClB,WAAgB,EAChB,QAAgB,EAChB,SAAc,EACd,EAAO,EACP,aAAa,EAAE,UAAU,GAC1B,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAyGvC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -2,9 +2,21 @@ import React, { useState, useRef, useEffect } from 'react';
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import "./AutoResizeTextarea.css";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
function implode(input) {
|
|
6
|
+
return input.split('\n').map(string => string.trim()).filter(string => string) // remove empty strings (e.g. from trailing newlines)
|
|
7
|
+
.join(' ');
|
|
8
|
+
}
|
|
9
|
+
function explode(input, delimiter) {
|
|
10
|
+
// split by delimiter, commonly " " or " -"
|
|
11
|
+
// strip empty strings (if delimiter is space, and there are multiple spaces in a row)
|
|
12
|
+
// and join with new line and a trimmed delimiter (get rid of leading spaces)
|
|
13
|
+
return input.trim().split(delimiter).filter(string => string) // remove empty strings
|
|
14
|
+
.join("\n".concat(delimiter.trim()));
|
|
15
|
+
}
|
|
16
|
+
|
|
5
17
|
/**
|
|
6
18
|
* Makes a textarea that auto resizes based on contents, its height grows with new lines.
|
|
7
|
-
* If a
|
|
19
|
+
* If a delimiter is set, such as " -" or " ", as used by jvm args or env vars
|
|
8
20
|
* then the field will also "explode" the value by the delimiter over new lines
|
|
9
21
|
* on focus, and implode on blur. By default, it doesn't word wrap.
|
|
10
22
|
*/
|
|
@@ -23,20 +35,18 @@ function AutoResizeTextarea(_ref) {
|
|
|
23
35
|
var [value, setValue] = useState(propsValue);
|
|
24
36
|
var [isPastedChange, setIsPastedChange] = useState(false);
|
|
25
37
|
var element = useRef(null);
|
|
38
|
+
var isFocused = useRef(false);
|
|
39
|
+
var valueRef = useRef(value);
|
|
40
|
+
valueRef.current = value;
|
|
26
41
|
useEffect(function syncStateWithProp() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
.join("\n".concat(delimiter.trim()));
|
|
36
|
-
}
|
|
37
|
-
function implode(input) {
|
|
38
|
-
return input.split('\n').map(string => string.trim()).join(' ');
|
|
39
|
-
}
|
|
42
|
+
if (!isFocused.current || !delimiter) {
|
|
43
|
+
// When not focused (or no delimiter), always sync to the new prop value.
|
|
44
|
+
setValue(propsValue);
|
|
45
|
+
} else if (implode(valueRef.current) !== implode(propsValue)) {
|
|
46
|
+
// When focused with delimiter, only update if the imploded value changed to prevent clobbering delimiters
|
|
47
|
+
setValue(explode(propsValue, delimiter));
|
|
48
|
+
}
|
|
49
|
+
}, [propsValue, delimiter]);
|
|
40
50
|
function reCalculateLayout() {
|
|
41
51
|
if (!element.current) {
|
|
42
52
|
return;
|
|
@@ -49,18 +59,22 @@ function AutoResizeTextarea(_ref) {
|
|
|
49
59
|
function handleChange(event) {
|
|
50
60
|
var newValue = event.target.value;
|
|
51
61
|
if (isPastedChange) {
|
|
52
|
-
if (delimiter) newValue = explode(newValue);
|
|
62
|
+
if (delimiter) newValue = explode(newValue, delimiter);
|
|
53
63
|
setIsPastedChange(false);
|
|
54
64
|
}
|
|
55
65
|
setValue(newValue);
|
|
56
|
-
onChange
|
|
66
|
+
// If there is a delimiter, the onChange value should always be the imploded version
|
|
67
|
+
// to prevent mismatch when exiting without triggering onBlur
|
|
68
|
+
// The exploded version is display only
|
|
69
|
+
onChange(delimiter ? implode(newValue) : newValue);
|
|
57
70
|
}
|
|
58
71
|
function handleFocus() {
|
|
59
72
|
if (!element.current) {
|
|
60
73
|
return;
|
|
61
74
|
}
|
|
75
|
+
isFocused.current = true;
|
|
62
76
|
if (delimiter) {
|
|
63
|
-
setValue(explode(value));
|
|
77
|
+
setValue(explode(value, delimiter));
|
|
64
78
|
reCalculateLayout();
|
|
65
79
|
}
|
|
66
80
|
element.current.scrollLeft = 0;
|
|
@@ -76,6 +90,7 @@ function AutoResizeTextarea(_ref) {
|
|
|
76
90
|
element.current.focus();
|
|
77
91
|
}
|
|
78
92
|
function handleBlur() {
|
|
93
|
+
isFocused.current = false;
|
|
79
94
|
if (delimiter) {
|
|
80
95
|
setValue(implode(value));
|
|
81
96
|
onChange(implode(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useRef","useEffect","classNames","jsx","_jsx","
|
|
1
|
+
{"version":3,"file":"AutoResizeTextarea.js","names":["React","useState","useRef","useEffect","classNames","jsx","_jsx","implode","input","split","map","string","trim","filter","join","explode","delimiter","concat","AutoResizeTextarea","_ref","className","value","propsValue","onChange","spellCheck","placeholder","disabled","id","dataTestId","setValue","isPastedChange","setIsPastedChange","element","isFocused","valueRef","current","syncStateWithProp","reCalculateLayout","style","height","resizedHeight","scrollHeight","offsetHeight","clientHeight","handleChange","event","newValue","target","handleFocus","scrollLeft","handleMouseDown","document","activeElement","focus","handleBlur","handlePaste","reCalculate","ref","rows","onFocus","onMouseDown","onBlur","onPaste"],"sources":["../src/AutoResizeTextarea.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\n\nimport './AutoResizeTextarea.scss';\n\ninterface AutoResizeTextareaProps {\n value: string;\n onChange: (val: string) => void;\n className?: string;\n spellCheck?: boolean;\n placeholder?: string;\n disabled?: boolean;\n delimiter?: string;\n id?: string;\n 'data-testid'?: string;\n}\n\nfunction implode(input: string): string {\n return input\n .split('\\n')\n .map(string => string.trim())\n .filter(string => string) // remove empty strings (e.g. from trailing newlines)\n .join(' ');\n}\n\nfunction explode(input: string, delimiter: string): string {\n // split by delimiter, commonly \" \" or \" -\"\n // strip empty strings (if delimiter is space, and there are multiple spaces in a row)\n // and join with new line and a trimmed delimiter (get rid of leading spaces)\n return input\n .trim()\n .split(delimiter)\n .filter(string => string) // remove empty strings\n .join(`\\n${delimiter.trim()}`);\n}\n\n/**\n * Makes a textarea that auto resizes based on contents, its height grows with new lines.\n * If a delimiter is set, such as \" -\" or \" \", as used by jvm args or env vars\n * then the field will also \"explode\" the value by the delimiter over new lines\n * on focus, and implode on blur. By default, it doesn't word wrap.\n */\nfunction AutoResizeTextarea({\n className = '',\n value: propsValue,\n onChange,\n spellCheck = false,\n placeholder = '',\n disabled = false,\n delimiter = '',\n id = '',\n 'data-testid': dataTestId,\n}: AutoResizeTextareaProps): JSX.Element {\n const [value, setValue] = useState(propsValue);\n const [isPastedChange, setIsPastedChange] = useState(false);\n const element = useRef<HTMLTextAreaElement>(null);\n const isFocused = useRef(false);\n const valueRef = useRef(value);\n valueRef.current = value;\n\n useEffect(\n function syncStateWithProp() {\n if (!isFocused.current || !delimiter) {\n // When not focused (or no delimiter), always sync to the new prop value.\n setValue(propsValue);\n } else if (implode(valueRef.current) !== implode(propsValue)) {\n // When focused with delimiter, only update if the imploded value changed to prevent clobbering delimiters\n setValue(explode(propsValue, delimiter));\n }\n },\n [propsValue, delimiter]\n );\n\n function reCalculateLayout(): void {\n if (!element.current) {\n return;\n }\n element.current.style.height = '0'; // shrink component to get scrollHeight\n const resizedHeight =\n element.current.scrollHeight +\n (element.current.offsetHeight - element.current.clientHeight);\n // accounts for border, padding is captured by scroll height\n if (resizedHeight > 0) element.current.style.height = `${resizedHeight}px`;\n }\n\n function handleChange(event: React.ChangeEvent<HTMLTextAreaElement>): void {\n let newValue = event.target.value;\n if (isPastedChange) {\n if (delimiter) newValue = explode(newValue, delimiter);\n setIsPastedChange(false);\n }\n setValue(newValue);\n // If there is a delimiter, the onChange value should always be the imploded version\n // to prevent mismatch when exiting without triggering onBlur\n // The exploded version is display only\n onChange(delimiter ? implode(newValue) : newValue);\n }\n\n function handleFocus(): void {\n if (!element.current) {\n return;\n }\n isFocused.current = true;\n if (delimiter) {\n setValue(explode(value, delimiter));\n reCalculateLayout();\n }\n element.current.scrollLeft = 0;\n // scroll left as it can be disorienting if you click on a long line\n }\n\n // make it explode when dragging the resize handle\n // by making it trigger focus (which normally doesn't\n // trigger when just resizing).\n function handleMouseDown(): void {\n if (!element.current) return;\n if (document.activeElement === element.current) return;\n element.current.focus();\n }\n\n function handleBlur(): void {\n isFocused.current = false;\n if (delimiter) {\n setValue(implode(value));\n onChange(implode(value));\n }\n }\n\n function handlePaste(): void {\n setIsPastedChange(true);\n }\n\n useEffect(\n function reCalculate() {\n reCalculateLayout();\n },\n [value]\n );\n\n return (\n <textarea\n ref={element}\n id={id}\n className={classNames(className, 'auto-resize-textarea form-control')}\n placeholder={placeholder}\n value={value}\n rows={1}\n onChange={handleChange}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n onBlur={handleBlur}\n onPaste={handlePaste}\n spellCheck={spellCheck}\n disabled={disabled}\n data-testid={dataTestId}\n />\n );\n}\n\nexport default AutoResizeTextarea;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactElement } from 'react';
|
|
2
|
-
import type { SpectrumDialogClose } from '@react-types/dialog';
|
|
3
2
|
import type { StyleProps } from '@react-types/shared';
|
|
4
3
|
import type { IconDefinition } from '@fortawesome/fontawesome-common-types';
|
|
4
|
+
import { type SpectrumDialogClose } from '../spectrum';
|
|
5
5
|
export interface ActionButtonDialogTriggerProps extends StyleProps {
|
|
6
6
|
icon: IconDefinition;
|
|
7
7
|
isQuiet?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonDialogTrigger.d.ts","sourceRoot":"","sources":["../../src/dialogs/ActionButtonDialogTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ActionButtonDialogTrigger.d.ts","sourceRoot":"","sources":["../../src/dialogs/ActionButtonDialogTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,8BAA+B,SAAQ,UAAU;IAChE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,mBAAmB,GAAG,YAAY,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,GAAG,UAAU,EACd,EAAE,8BAA8B,GAAG,GAAG,CAAC,OAAO,CAuB9C;AAED,eAAe,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButtonDialogTrigger.js","names":["FontAwesomeIcon","ActionButton","DialogTrigger","Icon","Text","Tooltip","jsx","_jsx","jsxs","_jsxs","ActionButtonDialogTrigger","_ref","ariaLabel","icon","isQuiet","labelText","children","onOpenChange","tooltip","styleProps","_objectWithoutProperties","_excluded","iconClassName","undefined","type","_objectSpread","UNSAFE_className"],"sources":["../../src/dialogs/ActionButtonDialogTrigger.tsx"],"sourcesContent":["import { type ReactElement } from 'react';\nimport type {
|
|
1
|
+
{"version":3,"file":"ActionButtonDialogTrigger.js","names":["FontAwesomeIcon","ActionButton","DialogTrigger","Icon","Text","Tooltip","jsx","_jsx","jsxs","_jsxs","ActionButtonDialogTrigger","_ref","ariaLabel","icon","isQuiet","labelText","children","onOpenChange","tooltip","styleProps","_objectWithoutProperties","_excluded","iconClassName","undefined","type","_objectSpread","UNSAFE_className"],"sources":["../../src/dialogs/ActionButtonDialogTrigger.tsx"],"sourcesContent":["import { type ReactElement } from 'react';\nimport type { StyleProps } from '@react-types/shared';\nimport type { IconDefinition } from '@fortawesome/fontawesome-common-types';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n ActionButton,\n DialogTrigger,\n Icon,\n Text,\n type SpectrumDialogClose,\n} from '../spectrum';\nimport { Tooltip } from '../popper';\n\nexport interface ActionButtonDialogTriggerProps extends StyleProps {\n icon: IconDefinition;\n isQuiet?: boolean;\n labelText?: string;\n ariaLabel?: string;\n tooltip?: string;\n children: SpectrumDialogClose | ReactElement;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\n/**\n * Dialog trigger based on an ActionButton.\n */\nexport function ActionButtonDialogTrigger({\n ariaLabel,\n icon,\n isQuiet,\n labelText,\n children,\n onOpenChange,\n tooltip,\n ...styleProps\n}: ActionButtonDialogTriggerProps): JSX.Element {\n const iconClassName =\n labelText == null && tooltip != null\n ? 'action-button-icon-with-tooltip'\n : undefined;\n\n return (\n <DialogTrigger type=\"popover\" onOpenChange={onOpenChange}>\n <ActionButton\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...styleProps}\n aria-label={ariaLabel ?? labelText}\n isQuiet={isQuiet}\n >\n <Icon UNSAFE_className={iconClassName}>\n <FontAwesomeIcon icon={icon} />\n </Icon>\n {labelText == null ? null : <Text>{labelText}</Text>}\n {tooltip == null ? null : <Tooltip>{tooltip}</Tooltip>}\n </ActionButton>\n {children}\n </DialogTrigger>\n );\n}\n\nexport default ActionButtonDialogTrigger;\n"],"mappings":";;;;;;;;AAGA,SAASA,eAAe,QAAQ,gCAAgC;AAAC,SAE/DC,YAAY,EACZC,aAAa,EACbC,IAAI,EACJC,IAAI;AAAA,SAGGC,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYhB;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAAAC,IAAA,EASO;EAAA,IATN;MACxCC,SAAS;MACTC,IAAI;MACJC,OAAO;MACPC,SAAS;MACTC,QAAQ;MACRC,YAAY;MACZC;IAE8B,CAAC,GAAAP,IAAA;IAD5BQ,UAAU,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA;EAEb,IAAMC,aAAa,GACjBP,SAAS,IAAI,IAAI,IAAIG,OAAO,IAAI,IAAI,GAChC,iCAAiC,GACjCK,SAAS;EAEf,oBACEd,KAAA,CAACP,aAAa;IAACsB,IAAI,EAAC,SAAS;IAACP,YAAY,EAAEA,YAAa;IAAAD,QAAA,gBACvDP,KAAA,CAACR;IACC;IAAA,EAAAwB,aAAA,CAAAA,aAAA,KACIN,UAAU;MACd,cAAYP,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIG,SAAU;MACnCD,OAAO,EAAEA,OAAQ;MAAAE,QAAA,gBAEjBT,IAAA,CAACJ,IAAI;QAACuB,gBAAgB,EAAEJ,aAAc;QAAAN,QAAA,eACpCT,IAAA,CAACP,eAAe;UAACa,IAAI,EAAEA;QAAK,CAAE;MAAC,CAC3B,CAAC,EACNE,SAAS,IAAI,IAAI,GAAG,IAAI,gBAAGR,IAAA,CAACH,IAAI;QAAAY,QAAA,EAAED;MAAS,CAAO,CAAC,EACnDG,OAAO,IAAI,IAAI,GAAG,IAAI,gBAAGX,IAAA,CAACF,OAAO;QAAAW,QAAA,EAAEE;MAAO,CAAU,CAAC;IAAA,EAC1C,CAAC,EACdF,QAAQ;EAAA,CACI,CAAC;AAEpB;AAEA,eAAeN,yBAAyB","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ export type ComboBoxProps = PickerPropsT<SpectrumComboBoxProps<NormalizedItem>>;
|
|
|
6
6
|
export type { MenuTriggerAction } from '@react-types/combobox';
|
|
7
7
|
export { SpectrumComboBox };
|
|
8
8
|
export declare const ComboBox: React.ForwardRefExoticComponent<Omit<SpectrumComboBoxProps<NormalizedItem>, "children" | "items" | "selectedKey" | "defaultSelectedKey" | "disabledKeys" | "onSelectionChange" | "defaultItems"> & {
|
|
9
|
-
children
|
|
9
|
+
children?: import("../utils").ItemOrSection | import("../utils").ItemOrSection[] | null | undefined;
|
|
10
10
|
tooltip?: boolean | import("../utils").TooltipOptions;
|
|
11
11
|
selectedKey?: import("../utils").ItemKey | null;
|
|
12
12
|
defaultSelectedKey?: import("../utils").ItemKey;
|
package/dist/spectrum/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spectrum/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB;;GAEG;AACH,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAEhC;;GAEG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spectrum/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AAEzB;;GAEG;AACH,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAEhC;;GAEG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
package/dist/spectrum/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export * from "./comboBox/index.js";
|
|
|
21
21
|
export * from "./ListActionGroup.js";
|
|
22
22
|
export * from "./ListActionMenu.js";
|
|
23
23
|
export * from "./listView/index.js";
|
|
24
|
+
export * from "./multiSelect/index.js";
|
|
24
25
|
export * from "./picker/index.js";
|
|
25
26
|
export * from "./Heading.js";
|
|
26
27
|
export * from "./Text.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/spectrum/index.ts"],"sourcesContent":["/**\n * Re-exporting React Spectrum components + props.\n */\nexport * from './buttons';\nexport * from './collections';\nexport * from './content';\nexport * from './dateAndTime';\nexport * from './forms';\nexport * from './icons';\nexport * from './layout';\nexport * from './navigation';\nexport * from './overlays';\nexport * from './shared';\nexport * from './status';\n\n/**\n * Custom DH components wrapping React Spectrum components.\n */\nexport * from './ActionMenu';\nexport * from './ActionGroup';\nexport * from './comboBox';\nexport * from './ListActionGroup';\nexport * from './ListActionMenu';\nexport * from './listView';\nexport * from './picker';\nexport * from './Heading';\nexport * from './Text';\nexport * from './View';\nexport * from './CheckboxGroup';\n\n/**\n * Custom DH spectrum utils\n */\nexport * from './ItemContent';\nexport * from './ItemTooltip';\nexport * from './utils';\n"],"mappings":"AAAA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/spectrum/index.ts"],"sourcesContent":["/**\n * Re-exporting React Spectrum components + props.\n */\nexport * from './buttons';\nexport * from './collections';\nexport * from './content';\nexport * from './dateAndTime';\nexport * from './forms';\nexport * from './icons';\nexport * from './layout';\nexport * from './navigation';\nexport * from './overlays';\nexport * from './shared';\nexport * from './status';\n\n/**\n * Custom DH components wrapping React Spectrum components.\n */\nexport * from './ActionMenu';\nexport * from './ActionGroup';\nexport * from './comboBox';\nexport * from './ListActionGroup';\nexport * from './ListActionMenu';\nexport * from './listView';\nexport * from './multiSelect';\nexport * from './picker';\nexport * from './Heading';\nexport * from './Text';\nexport * from './View';\nexport * from './CheckboxGroup';\n\n/**\n * Custom DH spectrum utils\n */\nexport * from './ItemContent';\nexport * from './ItemTooltip';\nexport * from './utils';\n"],"mappings":"AAAA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AAFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA;AACA;AACA;AAFA;AAAA;AAAA","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { type SpectrumListViewProps } from '@adobe/react-spectrum';
|
|
|
2
2
|
import { type MultipleItemSelectionProps, type NormalizedItem, type TooltipOptions } from '../utils';
|
|
3
3
|
import { type ItemElementOrPrimitive } from '../shared';
|
|
4
4
|
export type ListViewProps = MultipleItemSelectionProps & {
|
|
5
|
-
children
|
|
5
|
+
children?: ItemElementOrPrimitive | ItemElementOrPrimitive[] | null | undefined;
|
|
6
6
|
/** Can be set to true or a TooltipOptions to enable item tooltips */
|
|
7
7
|
tooltip?: boolean | TooltipOptions;
|
|
8
8
|
/** Handler that is called when the picker is scrolled. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/spectrum/listView/ListView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,0BAA0B,GAAG;IACvD,QAAQ,
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/spectrum/listView/ListView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,0BAA0B,GAAG;IACvD,QAAQ,CAAC,EACL,sBAAsB,GACtB,sBAAsB,EAAE,GACxB,IAAI,GACJ,SAAS,CAAC;IACd,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAEnC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnC,GAAG,IAAI,CACJ,qBAAqB,CAAC,cAAc,CAAC,EACnC,UAAU,GACV,OAAO,GACP,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,mBAAmB,CACtB,CAAC;AAEJ,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,OAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,QAAyB,EACzB,iBAAiB,EACjB,GAAG,qBAAqB,EACzB,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+BpC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","names":["useMemo","cl","EMPTY_FUNCTION","normalizeTooltipOptions","wrapItemChildren","ListViewWrapper","jsx","_jsx","ListView","_ref","children","tooltip","selectedKeys","defaultSelectedKeys","disabledKeys","UNSAFE_className","onChange","onScroll","onSelectionChange","spectrumListViewProps","_objectWithoutProperties","_excluded","tooltipOptions","wrappedItems","_objectSpread"],"sources":["../../../src/spectrum/listView/ListView.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { type SpectrumListViewProps } from '@adobe/react-spectrum';\nimport cl from 'classnames';\nimport { EMPTY_FUNCTION } from '@deephaven/utils';\nimport {\n type MultipleItemSelectionProps,\n type NormalizedItem,\n normalizeTooltipOptions,\n type TooltipOptions,\n wrapItemChildren,\n} from '../utils';\nimport { ListViewWrapper, type ListViewWrapperProps } from './ListViewWrapper';\nimport { type ItemElementOrPrimitive } from '../shared';\n\nexport type ListViewProps = MultipleItemSelectionProps & {\n children
|
|
1
|
+
{"version":3,"file":"ListView.js","names":["useMemo","cl","EMPTY_FUNCTION","normalizeTooltipOptions","wrapItemChildren","ListViewWrapper","jsx","_jsx","ListView","_ref","children","tooltip","selectedKeys","defaultSelectedKeys","disabledKeys","UNSAFE_className","onChange","onScroll","onSelectionChange","spectrumListViewProps","_objectWithoutProperties","_excluded","tooltipOptions","wrappedItems","_objectSpread"],"sources":["../../../src/spectrum/listView/ListView.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { type SpectrumListViewProps } from '@adobe/react-spectrum';\nimport cl from 'classnames';\nimport { EMPTY_FUNCTION } from '@deephaven/utils';\nimport {\n type MultipleItemSelectionProps,\n type NormalizedItem,\n normalizeTooltipOptions,\n type TooltipOptions,\n wrapItemChildren,\n} from '../utils';\nimport { ListViewWrapper, type ListViewWrapperProps } from './ListViewWrapper';\nimport { type ItemElementOrPrimitive } from '../shared';\n\nexport type ListViewProps = MultipleItemSelectionProps & {\n children?:\n | ItemElementOrPrimitive\n | ItemElementOrPrimitive[]\n | null\n | undefined;\n /** Can be set to true or a TooltipOptions to enable item tooltips */\n tooltip?: boolean | TooltipOptions;\n\n /** Handler that is called when the picker is scrolled. */\n onScroll?: (event: Event) => void;\n} & Omit<\n SpectrumListViewProps<NormalizedItem>,\n | 'children'\n | 'items'\n | 'selectedKeys'\n | 'defaultSelectedKeys'\n | 'disabledKeys'\n | 'onSelectionChange'\n >;\n\nexport function ListView({\n children,\n tooltip = true,\n selectedKeys,\n defaultSelectedKeys,\n disabledKeys,\n UNSAFE_className,\n onChange,\n onScroll = EMPTY_FUNCTION,\n onSelectionChange,\n ...spectrumListViewProps\n}: ListViewProps): JSX.Element | null {\n const tooltipOptions = useMemo(\n () => normalizeTooltipOptions(tooltip, 'bottom'),\n [tooltip]\n );\n\n const wrappedItems = useMemo(\n () => wrapItemChildren(children, tooltipOptions),\n [children, tooltipOptions]\n );\n\n return (\n <ListViewWrapper\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...spectrumListViewProps}\n UNSAFE_className={cl('dh-list-view', UNSAFE_className)}\n selectedKeys={\n selectedKeys as ListViewWrapperProps<unknown>['selectedKeys']\n }\n defaultSelectedKeys={\n defaultSelectedKeys as ListViewWrapperProps<unknown>['defaultSelectedKeys']\n }\n disabledKeys={\n disabledKeys as ListViewWrapperProps<unknown>['disabledKeys']\n }\n onScroll={onScroll}\n onSelectionChange={onChange ?? onSelectionChange}\n >\n {wrappedItems}\n </ListViewWrapper>\n );\n}\n\nexport default ListView;\n"],"mappings":";;;;;;;;AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAOC,EAAE,MAAM,YAAY;AAC3B,SAASC,cAAc,QAAQ,kBAAkB;AAAC,SAIhDC,uBAAuB,EAEvBC,gBAAgB;AAAA,SAETC,eAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAwBxB,OAAO,SAASC,QAAQA,CAAAC,IAAA,EAWc;EAAA,IAXb;MACvBC,QAAQ;MACRC,OAAO,GAAG,IAAI;MACdC,YAAY;MACZC,mBAAmB;MACnBC,YAAY;MACZC,gBAAgB;MAChBC,QAAQ;MACRC,QAAQ,GAAGf,cAAc;MACzBgB;IAEa,CAAC,GAAAT,IAAA;IADXU,qBAAqB,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA;EAExB,IAAMC,cAAc,GAAGtB,OAAO,CAC5B,MAAMG,uBAAuB,CAACQ,OAAO,EAAE,QAAQ,CAAC,EAChD,CAACA,OAAO,CACV,CAAC;EAED,IAAMY,YAAY,GAAGvB,OAAO,CAC1B,MAAMI,gBAAgB,CAACM,QAAQ,EAAEY,cAAc,CAAC,EAChD,CAACZ,QAAQ,EAAEY,cAAc,CAC3B,CAAC;EAED,oBACEf,IAAA,CAACF;EACC;EAAA,EAAAmB,aAAA,CAAAA,aAAA,KACIL,qBAAqB;IACzBJ,gBAAgB,EAAEd,EAAE,CAAC,cAAc,EAAEc,gBAAgB,CAAE;IACvDH,YAAY,EACVA,YACD;IACDC,mBAAmB,EACjBA,mBACD;IACDC,YAAY,EACVA,YACD;IACDG,QAAQ,EAAEA,QAAS;IACnBC,iBAAiB,EAAEF,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIE,iBAAkB;IAAAR,QAAA,EAEhDa;EAAY,EACE,CAAC;AAEtB;AAEA,eAAef,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/* stylelint-disable no-descending-specificity */
|
|
2
|
+
.dh-multi-select-trigger {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: stretch;
|
|
5
|
+
border: none;
|
|
6
|
+
border-radius: var(--spectrum-alias-border-radius-regular, 4px);
|
|
7
|
+
background-color: var(--dh-color-input-bg);
|
|
8
|
+
color: var(--dh-color-input-fg);
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
outline: none;
|
|
11
|
+
position: relative;
|
|
12
|
+
min-height: var(--spectrum-alias-single-line-height, var(--spectrum-global-dimension-size-400, 32px));
|
|
13
|
+
}
|
|
14
|
+
.dh-multi-select-trigger::after {
|
|
15
|
+
content: "";
|
|
16
|
+
position: absolute;
|
|
17
|
+
inset: 0;
|
|
18
|
+
border: 1px solid var(--dh-color-input-border);
|
|
19
|
+
border-radius: var(--spectrum-alias-border-radius-regular, 4px);
|
|
20
|
+
pointer-events: none;
|
|
21
|
+
transition: border-color 130ms ease-in-out;
|
|
22
|
+
}
|
|
23
|
+
.dh-multi-select-trigger:hover:not(.is-disabled):not(.is-read-only):not(.is-focused)::after {
|
|
24
|
+
border-color: var(--dh-color-input-hover-border);
|
|
25
|
+
}
|
|
26
|
+
.dh-multi-select-trigger:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron {
|
|
27
|
+
color: var(--dh-color-selector-hover-fg);
|
|
28
|
+
background-color: var(--dh-color-selector-hover-bg);
|
|
29
|
+
}
|
|
30
|
+
.dh-multi-select-trigger:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron::before {
|
|
31
|
+
border-left-color: var(--dh-color-input-hover-border);
|
|
32
|
+
}
|
|
33
|
+
.dh-multi-select-trigger.is-focused::after {
|
|
34
|
+
border-color: var(--dh-color-input-focus-border);
|
|
35
|
+
}
|
|
36
|
+
.dh-multi-select-trigger.is-focused .dh-multi-select-chevron:not(.is-open) {
|
|
37
|
+
background-color: var(--dh-color-selector-hover-bg);
|
|
38
|
+
}
|
|
39
|
+
.dh-multi-select-trigger.is-focused .dh-multi-select-chevron:not(.is-open)::before {
|
|
40
|
+
border-left-color: var(--dh-color-input-focus-border);
|
|
41
|
+
}
|
|
42
|
+
.dh-multi-select-trigger.focus-ring {
|
|
43
|
+
box-shadow: 0 0 0 1px var(--dh-color-input-focus-border);
|
|
44
|
+
}
|
|
45
|
+
.dh-multi-select-trigger.is-invalid::after {
|
|
46
|
+
border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-red-900));
|
|
47
|
+
}
|
|
48
|
+
.dh-multi-select-trigger.is-invalid .dh-multi-select-chevron::before {
|
|
49
|
+
border-left-color: var(--spectrum-textfield-border-color-error, var(--spectrum-red-900));
|
|
50
|
+
}
|
|
51
|
+
.dh-multi-select-trigger.is-invalid:hover:not(.is-disabled):not(.is-read-only):not(.is-focused)::after {
|
|
52
|
+
border-color: var(--spectrum-textfield-border-color-error-hover, var(--spectrum-red-1000));
|
|
53
|
+
}
|
|
54
|
+
.dh-multi-select-trigger.is-invalid:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron::before {
|
|
55
|
+
border-left-color: var(--spectrum-textfield-border-color-error-hover, var(--spectrum-red-1000));
|
|
56
|
+
}
|
|
57
|
+
.dh-multi-select-trigger.is-invalid:active:not(.is-disabled):not(.is-read-only)::after {
|
|
58
|
+
border-color: var(--spectrum-textfield-border-color-error-down, var(--spectrum-red-1100));
|
|
59
|
+
}
|
|
60
|
+
.dh-multi-select-trigger.is-invalid:active:not(.is-disabled):not(.is-read-only) .dh-multi-select-chevron::before {
|
|
61
|
+
border-left-color: var(--spectrum-textfield-border-color-error-down, var(--spectrum-red-1100));
|
|
62
|
+
}
|
|
63
|
+
.dh-multi-select-trigger.is-invalid.is-focused::after {
|
|
64
|
+
border-color: var(--dh-color-input-focus-border);
|
|
65
|
+
}
|
|
66
|
+
.dh-multi-select-trigger.is-invalid.is-focused .dh-multi-select-chevron::before {
|
|
67
|
+
border-left-color: var(--dh-color-input-focus-border);
|
|
68
|
+
}
|
|
69
|
+
.dh-multi-select-trigger.is-disabled {
|
|
70
|
+
background-color: var(--dh-color-input-disabled-bg);
|
|
71
|
+
color: var(--dh-color-input-disabled-fg);
|
|
72
|
+
cursor: default;
|
|
73
|
+
}
|
|
74
|
+
.dh-multi-select-trigger.is-disabled::after {
|
|
75
|
+
border-color: var(--dh-color-input-disabled-border);
|
|
76
|
+
}
|
|
77
|
+
.dh-multi-select-trigger.is-disabled .dh-multi-select-chevron {
|
|
78
|
+
color: var(--dh-color-selector-disabled-fg);
|
|
79
|
+
background-color: var(--dh-color-input-disabled-bg);
|
|
80
|
+
}
|
|
81
|
+
.dh-multi-select-trigger.is-disabled .dh-multi-select-chevron::before {
|
|
82
|
+
border-left-color: var(--dh-color-input-disabled-border);
|
|
83
|
+
}
|
|
84
|
+
.dh-multi-select-trigger.is-read-only {
|
|
85
|
+
cursor: default;
|
|
86
|
+
}
|
|
87
|
+
.dh-multi-select-trigger.is-quiet {
|
|
88
|
+
background: none;
|
|
89
|
+
border-radius: 0;
|
|
90
|
+
min-width: calc(2 * var(--spectrum-dropdown-height, var(--spectrum-global-dimension-size-400, 32px)));
|
|
91
|
+
}
|
|
92
|
+
.dh-multi-select-trigger.is-quiet::after {
|
|
93
|
+
border: none;
|
|
94
|
+
border-bottom: var(--spectrum-alias-input-border-size, 1px) solid var(--dh-color-input-border);
|
|
95
|
+
border-radius: 0;
|
|
96
|
+
}
|
|
97
|
+
.dh-multi-select-trigger.is-quiet:hover:not(.is-disabled):not(.is-read-only):not(.is-focused)::after {
|
|
98
|
+
border-bottom-color: var(--dh-color-input-hover-border);
|
|
99
|
+
}
|
|
100
|
+
.dh-multi-select-trigger.is-quiet:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron {
|
|
101
|
+
background-color: transparent;
|
|
102
|
+
}
|
|
103
|
+
.dh-multi-select-trigger.is-quiet:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron::before {
|
|
104
|
+
border-bottom-color: var(--dh-color-input-hover-border);
|
|
105
|
+
}
|
|
106
|
+
.dh-multi-select-trigger.is-quiet.is-focused::after {
|
|
107
|
+
border-bottom-color: var(--dh-color-input-focus-border);
|
|
108
|
+
}
|
|
109
|
+
.dh-multi-select-trigger.is-quiet.is-focused .dh-multi-select-chevron:not(.is-open) {
|
|
110
|
+
background-color: transparent;
|
|
111
|
+
}
|
|
112
|
+
.dh-multi-select-trigger.is-quiet.is-focused .dh-multi-select-chevron::before {
|
|
113
|
+
border-bottom-color: var(--dh-color-input-focus-border);
|
|
114
|
+
}
|
|
115
|
+
.dh-multi-select-trigger.is-quiet.focus-ring {
|
|
116
|
+
box-shadow: 0 2px 0 0 var(--dh-color-input-focus-border);
|
|
117
|
+
}
|
|
118
|
+
.dh-multi-select-trigger.is-quiet .dh-multi-select-chevron {
|
|
119
|
+
inline-size: auto;
|
|
120
|
+
padding-inline-start: var(--spectrum-global-dimension-size-130, 10px);
|
|
121
|
+
padding-inline-end: 0;
|
|
122
|
+
background-color: transparent;
|
|
123
|
+
border-radius: 0;
|
|
124
|
+
}
|
|
125
|
+
.dh-multi-select-trigger.is-quiet .dh-multi-select-chevron::before {
|
|
126
|
+
border-left: none;
|
|
127
|
+
border-bottom: var(--spectrum-alias-input-border-size, 1px) solid var(--dh-color-input-border);
|
|
128
|
+
border-radius: 0;
|
|
129
|
+
top: auto;
|
|
130
|
+
bottom: 0;
|
|
131
|
+
left: 0;
|
|
132
|
+
right: 0;
|
|
133
|
+
width: auto;
|
|
134
|
+
height: 0;
|
|
135
|
+
}
|
|
136
|
+
.dh-multi-select-trigger.is-quiet .dh-multi-select-chevron.is-open {
|
|
137
|
+
background-color: var(--spectrum-alias-background-color-transparent, transparent);
|
|
138
|
+
}
|
|
139
|
+
.dh-multi-select-trigger.is-quiet.is-disabled .dh-multi-select-chevron {
|
|
140
|
+
border-radius: 0;
|
|
141
|
+
}
|
|
142
|
+
.dh-multi-select-trigger.is-quiet.is-disabled .dh-multi-select-chevron::before {
|
|
143
|
+
border-bottom-color: var(--dh-color-input-disabled-border);
|
|
144
|
+
}
|
|
145
|
+
.dh-multi-select-trigger.is-quiet.is-invalid::after {
|
|
146
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error, var(--spectrum-red-900));
|
|
147
|
+
}
|
|
148
|
+
.dh-multi-select-trigger.is-quiet.is-invalid .dh-multi-select-chevron::before {
|
|
149
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error, var(--spectrum-red-900));
|
|
150
|
+
}
|
|
151
|
+
.dh-multi-select-trigger.is-quiet.is-invalid:hover:not(.is-disabled):not(.is-read-only):not(.is-focused)::after {
|
|
152
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error-hover, var(--spectrum-red-1000));
|
|
153
|
+
}
|
|
154
|
+
.dh-multi-select-trigger.is-quiet.is-invalid:hover:not(.is-disabled):not(.is-read-only):not(.is-focused) .dh-multi-select-chevron::before {
|
|
155
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error-hover, var(--spectrum-red-1000));
|
|
156
|
+
}
|
|
157
|
+
.dh-multi-select-trigger.is-quiet.is-invalid:active:not(.is-disabled):not(.is-read-only)::after {
|
|
158
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error-down, var(--spectrum-red-1100));
|
|
159
|
+
}
|
|
160
|
+
.dh-multi-select-trigger.is-quiet.is-invalid:active:not(.is-disabled):not(.is-read-only) .dh-multi-select-chevron::before {
|
|
161
|
+
border-bottom-color: var(--spectrum-textfield-border-color-error-down, var(--spectrum-red-1100));
|
|
162
|
+
}
|
|
163
|
+
.dh-multi-select-trigger.is-quiet.is-invalid.is-focused::after {
|
|
164
|
+
border-bottom-color: var(--dh-color-input-focus-border);
|
|
165
|
+
}
|
|
166
|
+
.dh-multi-select-trigger.is-quiet.is-invalid.is-focused .dh-multi-select-chevron::before {
|
|
167
|
+
border-bottom-color: var(--dh-color-input-focus-border);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.dh-multi-select-content {
|
|
171
|
+
display: flex;
|
|
172
|
+
flex-wrap: wrap;
|
|
173
|
+
align-items: center;
|
|
174
|
+
flex: 1;
|
|
175
|
+
min-width: 0;
|
|
176
|
+
gap: calc(var(--spectrum-taggroup-tag-gap-y, var(--spectrum-global-dimension-size-100)) / 2) calc(var(--spectrum-taggroup-tag-gap-x, var(--spectrum-global-dimension-size-100)) / 2);
|
|
177
|
+
padding: 3px 0 3px 4px;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.dh-multi-select-tag {
|
|
181
|
+
display: inline-grid;
|
|
182
|
+
grid-template-columns: 1fr auto;
|
|
183
|
+
align-items: center;
|
|
184
|
+
box-sizing: border-box;
|
|
185
|
+
max-inline-size: 100%;
|
|
186
|
+
cursor: default;
|
|
187
|
+
user-select: none;
|
|
188
|
+
block-size: var(--spectrum-tag-height, var(--spectrum-global-dimension-size-300));
|
|
189
|
+
padding-inline-start: calc(var(--spectrum-tag-padding-x, var(--spectrum-global-dimension-size-125)) - var(--spectrum-tag-border-size, var(--spectrum-alias-border-size-thin)));
|
|
190
|
+
border-style: solid;
|
|
191
|
+
border-width: var(--spectrum-tag-border-size, var(--spectrum-alias-border-size-thin));
|
|
192
|
+
border-radius: var(--spectrum-tag-border-radius, var(--spectrum-alias-border-radius-regular));
|
|
193
|
+
color: var(--spectrum-tag-text-color, var(--spectrum-global-color-gray-700));
|
|
194
|
+
background-color: var(--spectrum-tag-background-color, var(--spectrum-global-color-gray-75));
|
|
195
|
+
border-color: var(--spectrum-tag-border-color, var(--spectrum-global-color-gray-600));
|
|
196
|
+
font-size: var(--spectrum-tag-text-size, var(--spectrum-global-dimension-font-size-75));
|
|
197
|
+
transition: border-color 0.13s ease-in-out, color 0.13s ease-in-out, box-shadow 0.13s ease-in-out, background-color 0.13s ease-in-out;
|
|
198
|
+
}
|
|
199
|
+
.dh-multi-select-tag:hover {
|
|
200
|
+
background-color: var(--spectrum-tag-background-color-hover, var(--spectrum-global-color-gray-75));
|
|
201
|
+
color: var(--spectrum-tag-text-color-hover, var(--spectrum-global-color-gray-900));
|
|
202
|
+
border-color: var(--spectrum-tag-border-color-hover, var(--spectrum-global-color-gray-900));
|
|
203
|
+
}
|
|
204
|
+
.is-disabled .dh-multi-select-tag {
|
|
205
|
+
color: var(--spectrum-tag-text-color-disabled, var(--spectrum-global-color-gray-500));
|
|
206
|
+
background-color: var(--spectrum-tag-background-color-disabled, var(--spectrum-global-color-gray-200));
|
|
207
|
+
border-color: var(--spectrum-tag-border-color-disabled, var(--spectrum-global-color-gray-200));
|
|
208
|
+
pointer-events: none;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.dh-multi-select-tag-label {
|
|
212
|
+
white-space: nowrap;
|
|
213
|
+
text-overflow: ellipsis;
|
|
214
|
+
overflow: hidden;
|
|
215
|
+
line-height: calc(var(--spectrum-tag-height, var(--spectrum-global-dimension-size-300)) - var(--spectrum-tag-border-size, var(--spectrum-alias-border-size-thin)) * 2);
|
|
216
|
+
margin-inline-end: 0;
|
|
217
|
+
}
|
|
218
|
+
.dh-multi-select-tag-label:last-child {
|
|
219
|
+
margin-inline-end: var(--spectrum-tag-padding-x, var(--spectrum-global-dimension-size-125));
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.dh-multi-select-tag-remove {
|
|
223
|
+
display: flex;
|
|
224
|
+
align-items: center;
|
|
225
|
+
justify-content: center;
|
|
226
|
+
box-sizing: border-box;
|
|
227
|
+
padding: 0;
|
|
228
|
+
margin: 0;
|
|
229
|
+
border: none;
|
|
230
|
+
background: transparent;
|
|
231
|
+
cursor: pointer;
|
|
232
|
+
color: inherit;
|
|
233
|
+
height: calc(var(--spectrum-tag-height, var(--spectrum-global-dimension-size-300)) - 2 * var(--spectrum-tag-border-size, var(--spectrum-alias-border-size-thin)));
|
|
234
|
+
width: var(--spectrum-global-dimension-size-300);
|
|
235
|
+
}
|
|
236
|
+
.dh-multi-select-tag-remove:hover {
|
|
237
|
+
color: var(--spectrum-tag-removable-button-icon-color-hover, var(--spectrum-global-color-gray-900));
|
|
238
|
+
}
|
|
239
|
+
.dh-multi-select-tag-remove svg {
|
|
240
|
+
width: 8px;
|
|
241
|
+
height: 8px;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.dh-multi-select-input {
|
|
245
|
+
border: none;
|
|
246
|
+
outline: none;
|
|
247
|
+
background: transparent;
|
|
248
|
+
color: var(--dh-color-input-fg);
|
|
249
|
+
font-family: inherit;
|
|
250
|
+
font-size: inherit;
|
|
251
|
+
line-height: inherit;
|
|
252
|
+
flex: 1;
|
|
253
|
+
min-width: 40px;
|
|
254
|
+
padding: 2px 0 2px 4px;
|
|
255
|
+
height: var(--spectrum-tag-height, var(--spectrum-global-dimension-size-300));
|
|
256
|
+
}
|
|
257
|
+
.dh-multi-select-input:disabled {
|
|
258
|
+
color: var(--dh-color-input-disabled-fg);
|
|
259
|
+
cursor: default;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.dh-multi-select-chevron {
|
|
263
|
+
display: flex;
|
|
264
|
+
align-items: center;
|
|
265
|
+
justify-content: center;
|
|
266
|
+
inline-size: var(--spectrum-global-dimension-size-400, 32px);
|
|
267
|
+
flex-shrink: 0;
|
|
268
|
+
align-self: stretch;
|
|
269
|
+
box-sizing: border-box;
|
|
270
|
+
position: relative;
|
|
271
|
+
padding: var(--spectrum-combobox-fieldbutton-inset, 0);
|
|
272
|
+
background-color: var(--dh-color-selector-bg);
|
|
273
|
+
background-clip: content-box;
|
|
274
|
+
color: var(--dh-color-selector-fg);
|
|
275
|
+
border-radius: 0 calc(var(--spectrum-alias-border-radius-regular, 4px) - 1px) calc(var(--spectrum-alias-border-radius-regular, 4px) - 1px) 0;
|
|
276
|
+
transition: background-color 130ms ease-in-out, color 130ms ease-in-out;
|
|
277
|
+
}
|
|
278
|
+
.dh-multi-select-chevron::before {
|
|
279
|
+
content: "";
|
|
280
|
+
position: absolute;
|
|
281
|
+
top: 0;
|
|
282
|
+
bottom: 0;
|
|
283
|
+
left: 0;
|
|
284
|
+
width: 0;
|
|
285
|
+
border-left: 1px solid var(--dh-color-input-border);
|
|
286
|
+
pointer-events: none;
|
|
287
|
+
}
|
|
288
|
+
.dh-multi-select-chevron.is-open {
|
|
289
|
+
background-color: var(--spectrum-fieldbutton-background-color-down, var(--spectrum-global-color-gray-200));
|
|
290
|
+
color: var(--spectrum-fieldbutton-icon-color-down, var(--spectrum-alias-icon-color-down));
|
|
291
|
+
}
|
|
292
|
+
.dh-multi-select-chevron.is-open::before {
|
|
293
|
+
border-left-color: var(--spectrum-fieldbutton-border-color-down, var(--spectrum-alias-border-color-down));
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.dh-multi-select-invalid-icon {
|
|
297
|
+
display: flex;
|
|
298
|
+
align-items: center;
|
|
299
|
+
padding-inline-start: var(--spectrum-global-dimension-size-100, 8px);
|
|
300
|
+
padding-inline-end: var(--spectrum-global-dimension-size-100, 8px);
|
|
301
|
+
color: var(--spectrum-semantic-negative-color-icon);
|
|
302
|
+
flex-shrink: 0;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.dh-multi-select-empty {
|
|
306
|
+
display: block;
|
|
307
|
+
padding-top: var(--spectrum-selectlist-option-padding-height);
|
|
308
|
+
padding-inline-start: var(--spectrum-selectlist-option-padding, var(--spectrum-global-dimension-static-size-150));
|
|
309
|
+
font-size: var(--spectrum-selectlist-option-text-size, var(--spectrum-alias-font-size-default));
|
|
310
|
+
font-weight: var(--spectrum-selectlist-option-text-font-weight, var(--spectrum-global-font-weight-regular));
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.dh-multi-select-loading-circle {
|
|
314
|
+
display: flex;
|
|
315
|
+
align-items: center;
|
|
316
|
+
justify-content: center;
|
|
317
|
+
padding-inline-end: 8px;
|
|
318
|
+
padding-inline-start: 4px;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
[role=option][data-dh-focused=true] {
|
|
322
|
+
background-color: var(--dh-color-item-list-hover-bg);
|
|
323
|
+
border-inline-start-color: var(--spectrum-selectlist-option-focus-indicator-color, var(--spectrum-alias-border-color-focus));
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/*# sourceMappingURL=MultiSelect.css.map */
|