@fibery/ui-kit 1.18.0 → 1.19.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 (52) hide show
  1. package/package.json +8 -7
  2. package/src/back-button.tsx +1 -1
  3. package/src/button.tsx +1 -1
  4. package/src/design-system.ts +65 -17
  5. package/src/emoji-picker/emoji-picker-content-with-color.tsx +3 -3
  6. package/src/emoji-picker/primitives/category.tsx +1 -1
  7. package/src/emoji-picker/primitives/search.tsx +1 -1
  8. package/src/emoji-picker/primitives/skin-tone.tsx +1 -1
  9. package/src/error-alert.tsx +1 -1
  10. package/src/icons/Icon.tsx +2 -2
  11. package/src/icons/ast/BellRinging.ts +1 -1
  12. package/src/icons/ast/Clock.ts +8 -0
  13. package/src/icons/ast/ClockAlarm.ts +8 -0
  14. package/src/icons/ast/Copy.ts +1 -1
  15. package/src/icons/ast/ExtensionComments.ts +1 -1
  16. package/src/icons/ast/Monitor.ts +8 -0
  17. package/src/icons/ast/RicheditorCommentCreate.ts +1 -1
  18. package/src/icons/ast/Success.ts +8 -0
  19. package/src/icons/ast/WarningTriangle.ts +8 -0
  20. package/src/icons/ast/index.tsx +5 -0
  21. package/src/icons/react/Clock.tsx +12 -0
  22. package/src/icons/react/ClockAlarm.tsx +12 -0
  23. package/src/icons/react/Monitor.tsx +12 -0
  24. package/src/icons/react/Success.tsx +12 -0
  25. package/src/icons/react/WarningTriangle.tsx +12 -0
  26. package/src/icons/react/index.tsx +5 -0
  27. package/src/{Select → select}/custom-select-partials/clear-indicator.tsx +1 -1
  28. package/src/select/custom-select-partials/option.tsx +65 -0
  29. package/src/{Select → select}/index.tsx +39 -4
  30. package/src/{Select → select}/select-in-popover.tsx +4 -4
  31. package/src/{Select → select}/styles.ts +3 -5
  32. package/src/toast/primitives.tsx +26 -21
  33. package/src/toast/toast-action.tsx +20 -0
  34. package/src/toast/toast-queue.tsx +121 -0
  35. package/src/toast/toast.tsx +114 -0
  36. package/src/toast/toaster.tsx +72 -0
  37. package/src/Select/custom-select-partials/option.tsx +0 -92
  38. package/src/toast/index.tsx +0 -47
  39. /package/src/{Button → button}/actions-button-compact.tsx +0 -0
  40. /package/src/{Button → button}/actions-button.tsx +0 -0
  41. /package/src/{Button → button}/add-button.tsx +0 -0
  42. /package/src/{Button → button}/back-button.tsx +0 -0
  43. /package/src/{Button → button}/button-base.tsx +0 -0
  44. /package/src/{Button → button}/button-group.tsx +0 -0
  45. /package/src/{Button → button}/button.tsx +0 -0
  46. /package/src/{Button → button}/icon-button.tsx +0 -0
  47. /package/src/{Select → select}/custom-select-partials/drop-down-indicator.tsx +0 -0
  48. /package/src/{Select → select}/custom-select-partials/group-heading.tsx +0 -0
  49. /package/src/{Select → select}/custom-select-partials/menu.tsx +0 -0
  50. /package/src/{Select → select}/custom-select-partials/no-option-message.tsx +0 -0
  51. /package/src/{Select → select}/select-control-settings-context.tsx +0 -0
  52. /package/src/{Select → select}/select-loader.tsx +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fibery/ui-kit",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "main": "index.ts",
5
5
  "private": false,
6
6
  "files": [
@@ -17,12 +17,12 @@
17
17
  "src/loaders.tsx",
18
18
  "src/loading-sausage.tsx",
19
19
  "src/icons/**/*.ts*",
20
- "src/Select",
20
+ "src/select",
21
21
  "src/error-alert.tsx",
22
22
  "src/pallete.ts",
23
23
  "src/tooltip.tsx",
24
24
  "src/back-button.tsx",
25
- "src/Button",
25
+ "src/button",
26
26
  "src/emoji-picker/**/*.ts*",
27
27
  "src/toast/**/*.ts*",
28
28
  "src/a11y-color.ts"
@@ -66,9 +66,9 @@
66
66
  "react-windowed-select": "5.0.0",
67
67
  "screenfull": "6.0.1",
68
68
  "ua-parser-js": "0.7.24",
69
+ "@fibery/emoji-data": "2.2.1",
69
70
  "@fibery/helpers": "1.2.0",
70
- "@fibery/emoji-data": "2.2.0",
71
- "@fibery/react": "1.1.0"
71
+ "@fibery/react": "1.2.0"
72
72
  },
73
73
  "peerDependencies": {
74
74
  "react": "^18.2.0",
@@ -85,6 +85,7 @@
85
85
  "@types/chroma-js": "2.1.3",
86
86
  "@types/color-hash": "1.0.2",
87
87
  "@types/invariant": "2.2.34",
88
+ "@types/jest": "27.0.1",
88
89
  "@types/lodash": "4.14.172",
89
90
  "@types/prop-types": "15.7.5",
90
91
  "@types/react": "18.0.26",
@@ -100,8 +101,8 @@
100
101
  "svgo": "2.8.0",
101
102
  "typescript": "5.1.6",
102
103
  "unist-util-reduce": "0.2.2",
103
- "@fibery/babel-preset": "7.3.0",
104
- "@fibery/eslint-config": "8.4.0"
104
+ "@fibery/eslint-config": "8.4.0",
105
+ "@fibery/babel-preset": "7.3.0"
105
106
  },
