@ssa-ui-kit/core 2.2.2 → 2.4.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 (38) hide show
  1. package/dist/components/Charts/TreeMapChart/TreeMapChart.d.ts +23 -0
  2. package/dist/components/Charts/TreeMapChart/TreeMapChartHeader.d.ts +8 -0
  3. package/dist/components/Charts/TreeMapChart/TreeMapChartTooltip.d.ts +2 -0
  4. package/dist/components/Charts/TreeMapChart/index.d.ts +1 -0
  5. package/dist/components/Charts/index.d.ts +1 -0
  6. package/dist/components/DatePicker/types.d.ts +1 -2
  7. package/dist/components/DateRangePicker/DateRangePicker.d.ts +1 -1
  8. package/dist/components/DateRangePicker/DateRangePickerContext.d.ts +2 -0
  9. package/dist/components/DateRangePicker/DateRangePickerProvider.d.ts +2 -0
  10. package/dist/components/DateRangePicker/components/Calendar.d.ts +1 -0
  11. package/dist/components/DateRangePicker/components/Content.d.ts +1 -0
  12. package/dist/components/DateRangePicker/components/DatesListWrapper.d.ts +10 -0
  13. package/dist/components/DateRangePicker/components/DaysView.d.ts +1 -0
  14. package/dist/components/DateRangePicker/components/Header.d.ts +1 -0
  15. package/dist/components/DateRangePicker/components/MonthsSwitch.d.ts +1 -0
  16. package/dist/components/DateRangePicker/components/MonthsView.d.ts +1 -0
  17. package/dist/components/DateRangePicker/components/Trigger.d.ts +1 -0
  18. package/dist/components/DateRangePicker/components/TriggerInput.d.ts +6 -0
  19. package/dist/components/DateRangePicker/components/YearsView.d.ts +1 -0
  20. package/dist/components/DateRangePicker/components/index.d.ts +9 -0
  21. package/dist/components/DateRangePicker/constants.d.ts +1 -0
  22. package/dist/components/DateRangePicker/helpers/ClassnameArray.d.ts +3 -0
  23. package/dist/components/DateRangePicker/helpers/index.d.ts +1 -0
  24. package/dist/components/DateRangePicker/hooks/index.d.ts +3 -0
  25. package/dist/components/DateRangePicker/hooks/useDatePickerMask.d.ts +10 -0
  26. package/dist/components/DateRangePicker/hooks/useDateRangePicker.d.ts +40 -0
  27. package/dist/components/DateRangePicker/hooks/useRangeHighlighting.d.ts +10 -0
  28. package/dist/components/DateRangePicker/styles.d.ts +34 -0
  29. package/dist/components/DateRangePicker/types.d.ts +35 -9
  30. package/dist/components/DateRangePicker/useDateRangePickerContext.d.ts +1 -0
  31. package/dist/components/DateRangePicker/utils/dates.d.ts +11 -0
  32. package/dist/components/DateRangePicker/utils/index.d.ts +1 -0
  33. package/dist/components/FormHelperText/types.d.ts +1 -0
  34. package/dist/components/WidgetCard/WithWidgetCard.d.ts +10 -3
  35. package/dist/index.js +1787 -385
  36. package/dist/index.js.map +1 -1
  37. package/dist/types/emotion.d.ts +3 -0
  38. package/package.json +5 -3
