@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.
Files changed (27) hide show
  1. package/dist/cjs/components/CommandPalette/CommandPalette.js +5 -2
  2. package/dist/cjs/components/CommandPalette/CommandPalette.js.map +1 -1
  3. package/dist/cjs/components/CommandPalette/CommandPalette.styles.js +1 -1
  4. package/dist/cjs/components/CommandPalette/CommandPalette.styles.js.map +1 -1
  5. package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js +25 -21
  6. package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
  7. package/dist/cjs/components/CommandPalette/context/ModeContext.js +2 -1
  8. package/dist/cjs/components/CommandPalette/context/ModeContext.js.map +1 -1
  9. package/dist/esm/components/CommandPalette/CommandPalette.d.ts +6 -1
  10. package/dist/esm/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  11. package/dist/esm/components/CommandPalette/CommandPalette.js +5 -2
  12. package/dist/esm/components/CommandPalette/CommandPalette.js.map +1 -1
  13. package/dist/esm/components/CommandPalette/CommandPalette.styles.d.ts.map +1 -1
  14. package/dist/esm/components/CommandPalette/CommandPalette.styles.js +1 -1
  15. package/dist/esm/components/CommandPalette/CommandPalette.styles.js.map +1 -1
  16. package/dist/esm/components/CommandPalette/CommandPaletteHeader.d.ts.map +1 -1
  17. package/dist/esm/components/CommandPalette/CommandPaletteHeader.js +25 -21
  18. package/dist/esm/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
  19. package/dist/esm/components/CommandPalette/context/ModeContext.d.ts +3 -1
  20. package/dist/esm/components/CommandPalette/context/ModeContext.d.ts.map +1 -1
  21. package/dist/esm/components/CommandPalette/context/ModeContext.js +2 -1
  22. package/dist/esm/components/CommandPalette/context/ModeContext.js.map +1 -1
  23. package/dist/index.js +32 -24
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.min.js +1 -1
  26. package/dist/index.min.js.map +1 -1
  27. 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: mode === "id" ? "22" : "Search or jump to",
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" && search.length === 0) {
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: mode === "id" ? "Close ID mode" : "Clear",
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":";AAEA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,WAAW,2CAGtB,CAAC;AAEH,eAAO,MAAM,mBAAmB,4CAAuB,CAAC;AAExD,eAAO,MAAM,cAAc,QAAO,gBAA2C,CAAC"}
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;AAOjD,OAAO,IAAMC,WAAW,gBAAGF,aAAa,CAAmB;EACzDG,IAAI,EAAE,SAAS;EACfC,OAAO,EAAE;IAAA,OAAM,IAAI;EAAA;AACrB,CAAC,CAAC;AAEF,OAAO,IAAMC,mBAAmB,GAAGH,WAAW,CAACI,QAAQ;AAEvD,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAc;EAAA,OAA2BN,UAAU,CAACC,WAAW,CAAC;AAAA"}
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: mode === "id" ? "22" : "Search or jump to",
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" && search.length === 0) {
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: mode === "id" ? "Close ID mode" : "Clear",
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,