106
107
  "jest": {
107
108
  "testEnvironment": "jsdom",
@@ -1,3 +1,3 @@
1
- import {BackButton} from "./Button/back-button";
1
+ import {BackButton} from "./button/back-button";
2
2
 
3
3
  export {BackButton};
package/src/button.tsx CHANGED
@@ -1,3 +1,3 @@
1
- import {Button} from "./Button/button";
1
+ import {Button} from "./button/button";
2
2
 
3
3
  export {Button};
@@ -262,13 +262,16 @@ export const themeColors = {
262
262
  getOpacities(slateDark.slate1).opacity40
263
263
  }`,
264
264
  ],
265
- colorBgSelectOptionDefault: [transparent, transparent],
266
- colorBgSelectOptionDefaultHover: [slate.slate4, slateDark.slate4],
267
- colorBgSelectOptionSelected: [indigo.indigo4, indigoDark.indigo4],
268
- colorBgSelectOptionSelectedHover: [indigo.indigo6, indigoDark.indigo6],
269
- colorBgSelectOptionDisabled: [transparent, transparent],
270
- colorBgSelectOptionSelectedDisabled: [indigo.indigo5, indigoDark.indigo5],
271
- opacitySelectOptionDisabled: [`${opacity.opacity40}`, `${opacity.opacity40}`],
265
+ colorBgListItemGeneral: [transparent, transparent],
266
+ colorBgListItemGeneralHover: [slate.slate3, slateDark.slate4],
267
+ colorBgListItemGeneralFocus: [slate.slate4, slateDark.slate6],
268
+ colorBgListItemGeneralSelected: [indigo.indigo3, indigoDark.indigo4],
269
+ colorBgListItemGeneralSelectedHover: [indigo.indigo4, indigoDark.indigo6],
270
+ colorBgListItemGeneralSelectedFocus: [indigo.indigo4, indigoDark.indigo6],
271
+ colorBgListItemGeneralDisabled: [transparent, transparent],
272
+ colorTextListItemGeneralDisabled: [slate.slate9, slateDark.slate9],
273
+ colorBgListItemGeneralSelectedDisabled: [indigo.indigo5, indigoDark.indigo5],
274
+ opacityListItemGeneralDisabled: [`${opacity.opacity40}`, `${opacity.opacity40}`],
272
275
 
273
276
  // Search Items
274
277
  colorBgSearchItemHover: [slate.slate4, slateDark.slate4],
@@ -308,13 +311,21 @@ export const themeColors = {
308
311
  // Selected Entity Box State
309
312
  colorBgEntityBoxSelected: [indigo.indigo2, indigoDark.indigo3],
310
313
  shadowStrokeEntityBoxSelected: [
311
- `0 0 0 1px ${indigo.indigo9}, 0 0 0 3px ${getOpacities(indigo.indigo9).opacity40}`,
314
+ `0 0 0 1px ${getOpacities(indigo.indigo9).opacity40}, 0 0 0 3px ${getOpacities(indigo.indigo9).opacity40}`,
312
315
  `0 0 0 1px ${indigoDark.indigo9}, 0 0 0 3px ${getOpacities(indigoDark.indigo9).opacity40}`,
313
316
  ],
314
317
  // :hover
315
318
  colorBgEntityBoxSelectedHover: [indigo.indigo3, indigoDark.indigo3],
319
+ shadowStrokeEntityBoxSelectedHover: [
320
+ `0 0 0 1px ${getOpacities(indigo.indigo9).opacity60}, 0 0 0 3px ${getOpacities(indigo.indigo9).opacity40}`,
321
+ `0 0 0 1px ${indigoDark.indigo9}, 0 0 0 3px ${getOpacities(indigoDark.indigo9).opacity40}`,
322
+ ],
316
323
  //::drag
317
324
  colorBgEntityBoxSelectedDrag: [indigo.indigo3, indigoDark.indigo3],
325
+ shadowStrokeEntityBoxSelectedDrag: [
326
+ `0 0 0 1px ${getOpacities(indigo.indigo9).opacity40}, 0 0 0 3px ${getOpacities(indigo.indigo9).opacity40}`,
327
+ `0 0 0 1px ${indigoDark.indigo9}, 0 0 0 3px ${getOpacities(indigoDark.indigo9).opacity40}`,
328
+ ],
318
329
  // Disabled Entity Box State (done)
319
330
  opacityEntityBoxDisabled: [`${opacity.opacity65}`, `${opacity.opacity65}`],
320
331
  // :hover
@@ -411,9 +422,9 @@ export const themeColors = {
411
422
  filterGroup1Bg: [slate.slate2, slateDark.slate6],
412
423
  filterGroup2Bg: [slate.slate3, slateDark.slate7],
413
424
  filterGroupBorder: [blackA.blackA3, whiteA.whiteA3],
414
- colorBgNotificationHover: [slate.slate4, slateDark.slate4],
415
- colorBgNotificationSelected: [indigo.indigo4, indigoDark.indigo4],
416
- colorBgNotificationSelectedHover: [indigo.indigo6, indigoDark.indigo6],
425
+ colorBgNotificationHover: [slate.slate3, slateDark.slate4],
426
+ colorBgNotificationSelected: [indigo.indigo3, indigoDark.indigo4],
427
+ colorBgNotificationSelectedHover: [indigo.indigo4, indigoDark.indigo6],
417
428
  disabledInversedTextColor: [shades.opacity25, lights.opacity25],
418
429
  danger: [red.red9, redDark.red10],
419
430
  active: [red.red9, redDark.red10],
@@ -610,10 +621,24 @@ export const getLinkedHighlightBackgroundColor = _.memoize(
610
621
  (themeMode, color) => `${themeMode}-${color}`
611
622
  );
612
623
 
624
+ export const getLinkedHighlightDecorationBackgroundColor = _.memoize(
625
+ (themeColors: ThemeColors, color: string): string => {
626
+ switch (themeColors.mode) {
627
+ case "dark":
628
+ return makeChromaColor(color).alpha(0.9).luminance(0.5).darken(0.2).css();
629
+ case "light":
630
+ return makeChromaColor(color).alpha(0.9).luminance(0.5).css();
631
+ default:
632
+ return makeChromaColor(color).alpha(0.9).luminance(0.5).css();
633
+ }
634
+ },
635
+ (themeMode, color) => `${themeMode}-${color}`
636
+ );
637
+
613
638
  export const getEnumBackgroundColor = _.memoize(
614
639
  (mode: ThemeMode, color: string) => {
615
640
  return getThemeValue(mode, {
616
- light: a11yColor(getOpacities(color).opacity20, lightColors.whiteColor, 1),
641
+ light: a11yColor(getOpacities(color).opacity15, lightColors.whiteColor, 1),
617
642
  dark: a11yColor(getOpacities(color).opacity30, darkColors.menuBg, 1.3),
618
643
  });
619
644
  },
@@ -677,9 +702,34 @@ export const space = {
677
702
  l: 12,
678
703
  xl: 24,
679
704
  xxl: 48, // Not recommended
705
+ // new spacing set
706
+ spaceAuto: "auto",
707
+ s0: 0,
708
+ s1: 1,
709
+ s2: 2,
710
+ s4: 4,
711
+ s6: 6,
712
+ s8: 8,
713
+ s10: 10,
714
+ s12: 12,
715
+ s14: 14,
716
+ s16: 16,
717
+ s20: 20,
718
+ s24: 24,
719
+ s28: 28,
720
+ s32: 32,
721
+ s36: 36,
722
+ s40: 40,
723
+ s44: 44,
724
+ s48: 48,
725
+ s56: 56,
726
+ s64: 64,
727
+ s80: 80,
728
+ s112: 112,
729
+ s128: 128,
680
730
  } as const;
681
731
  /** Token for nested items spacing in nested trees */
682
- export const spaceNestedTreeLevel = 40;
732
+ export const spaceNestedTreeLevel = 28;
683
733
  export const spaceNestedTreeInterval = 0;
684
734
  export const layout = {
685
735
  logoSize: 24,
@@ -721,8 +771,6 @@ export const layout = {
721
771
  unitHeight: 18,
722
772
  } as const;
723
773
 
724
- export const radius = 3;
725
-
726
774
  export const border = {
727
775
  radius0: 0,
728
776
  radius1: 1,
@@ -947,7 +995,7 @@ export const textStyles = {
947
995
  lineHeight: lineHeight.regular,
948
996
  fontWeight: fontWeight.regular,
949
997
  color: themeVars.textColor,
950
- borderRadius: radius,
998
+ borderRadius: border.radius6,
951
999
  },
952
1000
  important: {
953
1001
  fontFamily,
@@ -956,6 +1004,6 @@ export const textStyles = {
956
1004
  fontWeight: fontWeight.regular,
957
1005
  color: themeVars.textColor,
958
1006
  border: `1px solid ${themeVars.active}`,
959
- borderRadius: radius,
1007
+ borderRadius: border.radius6,
960
1008
  },
961
1009
  } as const;
@@ -1,8 +1,8 @@
1
1
  import {css, cx} from "@linaria/core";
2
2
  import {useState} from "react";
3
- import {IconButton} from "../Button/icon-button";
4
- import {CollapsibleContent, CollapsibleRoot, CollapsibleTrigger} from "../Collapsible";
5
- import {ColorPicker} from "../ColorPicker";
3
+ import {IconButton} from "../button/icon-button";
4
+ import {CollapsibleContent, CollapsibleRoot, CollapsibleTrigger} from "../collapsible";
5
+ import {ColorPicker} from "../color-picker";
6
6
  import {useThemeMode} from "../theme-provider";
7
7
  import {getIconColor, space} from "../design-system";
8
8
  import ColorCoding from "../icons/react/ColorCoding";
@@ -2,7 +2,7 @@ import {Category, EmojiItem} from "@fibery/emoji-data";
2
2
  import {css} from "@linaria/core";
3
3
  import {memo} from "react";
4
4
  import {useInView} from "react-intersection-observer";
5
- import {IconButton} from "../../Button/icon-button";
5
+ import {IconButton} from "../../button/icon-button";
6
6
  import {space, textStyles, themeVars} from "../../design-system";
7
7
  import {Settings} from "../../icons/react";
8
8
  import {useEmojiDataStoreSelector} from "../stores/emoji-data-store";
@@ -2,7 +2,7 @@ import {EmojiItem} from "@fibery/emoji-data";
2
2
  import {useComposedRefs} from "@fibery/react/src/use-composed-refs";
3
3
  import {css, cx} from "@linaria/core";
4
4
  import {startTransition, useId, useRef} from "react";
5
- import {IconButton} from "../../Button/icon-button";
5
+ import {IconButton} from "../../button/icon-button";
6
6
  import {border, space, textStyles, themeVars} from "../../design-system";
7
7
  import Close from "../../icons/react/Close";
8
8
  import Search from "../../icons/react/Search";
@@ -5,7 +5,7 @@ import {textStyles, themeVars} from "../../design-system";
5
5
  import {Emoji} from "./emoji";
6
6
  import {useEmojiPickerCtx, useEmojiPickerI18N} from "./root";
7
7
  import {useEmojiSkin, useSetEmojiSkin} from "./skin-provider";
8
- import {IconButton} from "../../Button/icon-button";
8
+ import {IconButton} from "../../button/icon-button";
9
9
 
10
10
  const skinToneWrapperCss = css`
11
11
  display: flex;
@@ -1,6 +1,6 @@
1
1
  import {css} from "@linaria/core";
2
2
  import {layout, border, space, textStyles, themeVars} from "./design-system";
3
- import {Button} from "./Button/button";
3
+ import {Button} from "./button/button";
4
4
  import CloseIcon from "./icons/react/Close";
5
5
  import {useTheme} from "./theme-provider";
6
6
 
@@ -1,5 +1,5 @@
1
1
  import {css} from "@linaria/core";
2
- import {themeVars, iconSize as defaultIconSize, radius, viewBoxSize} from "../design-system";
2
+ import {themeVars, iconSize as defaultIconSize, viewBoxSize, border} from "../design-system";
3
3
  import {generateIconFromAst} from "./generate-icon-from-ast";
4
4
  import {IconProps} from "./types";
5
5
  import {getShiftStyle} from "./get-shift-style";
@@ -8,7 +8,7 @@ import {forwardRef} from "react";
8
8
 
9
9
  const iconStyle = css`
10
10
  shape-rendering: geometricprecision;
11
- border-radius: ${radius}px;
11
+ border-radius: ${border.radius4}px;
12
12
  `;
13
13
 
14
14
  export const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(
@@ -3,6 +3,6 @@
3
3
 
4
4
  import { IconDefinition } from '../types';
5
5
 
6
- const BellRinging: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M5.226 1.95a.753.753 0 0 1-.385.992 2.259 2.259 0 0 0-1.338 1.87.753.753 0 0 1-1.5-.13 3.765 3.765 0 0 1 2.23-3.118.753.753 0 0 1 .993.385Z"},"children":[]},{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M5.953 3.569C7.034 2.559 8.49 2 10 2s2.966.559 4.047 1.569c1.084 1.01 1.703 2.394 1.703 3.848 0 2.105.528 3.55 1.117 4.514.272.445.483.76.64.994l.065.098c.077.114.154.23.21.331.028.052.064.122.093.202a.897.897 0 0 1 .051.38c-.009.104-.03.286-.134.472a1.149 1.149 0 0 1-.335.365.94.94 0 0 1-.299.145 1.497 1.497 0 0 1-.205.042 4.07 4.07 0 0 1-.404.03c-.28.01-.669.01-1.155.01H13.25v.25a3.25 3.25 0 0 1-6.5 0V15H4.606c-.486 0-.874 0-1.155-.01a4.068 4.068 0 0 1-.404-.03 1.495 1.495 0 0 1-.205-.042.939.939 0 0 1-.3-.145 1.15 1.15 0 0 1-.334-.365 1.155 1.155 0 0 1-.135-.473.897.897 0 0 1 .052-.38c.029-.08.065-.15.093-.2.056-.101.133-.218.21-.332l.065-.098c.156-.233.368-.549.64-.994.589-.964 1.117-2.409 1.117-4.514 0-1.454.62-2.837 1.703-3.848ZM8.25 15v.25a1.75 1.75 0 0 0 3.5 0V15h-3.5ZM10 3.5c-1.143 0-2.23.424-3.024 1.165-.792.74-1.226 1.73-1.226 2.752 0 2.371-.599 4.088-1.337 5.296-.196.32-.363.579-.5.786l.72.001h10.733c.283 0 .521 0 .72-.002a26.199 26.199 0 0 1-.499-.785c-.738-1.208-1.337-2.925-1.337-5.296 0-1.022-.434-2.013-1.226-2.752C12.23 3.925 11.144 3.5 10 3.5Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M15.159 2.942a.753.753 0 1 1 .608-1.378 3.764 3.764 0 0 1 2.23 3.118.753.753 0 0 1-1.5.13 2.258 2.258 0 0 0-1.338-1.87Z"},"children":[]}],"metadata":""}]},"name":"bell-ringing"};
6
+ const BellRinging: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M18.78 3.72a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1 1.06-1.06l2.5 2.5ZM1.22 4.78a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0Z"},"children":[]},{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M5.953 3.569C7.034 2.559 8.49 2 10 2s2.966.559 4.047 1.569c1.084 1.01 1.703 2.394 1.703 3.848 0 2.105.528 3.55 1.117 4.514.272.445.483.76.64.994l.065.098c.077.114.154.23.21.331.028.052.064.122.093.202a.897.897 0 0 1 .051.38c-.009.104-.03.286-.134.472a1.149 1.149 0 0 1-.335.365.94.94 0 0 1-.299.145 1.497 1.497 0 0 1-.205.042 4.07 4.07 0 0 1-.404.03c-.28.01-.669.01-1.155.01H13.25v.25a3.25 3.25 0 0 1-6.5 0V15H4.606c-.486 0-.874 0-1.155-.01a4.068 4.068 0 0 1-.404-.03 1.495 1.495 0 0 1-.205-.042.939.939 0 0 1-.3-.145 1.15 1.15 0 0 1-.334-.365 1.155 1.155 0 0 1-.135-.473.897.897 0 0 1 .052-.38c.029-.08.065-.15.093-.2.056-.101.133-.218.21-.332l.065-.098c.156-.233.368-.549.64-.994.589-.964 1.117-2.409 1.117-4.514 0-1.454.62-2.837 1.703-3.848ZM8.25 15v.25a1.75 1.75 0 0 0 3.5 0V15h-3.5ZM10 3.5c-1.143 0-2.23.424-3.024 1.165-.792.74-1.226 1.73-1.226 2.752 0 2.371-.599 4.088-1.337 5.296-.196.32-.363.579-.5.786l.72.001h10.733c.283 0 .521 0 .72-.002a26.199 26.199 0 0 1-.499-.785c-.738-1.208-1.337-2.925-1.337-5.296 0-1.022-.434-2.013-1.226-2.752C12.23 3.925 11.144 3.5 10 3.5Z"},"children":[]}],"metadata":""}]},"name":"bell-ringing"};
7
7
 
