@banyan_cloud/roots 2.0.51 → 2.0.53

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 (39) hide show
  1. package/dist/esm/index.js +6096 -4490
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/src/components/buttons/button/types/index.d.ts +2 -0
  4. package/dist/esm/src/components/datePicker/ranges/utils/index.d.ts +8 -0
  5. package/dist/esm/src/components/datePickerV2/DatePicker.d.ts +32 -1
  6. package/dist/esm/src/components/datePickerV2/calender/Calender.d.ts +2 -0
  7. package/dist/esm/src/components/datePickerV2/calender/body/Body.d.ts +35 -0
  8. package/dist/esm/src/components/datePickerV2/calender/body/dates/Dates.d.ts +35 -0
  9. package/dist/esm/src/components/datePickerV2/calender/body/dates/assets/index.d.ts +6 -0
  10. package/dist/esm/src/components/datePickerV2/calender/body/dates/index.d.ts +1 -0
  11. package/dist/esm/src/components/datePickerV2/calender/body/dates/utils/index.d.ts +21 -0
  12. package/dist/esm/src/components/datePickerV2/calender/body/days/Days.d.ts +2 -0
  13. package/dist/esm/src/components/datePickerV2/calender/body/days/index.d.ts +1 -0
  14. package/dist/esm/src/components/datePickerV2/calender/body/index.d.ts +1 -0
  15. package/dist/esm/src/components/datePickerV2/calender/header/Header.d.ts +26 -0
  16. package/dist/esm/src/components/datePickerV2/calender/header/index.d.ts +1 -0
  17. package/dist/esm/src/components/datePickerV2/calender/index.d.ts +1 -0
  18. package/dist/esm/src/components/datePickerV2/dateSwitcher/DateSwitcher.d.ts +20 -0
  19. package/dist/esm/src/components/datePickerV2/dateSwitcher/index.d.ts +1 -0
  20. package/dist/esm/src/components/datePickerV2/index.d.ts +1 -1
  21. package/dist/esm/src/components/sidePanel/BaseSidePanel.d.ts +1 -0
  22. package/dist/esm/src/components/v2/buttons/baseButton/BaseButton.d.ts +3 -0
  23. package/dist/esm/src/components/v2/buttons/baseButton/index.d.ts +2 -0
  24. package/dist/esm/src/components/v2/buttons/baseButton/types/index.d.ts +14 -0
  25. package/dist/esm/src/components/v2/buttons/button/Button.d.ts +3 -0
  26. package/dist/esm/src/components/v2/buttons/button/index.d.ts +2 -0
  27. package/dist/esm/src/components/v2/buttons/button/types/index.d.ts +11 -0
  28. package/dist/esm/src/components/v2/buttons/index.d.ts +2 -0
  29. package/dist/esm/src/components/v2/icons/error/Error.d.ts +4 -0
  30. package/dist/esm/src/components/v2/icons/error/index.d.ts +1 -0
  31. package/dist/esm/src/components/v2/icons/index.d.ts +2 -0
  32. package/dist/esm/src/components/v2/icons/warning/Warning.d.ts +4 -0
  33. package/dist/esm/src/components/v2/icons/warning/index.d.ts +1 -0
  34. package/dist/esm/src/components/v2/input/index.d.ts +1 -0
  35. package/dist/esm/src/components/v2/input/textField/TextField.d.ts +58 -0
  36. package/dist/esm/src/components/v2/input/textField/index.d.ts +1 -0
  37. package/dist/esm/src/constants/index.d.ts +5 -1
  38. package/package.json +1 -1
  39. package/src/styles/_colors.scss +28 -0
@@ -1,8 +1,10 @@
1
1
  import type { BaseButtonProps } from 'components/buttons/baseButton/types';
2
2
  import type { ComponentType } from 'react';
3
3
  export type ButtonColors = 'primary' | 'success' | 'danger' | 'warning';
