@am92/react-design-system 3.0.1-beta.0 → 3.0.1-beta.1

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/Components/DsAddItem/DsAddItem.Component.d.ts +2 -0
  2. package/dist/Components/DsAddItem/DsAddItem.Component.js +105 -0
  3. package/dist/Components/DsAddItem/DsAddItem.Overrides.d.ts +5 -0
  4. package/dist/Components/DsAddItem/DsAddItem.Overrides.js +6 -0
  5. package/dist/Components/DsAddItem/DsAddItem.Types.d.ts +78 -0
  6. package/dist/Components/DsAddItem/DsAddItem.Types.js +35 -0
  7. package/dist/Components/DsAddItem/Slots/DsAddItemActionIcon.Slot.d.ts +3 -0
  8. package/dist/Components/DsAddItem/Slots/DsAddItemActionIcon.Slot.js +9 -0
  9. package/dist/Components/DsAddItem/Slots/DsAddItemCounterText.Slot.d.ts +3 -0
  10. package/dist/Components/DsAddItem/Slots/DsAddItemCounterText.Slot.js +15 -0
  11. package/dist/Components/DsAddItem/index.d.ts +3 -0
  12. package/dist/Components/DsAddItem/index.js +3 -0
  13. package/dist/Components/DsBadge/DsBadge.Component.d.ts +2 -1
  14. package/dist/Components/DsBadge/DsBadge.Component.js +11 -1
  15. package/dist/Components/DsBadge/DsBadge.Overrides.d.ts +23 -1
  16. package/dist/Components/DsBadge/DsBadge.Overrides.js +23 -0
  17. package/dist/Components/DsBadge/DsBadge.Types.d.ts +5 -1
  18. package/dist/Components/DsDialog/DsDialog.Component.js +3 -3
  19. package/dist/Components/DsDialog/DsDialog.Types.d.ts +3 -1
  20. package/dist/Components/DsFab/DsFab.Overrides.js +1 -0
  21. package/dist/Components/DsTabs/DsTabs.Overrides.d.ts +2 -2
  22. package/dist/Components/DsTabs/DsTabs.Overrides.js +79 -39
  23. package/dist/Components/DsTabs/DsTabs.Types.d.ts +2 -2
  24. package/dist/Components/DsTabs/DsTabs.Types.js +2 -2
  25. package/dist/Components/DsTag/DsTag.Component.js +29 -9
  26. package/dist/Components/index.d.ts +1 -0
  27. package/dist/Components/index.js +1 -0
  28. package/dist/Theme/componentOverrides.d.ts +24 -0
  29. package/dist/Theme/componentOverrides.js +2 -1
  30. package/dist/Theme/index.d.ts +5 -0
  31. package/dist/Theme/radius.js +1 -0
  32. package/dist/Theme/spacing.js +1 -0
  33. package/dist/Types/DsRadius.d.ts +1 -1
  34. package/dist/Types/DsSpacing.d.ts +1 -1
  35. package/dist/x-charts/Hooks/index.d.ts +3 -0
  36. package/dist/x-charts/Hooks/index.js +5 -0
  37. package/dist/x-charts/index.d.ts +1 -0
  38. package/dist/x-charts/index.js +1 -0
  39. package/package.json +3 -3