8
8
  export default BellRinging;
@@ -0,0 +1,8 @@
1
+
2
+ // This icon file is generated automatically.
3
+
4
+ import { IconDefinition } from '../types';
5
+
6
+ const Clock: 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":"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M10.75 6.375a.75.75 0 0 0-1.5 0V10c0 .199.079.39.22.53l2.265 2.266a.75.75 0 0 0 1.061-1.06L10.75 9.688V6.375Z"},"children":[]}],"metadata":""}]},"name":"clock"};
7
+
8
+ export default Clock;
@@ -0,0 +1,8 @@
1
+
2
+ // This icon file is generated automatically.
3
+
4
+ import { IconDefinition } from '../types';
5
+
6
+ const ClockAlarm: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M18.78 3.72a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1 1.06-1.06l2.5 2.5ZM1.22 4.78a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0ZM10.75 6.375a.75.75 0 0 0-1.5 0V10c0 .199.079.39.22.53l2.265 2.266a.75.75 0 0 0 1.061-1.06L10.75 9.688V6.375Z"},"children":[]},{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M2 10a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Z"},"children":[]}],"metadata":""}]},"name":"clock-alarm"};
7
+
8
+ export default ClockAlarm;
@@ -3,6 +3,6 @@
3
3
 
4
4
  import { IconDefinition } from '../types';
