@activecollab/components 1.0.285 → 1.0.287
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/cjs/components/CommandPalette/CommandPalette.js +5 -2
- package/dist/cjs/components/CommandPalette/CommandPalette.js.map +1 -1
- package/dist/cjs/components/CommandPalette/CommandPalette.styles.js +1 -1
- package/dist/cjs/components/CommandPalette/CommandPalette.styles.js.map +1 -1
- package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js +25 -21
- package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
- package/dist/cjs/components/CommandPalette/context/ModeContext.js +2 -1
- package/dist/cjs/components/CommandPalette/context/ModeContext.js.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPalette.d.ts +6 -1
- package/dist/esm/components/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPalette.js +5 -2
- package/dist/esm/components/CommandPalette/CommandPalette.js.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPalette.styles.d.ts.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPalette.styles.js +1 -1
- package/dist/esm/components/CommandPalette/CommandPalette.styles.js.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPaletteHeader.d.ts.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPaletteHeader.js +25 -21
- package/dist/esm/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
- package/dist/esm/components/CommandPalette/context/ModeContext.d.ts +3 -1
- package/dist/esm/components/CommandPalette/context/ModeContext.d.ts.map +1 -1
- package/dist/esm/components/CommandPalette/context/ModeContext.js +2 -1
- package/dist/esm/components/CommandPalette/context/ModeContext.js.map +1 -1
- package/dist/index.js +32 -24
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect, useRef } from "react";
|
|
1
|
+
import React, { useEffect, useMemo, useRef } from "react";
|
|
2
2
|
import { IconButton } from "../IconButton";
|
|
3
3
|
import { CloseIcon, HashtagIcon, SearchLargeIcon } from "../Icons";
|
|
4
4
|
import { Tooltip } from "../Tooltip";
|
|
@@ -6,7 +6,6 @@ import { StyledActionWrapper, StyledCommandPaletteHeader, StyledInput, StyledPar
|
|
|
6
6
|
import { useSelectedContext } from "./context";
|
|
7
7
|
import { useModeContext } from "./context/ModeContext";
|
|
8
8
|
import { useSearchContext } from "./context/SearchContext";
|
|
9
|
-
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
10
9
|
export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
11
10
|
var handleChange = _ref.handleChange,
|
|
12
11
|
_ref$loading = _ref.loading,
|
|
@@ -16,7 +15,8 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
16
15
|
var inputRef = useRef(null);
|
|
17
16
|
var _useModeContext = useModeContext(),
|
|
18
17
|
mode = _useModeContext.mode,
|
|
19
|
-
setMode = _useModeContext.setMode
|
|
18
|
+
setMode = _useModeContext.setMode,
|
|
19
|
+
idModeEnabled = _useModeContext.idModeEnabled;
|
|
20
20
|
var _useSelectedContext = useSelectedContext(),
|
|
21
21
|
setSelected = _useSelectedContext.setSelected,
|
|
22
22
|
selected = _useSelectedContext.selected;
|
|
@@ -33,10 +33,6 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
33
33
|
onChangeSearch("");
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
var checkIfNumber = function checkIfNumber(event) {
|
|
37
|
-
var regex = new RegExp(/(^\d*$)|(Backspace|Tab|Delete|ArrowLeft|ArrowRight)/);
|
|
38
|
-
return !event.key.match(regex) && event.preventDefault();
|
|
39
|
-
};
|
|
40
36
|
useEffect(function () {
|
|
41
37
|
if (search.length > 0) {
|
|
42
38
|
if (itemsLength > commandsLength) {
|
|
@@ -46,12 +42,24 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
46
42
|
}
|
|
47
43
|
}
|
|
48
44
|
}, [search, commandsLength, itemsLength, setSelected]);
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
focusInput();
|
|
47
|
+
}, [mode]);
|
|
48
|
+
var handleInputPlaceholder = useMemo(function () {
|
|
49
|
+
if (typeof mode === "object") {
|
|
50
|
+
return "Search";
|
|
51
|
+
}
|
|
52
|
+
if (mode === "id") {
|
|
53
|
+
return "22";
|
|
54
|
+
}
|
|
55
|
+
return "Search or jump to";
|
|
56
|
+
}, [mode]);
|
|
49
57
|
return /*#__PURE__*/React.createElement(StyledCommandPaletteHeader, {
|
|
50
58
|
className: "cp-header"
|
|
51
|
-
}, /*#__PURE__*/React.createElement(StyledSearchIcon, null, /*#__PURE__*/React.createElement(SearchLargeIcon, null)), mode === "id" ? /*#__PURE__*/React.createElement(StyledParameter, null, "ID#:") : null, /*#__PURE__*/React.createElement(StyledInput, {
|
|
59
|
+
}, /*#__PURE__*/React.createElement(StyledSearchIcon, null, /*#__PURE__*/React.createElement(SearchLargeIcon, null)), mode === "id" ? /*#__PURE__*/React.createElement(StyledParameter, null, "ID#:") : null, typeof mode === "object" ? /*#__PURE__*/React.createElement(StyledParameter, null, mode.name.length > 10 ? mode.name.slice(0, 10) + "..." : mode.name, "/") : null, /*#__PURE__*/React.createElement(StyledInput, {
|
|
52
60
|
ref: inputRef,
|
|
53
61
|
autoFocus: true,
|
|
54
|
-
placeholder:
|
|
62
|
+
placeholder: handleInputPlaceholder,
|
|
55
63
|
type: mode === "id" ? "number" : "text",
|
|
56
64
|
"aria-autocomplete": "list",
|
|
57
65
|
autoCapitalize: "none",
|
|
@@ -61,11 +69,9 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
61
69
|
spellCheck: false,
|
|
62
70
|
value: search,
|
|
63
71
|
onKeyDown: function onKeyDown(e) {
|
|
64
|
-
if (e.key === "Backspace" && mode !== "default" &&
|
|
72
|
+
if (e.key === "Backspace" && mode !== "default" && e.target.value === "") {
|
|
65
73
|
setMode("default");
|
|
66
|
-
|
|
67
|
-
if (mode === "id" && !isChrome) {
|
|
68
|
-
checkIfNumber(e);
|
|
74
|
+
clearInput();
|
|
69
75
|
}
|
|
70
76
|
if (e.key === "Enter") {
|
|
71
77
|
var selectedItem = document.querySelectorAll(".cp-item")[selected];
|
|
@@ -76,17 +82,17 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
76
82
|
},
|
|
77
83
|
onChange: function onChange(e) {
|
|
78
84
|
var inputText = e.target.value;
|
|
79
|
-
if (inputText.startsWith("#")) {
|
|
85
|
+
if (inputText.startsWith("#") && idModeEnabled) {
|
|
80
86
|
setMode("id");
|
|
81
87
|
clearInput();
|
|
88
|
+
return false;
|
|
82
89
|
}
|
|
83
90
|
handleChange(e);
|
|
84
91
|
},
|
|
85
92
|
onPaste: function onPaste(e) {
|
|
86
93
|
var pastedText = e.clipboardData.getData("text");
|
|
87
|
-
if (pastedText.startsWith("#")) {
|
|
94
|
+
if (pastedText.startsWith("#") && idModeEnabled) {
|
|
88
95
|
setMode("id");
|
|
89
|
-
!isChrome && onChangeSearch(pastedText.slice(1));
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
98
|
}), /*#__PURE__*/React.createElement(StyledActionWrapper, null, loading ? /*#__PURE__*/React.createElement(StyledSpinnerLoader, {
|
|
@@ -95,7 +101,7 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
95
101
|
"aria-valuemax": 100,
|
|
96
102
|
"aria-valuemin": 0,
|
|
97
103
|
role: "progressbar"
|
|
98
|
-
}) : null, mode !== "id" && search.length === 0 ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
104
|
+
}) : null, mode !== "id" && typeof mode !== "object" && idModeEnabled && search.length === 0 ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
99
105
|
title: "Search by ID",
|
|
100
106
|
placement: "top"
|
|
101
107
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
@@ -103,17 +109,15 @@ export var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
|
103
109
|
if (e.key === "Enter") {
|
|
104
110
|
setMode("id");
|
|
105
111
|
clearInput();
|
|
106
|
-
focusInput();
|
|
107
112
|
}
|
|
108
113
|
},
|
|
109
114
|
onClick: function onClick() {
|
|
110
115
|
setMode("id");
|
|
111
116
|
clearInput();
|
|
112
|
-
focusInput();
|
|
113
117
|
},
|
|
114
118
|
variant: "text gray"
|
|
115
|
-
}, /*#__PURE__*/React.createElement(HashtagIcon, null))) : null, search.length > 0 || mode === "id" ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
116
|
-
title:
|
|
119
|
+
}, /*#__PURE__*/React.createElement(HashtagIcon, null))) : null, search.length > 0 || mode === "id" || typeof mode === "object" ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
120
|
+
title: "Clear",
|
|
117
121
|
placement: "top"
|
|
118
122
|
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
119
123
|
variant: "text gray",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPaletteHeader.js","names":["React","useEffect","useRef","IconButton","CloseIcon","HashtagIcon","SearchLargeIcon","Tooltip","StyledActionWrapper","StyledCommandPaletteHeader","StyledInput","StyledParameter","StyledSearchIcon","StyledSpinnerLoader","useSelectedContext","useModeContext","useSearchContext","isChrome","test","navigator","userAgent","vendor","CommandPaletteHeader","handleChange","loading","commandsLength","itemsLength","inputRef","mode","setMode","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","checkIfNumber","event","regex","RegExp","key","match","preventDefault","length","e","selectedItem","document","querySelectorAll","click","inputText","target","value","startsWith","pastedText","clipboardData","getData","slice","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { ChangeEvent, useEffect, useRef, KeyboardEvent } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nconst isChrome =\n /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\n\nexport interface CommandPaletteHeaderProps {\n handleChange: (e: ChangeEvent<HTMLInputElement>) => void;\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n handleChange,\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n onChangeSearch(\"\");\n }\n };\n\n const checkIfNumber = (event: KeyboardEvent<HTMLInputElement>) => {\n const regex = new RegExp(\n /(^\\d*$)|(Backspace|Tab|Delete|ArrowLeft|ArrowRight)/\n );\n\n return !event.key.match(regex) && event.preventDefault();\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={mode === \"id\" ? \"22\" : \"Search or jump to\"}\n type={mode === \"id\" ? \"number\" : \"text\"}\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={(e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n search.length === 0\n ) {\n setMode(\"default\");\n }\n\n if (mode === \"id\" && !isChrome) {\n checkIfNumber(e);\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n }}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (inputText.startsWith(\"#\")) {\n setMode(\"id\");\n clearInput();\n }\n\n handleChange(e);\n }}\n onPaste={(e) => {\n const pastedText = e.clipboardData.getData(\"text\");\n\n if (pastedText.startsWith(\"#\")) {\n setMode(\"id\");\n !isChrome && onChangeSearch(pastedText.slice(1));\n }\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" && search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n focusInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" ? (\n <Tooltip\n title={mode === \"id\" ? \"Close ID mode\" : \"Clear\"}\n placement=\"top\"\n >\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandPaletteHeader.js","names":["React","useEffect","useMemo","useRef","IconButton","CloseIcon","HashtagIcon","SearchLargeIcon","Tooltip","StyledActionWrapper","StyledCommandPaletteHeader","StyledInput","StyledParameter","StyledSearchIcon","StyledSpinnerLoader","useSelectedContext","useModeContext","useSearchContext","CommandPaletteHeader","handleChange","loading","commandsLength","itemsLength","inputRef","mode","setMode","idModeEnabled","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","length","handleInputPlaceholder","name","slice","e","key","target","value","selectedItem","document","querySelectorAll","click","inputText","startsWith","pastedText","clipboardData","getData","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { ChangeEvent, useEffect, useMemo, useRef } from \"react\";\nimport { IconButton } from \"../IconButton\";\nimport { CloseIcon, HashtagIcon, SearchLargeIcon } from \"../Icons\";\nimport { Tooltip } from \"../Tooltip\";\nimport {\n StyledActionWrapper,\n StyledCommandPaletteHeader,\n StyledInput,\n StyledParameter,\n StyledSearchIcon,\n StyledSpinnerLoader,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\n\nimport { useModeContext } from \"./context/ModeContext\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nexport interface CommandPaletteHeaderProps {\n handleChange: (e: ChangeEvent<HTMLInputElement>) => void;\n loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\n handleChange,\n loading = false,\n commandsLength,\n itemsLength,\n}: CommandPaletteHeaderProps) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const { mode, setMode, idModeEnabled } = useModeContext();\n const { setSelected, selected } = useSelectedContext();\n const { search, onChangeSearch } = useSearchContext();\n\n const focusInput = () => {\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const clearInput = () => {\n if (inputRef && inputRef.current) {\n onChangeSearch(\"\");\n }\n };\n\n useEffect(() => {\n if (search.length > 0) {\n if (itemsLength > commandsLength) {\n setSelected(commandsLength);\n } else {\n setSelected(0);\n }\n }\n }, [search, commandsLength, itemsLength, setSelected]);\n\n useEffect(() => {\n focusInput();\n }, [mode]);\n\n const handleInputPlaceholder = useMemo(() => {\n if (typeof mode === \"object\") {\n return \"Search\";\n }\n\n if (mode === \"id\") {\n return \"22\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n return (\n <StyledCommandPaletteHeader className=\"cp-header\">\n <StyledSearchIcon>\n <SearchLargeIcon />\n </StyledSearchIcon>\n\n {mode === \"id\" ? <StyledParameter>ID#:</StyledParameter> : null}\n {typeof mode === \"object\" ? (\n <StyledParameter>\n {mode.name.length > 10 ? mode.name.slice(0, 10) + \"...\" : mode.name}/\n </StyledParameter>\n ) : null}\n\n <StyledInput\n ref={inputRef}\n autoFocus\n placeholder={handleInputPlaceholder}\n type={mode === \"id\" ? \"number\" : \"text\"}\n aria-autocomplete=\"list\"\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n role=\"combobox\"\n spellCheck={false}\n value={search}\n onKeyDown={(e) => {\n if (\n e.key === \"Backspace\" &&\n mode !== \"default\" &&\n (e.target as HTMLInputElement).value === \"\"\n ) {\n setMode(\"default\");\n clearInput();\n }\n\n if (e.key === \"Enter\") {\n const selectedItem = document.querySelectorAll(\".cp-item\")[\n selected\n ] as HTMLElement;\n\n if (itemsLength > 0) {\n selectedItem.click();\n }\n }\n }}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (inputText.startsWith(\"#\") && idModeEnabled) {\n setMode(\"id\");\n clearInput();\n return false;\n }\n\n handleChange(e);\n }}\n onPaste={(e) => {\n const pastedText = e.clipboardData.getData(\"text\");\n\n if (pastedText.startsWith(\"#\") && idModeEnabled) {\n setMode(\"id\");\n }\n }}\n />\n\n <StyledActionWrapper>\n {loading ? (\n <StyledSpinnerLoader\n aria-busy={true}\n aria-label=\"Loading...\"\n aria-valuemax={100}\n aria-valuemin={0}\n role=\"progressbar\"\n />\n ) : null}\n\n {mode !== \"id\" &&\n typeof mode !== \"object\" &&\n idModeEnabled &&\n search.length === 0 ? (\n <Tooltip title=\"Search by ID\" placement=\"top\">\n <IconButton\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"id\");\n clearInput();\n }\n }}\n onClick={() => {\n setMode(\"id\");\n clearInput();\n }}\n variant=\"text gray\"\n >\n <HashtagIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n\n {search.length > 0 || mode === \"id\" || typeof mode === \"object\" ? (\n <Tooltip title=\"Clear\" placement=\"top\">\n <IconButton\n variant=\"text gray\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") {\n setMode(\"default\");\n clearInput();\n focusInput();\n }\n }}\n onClick={() => {\n setMode(\"default\");\n clearInput();\n focusInput();\n }}\n >\n <CloseIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </StyledActionWrapper>\n </StyledCommandPaletteHeader>\n );\n};\n\nCommandPaletteHeader.displayName = \"CommandPaletteItem\";\n"],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { SearchContext } from "../CommandPalette";
|
|
2
3
|
interface ModeContextProps {
|
|
3
|
-
mode: string;
|
|
4
|
+
mode: string | SearchContext;
|
|
4
5
|
setMode: (value: string) => void;
|
|
6
|
+
idModeEnabled: boolean;
|
|
5
7
|
}
|
|
6
8
|
export declare const ModeContext: import("react").Context<ModeContextProps>;
|
|
7
9
|
export declare const ModeContextProvider: import("react").Provider<ModeContextProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModeContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/CommandPalette/context/ModeContext.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ModeContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/CommandPalette/context/ModeContext.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,2CAItB,CAAC;AAEH,eAAO,MAAM,mBAAmB,4CAAuB,CAAC;AAExD,eAAO,MAAM,cAAc,QAAO,gBAA2C,CAAC"}
|
|
@@ -3,7 +3,8 @@ export var ModeContext = /*#__PURE__*/createContext({
|
|
|
3
3
|
mode: "default",
|
|
4
4
|
setMode: function setMode() {
|
|
5
5
|
return null;
|
|
6
|
-
}
|
|
6
|
+
},
|
|
7
|
+
idModeEnabled: false
|
|
7
8
|
});
|
|
8
9
|
export var ModeContextProvider = ModeContext.Provider;
|
|
9
10
|
export var useModeContext = function useModeContext() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModeContext.js","names":["createContext","useContext","ModeContext","mode","setMode","ModeContextProvider","Provider","useModeContext"],"sources":["../../../../../src/components/CommandPalette/context/ModeContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\ninterface ModeContextProps {\n mode: string;\n setMode: (value: string) => void;\n}\n\nexport const ModeContext = createContext<ModeContextProps>({\n mode: \"default\",\n setMode: () => null,\n});\n\nexport const ModeContextProvider = ModeContext.Provider;\n\nexport const useModeContext = (): ModeContextProps => useContext(ModeContext);\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"ModeContext.js","names":["createContext","useContext","ModeContext","mode","setMode","idModeEnabled","ModeContextProvider","Provider","useModeContext"],"sources":["../../../../../src/components/CommandPalette/context/ModeContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { SearchContext } from \"../CommandPalette\";\n\ninterface ModeContextProps {\n mode: string | SearchContext;\n setMode: (value: string) => void;\n idModeEnabled: boolean;\n}\n\nexport const ModeContext = createContext<ModeContextProps>({\n mode: \"default\",\n setMode: () => null,\n idModeEnabled: false,\n});\n\nexport const ModeContextProvider = ModeContext.Provider;\n\nexport const useModeContext = (): ModeContextProps => useContext(ModeContext);\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AASjD,OAAO,IAAMC,WAAW,gBAAGF,aAAa,CAAmB;EACzDG,IAAI,EAAE,SAAS;EACfC,OAAO,EAAE;IAAA,OAAM,IAAI;EAAA;EACnBC,aAAa,EAAE;AACjB,CAAC,CAAC;AAEF,OAAO,IAAMC,mBAAmB,GAAGJ,WAAW,CAACK,QAAQ;AAEvD,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAc;EAAA,OAA2BP,UAAU,CAACC,WAAW,CAAC;AAAA"}
|
package/dist/index.js
CHANGED
|
@@ -16023,7 +16023,7 @@
|
|
|
16023
16023
|
var StyledParameter = styled__default["default"].span.withConfig({
|
|
16024
16024
|
displayName: "CommandPalettestyles__StyledParameter",
|
|
16025
16025
|
componentId: "sc-na3mad-5"
|
|
16026
|
-
})(["color:var(--color-theme-transparent-500);margin-right:8px;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}"], screen.sm);
|
|
16026
|
+
})(["color:var(--color-theme-transparent-500);margin-right:8px;flex-shrink:0;", "{font-size:32px;font-weight:300;letter-spacing:0.5px;line-height:44px;}"], screen.sm);
|
|
16027
16027
|
var StyledActionWrapper = styled__default["default"].div.withConfig({
|
|
16028
16028
|
displayName: "CommandPalettestyles__StyledActionWrapper",
|
|
16029
16029
|
componentId: "sc-na3mad-6"
|
|
@@ -16069,7 +16069,8 @@
|
|
|
16069
16069
|
mode: "default",
|
|
16070
16070
|
setMode: function setMode() {
|
|
16071
16071
|
return null;
|
|
16072
|
-
}
|
|
16072
|
+
},
|
|
16073
|
+
idModeEnabled: false
|
|
16073
16074
|
});
|
|
16074
16075
|
var ModeContextProvider = ModeContext.Provider;
|
|
16075
16076
|
var useModeContext = function useModeContext() {
|
|
@@ -16132,7 +16133,6 @@
|
|
|
16132
16133
|
componentId: "sc-1t486ve-0"
|
|
16133
16134
|
})(["flex:1;"]);
|
|
16134
16135
|
|
|
16135
|
-
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
16136
16136
|
var CommandPaletteHeader = function CommandPaletteHeader(_ref) {
|
|
16137
16137
|
var handleChange = _ref.handleChange,
|
|
16138
16138
|
_ref$loading = _ref.loading,
|
|
@@ -16142,7 +16142,8 @@
|
|
|
16142
16142
|
var inputRef = React.useRef(null);
|
|
16143
16143
|
var _useModeContext = useModeContext(),
|
|
16144
16144
|
mode = _useModeContext.mode,
|
|
16145
|
-
setMode = _useModeContext.setMode
|
|
16145
|
+
setMode = _useModeContext.setMode,
|
|
16146
|
+
idModeEnabled = _useModeContext.idModeEnabled;
|
|
16146
16147
|
var _useSelectedContext = useSelectedContext(),
|
|
16147
16148
|
setSelected = _useSelectedContext.setSelected,
|
|
16148
16149
|
selected = _useSelectedContext.selected;
|
|
@@ -16159,10 +16160,6 @@
|
|
|
16159
16160
|
onChangeSearch("");
|
|
16160
16161
|
}
|
|
16161
16162
|
};
|
|
16162
|
-
var checkIfNumber = function checkIfNumber(event) {
|
|
16163
|
-
var regex = new RegExp(/(^\d*$)|(Backspace|Tab|Delete|ArrowLeft|ArrowRight)/);
|
|
16164
|
-
return !event.key.match(regex) && event.preventDefault();
|
|
16165
|
-
};
|
|
16166
16163
|
React.useEffect(function () {
|
|
16167
16164
|
if (search.length > 0) {
|
|
16168
16165
|
if (itemsLength > commandsLength) {
|
|
@@ -16172,12 +16169,24 @@
|
|
|
16172
16169
|
}
|
|
16173
16170
|
}
|
|
16174
16171
|
}, [search, commandsLength, itemsLength, setSelected]);
|
|
16172
|
+
React.useEffect(function () {
|
|
16173
|
+
focusInput();
|
|
16174
|
+
}, [mode]);
|
|
16175
|
+
var handleInputPlaceholder = React.useMemo(function () {
|
|
16176
|
+
if (_typeof(mode) === "object") {
|
|
16177
|
+
return "Search";
|
|
16178
|
+
}
|
|
16179
|
+
if (mode === "id") {
|
|
16180
|
+
return "22";
|
|
16181
|
+
}
|
|
16182
|
+
return "Search or jump to";
|
|
16183
|
+
}, [mode]);
|
|
16175
16184
|
return /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteHeader, {
|
|
16176
16185
|
className: "cp-header"
|
|
16177
|
-
}, /*#__PURE__*/React__default["default"].createElement(StyledSearchIcon, null, /*#__PURE__*/React__default["default"].createElement(SearchLargeIcon$1, null)), mode === "id" ? /*#__PURE__*/React__default["default"].createElement(StyledParameter, null, "ID#:") : null, /*#__PURE__*/React__default["default"].createElement(StyledInput, {
|
|
16186
|
+
}, /*#__PURE__*/React__default["default"].createElement(StyledSearchIcon, null, /*#__PURE__*/React__default["default"].createElement(SearchLargeIcon$1, null)), mode === "id" ? /*#__PURE__*/React__default["default"].createElement(StyledParameter, null, "ID#:") : null, _typeof(mode) === "object" ? /*#__PURE__*/React__default["default"].createElement(StyledParameter, null, mode.name.length > 10 ? mode.name.slice(0, 10) + "..." : mode.name, "/") : null, /*#__PURE__*/React__default["default"].createElement(StyledInput, {
|
|
16178
16187
|
ref: inputRef,
|
|
16179
16188
|
autoFocus: true,
|
|
16180
|
-
placeholder:
|
|
16189
|
+
placeholder: handleInputPlaceholder,
|
|
16181
16190
|
type: mode === "id" ? "number" : "text",
|
|
16182
16191
|
"aria-autocomplete": "list",
|
|
16183
16192
|
autoCapitalize: "none",
|
|
@@ -16187,11 +16196,9 @@
|
|
|
16187
16196
|
spellCheck: false,
|
|
16188
16197
|
value: search,
|
|
16189
16198
|
onKeyDown: function onKeyDown(e) {
|
|
16190
|
-
if (e.key === "Backspace" && mode !== "default" &&
|
|
16199
|
+
if (e.key === "Backspace" && mode !== "default" && e.target.value === "") {
|
|
16191
16200
|
setMode("default");
|
|
16192
|
-
|
|
16193
|
-
if (mode === "id" && !isChrome) {
|
|
16194
|
-
checkIfNumber(e);
|
|
16201
|
+
clearInput();
|
|
16195
16202
|
}
|
|
16196
16203
|
if (e.key === "Enter") {
|
|
16197
16204
|
var selectedItem = document.querySelectorAll(".cp-item")[selected];
|
|
@@ -16202,17 +16209,17 @@
|
|
|
16202
16209
|
},
|
|
16203
16210
|
onChange: function onChange(e) {
|
|
16204
16211
|
var inputText = e.target.value;
|
|
16205
|
-
if (inputText.startsWith("#")) {
|
|
16212
|
+
if (inputText.startsWith("#") && idModeEnabled) {
|
|
16206
16213
|
setMode("id");
|
|
16207
16214
|
clearInput();
|
|
16215
|
+
return false;
|
|
16208
16216
|
}
|
|
16209
16217
|
handleChange(e);
|
|
16210
16218
|
},
|
|
16211
16219
|
onPaste: function onPaste(e) {
|
|
16212
16220
|
var pastedText = e.clipboardData.getData("text");
|
|
16213
|
-
if (pastedText.startsWith("#")) {
|
|
16221
|
+
if (pastedText.startsWith("#") && idModeEnabled) {
|
|
16214
16222
|
setMode("id");
|
|
16215
|
-
!isChrome && onChangeSearch(pastedText.slice(1));
|
|
16216
16223
|
}
|
|
16217
16224
|
}
|
|
16218
16225
|
}), /*#__PURE__*/React__default["default"].createElement(StyledActionWrapper, null, loading ? /*#__PURE__*/React__default["default"].createElement(StyledSpinnerLoader, {
|
|
@@ -16221,7 +16228,7 @@
|
|
|
16221
16228
|
"aria-valuemax": 100,
|
|
16222
16229
|
"aria-valuemin": 0,
|
|
16223
16230
|
role: "progressbar"
|
|
16224
|
-
}) : null, mode !== "id" && search.length === 0 ? /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
|
16231
|
+
}) : null, mode !== "id" && _typeof(mode) !== "object" && idModeEnabled && search.length === 0 ? /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
|
16225
16232
|
title: "Search by ID",
|
|
16226
16233
|
placement: "top"
|
|
16227
16234
|
}, /*#__PURE__*/React__default["default"].createElement(IconButton, {
|
|
@@ -16229,17 +16236,15 @@
|
|
|
16229
16236
|
if (e.key === "Enter") {
|
|
16230
16237
|
setMode("id");
|
|
16231
16238
|
clearInput();
|
|
16232
|
-
focusInput();
|
|
16233
16239
|
}
|
|
16234
16240
|
},
|
|
16235
16241
|
onClick: function onClick() {
|
|
16236
16242
|
setMode("id");
|
|
16237
16243
|
clearInput();
|
|
16238
|
-
focusInput();
|
|
16239
16244
|
},
|
|
16240
16245
|
variant: "text gray"
|
|
16241
|
-
}, /*#__PURE__*/React__default["default"].createElement(HashtagIcon$1, null))) : null, search.length > 0 || mode === "id" ? /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
|
16242
|
-
title:
|
|
16246
|
+
}, /*#__PURE__*/React__default["default"].createElement(HashtagIcon$1, null))) : null, search.length > 0 || mode === "id" || _typeof(mode) === "object" ? /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
|
16247
|
+
title: "Clear",
|
|
16243
16248
|
placement: "top"
|
|
16244
16249
|
}, /*#__PURE__*/React__default["default"].createElement(IconButton, {
|
|
16245
16250
|
variant: "text gray",
|
|
@@ -16372,7 +16377,7 @@
|
|
|
16372
16377
|
});
|
|
16373
16378
|
};
|
|
16374
16379
|
|
|
16375
|
-
var _excluded = ["children", "onChangeSearch", "search", "mode", "setMode", "loading"];
|
|
16380
|
+
var _excluded = ["children", "onChangeSearch", "search", "mode", "setMode", "loading", "idModeEnabled"];
|
|
16376
16381
|
var _CommandPalette = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
16377
16382
|
var children = _ref.children,
|
|
16378
16383
|
onChangeSearch = _ref.onChangeSearch,
|
|
@@ -16380,6 +16385,8 @@
|
|
|
16380
16385
|
mode = _ref.mode,
|
|
16381
16386
|
setMode = _ref.setMode,
|
|
16382
16387
|
loading = _ref.loading,
|
|
16388
|
+
_ref$idModeEnabled = _ref.idModeEnabled,
|
|
16389
|
+
idModeEnabled = _ref$idModeEnabled === void 0 ? false : _ref$idModeEnabled,
|
|
16383
16390
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
16384
16391
|
var _useState = React.useState(0),
|
|
16385
16392
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -16502,7 +16509,8 @@
|
|
|
16502
16509
|
}, /*#__PURE__*/React__default["default"].createElement(ModeContextProvider, {
|
|
16503
16510
|
value: {
|
|
16504
16511
|
mode: mode,
|
|
16505
|
-
setMode: setMode
|
|
16512
|
+
setMode: setMode,
|
|
16513
|
+
idModeEnabled: idModeEnabled
|
|
16506
16514
|
}
|
|
16507
16515
|
}, /*#__PURE__*/React__default["default"].createElement(CommandPaletteHeader, {
|
|
16508
16516
|
handleChange: handleChange,
|