4
+ export type ButtonTextSize = 'sm' | 'md';
4
5
  export interface ButtonProps extends BaseButtonProps {
5
6
  color?: ButtonColors;
6
7
  leftComponent?: ComponentType | undefined;
7
8
  rightComponent?: ComponentType | undefined;
9
+ textSize?: ButtonTextSize;
8
10
  }
@@ -1,3 +1,7 @@
1
+ export function getDateAndUnixRange(duration: any): {
2
+ dates: [string, string];
3
+ unix: number[];
4
+ };
1
5
  export function dateRanges(customRanges?: any[]): {
2
6
  title: any;
3
7
  dateRange: {
@@ -5,3 +9,7 @@ export function dateRanges(customRanges?: any[]): {
5
9
  unix: number[];
6
10
  };
7
11
  }[];
12
+ export function timeRanges(): {
13
+ label: string;
14
+ value: number;
15
+ }[];
@@ -1,2 +1,33 @@
1
+ import { type ReactElement } from 'react';
2
+ interface CustomRange {
3
+ title: string;
4
+ dateRange: {
5
+ dates: string[];
6
+ unix: number[];
7
+ };
8
+ }
9
+ interface DatePickerProps {
10
+ placeholder?: string;
11
+ range?: boolean;
12
+ value?: number | number[] | null;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ customRanges?: CustomRange[] | null;
16
+ showCustomRanges?: boolean;
17
+ custom?: boolean;
18
+ highlightOnSelect?: boolean;
19
+ limitHours?: number | null;
20
+ timeRange?: boolean;
21
+ onClear?: () => void;
22
+ onApply?: (value: number | number[], fixedRange: string | null, tag?: string) => void;
23
+ enableFutureDates?: boolean;
24
+ maxRange?: number | null;
25
+ disabledDates?: string[];
26
+ disableDatesBefore?: number[];
27
+ disableDatesAfter?: number[];
28
+ defaultHourDiff?: number;
29
+ valueAsRange?: boolean;
30
+ startingYear?: number;
31
+ }
32
+ declare const DatePicker: (props: DatePickerProps) => ReactElement;
1
33
  export default DatePicker;
2
- declare function DatePicker(props: any): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ declare const Calender: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default Calender;
@@ -0,0 +1,35 @@
1
+ import { type ReactElement } from 'react';
2
+ interface SelectedMonth {
3
+ month: string;
4
+ monthAsNumber: number;
5
+ year: number;
6
+ }
7
+ interface SelectedDate {
8
+ month?: string;
9
+ year?: number;
10
+ date?: number;
11
+ unix?: number;
12
+ }
13
+ interface SelectedRange {
14
+ dates?: string[];
15
+ unix?: number[];
16
+ }
17
+ interface BodyProps {
18
+ selectedMonth: SelectedMonth;
19
+ setSelectedMonth: (month: SelectedMonth) => void;
20
+ displayMonthRight: SelectedMonth;
21
+ setDisplayMonthRight: (month: SelectedMonth) => void;
22
+ selectedDate: SelectedDate;
23
+ setSelectedDate: (date: SelectedDate) => void;
24
+ range: boolean;
25
+ selectedRange: SelectedRange;
26
+ setSelectedRange: (range: SelectedRange) => void;
27
+ disabledDates: string[];
28
+ disableDatesBefore: number[];
29
+ enableFutureDates: boolean;
30
+ disableDatesAfter: number[];
31
+ setFixedTime: (time: number) => void;
32
+ setFixedTimeRange: (range: [number, number]) => void;
33
+ }
34
+ declare const Body: (props: BodyProps) => ReactElement;
35
+ export default Body;
@@ -0,0 +1,35 @@
1
+ import { type ReactElement } from 'react';
2
+ interface SelectedMonth {
3
+ month: string;
4
+ monthAsNumber: number;
5
+ year: number;
6
+ }
7
+ interface SelectedDate {
8
+ month?: string;
9
+ year?: number;
10
+ date?: number;
11
+ unix?: number;
12
+ }
13
+ interface SelectedRange {
14
+ dates?: string[];
15
+ unix?: number[];
16
+ }
17
+ interface DatesProps {
18
+ selectedMonth: SelectedMonth;
19
+ setSelectedMonth: (month: SelectedMonth) => void;
20
+ selectedDate: SelectedDate;
21
+ setSelectedDate: (date: SelectedDate) => void;
22
+ range: boolean;
23
+ selectedRange: SelectedRange;
24
+ setSelectedRange: (range: SelectedRange) => void;
25
+ disabledDates: string[];
26
+ disableDatesBefore: number[];
27
+ enableFutureDates: boolean;
28
+ disableDatesAfter: number[];
29
+ hoveredEndingDate: number | null;
30
+ setHoveredEndingDate: (date: number | null) => void;
31
+ setFixedTime: (time: number) => void;
32
+ setFixedTimeRange: (range: [number, number]) => void;
33
+ }
34
+ declare const Dates: (props: DatesProps) => ReactElement;
35
+ export default Dates;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface TodayIndicatorProps {
3
+ className?: string;
4
+ }
5
+ export declare const TodayIndicator: ({ className }: TodayIndicatorProps) => React.ReactElement;
6
+ export {};
@@ -0,0 +1 @@
1
+ export { default as Dates } from './Dates';
@@ -0,0 +1,21 @@
1
+ interface GetDatesToDisplayParams {
2
+ monthAsNumber: number;
3
+ year: number;
4
+ days: number[];
5
+ dateObj: Date[];
6
+ }
7
+ interface DateRange {
8
+ dates: string[];
9
+ unix: number[];
10
+ }
11
+ interface SelectedRange {
12
+ dates?: string[];
13
+ unix?: number[];
14
+ }
15
+ interface RangeSelectionParams {
16
+ selectedRange: SelectedRange;
17
+ date: Date;
18
+ }
19
+ export declare const getDatesToDisplay: ({ monthAsNumber, year, days, dateObj, }: GetDatesToDisplayParams) => Date[];
20
+ export declare const rangeSelection: ({ selectedRange, date }: RangeSelectionParams) => DateRange;
21
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const Days: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Days;
@@ -0,0 +1 @@
1
+ export { default as Days } from './Days';
@@ -0,0 +1 @@
1
+ export { default as CalenderBody } from './Body';
@@ -0,0 +1,26 @@
1
+ import { type ReactElement } from 'react';
2
+ interface SelectedMonth {
3
+ month: string;
4
+ monthAsNumber: number;
5
+ year: number;
6
+ }
7
+ interface SelectedDate {
8
+ month?: string;
9
+ year?: number;
10
+ date?: number;
11
+ unix?: number;
12
+ }
13
+ interface HeaderProps {
14
+ range?: boolean;
15
+ dateSelectionView?: boolean;
16
+ defaultHourDiff?: number;
17
+ timeSelectionView?: boolean;
18
+ selectedDate: SelectedDate;
19
+ selectedMonth: SelectedMonth;
20
+ setSelectedMonth: (month: SelectedMonth) => void;
21
+ setSelectedDate: (date: SelectedDate) => void;
22
+ displayMonthRight: SelectedMonth;
23
+ onMonthChange: (direction: 'prev' | 'next') => void;
24
+ }
25
+ declare const Header: (props: HeaderProps) => ReactElement;
26
+ export default Header;
@@ -0,0 +1 @@
1
+ export { default as CalenderHeader } from './Header';
@@ -0,0 +1 @@
1
+ export { default as Calender } from './Calender';
@@ -0,0 +1,20 @@
1
+ import { type ReactElement } from 'react';
2
+ interface SelectedMonth {
3
+ month: string;
4
+ monthAsNumber: number;
5
+ year: number;
6
+ }
7
+ interface SelectedDate {
8
+ month?: string;
9
+ year?: number;
10
+ date?: number;
11
+ unix?: number;
12
+ }
13
+ interface DateSwitcherProps {
14
+ selectedMonth: SelectedMonth;
15
+ setSelectedMonth: (month: SelectedMonth) => void;
16
+ setSelectedDate: (date: SelectedDate) => void;
17
+ selectedDate: SelectedDate;
18
+ }
19
+ declare const DateSwitcher: (props: DateSwitcherProps) => ReactElement;
20
+ export default DateSwitcher;
@@ -0,0 +1 @@
1
+ export { default as DateSwitcher } from './DateSwitcher';
@@ -1 +1 @@
1
- export { default as DatePickerV2 } from "./DatePicker";
1
+ export { default as DatePickerV2 } from './DatePicker';
@@ -14,6 +14,7 @@ export interface BaseSidePanelProps {
14
14
  renderHeader?: React.ReactNode;
15
15
  renderFooter?: React.ReactNode;
16
16
  children?: React.ReactNode;
17
+ tabsOrientation?: 'horizontal' | 'vertical';
17
18
  /** When true, render inside BaseModal; otherwise render as a drawer div */
18
19
  isModal?: boolean;
19
20
  /** Open/close controls */
@@ -0,0 +1,3 @@
1
+ import type { BaseButtonProps } from './types';
2
+ declare const BaseButton: import("react").ForwardRefExoticComponent<BaseButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
3
+ export default BaseButton;
@@ -0,0 +1,2 @@
1
+ export { default as BaseButton } from './BaseButton';
2
+ export * from './types';
@@ -0,0 +1,14 @@
1
+ import type { BaseCellProps } from 'components/cell';
2
+ import type { MouseEvent, ReactElement } from 'react';
3
+ type ButtonType = 'button' | 'submit' | 'reset';
4
+ type ButtonVariant = 'contained' | 'outlined' | 'text';
5
+ export interface BaseButtonProps extends BaseCellProps<'button', false> {
6
+ title?: ReactElement | string | undefined;
7
+ disabled?: boolean | undefined;
8
+ id?: string | undefined;
9
+ type?: ButtonType;
10
+ onClick?: ((event: MouseEvent<HTMLElement>) => void | Promise<void>) | undefined;
11
+ blurOnClick?: boolean;
12
+ variant?: ButtonVariant;
13
+ }
14
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { ButtonProps } from './types';
2
+ declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
3
+ export default Button;
@@ -0,0 +1,2 @@
1
+ export { default as Button } from './Button';
2
+ export * from './types';
@@ -0,0 +1,11 @@
1
+ import type { BaseButtonProps } from 'components/buttons/baseButton/types';
2
+ import type { ComponentType } from 'react';
3
+ export type ButtonVariant = 'primary' | 'secondary' | 'Soft' | 'outlined' | 'ghost';
4
+ export type ButtonTextSize = 'sm' | 'md';
5
+ export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
6
+ export interface ButtonProps extends Omit<BaseButtonProps, 'variant' | 'size' | 'component1'> {
7
+ variant?: ButtonVariant;
8
+ size?: ButtonSize;
9
+ textSize?: ButtonTextSize;
10
+ rightComponent?: ComponentType;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './baseButton';
2
+ export * from './button';
@@ -0,0 +1,4 @@
1
+ declare const Error: (props: {
2
+ className?: string | undefined;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default Error;
@@ -0,0 +1 @@
1
+ export { default as ErrorIcon } from './Error';
@@ -0,0 +1,2 @@
1
+ export * from './error';
2
+ export * from './warning';
@@ -0,0 +1,4 @@
1
+ declare const Warning: (props: {
2
+ className?: string | undefined;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default Warning;
@@ -0,0 +1 @@
1
+ export { default as WarningIcon } from './Warning';
@@ -0,0 +1 @@
1
+ export * from './textField';
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import type { MiddlewareOptions, Placement } from '../../../popover/Popover';
3
+ type InputType = 'text' | 'textarea' | (string & {});
4
+ interface Feedback {
5
+ error?: string | undefined;
6
+ info?: string | undefined;
7
+ }
8
+ interface LeftRightIconProps {
9
+ className?: string | undefined;
10
+ }
11
+ type LeftComponentType = React.ComponentType<LeftRightIconProps>;
12
+ type RightComponentType = React.ComponentType<LeftRightIconProps>;
13
+ interface AutocompleteOptions {
14
+ /** Decide when to open based on the current input */
15
+ predicate?: (input: string) => boolean;
16
+ open?: (input: string) => boolean;
17
+ /** Popover placement (kept broad to avoid coupling to the popper types) */
18
+ placement?: Placement;
19
+ /** Popover middleware options (library-specific) */
20
+ middlewareOptions?: MiddlewareOptions;
21
+ /** Renderer for the autocomplete content */
22
+ render?: React.ComponentType<{
23
+ name?: string | undefined;
24
+ value?: string | number | undefined;
25
+ }>;
26
+ }
27
+ export interface TextFieldProps {
28
+ id?: string;
29
+ name?: string;
30
+ label?: string;
31
+ placeholder?: string;
32
+ type?: InputType;
33
+ value?: string | number;
34
+ required?: boolean;
35
+ defaultValue?: string;
36
+ onFocus?: () => void;
37
+ onBlur?: () => void;
38
+ onChange?: (event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>, value?: string) => void;
39
+ size?: 'sm' | 'md' | 'lg' | (string & {});
40
+ border?: 'default' | 'none' | (string & {});
41
+ theme?: 'light' | 'dark' | (string & {});
42
+ LeftComponent?: LeftComponentType;
43
+ RightComponent?: RightComponentType;
44
+ className?: string | undefined;
45
+ disabled?: boolean;
46
+ /** Extra HTML attributes to forward to the input/textarea */
47
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | React.TextareaHTMLAttributes<HTMLTextAreaElement>;
48
+ feedback?: Feedback | undefined;
49
+ maxLength?: number;
50
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
51
+ /** Whether to enable autocomplete popover */
52
+ autocompleteOptions?: AutocompleteOptions | undefined;
53
+ helperText?: string;
54
+ forgotPasswordLink?: string;
55
+ readOnly?: boolean;
56
+ }
57
+ declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
58
+ export default TextField;
@@ -0,0 +1 @@
1
+ export { default as TextField } from './TextField';
@@ -1,3 +1,7 @@
1
1
  export declare const MONTHS: readonly ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
2
2
  export declare const FULL_MONTHS: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
3
- export declare const DAYS: readonly ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
3
+ export declare const FULL_MONTHS_INDEX: {
4
+ value: number;
5
+ label: string;
6
+ }[];
7
+ export declare const DAYS: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@banyan_cloud/roots",
3
- "version": "2.0.51",
3
+ "version": "2.0.53",
4
4
  "description": "Design System Library which drives the Banyan Cloud products",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -73,3 +73,31 @@ $warning-outline: var(--warning-outline);
73
73
  $info: var(--info);
74
74
  $info-bg: var(--info-bg);
75
75
  $info-outline: var(--info-outline);
76
+
77
+ // Button - Primary (V2)
78
+ $button-primary: #1f5fcc;
79
+ $button-primary-hover: #1b55b5;
80
+ $button-primary-active: #0f1f3d;
81
+ $button-disabled: #dcdcdc;
82
+
83
+ $text-on-color: #ffffff;
84
+ $text-disabled: #161616;
85
+
86
+ $focus-primary: #3b82f6;
87
+ $focus-inset: #ffffff;
88
+
89
+ // Button - Secondary (V2)
90
+ $button-secondary: #323232;
91
+ $button-secondary-hover: #3e3e3e;
92
+ $button-secondary-active: #646464;
93
+
94
+ // Button Soft (V2)
95
+ $button-soft-bg: #fef3c7;
96
+ $button-soft-bg-hover: #f3e9bd;
97
+ $button-soft-bg-active: #fcd34d;
98
+
99
+ $soft-text-color: #b34700;
100
+ $soft-svg-color: #b34700;
101
+
102
+ // Text Field
103
+ $text-warning: #da1e28;