5
5
 
6
- const Copy: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M7.5 9.25c0-.966.784-1.75 1.75-1.75h7c.966 0 1.75.784 1.75 1.75v7A1.75 1.75 0 0 1 16.25 18h-7a1.75 1.75 0 0 1-1.75-1.75v-7ZM9.25 9a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25h7a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25h-7Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M3.75 2A1.75 1.75 0 0 0 2 3.75v7c0 .966.784 1.75 1.75 1.75H6V11H3.75a.25.25 0 0 1-.25-.25v-7a.25.25 0 0 1 .25-.25h7a.25.25 0 0 1 .25.25V6h1.5V3.75A1.75 1.75 0 0 0 10.75 2h-7Z"},"children":[]}],"metadata":""}]},"name":"copy"};
6
+ const Copy: 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":"M7.5 9.25c0-.966.784-1.75 1.75-1.75h7c.966 0 1.75.784 1.75 1.75v7A1.75 1.75 0 0 1 16.25 18h-7a1.75 1.75 0 0 1-1.75-1.75v-7ZM9.25 9a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25h7a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25h-7Z"},"children":[]},{"type":"element","tagName":"path","properties":{"d":"M3.75 2A1.75 1.75 0 0 0 2 3.75v7c0 .966.784 1.75 1.75 1.75H6V11H3.75a.25.25 0 0 1-.25-.25v-7a.25.25 0 0 1 .25-.25h7a.25.25 0 0 1 .25.25V6h1.5V3.75A1.75 1.75 0 0 0 10.75 2h-7Z"},"children":[]}],"metadata":""}]},"name":"copy"};
7
7
 
