@activecollab/components 1.0.300 → 1.0.302

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 (30) hide show
  1. package/dist/cjs/components/CommandPalette/CommandPalette.styles.js +1 -1
  2. package/dist/cjs/components/CommandPalette/CommandPalette.styles.js.map +1 -1
  3. package/dist/cjs/components/CommandPalette/CommandPaletteCommandItem.js +6 -3
  4. package/dist/cjs/components/CommandPalette/CommandPaletteCommandItem.js.map +1 -1
  5. package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js +3 -25
  6. package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
  7. package/dist/cjs/components/CommandPalette/CommandPaletteItem.js +6 -3
  8. package/dist/cjs/components/CommandPalette/CommandPaletteItem.js.map +1 -1
  9. package/dist/esm/components/CommandPalette/CommandPalette.d.ts +6 -3
  10. package/dist/esm/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  11. package/dist/esm/components/CommandPalette/CommandPalette.styles.d.ts +2 -2
  12. package/dist/esm/components/CommandPalette/CommandPalette.styles.d.ts.map +1 -1
  13. package/dist/esm/components/CommandPalette/CommandPalette.styles.js +1 -1
  14. package/dist/esm/components/CommandPalette/CommandPalette.styles.js.map +1 -1
  15. package/dist/esm/components/CommandPalette/CommandPaletteCommandItem.d.ts +9 -6
  16. package/dist/esm/components/CommandPalette/CommandPaletteCommandItem.d.ts.map +1 -1
  17. package/dist/esm/components/CommandPalette/CommandPaletteCommandItem.js +6 -3
  18. package/dist/esm/components/CommandPalette/CommandPaletteCommandItem.js.map +1 -1
  19. package/dist/esm/components/CommandPalette/CommandPaletteHeader.d.ts.map +1 -1
  20. package/dist/esm/components/CommandPalette/CommandPaletteHeader.js +3 -25
  21. package/dist/esm/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
  22. package/dist/esm/components/CommandPalette/CommandPaletteItem.d.ts +8 -3
  23. package/dist/esm/components/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
  24. package/dist/esm/components/CommandPalette/CommandPaletteItem.js +6 -3
  25. package/dist/esm/components/CommandPalette/CommandPaletteItem.js.map +1 -1
  26. package/dist/index.js +16 -32
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.min.js +1 -1
  29. package/dist/index.min.js.map +1 -1
  30. package/package.json +1 -1
