@fibery/ui-kit 1.34.7 → 1.34.8
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 +3 -3
- package/src/design-system.ts +36 -3
- package/src/emoji-picker/emoji-picker-content-with-color.tsx +1 -1
- package/src/icons/ast/CollapseAll.ts +8 -0
- package/src/icons/ast/DatabaseOff.ts +8 -0
- package/src/icons/ast/Dependency.ts +8 -0
- package/src/icons/ast/ManyPeople.ts +8 -0
- package/src/icons/ast/SendArrow.ts +1 -1
- package/src/icons/ast/ViewAi.ts +8 -0
- package/src/icons/ast/index.tsx +5 -0
- package/src/icons/react/CollapseAll.tsx +13 -0
- package/src/icons/react/DatabaseOff.tsx +13 -0
- package/src/icons/react/Dependency.tsx +13 -0
- package/src/icons/react/ManyPeople.tsx +13 -0
- package/src/icons/react/ViewAi.tsx +13 -0
- package/src/icons/react/index.tsx +5 -0
- package/src/select/custom-select-partials/group-heading.tsx +3 -0
- package/src/select/select-in-popover.tsx +14 -3
- package/src/toast/primitives.tsx +3 -1
- package/src/toast/toast-queue.ts +22 -0
- package/src/toast/toaster.tsx +2 -1
- package/src/tooltip.tsx +7 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fibery/ui-kit",
|
|
3
|
-
"version": "1.34.
|
|
3
|
+
"version": "1.34.8",
|
|
4
4
|
"private": false,
|
|
5
5
|
"files": [
|
|
6
6
|
"src/antd/styles.ts",
|
|
@@ -113,8 +113,8 @@
|
|
|
113
113
|
"svgo": "2.8.0",
|
|
114
114
|
"typescript": "5.4.3",
|
|
115
115
|
"unist-util-reduce": "0.2.2",
|
|
116
|
-
"@fibery/
|
|
117
|
-
"@fibery/
|
|
116
|
+
"@fibery/eslint-config": "8.6.0",
|
|
117
|
+
"@fibery/babel-preset": "7.4.0"
|
|
118
118
|
},
|
|
119
119
|
"jest": {
|
|
120
120
|
"testEnvironment": "jsdom",
|
package/src/design-system.ts
CHANGED
|
@@ -165,6 +165,30 @@ export const themeColors = {
|
|
|
165
165
|
getOpacities(slate.slate12).opacity15
|
|
166
166
|
}`,
|
|
167
167
|
],
|
|
168
|
+
shadow400: [
|
|
169
|
+
`
|
|
170
|
+
0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 16px 40px 0px ${getOpacities(slate.slate12).opacity15}
|
|
171
|
+
`,
|
|
172
|
+
`0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 16px 40px 0px ${
|
|
173
|
+
getOpacities(slate.slate12).opacity15
|
|
174
|
+
}`,
|
|
175
|
+
],
|
|
176
|
+
shadow500: [
|
|
177
|
+
`
|
|
178
|
+
0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 20px 50px 0px ${getOpacities(slate.slate12).opacity15}
|
|
179
|
+
`,
|
|
180
|
+
`0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 20px 50px 0px ${
|
|
181
|
+
getOpacities(slate.slate12).opacity15
|
|
182
|
+
}`,
|
|
183
|
+
],
|
|
184
|
+
shadow600: [
|
|
185
|
+
`
|
|
186
|
+
0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 26px 80px 0px ${getOpacities(slate.slate12).opacity20}
|
|
187
|
+
`,
|
|
188
|
+
`0px 0px 1px 0px ${getOpacities(slate.slate12).opacity20}, 0px 26px 80px 0px ${
|
|
189
|
+
getOpacities(slate.slate12).opacity20
|
|
190
|
+
}`,
|
|
191
|
+
],
|
|
168
192
|
actionMenuShadow: [
|
|
169
193
|
`0px 0px 2px 0px ${getOpacities(slate.slate11).opacity30}, 0px 4px 6px 0px ${
|
|
170
194
|
getOpacities(slate.slate11).opacity5
|
|
@@ -553,6 +577,12 @@ export const themeColors = {
|
|
|
553
577
|
gridDisabledSelectedCellBgColor: [indigo.indigo4, indigoDark.indigo5],
|
|
554
578
|
gridActiveCellBorderColor: [indigo.indigo8, indigoDark.indigo9],
|
|
555
579
|
|
|
580
|
+
//timeline
|
|
581
|
+
timelineEntityHandleColor: [indigo.indigo7, indigoDark.indigo7],
|
|
582
|
+
timelineDependencyHoverBgColor: [indigo.indigo8, indigoDark.indigo8],
|
|
583
|
+
timelineDependencyOverlapBgColor: [red.red9, redDark.red9],
|
|
584
|
+
timelineDependencyOverlapHoverBgColor: [red.red11, redDark.red11],
|
|
585
|
+
|
|
556
586
|
// #region buttons
|
|
557
587
|
// solid
|
|
558
588
|
colorBgButtonSolidAccentDefault: [indigo.indigo9, indigoDark.indigo9],
|
|
@@ -657,9 +687,9 @@ export const themeColors = {
|
|
|
657
687
|
//Whiteboard
|
|
658
688
|
instrumentsMenuBg: [getOpacities(whiteA.whiteA0).opacity95, getOpacities(slateDark.slate4).opacity95],
|
|
659
689
|
instrumentsMenuShadow: [
|
|
660
|
-
`0 0 0 1px ${getOpacities(slate.slate10).opacity10}, 0
|
|
661
|
-
`0 0 0 1px ${getOpacities(slateDark.slate1).opacity10}, 0
|
|
662
|
-
getOpacities(slateDark.slate1).
|
|
690
|
+
`0 0 0 1px ${getOpacities(slate.slate10).opacity10}, 0 10px 16px -8px ${getOpacities(slate.slate10).opacity30}`,
|
|
691
|
+
`0 0 0 1px ${getOpacities(slateDark.slate1).opacity10}, 0 10px 16px -8px ${
|
|
692
|
+
getOpacities(slateDark.slate1).opacity30
|
|
663
693
|
}`,
|
|
664
694
|
],
|
|
665
695
|
commentBubbleBg: [whiteA.whiteA0, slateDark.slate6],
|
|
@@ -669,6 +699,9 @@ export const themeColors = {
|
|
|
669
699
|
colorBgSegmentedControlActive: [slate.slate1, slateDark.slate6],
|
|
670
700
|
colorBgSegmentedControlHover: [slate.slate5, slateDark.slate4],
|
|
671
701
|
colorBorderSegmentedControlDefault: [slate.slate6, slateDark.slate7],
|
|
702
|
+
|
|
703
|
+
// Chargebee info
|
|
704
|
+
colorBgChargebeeInfoBox: [slate.slate3, slateDark.slate1],
|
|
672
705
|
} as const;
|
|
673
706
|
|
|
674
707
|
type ThemeDefs = typeof themeColors;
|
|
@@ -23,7 +23,7 @@ const ColorPickerCollapsibleTrigger: React.FC<ColorPickerCollapsibleTrigger> = (
|
|
|
23
23
|
const themeMode = useThemeMode();
|
|
24
24
|
const iconColor = color ? getIconColor(themeMode, color) : undefined;
|
|
25
25
|
|
|
26
|
-
const Icon = opened ?
|
|
26
|
+
const Icon = opened ? ColorCoding : ColorCodingFilled;
|
|
27
27
|
|
|
28
28
|
const label = opened ? "Hide color picker" : "Show color picker";
|
|
29
29
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
// This icon file is generated automatically.
|
|
3
|
+
|
|
4
|
+
import { IconDefinition } from '../types';
|
|
5
|
+
|
|
6
|
+
const CollapseAll: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"width":20,"height":20},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M7 3.5a.8.8 0 1 0-1.131 1.131l3.565 3.335a.8.8 0 0 0 1.132 0L14.13 4.63A.8.8 0 0 0 13 3.5l-3 2.769L7 3.5Zm6 13.237a.8.8 0 1 0 1.131-1.131l-3.565-3.572a.8.8 0 0 0-1.132 0L5.87 15.606A.8.8 0 1 0 7 16.737l3-3.006 3 3.006Z"},"children":[]}],"metadata":""}]},"name":"collapse-all"};
|
|
7
|
+
|
|
8
|
+
export default CollapseAll;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
// This icon file is generated automatically.
|
|
3
|
+
|
|
4
|
+
import { IconDefinition } from '../types';
|
|
5
|
+
|
|
6
|
+
const DatabaseOff: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"width":20,"height":20},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"m5.198 4.138 5.353 5.353c1.4-.048 2.66-.282 3.614-.742.353-.17.663-.37.924-.603.463-.414.911-1.097.911-1.745C16 3.97 13.314 3 10 3c-1.964 0-3.707.352-4.802 1.138Zm6.76 6.758 1.74 1.742c.176-.066.344-.137.503-.216.358-.176.672-.384.934-.627.263-.244.706-.72.79-1.082a3.081 3.081 0 0 0 .051-1.052 2.735 2.735 0 0 0-.075-.383 4.934 4.934 0 0 1-1.41.941c-.747.34-1.612.557-2.534.677Zm2.765 2.766 1.053 1.054c.146-.332.224-.703.224-1.117a2.763 2.763 0 0 0-.1-.766 4.78 4.78 0 0 1-1.177.83Zm2.162 2.162.895.896a.75.75 0 1 1-1.06 1.06L2.22 3.28a.75.75 0 0 1 1.06-1.06l.849.848a5.58 5.58 0 0 1 .95-.605C6.462 1.762 8.23 1.5 10 1.5c1.764 0 3.532.253 4.917.95 1.46.735 2.583 2.036 2.583 3.95v7.2c0 .865-.23 1.605-.615 2.224ZM2.5 6.4c0-.328.384-.456.616-.224L6.11 9.17c.534.535.085 1.353-.601 1.038a4.973 4.973 0 0 1-1.405-.939 2.676 2.676 0 0 0-.078.38 2.993 2.993 0 0 0 .048 1.053c.085.362.531.84.795 1.083.26.242.574.45.93.626 1.23.609 2.662.77 4.026.78a.744.744 0 0 1 .521.216l.076.076c.407.407.154 1.088-.422 1.088-1.64 0-3.235-.231-4.491-.808a4.978 4.978 0 0 1-1.405-.939A2.703 2.703 0 0 0 4 13.6c0 .454.096.857.274 1.213C5.038 16.341 7.312 17 10 17c1.093 0 2.117-.106 3-.334a.845.845 0 0 1 .812.207c.393.392.265 1.05-.27 1.2-1.097.306-2.32.427-3.542.427-1.77 0-3.538-.262-4.92-.963-1.453-.736-2.58-2.034-2.58-3.938V6.401Z"},"children":[]}],"metadata":""}]},"name":"database-off"};
|
|
7
|
+
|
|
8
|
+
export default DatabaseOff;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
// This icon file is generated automatically.
|
|
3
|
+
|
|
4
|
+
import { IconDefinition } from '../types';
|
|
5
|
+
|
|
6
|
+
const Dependency: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"width":20,"height":20},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M9 3.75A.75.75 0 0 1 9.75 3h7.5a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-7.5A.75.75 0 0 1 9 5.25v-1.5Zm-7 11a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 .75.75v1.5a.75.75 0 0 1-.75.75h-7.5a.75.75 0 0 1-.75-.75v-1.5ZM14.75 8V7h-1.5v1c0 .69-.56 1.25-1.25 1.25H8A2.75 2.75 0 0 0 5.25 12v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4A2.75 2.75 0 0 0 14.75 8Z"},"children":[]}],"metadata":""}]},"name":"dependency"};
|
|
7
|
+
|
|
8
|
+
export default Dependency;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
// This icon file is generated automatically.
|
|
3
|
+
|
|
4
|
+
import { IconDefinition } from '../types';
|
|
5
|
+
|
|
6
|
+
const ManyPeople: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M5.25 2a1.583 1.583 0 1 0 0 3.167A1.583 1.583 0 0 0 5.25 2ZM3.478 8.764c.133-.534.79-1.097 1.772-1.097s1.64.563 1.772 1.097a.75.75 0 0 0 1.456-.362c-.34-1.367-1.742-2.235-3.228-2.235-1.486 0-2.888.868-3.228 2.235a.75.75 0 0 0 1.456.362ZM14.75 2a1.583 1.583 0 1 0 0 3.167 1.583 1.583 0 0 0 0-3.167Zm-1.772 6.764c.133-.534.79-1.097 1.772-1.097s1.64.563 1.772 1.097a.75.75 0 0 0 1.456-.362c-.34-1.367-1.742-2.235-3.228-2.235-1.486 0-2.888.868-3.228 2.235a.75.75 0 0 0 1.456.362Zm.189 2.82a1.583 1.583 0 1 1 3.167 0 1.583 1.583 0 0 1-3.167 0Zm1.583 4.083c-.982 0-1.64.563-1.772 1.097a.75.75 0 1 1-1.456-.362c.34-1.367 1.742-2.235 3.228-2.235 1.486 0 2.888.868 3.228 2.235a.75.75 0 1 1-1.456.362c-.132-.534-.79-1.097-1.772-1.097ZM5.25 10a1.583 1.583 0 1 0 0 3.167 1.583 1.583 0 0 0 0-3.167Zm-1.772 6.764c.133-.534.79-1.097 1.772-1.097s1.64.563 1.772 1.097a.75.75 0 1 0 1.456-.362c-.34-1.367-1.742-2.235-3.228-2.235-1.486 0-2.888.868-3.228 2.235a.75.75 0 1 0 1.456.362Z"},"children":[]}],"metadata":""}]},"name":"many-people"};
|
|
7
|
+
|
|
8
|
+
export default ManyPeople;
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
import { IconDefinition } from '../types';
|
|
5
5
|
|
|
6
|
-
const SendArrow: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"
|
|
6
|
+
const SendArrow: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M10.707 3.293a1 1 0 0 0-1.415 0L4.57 8.015A1 1 0 1 0 5.984 9.43l3.014-3.013V16a1 1 0 1 0 2 0V6.413l3.017 3.016a1 1 0 1 0 1.414-1.414l-4.722-4.722Z"},"children":[]}],"metadata":""}]},"name":"send-arrow"};
|
|
7
7
|
|
|
8
8
|
export default SendArrow;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
// This icon file is generated automatically.
|
|
3
|
+
|
|
4
|
+
import { IconDefinition } from '../types';
|
|
5
|
+
|
|
6
|
+
const ViewAi: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"width":20,"height":20},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M6 4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4v-2a4 4 0 0 1 4-4h2V6a2 2 0 0 0-2-2H6Zm2.186 2.224c.101-.296.52-.3.626-.006l.485 1.349c.028.077.09.137.17.162l1.302.412a.33.33 0 0 1 .005.627l-1.307.438a.264.264 0 0 0-.166.163l-.488 1.409a.332.332 0 0 1-.628-.005l-.46-1.4a.264.264 0 0 0-.168-.168l-1.33-.437a.33.33 0 0 1 .006-.628l1.325-.41a.264.264 0 0 0 .172-.167l.456-1.34Zm6.438 6.044a.398.398 0 0 1 .75-.006l.582 1.618a.318.318 0 0 0 .203.195l1.564.494c.366.116.37.63.006.752l-1.568.526a.317.317 0 0 0-.2.196l-.586 1.69a.398.398 0 0 1-.753-.006l-.552-1.679a.318.318 0 0 0-.202-.202l-1.595-.524a.395.395 0 0 1 .006-.754l1.59-.492a.317.317 0 0 0 .207-.201l.548-1.607Z"},"children":[]}],"metadata":""}]},"name":"view-ai"};
|
|
7
|
+
|
|
8
|
+
export default ViewAi;
|
package/src/icons/ast/index.tsx
CHANGED
|
@@ -64,6 +64,7 @@ export { default as ClockAlarm } from './ClockAlarm';
|
|
|
64
64
|
export { default as ClockForward } from './ClockForward';
|
|
65
65
|
export { default as Clock } from './Clock';
|
|
66
66
|
export { default as Close } from './Close';
|
|
67
|
+
export { default as CollapseAll } from './CollapseAll';
|
|
67
68
|
export { default as ColorCodingFilled } from './ColorCodingFilled';
|
|
68
69
|
export { default as ColorCoding } from './ColorCoding';
|
|
69
70
|
export { default as Columns2 } from './Columns2';
|
|
@@ -72,10 +73,12 @@ export { default as Columns } from './Columns';
|
|
|
72
73
|
export { default as CommentBubble } from './CommentBubble';
|
|
73
74
|
export { default as Copy } from './Copy';
|
|
74
75
|
export { default as Create } from './Create';
|
|
76
|
+
export { default as DatabaseOff } from './DatabaseOff';
|
|
75
77
|
export { default as DatabaseStroke } from './DatabaseStroke';
|
|
76
78
|
export { default as Database } from './Database';
|
|
77
79
|
export { default as Delete } from './Delete';
|
|
78
80
|
export { default as Demo } from './Demo';
|
|
81
|
+
export { default as Dependency } from './Dependency';
|
|
79
82
|
export { default as DoubleArrowLeft } from './DoubleArrowLeft';
|
|
80
83
|
export { default as DoubleArrowRight } from './DoubleArrowRight';
|
|
81
84
|
export { default as DragBlockHandleSingle } from './DragBlockHandleSingle';
|
|
@@ -155,6 +158,7 @@ export { default as Loom } from './Loom';
|
|
|
155
158
|
export { default as LoupeZoomIn } from './LoupeZoomIn';
|
|
156
159
|
export { default as LoupeZoomOut } from './LoupeZoomOut';
|
|
157
160
|
export { default as LoupeZoom } from './LoupeZoom';
|
|
161
|
+
export { default as ManyPeople } from './ManyPeople';
|
|
158
162
|
export { default as MapMode } from './MapMode';
|
|
159
163
|
export { default as MenuCollapser } from './MenuCollapser';
|
|
160
164
|
export { default as MessagePlusSquare } from './MessagePlusSquare';
|
|
@@ -319,6 +323,7 @@ export { default as Upgrade } from './Upgrade';
|
|
|
319
323
|
export { default as UsbFlashDrive } from './UsbFlashDrive';
|
|
320
324
|
export { default as UserGroup } from './UserGroup';
|
|
321
325
|
export { default as UserRole } from './UserRole';
|
|
326
|
+
export { default as ViewAi } from './ViewAi';
|
|
322
327
|
export { default as ViewBoard } from './ViewBoard';
|
|
323
328
|
export { default as ViewCalendar } from './ViewCalendar';
|
|
324
329
|
export { default as ViewCanvas } from './ViewCanvas';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import {forwardRef} from 'react';
|
|
4
|
+
import CollapseAllSvg from '../ast/CollapseAll';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { IconBaseProps } from '../types';
|
|
7
|
+
|
|
8
|
+
const CollapseAll = forwardRef<SVGSVGElement, IconBaseProps>(function CollapseAll(
|
|
9
|
+
props: IconBaseProps,
|
|
10
|
+
ref: React.Ref<SVGSVGElement>
|
|
11
|
+
) {return <Icon {...props} className={props.className} ref={ref} icon={CollapseAllSvg} />});
|
|
12
|
+
|
|
13
|
+
export default CollapseAll;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import {forwardRef} from 'react';
|
|
4
|
+
import DatabaseOffSvg from '../ast/DatabaseOff';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { IconBaseProps } from '../types';
|
|
7
|
+
|
|
8
|
+
const DatabaseOff = forwardRef<SVGSVGElement, IconBaseProps>(function DatabaseOff(
|
|
9
|
+
props: IconBaseProps,
|
|
10
|
+
ref: React.Ref<SVGSVGElement>
|
|
11
|
+
) {return <Icon {...props} className={props.className} ref={ref} icon={DatabaseOffSvg} />});
|
|
12
|
+
|
|
13
|
+
export default DatabaseOff;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import {forwardRef} from 'react';
|
|
4
|
+
import DependencySvg from '../ast/Dependency';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { IconBaseProps } from '../types';
|
|
7
|
+
|
|
8
|
+
const Dependency = forwardRef<SVGSVGElement, IconBaseProps>(function Dependency(
|
|
9
|
+
props: IconBaseProps,
|
|
10
|
+
ref: React.Ref<SVGSVGElement>
|
|
11
|
+
) {return <Icon {...props} className={props.className} ref={ref} icon={DependencySvg} />});
|
|
12
|
+
|
|
13
|
+
export default Dependency;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import {forwardRef} from 'react';
|
|
4
|
+
import ManyPeopleSvg from '../ast/ManyPeople';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { IconBaseProps } from '../types';
|
|
7
|
+
|
|
8
|
+
const ManyPeople = forwardRef<SVGSVGElement, IconBaseProps>(function ManyPeople(
|
|
9
|
+
props: IconBaseProps,
|
|
10
|
+
ref: React.Ref<SVGSVGElement>
|
|
11
|
+
) {return <Icon {...props} className={props.className} ref={ref} icon={ManyPeopleSvg} />});
|
|
12
|
+
|
|
13
|
+
export default ManyPeople;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// This icon file is generated automatically.
|
|
2
|
+
|
|
3
|
+
import {forwardRef} from 'react';
|
|
4
|
+
import ViewAiSvg from '../ast/ViewAi';
|
|
5
|
+
import { Icon } from '../Icon';
|
|
6
|
+
import { IconBaseProps } from '../types';
|
|
7
|
+
|
|
8
|
+
const ViewAi = forwardRef<SVGSVGElement, IconBaseProps>(function ViewAi(
|
|
9
|
+
props: IconBaseProps,
|
|
10
|
+
ref: React.Ref<SVGSVGElement>
|
|
11
|
+
) {return <Icon {...props} className={props.className} ref={ref} icon={ViewAiSvg} />});
|
|
12
|
+
|
|
13
|
+
export default ViewAi;
|
|
@@ -64,6 +64,7 @@ export { default as ClockAlarm } from './ClockAlarm';
|
|
|
64
64
|
export { default as ClockForward } from './ClockForward';
|
|
65
65
|
export { default as Clock } from './Clock';
|
|
66
66
|
export { default as Close } from './Close';
|
|
67
|
+
export { default as CollapseAll } from './CollapseAll';
|
|
67
68
|
export { default as ColorCodingFilled } from './ColorCodingFilled';
|
|
68
69
|
export { default as ColorCoding } from './ColorCoding';
|
|
69
70
|
export { default as Columns2 } from './Columns2';
|
|
@@ -72,10 +73,12 @@ export { default as Columns } from './Columns';
|
|
|
72
73
|
export { default as CommentBubble } from './CommentBubble';
|
|
73
74
|
export { default as Copy } from './Copy';
|
|
74
75
|
export { default as Create } from './Create';
|
|
76
|
+
export { default as DatabaseOff } from './DatabaseOff';
|
|
75
77
|
export { default as DatabaseStroke } from './DatabaseStroke';
|
|
76
78
|
export { default as Database } from './Database';
|
|
77
79
|
export { default as Delete } from './Delete';
|
|
78
80
|
export { default as Demo } from './Demo';
|
|
81
|
+
export { default as Dependency } from './Dependency';
|
|
79
82
|
export { default as DoubleArrowLeft } from './DoubleArrowLeft';
|
|
80
83
|
export { default as DoubleArrowRight } from './DoubleArrowRight';
|
|
81
84
|
export { default as DragBlockHandleSingle } from './DragBlockHandleSingle';
|
|
@@ -155,6 +158,7 @@ export { default as Loom } from './Loom';
|
|
|
155
158
|
export { default as LoupeZoomIn } from './LoupeZoomIn';
|
|
156
159
|
export { default as LoupeZoomOut } from './LoupeZoomOut';
|
|
157
160
|
export { default as LoupeZoom } from './LoupeZoom';
|
|
161
|
+
export { default as ManyPeople } from './ManyPeople';
|
|
158
162
|
export { default as MapMode } from './MapMode';
|
|
159
163
|
export { default as MenuCollapser } from './MenuCollapser';
|
|
160
164
|
export { default as MessagePlusSquare } from './MessagePlusSquare';
|
|
@@ -319,6 +323,7 @@ export { default as Upgrade } from './Upgrade';
|
|
|
319
323
|
export { default as UsbFlashDrive } from './UsbFlashDrive';
|
|
320
324
|
export { default as UserGroup } from './UserGroup';
|
|
321
325
|
export { default as UserRole } from './UserRole';
|
|
326
|
+
export { default as ViewAi } from './ViewAi';
|
|
322
327
|
export { default as ViewBoard } from './ViewBoard';
|
|
323
328
|
export { default as ViewCalendar } from './ViewCalendar';
|
|
324
329
|
export { default as ViewCanvas } from './ViewCanvas';
|
|
@@ -56,6 +56,9 @@ export function GroupHeading<
|
|
|
56
56
|
if (props.data.separator) {
|
|
57
57
|
return <GroupDivider />;
|
|
58
58
|
}
|
|
59
|
+
if (props.data.label === undefined) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
59
62
|
const isPureText = isPureTextChildren(children);
|
|
60
63
|
return (
|
|
61
64
|
<components.GroupHeading {...props} className={groupHeadingClass}>
|
|
@@ -169,7 +169,7 @@ type Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = {
|
|
|
169
169
|
renderValue?: () => ReactNode;
|
|
170
170
|
title?: string;
|
|
171
171
|
maxMenuHeight?: number;
|
|
172
|
-
hideOnChange?: boolean;
|
|
172
|
+
hideOnChange?: boolean | ((newValue: OnChangeValue<Option, IsMulti>, actionMeta: ActionMeta<Option>) => boolean);
|
|
173
173
|
renderInPortal?: boolean;
|
|
174
174
|
popupStyles?: string;
|
|
175
175
|
selectStyles?: StylesConfig<Option, IsMulti, Group>;
|
|
@@ -183,6 +183,7 @@ type Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = {
|
|
|
183
183
|
onMenuClose?: () => void | boolean;
|
|
184
184
|
getPopupContainer?: () => HTMLElement;
|
|
185
185
|
onSelectKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
186
|
+
otherSelectProps?: Record<string, unknown>;
|
|
186
187
|
};
|
|
187
188
|
|
|
188
189
|
function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(
|
|
@@ -219,6 +220,7 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
|
|
|
219
220
|
onMenuClose,
|
|
220
221
|
getPopupContainer,
|
|
221
222
|
onSelectKeyDown,
|
|
223
|
+
otherSelectProps,
|
|
222
224
|
} = props;
|
|
223
225
|
const [triggerElement, setTriggerElement] = useState<HTMLDivElement | null>(null);
|
|
224
226
|
const [visible, setVisible] = useControllableState({
|
|
@@ -280,6 +282,10 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
|
|
|
280
282
|
}, [visible]);
|
|
281
283
|
|
|
282
284
|
const onShow = useCallback(() => {
|
|
285
|
+
if (disabled) {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
|
|
283
289
|
if (blurTimeoutRef.current) {
|
|
284
290
|
clearTimeout(blurTimeoutRef.current);
|
|
285
291
|
}
|
|
@@ -287,7 +293,7 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
|
|
|
287
293
|
if (onMenuOpen) {
|
|
288
294
|
onMenuOpen();
|
|
289
295
|
}
|
|
290
|
-
}, [onMenuOpen, setVisible]);
|
|
296
|
+
}, [disabled, onMenuOpen, setVisible]);
|
|
291
297
|
|
|
292
298
|
const styles = useMemo(() => {
|
|
293
299
|
return combineStyles<Option, IsMulti, Group>([selectInPopupStyles, selectStyles]);
|
|
@@ -385,7 +391,11 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
|
|
|
385
391
|
closeMenuOnScroll={false}
|
|
386
392
|
closeMenuOnSelect={false}
|
|
387
393
|
onChange={(newValue, actionMeta) => {
|
|
388
|
-
if (hideOnChange) {
|
|
394
|
+
if (typeof hideOnChange === "function") {
|
|
395
|
+
if (hideOnChange(newValue, actionMeta)) {
|
|
396
|
+
onHide();
|
|
397
|
+
}
|
|
398
|
+
} else if (hideOnChange) {
|
|
389
399
|
onHide();
|
|
390
400
|
}
|
|
391
401
|
onChange(newValue, actionMeta);
|
|
@@ -405,6 +415,7 @@ function SelectInPopoverInner<Option, IsMulti extends boolean, Group extends Gro
|
|
|
405
415
|
isClearable={!isCollectionMode && isClearable}
|
|
406
416
|
formatGroupLabel={formatGroupLabel}
|
|
407
417
|
formatOptionLabel={formatOptionLabel}
|
|
418
|
+
{...otherSelectProps}
|
|
408
419
|
components={{
|
|
409
420
|
DropdownIndicator: null,
|
|
410
421
|
IndicatorSeparator: null,
|
package/src/toast/primitives.tsx
CHANGED
|
@@ -3,7 +3,7 @@ import {css, cx} from "@linaria/core";
|
|
|
3
3
|
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
4
4
|
import {ElementRef, forwardRef} from "react";
|
|
5
5
|
import {IconButton} from "../button/icon-button";
|
|
6
|
-
import {border, space, textStyles, themeVars} from "../design-system";
|
|
6
|
+
import {border, space, textStyles, themeVars, transition} from "../design-system";
|
|
7
7
|
import CloseIcon from "../icons/react/Close";
|
|
8
8
|
|
|
9
9
|
const viewportCss = css`
|
|
@@ -21,6 +21,8 @@ const viewportCss = css`
|
|
|
21
21
|
padding: 0;
|
|
22
22
|
list-style: none;
|
|
23
23
|
|
|
24
|
+
transition: bottom ${transition}; // bottom may change dynamically
|
|
25
|
+
|
|
24
26
|
&:not(:empty) {
|
|
25
27
|
padding: ${space.s24}px; // increased mouse hover area to pause timers of toast
|
|
26
28
|
}
|
package/src/toast/toast-queue.ts
CHANGED
|
@@ -13,6 +13,11 @@ type QueuedToast = AddToastProps & {
|
|
|
13
13
|
id: string;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
+
type BottomOffsetRequest = {
|
|
17
|
+
id: string;
|
|
18
|
+
bottomOffset: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
16
21
|
type ToastQueueOpts = {
|
|
17
22
|
maxActiveToasts?: number;
|
|
18
23
|
onToastAdd?: (params: AddToastProps) => void;
|
|
@@ -27,6 +32,7 @@ export const makeToastQueue = ({maxActiveToasts = 1, onToastAdd, transformToast}
|
|
|
27
32
|
const pubSub = makePubSub();
|
|
28
33
|
let queue: QueuedToast[] = [];
|
|
29
34
|
let activeToasts: QueuedToast[] = [];
|
|
35
|
+
let bottomOffsets: BottomOffsetRequest[] = [];
|
|
30
36
|
|
|
31
37
|
let count = 0;
|
|
32
38
|
|
|
@@ -87,6 +93,22 @@ export const makeToastQueue = ({maxActiveToasts = 1, onToastAdd, transformToast}
|
|
|
87
93
|
getActiveToasts() {
|
|
88
94
|
return activeToasts;
|
|
89
95
|
},
|
|
96
|
+
addButtomOffset: (bottomOffset: number) => {
|
|
97
|
+
const id = `${Math.random()}`;
|
|
98
|
+
bottomOffsets.push({id, bottomOffset});
|
|
99
|
+
pubSub.publish();
|
|
100
|
+
|
|
101
|
+
return () => {
|
|
102
|
+
bottomOffsets = bottomOffsets.filter((v) => v.id !== id);
|
|
103
|
+
pubSub.publish();
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
getBottomOffset() {
|
|
107
|
+
if (bottomOffsets.length === 0) {
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
return Math.max(...bottomOffsets.map((v) => v.bottomOffset));
|
|
111
|
+
},
|
|
90
112
|
subscribe: pubSub.subscribe,
|
|
91
113
|
unsubscribe: pubSub.unsubscribe,
|
|
92
114
|
|
package/src/toast/toaster.tsx
CHANGED
|
@@ -24,6 +24,7 @@ export const Toaster: React.FC = () => {
|
|
|
24
24
|
const toastQueue = useToast();
|
|
25
25
|
|
|
26
26
|
const toasts = useSyncExternalStore(toastQueue.subscribe, toastQueue.getActiveToasts);
|
|
27
|
+
const bottomOffset = useSyncExternalStore(toastQueue.subscribe, toastQueue.getBottomOffset);
|
|
27
28
|
|
|
28
29
|
return (
|
|
29
30
|
<ToastThemeProvider>
|
|
@@ -45,7 +46,7 @@ export const Toaster: React.FC = () => {
|
|
|
45
46
|
/>
|
|
46
47
|
))}
|
|
47
48
|
|
|
48
|
-
<ToastViewport id={viewportId} />
|
|
49
|
+
<ToastViewport id={viewportId} style={{bottom: bottomOffset}} />
|
|
49
50
|
</ToastThemeProvider>
|
|
50
51
|
);
|
|
51
52
|
};
|
package/src/tooltip.tsx
CHANGED
|
@@ -114,6 +114,11 @@ export type TooltipProps = Omit<TooltipPrimitive.TooltipTriggerProps, "title"> &
|
|
|
114
114
|
visible?: boolean;
|
|
115
115
|
onVisibleChange?: (visible: boolean) => void;
|
|
116
116
|
disabled?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* When `false`, allows to hover the content without closing the tooltip.
|
|
119
|
+
* @defaultValue trues
|
|
120
|
+
*/
|
|
121
|
+
disableHoverableContent?: boolean;
|
|
117
122
|
/** should keep tooltip visible after click */
|
|
118
123
|
keepOnClick?: boolean;
|
|
119
124
|
};
|
|
@@ -152,6 +157,7 @@ export const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(
|
|
|
152
157
|
setContentElement,
|
|
153
158
|
container,
|
|
154
159
|
tooltipContentStyle,
|
|
160
|
+
disableHoverableContent,
|
|
155
161
|
...triggerProps
|
|
156
162
|
},
|
|
157
163
|
ref
|
|
@@ -174,6 +180,7 @@ export const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(
|
|
|
174
180
|
delayDuration={instant ? 0 : tooltipDelay.enter}
|
|
175
181
|
open={disabled ? false : Boolean(content) && visible}
|
|
176
182
|
onOpenChange={onVisibleChange}
|
|
183
|
+
disableHoverableContent={disableHoverableContent}
|
|
177
184
|
>
|
|
178
185
|
<TooltipPrimitive.Trigger ref={ref} {...triggerProps} {...keepOnClickProps} asChild>
|
|
179
186
|
{children}
|