8
8
  export default Copy;
@@ -3,6 +3,6 @@
3
3
 
4
4
  import { IconDefinition } from '../types';
5
5
 
6
- const ExtensionComments: 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":"M13.435 17.5c.585 0 .932-.405.932-1.038V14.72h.289c2.087 0 3.344-1.23 3.344-3.348V5.848C18 3.737 16.78 2.5 14.605 2.5h-9.21C3.228 2.5 2 3.737 2 5.848v5.524c0 2.111 1.228 3.348 3.395 3.348h4.349l2.477 2.147c.499.434.802.633 1.214.633Zm-.354-1.592-2.29-2.226c-.31-.312-.52-.383-.96-.383H5.445c-1.351 0-2.009-.676-2.009-1.97V5.891c0-1.294.658-1.97 2.009-1.97h9.116c1.358 0 2 .676 2 1.97v5.438c0 1.294-.642 1.97-2 1.97h-.889c-.412 0-.592.163-.592.583v2.026Zm.13-9.13a.648.648 0 0 0-.652-.643H6.032a.648.648 0 0 0-.653.642c0 .355.293.642.653.642h6.527c.36 0 .652-.287.652-.642ZM9.948 8.703c.36 0 .653.288.653.642a.648.648 0 0 1-.653.643H6.032a.648.648 0 0 1-.653-.643c0-.354.293-.642.653-.642h3.916Z"},"children":[]}],"metadata":""}]},"name":"extension-comments"};
6
+ const ExtensionComments: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M6 7.75A.75.75 0 0 1 6.75 7h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 6 7.75ZM6.75 10a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Z"},"children":[]},{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M2 5.75A2.75 2.75 0 0 1 4.75 3h10.5A2.75 2.75 0 0 1 18 5.75v7.5A2.75 2.75 0 0 1 15.25 16h-.75v1.75a.75.75 0 0 1-1.13.646L9.296 16H4.75A2.75 2.75 0 0 1 2 13.25v-7.5ZM4.75 4.5c-.69 0-1.25.56-1.25 1.25v7.5c0 .69.56 1.25 1.25 1.25H9.5c.134 0 .265.036.38.104L13 16.439V15.25a.75.75 0 0 1 .75-.75h1.5c.69 0 1.25-.56 1.25-1.25v-7.5c0-.69-.56-1.25-1.25-1.25H4.75Z"},"children":[]}],"metadata":""}]},"name":"extension-comments"};
7
7
 
