@fibery/ui-kit 1.14.0 → 1.16.0
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/package.json +4 -3
- package/src/antd/styles.ts +21 -4
- package/src/designSystem.ts +18 -28
- package/src/emoji-picker/app-icon-picker.tsx +31 -26
- package/src/emoji-picker/emoji-picker-content-with-color.tsx +107 -0
- package/src/emoji-picker/emoji-picker.tsx +34 -37
- package/src/emoji-picker/emoji.tsx +4 -7
- package/src/emoji-picker/icon-emoji-picker.tsx +17 -8
- package/src/emoji-picker/primitives/category.tsx +95 -25
- package/src/emoji-picker/primitives/emoji.tsx +37 -78
- package/src/emoji-picker/primitives/footer.tsx +3 -1
- package/src/emoji-picker/primitives/grid.tsx +53 -23
- package/src/emoji-picker/primitives/root.tsx +13 -3
- package/src/emoji-picker/primitives/search.tsx +38 -20
- package/src/emoji-picker/primitives/skin-tone.tsx +21 -11
- package/src/emoji-picker/stores/emoji-data-store.tsx +0 -1
- package/src/emoji-picker/stores/lazy-icon-data-store.tsx +44 -0
- package/src/emoji-picker/stores/static-emoji-data-store.tsx +16 -0
- package/src/emoji-picker/utils/emoji-set.ts +1 -1
- package/src/icons/ast/AiAssistant.ts +1 -1
- package/src/icons/ast/AiAvatar.ts +1 -1
- package/src/icons/ast/AppTemplates.ts +1 -1
- package/src/icons/ast/BellCircle.ts +8 -0
- package/src/icons/ast/BellX.ts +8 -0
- package/src/icons/ast/Bolt.ts +8 -0
- package/src/icons/ast/CheckCircle.ts +8 -0
- package/src/icons/ast/ClockForward.ts +8 -0
- package/src/icons/ast/ColorCodingFilled.ts +8 -0
- package/src/icons/ast/Delete.ts +1 -1
- package/src/icons/ast/EmojiDelete.ts +8 -0
- package/src/icons/ast/ExtensionAssignments.ts +1 -1
- package/src/icons/ast/Fields.ts +1 -1
- package/src/icons/ast/Figma.ts +8 -0
- package/src/icons/ast/GoogleDrive.ts +8 -0
- package/src/icons/ast/GoogleMap.ts +8 -0
- package/src/icons/ast/InvitePeople.ts +1 -1
- package/src/icons/ast/LineDivider.ts +8 -0
- package/src/icons/ast/Loom.ts +8 -0
- package/src/icons/ast/Miro.ts +8 -0
- package/src/icons/ast/Mixpanel.ts +8 -0
- package/src/icons/ast/Shared.ts +1 -1
- package/src/icons/ast/Twitter.ts +8 -0
- package/src/icons/ast/Youtube.ts +8 -0
- package/src/icons/ast/index.tsx +16 -0
- package/src/icons/react/BellCircle.tsx +12 -0
- package/src/icons/react/BellX.tsx +12 -0
- package/src/icons/react/Bolt.tsx +12 -0
- package/src/icons/react/CheckCircle.tsx +12 -0
- package/src/icons/react/ClockForward.tsx +12 -0
- package/src/icons/react/ColorCodingFilled.tsx +12 -0
- package/src/icons/react/EmojiDelete.tsx +12 -0
- package/src/icons/react/Figma.tsx +12 -0
- package/src/icons/react/GoogleDrive.tsx +12 -0
- package/src/icons/react/GoogleMap.tsx +12 -0
- package/src/icons/react/LineDivider.tsx +12 -0
- package/src/icons/react/Loom.tsx +12 -0
- package/src/icons/react/Miro.tsx +12 -0
- package/src/icons/react/Mixpanel.tsx +12 -0
- package/src/icons/react/Twitter.tsx +12 -0
- package/src/icons/react/Youtube.tsx +12 -0
- package/src/icons/react/index.tsx +16 -0
- package/src/Button/icon-button-with-tooltip.tsx +0 -15
- package/src/emoji-picker/index.tsx +0 -5
- package/src/emoji-picker/lazy-icon-data-store.tsx +0 -55
- /package/src/emoji-picker/{lazy-emoji-data-store.tsx → stores/lazy-emoji-data-store.tsx} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import GoogleDriveSvg from '../ast/GoogleDrive';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const GoogleDrive = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={GoogleDriveSvg} />;
|
|
10
|
+
|
|
11
|
+
GoogleDrive.displayName = 'GoogleDrive';
|
|
12
|
+
export default GoogleDrive;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import GoogleMapSvg from '../ast/GoogleMap';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const GoogleMap = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={GoogleMapSvg} />;
|
|
10
|
+
|
|
11
|
+
GoogleMap.displayName = 'GoogleMap';
|
|
12
|
+
export default GoogleMap;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import LineDividerSvg from '../ast/LineDivider';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const LineDivider = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={LineDividerSvg} />;
|
|
10
|
+
|
|
11
|
+
LineDivider.displayName = 'LineDivider';
|
|
12
|
+
export default LineDivider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import LoomSvg from '../ast/Loom';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const Loom = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={LoomSvg} />;
|
|
10
|
+
|
|
11
|
+
Loom.displayName = 'Loom';
|
|
12
|
+
export default Loom;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import MiroSvg from '../ast/Miro';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const Miro = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={MiroSvg} />;
|
|
10
|
+
|
|
11
|
+
Miro.displayName = 'Miro';
|
|
12
|
+
export default Miro;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import MixpanelSvg from '../ast/Mixpanel';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const Mixpanel = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={MixpanelSvg} />;
|
|
10
|
+
|
|
11
|
+
Mixpanel.displayName = 'Mixpanel';
|
|
12
|
+
export default Mixpanel;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import TwitterSvg from '../ast/Twitter';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const Twitter = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={TwitterSvg} />;
|
|
10
|
+
|
|
11
|
+
Twitter.displayName = 'Twitter';
|
|
12
|
+
export default Twitter;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import YoutubeSvg from '../ast/Youtube';
|
|
4
|
+
import { Icon } from '../Icon';
|
|
5
|
+
import { IconBaseProps } from '../types';
|
|
6
|
+
|
|
7
|
+
const Youtube = (
|
|
8
|
+
props: IconBaseProps,
|
|
9
|
+
): JSX.Element => <Icon {...props} icon={YoutubeSvg} />;
|
|
10
|
+
|
|
11
|
+
Youtube.displayName = 'Youtube';
|
|
12
|
+
export default Youtube;
|
|
@@ -34,10 +34,16 @@ export { default as Atom } from './Atom';
|
|
|
34
34
|
export { default as Back } from './Back';
|
|
35
35
|
export { default as BacklogIcon } from './BacklogIcon';
|
|
36
36
|
export { default as BatchActionsIcon } from './BatchActionsIcon';
|
|
37
|
+
export { default as BellCircle } from './BellCircle';
|
|
38
|
+
export { default as BellX } from './BellX';
|
|
39
|
+
export { default as Bolt } from './Bolt';
|
|
37
40
|
export { default as Cards } from './Cards';
|
|
41
|
+
export { default as CheckCircle } from './CheckCircle';
|
|
38
42
|
export { default as Checked } from './Checked';
|
|
39
43
|
export { default as ClearValue } from './ClearValue';
|
|
44
|
+
export { default as ClockForward } from './ClockForward';
|
|
40
45
|
export { default as Close } from './Close';
|
|
46
|
+
export { default as ColorCodingFilled } from './ColorCodingFilled';
|
|
41
47
|
export { default as ColorCoding } from './ColorCoding';
|
|
42
48
|
export { default as Columns2 } from './Columns2';
|
|
43
49
|
export { default as Columns4 } from './Columns4';
|
|
@@ -53,6 +59,7 @@ export { default as DragBlockHandle } from './DragBlockHandle';
|
|
|
53
59
|
export { default as DragHandle } from './DragHandle';
|
|
54
60
|
export { default as DynamicFilterValue } from './DynamicFilterValue';
|
|
55
61
|
export { default as Email } from './Email';
|
|
62
|
+
export { default as EmojiDelete } from './EmojiDelete';
|
|
56
63
|
export { default as ExtensionAssignments } from './ExtensionAssignments';
|
|
57
64
|
export { default as ExtensionAvatar } from './ExtensionAvatar';
|
|
58
65
|
export { default as ExtensionComments } from './ExtensionComments';
|
|
@@ -64,6 +71,7 @@ export { default as FavoritesMenu } from './FavoritesMenu';
|
|
|
64
71
|
export { default as Favorites } from './Favorites';
|
|
65
72
|
export { default as FiberyMono } from './FiberyMono';
|
|
66
73
|
export { default as Fields } from './Fields';
|
|
74
|
+
export { default as Figma } from './Figma';
|
|
67
75
|
export { default as FileUpload } from './FileUpload';
|
|
68
76
|
export { default as Filter } from './Filter';
|
|
69
77
|
export { default as FocusModeOff } from './FocusModeOff';
|
|
@@ -73,6 +81,8 @@ export { default as FormWithoutCover } from './FormWithoutCover';
|
|
|
73
81
|
export { default as Github } from './Github';
|
|
74
82
|
export { default as Gitlab } from './Gitlab';
|
|
75
83
|
export { default as Globe } from './Globe';
|
|
84
|
+
export { default as GoogleDrive } from './GoogleDrive';
|
|
85
|
+
export { default as GoogleMap } from './GoogleMap';
|
|
76
86
|
export { default as Hide } from './Hide';
|
|
77
87
|
export { default as Hint } from './Hint';
|
|
78
88
|
export { default as Home } from './Home';
|
|
@@ -83,12 +93,16 @@ export { default as Items } from './Items';
|
|
|
83
93
|
export { default as Jira } from './Jira';
|
|
84
94
|
export { default as LeftPanel } from './LeftPanel';
|
|
85
95
|
export { default as Levels } from './Levels';
|
|
96
|
+
export { default as LineDivider } from './LineDivider';
|
|
86
97
|
export { default as Lock } from './Lock';
|
|
98
|
+
export { default as Loom } from './Loom';
|
|
87
99
|
export { default as Markdown } from './Markdown';
|
|
88
100
|
export { default as MenuCollapser } from './MenuCollapser';
|
|
89
101
|
export { default as MessagePlusSquare } from './MessagePlusSquare';
|
|
90
102
|
export { default as Milestones } from './Milestones';
|
|
91
103
|
export { default as Minus } from './Minus';
|
|
104
|
+
export { default as Miro } from './Miro';
|
|
105
|
+
export { default as Mixpanel } from './Mixpanel';
|
|
92
106
|
export { default as MoreCompact } from './MoreCompact';
|
|
93
107
|
export { default as More } from './More';
|
|
94
108
|
export { default as MySpace } from './MySpace';
|
|
@@ -171,6 +185,7 @@ export { default as SortOnTop } from './SortOnTop';
|
|
|
171
185
|
export { default as Sort } from './Sort';
|
|
172
186
|
export { default as Spinner } from './Spinner';
|
|
173
187
|
export { default as Templates } from './Templates';
|
|
188
|
+
export { default as Twitter } from './Twitter';
|
|
174
189
|
export { default as TypeBoolean } from './TypeBoolean';
|
|
175
190
|
export { default as TypeButton } from './TypeButton';
|
|
176
191
|
export { default as TypeCheckbox } from './TypeCheckbox';
|
|
@@ -209,3 +224,4 @@ export { default as ViewTable } from './ViewTable';
|
|
|
209
224
|
export { default as ViewTimeline } from './ViewTimeline';
|
|
210
225
|
export { default as Views } from './Views';
|
|
211
226
|
export { default as Warning } from './Warning';
|
|
227
|
+
export { default as Youtube } from './Youtube';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {forwardRef} from "react";
|
|
2
|
-
import {Tooltip, TooltipProps} from "../tooltip";
|
|
3
|
-
import {IconButton, IconButtonProps} from "./icon-button";
|
|
4
|
-
|
|
5
|
-
type IconButtonTooltipProps = Pick<TooltipProps, "title" | "description" | "content" | "side">;
|
|
6
|
-
|
|
7
|
-
export const IconButtonWithTooltip = forwardRef<HTMLButtonElement, IconButtonTooltipProps & IconButtonProps>(
|
|
8
|
-
function IconButtonWithTooltip({title, description, content, side, ...props}, ref) {
|
|
9
|
-
return (
|
|
10
|
-
<Tooltip title={title} description={description} content={content} side={side}>
|
|
11
|
-
<IconButton ref={ref} {...props} />
|
|
12
|
-
</Tooltip>
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
);
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {makeEmojiData} from "@fibery/emoji-data";
|
|
2
|
-
import {Suspense, lazy, useEffect, useState} from "react";
|
|
3
|
-
import {getThemedUrl} from "../AppIconWithFallback";
|
|
4
|
-
import {useThemeMode} from "../ThemeProvider";
|
|
5
|
-
import {alignTheme} from "../theme-settings";
|
|
6
|
-
import {EmojiDataStoreProvider, useEmojiDataStore} from "./stores/emoji-data-store";
|
|
7
|
-
|
|
8
|
-
const EMPTY_DATA = {
|
|
9
|
-
aliases: {},
|
|
10
|
-
emojis: {},
|
|
11
|
-
categories: [],
|
|
12
|
-
compressed: false,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const LazyAppIcons = lazy(async () => {
|
|
16
|
-
const {default: appIcons} = await import("../appIcons.json");
|
|
17
|
-
|
|
18
|
-
return {
|
|
19
|
-
default: function EmojiDataStore({children}: React.PropsWithChildren) {
|
|
20
|
-
const emojiDataStore = useEmojiDataStore();
|
|
21
|
-
const themeMode = useThemeMode();
|
|
22
|
-
const alignedTheme = alignTheme(themeMode);
|
|
23
|
-
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
// TODO: icons should be rendered as svg elements
|
|
26
|
-
const custom = appIcons.map((icon) => {
|
|
27
|
-
return {
|
|
28
|
-
...icon,
|
|
29
|
-
imageUrl: getThemedUrl(icon.file, alignedTheme),
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
emojiDataStore.setCustom(custom);
|
|
34
|
-
}, [alignedTheme, emojiDataStore]);
|
|
35
|
-
|
|
36
|
-
return <>{children}</>;
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
export const LazyIconDataStore: React.FC<
|
|
42
|
-
React.PropsWithChildren<{
|
|
43
|
-
fallback: React.ReactNode;
|
|
44
|
-
}>
|
|
45
|
-
> = ({fallback, children}) => {
|
|
46
|
-
const [emojiData] = useState(() => makeEmojiData(EMPTY_DATA));
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<EmojiDataStoreProvider data={emojiData}>
|
|
50
|
-
<Suspense fallback={fallback}>
|
|
51
|
-
<LazyAppIcons>{children}</LazyAppIcons>
|
|
52
|
-
</Suspense>
|
|
53
|
-
</EmojiDataStoreProvider>
|
|
54
|
-
);
|
|
55
|
-
};
|
|
File without changes
|