@ssa-ui-kit/core 2.28.2 → 2.29.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.
@@ -7,6 +7,7 @@ export declare const DaysViewCell: import("@emotion/styled").StyledComponent<{
7
7
  alignItems?: string;
8
8
  fade?: boolean;
9
9
  fadeDelay?: number;
10
+ isVisible?: boolean;
10
11
  } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
11
12
  theme?: import("@emotion/react").Theme;
12
13
  } & {
@@ -7,6 +7,7 @@ export declare const DatesListWrapper: import("@emotion/styled").StyledComponent
7
7
  alignItems?: string;
8
8
  fade?: boolean;
9
9
  fadeDelay?: number;
10
+ isVisible?: boolean;
10
11
  } & import("../../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
11
12
  theme?: import("@emotion/react").Theme;
12
13
  }, {}, {}>;
@@ -7,6 +7,7 @@ export declare const DaysViewCell: import("@emotion/styled").StyledComponent<{
7
7
  alignItems?: string;
8
8
  fade?: boolean;
9
9
  fadeDelay?: number;
10
+ isVisible?: boolean;
10
11
  } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
11
12
  theme?: import("@emotion/react").Theme;
12
13
  } & {
@@ -42,6 +43,7 @@ export declare const TriggerWrapper: import("@emotion/styled").StyledComponent<{
42
43
  alignItems?: string;
43
44
  fade?: boolean;
44
45
  fadeDelay?: number;
46
+ isVisible?: boolean;
45
47
  } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
46
48
  theme?: import("@emotion/react").Theme;
47
49
  }, {}, {}>;
@@ -1,4 +1,4 @@
1
1
  import { DropdownOptionProps } from '../DropdownOptions/types';
2
2
  import { DropdownProps } from './types';