8
8
  export default ExtensionComments;
@@ -0,0 +1,8 @@
1
+
2
+ // This icon file is generated automatically.
3
+
4
+ import { IconDefinition } from '../types';
5
+
6
+ const Monitor: 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":"M2 4.5a2.25 2.25 0 0 1 2.25-2.25h11.5A2.25 2.25 0 0 1 18 4.5v8.25A2.25 2.25 0 0 1 15.75 15h-5v1.75h2.75a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1 0-1.5h2.75V15h-5A2.25 2.25 0 0 1 2 12.75V4.5Zm2.25-.75a.75.75 0 0 0-.75.75v8.25c0 .414.336.75.75.75h11.5a.75.75 0 0 0 .75-.75V4.5a.75.75 0 0 0-.75-.75H4.25Z"},"children":[]}],"metadata":""}]},"name":"monitor"};
7
+
8
+ export default Monitor;
@@ -3,6 +3,6 @@
3
3
 
4
4
  import { IconDefinition } from '../types';
5
5
 
6
- const RicheditorCommentCreate: 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":"M14.257 19.27c.672 0 1.07-.473 1.07-1.211v-2.034h.333c2.399 0 3.843-1.436 3.843-3.91v-6.45c0-2.465-1.403-3.91-3.901-3.91H5.018c-2.49 0-3.901 1.445-3.901 3.91v6.45c0 2.466 1.41 3.91 3.901 3.91h4.997l2.847 2.507c.573.506.922.738 1.395.738Zm-.407-1.859-2.631-2.598c-.357-.365-.598-.448-1.104-.448H5.076c-1.552 0-2.307-.789-2.307-2.3v-6.35c0-1.51.755-2.299 2.307-2.299h10.476c1.56 0 2.3.789 2.3 2.3v6.35c0 1.51-.74 2.299-2.3 2.299H14.53c-.473 0-.68.19-.68.68v2.366ZM14 6.75a.75.75 0 0 0-.75-.75h-7.5a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 .75-.75ZM10.25 9a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5h4.5Z"},"children":[]}],"metadata":""}]},"name":"richeditor-comment-create"};
6
+ const RicheditorCommentCreate: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M6 7.75A.75.75 0 0 1 6.75 7h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 6 7.75ZM6.75 10a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Z"},"children":[]},{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","clipRule":"evenodd","d":"M2 5.75A2.75 2.75 0 0 1 4.75 3h10.5A2.75 2.75 0 0 1 18 5.75v7.5A2.75 2.75 0 0 1 15.25 16h-.75v1.75a.75.75 0 0 1-1.13.646L9.296 16H4.75A2.75 2.75 0 0 1 2 13.25v-7.5ZM4.75 4.5c-.69 0-1.25.56-1.25 1.25v7.5c0 .69.56 1.25 1.25 1.25H9.5c.134 0 .265.036.38.104L13 16.439V15.25a.75.75 0 0 1 .75-.75h1.5c.69 0 1.25-.56 1.25-1.25v-7.5c0-.69-.56-1.25-1.25-1.25H4.75Z"},"children":[]}],"metadata":""}]},"name":"richeditor-comment-create"};
7
7
 
8
8
  export default RicheditorCommentCreate;