@@ -0,0 +1,23 @@
1
+ import { ResponsiveTreeMap } from '@nivo/treemap';
2
+ import React from 'react';
3
+ import { WidgetCardProps } from '../../WidgetCard';
4
+ export type TreeNode = {
5
+ name: string;
6
+ value?: number;
7
+ children?: TreeNode[];
8
+ };
9
+ export type TreeMapChartFeature = 'header' | 'fullscreenMode';
10
+ type NivoTreeMapChartProps = React.ComponentProps<typeof ResponsiveTreeMap>;
11
+ export interface TreeMapChartProps extends Omit<NivoTreeMapChartProps, 'data'> {
12
+ data: TreeNode;
13
+ title?: string;
14
+ fullScreen?: boolean;
15
+ features?: TreeMapChartFeature[];
16
+ widgetCardProps?: WidgetCardProps;
17
+ }
18
+ export declare const TreeMapChartComponent: ({ data, title, widgetCardProps, features, ...treeMapProps }: TreeMapChartProps) => import("@emotion/react/jsx-runtime").JSX.Element;
19
+ export declare const TreeMapChart: {
20
+ (props: TreeMapChartProps): import("@emotion/react/jsx-runtime").JSX.Element;
21
+ displayName: string;
22
+ };
23
+ export {};
@@ -0,0 +1,8 @@
1
+ import { TreeMapChartFeature } from './TreeMapChart';
2
+ export declare const FullScreenButton: import("@emotion/styled").StyledComponent<import("../../Button/types").ButtonProps & import("react").RefAttributes<HTMLButtonElement> & {
3
+ theme?: import("@emotion/react").Theme;
4
+ }, {}, {}>;
5
+ export interface TreeMapChartHeaderProps {
6
+ features: TreeMapChartFeature[];
7
+ }
8
+ export declare const TreeMapChartHeader: ({ features }: TreeMapChartHeaderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { TooltipProps } from '@nivo/treemap';
2
+ export declare const TreeMapChartTooltip: ({ node }: TooltipProps<object>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './TreeMapChart';
@@ -1,5 +1,6 @@
1
1
  export * from './PieChart';
2
2
  export * from './SegmentedPieChart';
3
3
  export * from './BarLineComplexChart';
4
+ export * from './TreeMapChart';
4
5
  export * from './common';
5
6
  export * from './hooks';
@@ -6,7 +6,6 @@ export type DatePickerProps = {
6
6
  name: string;
7
7
  label?: string;
8
8
  format?: 'mm/dd/yyyy' | 'dd/mm/yyyy';
9
- isOpenToggle?: boolean;
10
9
  maskOptions?: Parameters<typeof useMask>[0];
11
10
  openCalendarMode?: 'icon' | 'input' | 'both';
12
11
  inputProps?: Partial<InputProps>;
@@ -23,7 +22,6 @@ export type DatePickerProps = {
23
22
  mode: 'dateFrom' | 'dateTo';
24
23
  otherDate: Date | null;
25
24
  };
26
- safeOnChange?: (date?: DateTime) => void;
27
25
  onChange?: (date?: Date) => void;
28
26
  onOpen?: () => void;
29
27
  onClose?: () => void;
@@ -48,6 +46,7 @@ export type DatePickerContextProps = Omit<DatePickerProps, 'dateMin' | 'dateMax'
48
46
  month: number;
49
47
  year: number;
50
48
  };
49
+ safeOnChange?: (date?: DateTime) => void;
51
50
  setCalendarViewDateTime: Dispatch<SetStateAction<DateTime | undefined>>;
52
51
  setDateTime: Dispatch<SetStateAction<DateTime<boolean> | undefined>>;
53
52
  setIsOpen: Dispatch<SetStateAction<boolean>>;
@@ -1,2 +1,2 @@
1
1
  import { DateRangePickerProps } from './types';
2
- export declare const DateRangePicker: ({ format, openCalendarMode, name, label, value, defaultValue, ...rest }: DateRangePickerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export declare const DateRangePicker: ({ format, openCalendarMode, showCalendarIcon, ...rest }: DateRangePickerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { DateRangePickerContextProps } from './types';
2
+ export declare const DateRangePickerContext: import("react").Context<DateRangePickerContextProps>;
@@ -0,0 +1,2 @@
1
+ import { DateRangePickerProps } from './types';
2
+ export declare const DateRangePickerProvider: ({ children, ...rest }: React.PropsWithChildren<DateRangePickerProps>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const DatePickerCalendar: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const DatePickerContent: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ export declare const DatesListWrapper: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ } & {
5
+ avatarSize?: number;
6
+ direction?: string;
7
+ alignItems?: string;
8
+ } & import("../../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
9
+ theme?: import("@emotion/react").Theme;
10
+ }, {}, {}>;
@@ -0,0 +1 @@
1
+ export declare const DaysView: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const Header: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const MonthsSwitch: () => import("@emotion/react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1 @@
1
+ export declare const MonthsView: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const Trigger: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { MouseEventHandler } from 'react';
2
+ export declare const TriggerInput: ({ datepickerType, withPopover, onClick, }: {
3
+ datepickerType: "from" | "to";
4
+ withPopover?: boolean;
5
+ onClick: MouseEventHandler<HTMLInputElement>;
6
+ }) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const YearsView: () => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ export * from './Trigger';
2
+ export * from './Calendar';
3
+ export * from './Content';
4
+ export * from './MonthsSwitch';
5
+ export * from './Header';
6
+ export * from './DaysView';
7
+ export * from './MonthsView';
8
+ export * from './YearsView';
9
+ export * from './DatesListWrapper';
@@ -5,3 +5,4 @@ export declare const DATE_MIN = "01/01/1900";
5
5
  export declare const DATE_MAX = "01/01/2150";
6
6
  export declare const OUT_OF_RANGE = "The date is out of the defined range";
7
7
  export declare const INVALID_DATE = "Invalid date";
8
+ export declare const FULL_DATE_LENGTH = 10;
@@ -0,0 +1,3 @@
1
+ export declare class ClassnameArray extends Array<string> {
2
+ toggle(className: string, condition: boolean): this;
3
+ }
@@ -0,0 +1 @@
1
+ export * from './ClassnameArray';
@@ -0,0 +1,3 @@
1
+ export * from './useDateRangePicker';
2
+ export * from './useDatePickerMask';
3
+ export * from './useRangeHighlighting';
@@ -0,0 +1,10 @@
1
+ import { DateRangePickerProps } from '../types';
2
+ export declare const useDatePickerMask: ({ maskOptions, formatIndexes, dateMinParts, dateMaxParts, }: Pick<DateRangePickerProps, "maskOptions"> & {
3
+ formatIndexes: {
4
+ day: number;
5
+ month: number;
6
+ year: number;
7
+ };
8
+ dateMinParts: number[];
9
+ dateMaxParts: number[];
10
+ }) => import("react").MutableRefObject<HTMLInputElement>;
@@ -0,0 +1,40 @@
1
+ import { DateTime } from 'luxon';
2
+ import { CalendarType, DateRangePickerProps, DateTimeTuple } from '../types';
3
+ export declare const useDateRangePicker: ({ dateMin, dateMax, name: _name, format, maskOptions, isOpenState, defaultValue, onOpen, onClose, onError, onChange, ...rest }: DateRangePickerProps & {
4
+ isOpenState?: boolean;
5
+ }) => {
6
+ formatIndexes: {
7
+ day: number;
8
+ month: number;
9
+ year: number;
10
+ };
11
+ dateMinParts: number[];
12
+ dateMaxParts: number[];
13
+ dateMinDT: DateTime<true> | DateTime<false>;
14
+ dateMaxDT: DateTime<true> | DateTime<false>;
15
+ dateTime: DateTimeTuple;
16
+ inputValueFrom: any;
17
+ inputValueTo: any;
18
+ calendarViewDateTime: [DateTime<boolean> | undefined, DateTime<boolean> | undefined];
19
+ maskInputRef: import("react").MutableRefObject<HTMLInputElement>;
20
+ calendarType: CalendarType;
21
+ lastChangedDate: [Date | undefined, Date | undefined];
22
+ luxonFormat: string;
23
+ lastFocusedElement: "from" | "to";
24
+ nameFrom: string;
25
+ nameTo: string;
26
+ currentIndex: number;
27
+ currentCalendarViewDT: DateTime<boolean>;
28
+ isOpen: boolean;
29
+ status: "error" | "success" | "basic" | undefined;
30
+ inputFromRef: ((instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | null;
31
+ inputToRef: ((instance: HTMLInputElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | null;
32
+ setIsOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
33
+ handleSetIsOpen: (open: boolean) => void;
34
+ setLastFocusedElement: import("react").Dispatch<import("react").SetStateAction<"from" | "to">>;
35
+ safeOnChange: (newDateTime?: DateTime) => void;
36
+ setCalendarType: import("react").Dispatch<import("react").SetStateAction<CalendarType>>;
37
+ setCalendarViewDateTime: import("react").Dispatch<import("react").SetStateAction<[DateTime<boolean> | undefined, DateTime<boolean> | undefined]>>;
38
+ setDateTime: import("react").Dispatch<import("react").SetStateAction<DateTimeTuple>>;
39
+ handleBlur: import("react").FocusEventHandler<HTMLInputElement>;
40
+ };
@@ -0,0 +1,10 @@
1
+ import { DateTime } from 'luxon';
2
+ export declare const useRangeHighlighting: () => {
3
+ handleDateHover: (currentDT: DateTime | null) => void;
4
+ getClassNames: (currentDT: DateTime, { isCalendarFirstDateSelected, isCalendarSecondDateSelected, }: {
5
+ isCalendarFirstDateSelected: boolean;
6
+ isCalendarSecondDateSelected: boolean;
7
+ }) => string[];
8
+ isHighlightDate: (currentDT: DateTime) => boolean;
9
+ hoveredDate: DateTime<boolean> | null;
10
+ };
@@ -0,0 +1,34 @@
1
+ export declare const DaysViewCell: import("@emotion/styled").StyledComponent<{
2
+ theme?: import("@emotion/react").Theme;
3
+ as?: React.ElementType;
4
+ } & {
5
+ avatarSize?: number;
6
+ direction?: string;
7
+ alignItems?: string;
8
+ } & import("../..").CommonProps & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
9
+ theme?: import("@emotion/react").Theme;
10
+ } & {
11
+ isCalendarDateNow: boolean;
12
+ isCalendarDateSelected: boolean;
13
+ isCalendarFirstDateSelected?: boolean;
14
+ isCalendarSecondDateSelected?: boolean;
15
+ isHighlighted: boolean;
16
+ }, {}, {}>;
17
+ export declare const YearsViewCell: import("@emotion/styled").StyledComponent<{
18
+ theme?: import("@emotion/react").Theme;
19
+ as?: React.ElementType;
20
+ } & {
21
+ isCalendarYear: boolean;
22
+ isCalendarFirstDateSelected?: boolean;
23
+ isCalendarSecondDateSelected?: boolean;
24
+ isHighlighted: boolean;
25
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
26
+ export declare const MonthsViewCell: import("@emotion/styled").StyledComponent<{
27
+ theme?: import("@emotion/react").Theme;
28
+ as?: React.ElementType;
29
+ } & {
30
+ isCalendarMonth: boolean;
31
+ isCalendarFirstDateSelected?: boolean;
32
+ isCalendarSecondDateSelected?: boolean;
33
+ isHighlighted: boolean;
34
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,12 +1,27 @@
1
- import { Dispatch, SetStateAction } from 'react';
1
+ import { Dispatch, MouseEventHandler, SetStateAction } from 'react';
2
2
  import { DateTime } from 'luxon';
3
- import { DatePickerProps } from '../DatePicker/types';
3
+ import { useMask } from '@react-input/mask';
4
4
  import { FieldContextValue } from '../Field/FieldProvider';
5
+ import { InputProps } from '../Input/types';
5
6
  export type LastFocusedElement = 'from' | 'to';
6
- export type DateRangePickerProps = Omit<DatePickerProps, 'isOpenToggle' | 'value' | 'defaultValue' | 'onChange'> & {
7
+ export type DateRangePickerProps = {
8
+ name: string;
9
+ label?: string;
10
+ format?: 'mm/dd/yyyy' | 'dd/mm/yyyy';
11
+ isOpenState?: boolean;
7
12
  value?: [string | undefined, string | undefined];
8
13
  defaultValue?: [string, string];
14
+ maskOptions?: Parameters<typeof useMask>[0];
15
+ openCalendarMode?: 'icon' | 'input' | 'both';
16
+ inputProps?: Partial<InputProps>;
9
17
  status?: FieldContextValue['status'];
18
+ dateMin?: string;
19
+ dateMax?: string;
20
+ disabled?: boolean;
21
+ helperText?: string;
22
+ showCalendarIcon?: boolean;
23
+ triggerClassname?: string;
24
+ calendarClassname?: string;
10
25
  onChange?: (dates?: [Date | null, Date | null]) => void;
11
26
  onOpen?: () => void;
12
27
  onClose?: () => void;
@@ -15,13 +30,20 @@ export type DateRangePickerProps = Omit<DatePickerProps, 'isOpenToggle' | 'value
15
30
  onYearChange?: (date: Date) => void;
16
31
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
17
32
  };
33
+ export type DateTimeTuple = [DateTime | undefined, DateTime | undefined];
18
34
  export type DateRangePickerContextProps = Omit<DateRangePickerProps, 'dateMin' | 'dateMax'> & {
19
- inputFromRef?: React.ForwardedRef<HTMLInputElement | null>;
35
+ nameFrom: string;
36
+ nameTo: string;
20
37
  isOpen: boolean;
38
+ currentCalendarViewDT: DateTime;
39
+ currentIndex: number;
40
+ calendarViewDateTime: DateTimeTuple;
21
41
  calendarType: CalendarType;
22
- inputValue?: string;
23
- dateTime?: DateTime;
24
- calendarViewDateTime?: DateTime;
42
+ inputValueFrom?: string;
43
+ inputValueTo?: string;
44
+ inputFromRef: React.ForwardedRef<HTMLInputElement | null>;
45
+ inputToRef: React.ForwardedRef<HTMLInputElement | null>;
46
+ dateTime: DateTimeTuple;
25
47
  dateMinParts: number[];
26
48
  dateMaxParts: number[];
27
49
  dateMinDT: DateTime;
@@ -32,9 +54,13 @@ export type DateRangePickerContextProps = Omit<DateRangePickerProps, 'dateMin' |
32
54
  year: number;
33
55
  };
34
56
  lastFocusedElement: LastFocusedElement;
57
+ lastChangedDate?: [Date | undefined, Date | undefined];
58
+ safeOnChange?: (date?: DateTime) => void;
35
59
  setLastFocusedElement: Dispatch<SetStateAction<LastFocusedElement>>;
36
- setCalendarViewDateTime: Dispatch<SetStateAction<DateTime | undefined>>;
37
- setDateTime: Dispatch<SetStateAction<DateTime<boolean> | undefined>>;
60
+ handleToggleOpen: MouseEventHandler<HTMLButtonElement | HTMLInputElement>;
61
+ handleSetIsOpen: (open: boolean) => void;
62
+ setCalendarViewDateTime: Dispatch<SetStateAction<DateTimeTuple>>;
63
+ setDateTime: Dispatch<SetStateAction<DateTimeTuple>>;
38
64
  setIsOpen: Dispatch<SetStateAction<boolean>>;
39
65
  setCalendarType: Dispatch<SetStateAction<CalendarType>>;
40
66
  };
@@ -0,0 +1 @@
1
+ export declare const useDateRangePickerContext: () => import("./types").DateRangePickerContextProps;
@@ -0,0 +1,11 @@
1
+ export declare const getDaysForCalendarMonth: (date?: Date) => Date[];
2
+ export declare const getWeekDays: () => string[];
3
+ export declare const getYearsList: (props?: {
4
+ yearsFrom?: number;
5
+ yearsCount?: number;
6
+ }) => number[];
7
+ export declare const processDate: (dateParts: {
8
+ month: string;
9
+ day: string;
10
+ year: string;
11
+ }, yearMin: number, yearMax: number) => boolean;
@@ -0,0 +1 @@
1
+ export * from './dates';
@@ -4,4 +4,5 @@ export interface FormHelperTextProps extends CommonProps {
4
4
  role?: string;
5
5
  status?: 'error' | 'success' | 'basic' | 'custom';
6
6
  disabled?: boolean;
7
+ 'data-testid'?: string;
7
8
  }
@@ -1,4 +1,11 @@
1
- import { PieChartProps } from '../Charts/PieChart';
2
- export declare const WithWidgetCard: ({ children, features, cardProps, }: {
1
+ import React from 'react';
2
+ import { WidgetCardProps } from './types';
3
+ type Has<T extends string, U extends string> = Exclude<U, T> extends never ? true : false;
4
+ type MustIncludeHeader<T extends readonly string[]> = Has<T[number], 'header'> extends true ? T : never;
5
+ export type WithWidgetCardProps<F extends string[]> = {
3
6
  children: React.ReactNode;
4
- } & Pick<PieChartProps, "features" | "cardProps">) => string | number | boolean | Iterable<import("react").ReactNode> | import("@emotion/react/jsx-runtime").JSX.Element | null | undefined;
7
+ features?: MustIncludeHeader<F>;
8
+ cardProps?: WidgetCardProps;
9
+ };
10
+ export declare function WithWidgetCard<F extends string[]>({ children, features, cardProps, }: WithWidgetCardProps<F>): import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export {};