3
- declare const Dropdown: <T extends DropdownOptionProps>({ selectedItem, isDisabled, isOpen: isInitOpen, children, onChange: handleChange, className, placeholder, }: DropdownProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ declare const Dropdown: <T extends DropdownOptionProps>({ selectedItem, isDisabled, isOpen: isInitOpen, children, onChange: handleChange, className, placeholder, dropdownProps: componentProps, }: DropdownProps<T>) => import("@emotion/react/jsx-runtime").JSX.Element;
4
4
  export default Dropdown;
@@ -1,5 +1,8 @@
1
+ import React from 'react';
1
2
  import { DropdownOptionProps } from '../DropdownOptions';
2
3
  import { CommonProps } from '../../types/emotion';
4
+ import { IconProps } from '../Icon/types';
5
+ export type ControlledButtonProps = 'onClick' | 'onFocus' | 'disabled' | 'type' | 'role' | 'aria-expanded' | 'aria-haspopup' | 'aria-labelledby' | 'aria-controls' | 'children';
3
6
  export interface DropdownProps<P extends DropdownOptionProps> extends CommonProps {
4
7
  selectedItem?: P;
5
8
  onChange?: (item: P) => void;
@@ -8,6 +11,11 @@ export interface DropdownProps<P extends DropdownOptionProps> extends CommonProp
8
11
  children?: React.ReactNode;
9
12
  className?: string;
10
13
  isOpen?: boolean;
14
+ dropdownProps?: {
15
+ base?: React.HTMLAttributes<HTMLDivElement>;
16
+ toggleButton?: Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, ControlledButtonProps>;
17
+ toggleButtonArrow?: Omit<IconProps, 'name' | 'size'>;
18
+ };
11
19
  }
12
20
  export interface DropdownContextType {
13
21
  onChange: (item?: string) => void;
@@ -3,7 +3,8 @@ export declare const DropdownArrowBase: import("@emotion/styled").StyledComponen
3
3
  theme?: import("@emotion/react").Theme;
4
4
  as?: React.ElementType;
5
5
  } & CommonProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
- declare const DropdownArrow: ({ isUp }: {
6
+ interface DropdownArrowProps extends CommonProps {
7
7
  isUp: boolean;
8
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
8
+ }
9
+ declare const DropdownArrow: ({ isUp, ...restProps }: DropdownArrowProps) => import("@emotion/react/jsx-runtime").JSX.Element;
9
10
  export default DropdownArrow;
@@ -2,6 +2,6 @@ import { DropdownToggleProps } from './types';
2
2
  export declare const DropdownToggleBase: import("@emotion/styled").StyledComponent<{
3
3
  theme?: import("@emotion/react").Theme;
4
4
  as?: React.ElementType;
5
- } & Pick<DropdownToggleProps, "colors" | "disabled" | "isOpen" | "isMultiple" | "selectedCount">, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
6
- declare const DropdownToggle: ({ onClick, onFocus, isOpen, isMultiple, selectedCount, disabled, children, ariaLabelledby, ariaControls, colors, className, }: DropdownToggleProps) => import("@emotion/react/jsx-runtime").JSX.Element;
5
+ } & Pick<DropdownToggleProps, "colors" | "disabled" | "isMultiple" | "isOpen" | "selectedCount">, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
6
+ declare const DropdownToggle: ({ onClick, onFocus, isOpen, isMultiple, selectedCount, disabled, children, ariaLabelledby, ariaControls, colors, className, ...restProps }: DropdownToggleProps) => import("@emotion/react/jsx-runtime").JSX.Element;
7
7
  export default DropdownToggle;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Theme } from '@emotion/react';
3
3
  import { CommonProps } from '../../types/emotion';
4
- export interface DropdownToggleProps extends CommonProps {
4
+ import { ControlledButtonProps } from '../Dropdown/types';
5
+ export interface DropdownToggleProps extends CommonProps, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, ControlledButtonProps> {
5
6
  onClick: (e: React.MouseEvent<HTMLElement>) => void;
6
7
  onFocus: (e: React.FocusEvent<HTMLButtonElement, Element>) => void;
7
8
  isOpen: boolean;
@@ -7,6 +7,7 @@ export declare const FilterBlockWrapper: import("@emotion/styled").StyledCompone
7
7
  alignItems?: string;
8
8
  fade?: boolean;
9
9
  fadeDelay?: number;
10
+ isVisible?: boolean;
10
11
  } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
11
12
  theme?: import("@emotion/react").Theme;
12
13
  }, {}, {}>;
@@ -1,3 +1,3 @@
1
1
  import { TagsProps } from './types';
2
- declare const Tag: ({ color, size, className, children, }: TagsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ declare const Tag: ({ color, size, className, children, customStyles, }: TagsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
3
  export default Tag;
@@ -1,6 +1,15 @@
1
1
  import { CommonProps } from '../../types/emotion';
2
+ import { Interpolation, Theme } from '@emotion/react';
3
+ export interface CustomTagStyles {
4
+ color?: string;
5
+ background?: string;
6
+ border?: string;
7
+ boxShadow?: string;
8
+ css?: Interpolation<Theme>;
9
+ }
2
10
  export interface TagsProps extends CommonProps {
3
11
  color?: keyof MainColors;
4
12
  size?: keyof MainSizes;
5
13
  children: React.ReactNode;
14
+ customStyles?: CustomTagStyles;
6
15
  }
@@ -36,6 +36,7 @@ export declare const TypeaheadInputsGroupWrapper: import("@emotion/styled").Styl
36
36
  alignItems?: string;
37
37
  fade?: boolean;
38
38
  fadeDelay?: number;
39
+ isVisible?: boolean;
39
40
  } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
40
41
  theme?: Theme;
41
42
  } & {
@@ -1,2 +1,2 @@
1
1
  import { UserProfileProps } from './types';
2
- export declare const UserProfile: ({ name, email, trigger, onClick, logOutText, className, }: UserProfileProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export declare const UserProfile: ({ name, email, trigger, onClick, logOutText, className, additionalInfo, customContent, }: UserProfileProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -4,3 +4,29 @@ export declare const ContentWrapper: (theme: Theme) => import("@emotion/react").
4
4
  export declare const UserInfo: import("@emotion/react").SerializedStyles;
5
5
  export declare const LogoutWrapper: (theme: Theme) => import("@emotion/react").SerializedStyles;
6
6
  export declare const CustomButton: import("@emotion/react").SerializedStyles;
7
+ export declare const AdditionalInfoWrapper: import("@emotion/styled").StyledComponent<{
8
+ theme?: Theme;
9
+ as?: React.ElementType;
10
+ } & {
11
+ avatarSize?: number;
12
+ direction?: string;
13
+ alignItems?: string;
14
+ fade?: boolean;
15
+ fadeDelay?: number;
16
+ isVisible?: boolean;
17
+ } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
18
+ theme?: Theme;
19
+ }, {}, {}>;
20
+ export declare const CustomContentWrapper: import("@emotion/styled").StyledComponent<{
21
+ theme?: Theme;
22
+ as?: React.ElementType;
23
+ } & {
24
+ avatarSize?: number;
25
+ direction?: string;
26
+ alignItems?: string;
27
+ fade?: boolean;
28
+ fadeDelay?: number;
29
+ isVisible?: boolean;
30
+ } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
31
+ theme?: Theme;
32
+ }, {}, {}>;
@@ -1,3 +1,4 @@
1
+ import { ReactNode } from 'react';
1
2
  export interface UserProfileProps {
2
3
  name: string;
3
4
  email: string;
@@ -5,4 +6,6 @@ export interface UserProfileProps {
5
6
  onClick: () => void;
6
7
  logOutText?: string;
7
8
  className?: string;
9
+ additionalInfo?: ReactNode[];
10
+ customContent?: ReactNode;
8
11
  }
@@ -8,5 +8,6 @@ declare const Wrapper: import("@emotion/styled").StyledComponent<{
8
8
  alignItems?: string;
9
9
  fade?: boolean;
10
10
  fadeDelay?: number;
11
+ isVisible?: boolean;
11
12
  } & CommonProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
13
  export default Wrapper;
package/dist/index.js CHANGED
@@ -1481,21 +1481,26 @@ const Wrapper = /*#__PURE__*/base_default()("div", true ? {
1481
1481
  }) => alignItems ? alignItems : 'center', ";width:100%;flex-direction:", ({
1482
1482
  direction
1483
1483
  }) => direction ? direction : 'row', ";", ({
1484
+ isVisible = true,
1484
1485
  fade,
1485
1486
  fadeDelay = 0.3
1486
- }) => fade && `
1487
- opacity: 0;
1488
- animation: fadeInOut ${fadeDelay}s ease-in-out forwards;
1489
-
1490
- @keyframes fadeInOut {
1491
- 0% {
1492
- opacity: 0;
1493
- }
1494
- 100% {
1495
- opacity: 1;
1496
- }
1497
- }
1498
- `, ";" + ( true ? "" : 0));
1487
+ }) => {
1488
+ const baseStyles = `
1489
+ opacity: ${isVisible ? 1 : 0};
1490
+ `;
1491
+ if (fade) {
1492
+ return `
1493
+ ${baseStyles}
1494
+ transition: opacity ${fadeDelay}s ease-in-out, visibility ${fadeDelay}s ease-in-out;
1495
+ visibility: ${isVisible ? 'visible' : 'hidden'};
1496
+ ${!isVisible ? `transition-delay: 0s, ${fadeDelay}s;` : ''}
1497
+ `;
1498
+ }
1499
+ return `
1500
+ ${baseStyles}
1501
+ visibility: ${isVisible ? 'visible' : 'hidden'};
1502
+ `;
1503
+ }, ";" + ( true ? "" : 0));
1499
1504
  /* harmony default export */ const Wrapper_Wrapper = (Wrapper);