@@ -1 +1 @@
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","loading","commandsLength","itemsLength","inputRef","mode","setMode","idModeEnabled","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","value","length","handleInputPlaceholder","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","isNumber","isFinite","enabledKeyCombos","metaKey","preventDefault","name","slice","inputText","startsWith","pastedText","clipboardData","getData","split","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { 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 loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\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 inputRef.current.value = \"\";\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 \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (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 // mode === 'id' TYPE NUMBER PREVENTING KEYS\n\n if (mode === \"id\") {\n // enableNumbers && key combos\n const isNumber = isFinite(e.key);\n const enabledKeyCombos =\n (e.metaKey && \"a\") ||\n (e.metaKey && \"c\") ||\n (e.metaKey && \"v\") ||\n (e.metaKey && \"x\") ||\n e.key === \"Backspace\" ||\n e.key === \"Tab\";\n\n // check conditions and remove keys\n if (!enabledKeyCombos && !isNumber) {\n e.preventDefault();\n }\n }\n };\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={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (inputText.startsWith(\"#\") && idModeEnabled) {\n setMode(\"id\");\n clearInput();\n return;\n }\n\n onChangeSearch(inputText);\n }}\n onPaste={(e) => {\n e.preventDefault();\n let pastedText = e.clipboardData.getData(\"text\");\n\n if (pastedText.startsWith(\"#\") && idModeEnabled) {\n pastedText = pastedText.split(\"#\")[1];\n setMode(\"id\");\n onChangeSearch(pastedText);\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":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACzD,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,EAAEC,WAAW,EAAEC,eAAe,QAAQ,UAAU;AAClE,SAASC,OAAO,QAAQ,YAAY;AACpC,SACEC,mBAAmB,EACnBC,0BAA0B,EAC1BC,WAAW,EACXC,eAAe,EACfC,gBAAgB,EAChBC,mBAAmB,QACd,yBAAyB;AAChC,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,gBAAgB,QAAQ,yBAAyB;AAQ1D,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,OAIA;EAAA,wBAH/BC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,cAAc,QAAdA,cAAc;IACdC,WAAW,QAAXA,WAAW;EAEX,IAAMC,QAAQ,GAAGnB,MAAM,CAAmB,IAAI,CAAC;EAC/C,sBAAyCa,cAAc,EAAE;IAAjDO,IAAI,mBAAJA,IAAI;IAAEC,OAAO,mBAAPA,OAAO;IAAEC,aAAa,mBAAbA,aAAa;EACpC,0BAAkCV,kBAAkB,EAAE;IAA9CW,WAAW,uBAAXA,WAAW;IAAEC,QAAQ,uBAARA,QAAQ;EAC7B,wBAAmCV,gBAAgB,EAAE;IAA7CW,MAAM,qBAANA,MAAM;IAAEC,cAAc,qBAAdA,cAAc;EAE9B,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,IAAIR,QAAQ,IAAIA,QAAQ,CAACS,OAAO,EAAE;MAChCT,QAAQ,CAACS,OAAO,CAACC,KAAK,EAAE;IAC1B;EACF,CAAC;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,IAAIX,QAAQ,IAAIA,QAAQ,CAACS,OAAO,EAAE;MAChCT,QAAQ,CAACS,OAAO,CAACG,KAAK,GAAG,EAAE;MAC3BL,cAAc,CAAC,EAAE,CAAC;IACpB;EACF,CAAC;EAED5B,SAAS,CAAC,YAAM;IACd,IAAI2B,MAAM,CAACO,MAAM,GAAG,CAAC,EAAE;MACrB,IAAId,WAAW,GAAGD,cAAc,EAAE;QAChCM,WAAW,CAACN,cAAc,CAAC;MAC7B,CAAC,MAAM;QACLM,WAAW,CAAC,CAAC,CAAC;MAChB;IACF;EACF,CAAC,EAAE,CAACE,MAAM,EAAER,cAAc,EAAEC,WAAW,EAAEK,WAAW,CAAC,CAAC;EAEtDzB,SAAS,CAAC,YAAM;IACd6B,UAAU,EAAE;EACd,CAAC,EAAE,CAACP,IAAI,CAAC,CAAC;EAEV,IAAMa,sBAAsB,GAAGlC,OAAO,CAAC,YAAM;IAC3C,IAAI,OAAOqB,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAO,QAAQ;IACjB;IAEA,IAAIA,IAAI,KAAK,IAAI,EAAE;MACjB,OAAO,GAAG;IACZ;IAEA,OAAO,mBAAmB;EAC5B,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMc,aAAa,GAAG,SAAhBA,aAAa,CAAIC,CAAC,EAAK;IAC3B,IACEA,CAAC,CAACC,GAAG,KAAK,WAAW,IACrBhB,IAAI,KAAK,SAAS,IACjBe,CAAC,CAACE,MAAM,CAAsBN,KAAK,KAAK,EAAE,EAC3C;MACAV,OAAO,CAAC,SAAS,CAAC;MAClBS,UAAU,EAAE;IACd;IAEA,IAAIK,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;MACrB,IAAME,YAAY,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,UAAU,CAAC,CACxDhB,QAAQ,CACM;MAEhB,IAAIN,WAAW,GAAG,CAAC,EAAE;QACnBoB,YAAY,CAACG,KAAK,EAAE;MACtB;IACF;;IAEA;;IAEA,IAAIrB,IAAI,KAAK,IAAI,EAAE;MACjB;MACA,IAAMsB,QAAQ,GAAGC,QAAQ,CAACR,CAAC,CAACC,GAAG,CAAC;MAChC,IAAMQ,gBAAgB,GACnBT,CAAC,CAACU,OAAO,IAAI,GAAG,IAChBV,CAAC,CAACU,OAAO,IAAI,GAAI,IACjBV,CAAC,CAACU,OAAO,IAAI,GAAI,IACjBV,CAAC,CAACU,OAAO,IAAI,GAAI,IAClBV,CAAC,CAACC,GAAG,KAAK,WAAW,IACrBD,CAAC,CAACC,GAAG,KAAK,KAAK;;MAEjB;MACA,IAAI,CAACQ,gBAAgB,IAAI,CAACF,QAAQ,EAAE;QAClCP,CAAC,CAACW,cAAc,EAAE;MACpB;IACF;EACF,CAAC;EAED,oBACE,oBAAC,0BAA0B;IAAC,SAAS,EAAC;EAAW,gBAC/C,oBAAC,gBAAgB,qBACf,oBAAC,eAAe,OAAG,CACF,EAElB1B,IAAI,KAAK,IAAI,gBAAG,oBAAC,eAAe,eAAuB,GAAG,IAAI,EAC9D,OAAOA,IAAI,KAAK,QAAQ,gBACvB,oBAAC,eAAe,QACbA,IAAI,CAAC2B,IAAI,CAACf,MAAM,GAAG,EAAE,GAAGZ,IAAI,CAAC2B,IAAI,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG5B,IAAI,CAAC2B,IAAI,MACnD,GAChB,IAAI,eAER,oBAAC,WAAW;IACV,GAAG,EAAE5B,QAAS;IACd,SAAS;IACT,WAAW,EAAEc,sBAAuB;IACpC,IAAI,EAAEb,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAO;IACxC,qBAAkB,MAAM;IACxB,cAAc,EAAC,MAAM;IACrB,YAAY,EAAC,KAAK;IAClB,WAAW,EAAC,KAAK;IACjB,IAAI,EAAC,UAAU;IACf,UAAU,EAAE,KAAM;IAClB,KAAK,EAAEK,MAAO;IACd,SAAS,EAAES,aAAc;IACzB,QAAQ,EAAE,kBAACC,CAAC,EAAK;MACf,IAAMc,SAAS,GAAGd,CAAC,CAACE,MAAM,CAACN,KAAK;MAEhC,IAAIkB,SAAS,CAACC,UAAU,CAAC,GAAG,CAAC,IAAI5B,aAAa,EAAE;QAC9CD,OAAO,CAAC,IAAI,CAAC;QACbS,UAAU,EAAE;QACZ;MACF;MAEAJ,cAAc,CAACuB,SAAS,CAAC;IAC3B,CAAE;IACF,OAAO,EAAE,iBAACd,CAAC,EAAK;MACdA,CAAC,CAACW,cAAc,EAAE;MAClB,IAAIK,UAAU,GAAGhB,CAAC,CAACiB,aAAa,CAACC,OAAO,CAAC,MAAM,CAAC;MAEhD,IAAIF,UAAU,CAACD,UAAU,CAAC,GAAG,CAAC,IAAI5B,aAAa,EAAE;QAC/C6B,UAAU,GAAGA,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrCjC,OAAO,CAAC,IAAI,CAAC;QACbK,cAAc,CAACyB,UAAU,CAAC;MAC5B;IACF;EAAE,EACF,eAEF,oBAAC,mBAAmB,QACjBnC,OAAO,gBACN,oBAAC,mBAAmB;IAClB,aAAW,IAAK;IAChB,cAAW,YAAY;IACvB,iBAAe,GAAI;IACnB,iBAAe,CAAE;IACjB,IAAI,EAAC;EAAa,EAClB,GACA,IAAI,EAEPI,IAAI,KAAK,IAAI,IACd,OAAOA,IAAI,KAAK,QAAQ,IACxBE,aAAa,IACbG,MAAM,CAACO,MAAM,KAAK,CAAC,gBACjB,oBAAC,OAAO;IAAC,KAAK,EAAC,cAAc;IAAC,SAAS,EAAC;EAAK,gBAC3C,oBAAC,UAAU;IACT,UAAU,EAAE,oBAACG,CAAC,EAAK;MACjB,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBf,OAAO,CAAC,IAAI,CAAC;QACbS,UAAU,EAAE;MACd;IACF,CAAE;IACF,OAAO,EAAE,mBAAM;MACbT,OAAO,CAAC,IAAI,CAAC;MACbS,UAAU,EAAE;IACd,CAAE;IACF,OAAO,EAAC;EAAW,gBAEnB,oBAAC,WAAW,OAAG,CACJ,CACL,GACR,IAAI,EAEPL,MAAM,CAACO,MAAM,GAAG,CAAC,IAAIZ,IAAI,KAAK,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,gBAC7D,oBAAC,OAAO;IAAC,KAAK,EAAC,OAAO;IAAC,SAAS,EAAC;EAAK,gBACpC,oBAAC,UAAU;IACT,OAAO,EAAC,WAAW;IACnB,UAAU,EAAE,oBAACe,CAAC,EAAK;MACjB,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBf,OAAO,CAAC,SAAS,CAAC;QAClBS,UAAU,EAAE;QACZH,UAAU,EAAE;MACd;IACF,CAAE;IACF,OAAO,EAAE,mBAAM;MACbN,OAAO,CAAC,SAAS,CAAC;MAClBS,UAAU,EAAE;MACZH,UAAU,EAAE;IACd;EAAE,gBAEF,oBAAC,SAAS,OAAG,CACF,CACL,GACR,IAAI,CACY,CACK;AAEjC,CAAC;AAEDZ,oBAAoB,CAACwC,WAAW,GAAG,oBAAoB"}
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","loading","commandsLength","itemsLength","inputRef","mode","setMode","idModeEnabled","setSelected","selected","search","onChangeSearch","focusInput","current","focus","clearInput","value","length","handleInputPlaceholder","handleKeyDown","e","key","target","selectedItem","document","querySelectorAll","click","name","slice","inputText","startsWith","displayName"],"sources":["../../../../src/components/CommandPalette/CommandPaletteHeader.tsx"],"sourcesContent":["import React, { 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 loading?: boolean;\n commandsLength: number;\n itemsLength: number;\n}\n\nexport const CommandPaletteHeader = ({\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 inputRef.current.value = \"\";\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 \"1\";\n }\n\n return \"Search or jump to\";\n }, [mode]);\n\n const handleKeyDown = (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\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=\"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={handleKeyDown}\n onChange={(e) => {\n const inputText = e.target.value;\n\n if (\n inputText.startsWith(\"#\") &&\n idModeEnabled &&\n search.length === 0\n ) {\n setMode(\"id\");\n onChangeSearch(inputText.slice(1));\n return;\n }\n\n onChangeSearch(inputText);\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,5 +1,6 @@
1
- import React, { ComponentPropsWithoutRef, ReactNode } from "react";
2
- export interface CommandPaletteItemProps extends ComponentPropsWithoutRef<"li"> {
1
+ import { ComponentPropsWithoutRef, ReactElement, ReactNode, ElementType } from "react";
2
+ import { PolymorphicComponentPropsWithRef } from "../../utils/types";
3
+ export interface CommandPaletteItemProps extends ComponentPropsWithoutRef<"a"> {
3
4
  title?: string;
4
5
  renderIcon?: () => ReactNode;
5
6
  className?: string;
@@ -7,5 +8,9 @@ export interface CommandPaletteItemProps extends ComponentPropsWithoutRef<"li">
7
8
  selected?: number;
8
9
  loading?: boolean;
9
10
  }
10
- export declare const CommandPaletteItem: React.ForwardRefExoticComponent<CommandPaletteItemProps & React.RefAttributes<HTMLLIElement>>;
11
+ export declare type PolymorphicCommandPaletteItemProps<C extends ElementType> = PolymorphicComponentPropsWithRef<C, CommandPaletteItemProps>;
12
+ export declare type CommandPaletteComponent = <C extends ElementType = typeof CommandPaletteItem>(props: PolymorphicCommandPaletteItemProps<C>) => ReactElement | null;
13
+ export declare const CommandPaletteItem: CommandPaletteComponent & {
14
+ displayName?: string;
15
+ };
11
16
  //# sourceMappingURL=CommandPaletteItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,wBAAwB,EAExB,SAAS,EAEV,MAAM,OAAO,CAAC;AAmBf,MAAM,WAAW,uBACf,SAAQ,wBAAwB,CAAC,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,+FAsD9B,CAAC"}
1
+ {"version":3,"file":"CommandPaletteItem.d.ts","sourceRoot":"","sources":["../../../../src/components/CommandPalette/CommandPaletteItem.tsx"],"names":[],"mappings":"AACA,OAAc,EACZ,wBAAwB,EAExB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,gCAAgC,EAEjC,MAAM,mBAAmB,CAAC;AAgB3B,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oBAAY,kCAAkC,CAAC,CAAC,SAAS,WAAW,IAClE,gCAAgC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAE/D,oBAAY,uBAAuB,GAAG,CACpC,CAAC,SAAS,WAAW,GAAG,OAAO,kBAAkB,EAEjD,KAAK,EAAE,kCAAkC,CAAC,CAAC,CAAC,KACzC,YAAY,GAAG,IAAI,CAAC;AAEzB,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,GAAG;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CA4DtB,CAAC"}
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _styled2 from "styled-components";
4
4
  import _styled from "styled-components";
5
- var _excluded = ["title", "renderIcon", "className", "index", "loading"];
5
+ var _excluded = ["title", "renderIcon", "className", "index", "loading", "as"];
6
6
  import classNames from "classnames";
7
7
  import React, { forwardRef } from "react";
8
8
  import { findHighlightedSearch } from "../../utils/findHighlightedSearch";
@@ -22,7 +22,9 @@ export var CommandPaletteItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
22
22
  className = _ref.className,
23
23
  index = _ref.index,
24
24
  loading = _ref.loading,
25
+ as = _ref.as,
25
26
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
27
+ var Component = as || "a";
26
28
  var icon = renderIcon && renderIcon();
27
29
  var _useSelectedContext = useSelectedContext(),
28
30
  selected = _useSelectedContext.selected,
@@ -40,7 +42,8 @@ export var CommandPaletteItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
40
42
  $_css: generateRandomWidth()
41
43
  }));
42
44
  }