@@ -0,0 +1,8 @@
1
+
2
+ // This icon file is generated automatically.
3
+
4
+ import { IconDefinition } from '../types';
5
+
6
+ const Success: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"fill":"none","viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"m12.267 7.325-3.575 3.583-1.375-1.375a.833.833 0 1 0-1.175 1.175L8.1 12.675a.834.834 0 0 0 1.175 0l4.167-4.167a.833.833 0 1 0-1.175-1.183ZM10 1.667a8.333 8.333 0 1 0 0 16.666 8.333 8.333 0 0 0 0-16.666Zm0 15a6.667 6.667 0 1 1 0-13.334 6.667 6.667 0 0 1 0 13.334Z"},"children":[]}],"metadata":""}]},"name":"success"};
7
+
8
+ export default Success;
@@ -0,0 +1,8 @@
1
+
2
+ // This icon file is generated automatically.
3
+
4
+ import { IconDefinition } from '../types';
5
+
6
+ const WarningTriangle: IconDefinition = {"icon":{"type":"root","children":[{"type":"element","tagName":"svg","properties":{"fill":"none","viewBox":"0 0 20 20"},"children":[{"type":"element","tagName":"path","properties":{"d":"M10 13.333A.833.833 0 1 0 10 15a.833.833 0 0 0 0-1.666Zm8.892 1.225L12.183 2.892a2.5 2.5 0 0 0-4.366 0L1.15 14.558a2.5 2.5 0 0 0 2.133 3.775h13.434a2.5 2.5 0 0 0 2.175-3.775Zm-1.442 1.667a.832.832 0 0 1-.733.425H3.283a.832.832 0 0 1-.733-.425.833.833 0 0 1 0-.833L9.217 3.725a.833.833 0 0 1 1.483 0l6.708 11.667a.834.834 0 0 1 .042.85v-.017ZM10 6.667a.833.833 0 0 0-.833.833v3.333a.833.833 0 0 0 1.666 0V7.5A.834.834 0 0 0 10 6.667Z"},"children":[]}],"metadata":""}]},"name":"warning-triangle"};
7
+
8
+ export default WarningTriangle;
@@ -43,7 +43,9 @@ export { default as Cards } from './Cards';
43
43
  export { default as CheckCircle } from './CheckCircle';
44
44
  export { default as Checked } from './Checked';
45
45
  export { default as ClearValue } from './ClearValue';
46
+ export { default as ClockAlarm } from './ClockAlarm';
46
47
  export { default as ClockForward } from './ClockForward';
48
+ export { default as Clock } from './Clock';
47
49
  export { default as Close } from './Close';
48
50
  export { default as ColorCodingFilled } from './ColorCodingFilled';
49
51
  export { default as ColorCoding } from './ColorCoding';
@@ -108,6 +110,7 @@ export { default as Milestones } from './Milestones';
108
110
  export { default as Minus } from './Minus';
109
111
  export { default as Miro } from './Miro';
110
112
  export { default as Mixpanel } from './Mixpanel';
113
+ export { default as Monitor } from './Monitor';
111
114
  export { default as MoreCompact } from './MoreCompact';
112
115
  export { default as More } from './More';
113
116
  export { default as MySpace } from './MySpace';
@@ -194,6 +197,7 @@ export { default as SortOnBottom } from './SortOnBottom';
194
197
  export { default as SortOnTop } from './SortOnTop';
195
198
  export { default as Sort } from './Sort';
196
199
  export { default as Spinner } from './Spinner';
200
+ export { default as Success } from './Success';
197
201
  export { default as Templates } from './Templates';
198
202
  export { default as Terminal } from './Terminal';
199
203
  export { default as Twitter } from './Twitter';
@@ -234,5 +238,6 @@ export { default as ViewPage } from './ViewPage';
234
238
  export { default as ViewTable } from './ViewTable';
235
239
  export { default as ViewTimeline } from './ViewTimeline';
236
240
  export { default as Views } from './Views';
241
+ export { default as WarningTriangle } from './WarningTriangle';
237
242
  export { default as Warning } from './Warning';
238
243
  export { default as Youtube } from './Youtube';
@@ -0,0 +1,12 @@
1
+ // This icon file is generated automatically.
2
+
3
+ import ClockSvg from '../ast/Clock';
4
+ import { Icon } from '../Icon';
5
+ import { IconBaseProps } from '../types';
6
+
7
+ const Clock = (
8
+ props: IconBaseProps,
9
+ ): JSX.Element => <Icon {...props} icon={ClockSvg} />;
10
+
11
+ Clock.displayName = 'Clock';
12
+ export default Clock;
@@ -0,0 +1,12 @@
1
+ // This icon file is generated automatically.
2
+
3
+ import ClockAlarmSvg from '../ast/ClockAlarm';
4
+ import { Icon } from '../Icon';
5
+ import { IconBaseProps } from '../types';
6
+
7
+ const ClockAlarm = (
8
+ props: IconBaseProps,
9
+ ): JSX.Element => <Icon {...props} icon={ClockAlarmSvg} />;
10
+
11
+ ClockAlarm.displayName = 'ClockAlarm';
12
+ export default ClockAlarm;
@@ -0,0 +1,12 @@
1
+ // This icon file is generated automatically.
2
+
3
+ import MonitorSvg from '../ast/Monitor';
4
+ import { Icon } from '../Icon';
5
+ import { IconBaseProps } from '../types';
6
+
7
+ const Monitor = (
8
+ props: IconBaseProps,
9
+ ): JSX.Element => <Icon {...props} icon={MonitorSvg} />;
10
+
11
+ Monitor.displayName = 'Monitor';
12
+ export default Monitor;
@@ -0,0 +1,12 @@
1
+ // This icon file is generated automatically.
2
+
3
+ import SuccessSvg from '../ast/Success';
4
+ import { Icon } from '../Icon';
5
+ import { IconBaseProps } from '../types';
6
+
7
+ const Success = (
8
+ props: IconBaseProps,
9
+ ): JSX.Element => <Icon {...props} icon={SuccessSvg} />;
10
+
11
+ Success.displayName = 'Success';
12
+ export default Success;
@@ -0,0 +1,12 @@
1
+ // This icon file is generated automatically.
2
+
3
+ import WarningTriangleSvg from '../ast/WarningTriangle';
4
+ import { Icon } from '../Icon';
5
+ import { IconBaseProps } from '../types';
6
+
7
+ const WarningTriangle = (
8
+ props: IconBaseProps,
9
+ ): JSX.Element => <Icon {...props} icon={WarningTriangleSvg} />;
10
+
11
+ WarningTriangle.displayName = 'WarningTriangle';
12
+ export default WarningTriangle;
@@ -43,7 +43,9 @@ export { default as Cards } from './Cards';
43
43
  export { default as CheckCircle } from './CheckCircle';
