@activecollab/components 1.0.241 → 1.0.243
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/Autocomplete/Autocomplete.js +6 -6
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js +32 -6
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/Styles.js +11 -5
- package/dist/cjs/components/Avatar/Styles.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.js +50 -0
- package/dist/cjs/components/Badge/Badge.js.map +1 -0
- package/dist/cjs/components/Badge/Styles.js +34 -0
- package/dist/cjs/components/Badge/Styles.js.map +1 -0
- package/dist/cjs/components/Badge/index.js +17 -0
- package/dist/cjs/components/Badge/index.js.map +1 -0
- package/dist/cjs/components/Button/Button.js +1 -0
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +1 -0
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/MultiAvatar/MultiAvatar.js +35 -6
- package/dist/cjs/components/MultiAvatar/MultiAvatar.js.map +1 -1
- package/dist/cjs/components/index.js +11 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +6 -6
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.d.ts +28 -2
- package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/esm/components/Avatar/Avatar.js +33 -7
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Avatar/Styles.d.ts +3 -1
- package/dist/esm/components/Avatar/Styles.d.ts.map +1 -1
- package/dist/esm/components/Avatar/Styles.js +9 -4
- package/dist/esm/components/Avatar/Styles.js.map +1 -1
- package/dist/esm/components/Badge/Badge.d.ts +32 -0
- package/dist/esm/components/Badge/Badge.d.ts.map +1 -0
- package/dist/esm/components/Badge/Badge.js +42 -0
- package/dist/esm/components/Badge/Badge.js.map +1 -0
- package/dist/esm/components/Badge/Styles.d.ts +3 -0
- package/dist/esm/components/Badge/Styles.d.ts.map +1 -0
- package/dist/esm/components/Badge/Styles.js +24 -0
- package/dist/esm/components/Badge/Styles.js.map +1 -0
- package/dist/esm/components/Badge/index.d.ts +2 -0
- package/dist/esm/components/Badge/index.d.ts.map +1 -0
- package/dist/esm/components/Badge/index.js +2 -0
- package/dist/esm/components/Badge/index.js.map +1 -0
- package/dist/esm/components/Button/Button.d.ts +1 -0
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js +1 -0
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/IconButton/IconButton.d.ts +1 -0
- package/dist/esm/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/esm/components/IconButton/IconButton.js +1 -0
- package/dist/esm/components/IconButton/IconButton.js.map +1 -1
- package/dist/esm/components/MultiAvatar/MultiAvatar.d.ts +33 -3
- package/dist/esm/components/MultiAvatar/MultiAvatar.d.ts.map +1 -1
- package/dist/esm/components/MultiAvatar/MultiAvatar.js +35 -6
- package/dist/esm/components/MultiAvatar/MultiAvatar.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/index.js +147 -22
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","names":["IconButton","forwardRef","ref","children","className","variant","size","active","args","displayName"],"sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledIconButton } from \"./Styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IconButtonProps extends ButtonProps {}\n\n/**\n * @component IconButton\n * @description\n * IconButton composes the Button component except that it renders only an icon.\n * Since IconButton only renders an icon, you have to pass the aria-label prop,\n * so screen readers can give meaning to the button.\n *\n * @props See Button props.\n *\n * @example\n * return (\n * <IconButton className=\"mr-2\" variant=\"primary\" size=\"medium\" aria-label=\"Close dialog\">\n * <CloseIcon />\n * </IconButton>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--icon-button\n */\n\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(({ children, className, variant, size, active, ...args }, ref) => {\n return (\n <StyledIconButton\n className={className}\n variant={variant}\n size={size}\n active={active}\n ref={ref}\n {...args}\n >\n {children}\n </StyledIconButton>\n );\n});\n\nIconButton.displayName = \"IconButton\";\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAK5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,UAAU,gBAAG,IAAAC,iBAAU,EAGlC,gBAA0DC,GAAG,EAAK;EAAA,IAA/DC,QAAQ,QAARA,QAAQ;IAAEC,SAAS,QAATA,SAAS;IAAEC,OAAO,QAAPA,OAAO;IAAEC,IAAI,QAAJA,IAAI;IAAEC,MAAM,QAANA,MAAM;IAAKC,IAAI;EACtD,oBACE,6BAAC,wBAAgB;IACf,SAAS,EAAEJ,SAAU;IACrB,OAAO,EAAEC,OAAQ;IACjB,IAAI,EAAEC,IAAK;IACX,MAAM,EAAEC,MAAO;IACf,GAAG,EAAEL;EAAI,GACLM,IAAI,GAEPL,QAAQ,CACQ;AAEvB,CAAC,CAAC;AAAC;AAEHH,UAAU,CAACS,WAAW,GAAG,YAAY"}
|
|
1
|
+
{"version":3,"file":"IconButton.js","names":["IconButton","forwardRef","ref","children","className","variant","size","active","args","displayName"],"sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren } from \"react\";\nimport { ButtonProps } from \"../Button\";\nimport { StyledIconButton } from \"./Styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IconButtonProps extends ButtonProps {}\n\n/**\n * @component IconButton\n * @description\n * IconButton composes the Button component except that it renders only an icon.\n * Since IconButton only renders an icon, you have to pass the aria-label prop,\n * so screen readers can give meaning to the button.\n *\n * @props See Button props.\n *\n * @example\n * return (\n * <IconButton className=\"mr-2\" variant=\"primary\" size=\"medium\" aria-label=\"Close dialog\">\n * <CloseIcon />\n * </IconButton>\n * )\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-button--icon-button\n * https://design.activecollab.com/docs/components/button\n */\n\nexport const IconButton = forwardRef<\n HTMLButtonElement,\n PropsWithChildren<IconButtonProps>\n>(({ children, className, variant, size, active, ...args }, ref) => {\n return (\n <StyledIconButton\n className={className}\n variant={variant}\n size={size}\n active={active}\n ref={ref}\n {...args}\n >\n {children}\n </StyledIconButton>\n );\n});\n\nIconButton.displayName = \"IconButton\";\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAK5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,IAAMA,UAAU,gBAAG,IAAAC,iBAAU,EAGlC,gBAA0DC,GAAG,EAAK;EAAA,IAA/DC,QAAQ,QAARA,QAAQ;IAAEC,SAAS,QAATA,SAAS;IAAEC,OAAO,QAAPA,OAAO;IAAEC,IAAI,QAAJA,IAAI;IAAEC,MAAM,QAANA,MAAM;IAAKC,IAAI;EACtD,oBACE,6BAAC,wBAAgB;IACf,SAAS,EAAEJ,SAAU;IACrB,OAAO,EAAEC,OAAQ;IACjB,IAAI,EAAEC,IAAK;IACX,MAAM,EAAEC,MAAO;IACf,GAAG,EAAEL;EAAI,GACLM,IAAI,GAEPL,QAAQ,CACQ;AAEvB,CAAC,CAAC;AAAC;AAEHH,UAAU,CAACS,WAAW,GAAG,YAAY"}
|
|
@@ -9,13 +9,40 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _Styles = require("./Styles");
|
|
10
10
|
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); }
|
|
11
11
|
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; }
|
|
12
|
+
/**
|
|
13
|
+
* @component MultiAvatar
|
|
14
|
+
* @description
|
|
15
|
+
* The MultiAvatar component is used to represent user, and displays the profile picture, initials or fallback icon.
|
|
16
|
+
*
|
|
17
|
+
* @prop {url} - The image urls of the MultiAvatar.
|
|
18
|
+
* @prop {size} - controls the size of an MultiAvatar (width and height) in pixels.
|
|
19
|
+
* @prop {alt} - alt attributes of the imgs.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <MultiAvatar
|
|
23
|
+
* url={["https://faces-img.xcdn.link/image-lorem-face-954.jpg", "https://faces-img.xcdn.link/image-lorem-face-953.jpg"]}
|
|
24
|
+
* alt={["Profile picture of John", "Profile picture of Sarah"]} />
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* <MultiAvatar
|
|
28
|
+
* url={["https://faces-img.xcdn.link/image-lorem-face-954.jpg", "https://faces-img.xcdn.link/image-lorem-face-953.jpg"]}
|
|
29
|
+
* alt={["Profile picture of John", "Profile picture of Sarah"]}
|
|
30
|
+
* >
|
|
31
|
+
* <Badge />
|
|
32
|
+
* </MultiAvatar>
|
|
33
|
+
*
|
|
34
|
+
* @see
|
|
35
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar
|
|
36
|
+
* @see
|
|
37
|
+
* https://design.activecollab.com/docs/components/avatar
|
|
38
|
+
*/
|
|
12
39
|
var MultiAvatar = function MultiAvatar(_ref) {
|
|
13
40
|
var url = _ref.url,
|
|
14
|
-
|
|
15
|
-
alt = _ref$alt === void 0 ? "Avatar Image" : _ref$alt,
|
|
41
|
+
alt = _ref.alt,
|
|
16
42
|
_ref$size = _ref.size,
|
|
17
43
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
18
|
-
className = _ref.className
|
|
44
|
+
className = _ref.className,
|
|
45
|
+
children = _ref.children;
|
|
19
46
|
var setSize = (0, _react.useCallback)(function (i) {
|
|
20
47
|
switch (url.length) {
|
|
21
48
|
case 1:
|
|
@@ -53,7 +80,9 @@ var MultiAvatar = function MultiAvatar(_ref) {
|
|
|
53
80
|
}
|
|
54
81
|
return url;
|
|
55
82
|
}, [url]);
|
|
56
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
84
|
+
className: "tw-relative tw-inline-flex"
|
|
85
|
+
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledMultiAvatar, {
|
|
57
86
|
style: {
|
|
58
87
|
width: "".concat(size, "px"),
|
|
59
88
|
height: "".concat(size, "px")
|
|
@@ -67,11 +96,11 @@ var MultiAvatar = function MultiAvatar(_ref) {
|
|
|
67
96
|
key: "avatar_".concat(i)
|
|
68
97
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
69
98
|
src: v,
|
|
70
|
-
alt: alt[i] ? alt[i] : "avatar_".concat(i),
|
|
99
|
+
alt: alt && alt[i] ? alt[i] : "avatar_".concat(i),
|
|
71
100
|
width: size,
|
|
72
101
|
height: size
|
|
73
102
|
}));
|
|
74
|
-
}));
|
|
103
|
+
})), children);
|
|
75
104
|
};
|
|
76
105
|
exports.MultiAvatar = MultiAvatar;
|
|
77
106
|
MultiAvatar.displayName = "MultiAvatar";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiAvatar.js","names":["MultiAvatar","url","alt","size","className","setSize","useCallback","i","length","width","height","slicedUrl","useMemo","slice","map","v","displayName"],"sources":["../../../../src/components/MultiAvatar/MultiAvatar.tsx"],"sourcesContent":["import React, {
|
|
1
|
+
{"version":3,"file":"MultiAvatar.js","names":["MultiAvatar","url","alt","size","className","children","setSize","useCallback","i","length","width","height","slicedUrl","useMemo","slice","map","v","displayName"],"sources":["../../../../src/components/MultiAvatar/MultiAvatar.tsx"],"sourcesContent":["import React, { PropsWithChildren, useCallback, useMemo } from \"react\";\nimport { StyledMultiAvatar, StyledMultiAvatarInner } from \"./Styles\";\n\nexport interface MultiAvatarProps {\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 MultiAvatar\n * @description\n * The MultiAvatar component is used to represent user, and displays the profile picture, initials or fallback icon.\n *\n * @prop {url} - The image urls of the MultiAvatar.\n * @prop {size} - controls the size of an MultiAvatar (width and height) in pixels.\n * @prop {alt} - alt attributes of the imgs.\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]} />\n *\n * @example\n * <MultiAvatar\n * url={[\"https://faces-img.xcdn.link/image-lorem-face-954.jpg\", \"https://faces-img.xcdn.link/image-lorem-face-953.jpg\"]}\n * alt={[\"Profile picture of John\", \"Profile picture of Sarah\"]}\n * >\n * <Badge />\n * </MultiAvatar>\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 MultiAvatar = ({\n url,\n alt,\n size = 24,\n className,\n children,\n}: PropsWithChildren<MultiAvatarProps>) => {\n const setSize = useCallback(\n (i: number): object => {\n switch (url.length) {\n case 1:\n return { width: `${size}px`, height: `${size}px` };\n case 2:\n return { width: `${size / 2}px`, height: `${size}px` };\n case 3:\n if (i === 0) {\n return { width: `${size / 2}px`, height: `${size}px` };\n } else {\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n default:\n return { width: `${size / 2}px`, height: `${size / 2}px` };\n }\n },\n [size, url.length]\n );\n\n const slicedUrl = useMemo(() => {\n if (url?.length > 4) {\n return url.slice(0, 4);\n }\n\n return url;\n }, [url]);\n\n return (\n <span className=\"tw-relative tw-inline-flex\">\n <StyledMultiAvatar\n style={{ width: `${size}px`, height: `${size}px` }}\n className={className}\n $urlCount={url.length}\n >\n {slicedUrl.map((v, i) => (\n <StyledMultiAvatarInner\n style={setSize(i)}\n className=\"c-multi-avatar__wrapper\"\n key={`avatar_${i}`}\n >\n <img\n src={v}\n alt={alt && alt[i] ? alt[i] : `avatar_${i}`}\n width={size}\n height={size}\n />\n </StyledMultiAvatarInner>\n ))}\n </StyledMultiAvatar>\n {children}\n </span>\n );\n};\n\nMultiAvatar.displayName = \"MultiAvatar\";\n"],"mappings":";;;;;;;AAAA;AACA;AAAqE;AAAA;AAarE;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;AACA;AACO,IAAMA,WAAW,GAAG,SAAdA,WAAW,OAMmB;EAAA,IALzCC,GAAG,QAAHA,GAAG;IACHC,GAAG,QAAHA,GAAG;IAAA,iBACHC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IACTC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;EAER,IAAMC,OAAO,GAAG,IAAAC,kBAAW,EACzB,UAACC,CAAS,EAAa;IACrB,QAAQP,GAAG,CAACQ,MAAM;MAChB,KAAK,CAAC;QACJ,OAAO;UAAEC,KAAK,YAAKP,IAAI,OAAI;UAAEQ,MAAM,YAAKR,IAAI;QAAK,CAAC;MACpD,KAAK,CAAC;QACJ,OAAO;UAAEO,KAAK,YAAKP,IAAI,GAAG,CAAC,OAAI;UAAEQ,MAAM,YAAKR,IAAI;QAAK,CAAC;MACxD,KAAK,CAAC;QACJ,IAAIK,CAAC,KAAK,CAAC,EAAE;UACX,OAAO;YAAEE,KAAK,YAAKP,IAAI,GAAG,CAAC,OAAI;YAAEQ,MAAM,YAAKR,IAAI;UAAK,CAAC;QACxD,CAAC,MAAM;UACL,OAAO;YAAEO,KAAK,YAAKP,IAAI,GAAG,CAAC,OAAI;YAAEQ,MAAM,YAAKR,IAAI,GAAG,CAAC;UAAK,CAAC;QAC5D;MACF;QACE,OAAO;UAAEO,KAAK,YAAKP,IAAI,GAAG,CAAC,OAAI;UAAEQ,MAAM,YAAKR,IAAI,GAAG,CAAC;QAAK,CAAC;IAAC;EAEjE,CAAC,EACD,CAACA,IAAI,EAAEF,GAAG,CAACQ,MAAM,CAAC,CACnB;EAED,IAAMG,SAAS,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC9B,IAAI,CAAAZ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEQ,MAAM,IAAG,CAAC,EAAE;MACnB,OAAOR,GAAG,CAACa,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACxB;IAEA,OAAOb,GAAG;EACZ,CAAC,EAAE,CAACA,GAAG,CAAC,CAAC;EAET,oBACE;IAAM,SAAS,EAAC;EAA4B,gBAC1C,6BAAC,yBAAiB;IAChB,KAAK,EAAE;MAAES,KAAK,YAAKP,IAAI,OAAI;MAAEQ,MAAM,YAAKR,IAAI;IAAK,CAAE;IACnD,SAAS,EAAEC,SAAU;IACrB,SAAS,EAAEH,GAAG,CAACQ;EAAO,GAErBG,SAAS,CAACG,GAAG,CAAC,UAACC,CAAC,EAAER,CAAC;IAAA,oBAClB,6BAAC,8BAAsB;MACrB,KAAK,EAAEF,OAAO,CAACE,CAAC,CAAE;MAClB,SAAS,EAAC,yBAAyB;MACnC,GAAG,mBAAYA,CAAC;IAAG,gBAEnB;MACE,GAAG,EAAEQ,CAAE;MACP,GAAG,EAAEd,GAAG,IAAIA,GAAG,CAACM,CAAC,CAAC,GAAGN,GAAG,CAACM,CAAC,CAAC,oBAAaA,CAAC,CAAG;MAC5C,KAAK,EAAEL,IAAK;MACZ,MAAM,EAAEA;IAAK,EACb,CACqB;EAAA,CAC1B,CAAC,CACgB,EACnBE,QAAQ,CACJ;AAEX,CAAC;AAAC;AAEFL,WAAW,CAACiB,WAAW,GAAG,aAAa"}
|
|
@@ -784,4 +784,15 @@ Object.keys(_IconButton).forEach(function (key) {
|
|
|
784
784
|
}
|
|
785
785
|
});
|
|
786
786
|
});
|
|
787
|
+
var _Badge = require("./Badge");
|
|
788
|
+
Object.keys(_Badge).forEach(function (key) {
|
|
789
|
+
if (key === "default" || key === "__esModule") return;
|
|
790
|
+
if (key in exports && exports[key] === _Badge[key]) return;
|
|
791
|
+
Object.defineProperty(exports, key, {
|
|
792
|
+
enumerable: true,
|
|
793
|
+
get: function get() {
|
|
794
|
+
return _Badge[key];
|
|
795
|
+
}
|
|
796
|
+
});
|
|
797
|
+
});
|
|
787
798
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Pressed\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAoBA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAnBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from \"./Button\";\nexport * from \"./ButtonGroup\";\nexport * from \"./Breadcrumbs\";\nexport * from \"./CounterButton\";\nexport * from \"./Steppers\";\nexport * from \"./Tables\";\nexport * from \"./CompleteCheckbox\";\nexport * from \"./Paper\";\nexport * from \"./ScaleBar\";\nexport * from \"./Card\";\nexport * from \"./EntityCard\";\nexport * from \"./Signifier\";\nexport * from \"./Avatar\";\nexport * from \"./Tag\";\nexport * from \"./Loaders\";\nexport * from \"./Nav\";\nexport * from \"./Bubble\";\nexport * from \"./Input\";\nexport * from \"./Menu\";\nexport * from \"./Expanders\";\nexport * from \"./Pickers\";\nexport * from \"./DatePicker\";\nexport * from \"./List\";\nexport * from \"./MenuSelector\";\nexport * from \"./MultiAvatar\";\nexport * from \"./RadioButton\";\nexport * from \"./ScrollShadow\";\nexport * from \"./Icons\";\nexport * from \"./Textarea\";\nexport * from \"./Modal\";\nexport * from \"./Sheet\";\nexport * from \"./Header\";\nexport * from \"./AutoResizeTextarea\";\nexport * from \"./Overlay\";\nexport * from \"./Accordion\";\nexport * from \"./Choose\";\nexport * from \"./Links\";\nexport * from \"./SelectDate\";\nexport * from \"./Popper\";\nexport * from \"./ToastMessage\";\nexport * from \"./Tooltip\";\nexport * from \"./Transitions\";\nexport * from \"./Pressed\";\nexport * from \"./Window\";\nexport * from \"./ValueButton\";\nexport * from \"./Select\";\nexport * from \"./SelectTrigger\";\nexport * from \"./Dialog\";\nexport * from \"./ConfirmDialog\";\nexport * from \"./Checkbox\";\nexport * from \"./Toggle\";\nexport * from \"./Typography\";\nexport * from \"./Autocomplete\";\nexport * from \"./ComboBox\";\nexport * from \"./Button/AddToListButton\";\nexport * from \"./ProgressBar\";\nexport * from \"./ProgressPie\";\nexport * from \"./Reactions\";\nexport * from \"./Label\";\nexport * from \"./GlobalStyle\";\nexport * from \"./ProgressRing\";\nexport * from \"./EditableContent\";\nexport * from \"./EditableText\";\nexport * from \"./Folder\";\nexport * from \"./Chip\";\nexport * from \"./Trigger\";\nexport * from \"./Dot\";\nexport * from \"./Entity\";\nexport * from \"./Filter\";\nexport * from \"./Wizard\";\nexport * from \"./IconButton\";\nexport * from \"./Typography\";\nexport * from \"./Badge\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAoBA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAnBA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -195,14 +195,14 @@ export var Autocomplete = function Autocomplete(_ref) {
|
|
|
195
195
|
result = [].concat(selectedOptions, [id]);
|
|
196
196
|
}
|
|
197
197
|
} else {
|
|
198
|
-
if (clearInputOnSelect && inputEl) {
|
|
199
|
-
inputEl.value = "";
|
|
200
|
-
inputEl.dispatchEvent(new Event("change", {
|
|
201
|
-
bubbles: true
|
|
202
|
-
}));
|
|
203
|
-
}
|
|
204
198
|
result = id;
|
|
205
199
|
}
|
|
200
|
+
if (clearInputOnSelect && inputEl) {
|
|
201
|
+
inputEl.value = "";
|
|
202
|
+
inputEl.dispatchEvent(new Event("change", {
|
|
203
|
+
bubbles: true
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
206
|
setFilter("");
|
|
207
207
|
} else {
|
|
208
208
|
if (typeof handleDefaultOptionChange === "function") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","StyledAutocompleteScrollShadow","isOptionGroup","item","options","undefined","Autocomplete","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","itemRef","listRef","selectedOptions","Array","isArray","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n if (clearInputOnSelect && inputEl) {\n inputEl.value = \"\";\n inputEl.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n result = id;\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","StyledAutocompleteScrollShadow","isOptionGroup","item","options","undefined","Autocomplete","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","itemRef","listRef","selectedOptions","Array","isArray","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl) {\n inputEl.value = \"\";\n inputEl.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":";AAAA,OAAOA,KAAK,IAEVC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,SAAS,EACTC,MAAM,QAGD,OAAO;AACd,SAASC,UAAU,QAAQ,yBAAyB;AACpD,OAAOC,aAAa,MAAM,8BAA8B;AACxD,SAASC,sBAAsB,QAAQ,kBAAkB;AACzD,SAA2BC,MAAM,QAAQ,kBAAkB;AAC3D,SAA4BC,WAAW,QAAQ,uBAAuB;AACtE,SACEC,sBAAsB,EACtBC,yBAAyB,EACzBC,0BAA0B,EAC1BC,8BAA8B,QACzB,UAAU;AAEjB,OAAO,SAASC,aAAa,CAC3BC,IAA0C,EACf;EAC3B,OAAQA,IAAI,CAAuBC,OAAO,KAAKC,SAAS;AAC1D;AAqDA,OAAO,IAAMC,YAAoC,GAAG,SAAvCA,YAAoC,OAoB3C;EAAA,IAnBJC,IAAI,QAAJA,IAAI;IAAA,oBACJH,OAAO;IAAPA,OAAO,6BAAG,EAAE;IACZI,OAAO,QAAPA,OAAO;IAAA,qBACPC,QAAQ;IAARA,QAAQ,8BAAG,EAAE;IACbC,UAAU,QAAVA,UAAU;IACVC,YAAY,QAAZA,YAAY;IAAA,yBACZC,YAAY;IAAZA,YAAY,kCAAG,UAACC,MAAM;MAAA,OAAKA,MAAM,oBAANA,MAAM,CAAEC,IAAI;IAAA;IACvCC,YAAY,QAAZA,YAAY;IAAA,0BACZC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IACrBC,YAAY,QAAZA,YAAY;IACZC,eAAe,QAAfA,eAAe;IACfC,iBAAiB,QAAjBA,iBAAiB;IACjBC,oBAAoB,QAApBA,oBAAoB;IACpBC,qBAAqB,QAArBA,qBAAqB;IACrBC,yBAAyB,QAAzBA,yBAAyB;IACzBC,qBAAqB,QAArBA,qBAAqB;IAAA,6BACrBC,oBAAoB;IAApBA,oBAAoB,sCAAG,KAAK;IAAA,0BAC5BC,aAAa;IAAbA,aAAa,mCAAG,GAAG;IACnBC,kBAAkB,QAAlBA,kBAAkB;EAElB,IAAMC,OAAO,GAAGnC,MAAM,CAAgB,IAAI,CAAC;EAC3C,IAAMoC,OAAO,GAAGpC,MAAM,CAAa,IAAI,CAAC;EAExC,IAAMqC,eAAe,GAAGvC,OAAO,CAAC,YAAM;IACpC,IAAIwC,KAAK,CAACC,OAAO,CAACtB,QAAQ,CAAC,EAAE;MAC3B,OAAOA,QAAQ;IACjB;IACA,OAAO,CAACA,QAAQ,CAAC;EACnB,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMuB,UAAU,GAAG5C,WAAW,CAAC,UAAC6C,IAAI,EAAK;IACvC,IAAIT,oBAAoB,EAAE;MACxB,OAAOS,IAAI;IACb;IACA,OAAOA,IAAI,CAACC,IAAI,CAAC,UAACC,CAAmB,EAAEC,CAAmB,EAAK;MAC7D,IAAIP,eAAe,CAACQ,QAAQ,CAACD,CAAC,CAACE,EAAE,CAAC,IAAI,CAACT,eAAe,CAACQ,QAAQ,CAACF,CAAC,CAACG,EAAE,CAAC,EAAE;QACrE,OAAO,CAAC;MACV;MACA,IAAIT,eAAe,CAACQ,QAAQ,CAACF,CAAC,CAACG,EAAE,CAAC,IAAI,CAACT,eAAe,CAACQ,QAAQ,CAACD,CAAC,CAACE,EAAE,CAAC,EAAE;QACrE,OAAO,CAAC,CAAC;MACX;MACA,OAAO,CAAC;IACV,CAAC,CAAC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,QAAQ,GAAGnD,WAAW,CAC1B,UAACgB,OAAO,EAAK;IACX,IAAIgB,oBAAoB,EAAE;MACxB,OAAOY,UAAU,WAAK5B,OAAO,EAAE;IACjC;IACA,OAAO4B,UAAU,CACf,UAAI5B,OAAO,EAAE8B,IAAI,CAAC,UAACC,CAAmB,EAAEC,CAAmB;MAAA,OACzDpB,aAAa,KAAK,KAAK,GACnBmB,CAAC,CAACrB,IAAI,CAAC0B,aAAa,CAACJ,CAAC,CAACtB,IAAI,CAAC,GAC5BsB,CAAC,CAACtB,IAAI,CAAC0B,aAAa,CAACL,CAAC,CAACrB,IAAI,CAAC;IAAA,EACjC,CACF;EACH,CAAC,EACD,CAACE,aAAa,EAAEI,oBAAoB,EAAEY,UAAU,CAAC,CAClD;EAED,IAAMS,UAAU,GAAGnD,OAAO,CAAC;IAAA,OAAMiD,QAAQ,CAACnC,OAAO,CAAC;EAAA,GAAE,CAACA,OAAO,EAAEmC,QAAQ,CAAC,CAAC;EAExE,gBAA0BlD,QAAQ,CAAS;MACzCc,IAAI,EAAEE,SAAS;MACfqC,EAAE,EAAErC;IACN,CAAC,CAAC;IAHKsC,KAAK;IAAEC,QAAQ;EAItB,iBAA4BvD,QAAQ,CAAC,EAAE,CAAC;IAAjCwD,MAAM;IAAEC,SAAS;EAExB,IAAMC,WAAW,GAAG3D,WAAW,CAC7B,UAAC4D,CAAC,EAAK;IACL,IAAIA,CAAC,IAAIA,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE;MACvB;IACF;IACA,IAAI9B,iBAAiB,EAAE;MACrBX,OAAO,oBAAPA,OAAO,CAAE0C,KAAK,EAAE;MAChBJ,SAAS,CAAC,EAAE,CAAC;MACb3B,iBAAiB,CAAC0B,MAAM,CAAC;IAC3B;EACF,CAAC,EACD,CAACA,MAAM,EAAE1B,iBAAiB,EAAEX,OAAO,CAAC,CACrC;EAED,IAAM2C,kBAAkB,GAAG/D,WAAW,CACpC;IAAA,OAAMwD,QAAQ,CAAC;MAAEzC,IAAI,EAAE,QAAQ;MAAEuC,EAAE,EAAE;IAAQ,CAAC,CAAC;EAAA,GAC/C,EAAE,CACH;EAED,IAAMU,UAAU,GAAG9D,OAAO,CAAC,YAAM;IAC/B,OAAO,CAAC,EACNoB,UAAU,IACVmC,MAAM,CAACQ,IAAI,EAAE,IACbjD,OAAO,CAACkD,KAAK,CAAC,UAACzC,MAAM,EAAK;MACxB,IAAIX,aAAa,CAACW,MAAM,CAAC,EAAE;QACzB,OAAOA,MAAM,CAACT,OAAO,CAACkD,KAAK,CACzB,UAACC,CAAC;UAAA,OAAKA,CAAC,CAACzC,IAAI,CAAC0C,WAAW,EAAE,KAAKX,MAAM,CAACQ,IAAI,EAAE,CAACG,WAAW,EAAE;QAAA,EAC5D;MACH;MACA,OAAO3C,MAAM,CAACC,IAAI,CAAC0C,WAAW,EAAE,KAAKX,MAAM,CAACQ,IAAI,EAAE,CAACG,WAAW,EAAE;IAClE,CAAC,CAAC,CACH;EACH,CAAC,EAAE,CAAC9C,UAAU,EAAEmC,MAAM,EAAEzC,OAAO,CAAC,CAAC;EAEjC,IAAMqD,YAAY,GAAGnE,OAAO,CAAC,YAAM;IACjC,oBACE,oBAAC,yBAAyB;MACxB,GAAG,EAAEqD,KAAK,CAACxC,IAAI,KAAK,QAAQ,GAAGwB,OAAO,GAAG,IAAK;MAC9C,GAAG,EAAC,YAAY;MAChB,KAAK,EAAEgB,KAAK,CAACxC,IAAI,KAAK,QAAS;MAC/B,WAAW,EAAE4C,WAAY;MACzB,YAAY,EAAEI;IAAmB,GAEhCzC,UAAU,CACe;EAEhC,CAAC,EAAE,CAACA,UAAU,EAAEqC,WAAW,EAAEJ,KAAK,EAAEQ,kBAAkB,CAAC,CAAC;EAExD,IAAMO,aAAa,GAAGtE,WAAW,CAC/B,UAACgB,OAAO,EAAEyC,MAAM,EAAK;IACnB,IAAMc,aAAa,GAAGd,MAAM,CAACQ,IAAI,EAAE;IACnC,IAAMO,SAAS,GAAGxD,OAAO,CAAC,CAAC,CAAC,IAAIF,aAAa,CAACE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,IAAIwD,SAAS,EAAE;MACb,IAAIC,OAAO,GAAG,KAAK;MACnB,OAAOzD,OAAO,CAAC0D,MAAM,CAAC,UAACC,GAAG,EAAEC,aAAa,EAAK;QAC5C,IAAMC,eAAe,GAAGD,aAAa,CAAC5D,OAAO,CAACyC,MAAM,CAAC,UAACU,CAAC;UAAA,OACrDA,CAAC,CAACzC,IAAI,CAAC0C,WAAW,EAAE,CAACnB,QAAQ,CAACsB,aAAa,CAACH,WAAW,EAAE,CAAC;QAAA,EAC3D;QACD,IAAIS,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;UAC9B,IAAI,CAACL,OAAO,IAAIhB,MAAM,EAAE;YACtBD,QAAQ,CAAC;cAAEzC,IAAI,EAAE8D,eAAe,CAAC,CAAC,CAAC,CAAC3B,EAAE;cAAEI,EAAE,EAAE;YAAW,CAAC,CAAC;UAC3D;UACAmB,OAAO,GAAG,IAAI;UACd,iBAAWE,GAAG,gBAAOC,aAAa;YAAE5D,OAAO,EAAE6D;UAAe;QAC9D;QACA,iBAAWF,GAAG;MAChB,CAAC,EAAE,EAAE,CAAC;IACR,CAAC,MAAM;MACL,IAAME,eAAe,GAAG7D,OAAO,CAACyC,MAAM,CAAC,UAACU,CAAC;QAAA,OACvCA,CAAC,CAACzC,IAAI,CAAC0C,WAAW,EAAE,CAACnB,QAAQ,CAACsB,aAAa,CAACH,WAAW,EAAE,CAAC;MAAA,EAC3D;MACD,IAAIX,MAAM,IAAIoB,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;QACxCtB,QAAQ,CAAC;UAAEzC,IAAI,EAAE8D,eAAe,CAAC,CAAC,CAAC,CAAC3B,EAAE;UAAEI,EAAE,EAAE;QAAW,CAAC,CAAC;MAC3D;MACA,IAAIuB,eAAe,CAACC,MAAM,KAAK,CAAC,IAAIxD,UAAU,EAAE;QAC9CkC,QAAQ,CAAC;UAAEzC,IAAI,EAAE,QAAQ;UAAEuC,EAAE,EAAE;QAAW,CAAC,CAAC;MAC9C;MACA,OAAOuB,eAAe;IACxB;EACF,CAAC,EACD,CAACvD,UAAU,CAAC,CACb;EAED,IAAMyD,IAAI,GAAG7E,OAAO,CAClB;IAAA,OAAMoE,aAAa,CAACjB,UAAU,EAAEI,MAAM,CAAC;EAAA,GACvC,CAACA,MAAM,EAAEa,aAAa,EAAEjB,UAAU,CAAC,CACpC;EAED,IAAM2B,iBAAiB,GAAG9E,OAAO,CAC/B;IAAA,OAAM,CAAC,CAACyB,YAAY,IAAI,CAAC8B,MAAM;EAAA,GAC/B,CAAC9B,YAAY,EAAE8B,MAAM,CAAC,CACvB;EAED,IAAMwB,WAAW,GAAG/E,OAAO,CAAC,YAAM;IAChC,IAAMc,OAAO,GAAG+D,IAAI,CAACL,MAAM,CACzB,UACEC,GAAkD,EAClDlD,MAA4C,EACzC;MACH,IAAI,CAACX,aAAa,CAACW,MAAM,CAAC,EAAE;QAC1B,iBAAWkD,GAAG,GAAElD,MAAM;MACxB;MACA,iBAAWkD,GAAG,EAAKlD,MAAM,CAACT,OAAO;IACnC,CAAC,EACD,EAAE,CACH;IACD,OAAOsD,aAAa,CAACtD,OAAO,EAAEyC,MAAM,CAAC;EACvC,CAAC,EAAE,CAACA,MAAM,EAAEa,aAAa,EAAES,IAAI,CAAC,CAAC;EAEjC,IAAMG,iBAAiB,GAAGlF,WAAW,CAAC,UAAC4D,CAAC,EAAK;IAC3C,IACEA,CAAC,CAACuB,MAAM,IACR,EAAEvB,CAAC,CAACwB,GAAG,KAAK,WAAW,CAAC,IACxB,EAAExB,CAAC,CAACwB,GAAG,KAAK,SAAS,CAAC,IACtB,EAAExB,CAAC,CAACwB,GAAG,KAAK,OAAO,CAAC,EACpB;MACA1B,SAAS,CAACE,CAAC,CAACuB,MAAM,CAACE,KAAK,CAAC;IAC3B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,mBAAmB,GAAGtF,WAAW,CACrC,UAAC4D,CAA8B,EAAW;IACxCJ,QAAQ,CAAC;MAAEzC,IAAI,EAAE6C,CAAC;MAAEN,EAAE,EAAE;IAAQ,CAAC,CAAC;EACpC,CAAC,EACD,EAAE,CACH;EAED,IAAMiC,cAAc,GAAGvF,WAAW,CAChC,UAACkD,EAAE,EAAK;IACN,IAAIsC,MAAM;IAEV,IAAItC,EAAE,KAAK,IAAI,EAAE;MACf,IAAI/B,IAAI,KAAK,UAAU,EAAE;QACvB,IAAIsB,eAAe,CAACQ,QAAQ,CAACC,EAAE,CAAC,EAAE;UAChCsC,MAAM,GAAG/C,eAAe,CAACgB,MAAM,CAAC,UAACgC,GAAG;YAAA,OAAKA,GAAG,KAAKvC,EAAE;UAAA,EAAC;QACtD,CAAC,MAAM;UACLsC,MAAM,aAAO/C,eAAe,GAAES,EAAE,EAAC;QACnC;MACF,CAAC,MAAM;QACLsC,MAAM,GAAGtC,EAAE;MACb;MACA,IAAIZ,kBAAkB,IAAIlB,OAAO,EAAE;QACjCA,OAAO,CAACiE,KAAK,GAAG,EAAE;QAClBjE,OAAO,CAACsE,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,EAAE;UAAEC,OAAO,EAAE;QAAK,CAAC,CAAC,CAAC;MAC/D;MACAlC,SAAS,CAAC,EAAE,CAAC;IACf,CAAC,MAAM;MACL,IAAI,OAAOxB,yBAAyB,KAAK,UAAU,EAAE;QACnDA,yBAAyB,EAAE;QAC3B;MACF;IACF;IAEA,IAAI,OAAOL,YAAY,KAAK,UAAU,EAAE;MACtCA,YAAY,CAAC2D,MAAM,CAAC;IACtB;EACF,CAAC,EACD,CACElD,kBAAkB,EAClBT,YAAY,EACZK,yBAAyB,EACzBd,OAAO,EACPqB,eAAe,EACftB,IAAI,CACL,CACF;EAED,IAAM0E,gBAAgB,GAAG7F,WAAW,CAAC,UAAC4D,CAAC,EAAK;IAC1C,IAAIA,CAAC,KAAK3C,SAAS,IAAI2C,CAAC,KAAK,IAAI,EAAE;MACjC,OAAOJ,QAAQ,CAAC;QAAEzC,IAAI,EAAE,IAAI;QAAEuC,EAAE,EAAE;MAAQ,CAAC,CAAC;IAC9C;IACAE,QAAQ,CAAC;MAAEzC,IAAI,EAAE6C,CAAC;MAAEN,EAAE,EAAE;IAAQ,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMwC,WAAW,GAAG9F,WAAW,CAC7B,UAAC4D,CAAC,EAAK;IACLA,CAAC,CAACmC,cAAc,EAAE;IAClBR,cAAc,CAAChC,KAAK,CAACxC,IAAI,CAAC;EAC5B,CAAC,EACD,CAACwE,cAAc,EAAEhC,KAAK,CAAC,CACxB;EAED,IAAMyC,kBAAkB,GAAGhG,WAAW,CACpC,UAACe,IAA0C,EAAEkF,KAAK,EAAK;IACrD,IAAInF,aAAa,CAACC,IAAI,CAAC,EAAE;MACvB,oBACE,oBAAC,WAAW;QACV,OAAO,EAAE0B,eAAgB;QACzB,IAAI,EAAE1B,IAAI,CAACW,IAAK;QAChB,GAAG,EAAEX,IAAI,CAACmC,EAAG;QACb,QAAQ,EAAEoC,mBAAoB;QAC9B,EAAE,EAAEvE,IAAI,CAACmC,EAAG;QACZ,KAAK,EAAEK,KAAK,CAACxC,IAAK;QAClB,OAAO,EAAEA,IAAI,CAACC,OAAQ;QACtB,aAAa,EAAEgF,kBAAmB;QAClC,IAAI,EAAE7E,IAAK;QACX,QAAQ,EAAEU,YAAa;QACvB,MAAM,EAAE4B;MAAO,EACf;IAEN;IACA,oBACE,oBAAC,MAAM;MACL,IAAI,EAAE1C,IAAI,CAACW,IAAK;MAChB,GAAG,EAAEa,OAAQ;MACb,GAAG,EAAE0D,KAAM;MACX,YAAY,EAAEJ,gBAAiB;MAC/B,OAAO,EAAEC,WAAY;MACrB,EAAE,EAAE/E,IAAI,CAACmC,EAAG;MACZ,KAAK,EAAEnC,IAAI,CAACmC,EAAE,KAAKK,KAAK,CAACxC,IAAK;MAC9B,SAAS,EAAEe,eAAgB;MAC3B,YAAY,EAAEN,YAAY,cACnBT,IAAI;QAAEW,IAAI,EAAEpB,aAAa,CAACS,IAAI,CAACW,IAAI,EAAE+B,MAAM;MAAC,IACjD;QACEP,EAAE,cAAYnC,IAAI,CAACmC,EAAI;QACvBgD,OAAO,EAAEzD,eAAe,IAAIA,eAAe,CAACQ,QAAQ,CAAClC,IAAI,CAACmC,EAAE,CAAC;QAC7DK,KAAK,EAAEA,KAAK,CAACxC,IAAI,KAAKA,IAAI,CAACmC,EAAE;QAC7BiD,QAAQ,EAAE;UAAA,OAAM,IAAI;QAAA;MACtB,CAAC;IACD,EACF;EAEN,CAAC,EACD,CACEL,WAAW,EACXD,gBAAgB,EAChBtC,KAAK,CAACxC,IAAI,EACVe,eAAe,EACfN,YAAY,EACZiC,MAAM,EACNhB,eAAe,EACf6C,mBAAmB,EACnBnE,IAAI,EACJU,YAAY,CACb,CACF;EAED,IAAMuE,kBAAkB,GAAGpG,WAAW,CAAC,YAAM;IAC3CwD,QAAQ,CAAC;MAAEzC,IAAI,EAAEE,SAAS;MAAEqC,EAAE,EAAE;IAAQ,CAAC,CAAC;EAC5C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAM+C,YAAY,GAAGrG,WAAW,CAAC,UAAC+E,IAAgB,EAAEuB,UAAkB,EAAK;IACzE,IAAIvB,IAAI,CAACwB,eAAe,EAAE,GAAGxB,IAAI,CAACyB,YAAY,EAAE,GAAGF,UAAU,GAAG,EAAE,EAAE;MAClE,OAAOvB,IAAI,CAAC0B,SAAS,CAACH,UAAU,GAAGvB,IAAI,CAACwB,eAAe,EAAE,GAAG,EAAE,CAAC;IACjE;IACA,IAAIxB,IAAI,CAACyB,YAAY,EAAE,GAAGF,UAAU,EAAE;MACpC,OAAOvB,IAAI,CAAC0B,SAAS,CAACH,UAAU,CAAC;IACnC;EACF,CAAC,EAAE,EAAE,CAAC;EAENnG,SAAS,CAAC,YAAM;IACd,IAAIoD,KAAK,CAACD,EAAE,KAAK,UAAU,IAAIC,KAAK,CAACxC,IAAI,KAAKE,SAAS,EAAE;MACvD,IAAMF,IAA0B,GAAGwB,OAAO,CAACmE,OAAO;MAClD,IAAM3B,KAAI,GAAGvC,OAAO,CAACkE,OAAO;MAC5B,IAAInE,OAAO,IAAIxB,IAAI,IAAIgE,KAAI,EAAE;QAC3BsB,YAAY,CAACtB,KAAI,EAAEhE,IAAI,CAAC4F,SAAS,CAAC;MACpC;IACF;EACF,CAAC,EAAE,CAACN,YAAY,EAAE9C,KAAK,CAAC,CAAC;EAEzB,IAAMqD,eAAe,GAAG5G,WAAW,CACjC,UAAC4D,CAAC,EAAK;IACL,IAAIA,CAAC,CAACwB,GAAG,KAAK,OAAO,EAAE;MACrBxB,CAAC,CAACmC,cAAc,EAAE;MAElB,IAAIxC,KAAK,CAACxC,IAAI,KAAKE,SAAS,IAAIwC,MAAM,KAAK,EAAE,EAAE;QAC7C;MACF;MACA,IAAIF,KAAK,CAACxC,IAAI,KAAK,QAAQ,EAAE;QAC3B4C,WAAW,CAAC,IAAI,CAAC;QACjB;MACF;MACA,IAAIJ,KAAK,CAACxC,IAAI,KAAK,IAAI,IAAImB,yBAAyB,EAAE;QACpDA,yBAAyB,EAAE;QAC3B;MACF;MAEA,IAAI,OAAOqB,KAAK,CAACxC,IAAI,KAAK,WAAW,IAAIwC,KAAK,CAACxC,IAAI,KAAK,IAAI,EAAE;QAC5DwE,cAAc,CAAChC,KAAK,CAACxC,IAAI,CAAC;QAC1B2C,SAAS,CAAC,EAAE,CAAC;MACf;MACA;IACF;IACAF,QAAQ,CAAC;MACPzC,IAAI,EAAER,sBAAsB,CAC1BqD,CAAC,EACDL,KAAK,CAACxC,IAAI,EACVkE,WAAW,EACXjB,UAAU,EACVgB,iBAAiB,CAClB;MACD1B,EAAE,EAAE;IACN,CAAC,CAAC;EACJ,CAAC,EACD,CACEG,MAAM,EACNwB,WAAW,EACXM,cAAc,EACdrD,yBAAyB,EACzByB,WAAW,EACXJ,KAAK,EACLS,UAAU,EACVgB,iBAAiB,CAClB,CACF;EAED7E,SAAS,CAAC,YAAM;IACd,IAAIiB,OAAO,EAAE;MACXA,OAAO,CAACyF,SAAS,GAAGD,eAAe;MACnCxF,OAAO,CAAC0F,OAAO,GAAG5B,iBAAiB;IACrC;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAE0B,eAAe,EAAExF,OAAO,CAAC,CAAC;EAEjD,IAAM2F,uBAAuB,GAAG/G,WAAW,CAAC,YAAM;IAChD,IAAImC,qBAAqB,EAAE;MACzB,OAAOM,eAAe,CAACqC,MAAM,GAAG,CAAC,IAAIrC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE;IAChE,CAAC,MAAM;MACL,OACEA,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,IAC3BA,eAAe,CAACqC,MAAM,KAAKG,WAAW,CAACH,MAAM;IAEjD;EACF,CAAC,EAAE,CAACG,WAAW,CAACH,MAAM,EAAE3C,qBAAqB,EAAEM,eAAe,CAAC,CAAC;EAEhE,IAAMuE,YAAY,GAAG9G,OAAO,CAC1B;IAAA,OAAMqB,YAAY,IAAI,CAACyC,UAAU,IAAIe,IAAI,CAACD,MAAM,GAAG,CAAC;EAAA,GACpD,CAACC,IAAI,CAACD,MAAM,EAAEvD,YAAY,EAAEyC,UAAU,CAAC,CACxC;EAED,IAAMiD,cAAc,GAAG/G,OAAO,CAC5B;IAAA,oBACE,oBAAC,0BAA0B,QAAEqB,YAAY,CAA8B;EAAA,CACxE,EACD,CAACA,YAAY,CAAC,CACf;EAED,oBACE,oBAAC,8BAA8B;IAC7B,SAAS,EAAEU,qBAAsB;IACjC,SAAS,EACP,CAACN,YAAY,IAAI,CAACL,UAAU,IAAI,CAACC,YAAY,IAAIwD,IAAI,CAACD,MAAM,GAAG;EAChE,GAEA;IAAA,IAAGoC,QAAQ,SAARA,QAAQ;IAAA,oBACV,oBAAC,sBAAsB;MAAC,GAAG,EAAC,MAAM;MAAC,YAAY,EAAEd;IAAmB,gBAClE,oBAAC,UAAU;MACT,GAAG,EAAE5D,OAAQ;MACb,GAAG,EAAC,WAAW;MACf,UAAU;MACV,aAAa,EAAEH,aAAc;MAC7B,QAAQ,EAAE6E;IAAS,GAElBvF,YAAY,IAAI,CAAC8B,MAAM,iBACtB,oBAAC,MAAM;MACL,IAAI,EAAE9B,YAAa;MACnB,GAAG,EAAEY,OAAQ;MACb,KAAK,EAAEgB,KAAK,CAACxC,IAAI,KAAK,IAAK;MAC3B,YAAY,EAAE8E,gBAAiB;MAC/B,OAAO,EAAE,iBAACjC,CAAC,EAAK;QACdA,CAAC,CAACmC,cAAc,EAAE;QAClBR,cAAc,CAAC,IAAI,CAAC;MACtB,CAAE;MACF,YAAY,EAAE/D,YAAY,CACxB;QAAEE,IAAI,EAAEC,YAAY;QAAEuB,EAAE,EAAE;MAAK,CAAC,EAChC;QACEgD,OAAO,EAAEa,uBAAuB,EAAE;QAClCxD,KAAK,EAAEA,KAAK,CAACxC,IAAI,KAAK,IAAI;QAC1BoF,QAAQ,EAAE;UAAA,OAAM,IAAI;QAAA;MACtB,CAAC;IACD,EAEL,EACApB,IAAI,CAACoC,GAAG,CAAC,UAACpG,IAAsB,EAAEkF,KAAK;MAAA,OACtCD,kBAAkB,CAACjF,IAAI,EAAEkF,KAAK,CAAC;IAAA,EAChC,EACAe,YAAY,IAAIC,cAAc,EAC9BjD,UAAU,IAAIK,YAAY,CAChB,CACU;EAAA,CAC1B,CAC8B;AAErC,CAAC;AAEDnD,YAAY,CAACkG,WAAW,GAAG,cAAc"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export interface
|
|
2
|
+
export interface AvatarProps extends React.ComponentPropsWithoutRef<"img"> {
|
|
3
3
|
/** Path url. */
|
|
4
4
|
url: string;
|
|
5
5
|
/** Alt text. */
|
|
@@ -9,5 +9,31 @@ export interface IAvatar extends React.ComponentPropsWithoutRef<"img"> {
|
|
|
9
9
|
/** Custom class. */
|
|
10
10
|
className?: string;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @component Avatar
|
|
14
|
+
* @description
|
|
15
|
+
* The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.
|
|
16
|
+
*
|
|
17
|
+
* @prop {url} - The image url of the Avatar.
|
|
18
|
+
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
19
|
+
* @prop {alt} - alt attribute of the img.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Avatar
|
|
26
|
+
* url="https://faces-img.xcdn.link/image-lorem-face-954.jpg"
|
|
27
|
+
* alt="Profile picture of John">
|
|
28
|
+
* <Badge size={8} backgroundColor="green" position="bottom-left" />
|
|
29
|
+
* </Avatar>
|
|
30
|
+
*
|
|
31
|
+
* @see
|
|
32
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar
|
|
33
|
+
* @see
|
|
34
|
+
* https://design.activecollab.com/docs/components/avatar
|
|
35
|
+
*/
|
|
36
|
+
export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & {
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
} & React.RefAttributes<HTMLImageElement>>;
|
|
13
39
|
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
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;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM;;0CAoBlB,CAAC"}
|
|
@@ -1,8 +1,32 @@
|
|
|
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"];
|
|
3
|
+
var _excluded = ["url", "alt", "size", "className", "children"];
|
|
4
4
|
import React, { forwardRef } from "react";
|
|
5
|
-
import { StyledAvatar } from "./Styles";
|
|
5
|
+
import { StyledAvatar, StyledWrapper } from "./Styles";
|
|
6
|
+
/**
|
|
7
|
+
* @component Avatar
|
|
8
|
+
* @description
|
|
9
|
+
* The Avatar component is used to represent user, and displays the profile picture, initials or fallback icon.
|
|
10
|
+
*
|
|
11
|
+
* @prop {url} - The image url of the Avatar.
|
|
12
|
+
* @prop {size} - controls the size of an Avatar (width and height) in pixels.
|
|
13
|
+
* @prop {alt} - alt attribute of the img.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <Avatar url="https://faces-img.xcdn.link/image-lorem-face-954.jpg" alt="Profile picture of John" />
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Avatar
|
|
20
|
+
* url="https://faces-img.xcdn.link/image-lorem-face-954.jpg"
|
|
21
|
+
* alt="Profile picture of John">
|
|
22
|
+
* <Badge size={8} backgroundColor="green" position="bottom-left" />
|
|
23
|
+
* </Avatar>
|
|
24
|
+
*
|
|
25
|
+
* @see
|
|
26
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-avatar--avatar
|
|
27
|
+
* @see
|
|
28
|
+
* https://design.activecollab.com/docs/components/avatar
|
|
29
|
+
*/
|
|
6
30
|
export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
7
31
|
var url = _ref.url,
|
|
8
32
|
_ref$alt = _ref.alt,
|
|
@@ -10,15 +34,17 @@ export var Avatar = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
10
34
|
_ref$size = _ref.size,
|
|
11
35
|
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
12
36
|
className = _ref.className,
|
|
37
|
+
children = _ref.children,
|
|
13
38
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
14
|
-
return /*#__PURE__*/React.createElement(
|
|
39
|
+
return /*#__PURE__*/React.createElement(StyledWrapper, {
|
|
40
|
+
className: className
|
|
41
|
+
}, children, /*#__PURE__*/React.createElement(StyledAvatar, _extends({
|
|
42
|
+
size: size,
|
|
15
43
|
ref: ref,
|
|
16
44
|
src: url,
|
|
17
45
|
alt: alt,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
className: className
|
|
21
|
-
}));
|
|
46
|
+
role: "img"
|
|
47
|
+
}, rest)));
|
|
22
48
|
});
|
|
23
49
|
Avatar.displayName = "Avatar";
|
|
24
50
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","names":["React","forwardRef","StyledAvatar","Avatar","ref","url","alt","size","className","rest","displayName"],"sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { StyledAvatar } from \"./Styles\";\n\nexport interface
|
|
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 { url, alt = \"Avatar Image\", size = 24, className, children, ...rest },\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 {...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;AAatD;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,gBAEEI,GAAG;EAAA,IADDC,GAAG,QAAHA,GAAG;IAAA,gBAAEC,GAAG;IAAHA,GAAG,yBAAG,cAAc;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,EAAE;IAAEC,SAAS,QAATA,SAAS;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,IAAI;EAAA,oBAGpE,oBAAC,aAAa;IAAC,SAAS,EAAEF;EAAU,GACjCC,QAAQ,eACT,oBAAC,YAAY;IACX,IAAI,EAAEF,IAAK;IACX,GAAG,EAAEH,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,GAAG,EAAEC,GAAI;IACT,IAAI,EAAC;EAAK,GACNI,IAAI,EACR,CACY;AAAA,CACjB,CACF;AAEDP,MAAM,CAACQ,WAAW,GAAG,QAAQ"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { AvatarProps } from "./Avatar";
|
|
2
|
+
export declare const StyledWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
3
|
+
export declare const StyledAvatar: import("styled-components").StyledComponent<"img", any, Pick<AvatarProps, "size">, never>;
|
|
2
4
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,aAAa,qEAGzB,CAAC;AAEF,eAAO,MAAM,YAAY,2FAMxB,CAAC"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import styled from "styled-components";
|
|
2
|
+
export var StyledWrapper = styled.span.withConfig({
|
|
3
|
+
displayName: "Styles__StyledWrapper",
|
|
4
|
+
componentId: "sc-5x2tyd-0"
|
|
5
|
+
})(["display:inline-flex;position:relative;"]);
|
|
2
6
|
export var StyledAvatar = styled.img.withConfig({
|
|
3
7
|
displayName: "Styles__StyledAvatar",
|
|
4
|
-
componentId: "sc-5x2tyd-
|
|
5
|
-
})(["", ""], {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
componentId: "sc-5x2tyd-1"
|
|
9
|
+
})(["border-radius:100%;object-fit:cover;block-size:", ";inline-size:", ";"], function (props) {
|
|
10
|
+
return props.size + "px";
|
|
11
|
+
}, function (props) {
|
|
12
|
+
return props.size + "px";
|
|
8
13
|
});
|
|
9
14
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","StyledAvatar","img"],"sources":["../../../../src/components/Avatar/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","StyledWrapper","span","StyledAvatar","img","props","size"],"sources":["../../../../src/components/Avatar/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport { AvatarProps } from \"./Avatar\";\n\nexport const StyledWrapper = styled.span`\n display: inline-flex;\n position: relative;\n`;\n\nexport const StyledAvatar = styled.img<Pick<AvatarProps, \"size\">>`\n border-radius: 100%;\n object-fit: cover;\n\n block-size: ${(props) => props.size + \"px\"};\n inline-size: ${(props) => props.size + \"px\"};\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAGtC,OAAO,IAAMC,aAAa,GAAGD,MAAM,CAACE,IAAI;EAAA;EAAA;AAAA,8CAGvC;AAED,OAAO,IAAMC,YAAY,GAAGH,MAAM,CAACI,GAAG;EAAA;EAAA;AAAA,8EAItB,UAACC,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,GAC3B,UAACD,KAAK;EAAA,OAAKA,KAAK,CAACC,IAAI,GAAG,IAAI;AAAA,EAC5C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Position = "top-left" | "top-right" | "bottom-right" | "bottom-left";
|
|
3
|
+
export interface BadgeProps {
|
|
4
|
+
position?: Position;
|
|
5
|
+
dimension?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
backgroundColor?: string;
|
|
8
|
+
isVisible?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @component Badge
|
|
12
|
+
* @description
|
|
13
|
+
* In some products, you might need to show a badge on the right corner of the avatar.
|
|
14
|
+
* We call this a badge. Here's an example that shows if the user is online.
|
|
15
|
+
*
|
|
16
|
+
* @prop {position} - dictates the position of a badge.
|
|
17
|
+
* @prop {dimension} - controls the size of a badge (width and height) in pixels.
|
|
18
|
+
* @prop {backgroundColor} - background-color of a badge.
|
|
19
|
+
* @prop {isVisible} - dictates if badge should be visible or not.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <IconButton variant="text gray" size="big">
|
|
23
|
+
* <BellOffIcon />
|
|
24
|
+
* <Badge position="top-right" backgroundColor="red" dimension={16} />
|
|
25
|
+
* </IconButton>
|
|
26
|
+
*
|
|
27
|
+
* @see
|
|
28
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge
|
|
29
|
+
*/
|
|
30
|
+
export declare const Badge: ({ dimension, className, position, backgroundColor, isVisible, }: BadgeProps) => JSX.Element | null;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":";AAIA,aAAK,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC;AAE1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,oEAMf,UAAU,uBAUZ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import classNames from "classnames";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { StyledBadge } from "./Styles";
|
|
4
|
+
/**
|
|
5
|
+
* @component Badge
|
|
6
|
+
* @description
|
|
7
|
+
* In some products, you might need to show a badge on the right corner of the avatar.
|
|
8
|
+
* We call this a badge. Here's an example that shows if the user is online.
|
|
9
|
+
*
|
|
10
|
+
* @prop {position} - dictates the position of a badge.
|
|
11
|
+
* @prop {dimension} - controls the size of a badge (width and height) in pixels.
|
|
12
|
+
* @prop {backgroundColor} - background-color of a badge.
|
|
13
|
+
* @prop {isVisible} - dictates if badge should be visible or not.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* <IconButton variant="text gray" size="big">
|
|
17
|
+
* <BellOffIcon />
|
|
18
|
+
* <Badge position="top-right" backgroundColor="red" dimension={16} />
|
|
19
|
+
* </IconButton>
|
|
20
|
+
*
|
|
21
|
+
* @see
|
|
22
|
+
* https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge
|
|
23
|
+
*/
|
|
24
|
+
export var Badge = function Badge(_ref) {
|
|
25
|
+
var _ref$dimension = _ref.dimension,
|
|
26
|
+
dimension = _ref$dimension === void 0 ? 8 : _ref$dimension,
|
|
27
|
+
className = _ref.className,
|
|
28
|
+
_ref$position = _ref.position,
|
|
29
|
+
position = _ref$position === void 0 ? "bottom-left" : _ref$position,
|
|
30
|
+
_ref$backgroundColor = _ref.backgroundColor,
|
|
31
|
+
backgroundColor = _ref$backgroundColor === void 0 ? "#40C37D" : _ref$backgroundColor,
|
|
32
|
+
_ref$isVisible = _ref.isVisible,
|
|
33
|
+
isVisible = _ref$isVisible === void 0 ? true : _ref$isVisible;
|
|
34
|
+
return isVisible ? /*#__PURE__*/React.createElement(StyledBadge, {
|
|
35
|
+
className: classNames("c-badge", className),
|
|
36
|
+
dimension: dimension,
|
|
37
|
+
position: position,
|
|
38
|
+
backgroundColor: backgroundColor,
|
|
39
|
+
role: "status"
|
|
40
|
+
}) : null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","names":["classNames","React","StyledBadge","Badge","dimension","className","position","backgroundColor","isVisible"],"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React from \"react\";\nimport { StyledBadge } from \"./Styles\";\n\ntype Position = \"top-left\" | \"top-right\" | \"bottom-right\" | \"bottom-left\";\n\nexport interface BadgeProps {\n position?: Position;\n dimension?: number;\n className?: string;\n backgroundColor?: string;\n isVisible?: boolean;\n}\n\n/**\n * @component Badge\n * @description\n * In some products, you might need to show a badge on the right corner of the avatar.\n * We call this a badge. Here's an example that shows if the user is online.\n *\n * @prop {position} - dictates the position of a badge.\n * @prop {dimension} - controls the size of a badge (width and height) in pixels.\n * @prop {backgroundColor} - background-color of a badge.\n * @prop {isVisible} - dictates if badge should be visible or not.\n *\n * @example\n * <IconButton variant=\"text gray\" size=\"big\">\n * <BellOffIcon />\n * <Badge position=\"top-right\" backgroundColor=\"red\" dimension={16} />\n * </IconButton>\n *\n * @see\n * https://system.activecollab.com/?path=/story/components-button-indicators-badge--badge\n */\nexport const Badge = ({\n dimension = 8,\n className,\n position = \"bottom-left\",\n backgroundColor = \"#40C37D\",\n isVisible = true,\n}: BadgeProps) => {\n return isVisible ? (\n <StyledBadge\n className={classNames(\"c-badge\", className)}\n dimension={dimension}\n position={position}\n backgroundColor={backgroundColor}\n role=\"status\"\n />\n ) : null;\n};\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,UAAU;AAYtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,KAAK,GAAG,SAARA,KAAK,OAMA;EAAA,0BALhBC,SAAS;IAATA,SAAS,+BAAG,CAAC;IACbC,SAAS,QAATA,SAAS;IAAA,qBACTC,QAAQ;IAARA,QAAQ,8BAAG,aAAa;IAAA,4BACxBC,eAAe;IAAfA,eAAe,qCAAG,SAAS;IAAA,sBAC3BC,SAAS;IAATA,SAAS,+BAAG,IAAI;EAEhB,OAAOA,SAAS,gBACd,oBAAC,WAAW;IACV,SAAS,EAAER,UAAU,CAAC,SAAS,EAAEK,SAAS,CAAE;IAC5C,SAAS,EAAED,SAAU;IACrB,QAAQ,EAAEE,QAAS;IACnB,eAAe,EAAEC,eAAgB;IACjC,IAAI,EAAC;EAAQ,EACb,GACA,IAAI;AACV,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Badge/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,WAAW,qFAqCvB,CAAC"}
|