43
- return /*#__PURE__*/React.createElement(StyledCommandPaletteItem, _extends({}, rest, {
45
+ return /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(StyledCommandPaletteItem, _extends({}, rest, {
46
+ as: Component,
44
47
  ref: ref,
45
48
  className: classNames("cp-item", className),
46
49
  tabIndex: 1,
@@ -55,7 +58,7 @@ export var CommandPaletteItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
55
58
  dangerouslySetInnerHTML: {
56
59
  __html: findHighlightedSearch(search, title)
57
60
  }
58
- }) : null);
61
+ }) : null));
59
62
  });
60
63
  CommandPaletteItem.displayName = "CommandPaletteItem";
61
64
  var _StyledLinearLoader = _styled(LinearLoader).withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPaletteItem.js","names":["classNames","React","forwardRef","findHighlightedSearch","LinearLoader","Typography","StyledCommandPaletteItem","StyledCommandPaletteItemLoader","StyledIcon","useSelectedContext","useSearchContext","generateRandomWidth","randomNum","Math","round","random","CommandPaletteItem","ref","title","renderIcon","className","index","loading","rest","icon","selected","setSelected","search","onMouseEnter","__html","displayName","width","height","borderRadius"],"sources":["../../../../src/components/CommandPalette/CommandPaletteItem.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React, {\n ComponentPropsWithoutRef,\n forwardRef,\n ReactNode,\n Ref,\n} from \"react\";\nimport { findHighlightedSearch } from \"../../utils/findHighlightedSearch\";\nimport { LinearLoader } from \"../Loaders\";\nimport { Typography } from \"../Typography/Typography\";\nimport {\n StyledCommandPaletteItem,\n StyledCommandPaletteItemLoader,\n StyledIcon,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nconst generateRandomWidth = () => {\n // generate range 30-80\n const randomNum = Math.round(Math.random() * 30 + 30);\n\n return randomNum + \"%\";\n};\n\nexport interface CommandPaletteItemProps\n extends ComponentPropsWithoutRef<\"li\"> {\n title?: string;\n renderIcon?: () => ReactNode;\n className?: string;\n index?: number;\n selected?: number;\n loading?: boolean;\n}\n\nexport const CommandPaletteItem = forwardRef(\n (\n {\n title,\n renderIcon,\n className,\n index,\n loading,\n ...rest\n }: CommandPaletteItemProps,\n ref: Ref<HTMLLIElement>\n ) => {\n const icon = renderIcon && renderIcon();\n const { selected, setSelected } = useSelectedContext();\n const { search } = useSearchContext();\n\n const onMouseEnter = () => {\n setSelected(index as number);\n };\n\n if (loading) {\n return (\n <StyledCommandPaletteItemLoader aria-busy={true} aria-disabled={true}>\n <LinearLoader css={{ width: 24, height: 24, borderRadius: \"100%\" }} />\n <LinearLoader css={{ width: generateRandomWidth(), height: 16 }} />\n </StyledCommandPaletteItemLoader>\n );\n }\n\n return (\n <StyledCommandPaletteItem\n {...rest}\n ref={ref}\n className={classNames(\"cp-item\", className)}\n tabIndex={1}\n aria-selected={selected === index}\n onMouseEnter={onMouseEnter}\n $selected={index === selected}\n >\n <StyledIcon>{icon}</StyledIcon>\n {search && title ? (\n <Typography\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant=\"Body 1\"\n color=\"primary\"\n dangerouslySetInnerHTML={{\n __html: findHighlightedSearch(search, title),\n }}\n />\n ) : null}\n </StyledCommandPaletteItem>\n );\n }\n);\n\nCommandPaletteItem.displayName = \"CommandPaletteItem\";\n"],"mappings":";;;;;AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAEVC,UAAU,QAGL,OAAO;AACd,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAASC,YAAY,QAAQ,YAAY;AACzC,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SACEC,wBAAwB,EACxBC,8BAA8B,EAC9BC,UAAU,QACL,yBAAyB;AAChC,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAS;EAChC;EACA,IAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;EAErD,OAAOH,SAAS,GAAG,GAAG;AACxB,CAAC;AAYD,OAAO,IAAMI,kBAAkB,gBAAGd,UAAU,CAC1C,gBASEe,GAAuB,EACpB;EAAA,IARDC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACTC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IACJC,IAAI;EAIT,IAAMC,IAAI,GAAGL,UAAU,IAAIA,UAAU,EAAE;EACvC,0BAAkCV,kBAAkB,EAAE;IAA9CgB,QAAQ,uBAARA,QAAQ;IAAEC,WAAW,uBAAXA,WAAW;EAC7B,wBAAmBhB,gBAAgB,EAAE;IAA7BiB,MAAM,qBAANA,MAAM;EAEd,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzBF,WAAW,CAACL,KAAK,CAAW;EAC9B,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,oBACE,oBAAC,8BAA8B;MAAC,aAAW,IAAK;MAAC,iBAAe;IAAK,gBACnE,8CAAsE,eACtE;MAAA,OAA4BX,mBAAmB;IAAE,EAAkB,CACpC;EAErC;EAEA,oBACE,oBAAC,wBAAwB,eACnBY,IAAI;IACR,GAAG,EAAEN,GAAI;IACT,SAAS,EAAEjB,UAAU,CAAC,SAAS,EAAEoB,SAAS,CAAE;IAC5C,QAAQ,EAAE,CAAE;IACZ,iBAAeK,QAAQ,KAAKJ,KAAM;IAClC,YAAY,EAAEO,YAAa;IAC3B,SAAS,EAAEP,KAAK,KAAKI;EAAS,iBAE9B,oBAAC,UAAU,QAAED,IAAI,CAAc,EAC9BG,MAAM,IAAIT,KAAK,gBACd,oBAAC,UAAU;IACT,QAAQ,EAAC,UAAU;IACnB,UAAU,EAAC,SAAS;IACpB,OAAO,EAAC,QAAQ;IAChB,KAAK,EAAC,SAAS;IACf,uBAAuB,EAAE;MACvBW,MAAM,EAAE1B,qBAAqB,CAACwB,MAAM,EAAET,KAAK;IAC7C;EAAE,EACF,GACA,IAAI,CACiB;AAE/B,CAAC,CACF;AAEDF,kBAAkB,CAACc,WAAW,GAAG,oBAAoB;AAAC;EAAA;EAAA;AAAA,GAjCzB;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE,EAAE;EAAEC,YAAY,EAAE;AAAO,CAAC;AAAA;EAAA;EAAA;AAAA;EAAA,OAC/C;IAAEF,KAAK;IAAyBC,MAAM,EAAE;EAAG,CAAC;AAAA"}