44
44
  export { default as Checked } from './Checked';
45
45
  export { default as ClearValue } from './ClearValue';
46
+ export { default as ClockAlarm } from './ClockAlarm';
46
47
  export { default as ClockForward } from './ClockForward';
48
+ export { default as Clock } from './Clock';
47
49
  export { default as Close } from './Close';
48
50
  export { default as ColorCodingFilled } from './ColorCodingFilled';
49
51
  export { default as ColorCoding } from './ColorCoding';
@@ -108,6 +110,7 @@ export { default as Milestones } from './Milestones';
108
110
  export { default as Minus } from './Minus';
109
111
  export { default as Miro } from './Miro';
110
112
  export { default as Mixpanel } from './Mixpanel';
113
+ export { default as Monitor } from './Monitor';
111
114
  export { default as MoreCompact } from './MoreCompact';
112
115
  export { default as More } from './More';
113
116
  export { default as MySpace } from './MySpace';
@@ -194,6 +197,7 @@ export { default as SortOnBottom } from './SortOnBottom';
194
197
  export { default as SortOnTop } from './SortOnTop';
195
198
  export { default as Sort } from './Sort';
196
199
  export { default as Spinner } from './Spinner';
200
+ export { default as Success } from './Success';
197
201
  export { default as Templates } from './Templates';
198
202
  export { default as Terminal } from './Terminal';
199
203
  export { default as Twitter } from './Twitter';
@@ -234,5 +238,6 @@ export { default as ViewPage } from './ViewPage';
234
238
  export { default as ViewTable } from './ViewTable';
235
239
  export { default as ViewTimeline } from './ViewTimeline';
236
240
  export { default as Views } from './Views';
241
+ export { default as WarningTriangle } from './WarningTriangle';
237
242
  export { default as Warning } from './Warning';
238
243
  export { default as Youtube } from './Youtube';
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import RemoveIcon from "../../icons/react/Remove";
3
3
  import {ClearIndicatorProps, GroupBase, MultiValueRemoveProps} from "react-select";
4
- import {Button} from "../../Button/button";
4
+ import {Button} from "../../button/button";
5
5
 
6
6
  export function ClearIndicator<
7
7
  TOption,
@@ -0,0 +1,65 @@
1
+ import {OptionProps} from "react-select";
2
+ import {components} from "react-windowed-select";
3
+ import {GroupBase} from "../index";
4
+ import {css} from "@linaria/core";
5
+ import {layout, space} from "../../design-system";
6
+ import {ListItemGeneral} from "../../lists/list-item-general";
7
+ import cn from "classnames";
8
+
9
+ export const OptionNulledVitualizedStyles = {
10
+ height: layout.newMenuItemHeight,
11
+ };
12
+ export const OptionNulledStyles = {
13
+ minHeight: layout.newMenuItemHeight,
14
+ paddingLeft: "",
15
+ paddingRight: "",
16
+ paddingTop: "",
17
+ opacity: "",
18
+ fontFamily: "",
19
+ fontSize: "",
20
+ lineHeight: "",
21
+ color: "",
22
+ };
23
+ const OptionRootClass = css`
24
+ padding: 0 ${space.s}px;
25
+ display: flex;
26
+ align-items: stretch;
27
+ justify-content: stretch;
28
+ cursor: pointer;
29
+ `;
30
+
31
+ /**
32
+ * Attention! Do not use this option for potentially long lists inside React Select
33
+ * Why is this option slow? Read here https://the.fibery.io/SoftDev/bug/Select-option-behaviour-is-incorrect-9413
34
+ * */
35
+ export function OptionSlow<
36
+ Option,
37
+ IsMulti extends boolean = false,
38
+ Group extends GroupBase<Option> = GroupBase<Option>
39
+ >({children, ...rest}: OptionProps<Option, IsMulti, Group>) {
40
+ const {isDisabled, isSelected, isFocused} = rest;
41
+ return (
42
+ <components.Option {...rest} className={cn(rest.className, OptionRootClass)}>
43
+ <ListItemGeneral focused={isFocused} selected={isSelected} hovered={false} done={isDisabled}>
44
+ {children}
45
+ </ListItemGeneral>
46
+ </components.Option>
47
+ );
48
+ }
49
+
50
+ /**
51
+ * This option is fast when there is 100+ items but breaks natural focus on hover React Select behaviour. Do not use it for short lists
52
+ * The issue is here https://the.fibery.io/SoftDev/bug/Select-option-behaviour-is-incorrect-9413
53
+ */
54
+ export function Option<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>({
55
+ children,
56
+ ...rest
57
+ }: OptionProps<Option, IsMulti, Group>) {
58
+ /**
59
+ * This makes this option component fast
60
+ */
61
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
62
+ const {onMouseOver, onMouseMove, ...truncatedInnerProps} = rest.innerProps;
63
+ const props = Object.assign(rest, {innerProps: truncatedInnerProps});
64
+ return <OptionSlow {...props}>{children}</OptionSlow>;
65
+ }