@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.
Files changed (65) hide show
  1. package/package.json +4 -3
  2. package/src/antd/styles.ts +21 -4
  3. package/src/designSystem.ts +18 -28
  4. package/src/emoji-picker/app-icon-picker.tsx +31 -26
  5. package/src/emoji-picker/emoji-picker-content-with-color.tsx +107 -0
  6. package/src/emoji-picker/emoji-picker.tsx +34 -37
  7. package/src/emoji-picker/emoji.tsx +4 -7
  8. package/src/emoji-picker/icon-emoji-picker.tsx +17 -8
  9. package/src/emoji-picker/primitives/category.tsx +95 -25
  10. package/src/emoji-picker/primitives/emoji.tsx +37 -78
  11. package/src/emoji-picker/primitives/footer.tsx +3 -1
  12. package/src/emoji-picker/primitives/grid.tsx +53 -23
  13. package/src/emoji-picker/primitives/root.tsx +13 -3
  14. package/src/emoji-picker/primitives/search.tsx +38 -20
  15. package/src/emoji-picker/primitives/skin-tone.tsx +21 -11
  16. package/src/emoji-picker/stores/emoji-data-store.tsx +0 -1
  17. package/src/emoji-picker/stores/lazy-icon-data-store.tsx +44 -0
  18. package/src/emoji-picker/stores/static-emoji-data-store.tsx +16 -0
  19. package/src/emoji-picker/utils/emoji-set.ts +1 -1
  20. package/src/icons/ast/AiAssistant.ts +1 -1
  21. package/src/icons/ast/AiAvatar.ts +1 -1
  22. package/src/icons/ast/AppTemplates.ts +1 -1
  23. package/src/icons/ast/BellCircle.ts +8 -0
  24. package/src/icons/ast/BellX.ts +8 -0
  25. package/src/icons/ast/Bolt.ts +8 -0
  26. package/src/icons/ast/CheckCircle.ts +8 -0
  27. package/src/icons/ast/ClockForward.ts +8 -0
  28. package/src/icons/ast/ColorCodingFilled.ts +8 -0
  29. package/src/icons/ast/Delete.ts +1 -1
  30. package/src/icons/ast/EmojiDelete.ts +8 -0
  31. package/src/icons/ast/ExtensionAssignments.ts +1 -1
  32. package/src/icons/ast/Fields.ts +1 -1
  33. package/src/icons/ast/Figma.ts +8 -0
  34. package/src/icons/ast/GoogleDrive.ts +8 -0
  35. package/src/icons/ast/GoogleMap.ts +8 -0
  36. package/src/icons/ast/InvitePeople.ts +1 -1
  37. package/src/icons/ast/LineDivider.ts +8 -0
  38. package/src/icons/ast/Loom.ts +8 -0
  39. package/src/icons/ast/Miro.ts +8 -0
  40. package/src/icons/ast/Mixpanel.ts +8 -0
  41. package/src/icons/ast/Shared.ts +1 -1
  42. package/src/icons/ast/Twitter.ts +8 -0
  43. package/src/icons/ast/Youtube.ts +8 -0
  44. package/src/icons/ast/index.tsx +16 -0
  45. package/src/icons/react/BellCircle.tsx +12 -0
  46. package/src/icons/react/BellX.tsx +12 -0
  47. package/src/icons/react/Bolt.tsx +12 -0
  48. package/src/icons/react/CheckCircle.tsx +12 -0
  49. package/src/icons/react/ClockForward.tsx +12 -0
  50. package/src/icons/react/ColorCodingFilled.tsx +12 -0
  51. package/src/icons/react/EmojiDelete.tsx +12 -0
  52. package/src/icons/react/Figma.tsx +12 -0
  53. package/src/icons/react/GoogleDrive.tsx +12 -0
  54. package/src/icons/react/GoogleMap.tsx +12 -0
  55. package/src/icons/react/LineDivider.tsx +12 -0
  56. package/src/icons/react/Loom.tsx +12 -0
  57. package/src/icons/react/Miro.tsx +12 -0
  58. package/src/icons/react/Mixpanel.tsx +12 -0
  59. package/src/icons/react/Twitter.tsx +12 -0
  60. package/src/icons/react/Youtube.tsx +12 -0
  61. package/src/icons/react/index.tsx +16 -0
  62. package/src/Button/icon-button-with-tooltip.tsx +0 -15
  63. package/src/emoji-picker/index.tsx +0 -5
  64. package/src/emoji-picker/lazy-icon-data-store.tsx +0 -55
  65. /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,5 +0,0 @@
1
- export {EmojiPickerRoot as Root} from "./root";
2
- export {EmojiPickerContent as Content} from "./content";
3
- export {EmojiPickerGrid as Grid} from "./grid";
4
- export {EmojiPickerSearch as Search} from "./search";
5
- export {EmojiPickerFooter as Footer} from "./footer";
@@ -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
- };