1
+ {"version":3,"file":"CommandPaletteItem.js","names":["classNames","React","forwardRef","findHighlightedSearch","LinearLoader","Typography","StyledCommandPaletteItem","StyledCommandPaletteItemLoader","StyledIcon","useSelectedContext","useSearchContext","generateRandomWidth","randomNum","Math","round","random","CommandPaletteItem","ref","title","renderIcon","className","index","loading","as","rest","Component","icon","selected","setSelected","search","onMouseEnter","__html","displayName","width","height","borderRadius"],"sources":["../../../../src/components/CommandPalette/CommandPaletteItem.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React, {\n ComponentPropsWithoutRef,\n forwardRef,\n ReactElement,\n ReactNode,\n ElementType,\n} from \"react\";\nimport { findHighlightedSearch } from \"../../utils/findHighlightedSearch\";\nimport { LinearLoader } from \"../Loaders\";\nimport { Typography } from \"../Typography/Typography\";\nimport {\n PolymorphicComponentPropsWithRef,\n PolymorphicRef,\n} from \"../../utils/types\";\nimport {\n StyledCommandPaletteItem,\n StyledCommandPaletteItemLoader,\n StyledIcon,\n} from \"./CommandPalette.styles\";\nimport { useSelectedContext } from \"./context\";\nimport { useSearchContext } from \"./context/SearchContext\";\n\nconst generateRandomWidth = () => {\n // generate range 30-80\n const randomNum = Math.round(Math.random() * 30 + 30);\n\n return randomNum + \"%\";\n};\n\nexport interface CommandPaletteItemProps extends ComponentPropsWithoutRef<\"a\"> {\n title?: string;\n renderIcon?: () => ReactNode;\n className?: string;\n index?: number;\n selected?: number;\n loading?: boolean;\n}\n\nexport type PolymorphicCommandPaletteItemProps<C extends ElementType> =\n PolymorphicComponentPropsWithRef<C, CommandPaletteItemProps>;\n\nexport type CommandPaletteComponent = <\n C extends ElementType = typeof CommandPaletteItem\n>(\n props: PolymorphicCommandPaletteItemProps<C>\n) => ReactElement | null;\n\nexport const CommandPaletteItem: CommandPaletteComponent & {\n displayName?: string;\n} = forwardRef(\n <C extends ElementType = typeof CommandPaletteItem>(\n {\n title,\n renderIcon,\n className,\n index,\n loading,\n as,\n ...rest\n }: PolymorphicCommandPaletteItemProps<C>,\n ref?: PolymorphicRef<C>\n ) => {\n const Component = as || \"a\";\n const icon = renderIcon && renderIcon();\n const { selected, setSelected } = useSelectedContext();\n const { search } = useSearchContext();\n\n const onMouseEnter = () => {\n setSelected(index as number);\n };\n\n if (loading) {\n return (\n <StyledCommandPaletteItemLoader aria-busy={true} aria-disabled={true}>\n <LinearLoader css={{ width: 24, height: 24, borderRadius: \"100%\" }} />\n <LinearLoader css={{ width: generateRandomWidth(), height: 16 }} />\n </StyledCommandPaletteItemLoader>\n );\n }\n\n return (\n <li>\n <StyledCommandPaletteItem\n {...rest}\n as={Component}\n ref={ref}\n className={classNames(\"cp-item\", className)}\n tabIndex={1}\n aria-selected={selected === index}\n onMouseEnter={onMouseEnter}\n $selected={index === selected}\n >\n <StyledIcon>{icon}</StyledIcon>\n {search && title ? (\n <Typography\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant=\"Body 1\"\n color=\"primary\"\n dangerouslySetInnerHTML={{\n __html: findHighlightedSearch(search, title),\n }}\n />\n ) : null}\n </StyledCommandPaletteItem>\n </li>\n );\n }\n);\n\nCommandPaletteItem.displayName = \"CommandPaletteItem\";\n"],"mappings":";;;;;AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAEVC,UAAU,QAIL,OAAO;AACd,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAASC,YAAY,QAAQ,YAAY;AACzC,SAASC,UAAU,QAAQ,0BAA0B;AAKrD,SACEC,wBAAwB,EACxBC,8BAA8B,EAC9BC,UAAU,QACL,yBAAyB;AAChC,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAS;EAChC;EACA,IAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;EAErD,OAAOH,SAAS,GAAG,GAAG;AACxB,CAAC;AAoBD,OAAO,IAAMI,kBAEZ,gBAAGd,UAAU,CACZ,gBAUEe,GAAuB,EACpB;EAAA,IATDC,KAAK,QAALA,KAAK;IACLC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACTC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IACPC,EAAE,QAAFA,EAAE;IACCC,IAAI;EAIT,IAAMC,SAAS,GAAGF,EAAE,IAAI,GAAG;EAC3B,IAAMG,IAAI,GAAGP,UAAU,IAAIA,UAAU,EAAE;EACvC,0BAAkCV,kBAAkB,EAAE;IAA9CkB,QAAQ,uBAARA,QAAQ;IAAEC,WAAW,uBAAXA,WAAW;EAC7B,wBAAmBlB,gBAAgB,EAAE;IAA7BmB,MAAM,qBAANA,MAAM;EAEd,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzBF,WAAW,CAACP,KAAK,CAAW;EAC9B,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,oBACE,oBAAC,8BAA8B;MAAC,aAAW,IAAK;MAAC,iBAAe;IAAK,gBACnE,8CAAsE,eACtE;MAAA,OAA4BX,mBAAmB;IAAE,EAAkB,CACpC;EAErC;EAEA,oBACE,6CACE,oBAAC,wBAAwB,eACnBa,IAAI;IACR,EAAE,EAAEC,SAAU;IACd,GAAG,EAAER,GAAI;IACT,SAAS,EAAEjB,UAAU,CAAC,SAAS,EAAEoB,SAAS,CAAE;IAC5C,QAAQ,EAAE,CAAE;IACZ,iBAAeO,QAAQ,KAAKN,KAAM;IAClC,YAAY,EAAES,YAAa;IAC3B,SAAS,EAAET,KAAK,KAAKM;EAAS,iBAE9B,oBAAC,UAAU,QAAED,IAAI,CAAc,EAC9BG,MAAM,IAAIX,KAAK,gBACd,oBAAC,UAAU;IACT,QAAQ,EAAC,UAAU;IACnB,UAAU,EAAC,SAAS;IACpB,OAAO,EAAC,QAAQ;IAChB,KAAK,EAAC,SAAS;IACf,uBAAuB,EAAE;MACvBa,MAAM,EAAE5B,qBAAqB,CAAC0B,MAAM,EAAEX,KAAK;IAC7C;EAAE,EACF,GACA,IAAI,CACiB,CACxB;AAET,CAAC,CACF;AAEDF,kBAAkB,CAACgB,WAAW,GAAG,oBAAoB;AAAC;EAAA;EAAA;AAAA,GApCzB;EAAEC,KAAK,EAAE,EAAE;EAAEC,MAAM,EAAE,EAAE;EAAEC,YAAY,EAAE;AAAO,CAAC;AAAA;EAAA;EAAA;AAAA;EAAA,OAC/C;IAAEF,KAAK;IAAyBC,MAAM,EAAE;EAAG,CAAC;AAAA"}
package/dist/index.js CHANGED
@@ -16180,7 +16180,7 @@
16180
16180
  })(["font-size:12px;margin-top:12px;margin-bottom:4px;font-weight:bold;padding-left:18px;letter-spacing:0.5px;color:var(--color-theme-600);"]);