1500
1505
  ;// ./src/components/Button/ButtonBase.tsx
1501
1506
 
@@ -4640,8 +4645,10 @@ const DropdownToggle = ({
4640
4645
  ariaLabelledby,
4641
4646
  ariaControls,
4642
4647
  colors,
4643
- className
4648
+ className,
4649
+ ...restProps
4644
4650
  }) => (0,jsx_runtime_namespaceObject.jsx)(DropdownToggleBase, {
4651
+ ...restProps,
4645
4652
  className: className,
4646
4653
  colors: colors,
4647
4654
  isOpen: isOpen,
@@ -4677,9 +4684,11 @@ const DropdownArrowBase = /*#__PURE__*/base_default()("div", true ? {
4677
4684
  styles: "display:flex;align-items:center"
4678
4685
  } : 0);
4679
4686
  const DropdownArrow = ({
4680
- isUp
4687
+ isUp,
4688
+ ...restProps
4681
4689
  }) => (0,jsx_runtime_namespaceObject.jsx)(DropdownArrowBase, {
4682
4690
  children: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
4691
+ ...restProps,
4683
4692
  name: `carrot-${isUp ? 'up' : 'down'}`,
4684
4693
  size: 12
4685
4694
  })
@@ -4826,7 +4835,8 @@ const Dropdown = ({
4826
4835
  children,
4827
4836
  onChange: handleChange,
4828
4837
  className,
4829
- placeholder = 'Select something'
4838
+ placeholder = 'Select something',
4839
+ dropdownProps: componentProps
4830
4840
  }) => {
4831
4841
  const theme = (0,react_namespaceObject.useTheme)();
4832
4842
  const dropdownRef = (0,external_react_namespaceObject.useRef)(null);
@@ -4885,9 +4895,11 @@ const Dropdown = ({
4885
4895
  return (0,jsx_runtime_namespaceObject.jsx)(Dropdown_context.Provider, {
4886
4896
  value: contextValue,
4887
4897
  children: (0,jsx_runtime_namespaceObject.jsxs)(DropdownBase, {
4898
+ ...componentProps?.base,
4888
4899
  ref: dropdownRef,
4889
4900
  "data-testid": "dropdown",
4890
4901
  children: [(0,jsx_runtime_namespaceObject.jsxs)(DropdownToggle_DropdownToggle, {
4902
+ ...componentProps?.toggleButton,
4891
4903
  className: className,
4892
4904
  isOpen: isOpen,
4893
4905
  disabled: isDisabled,
@@ -4897,6 +4909,7 @@ const Dropdown = ({
4897
4909
  ariaLabelledby: `dropdown-label-${dropdownId}`,
4898
4910
  ariaControls: `dropdown-popup-${dropdownId}`,
4899
4911
  children: [value, (0,jsx_runtime_namespaceObject.jsx)(DropdownArrow_DropdownArrow, {
4912
+ ...componentProps?.toggleButtonArrow,
4900
4913
  isUp: isOpen
4901
4914
  })]
4902
4915
  }), isOpen ? (0,jsx_runtime_namespaceObject.jsx)(DropdownOptions_DropdownOptions, {
@@ -8041,6 +8054,7 @@ const styles_blueLight = theme => /*#__PURE__*/(0,react_namespaceObject.css)("co
8041
8054
 
8042
8055
 
8043
8056
 
8057
+
8044
8058
  const Tag_mapColors = {
8045
8059
  pink: [styles_pink, pinkBorder],
8046
8060
  yellow: [styles_yellow, yellowBorder],
@@ -8051,18 +8065,29 @@ const Tag_mapColors = {
8051
8065
  blue: [styles_blue, blueBorder],
8052
8066
  yellowWarm: [styles_yellowWarm, yellowWarmBorder]
8053
8067
  };
8068
+ const createCustomStyles = customStyles => {
8069
+ if (!customStyles) return [];
8070
+ const styles = [/*#__PURE__*/(0,react_namespaceObject.css)(customStyles.color && `color: ${customStyles.color};`, " ", customStyles.background && `background: ${customStyles.background};`, " ", customStyles.border && `border: ${customStyles.border};`, " ", customStyles.boxShadow && `box-shadow: ${customStyles.boxShadow};`, ";" + ( true ? "" : 0), true ? "" : 0)];
8071
+ return customStyles.css ? [styles, customStyles.css] : [styles];
8072
+ };
8054
8073
  const Tag = ({
8055
8074
  color = 'purple',
8056
8075
  size = 'medium',
8057
8076
  className,
8058
- children
8059
- }) => (0,jsx_runtime_namespaceObject.jsx)(Badge_Badge, {
8060
- color: color,
8061
- size: size,
8062
- css: Tag_mapColors[color],
8063
- className: className,
8064
- children: children
8065
- });
8077
+ children,
8078
+ customStyles
8079
+ }) => {
8080
+ const hasCustomStyles = customStyles && Object.keys(customStyles).length > 0;
8081
+ const defaultStyles = hasCustomStyles ? null : Tag_mapColors[color];
8082
+ const customStylesArray = createCustomStyles(customStyles);
8083
+ return (0,jsx_runtime_namespaceObject.jsx)(Badge_Badge, {
8084
+ color: hasCustomStyles ? 'transparent' : color,
8085
+ size: size,
8086
+ css: [defaultStyles, ...(customStylesArray || []), true ? "" : 0],
8087
+ className: className,
8088
+ children: children
8089
+ });
8090
+ };
8066
8091
  /* harmony default export */ const Tag_Tag = (Tag);
8067
8092
  ;// ./src/components/Textarea/TextareaBase.tsx
8068
8093
 
@@ -19721,22 +19746,36 @@ const highlightInputMatch = (item, keyword) => {
19721
19746
 
19722
19747
 
19723
19748
  ;// ./src/components/UserProfile/styles.ts
19749
+
19724
19750
  function UserProfile_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
19725
19751
 
19752
+
19726
19753
  const styles_ResetBtnStyles = true ? {
19727
19754
  name: "2hrei",
19728
19755
  styles: "padding:0;height:auto;background:none;&:focus,&:hover{border:none;background:none;box-shadow:none;&::before{border:none;}}"
19729
19756
  } : 0;
19730
- const styles_ContentWrapper = theme => /*#__PURE__*/(0,react_namespaceObject.css)("width:224px;background:", theme.colors.greyPopoverLight, ";border-radius:20px;box-shadow:0px 4px 15px 0px ", theme.colors.black25, ";" + ( true ? "" : 0), true ? "" : 0);
19757
+ const styles_ContentWrapper = theme => /*#__PURE__*/(0,react_namespaceObject.css)("width:224px;background:", theme.colors.greyPopoverLight, ";border-radius:20px;box-shadow:0 4px 15px 0 ", theme.colors.black25, ";" + ( true ? "" : 0), true ? "" : 0);
19731
19758
  const UserInfo = true ? {
19732
19759
  name: "fwy071",
19733
19760
  styles: "gap:2px;width:100%;padding:10px"
19734
19761
  } : 0;
19735
- const LogoutWrapper = theme => /*#__PURE__*/(0,react_namespaceObject.css)("width:100%;padding:10px 10px 18px 10px;border-top:0.4px solid ", theme.colors.greyGraphite70, ";" + ( true ? "" : 0), true ? "" : 0);
19762
+ const LogoutWrapper = theme => /*#__PURE__*/(0,react_namespaceObject.css)("width:100%;padding:10px 10px 18px 10px;border-top:0.5px solid ", theme.colors.greyGraphite70, ";" + ( true ? "" : 0), true ? "" : 0);
19736
19763
  const CustomButton = true ? {
19737
19764
  name: "1t1u438",
19738
19765
  styles: "justify-content:center;gap:8px;width:100%;padding:8px;font-size:14px;line-height:19px;font-weight:500"
19739
19766
  } : 0;
19767
+ const AdditionalInfoWrapper = /*#__PURE__*/base_default()(Wrapper_Wrapper, true ? {
19768
+ target: "e13e77x11"
19769
+ } : 0)("flex-direction:column;align-items:flex-start;margin-top:4px;font-size:14px;font-weight:400;color:", ({
19770
+ theme
19771
+ }) => theme.colors.greyDropdownFocused, ";" + ( true ? "" : 0));
19772
+ const CustomContentWrapper = /*#__PURE__*/base_default()(Wrapper_Wrapper, true ? {
19773
+ target: "e13e77x10"
19774
+ } : 0)("width:100%;padding:10px;border-top:0.5px solid ", ({
19775
+ theme
19776
+ }) => theme.colors.greyGraphite70, ";border-bottom:0.5px solid ", ({
19777
+ theme
19778
+ }) => theme.colors.greyGraphite70, ";" + ( true ? "" : 0));
19740
19779
  ;// ./src/components/UserProfile/UserProfile.tsx
19741
19780
  function UserProfile_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
19742
19781
 
@@ -19755,7 +19794,9 @@ const UserProfile = ({
19755
19794
  trigger,
19756
19795
  onClick,
19757
19796
  logOutText = 'Log Out',
19758
- className
19797
+ className,
19798
+ additionalInfo,
19799
+ customContent
19759
19800
  }) => {
19760
19801
  const theme = (0,react_namespaceObject.useTheme)();
19761
19802
  return (0,jsx_runtime_namespaceObject.jsxs)(Popover, {
@@ -19778,7 +19819,13 @@ const UserProfile = ({
19778
19819
  weight: "regular",
19779
19820
  color: theme.colors.greyDropdownFocused,
19780
19821
  children: email
19822
+ }), additionalInfo && additionalInfo.length > 0 && (0,jsx_runtime_namespaceObject.jsx)(AdditionalInfoWrapper, {
19823
+ children: additionalInfo.map((item, index) => (0,jsx_runtime_namespaceObject.jsx)("div", {
19824
+ children: item
19825
+ }, index))
19781
19826
  })]
19827
+ }), customContent && (0,jsx_runtime_namespaceObject.jsx)(CustomContentWrapper, {
19828
+ children: customContent
19782
19829
  }), (0,jsx_runtime_namespaceObject.jsx)("div", {
19783
19830
  css: LogoutWrapper,
19784
19831
  children: (0,jsx_runtime_namespaceObject.jsxs)(Button_Button, {