@activecollab/components 1.0.291 → 1.0.293
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/Avatar/Avatar.js +5 -2
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js +1 -1
- package/dist/cjs/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.d.ts +3 -0
- package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +5 -2
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/CommandPalette/CommandPaletteHeader.js +1 -1
- package/dist/esm/components/CommandPalette/CommandPaletteHeader.js.map +1 -1
- package/dist/index.js +6 -3
- 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
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.Avatar = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _Styles = require("./Styles");
|
|
10
|
-
var _excluded = ["url", "alt", "size", "className", "children"];
|
|
10
|
+
var _excluded = ["url", "alt", "size", "className", "imgClassName", "children"];
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -21,6 +21,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
21
21
|
* @prop {url} - The image url of the Avatar.
|
|
22
22
|
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
23
23
|
* @prop {alt} - alt attribute of the img.
|
|
24
|
+
* @prop {imgClassName} - class name that attaches to img element nested in Wrapper
|
|
24
25
|
*
|
|
25
26
|
* @example
|
|
26
27
|
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
@@ -44,6 +45,7 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
44
45
|
_ref$size = _ref.size,
|
|
45
46
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
46
47
|
className = _ref.className,
|
|
48
|
+
imgClassName = _ref.imgClassName,
|
|
47
49
|
children = _ref.children,
|
|
48
50
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
49
51
|
return /*#__PURE__*/_react.default.createElement(_Styles.StyledWrapper, {
|
|
@@ -53,7 +55,8 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
53
55
|
ref: ref,
|
|
54
56
|
src: url,
|
|
55
57
|
alt: alt,
|
|
56
|
-
role: "img"
|
|
58
|
+
role: "img",
|
|
59
|
+
className: imgClassName
|
|
57
60
|
}, rest)));
|
|
58
61
|
});
|
|
59
62
|
exports.Avatar = Avatar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["Avatar","forwardRef","ref","url","alt","size","className","children","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n {
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["Avatar","forwardRef","ref","url","alt","size","className","imgClassName","children","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n /** img custom class. */\n imgClassName?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n * @prop {imgClassName} - class name that attaches to img element nested in Wrapper\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n {\n url,\n alt = \"Avatar Image\",\n size = 24,\n className,\n imgClassName,\n children,\n ...rest\n },\n ref\n ) => (\n <StyledWrapper className={className}>\n {children}\n <StyledAvatar\n size={size}\n ref={ref}\n src={url}\n alt={alt}\n role=\"img\"\n className={imgClassName}\n {...rest}\n />\n </StyledWrapper>\n )\n);\n\nAvatar.displayName = \"Avatar\";\n"],"mappings":";;;;;;;AAAA;AACA;AAAuD;AAAA;AAAA;AAAA;AAAA;AAAA;AAevD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,MAAM,gBAAG,IAAAC,iBAAU,EAI9B,gBAUEC,GAAG;EAAA,IARDC,GAAG,QAAHA,GAAG;IAAA,gBACHC,GAAG;IAAHA,GAAG,yBAAG,cAAc;IAAA,iBACpBC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IACTC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAAA,oBAIT,6BAAC,qBAAa;IAAC,SAAS,EAAEH;EAAU,GACjCE,QAAQ,eACT,6BAAC,oBAAY;IACX,IAAI,EAAEH,IAAK;IACX,GAAG,EAAEH,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,IAAI,EAAC,KAAK;IACV,SAAS,EAAEG;EAAa,GACpBE,IAAI,EACR,CACY;AAAA,CACjB,CACF;AAAC;AAEFT,MAAM,CAACU,WAAW,GAAG,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPaletteHeader.js","names":["CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","useRef","useModeContext","mode","setMode","idModeEnabled","useSelectedContext","setSelected","selected","useSearchContext","search","onChangeSearch","focusInput","current","focus","clearInput","value","useEffect","length","handleInputPlaceholder","useMemo","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 \"22\";\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":"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"}
|
|
1
|
+
{"version":3,"file":"CommandPaletteHeader.js","names":["CommandPaletteHeader","loading","commandsLength","itemsLength","inputRef","useRef","useModeContext","mode","setMode","idModeEnabled","useSelectedContext","setSelected","selected","useSearchContext","search","onChangeSearch","focusInput","current","focus","clearInput","value","useEffect","length","handleInputPlaceholder","useMemo","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":"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"}
|
|
@@ -8,6 +8,8 @@ export interface AvatarProps extends React.ComponentPropsWithoutRef<"img"> {
|
|
|
8
8
|
size?: number;
|
|
9
9
|
/** Custom class. */
|
|
10
10
|
className?: string;
|
|
11
|
+
/** img custom class. */
|
|
12
|
+
imgClassName?: string;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* @component Avatar
|
|
@@ -17,6 +19,7 @@ export interface AvatarProps extends React.ComponentPropsWithoutRef<"img"> {
|
|
|
17
19
|
* @prop {url} - The image url of the Avatar.
|
|
18
20
|
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
19
21
|
* @prop {alt} - alt attribute of the img.
|
|
22
|
+
* @prop {imgClassName} - class name that attaches to img element nested in Wrapper
|
|
20
23
|
*
|
|
21
24
|
* @example
|
|
22
25
|
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACxE,gBAAgB;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM;;0CA6BlB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
var _excluded = ["url", "alt", "size", "className", "children"];
|
|
3
|
+
var _excluded = ["url", "alt", "size", "className", "imgClassName", "children"];
|
|
4
4
|
import React, { forwardRef } from "react";
|
|
5
5
|
import { StyledAvatar, StyledWrapper } from "./Styles";
|
|
6
6
|
/**
|
|
@@ -11,6 +11,7 @@ import { StyledAvatar, StyledWrapper } from "./Styles";
|
|
|
11
11
|
* @prop {url} - The image url of the Avatar.
|
|
12
12
|
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
13
13
|
* @prop {alt} - alt attribute of the img.
|
|
14
|
+
* @prop {imgClassName} - class name that attaches to img element nested in Wrapper
|
|
14
15
|
*
|
|
15
16
|
* @example
|
|
16
17
|
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
@@ -34,6 +35,7 @@ export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
34
35
|
_ref$size = _ref.size,
|
|
35
36
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
36
37
|
className = _ref.className,
|
|
38
|
+
imgClassName = _ref.imgClassName,
|
|
37
39
|
children = _ref.children,
|
|
38
40
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
39
41
|
return /*#__PURE__*/React.createElement(StyledWrapper, {
|
|
@@ -43,7 +45,8 @@ export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
43
45
|
ref: ref,
|
|
44
46
|
src: url,
|
|
45
47
|
alt: alt,
|
|
46
|
-
role: "img"
|
|
48
|
+
role: "img",
|
|
49
|
+
className: imgClassName
|
|
47
50
|
}, rest)));
|
|
48
51
|
});
|
|
49
52
|
Avatar.displayName = "Avatar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["React","forwardRef","StyledAvatar","StyledWrapper","Avatar","ref","url","alt","size","className","children","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n {
|
|
1
|
+
{"version":3,"file":"Avatar.js","names":["React","forwardRef","StyledAvatar","StyledWrapper","Avatar","ref","url","alt","size","className","imgClassName","children","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { StyledAvatar, StyledWrapper } from \"./Styles\";\n\nexport interface AvatarProps extends React.ComponentPropsWithoutRef<\"img\"> {\n /** Path url. */\n url: string;\n /** Alt text. */\n alt?: string;\n /** Image size. */\n size?: number;\n /** Custom class. */\n className?: string;\n /** img custom class. */\n imgClassName?: string;\n}\n\n/**\n * @component Avatar\n * @description\n * The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image url of the Avatar.\n * @prop {size} - controls the size of an Avatar (width and height) in pixels.\n * @prop {alt} - alt attribute of the img.\n * @prop {imgClassName} - class name that attaches to img element nested in Wrapper\n *\n * @example\n * <Avatar url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\" alt=\"Profile picture of John\" />\n *\n * @example\n * <Avatar\n * url=\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\"\n * alt=\"Profile picture of John\">\n * <Badge size={8} backgroundColor=\"green\" position=\"bottom-left\" />\n * </Avatar>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar\n * @see\n * https://design.activecollab.com/docs/components/avatar\n */\nexport const Avatar = forwardRef<\n HTMLImageElement,\n PropsWithChildren<AvatarProps>\n>(\n (\n {\n url,\n alt = \"Avatar Image\",\n size = 24,\n className,\n imgClassName,\n children,\n ...rest\n },\n ref\n ) => (\n <StyledWrapper className={className}>\n {children}\n <StyledAvatar\n size={size}\n ref={ref}\n src={url}\n alt={alt}\n role=\"img\"\n className={imgClassName}\n {...rest}\n />\n </StyledWrapper>\n )\n);\n\nAvatar.displayName = \"Avatar\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAA2B,OAAO;AAC5D,SAASC,YAAY,EAAEC,aAAa,QAAQ,UAAU;AAetD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,MAAM,gBAAGH,UAAU,CAI9B,gBAUEI,GAAG;EAAA,IARDC,GAAG,QAAHA,GAAG;IAAA,gBACHC,GAAG;IAAHA,GAAG,yBAAG,cAAc;IAAA,iBACpBC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IACTC,SAAS,QAATA,SAAS;IACTC,YAAY,QAAZA,YAAY;IACZC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAAA,oBAIT,oBAAC,aAAa;IAAC,SAAS,EAAEH;EAAU,GACjCE,QAAQ,eACT,oBAAC,YAAY;IACX,IAAI,EAAEH,IAAK;IACX,GAAG,EAAEH,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,IAAI,EAAC,KAAK;IACV,SAAS,EAAEG;EAAa,GACpBE,IAAI,EACR,CACY;AAAA,CACjB,CACF;AAEDR,MAAM,CAACS,WAAW,GAAG,QAAQ"}
|
|
@@ -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 \"22\";\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":"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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","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":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9683,7 +9683,7 @@
|
|
|
9683
9683
|
return props.size + "px";
|
|
9684
9684
|
});
|
|
9685
9685
|
|
|
9686
|
-
var _excluded$L = ["url", "alt", "size", "className", "children"];
|
|
9686
|
+
var _excluded$L = ["url", "alt", "size", "className", "imgClassName", "children"];
|
|
9687
9687
|
/**
|
|
9688
9688
|
* @component Avatar
|
|
9689
9689
|
* @description
|
|
@@ -9692,6 +9692,7 @@
|
|
|
9692
9692
|
* @prop {url} - The image url of the Avatar.
|
|
9693
9693
|
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
9694
9694
|
* @prop {alt} - alt attribute of the img.
|
|
9695
|
+
* @prop {imgClassName} - class name that attaches to img element nested in Wrapper
|
|
9695
9696
|
*
|
|
9696
9697
|
* @example
|
|
9697
9698
|
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
@@ -9715,6 +9716,7 @@
|
|
|
9715
9716
|
_ref$size = _ref.size,
|
|
9716
9717
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
9717
9718
|
className = _ref.className,
|
|
9719
|
+
imgClassName = _ref.imgClassName,
|
|
9718
9720
|
children = _ref.children,
|
|
9719
9721
|
rest = _objectWithoutProperties(_ref, _excluded$L);
|
|
9720
9722
|
return /*#__PURE__*/React__default["default"].createElement(StyledWrapper, {
|
|
@@ -9724,7 +9726,8 @@
|
|
|
9724
9726
|
ref: ref,
|
|
9725
9727
|
src: url,
|
|
9726
9728
|
alt: alt,
|
|
9727
|
-
role: "img"
|
|
9729
|
+
role: "img",
|
|
9730
|
+
className: imgClassName
|
|
9728
9731
|
}, rest)));
|
|
9729
9732
|
});
|
|
9730
9733
|
Avatar.displayName = "Avatar";
|
|
@@ -16217,7 +16220,7 @@
|
|
|
16217
16220
|
return "Search";
|
|
16218
16221
|
}
|
|
16219
16222
|
if (mode === "id") {
|
|
16220
|
-
return "
|
|
16223
|
+
return "1";
|
|
16221
16224
|
}
|
|
16222
16225
|
return "Search or jump to";
|
|
16223
16226
|
}, [mode]);
|