@ssa-ui-kit/core 2.0.0-canary-1cc9a72-20250305 → 2.1.0-canary-afe713f-20250306

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 (32) hide show
  1. package/dist/components/Badge/Badge.d.ts +1 -1
  2. package/dist/components/Button/fixtures.d.ts +8 -8
  3. package/dist/components/Charts/PieChart/PieChartLegendMarker.d.ts +1 -1
  4. package/dist/components/Field/FieldControl.d.ts +7 -0
  5. package/dist/components/Field/FieldDescription.d.ts +4 -0
  6. package/dist/components/Field/FieldError.d.ts +4 -0
  7. package/dist/components/Field/FieldLabel.d.ts +5 -0
  8. package/dist/components/Field/FieldProvider.d.ts +12 -0
  9. package/dist/components/Field/FieldRoot.d.ts +6 -0
  10. package/dist/components/Field/FieldSuccess.d.ts +4 -0
  11. package/dist/components/Field/index.d.ts +5 -0
  12. package/dist/components/Field/index.parts.d.ts +6 -0
  13. package/dist/components/FiltersMultiSelect/FiltersMultiSelect.d.ts +24 -0
  14. package/dist/components/FiltersMultiSelect/FiltersMultiSelectProvider.d.ts +9 -0
  15. package/dist/components/FiltersMultiSelect/components/FilterBadge.d.ts +11 -0
  16. package/dist/components/FiltersMultiSelect/components/FiltersMultiSelectEmpty.d.ts +5 -0
  17. package/dist/components/FiltersMultiSelect/components/FiltersMultiSelectOption.d.ts +7 -0
  18. package/dist/components/FiltersMultiSelect/components/FiltersMultiSelectOptions.d.ts +4 -0
  19. package/dist/components/FiltersMultiSelect/index.d.ts +5 -0
  20. package/dist/components/FiltersMultiSelect/useFiltersMultiSelect.d.ts +32 -0
  21. package/dist/components/Icon/icons/CheckCircleInverted.d.ts +3 -0
  22. package/dist/components/Icon/icons/MinusCircle.d.ts +3 -0
  23. package/dist/components/Icon/icons/MinusCircleInverted.d.ts +3 -0
  24. package/dist/components/Icon/icons/PlusCircle.d.ts +3 -0
  25. package/dist/components/Icon/icons/PlusCircleInverted.d.ts +3 -0
  26. package/dist/components/Icon/icons/all.d.ts +5 -0
  27. package/dist/components/Icon/icons/iconsList.d.ts +1 -1
  28. package/dist/components/index.d.ts +2 -0
  29. package/dist/index.js +918 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/types/emotion.d.ts +8 -0
  32. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { BadgeProps } from './types';
3
- declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
3
+ declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<React.HTMLProps<HTMLDivElement>, "size"> & BadgeProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
4
  export default Badge;