16181
16181
 
16182
16182
  // prettier-ignore
16183
- var StyledCommandPaletteItem = styled__default["default"].li.withConfig({
16183
+ var StyledCommandPaletteItem = styled__default["default"].a.withConfig({
16184
16184
  displayName: "CommandPalettestyles__StyledCommandPaletteItem",
16185
16185
  componentId: "sc-na3mad-10"
16186
16186
  })(["align-items:center;cursor:pointer;display:flex;padding-bottom:12px;padding-left:18px;padding-right:18px;padding-top:12px;position:relative;background-color:", ";&:focus{background-color:var(--color-theme-200);}&::before{display:", ";background-color:var(--color-primary);content:\"\";height:100%;left:0;position:absolute;width:2px;}&:focus{outline:none;}"], function (_ref) {
@@ -16237,13 +16237,15 @@
16237
16237
  return React.useContext(SearchContext);
16238
16238
  };
16239
16239
 
16240
- var _excluded$2 = ["title", "renderIcon", "className", "index"];
16240
+ var _excluded$2 = ["title", "renderIcon", "className", "index", "as"];
16241
16241
  var CommandPaletteCommandItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
16242
16242
  var title = _ref.title,
16243
16243
  renderIcon = _ref.renderIcon,
16244
16244
  className = _ref.className,
16245
16245
  index = _ref.index,
16246
+ as = _ref.as,
16246
16247
  rest = _objectWithoutProperties(_ref, _excluded$2);
16248
+ var Component = as || "a";
16247
16249
  var icon = renderIcon();
16248
16250
  var _useSelectedContext = useSelectedContext(),
16249
16251
  selected = _useSelectedContext.selected,
@@ -16251,7 +16253,8 @@
16251
16253
  var onMouseEnter = function onMouseEnter() {
16252
16254
  setSelected(index);
16253
16255
  };
16254
- return /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteCommandItem, _extends({}, rest, {
16256
+ return /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteCommandItem, _extends({}, rest, {
16257
+ as: Component,
16255
16258
  ref: ref,
16256
16259
  className: classNames__default["default"]("cp-item cp-command", className),
16257
16260
  tabIndex: 1,
@@ -16263,7 +16266,7 @@
16263
16266
  whitespace: "no-wrap",
16264
16267
  variant: "Body 1",
16265
16268
  color: "primary"
16266
- }, title), /*#__PURE__*/React__default["default"].createElement(ArrowRightIcon$1, null));
16269
+ }, title), /*#__PURE__*/React__default["default"].createElement(ArrowRightIcon$1, null)));
16267
16270
  });