@@ -0,0 +1,2 @@
1
+ import { type DsAddItemProps } from "./DsAddItem.Types";
2
+ export declare const DsAddItem: (inProps: DsAddItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,105 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ import { DsAddItemDefaultProps, DEFAULT_STEP_VALUE, } from "./DsAddItem.Types";
4
+ import STATE_STYLES from "../../Theme/STATE_STYLES";
5
+ import { DsButtonBase } from "../DsButtonBase";
6
+ import { DsBox } from "../DsBox";
7
+ export const DsAddItem = (inProps) => {
8
+ const mergedSlots = {
9
+ ...DsAddItemDefaultProps.slots,
10
+ ...(inProps.slots || {}),
11
+ };
12
+ const mergedSlotProps = {
13
+ ...DsAddItemDefaultProps.slotProps,
14
+ ...(inProps.slotProps || {}),
15
+ };
16
+ const props = {
17
+ ...DsAddItemDefaultProps,
18
+ ...inProps,
19
+ slots: mergedSlots,
20
+ slotProps: mergedSlotProps,
21
+ };
22
+ const { value, label, maxValue, minValue, step, slots, slotProps, disabled, onChange, name, loading, ...restProps } = props;
23
+ const isControlled = typeof value === "number";
24
+ const { LeftIconButton, RightIconButton, CounterText } = slots;
25
+ // Internal state for count value, initialized based on control mode
26
+ const [countValue, setCountValue] = useState(isControlled ? value : 0);
27
+ // Component is in "empty" state when count is 0 (shows single Add button)
28
+ const isEmptyCount = countValue === 0;
29
+ useEffect(() => {
30
+ if (isControlled && value !== countValue) {
31
+ setCountValue(value);
32
+ }
33
+ }, [value]);
34
+ const isAddDisabled = disabled || loading || (maxValue !== undefined && countValue >= maxValue);
35
+ const isSubtractDisabled = disabled || loading;
36
+ // Helper function to check if value is below minValue threshold
37
+ const isBelowMinValue = (value) => {
38
+ return minValue !== undefined && value < minValue;
39
+ };
40
+ // Helper function to calculate new value based on operation
41
+ const calculateNewValue = (operation) => {
42
+ const stepValue = step ?? DEFAULT_STEP_VALUE;
43
+ return operation === "add"
44
+ ? countValue + stepValue
45
+ : countValue - stepValue;
46
+ };
47
+ const handleAdd = (e) => {
48
+ e.stopPropagation();
49
+ if (!isAddDisabled) {
50
+ let newValue = calculateNewValue("add");
51
+ // Jump to minValue if increment would result in a value below minimum threshold
52
+ if (isBelowMinValue(newValue)) {
53
+ newValue = minValue;
54
+ }
55
+ if (!isControlled) {
56
+ setCountValue(newValue);
57
+ }
58
+ if (typeof onChange === "function")
59
+ onChange(name, newValue, "increment");
60
+ }
61
+ };
62
+ const handleSubtract = (e) => {
63
+ e.stopPropagation();
64
+ if (!isSubtractDisabled) {
65
+ let newValue = calculateNewValue("subtract");
66
+ // Reset to 0 if would go negative or below minValue (back to "add" state)
67
+ if (newValue < 0 || isBelowMinValue(newValue)) {
68
+ newValue = 0;
69
+ }
70
+ if (!isControlled) {
71
+ setCountValue(newValue);
72
+ }
73
+ if (typeof onChange === "function")
74
+ onChange(name, newValue, "decrement");
75
+ }
76
+ };
77
+ const fabSx = useMemo(() => ({
78
+ px: "var(--ds-spacing-glacial)",
79
+ pt: isEmptyCount ? "var(--ds-spacing-quickFreeze)" : 0,
80
+ pb: isEmptyCount ? "var(--ds-spacing-quickFreeze)" : 0,
81
+ minWidth: "90px",
82
+ minHeight: "var(--ds-spacing-tepid)",
83
+ borderRadius: "var(--ds-radius-cool)",
84
+ boxShadow: "var(--ds-elevation-8)",
85
+ background: "var(--ds-colour-surfacePrimary)",
86
+ "&:hover": {
87
+ background: "var(--ds-colour-surfacePrimary) !important",
88
+ },
89
+ ...STATE_STYLES.SURFACE_SECONDARY_STATE_PRIMARY,
90
+ pointerEvents: !isEmptyCount && disabled ? "none" : "auto",
91
+ "&.Mui-disabled": {
92
+ background: "var(--ds-colour-stateDisabledSurface) !important",
93
+ },
94
+ ...restProps.sx,
95
+ }), [isEmptyCount, disabled, restProps.sx]);
96
+ const boxSx = useMemo(() => ({
97
+ ...fabSx,
98
+ display: "flex",
99
+ justifyContent: "center",
100
+ alignItems: "center",
101
+ ...restProps.sx,
102
+ }), [fabSx, restProps.sx]);
103
+ const counterTextElement = CounterText && (_jsx(CounterText, { value: countValue, label: label ?? "", disabled: disabled ?? false, ...slotProps?.CounterText }));
104
+ return isEmptyCount ? (_jsx(DsButtonBase, { "aria-label": label, "aria-disabled": disabled, color: "default", ...restProps, onClick: isEmptyCount ? handleAdd : undefined, sx: fabSx, disableRipple: !isEmptyCount || disabled, children: counterTextElement })) : (_jsxs(DsBox, { component: "div", "aria-label": label, "aria-disabled": disabled, color: "default", ...restProps, onClick: isEmptyCount ? handleAdd : undefined, sx: boxSx, children: [!isEmptyCount && LeftIconButton && (_jsx(LeftIconButton, { disabled: isSubtractDisabled, onClick: handleSubtract, "aria-label": "Decrease value", ...slotProps?.LeftIconButton })), counterTextElement, !isEmptyCount && RightIconButton && (_jsx(RightIconButton, { onClick: handleAdd, disabled: isAddDisabled, "aria-label": "Increase value", ...slotProps?.RightIconButton }))] }));
105
+ };
@@ -0,0 +1,5 @@
1
+ export declare const DsAddItemOverrides: {
2
+ DsAddItem: {
3
+ defaultProps: Partial<import("./DsAddItem.Types").DsAddItemProps>;
4
+ };
5
+ };
@@ -0,0 +1,6 @@
1
+ import { DsAddItemDefaultProps } from "./DsAddItem.Types";
2
+ export const DsAddItemOverrides = {
3
+ DsAddItem: {
4
+ defaultProps: DsAddItemDefaultProps,
5
+ },
6
+ };
@@ -0,0 +1,78 @@
1
+ import type { ComponentType } from "react";
2
+ import { DsButtonBaseProps } from "../DsButtonBase";
3
+ import { DsTypographyProps } from "../DsTypography";
4
+ import { DsIconButtonProps } from "../DsIconButton";
5
+ import { DsRemixIconProps } from "../DsRemixIcon";
6
+ /**
7
+ * Default step value for increment/decrement operations
8
+ */
9
+ export declare const DEFAULT_STEP_VALUE = 1;
10
+ /**
11
+ * Props for action buttons (left/right) within the add item component
12
+ * Extends DsIconButtonProps with optional icon configuration
13
+ */
14
+ export interface DsAddItemActionButtonProps extends DsIconButtonProps {
15
+ /** Props for the icon within the action button */
16
+ IconProps?: Omit<DsRemixIconProps, "ref">;
17
+ }
18
+ /**
19
+ * Props for the counter text display showing current count
20
+ */
21
+ export interface DsAddItemCounterTextProps extends DsTypographyProps {
22
+ label: string;
23
+ value: number;
24
+ disabled: boolean;
25
+ }
26
+ /**
27
+ * Slots configuration for customizing components
28
+ */
29
+ export interface DsAddItemSlots {
30
+ /** Component for the left (subtract) icon button */
31
+ LeftIconButton?: ComponentType<DsAddItemActionButtonProps>;
32
+ /** Component for the right (add) icon button */
33
+ RightIconButton?: ComponentType<DsAddItemActionButtonProps>;
34
+ /** Component for the counter text display */
35
+ CounterText?: ComponentType<DsAddItemCounterTextProps>;
36
+ }
37
+ /**
38
+ * Slot props configuration for customizing different parts of the add item component
39
+ */
40
+ export interface DsAddItemSlotProps {
41
+ /** Props for the left (subtract) icon button */
42
+ LeftIconButton?: DsAddItemActionButtonProps;
43
+ /** Props for the right (add) icon button */
44
+ RightIconButton?: DsAddItemActionButtonProps;
45
+ /** Props for the counter text display */
46
+ CounterText?: DsAddItemCounterTextProps;
47
+ }
48
+ /**
49
+ * Main props interface for the DsAddItem component
50
+ * Extends DsFabProps while omitting the onChange prop to define custom signature
51
+ */
52
+ export interface DsAddItemProps extends Omit<DsButtonBaseProps, "onChange" | "value"> {
53
+ /** The current count value */
54
+ value?: number;
55
+ /** The maximum allowed value */
56
+ maxValue?: number;
57
+ /** The minimum allowed value */
58
+ minValue?: number;
59
+ /** The step size for increment/decrement */
60
+ step?: number;
61
+ /** The label to show when count is 0 */
62
+ label?: string;
63
+ /** Handler called when count changes */
64
+ onChange: (name: string, value: number, reason: "increment" | "decrement") => void;
65
+ /** Custom components to use for slots */
66
+ slots?: DsAddItemSlots;
67
+ /** Props to pass to slot components */
68
+ slotProps?: DsAddItemSlotProps;
69
+ /** Name of the counter field */
70
+ name: string;
71
+ /** Whether the counter is in loading state */
72
+ loading?: boolean;
73
+ }
74
+ /**
75
+ * Default props configuration for DsAddItem component
76
+ * Provides sensible defaults for count, label, and slot styling
77
+ */
78
+ export declare const DsAddItemDefaultProps: Partial<DsAddItemProps>;
@@ -0,0 +1,35 @@
1
+ import { DsAddItemIconButton } from "./Slots/DsAddItemActionIcon.Slot";
2
+ import { DsAddItemCounterText } from "./Slots/DsAddItemCounterText.Slot";
3
+ /**
4
+ * Default step value for increment/decrement operations
5
+ */
6
+ export const DEFAULT_STEP_VALUE = 1;
7
+ /**
8
+ * Default props configuration for DsAddItem component
9
+ * Provides sensible defaults for count, label, and slot styling
10
+ */
11
+ export const DsAddItemDefaultProps = {
12
+ label: "Add",
13
+ step: DEFAULT_STEP_VALUE,
14
+ minValue: 0,
15
+ onChange: () => { },
16
+ slots: {
17
+ LeftIconButton: DsAddItemIconButton,
18
+ RightIconButton: DsAddItemIconButton,
19
+ CounterText: DsAddItemCounterText,
20
+ },
21
+ slotProps: {
22
+ LeftIconButton: {
23
+ color: "secondary",
24
+ IconProps: {
25
+ className: "ri-subtract-line",
26
+ },
27
+ },
28
+ RightIconButton: {
29
+ color: "secondary",
30
+ IconProps: {
31
+ className: "ri-add-line",
32
+ },
33
+ },
34
+ },
35
+ };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { DsAddItemActionButtonProps } from "../DsAddItem.Types";
3
+ export declare const DsAddItemIconButton: React.FC<DsAddItemActionButtonProps>;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DsIconButton } from "../../DsIconButton";
3
+ import { DsRemixIcon } from "../../DsRemixIcon";
4
+ export const DsAddItemIconButton = ({ onClick, disabled, IconProps, ...iconButtonProps }) => {
5
+ return (_jsx(DsIconButton, { disabled: disabled, onClick: onClick, ...iconButtonProps, children: _jsx(DsRemixIcon, { sx: {
6
+ fontSize: "20px",
7
+ ...IconProps?.sx,
8
+ }, ...IconProps }) }));
9
+ };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { DsAddItemCounterTextProps } from "../DsAddItem.Types";
3
+ export declare const DsAddItemCounterText: React.FC<DsAddItemCounterTextProps>;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DsTypography } from "../../DsTypography";
3
+ export const DsAddItemCounterText = ({ label, value, disabled, ...textProps }) => {
4
+ const isEmptyCount = value === 0;
5
+ return (_jsx(DsTypography, { variant: isEmptyCount ? "supportBoldTextButton" : "bodyBoldMedium", color: disabled
6
+ ? "var(--ds-colour-typoDisabled)"
7
+ : isEmptyCount
8
+ ? "var(--ds-colour-typoActionSecondary)"
9
+ : "var(--ds-colour-typoPrimary)", sx: {
10
+ mx: isEmptyCount
11
+ ? "var(--ds-spacing-cool)"
12
+ : "var(--ds-spacing-glacial)",
13
+ ...textProps.sx,
14
+ }, ...textProps, children: isEmptyCount ? label : value }));
15
+ };
@@ -0,0 +1,3 @@
1
+ export * from './DsAddItem.Component';
2
+ export * from './DsAddItem.Overrides';
3
+ export * from './DsAddItem.Types';
@@ -0,0 +1,3 @@
1
+ export * from './DsAddItem.Component';
2
+ export * from './DsAddItem.Overrides';
3
+ export * from './DsAddItem.Types';
@@ -1 +1,2 @@
1
- export { default as DsBadge } from '@mui/material/Badge';
1
+ import { DsBadgeProps } from './DsBadge.Types';
2
+ export declare const DsBadge: import("react").ForwardRefExoticComponent<Omit<DsBadgeProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1 +1,11 @@
1
- export { default as DsBadge } from '@mui/material/Badge';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import Badge from '@mui/material/Badge';
4
+ import { useThemeProps } from '@mui/system';
5
+ export const DsBadge = forwardRef((inProps, ref) => {
6
+ const props = useThemeProps({
7
+ props: inProps,
8
+ name: 'MuiBadge'
9
+ });
10
+ return _jsx(Badge, { ref: ref, ...props });
11
+ });
@@ -1,7 +1,29 @@
1
+ import { DsBadgeProps } from './DsBadge.Types';
1
2
  export declare const DsBadgeOverrides: {
2
3
  MuiBadge: {
3
- defaultProps: import("./DsBadge.Types").DsBadgeProps;
4
+ defaultProps: DsBadgeProps;
4
5
  styleOverrides: {
6
+ root: {
7
+ variants: ({
8
+ props: Partial<DsBadgeProps>;
9
+ style: {
10
+ '& .MuiBadge-badge': {
11
+ backgroundColor: string;
12
+ color: string;
13
+ pointerEvents?: undefined;
14
+ };
15
+ };
16
+ } | {
17
+ props: Partial<DsBadgeProps>;
18
+ style: {
19
+ '& .MuiBadge-badge': {
20
+ backgroundColor: string;
21
+ color: string;
22
+ pointerEvents: string;
23
+ };
24
+ };
25
+ })[];
26
+ };
5
27
  standard: {
6
28
  fontWeight: string;
7
29
  fontSize: string;
@@ -3,6 +3,29 @@ export const DsBadgeOverrides = {
3
3
  MuiBadge: {
4
4
  defaultProps: DsBadgeDefaultProps,
5
5
  styleOverrides: {
6
+ root: {
7
+ variants: [
8
+ {
9
+ props: { color: 'inverse' },
10
+ style: {
11
+ '& .MuiBadge-badge': {
12
+ backgroundColor: 'var(--ds-colour-iconOnSurface)',
13
+ color: 'var(--ds-colour-actionSecondary)',
14
+ }
15
+ },
16
+ },
17
+ {
18
+ props: { disabled: true },
19
+ style: {
20
+ '& .MuiBadge-badge': {
21
+ backgroundColor: 'var(--ds-colour-iconDisabled)',
22
+ color: 'var(--ds-colour-typoOnSurface)',
23
+ pointerEvents: 'none'
24
+ }
25
+ }
26
+ }
27
+ ],
28
+ },
6
29
  standard: {
7
30
  fontWeight: 'var(--ds-typo-supportRegularInfo-fontWeight)',
8
31
  fontSize: 'var(--ds-typo-supportRegularInfo-fontSize)',
@@ -1,4 +1,8 @@
1
1
  import { BadgeProps } from '@mui/material';
2
- export interface DsBadgeProps extends BadgeProps {
2
+ type TDsBadgeExtendedColor = BadgeProps['color'] | 'inverse';
3
+ export interface DsBadgeProps extends Omit<BadgeProps, 'color'> {
4
+ color?: TDsBadgeExtendedColor;
5
+ disabled?: boolean;
3
6
  }
4
7
  export declare const DsBadgeDefaultProps: DsBadgeProps;
8
+ export {};
@@ -11,10 +11,10 @@ import { DsButton } from '../DsButton';
11
11
  import { mergeSlotProps } from '../../utils';
12
12
  export const DsDialog = inProps => {
13
13
  const props = { ...DsDialogDefaultProps, ...inProps };
14
- const handleCloseClick = (event) => {
14
+ const handleCloseClick = (reason) => (event) => {
15
15
  const { onClose } = props;
16
16
  if (typeof onClose === 'function') {
17
- onClose(event, 'backdropClick');
17
+ onClose(event, reason ? reason : 'backdropClick');
18
18
  }
19
19
  };
20
20
  const { title, description, kicker, showClose, primaryButtonText, primaryButtonProps, secondaryButtonText, secondaryButtonProps, PaperProps, TitleProps, DescriptionProps, CloseIconButtonProps, CloseIconProps, KickerProps, ContentProps, ActionsProps, children, slotProps, ...DialogProps } = props;
@@ -71,7 +71,7 @@ export const DsDialog = inProps => {
71
71
  md: 'var(--ds-spacing-warm)'
72
72
  },
73
73
  ...DescriptionProps?.sx
74
- }, children: description })), showClose && (_jsx(DsIconButton, { onClick: handleCloseClick, ...CloseIconButtonProps, sx: {
74
+ }, children: description })), showClose && (_jsx(DsIconButton, { onClick: handleCloseClick('closeButtonClick'), ...CloseIconButtonProps, sx: {
75
75
  position: 'absolute',
76
76
  padding: 'var(--ds-spacing-quickFreeze)',
77
77
  borderRadius: 'var(--ds-radius-mild)',
@@ -6,7 +6,8 @@ import { DsRemixIconProps } from '../DsRemixIcon';
6
6
  import { DsDialogContentProps } from '../DsDialogContent';
7
7
  import { DsDialogActionsProps } from '../DsDialogActions';
8
8
  import { DsButtonProps } from '../DsButton';
9
- export interface DsDialogProps extends DialogProps {
9
+ export type DsDialogCloseReason = 'backdropClick' | 'escapeKeyDown' | 'closeButtonClick';
10
+ export interface DsDialogProps extends Omit<DialogProps, 'onClose'> {
10
11
  title?: string;
11
12
  description?: string;
12
13
  kicker?: string;
@@ -22,5 +23,6 @@ export interface DsDialogProps extends DialogProps {
22
23
  CloseIconProps?: Omit<DsRemixIconProps, 'ref'>;
23
24
  ContentProps?: DsDialogContentProps;
24
25
  ActionsProps?: DsDialogActionsProps;
26
+ onClose?: (event: React.SyntheticEvent, reason: DsDialogCloseReason) => void;
25
27
  }
26
28
  export declare const DsDialogDefaultProps: DsDialogProps;
@@ -40,6 +40,7 @@ export const DsFabOverrides = {
40
40
  ...STATE_STYLES.ACTION_SECONDARY_STATE_SECONDARY
41
41
  },
42
42
  default: {
43
+ color: 'var(--ds-colour-typoPrimary)',
43
44
  backgroundColor: 'var(--ds-colour-surfacePrimary)',
44
45
  borderWidth: '1px',
45
46
  borderStyle: 'solid',
@@ -1,5 +1,5 @@
1
- import { CSSObject } from '@mui/system';
2
- import { DsTabsProps } from './DsTabs.Types';
1
+ import type { CSSObject } from "@mui/system";
2
+ import type { DsTabsProps } from "./DsTabs.Types";
3
3
  export declare const DsTabsOverrides: {
4
4
  MuiTabs: {
5
5
  defaultProps: DsTabsProps;
@@ -1,52 +1,92 @@
1
- import { DsTabsDefaultProps } from './DsTabs.Types';
1
+ import { DsTabsDefaultProps } from "./DsTabs.Types";
2
2
  export const DsTabsOverrides = {
3
3
  MuiTabs: {
4
4
  defaultProps: DsTabsDefaultProps,
5
5
  styleOverrides: {
6
6
  root: {
7
- minHeight: '36px',
7
+ minHeight: "36px",
8
8
  variants: [
9
9
  {
10
- props: { 'ds-variant': 'container' },
10
+ props: { "ds-variant": "container" },
11
11
  style: {
12
- '> .MuiTabs-scroller > .MuiTabs-indicator': {
13
- height: '0px'
12
+ "> .MuiTabs-scroller > .MuiTabs-indicator": {
13
+ height: "0px",
14
14
  },
15
- '> .MuiTabs-scroller > .MuiTabs-flexContainer': {
16
- gap: 'var(--ds-spacing-glacial)',
17
- '> .MuiTab-root': {
18
- fontWeight: 'var(--ds-typo-supportRegularMetadata-fontWeight)',
19
- fontSize: 'var(--ds-typo-supportRegularMetadata-fontSize)',
20
- lineHeight: 'var(--ds-typo-supportRegularMetadata-lineHeight)',
21
- letterSpacing: 'var(--ds-typo-supportRegularMetadata-letterSpacing)',
22
- borderRadius: 'var(--ds-radius-quickFreeze)',
23
- paddingTop: 'var(--ds-spacing-frostbite)',
24
- paddingBottom: 'var(--ds-spacing-frostbite)',
25
- borderWidth: '1px',
26
- borderStyle: 'solid',
27
- backgroundColor: 'var(--ds-colour-surfaceSecondary)',
28
- borderColor: 'var(--ds-colour-strokeDefault)',
29
- color: 'var(--ds-colour-typoSecondary)',
30
- '&.Mui-selected': {
31
- backgroundColor: 'var(--ds-colour-stateSelectedSecondaryHover)',
32
- borderColor: 'var(--ds-colour-strokeSecondarySelected)',
33
- color: 'var(--ds-colour-typoActionTertiary)'
15
+ "> .MuiTabs-scroller > .MuiTabs-flexContainer": {
16
+ gap: "var(--ds-spacing-glacial)",
17
+ "> .MuiTab-root": {
18
+ fontWeight: "var(--ds-typo-supportRegularMetadata-fontWeight)",
19
+ fontSize: "var(--ds-typo-supportRegularMetadata-fontSize)",
20
+ lineHeight: "var(--ds-typo-supportRegularMetadata-lineHeight)",
21
+ letterSpacing: "var(--ds-typo-supportRegularMetadata-letterSpacing)",
22
+ borderRadius: "var(--ds-radius-quickFreeze)",
23
+ paddingTop: "var(--ds-spacing-frostbite)",
24
+ paddingBottom: "var(--ds-spacing-frostbite)",
25
+ borderWidth: "1px",
26
+ borderStyle: "solid",
27
+ backgroundColor: "var(--ds-colour-surfaceSecondary)",
28
+ borderColor: "var(--ds-colour-strokeDefault)",
29
+ color: "var(--ds-colour-typoSecondary)",
30
+ "&.Mui-selected": {
31
+ backgroundColor: "var(--ds-colour-stateSelectedSecondaryHover)",
32
+ borderColor: "var(--ds-colour-strokeSecondarySelected)",
33
+ color: "var(--ds-colour-typoActionTertiary)",
34
34
  },
35
- '&.Mui-disabled': {
36
- backgroundColor: 'none',
37
- borderColor: 'none',
38
- color: 'var(--ds-colour-typoDisabled)'
39
- }
40
- }
41
- }
42
- }
43
- }
44
- ]
35
+ "&.Mui-disabled": {
36
+ backgroundColor: "transparent",
37
+ borderColor: "transparent",
38
+ color: "var(--ds-colour-typoDisabled)",
39
+ },
40
+ },
41
+ },
42
+ },
43
+ },
44
+ {
45
+ props: { "ds-variant": "segmented" },
46
+ style: {
47
+ "& .MuiTabs-scroller": {
48
+ backgroundColor: "var(--ds-colour-neutral1)",
49
+ borderRadius: "var(--ds-radius-glacial)",
50
+ padding: "var(--ds-spacing-quickFreeze)",
51
+ boxSizing: "border-box",
52
+ position: "relative",
53
+ "& .MuiTabs-indicator": {
54
+ height: "calc(100% - var(--ds-spacing-glacial))",
55
+ top: "var(--ds-spacing-quickFreeze)",
56
+ borderRadius: "var(--ds-radius-gelid)",
57
+ backgroundColor: "var(--ds-colour-surfaceBackground)",
58
+ zIndex: 1,
59
+ },
60
+ "& .MuiTabs-flexContainer": {
61
+ gap: "var(--ds-spacing-zero)",
62
+ position: "relative",
63
+ zIndex: 2,
64
+ },
65
+ "& .MuiTab-root": {
66
+ position: "relative",
67
+ borderBottom: "none",
68
+ padding: "var(--ds-spacing-gelid) var(--ds-spacing-frostbite)",
69
+ minHeight: "unset",
70
+ color: "var(--ds-colour-typoPrimary)",
71
+ "&.Mui-selected:not(.Mui-disabled)": {
72
+ boxShadow: "var(--ds-elevation-2)",
73
+ borderRadius: "var(--ds-radius-gelid)",
74
+ },
75
+ "&.Mui-disabled": {
76
+ backgroundColor: "var(--ds-colour-neutral1)",
77
+ color: "var(--ds-colour-typoDisabled)",
78
+ fontWeight: "var(--ds-typo-bodyRegularMedium-fontWeight)",
79
+ },
80
+ },
81
+ },
82
+ },
83
+ },
84
+ ],
45
85
  },
46
86
  indicator: {
47
- height: '2px',
48
- borderRadius: '2px 2px 0px 0px'
49
- }
50
- }
51
- }
87
+ height: "2px",
88
+ borderRadius: "2px 2px 0px 0px",
89
+ },
90
+ },
91
+ },
52
92
  };
@@ -1,5 +1,5 @@
1
- import { TabsProps } from '@mui/material';
1
+ import { TabsProps } from "@mui/material";
2
2
  export interface DsTabsProps extends TabsProps {
3
- 'ds-variant'?: 'container';
3
+ "ds-variant"?: "container" | "segmented";
4
4
  }
5
5
  export declare const DsTabsDefaultProps: DsTabsProps;
@@ -1,4 +1,4 @@
1
1
  export const DsTabsDefaultProps = {
2
- indicatorColor: 'secondary',
3
- textColor: 'secondary'
2
+ indicatorColor: "secondary",
3
+ textColor: "secondary",
4
4
  };
@@ -17,11 +17,13 @@ export const DsTag = inProps => {
17
17
  onDelete(value);
18
18
  }
19
19
  };
20
- const { selected, onClick, onDelete, ...chipProps } = props;
20
+ const { selected, onClick, onDelete, sx, ...chipProps } = props;
21
21
  const color = (selected && 'secondary') || 'default';
22
22
  return (_jsx(Chip, { deleteIcon: _jsx(DsRemixIcon, { className: "ri-close-circle-fill" }), skipFocusWhenDisabled: true, sx: {
23
23
  paddingTop: 'var(--ds-spacing-quickFreeze)',
24
24
  paddingBottom: 'var(--ds-spacing-quickFreeze)',
25
+ paddingLeft: 'var(--ds-spacing-frostbite)',
26
+ paddingRight: 'var(--ds-spacing-frostbite)',
25
27
  fontWeight: 'var(--ds-typo-bodyRegularMedium-fontWeight)',
26
28
  fontSize: 'var(--ds-typo-bodyRegularMedium-fontSize)',
27
29
  lineHeight: 'var(--ds-typo-bodyRegularMedium-lineHeight)',
@@ -40,22 +42,40 @@ export const DsTag = inProps => {
40
42
  },
41
43
  ...STATE_STYLES.ACTION_SECONDARY_STATE_SECONDARY
42
44
  },
45
+ '&.Mui-disabled': {
46
+ opacity: 1,
47
+ border: '1px solid var(--ds-colour-strokeDisabled)',
48
+ backgroundColor: 'var(--ds-colour-stateDisabledSurface)',
49
+ },
43
50
  '> .MuiChip-label': {
51
+ color: 'var(--ds-colour-typoPrimary)',
44
52
  paddingTop: 'var(--ds-spacing-deepFreeze)',
45
53
  paddingBottom: 'var(--ds-spacing-deepFreeze)',
46
- paddingLeft: 'var(--ds-spacing-frostbite)',
47
- paddingRight: 'var(--ds-spacing-frostbite)'
54
+ paddingLeft: 'var(--ds-spacing-zero)',
55
+ paddingRight: 'var(--ds-spacing-zero)'
48
56
  },
49
57
  '> .MuiChip-icon': {
50
- color: 'var(--ds-colour-iconDefault)',
58
+ color: 'var(--ds-colour-typoPrimary)',
51
59
  fontSize: 'var(--ds-typo-fontSizeBitterCold)',
52
- marginLeft: 'var(--ds-spacing-frostbite)',
53
- marginRight: 'calc(var(--ds-spacing-quickFreeze) * -1)'
60
+ marginLeft: 'var(--ds-spacing-zero)',
61
+ marginRight: 'var(--ds-spacing-glacial)',
54
62
  },
55
63
  '> .MuiChip-deleteIcon': {
56
64
  fontSize: 'var(--ds-typo-fontSizeBitterCold)',
57
- marginRight: 'var(--ds-spacing-frostbite)',
58
- marginLeft: 'calc(var(--ds-spacing-quickFreeze) * -1)'
59
- }
65
+ marginRight: 'var(--ds-spacing-zero)',
66
+ marginLeft: 'var(--ds-spacing-glacial)',
67
+ color: 'var(--ds-colour-typoPrimary)',
68
+ },
69
+ '&.MuiChip-colorSecondary .MuiChip-label, &.MuiChip-colorSecondary .MuiChip-deleteIcon': {
70
+ color: 'var(--ds-colour-typoOnSurface)'
71
+ },
72
+ '&.Mui-disabled .MuiChip-icon, &.Mui-disabled .MuiChip-deleteIcon': {
73
+ color: 'var(--ds-colour-iconDisabled)'
74
+ },
75
+ '&.Mui-disabled .MuiChip-label': {
76
+ color: 'var(--ds-colour-typoDisabled)',
77
+ fontWeight: 'var(--ds-typo-bodyRegularMedium-fontWeight)',
78
+ },
79
+ ...sx
60
80
  }, ...chipProps, variant: "tag", clickable: true, color: color, onDelete: (onDelete && handleDelete) || undefined, onClick: handleClick }));
61
81
  };
@@ -2,6 +2,7 @@ export * from './DsAccordion';
2
2
  export * from './DsAccordionActions';
3
3
  export * from './DsAccordionDetails';
4
4
  export * from './DsAccordionSummary';
5
+ export * from './DsAddItem';
5
6
  export * from './DsAppBar';
6
7
  export * from './DsAutocomplete';
7
8
  export * from './DsAvatar';
@@ -2,6 +2,7 @@ export * from './DsAccordion';
2
2
  export * from './DsAccordionActions';
3
3
  export * from './DsAccordionDetails';
4
4
  export * from './DsAccordionSummary';
5
+ export * from './DsAddItem';
5
6
  export * from './DsAppBar';
6
7
  export * from './DsAutocomplete';
7
8
  export * from './DsAvatar';
@@ -1268,6 +1268,27 @@ declare const componentOverrides: {
1268
1268
  MuiBadge: {
1269
1269
  defaultProps: import("../Components").DsBadgeProps;
1270
1270
  styleOverrides: {
1271
+ root: {
1272
+ variants: ({
1273
+ props: Partial<import("../Components").DsBadgeProps>;
1274
+ style: {
1275
+ '& .MuiBadge-badge': {
1276
+ backgroundColor: string;
1277
+ color: string;
1278
+ pointerEvents?: undefined;
1279
+ };
1280
+ };
1281
+ } | {
1282
+ props: Partial<import("../Components").DsBadgeProps>;
1283
+ style: {
1284
+ '& .MuiBadge-badge': {
1285
+ backgroundColor: string;
1286
+ color: string;
1287
+ pointerEvents: string;
1288
+ };
1289
+ };
1290
+ })[];
1291
+ };
1271
1292
  standard: {
1272
1293
  fontWeight: string;
1273
1294
  fontSize: string;
@@ -1432,6 +1453,9 @@ declare const componentOverrides: {
1432
1453
  };
1433
1454
  };
1434
1455
  };
1456
+ DsAddItem: {
1457
+ defaultProps: Partial<import("../Components").DsAddItemProps>;
1458
+ };
1435
1459
  MuiAccordionDetails: {
1436
1460
  styleOverrides: {
1437
1461
  root: {
@@ -1,9 +1,10 @@
1
- import { DsAccordionOverrides, DsAccordionActionsOverrides, DsAccordionDetailsOverrides, DsAccordionSummaryOverrides, DsAppBarOverrides, DsAutocompleteOverrides, DsAvatarOverrides, DsAvatarGroupOverrides, DsBackdropOverrides, DsBadgeOverrides, DsBottomNavigationOverrides, DsBottomNavigationActionOverrides, DsBottomSheetOverrides, DsBoxOverrides, DsBreadcrumbsOverrides, DsButtonOverrides, DsButtonBaseOverrides, DsButtonGroupOverrides, DsCardOverrides, DsCardActionAreaOverrides, DsCardActionsOverrides, DsCardContentOverrides, DsCardHeaderOverrides, DsCardMediaOverrides, DsCarouselOverrides, DsCheckboxOverrides, DsChipOverrides, DsChipGroupOverrides, DsCircularProgressOverrides, DsClickAwayListenerOverrides, DsCollapseOverrides, DsCssBaselineOverrides, DsContainerOverrides, DsDialogOverrides, DsDialogActionsOverrides, DsDialogContentOverrides, DsDialogContentTextOverrides, DsDialogTitleOverrides, DsDividerOverrides, DsDrawerOverrides, DsFabOverrides, DsFadeOverrides, DsFileUploaderOverrides, DsFilledInputOverrides, DsFormControlOverrides, DsFormControlLabelOverrides, DsFormGroupOverrides, DsFormHelperTextOverrides, DsFormLabelOverrides, DsGlobalStylesOverrides, DsGridOverrides, DsGrowOverrides, DsHeaderOverrides, DsHelperTextOverrides, DsIconOverrides, DsIconButtonOverrides, DsImageOverrides, DsImageListOverrides, DsImageListItemOverrides, DsImageListItemBarOverrides, DsInputOverrides, DsInputAdornmentOverrides, DsInputBaseOverrides, DsInputLabelOverrides, DsLinearProgressOverrides, DsLinkOverrides, DsListOverrides, DsListItemOverrides, DsListItemAvatarOverrides, DsListItemButtonOverrides, DsListItemIconOverrides, DsListItemSecondaryActionOverrides, DsListItemTextOverrides, DsListSubheaderOverrides, DsLoaderOverrides, DsMenuOverrides, DsMenuItemOverrides, DsMenuListOverrides, DsMobileStepperOverrides, DsModalOverrides, DsNativeSelectOverrides, DsNoSsrOverrides, DsNotistackOverrides, DsOtpOverrides, DsOutlinedInputOverrides, DsPaginationOverrides, DsPaginationItemOverrides, DsPaperOverrides, DsPopoverOverrides, DsPopperOverrides, DsPopupOverrides, DsPortalOverrides, DsProgressIndicatorOverrides, DsProgressTrackerOverrides, DsRadioOverrides, DsRadioGroupOverrides, DsRatingOverrides, DsRemixIconOverrides, DsScopedCssBaselineOverrides, DsSearchbarOverrides, DsSelectOverrides, DsSkeletonOverrides, DsSlideOverrides, DsSliderOverrides, DsSpeedDialOverrides, DsSpeedDialActionOverrides, DsSpeedDialIconOverrides, DsStackOverrides, DsStepOverrides, DsStepButtonOverrides, DsStepConnectorOverrides, DsStepContentOverrides, DsStepIconOverrides, DsStepLabelOverrides, DsStepperOverrides, DsSvgIconOverrides, DsSwipeableDrawerOverrides, DsSwitchOverrides, DsTabOverrides, DsTabScrollButtonOverrides, DsTableOverrides, DsTableBodyOverrides, DsTableCellOverrides, DsTableContainerOverrides, DsTableFooterOverrides, DsTableHeadOverrides, DsTablePaginationOverrides, DsTableRowOverrides, DsTableSortLabelOverrides, DsTabsOverrides, DsTagOverrides, DsTagGroupOverrides, DsTextAreaOverrides, DsTextFieldOverrides, DsTextFieldPasswordOverrides, DsTextareaAutosizeOverrides, DsToastOverrides, DsToggleOverrides, DsToggleButtonOverrides, DsToggleButtonGroupOverrides, DsToolbarOverrides, DsTooltipOverrides, DsTypographyOverrides, DsZoomOverrides } from '../Components';
1
+ import { DsAccordionOverrides, DsAccordionActionsOverrides, DsAccordionDetailsOverrides, DsAccordionSummaryOverrides, DsAddItemOverrides, DsAppBarOverrides, DsAutocompleteOverrides, DsAvatarOverrides, DsAvatarGroupOverrides, DsBackdropOverrides, DsBadgeOverrides, DsBottomNavigationOverrides, DsBottomNavigationActionOverrides, DsBottomSheetOverrides, DsBoxOverrides, DsBreadcrumbsOverrides, DsButtonOverrides, DsButtonBaseOverrides, DsButtonGroupOverrides, DsCardOverrides, DsCardActionAreaOverrides, DsCardActionsOverrides, DsCardContentOverrides, DsCardHeaderOverrides, DsCardMediaOverrides, DsCarouselOverrides, DsCheckboxOverrides, DsChipOverrides, DsChipGroupOverrides, DsCircularProgressOverrides, DsClickAwayListenerOverrides, DsCollapseOverrides, DsCssBaselineOverrides, DsContainerOverrides, DsDialogOverrides, DsDialogActionsOverrides, DsDialogContentOverrides, DsDialogContentTextOverrides, DsDialogTitleOverrides, DsDividerOverrides, DsDrawerOverrides, DsFabOverrides, DsFadeOverrides, DsFileUploaderOverrides, DsFilledInputOverrides, DsFormControlOverrides, DsFormControlLabelOverrides, DsFormGroupOverrides, DsFormHelperTextOverrides, DsFormLabelOverrides, DsGlobalStylesOverrides, DsGridOverrides, DsGrowOverrides, DsHeaderOverrides, DsHelperTextOverrides, DsIconOverrides, DsIconButtonOverrides, DsImageOverrides, DsImageListOverrides, DsImageListItemOverrides, DsImageListItemBarOverrides, DsInputOverrides, DsInputAdornmentOverrides, DsInputBaseOverrides, DsInputLabelOverrides, DsLinearProgressOverrides, DsLinkOverrides, DsListOverrides, DsListItemOverrides, DsListItemAvatarOverrides, DsListItemButtonOverrides, DsListItemIconOverrides, DsListItemSecondaryActionOverrides, DsListItemTextOverrides, DsListSubheaderOverrides, DsLoaderOverrides, DsMenuOverrides, DsMenuItemOverrides, DsMenuListOverrides, DsMobileStepperOverrides, DsModalOverrides, DsNativeSelectOverrides, DsNoSsrOverrides, DsNotistackOverrides, DsOtpOverrides, DsOutlinedInputOverrides, DsPaginationOverrides, DsPaginationItemOverrides, DsPaperOverrides, DsPopoverOverrides, DsPopperOverrides, DsPopupOverrides, DsPortalOverrides, DsProgressIndicatorOverrides, DsProgressTrackerOverrides, DsRadioOverrides, DsRadioGroupOverrides, DsRatingOverrides, DsRemixIconOverrides, DsScopedCssBaselineOverrides, DsSearchbarOverrides, DsSelectOverrides, DsSkeletonOverrides, DsSlideOverrides, DsSliderOverrides, DsSpeedDialOverrides, DsSpeedDialActionOverrides, DsSpeedDialIconOverrides, DsStackOverrides, DsStepOverrides, DsStepButtonOverrides, DsStepConnectorOverrides, DsStepContentOverrides, DsStepIconOverrides, DsStepLabelOverrides, DsStepperOverrides, DsSvgIconOverrides, DsSwipeableDrawerOverrides, DsSwitchOverrides, DsTabOverrides, DsTabScrollButtonOverrides, DsTableOverrides, DsTableBodyOverrides, DsTableCellOverrides, DsTableContainerOverrides, DsTableFooterOverrides, DsTableHeadOverrides, DsTablePaginationOverrides, DsTableRowOverrides, DsTableSortLabelOverrides, DsTabsOverrides, DsTagOverrides, DsTagGroupOverrides, DsTextAreaOverrides, DsTextFieldOverrides, DsTextFieldPasswordOverrides, DsTextareaAutosizeOverrides, DsToastOverrides, DsToggleOverrides, DsToggleButtonOverrides, DsToggleButtonGroupOverrides, DsToolbarOverrides, DsTooltipOverrides, DsTypographyOverrides, DsZoomOverrides } from '../Components';
2
2
  import XDatePickerComponentOverrides from '../x-datepicker/componentOverrides';
3
3
  const componentOverrides = {
4
4
  ...DsAccordionOverrides,
5
5
  ...DsAccordionActionsOverrides,
6
6
  ...DsAccordionDetailsOverrides,
7
+ ...DsAddItemOverrides,
7
8
  ...DsAccordionSummaryOverrides,
8
9
  ...DsAppBarOverrides,
9
10
  ...DsAutocompleteOverrides,
@@ -23,3 +23,8 @@ declare module '@mui/material/styles' {
23
23
  shadows: DsShadows;
24
24
  }
25
25
  }
26
+ declare module '@mui/material/Badge' {
27
+ interface BadgePropsColorOverrides {
28
+ inverse: true;
29
+ }
30
+ }
@@ -2,6 +2,7 @@ const dsRadius = {
2
2
  zero: '0px',
3
3
  deepFreeze: '2px',
4
4
  quickFreeze: '4px',
5
+ gelid: '6px',
5
6
  glacial: '8px',
6
7
  frostbite: '12px',
7
8
  bitterCold: '16px',
@@ -3,6 +3,7 @@ const dsSpacingCssVars = {
3
3
  zero: 0,
4
4
  deepFreeze: 2,
5
5
  quickFreeze: 4,
6
+ gelid: 6,
6
7
  glacial: 8,
7
8
  frostbite: 12,
8
9
  bitterCold: 16,
@@ -1,4 +1,4 @@
1
- export type DsRadiusKeys = 'zero' | 'deepFreeze' | 'quickFreeze' | 'glacial' | 'frostbite' | 'bitterCold' | 'cool' | 'mild' | 'pleasant';
1
+ export type DsRadiusKeys = 'zero' | 'deepFreeze' | 'quickFreeze' | 'gelid' | 'glacial' | 'frostbite' | 'bitterCold' | 'cool' | 'mild' | 'pleasant';
2
2
  export type DsRadius = {
3
3
  [key in DsRadiusKeys]: string;
4
4
  };
@@ -1,4 +1,4 @@
1
- export type DsSpacingKeys = 'zero' | 'deepFreeze' | 'quickFreeze' | 'glacial' | 'frostbite' | 'bitterCold' | 'cool' | 'mild' | 'pleasant' | 'warm' | 'tepid' | 'tropical' | 'hot' | 'blazing' | 'molten' | 'superheated' | 'meltdown' | 'whiteHot' | 'plasma';
1
+ export type DsSpacingKeys = 'zero' | 'deepFreeze' | 'quickFreeze' | 'gelid' | 'glacial' | 'frostbite' | 'bitterCold' | 'cool' | 'mild' | 'pleasant' | 'warm' | 'tepid' | 'tropical' | 'hot' | 'blazing' | 'molten' | 'superheated' | 'meltdown' | 'whiteHot' | 'plasma';
2
2
  export type DsSpacing = {
3
3
  [key in DsSpacingKeys]: number;
4
4
  };
@@ -0,0 +1,3 @@
1
+ export * from '@mui/x-charts/hooks';
2
+ export { useItemTooltip } from '@mui/x-charts';
3
+ export { useAxisTooltip } from '@mui/x-charts';
@@ -0,0 +1,5 @@
1
+ // Re-export all hooks from @mui/x-charts
2
+ export * from '@mui/x-charts/hooks';
3
+ // Chart-specific tooltip hooks
4
+ export { useItemTooltip } from '@mui/x-charts';
5
+ export { useAxisTooltip } from '@mui/x-charts';
@@ -1,3 +1,4 @@
1
1
  export * from './Components';
2
2
  export * from './Constants';
3
+ export * from './Hooks';
3
4
  export * from './Types';
@@ -1,3 +1,4 @@
1
1
  export * from './Components';
2
2
  export * from './Constants';
3
+ export * from './Hooks';
3
4
  export * from './Types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@am92/react-design-system",
3
- "version": "3.0.1-beta.0",
3
+ "version": "3.0.1-beta.1",
4
4
  "description": "ReactJS Design System using Material UI",
5
5
  "sideEffects": false,
6
6
  "types": "dist/index.d.ts",
@@ -37,8 +37,8 @@
37
37
  "utility-types": "^3.11.0"
38
38
  },
39
39
  "peerDependencies": {
40
- "react": "^17.x.x || ^18.x.x",
41
- "react-dom": "^17.x.x || ^18.x.x"
40
+ "react": "^17.x.x || ^18.x.x || ^19.x.x",
41
+ "react-dom": "^17.x.x || ^18.x.x || ^19.x.x"
42
42
  },
43
43
  "scripts": {
44
44
  "compile": "tsc",