@@ -10,7 +10,7 @@ export declare const secondaryBtnSpecs: {
10
10
  variant: ButtonProps["variant"];
11
11
  text?: string | undefined;
12
12
  size?: keyof MainSizes | undefined;
13
- children?: import("react").ReactNode;
13
+ type?: "button" | "reset" | "submit" | undefined;
14
14
  className?: string | undefined;
15
15
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
16
16
  "aria-describedby"?: string | undefined | undefined;
@@ -18,11 +18,11 @@ export declare const secondaryBtnSpecs: {
18
18
  "aria-label"?: string | undefined | undefined;
19
19
  "aria-labelledby"?: string | undefined | undefined;
20
20
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
21
+ children?: import("react").ReactNode;
21
22
  onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
22
23
  block?: boolean | undefined;
23
24
  startIconClassName?: string | undefined;
24
25
  endIconClassName?: string | undefined;
25
- type?: "button" | "reset" | "submit" | undefined;
26
26
  disabled?: boolean;
27
27
  startIcon?: React.ComponentProps<typeof Icon>["name"];
28
28
  endIcon?: React.ComponentProps<typeof Icon>["name"];
@@ -31,7 +31,7 @@ export declare const tertiaryBtnSpecs: {
31
31
  variant: ButtonProps["variant"];
32
32
  text?: string | undefined;
33
33
  size?: keyof MainSizes | undefined;
34
- children?: import("react").ReactNode;
34
+ type?: "button" | "reset" | "submit" | undefined;
35
35
  className?: string | undefined;
36
36
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
37
37
  "aria-describedby"?: string | undefined | undefined;
@@ -39,11 +39,11 @@ export declare const tertiaryBtnSpecs: {
39
39
  "aria-label"?: string | undefined | undefined;
40
40
  "aria-labelledby"?: string | undefined | undefined;
41
41
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
42
+ children?: import("react").ReactNode;
42
43
  onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
43
44
  block?: boolean | undefined;
44
45
  startIconClassName?: string | undefined;
45
46
  endIconClassName?: string | undefined;
46
- type?: "button" | "reset" | "submit" | undefined;
47
47
  disabled?: boolean;
48
48
  startIcon?: React.ComponentProps<typeof Icon>["name"];
49
49
  endIcon?: React.ComponentProps<typeof Icon>["name"];
@@ -52,7 +52,7 @@ export declare const infoBtnSpecs: {
52
52
  variant: ButtonProps["variant"];
53
53
  text?: string | undefined;
54
54
  size?: keyof MainSizes | undefined;
55
- children?: import("react").ReactNode;
55
+ type?: "button" | "reset" | "submit" | undefined;
56
56
  className?: string | undefined;
57
57
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
58
58
  "aria-describedby"?: string | undefined | undefined;
@@ -60,11 +60,11 @@ export declare const infoBtnSpecs: {
60
60
  "aria-label"?: string | undefined | undefined;
61
61
  "aria-labelledby"?: string | undefined | undefined;
62
62
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
63
+ children?: import("react").ReactNode;
63
64
  onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
64
65
  block?: boolean | undefined;
65
66
  startIconClassName?: string | undefined;
66
67
  endIconClassName?: string | undefined;
67
- type?: "button" | "reset" | "submit" | undefined;
68
68
  disabled?: boolean;
69
69
  startIcon?: React.ComponentProps<typeof Icon>["name"];
70
70
  endIcon?: React.ComponentProps<typeof Icon>["name"];
@@ -73,7 +73,7 @@ export declare const attentionBtnSpecs: {
73
73
  variant: ButtonProps["variant"];
74
74
  text?: string | undefined;
75
75
  size?: keyof MainSizes | undefined;
76
- children?: import("react").ReactNode;
76
+ type?: "button" | "reset" | "submit" | undefined;
77
77
  className?: string | undefined;
78
78
  "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
79
79
  "aria-describedby"?: string | undefined | undefined;
@@ -81,11 +81,11 @@ export declare const attentionBtnSpecs: {
81
81
  "aria-label"?: string | undefined | undefined;
82
82
  "aria-labelledby"?: string | undefined | undefined;
83
83
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
84
+ children?: import("react").ReactNode;
84
85
  onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
85
86
  block?: boolean | undefined;
86
87
  startIconClassName?: string | undefined;
87
88
  endIconClassName?: string | undefined;
88
- type?: "button" | "reset" | "submit" | undefined;
89
89
  disabled?: boolean;
90
90
  startIcon?: React.ComponentProps<typeof Icon>["name"];
91
91
  endIcon?: React.ComponentProps<typeof Icon>["name"];
@@ -1,4 +1,4 @@
1
- export declare const PieChartLegendMarker: import("@emotion/styled").StyledComponent<import("../../Badge/types").BadgeProps & import("react").RefAttributes<HTMLDivElement> & {
1
+ export declare const PieChartLegendMarker: import("@emotion/styled").StyledComponent<Omit<Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & import("../../Badge/types").BadgeProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
2
2
  theme?: import("@emotion/react").Theme;
3
3
  } & {
4
4
  background?: string;
@@ -0,0 +1,7 @@
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { FieldContextValue } from './FieldProvider';
3
+ export interface FieldControlProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ controlRef?: React.RefObject<HTMLElement>;
5
+ children: React.ReactNode | ((props: FieldContextValue) => React.ReactNode);
6
+ }
7
+ export declare const FieldControl: React.ForwardRefExoticComponent<FieldControlProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,4 @@
1
+ export interface FieldDescriptionProps {
2
+ children: React.ReactNode;
3
+ }
4
+ export declare const FieldDescription: ({ children }: FieldDescriptionProps) => import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,4 @@
1
+ export interface FieldErrorProps {
2
+ children: React.ReactNode;
3
+ }
4
+ export declare const FieldError: ({ children }: FieldErrorProps) => import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ import { LabelProps } from '../Label/types';
2
+ export interface FieldLabelProps extends LabelProps {
3
+ children: React.ReactNode;
4
+ }
5
+ export declare const FieldLabel: ({ children, ...props }: FieldLabelProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ export interface FieldContextValue {
2
+ status: 'error' | 'success' | 'basic';
3
+ disabled: boolean;
4
+ /**
5
+ * If true, ReactElement children will be focused if FieldControl is clicked.
6
+ */
7
+ forwardFocus: boolean;
8
+ }
9
+ export declare const FieldProvider: ({ children, value, }: {
10
+ value: FieldContextValue;
11
+ children: React.ReactNode;
12
+ }) => import("react").FunctionComponentElement<import("react").ProviderProps<FieldContextValue | null>>, useFieldContext: () => FieldContextValue;
@@ -0,0 +1,6 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import { FieldContextValue } from './FieldProvider';
3
+ export interface FieldRootProps extends Partial<FieldContextValue>, HTMLAttributes<HTMLDivElement> {
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const FieldRoot: ({ children, ...props }: FieldRootProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface FieldSuccessProps {
2
+ children: React.ReactNode;
3
+ }
4
+ export declare const FieldSuccess: ({ children }: FieldSuccessProps) => import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ export * as default from './index.parts';
2
+ export { FieldRootProps as FieldProps } from './FieldRoot';
3
+ export { FieldLabelProps } from './FieldLabel';
4
+ export { FieldControlProps } from './FieldControl';
5
+ export { useFieldContext } from './FieldProvider';
@@ -0,0 +1,6 @@
1
+ export { FieldRoot as Root } from './FieldRoot';
2
+ export { FieldError as Error } from './FieldError';
3
+ export { FieldSuccess as Success } from './FieldSuccess';
4
+ export { FieldDescription as Description } from './FieldDescription';
5
+ export { FieldLabel as Label, FieldLabelProps } from './FieldLabel';
6
+ export { FieldControl as Control, FieldControlProps } from './FieldControl';
@@ -0,0 +1,24 @@
1
+ import { UseFormReturn } from 'react-hook-form';
2
+ import { InputProps } from '../Input/types';
3
+ import { FieldProps } from '../Field';
4
+ import { SelectedFilter, UseFiltersMultiSelectStore } from './useFiltersMultiSelect';
5
+ export interface FiltersMultiSelectProps extends Pick<FieldProps, 'status' | 'disabled'> {
6
+ children: React.ReactNode;
7
+ description?: string;
8
+ emptyNode?: React.ReactNode;
9
+ error?: string;
10
+ icon?: React.ReactNode;
11
+ inputProps?: InputProps['inputProps'];
12
+ label?: string;
13
+ placeholder?: string;
14
+ searchable?: boolean;
15
+ selectedFilters?: SelectedFilter[];
16
+ store?: UseFiltersMultiSelectStore;
17
+ success?: string;
18
+ badgeClassName?: string;
19
+ inputClassName?: string;
20
+ wrapperClassName?: string;
21
+ onChange?: (value: SelectedFilter[]) => void;
22
+ register?: UseFormReturn['register'];
23
+ }
24
+ export declare const FiltersMultiSelect: ({ children, description, disabled, emptyNode: controlledEmptyNode, error, icon, inputProps, label, placeholder, searchable, selectedFilters: controlledSelectedFilters, status, store: controlledStore, success, badgeClassName, inputClassName, wrapperClassName, onChange, register, }: FiltersMultiSelectProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { UseFiltersMultiSelectStore } from './useFiltersMultiSelect';
2
+ export interface FiltersMultiSelectContextValue {
3
+ store: UseFiltersMultiSelectStore;
4
+ emptyNode?: React.ReactNode;
5
+ }
6
+ export declare const FiltersMultiSelectProvider: ({ children, value, }: {
7
+ value: FiltersMultiSelectContextValue;
8
+ children: React.ReactNode;
9
+ }) => import("react").FunctionComponentElement<import("react").ProviderProps<FiltersMultiSelectContextValue | null>>, useFiltersMultiSelectContext: () => FiltersMultiSelectContextValue;
@@ -0,0 +1,11 @@
1
+ import { SelectedFilter } from '../useFiltersMultiSelect';
2
+ interface FilterBadgeProps {
3
+ type: SelectedFilter['type'];
4
+ disabled?: boolean;
5
+ className?: string;
6
+ withRemoveButton?: boolean;
7
+ onRemove?: () => void;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare const FilterBadge: ({ type, disabled, className, withRemoveButton, onRemove, children, }: FilterBadgeProps) => import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ export interface FiltersMultiSelectEmptyProps extends HTMLAttributes<HTMLDivElement> {
3
+ children?: React.ReactNode;
4
+ }
5
+ export declare const FiltersMultiSelectEmpty: ({ children, ...props }: FiltersMultiSelectEmptyProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Filter } from '../useFiltersMultiSelect';
2
+ export interface FiltersMultiSelectOptionProps {
3
+ filter: Filter;
4
+ children: React.ReactNode;
5
+ selected?: boolean;
6
+ }
7
+ export declare const FiltersMultiSelectOption: ({ filter, children, selected, }: FiltersMultiSelectOptionProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React, { type HTMLAttributes } from 'react';
2
+ export declare const FiltersMultiSelectOptions: ({ children, ...props }: {
3
+ children: React.ReactNode;
4
+ } & HTMLAttributes<HTMLDivElement>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export { FiltersMultiSelect, FiltersMultiSelectProps, } from './FiltersMultiSelect';
2
+ export { FiltersMultiSelectOption, FiltersMultiSelectOptionProps, } from './components/FiltersMultiSelectOption';
3
+ export { FiltersMultiSelectOptions } from './components/FiltersMultiSelectOptions';
4
+ export { FiltersMultiSelectEmpty, FiltersMultiSelectEmptyProps, } from './components/FiltersMultiSelectEmpty';
5
+ export { useFilterMultiSelect, Filter, SelectedFilter, } from './useFiltersMultiSelect';
@@ -0,0 +1,32 @@
1
+ export type Filter = {
2
+ id: string;
3
+ label: string;
4
+ group?: true;
5
+ };
6
+ export type SelectedFilter = Omit<Filter, 'group'> & {
7
+ type: 'include' | 'exclude' | 'group';
8
+ };
9
+ export interface UseFiltersMultiSelectOptions {
10
+ opened?: boolean;
11
+ defaultOpened?: boolean;
12
+ selectedFilters?: SelectedFilter[];
13
+ defaultSelectedFilters?: SelectedFilter[];
14
+ search?: string;
15
+ defaultSearch?: string;
16
+ onChange?: (value: SelectedFilter[]) => void;
17
+ onOpenedChange?: (opened: boolean) => void;
18
+ onDropdownClose?: () => void;
19
+ onDropdownOpen?: () => void;
20
+ onSearchChange?: (search: string) => void;
21
+ }
22
+ export declare function useFilterMultiSelect({ opened, defaultOpened, selectedFilters, defaultSelectedFilters, search, defaultSearch, onChange, onOpenedChange, onDropdownClose, onDropdownOpen, onSearchChange, }?: UseFiltersMultiSelectOptions): {
23
+ opened: boolean;
24
+ selectedFilters: SelectedFilter[];
25
+ search: string;
26
+ toggleDropdown: (open?: boolean) => void;
27
+ selectFilters: (...filters: SelectedFilter[]) => void;
28
+ unselectFilters: (...filters: SelectedFilter[]) => void;
29
+ isSelected: (id: string) => SelectedFilter | undefined;
30
+ setSearch: (value: string) => void;
31
+ };
32
+ export type UseFiltersMultiSelectStore = ReturnType<typeof useFilterMultiSelect>;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from '../types';
2
+ export declare const CheckCircleInverted: ({ fill, size, tooltip, ...props }: SVGProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare const ICON_NAME = "check-circle-inverted";
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from '../types';
2
+ export declare const MinusCircle: ({ fill, size, tooltip, ...props }: SVGProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare const ICON_NAME = "minus-circle";
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from '../types';
2
+ export declare const MinusCircleInverted: ({ fill, size, tooltip, ...props }: SVGProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare const ICON_NAME = "minus-circle-inverted";
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from '../types';
2
+ export declare const PlusCircle: ({ fill, size, tooltip, ...props }: SVGProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare const ICON_NAME = "plus-circle";
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from '../types';
2
+ export declare const PlusCircleInverted: ({ fill, size, tooltip, ...props }: SVGProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export declare const ICON_NAME = "plus-circle-inverted";
@@ -7,10 +7,15 @@ export * as Sleep from './Sleep';
7
7
  export * as Stats from './Stats';
8
8
  export * as Trainings from './Trainings';
9
9
  export * as Plus from './Plus';
10
+ export * as PlusCircle from './PlusCircle';
11
+ export * as PlusCircleInverted from './PlusCircleInverted';
10
12
  export * as Minus from './Minus';
13
+ export * as MinusCircle from './MinusCircle';
14
+ export * as MinusCircleInverted from './MinusCircleInverted';
11
15
  export * as Cross from './Cross';
12
16
  export * as Check from './Check';
13
17
  export * as CheckCircle from './CheckCircle';
18
+ export * as CheckCircleInverted from './CheckCircleInverted';
14
19
  export * as More from './More';
15
20
  export * as MoreVertical from './MoreVertical';
16
21
  export * as Notification from './Notification';
@@ -1 +1 @@
1
- export declare const iconsList: ("visible" | "copy" | "circle" | "attention" | "search" | "calendar" | "diet" | "home" | "measurements" | "settings" | "sleep" | "stats" | "trainings" | "plus" | "minus" | "cross" | "check" | "check-circle" | "more" | "more-vertical" | "notification" | "user" | "union" | "invisible" | "log-in" | "log-out" | "email" | "lock" | "information" | "warning" | "carrot-down" | "carrot-up" | "carrot-left" | "carrot-right" | "radio-on" | "arrow-up" | "arrow-down" | "filter" | "archive" | "unarchive" | "bin" | "change" | "robot" | "chart" | "clock" | "cogwheel" | "circular" | "ban-user" | "confirm-email" | "unlock" | "edit" | "import" | "pages" | "roles" | "maximize" | "employee" | "language" | "message" | "report")[];
1
+ export declare const iconsList: ("visible" | "copy" | "circle" | "search" | "email" | "attention" | "calendar" | "diet" | "home" | "measurements" | "settings" | "sleep" | "stats" | "trainings" | "plus" | "plus-circle" | "plus-circle-inverted" | "minus" | "minus-circle" | "minus-circle-inverted" | "cross" | "check" | "check-circle" | "check-circle-inverted" | "more" | "more-vertical" | "notification" | "user" | "union" | "invisible" | "log-in" | "log-out" | "lock" | "information" | "warning" | "carrot-down" | "carrot-up" | "carrot-left" | "carrot-right" | "radio-on" | "arrow-up" | "arrow-down" | "filter" | "archive" | "unarchive" | "bin" | "change" | "robot" | "chart" | "clock" | "cogwheel" | "circular" | "ban-user" | "confirm-email" | "unlock" | "edit" | "import" | "pages" | "roles" | "maximize" | "employee" | "language" | "message" | "report")[];
@@ -71,7 +71,9 @@ export * from './CardList';
71
71
  export * from './Checkbox';
72
72
  export * from './CollapsibleNavBar';
73
73
  export * from './DatePicker';
74
+ export * from './Field';
74
75
  export * from './Filters';
76
+ export * from './FiltersMultiSelect';
75
77
  export * from './FormCheckbox';
76
78
  export * from './FullscreenModeContext';
77
79
  export * from './Icon';