16268
16271
  CommandPaletteCommandItem.displayName = "CommandPaletteCommandItem";
16269
16272
  var _StyledTypography = styled__default["default"](Typography).withConfig({
@@ -16330,19 +16333,6 @@
16330
16333
  selectedItem.click();
16331
16334
  }
16332
16335
  }
16333
-
16334
- // mode === 'id' TYPE NUMBER PREVENTING KEYS
16335
-
16336
- if (mode === "id") {
16337
- // enableNumbers && key combos
16338
- var isNumber = isFinite(e.key);
16339
- var enabledKeyCombos = e.metaKey && "a" || e.metaKey && "c" || e.metaKey && "v" || e.metaKey && "x" || e.key === "Backspace" || e.key === "Tab";
16340
-
16341
- // check conditions and remove keys
16342
- if (!enabledKeyCombos && !isNumber) {
16343
- e.preventDefault();
16344
- }
16345
- }
16346
16336
  };
16347
16337
  return /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteHeader, {
16348
16338
  className: "cp-header"
@@ -16350,7 +16340,7 @@
16350
16340
  ref: inputRef,
16351
16341
  autoFocus: true,
16352
16342
  placeholder: handleInputPlaceholder,
16353
- type: mode === "id" ? "number" : "text",
16343
+ type: "text",
16354
16344
  "aria-autocomplete": "list",
16355
16345
  autoCapitalize: "none",
16356
16346
  autoComplete: "off",
@@ -16361,21 +16351,12 @@
16361
16351
  onKeyDown: handleKeyDown,
16362
16352
  onChange: function onChange(e) {
16363
16353
  var inputText = e.target.value;
16364
- if (inputText.startsWith("#") && idModeEnabled) {
16354
+ if (inputText.startsWith("#") && idModeEnabled && search.length === 0) {
16365
16355
  setMode("id");
16366
- clearInput();
16356
+ onChangeSearch(inputText.slice(1));
16367
16357
  return;
16368
16358
  }
16369
16359
  onChangeSearch(inputText);
16370
- },
16371
- onPaste: function onPaste(e) {
16372
- e.preventDefault();
16373
- var pastedText = e.clipboardData.getData("text");
16374
- if (pastedText.startsWith("#") && idModeEnabled) {
16375
- pastedText = pastedText.split("#")[1];
16376
- setMode("id");
16377
- onChangeSearch(pastedText);
16378
- }
16379
16360
  }
16380
16361
  }), /*#__PURE__*/React__default["default"].createElement(StyledActionWrapper, null, loading ? /*#__PURE__*/React__default["default"].createElement(StyledSpinnerLoader, {
16381
16362
  "aria-busy": true,
@@ -16432,7 +16413,7 @@
16432
16413
  return "";
16433
16414
  };
16434
16415
 
16435
- var _excluded$1 = ["title", "renderIcon", "className", "index", "loading"];
16416
+ var _excluded$1 = ["title", "renderIcon", "className", "index", "loading", "as"];
16436
16417
  var generateRandomWidth = function generateRandomWidth() {
16437
16418
  // generate range 30-80
16438
16419
  var randomNum = Math.round(Math.random() * 30 + 30);
@@ -16444,7 +16425,9 @@
16444
16425
  className = _ref.className,
16445
16426
  index = _ref.index,
16446
16427
  loading = _ref.loading,
16428
+ as = _ref.as,
16447
16429
  rest = _objectWithoutProperties(_ref, _excluded$1);
16430
+ var Component = as || "a";
16448
16431
  var icon = renderIcon && renderIcon();
16449
16432
  var _useSelectedContext = useSelectedContext(),
16450
16433
  selected = _useSelectedContext.selected,
@@ -16462,7 +16445,8 @@
16462
16445
  $_css: generateRandomWidth()
16463
16446
  }));
16464
16447
  }
16465
- return /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteItem, _extends({}, rest, {
16448
+ return /*#__PURE__*/React__default["default"].createElement("li", null, /*#__PURE__*/React__default["default"].createElement(StyledCommandPaletteItem, _extends({}, rest, {
16449
+ as: Component,
16466
16450
  ref: ref,
16467
16451
  className: classNames__default["default"]("cp-item", className),
16468
16452
  tabIndex: 1,
@@ -16477,7 +16461,7 @@
16477
16461
  dangerouslySetInnerHTML: {
16478
16462
  __html: findHighlightedSearch(search, title)
16479
16463
  }
16480
- }) : null);
16464
+ }) : null));
16481
16465
  });
16482
16466
  CommandPaletteItem.displayName = "CommandPaletteItem";
16483
16467
  var _StyledLinearLoader = styled__default["default"](LinearLoader).withConfig({