@am92/react-design-system 2.7.8 → 2.8.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 (114) hide show
  1. package/dist/Components/DsAppBar/DsAppBar.Component.d.ts +2 -5
  2. package/dist/Components/DsAppBar/DsAppBar.Component.js +19 -24
  3. package/dist/Components/DsAvatar/DsAvatar.Component.d.ts +3 -1
  4. package/dist/Components/DsAvatar/DsAvatar.Component.js +5 -1
  5. package/dist/Components/DsBottomSheet/DsBottomSheet.Component.d.ts +2 -7
  6. package/dist/Components/DsBottomSheet/DsBottomSheet.Component.js +62 -65
  7. package/dist/Components/DsButton/DsButton.Component.d.ts +2 -4
  8. package/dist/Components/DsButton/DsButton.Component.js +4 -7
  9. package/dist/Components/DsButtonGroup/DsButtonGroup.Component.d.ts +2 -6
  10. package/dist/Components/DsButtonGroup/DsButtonGroup.Component.js +16 -18
  11. package/dist/Components/DsCarousel/DsCarousel.Component/DsCarouselNavigation.d.ts +2 -3
  12. package/dist/Components/DsCarousel/DsCarousel.Component/DsCarouselNavigation.js +42 -44
  13. package/dist/Components/DsCarousel/DsCarousel.Component/DsCarouselPagination.d.ts +2 -6
  14. package/dist/Components/DsCarousel/DsCarousel.Component/DsCarouselPagination.js +109 -110
  15. package/dist/Components/DsCarousel/DsCarousel.Component/index.d.ts +3 -19
  16. package/dist/Components/DsCarousel/DsCarousel.Component/index.js +55 -57
  17. package/dist/Components/DsChip/DsChip.Component.d.ts +2 -5
  18. package/dist/Components/DsChip/DsChip.Component.js +3 -8
  19. package/dist/Components/DsChip/DsChip.Overrides.d.ts +1 -8
  20. package/dist/Components/DsChip/DsChip.Overrides.js +12 -57
  21. package/dist/Components/DsChip/DsChip.Types.d.ts +9 -2
  22. package/dist/Components/DsChipGroup/DsChipGroup.Component.d.ts +2 -5
  23. package/dist/Components/DsChipGroup/DsChipGroup.Component.js +5 -8
  24. package/dist/Components/DsContentSlider/DsContentSlider.Component.d.ts +3 -8
  25. package/dist/Components/DsContentSlider/DsContentSlider.Component.js +13 -20
  26. package/dist/Components/DsDialog/DsDialog.Component.d.ts +1 -6
  27. package/dist/Components/DsDialog/DsDialog.Component.js +71 -75
  28. package/dist/Components/DsDialog/DsDialog.Overrides.d.ts +1 -0
  29. package/dist/Components/DsDialog/DsDialog.Overrides.js +2 -0
  30. package/dist/Components/DsFileUploader/DsFileUploader.Component.d.ts +3 -16
  31. package/dist/Components/DsFileUploader/DsFileUploader.Component.js +68 -71
  32. package/dist/Components/DsHeader/DsHeader.Component.d.ts +2 -5
  33. package/dist/Components/DsHeader/DsHeader.Component.js +29 -32
  34. package/dist/Components/DsHelperText/DsHelperText.Component.d.ts +2 -5
  35. package/dist/Components/DsHelperText/DsHelperText.Component.js +16 -21
  36. package/dist/Components/DsHelperText/DsHelperText.Overrides.d.ts +5 -1
  37. package/dist/Components/DsHelperText/DsHelperText.Overrides.js +6 -1
  38. package/dist/Components/DsImage/DsImage.Component.d.ts +3 -12
  39. package/dist/Components/DsImage/DsImage.Component.js +40 -45
  40. package/dist/Components/DsImage/DsImage.Types.d.ts +0 -1
  41. package/dist/Components/DsImage/DsImage.Types.js +0 -3
  42. package/dist/Components/DsInputLabel/DsInputLabel.Component.d.ts +2 -4
  43. package/dist/Components/DsInputLabel/DsInputLabel.Component.js +6 -9
  44. package/dist/Components/DsNotistack/AlertMessage.Component.js +7 -9
  45. package/dist/Components/DsNotistack/DsNotistack.Component.d.ts +2 -7
  46. package/dist/Components/DsNotistack/DsNotistack.Component.js +12 -16
  47. package/dist/Components/DsNotistack/DsNotistack.Types.d.ts +1 -0
  48. package/dist/Components/DsNotistack/DsNotistack.Types.js +3 -1
  49. package/dist/Components/DsOtp/DsOtp.Component.d.ts +3 -15
  50. package/dist/Components/DsOtp/DsOtp.Component.js +41 -51
  51. package/dist/Components/DsPopup/DsPopup.Types.d.ts +1 -1
  52. package/dist/Components/DsProgressIndicator/DsProgressIndicator.Component.d.ts +2 -6
  53. package/dist/Components/DsProgressIndicator/DsProgressIndicator.Component.js +18 -21
  54. package/dist/Components/DsProgressTracker/DsProgressStepper.Component.d.ts +3 -9
  55. package/dist/Components/DsProgressTracker/DsProgressStepper.Component.js +8 -11
  56. package/dist/Components/DsProgressTracker/DsProgressTracker.Component.d.ts +3 -21
  57. package/dist/Components/DsProgressTracker/DsProgressTracker.Component.js +17 -26
  58. package/dist/Components/DsRadio/DsRadio.Component.d.ts +2 -5
  59. package/dist/Components/DsRadio/DsRadio.Component.js +5 -8
  60. package/dist/Components/DsRadio/DsRadio.Overrides.d.ts +1 -0
  61. package/dist/Components/DsRadio/DsRadio.Overrides.js +2 -1
  62. package/dist/Components/DsRemixIcon/DsRemixIcon.Component.d.ts +2 -4
  63. package/dist/Components/DsRemixIcon/DsRemixIcon.Component.js +5 -7
  64. package/dist/Components/DsSelect/DsSelect.Component.d.ts +2 -6
  65. package/dist/Components/DsSelect/DsSelect.Component.js +49 -53
  66. package/dist/Components/DsSelect/DsSelect.Types.d.ts +8 -0
  67. package/dist/Components/DsSlider/DsSlider.Component.d.ts +1 -5
  68. package/dist/Components/DsSlider/DsSlider.Component.js +1 -10
  69. package/dist/Components/DsSlider/DsSlider.Overrides.d.ts +1 -1
  70. package/dist/Components/DsSlider/DsSlider.Overrides.js +2 -2
  71. package/dist/Components/DsSwitch/DsSwitch.Component.d.ts +2 -6
  72. package/dist/Components/DsSwitch/DsSwitch.Component.js +7 -10
  73. package/dist/Components/DsTag/DsTag.Component.d.ts +2 -7
  74. package/dist/Components/DsTag/DsTag.Component.js +50 -14
  75. package/dist/Components/DsTag/DsTag.Overrides.d.ts +5 -1
  76. package/dist/Components/DsTag/DsTag.Overrides.js +6 -2
  77. package/dist/Components/DsTagGroup/DsTagGroup.Component.d.ts +2 -7
  78. package/dist/Components/DsTagGroup/DsTagGroup.Component.js +25 -27
  79. package/dist/Components/DsTextArea/DsTextArea.Component.d.ts +3 -10
  80. package/dist/Components/DsTextArea/DsTextArea.Component.js +49 -54
  81. package/dist/Components/DsTextArea/DsTextArea.Types.d.ts +0 -1
  82. package/dist/Components/DsTextArea/DsTextArea.Types.js +1 -3
  83. package/dist/Components/DsTextField/DsTextField.Component.d.ts +2 -4
  84. package/dist/Components/DsTextField/DsTextField.Component.js +7 -8
  85. package/dist/Components/DsTextFieldPassword/DsTextFieldPassword.Component.d.ts +3 -10
  86. package/dist/Components/DsTextFieldPassword/DsTextFieldPassword.Component.js +15 -26
  87. package/dist/Components/DsTextFieldPassword/DsTextFieldPassword.Types.d.ts +0 -1
  88. package/dist/Components/DsTextFieldPassword/DsTextFieldPassword.Types.js +0 -3
  89. package/dist/Components/DsToast/DsToast.Component.d.ts +2 -4
  90. package/dist/Components/DsToast/DsToast.Component.js +9 -7
  91. package/dist/Components/DsToggle/DsToggle.Component.d.ts +2 -5
  92. package/dist/Components/DsToggle/DsToggle.Component.js +11 -9
  93. package/dist/Components/DsToggle/DsToggle.Types.js +1 -1
  94. package/dist/Components/DsTooltip/DsTooltip.Component.d.ts +2 -5
  95. package/dist/Components/DsTooltip/DsTooltip.Component.js +7 -9
  96. package/dist/Constants/TYPOGRAPGHY.d.ts +4 -1
  97. package/dist/Constants/TYPOGRAPGHY.js +3 -0
  98. package/dist/Helpers/accessibility.d.ts +3 -0
  99. package/dist/Helpers/accessibility.js +14 -0
  100. package/dist/Helpers/index.d.ts +1 -0
  101. package/dist/Helpers/index.js +1 -0
  102. package/dist/Hooks/accessibility.d.ts +9 -0
  103. package/dist/Hooks/accessibility.js +35 -0
  104. package/dist/Hooks/index.d.ts +1 -0
  105. package/dist/Hooks/index.js +1 -0
  106. package/dist/Theme/componentOverrides.d.ts +8 -12
  107. package/dist/Theme/getColorScheme/dark.js +1 -1
  108. package/dist/Types/DsAccessibility.d.ts +1 -0
  109. package/dist/Types/DsAccessibility.js +1 -0
  110. package/dist/Types/index.d.ts +1 -0
  111. package/dist/Types/index.js +1 -0
  112. package/dist/index.d.ts +1 -0
  113. package/dist/index.js +1 -0
  114. package/package.json +1 -1
@@ -1,13 +1,12 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
3
2
  import { DsProgressStepperDefaultProps } from './DsProgressStepper.Types';
4
3
  import { DsStepper } from '../DsStepper';
5
4
  import { DsStep } from '../DsStep';
6
5
  import { DsStepLabel } from '../DsStepLabel';
7
6
  import { DsRemixIcon } from '../DsRemixIcon';
8
- export class DsProgressStepper extends PureComponent {
9
- static defaultProps = DsProgressStepperDefaultProps;
10
- renderStepIcon = (stepProps) => {
7
+ export const DsProgressStepper = (inProps) => {
8
+ const props = { ...DsProgressStepperDefaultProps, ...inProps };
9
+ const renderStepIcon = (stepProps) => {
11
10
  const { active, error, completed, icon } = stepProps;
12
11
  if (error) {
13
12
  return (_jsx(DsRemixIcon, { className: "ri-close-circle-fill", sx: { color: 'var(--ds-colour-iconNegative)' } }));
@@ -20,7 +19,7 @@ export class DsProgressStepper extends PureComponent {
20
19
  }
21
20
  return _jsx(_Fragment, { children: icon });
22
21
  };
23
- renderStep = (step, index) => {
22
+ const renderStep = (step, index) => {
24
23
  const { stepName, error, icon, optional, completed, disabled } = step;
25
24
  const stepProps = { completed, disabled };
26
25
  const stepLabelProps = { error, icon, optional };
@@ -31,10 +30,8 @@ export class DsProgressStepper extends PureComponent {
31
30
  }
32
31
  };
33
32
  }
34
- return (_jsx(DsStep, { ...stepProps, children: _jsx(DsStepLabel, { ...stepLabelProps, StepIconComponent: this.renderStepIcon, children: stepName }) }, index));
33
+ return (_jsx(DsStep, { ...stepProps, children: _jsx(DsStepLabel, { ...stepLabelProps, StepIconComponent: renderStepIcon, children: stepName }) }, index));
35
34
  };
36
- render() {
37
- const { steps, ...stepperProps } = this.props;
38
- return (_jsx(DsStepper, { ...stepperProps, alternativeLabel: stepperProps.orientation === 'horizontal', children: steps.map(this.renderStep) }));
39
- }
40
- }
35
+ const { steps, ...stepperProps } = props;
36
+ return (_jsx(DsStepper, { ...stepperProps, alternativeLabel: stepperProps.orientation === 'horizontal', children: steps.map(renderStep) }));
37
+ };
@@ -1,21 +1,3 @@
1
- import React, { PureComponent } from 'react';
2
- import { DsProgressTrackerProps, DsProgressTrackerState } from './DsProgressTracker.Types';
3
- export declare class DsProgressTracker extends PureComponent<DsProgressTrackerProps, DsProgressTrackerState> {
4
- static defaultProps: DsProgressTrackerProps;
5
- constructor(props: DsProgressTrackerProps);
6
- getMergedProps: () => {
7
- StepperProps: {
8
- sx?: import("@mui/system").SxProps<import("@mui/material").Theme>;
9
- orientation?: import("@mui/material").Orientation;
10
- };
11
- 'ds-variant': "default" | "header" | "steps";
12
- steps: import("./DsProgressStepper.Types").DsProgressStepperStepProps[];
13
- activeStep: number;
14
- sx?: import("../DsBox").DsBoxProps;
15
- nextStepLabelPrefix: React.ReactNode;
16
- };
17
- handleToggleCollapse: () => void;
18
- renderStepper: () => import("react/jsx-runtime").JSX.Element | null;
19
- renderHeader: () => import("react/jsx-runtime").JSX.Element | null;
20
- render(): import("react/jsx-runtime").JSX.Element;
21
- }
1
+ import { FC } from 'react';
2
+ import { DsProgressTrackerProps } from './DsProgressTracker.Types';
3
+ export declare const DsProgressTracker: FC<DsProgressTrackerProps>;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
2
+ import { useState } from 'react';
3
3
  import { DsProgressTrackerDefaultProps } from './DsProgressTracker.Types';
4
4
  import { DsProgressStepper } from './DsProgressStepper.Component';
5
5
  import { DsProgressIndicator } from '../DsProgressIndicator';
@@ -7,38 +7,31 @@ import { DsCollapse } from '../DsCollapse';
7
7
  import { DsBox } from '../DsBox';
8
8
  import { DsTypography } from '../DsTypography';
9
9
  import { DsStack } from '../DsStack';
10
- export class DsProgressTracker extends PureComponent {
11
- static defaultProps = DsProgressTrackerDefaultProps;
12
- constructor(props) {
13
- super(props);
14
- const state = {
15
- open: props['ds-variant'] === 'steps' ? true : false
16
- };
17
- this.state = state;
18
- }
19
- getMergedProps = () => {
10
+ export const DsProgressTracker = (inProps) => {
11
+ const props = { ...DsProgressTrackerDefaultProps, ...inProps };
12
+ const [open, setOpen] = useState(props['ds-variant'] === 'steps' ? true : false);
13
+ const getMergedProps = () => {
20
14
  return {
21
15
  ...DsProgressTrackerDefaultProps,
22
- ...this.props,
16
+ ...props,
23
17
  StepperProps: {
24
18
  ...DsProgressTrackerDefaultProps?.StepperProps,
25
- ...this.props?.StepperProps
19
+ ...props?.StepperProps
26
20
  }
27
21
  };
28
22
  };
29
- handleToggleCollapse = () => this.setState({ open: !this.state.open });
30
- renderStepper = () => {
31
- const mergedProps = this.getMergedProps();
23
+ const handleToggleCollapse = () => setOpen(!open);
24
+ const renderStepper = () => {
25
+ const mergedProps = getMergedProps();
32
26
  // Don Not Render steps if variant is `header`
33
27
  if (mergedProps['ds-variant'] === 'header') {
34
28
  return null;
35
29
  }
36
30
  const { StepperProps, activeStep, steps } = mergedProps;
37
- const { open } = this.state;
38
31
  return (_jsx(DsCollapse, { in: open, children: _jsx(DsProgressStepper, { activeStep: activeStep, steps: steps, ...StepperProps }) }));
39
32
  };
40
- renderHeader = () => {
41
- const mergedProps = this.getMergedProps();
33
+ const renderHeader = () => {
34
+ const mergedProps = getMergedProps();
42
35
  // Don Not Render Header if variant is `steps`
43
36
  if (mergedProps['ds-variant'] === 'steps') {
44
37
  return null;
@@ -55,13 +48,11 @@ export class DsProgressTracker extends PureComponent {
55
48
  borderBottom: '1px solid var(--ds-colour-strokeDefault)',
56
49
  backgroundColor: 'var(--ds-colour-surfaceBackground)',
57
50
  cursor: mergedProps['ds-variant'] === 'default' ? 'pointer' : 'unset'
58
- }, spacing: "var(--ds-spacing-bitterCold)", direction: "row", onClick: this.handleToggleCollapse, children: [_jsx(DsProgressIndicator, { activeStep: activeStep + 1, steps: steps.length }), _jsxs(DsStack, { flexGrow: 1, direction: "column", spacing: "var(--ds-spacing-quickFreeze)", children: [_jsx(DsTypography, { component: "div", textAlign: "right", color: "var(--ds-colour-actionSecondary)", variant: "headingBoldExtraSmall", children: currentStep.stepName }), haveNextStep && (_jsx(DsTypography, { component: "div", textAlign: "right", color: "var(--ds-colour-typoTertiary)", variant: "subheadingSemiboldDefault", children: isNextStepLastStep
51
+ }, spacing: "var(--ds-spacing-bitterCold)", direction: "row", onClick: handleToggleCollapse, children: [_jsx(DsProgressIndicator, { activeStep: activeStep + 1, steps: steps.length }), _jsxs(DsStack, { flexGrow: 1, direction: "column", spacing: "var(--ds-spacing-quickFreeze)", children: [_jsx(DsTypography, { component: "div", textAlign: "right", color: "var(--ds-colour-actionSecondary)", variant: "headingBoldExtraSmall", children: currentStep.stepName }), haveNextStep && (_jsx(DsTypography, { component: "div", textAlign: "right", color: "var(--ds-colour-typoTertiary)", variant: "subheadingSemiboldDefault", children: isNextStepLastStep
59
52
  ? 'Yay! you are almost done'
60
53
  : `${nextStepLabelPrefix}${nextStep.stepName}` }))] })] }));
61
54
  };
62
- render() {
63
- const mergedProps = this.props;
64
- const { sx } = mergedProps;
65
- return (_jsxs(DsBox, { sx: { width: '100%', ...sx }, children: [this.renderHeader(), this.renderStepper()] }));
66
- }
67
- }
55
+ const mergedProps = props;
56
+ const { sx } = mergedProps;
57
+ return (_jsxs(DsBox, { sx: { width: '100%', ...sx }, children: [renderHeader(), renderStepper()] }));
58
+ };
@@ -1,6 +1,3 @@
1
- import { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsRadioProps } from './DsRadio.Types';
3
- export declare class DsRadio extends PureComponent<DsRadioProps> {
4
- static defaultProps: DsRadioProps;
5
- render(): import("react/jsx-runtime").JSX.Element;
6
- }
3
+ export declare const DsRadio: FC<DsRadioProps>;
@@ -1,13 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
3
2
  import Radio from '@mui/material/Radio';
4
3
  import { DsRadioDefaultProps } from './DsRadio.Types';
5
4
  import { DsFormControlLabel } from '../DsFormControlLabel';
6
5
  import { DsRemixIcon } from '../DsRemixIcon';
7
- export class DsRadio extends PureComponent {
8
- static defaultProps = DsRadioDefaultProps;
9
- render() {
10
- const { disabled, RadioProps, ...restProps } = this.props;
11
- return (_jsx(DsFormControlLabel, { ...restProps, disabled: disabled, control: _jsx(Radio, { icon: _jsx(DsRemixIcon, { className: "ri-checkbox-blank-circle-line", sx: { fontSize: 'var(--ds-typo-fontSizeBitterCold)' } }), checkedIcon: _jsx(DsRemixIcon, { className: "ri-radio-button-line", sx: { fontSize: 'var(--ds-typo-fontSizeBitterCold)' } }), color: "secondary", ...RadioProps, disabled: disabled }) }));
12
- }
13
- }
6
+ export const DsRadio = (inProps) => {
7
+ const props = { ...inProps, ...DsRadioDefaultProps };
8
+ const { disabled, RadioProps, ...restProps } = props;
9
+ return (_jsx(DsFormControlLabel, { ...restProps, disabled: disabled, control: _jsx(Radio, { icon: _jsx(DsRemixIcon, { className: "ri-checkbox-blank-circle-line", sx: { fontSize: 'var(--ds-typo-fontSizeBitterCold)' } }), checkedIcon: _jsx(DsRemixIcon, { className: "ri-radio-button-line", sx: { fontSize: 'var(--ds-typo-fontSizeBitterCold)' } }), color: "secondary", ...RadioProps, disabled: disabled }) }));
10
+ };
@@ -3,6 +3,7 @@ export declare const DsRadioOverrides: {
3
3
  styleOverrides: {
4
4
  root: {
5
5
  padding: string;
6
+ color: string;
6
7
  };
7
8
  };
8
9
  };
@@ -2,7 +2,8 @@ export const DsRadioOverrides = {
2
2
  MuiRadio: {
3
3
  styleOverrides: {
4
4
  root: {
5
- padding: 'var(--ds-spacing-quickFreeze)'
5
+ padding: 'var(--ds-spacing-quickFreeze)',
6
+ color: 'var(--ds-colour-iconDefault)'
6
7
  }
7
8
  }
8
9
  }
@@ -1,5 +1,3 @@
1
- import { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsRemixIconProps } from './DsRemixIcon.Types';
3
- export declare class DsRemixIcon extends PureComponent<DsRemixIconProps> {
4
- render(): import("react/jsx-runtime").JSX.Element;
5
- }
3
+ export declare const DsRemixIcon: FC<DsRemixIconProps>;
@@ -1,8 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
3
- import { DsIcon } from '../DsIcon';
4
- export class DsRemixIcon extends PureComponent {
5
- render() {
6
- return _jsx(DsIcon, { baseClassName: "", ...this.props });
7
- }
8
- }
2
+ import { DsIcon, DsIconDefaultProps } from '../DsIcon';
3
+ export const DsRemixIcon = (inProps) => {
4
+ const props = { ...DsIconDefaultProps, ...inProps };
5
+ return _jsx(DsIcon, { baseClassName: "", ...props });
6
+ };
@@ -1,7 +1,3 @@
1
- import React, { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsSelectProps } from './DsSelect.Types';
3
- export declare class DsSelect extends PureComponent<DsSelectProps> {
4
- static defaultProps: DsSelectProps;
5
- selectRef: React.RefObject<Element>;
6
- render(): import("react/jsx-runtime").JSX.Element;
7
- }
3
+ export declare const DsSelect: FC<DsSelectProps>;
@@ -1,7 +1,6 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import React, { PureComponent } from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
3
  import Select from '@mui/material/Select';
4
- import { DsSelectDefaultProps } from './DsSelect.Types';
5
4
  import { DsFormControl } from '../DsFormControl';
6
5
  import { DsInputLabel } from '../DsInputLabel';
7
6
  import { DsInputBase } from '../DsInputBase';
@@ -9,54 +8,51 @@ import { DsMenuItem } from '../DsMenuItem';
9
8
  import { DsTypography } from '../DsTypography';
10
9
  import { DsRemixIcon } from '../DsRemixIcon';
11
10
  import { DsHelperText } from '../DsHelperText';
12
- export class DsSelect extends PureComponent {
13
- static defaultProps = DsSelectDefaultProps;
14
- selectRef = React.createRef();
15
- render() {
16
- const { id, name, placeholder, label, labelSupportText, color, helperText, success, error, sx, fullWidth, children, options, disabled, FormControlProps, InputLabelProps, FormHelperTextProps, required, ...selectProps } = this.props;
17
- const customColor = success ? 'success' : color;
18
- const valueMap = options.reduce((acc, item) => {
19
- acc.set(item.value, item.label);
20
- return acc;
21
- }, new Map());
22
- return (_jsxs(DsFormControl, { fullWidth: fullWidth, color: customColor, error: error, sx: sx, disabled: disabled, required: required, ...FormControlProps, children: [_jsx(DsInputLabel, { label: label, labelSupportText: labelSupportText, error: error, success: success, htmlFor: id || name, disabled: disabled, ...InputLabelProps }), _jsxs(Select, { ref: this.selectRef, id: id, name: name, IconComponent: IconComponent, displayEmpty: true, input: _jsx(DsInputBase, {}), renderValue: value => {
23
- if (!value || (value instanceof Array && !value.length)) {
24
- return (_jsx(DsTypography, { variant: "bodyRegularMedium", color: "text.disabled", children: placeholder }));
25
- }
26
- if (value instanceof Array) {
27
- return (_jsx(SelectedValueArray, { selectedValue: value, valueMap: valueMap }));
28
- }
29
- return _jsx(SelectedValue, { selectedValue: value, valueMap: valueMap });
30
- }, error: error, disabled: disabled, ...selectProps, MenuProps: {
31
- anchorEl: () => this.selectRef.current,
32
- ...selectProps?.MenuProps,
33
- sx: {
34
- marginTop: 'var(--ds-spacing-glacial)',
35
- ...selectProps?.MenuProps?.sx
36
- }
37
- }, children: [children, options.map(({ label, value }, index) => (_jsx(DsMenuItem, { value: value, sx: {
38
- '&.Mui-selected': {
39
- backgroundColor: 'transparent',
40
- fontWeight: 'var(--ds-typo-bodyBoldMedium-fontWeight)',
41
- fontSize: 'var(--ds-typo-bodyBoldMedium-fontSize)',
42
- lineHeight: 'var(--ds-typo-bodyBoldMedium-lineHeight)',
43
- letterSpacing: 'var(--ds-typo-bodyBoldMedium-letterSpacing)'
44
- }
45
- }, children: _jsx("span", { children: label }) }, index)))] }), _jsx(DsHelperText, { helperText: helperText, color: color, success: success, error: error, ...FormHelperTextProps })] }));
46
- }
47
- }
48
- const IconComponent = (props) => {
49
- return (_jsx(DsRemixIcon, { ...props, className: `${props.className} ri-arrow-down-s-line` }));
50
- };
51
- const SelectedValueArray = (props) => {
52
- const { selectedValue, valueMap } = props;
53
- const returnValue = selectedValue
54
- .map(selectedVal => valueMap.get(selectedVal))
55
- .join(', ');
56
- return _jsx(_Fragment, { children: returnValue });
57
- };
58
- const SelectedValue = (props) => {
59
- const { selectedValue, valueMap } = props;
60
- const returnValue = valueMap.get(selectedValue);
61
- return _jsx(_Fragment, { children: returnValue });
11
+ export const DsSelect = (props) => {
12
+ const selectRef = useRef();
13
+ const { id, name, placeholder, label, labelSupportText, color, helperText, success, error, sx, fullWidth, children, options, disabled, FormControlProps, InputLabelProps, FormHelperTextProps, required, ...selectProps } = props;
14
+ const customColor = success ? 'success' : color;
15
+ const valueMap = options.reduce((acc, item) => {
16
+ acc.set(item.value, item.label);
17
+ return acc;
18
+ }, new Map());
19
+ const IconComponent = (props) => {
20
+ return (_jsx(DsRemixIcon, { ...props, className: `${props.className} ri-arrow-down-s-line` }));
21
+ };
22
+ const SelectedValueArray = (props) => {
23
+ const { selectedValue, valueMap } = props;
24
+ const returnValue = selectedValue
25
+ .map(selectedVal => valueMap.get(selectedVal))
26
+ .join(', ');
27
+ return _jsx(_Fragment, { children: returnValue });
28
+ };
29
+ const SelectedValue = (props) => {
30
+ const { selectedValue, valueMap } = props;
31
+ const returnValue = valueMap.get(selectedValue);
32
+ return _jsx(_Fragment, { children: returnValue });
33
+ };
34
+ return (_jsxs(DsFormControl, { fullWidth: fullWidth, color: customColor, error: error, sx: sx, disabled: disabled, required: required, ...FormControlProps, children: [_jsx(DsInputLabel, { label: label, labelSupportText: labelSupportText, error: error, success: success, htmlFor: id || name, disabled: disabled, ...InputLabelProps }), _jsxs(Select, { ref: selectRef, id: id, name: name, IconComponent: IconComponent, displayEmpty: true, input: _jsx(DsInputBase, {}), renderValue: value => {
35
+ if (!value || (value instanceof Array && !value.length)) {
36
+ return (_jsx(DsTypography, { variant: "bodyRegularMedium", color: "text.disabled", children: placeholder }));
37
+ }
38
+ if (value instanceof Array) {
39
+ return (_jsx(SelectedValueArray, { selectedValue: value, valueMap: valueMap }));
40
+ }
41
+ return _jsx(SelectedValue, { selectedValue: value, valueMap: valueMap });
42
+ }, error: error, disabled: disabled, ...selectProps, MenuProps: {
43
+ anchorEl: () => selectRef.current,
44
+ ...selectProps?.MenuProps,
45
+ sx: {
46
+ marginTop: 'var(--ds-spacing-glacial)',
47
+ ...selectProps?.MenuProps?.sx
48
+ }
49
+ }, children: [children, options.map(({ label, value }, index) => (_jsx(DsMenuItem, { value: value, sx: {
50
+ '&.Mui-selected': {
51
+ backgroundColor: 'transparent',
52
+ fontWeight: 'var(--ds-typo-bodyBoldMedium-fontWeight)',
53
+ fontSize: 'var(--ds-typo-bodyBoldMedium-fontSize)',
54
+ lineHeight: 'var(--ds-typo-bodyBoldMedium-lineHeight)',
55
+ letterSpacing: 'var(--ds-typo-bodyBoldMedium-letterSpacing)'
56
+ }
57
+ }, children: _jsx("span", { children: label }) }, index)))] }), _jsx(DsHelperText, { helperText: helperText, color: color, success: success, error: error, ...FormHelperTextProps })] }));
62
58
  };
@@ -6,6 +6,14 @@ interface OptionProp {
6
6
  label: string;
7
7
  value: any;
8
8
  }
9
+ export interface SelectedValueArrayProps {
10
+ selectedValue: any[];
11
+ valueMap: Map<any, string>;
12
+ }
13
+ export interface SelectedValueProps {
14
+ selectedValue: any;
15
+ valueMap: Map<any, string>;
16
+ }
9
17
  export interface DsSelectProps extends Omit<SelectProps, 'ref'> {
10
18
  ref?: React.Ref<any>;
11
19
  FormControlProps?: Omit<DsFormControlProps, 'fullWidth' | 'color' | 'error' | 'disabled'>;
@@ -1,5 +1 @@
1
- import * as React from 'react';
2
- import { DsSliderProps } from './DsSlider.Types';
3
- export declare class DsSlider extends React.PureComponent<DsSliderProps> {
4
- render(): import("react/jsx-runtime").JSX.Element;
5
- }
1
+ export { default as DsSlider } from '@mui/material/Slider';
@@ -1,10 +1 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import { Slider } from '@mui/material';
4
- import { DsSliderDefaultProps } from './DsSlider.Types';
5
- export class DsSlider extends React.PureComponent {
6
- render() {
7
- const mergedProps = { ...DsSliderDefaultProps, ...this.props };
8
- return _jsx(Slider, { ...mergedProps });
9
- }
10
- }
1
+ export { default as DsSlider } from '@mui/material/Slider';
@@ -1,7 +1,7 @@
1
1
  import { DsSliderProps } from './DsSlider.Types';
2
2
  export declare const DsSliderOverrides: {
3
3
  MuiSlider: {
4
- defaultProps: {};
4
+ defaultProps: DsSliderProps;
5
5
  variants: {
6
6
  props: Partial<DsSliderProps>;
7
7
  style: {
@@ -1,7 +1,7 @@
1
- import { DsSlideDefaultProps } from '../DsSlide/DsSlide.Types';
1
+ import { DsSliderDefaultProps } from './DsSlider.Types';
2
2
  export const DsSliderOverrides = {
3
3
  MuiSlider: {
4
- defaultProps: DsSlideDefaultProps,
4
+ defaultProps: DsSliderDefaultProps,
5
5
  variants: [
6
6
  {
7
7
  props: { 'ds-mode': 'true' },
@@ -1,7 +1,3 @@
1
- import React, { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsSwitchProps } from './DsSwitch.Types';
3
- export declare class DsSwitch extends PureComponent<DsSwitchProps> {
4
- static defaultProps: DsSwitchProps;
5
- handleChange: (event: React.SyntheticEvent, value: NonNullable<any>) => void;
6
- render(): import("react/jsx-runtime").JSX.Element;
7
- }
3
+ export declare const DsSwitch: FC<DsSwitchProps>;
@@ -1,17 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
3
2
  import { DsSwitchDefaultProps } from './DsSwitch.Types';
4
3
  import { DsToggleButtonGroup } from '../DsToggleButtonGroup';
5
4
  import { DsToggleButton } from '../DsToggleButton';
6
5
  import { DsTypography } from '../DsTypography';
7
- export class DsSwitch extends PureComponent {
8
- static defaultProps = DsSwitchDefaultProps;
9
- handleChange = (event, value) => {
10
- const { name, onChange } = this.props;
6
+ export const DsSwitch = (inProps) => {
7
+ const props = { ...DsSwitchDefaultProps, ...inProps };
8
+ const handleChange = (event, value) => {
9
+ const { name, onChange } = props;
11
10
  onChange(name, value);
12
11
  };
13
- render() {
14
- const { positiveLabel, positiveValue, negativeLabel, negativeValue, ...restProps } = this.props;
15
- return (_jsxs(DsToggleButtonGroup, { ...restProps, "ds-variant": "switch", exclusive: true, size: "small", onChange: this.handleChange, children: [_jsx(DsToggleButton, { value: positiveValue, children: _jsx(DsTypography, { variant: "supportBoldTextButton", children: positiveLabel }) }), _jsx(DsToggleButton, { value: negativeValue, children: _jsx(DsTypography, { variant: "supportBoldTextButton", children: negativeLabel }) })] }));
16
- }
17
- }
12
+ const { positiveLabel, positiveValue, negativeLabel, negativeValue, ...restProps } = props;
13
+ return (_jsxs(DsToggleButtonGroup, { ...restProps, "ds-variant": "switch", exclusive: true, size: "small", onChange: handleChange, children: [_jsx(DsToggleButton, { value: positiveValue, children: _jsx(DsTypography, { variant: "supportBoldTextButton", children: positiveLabel }) }), _jsx(DsToggleButton, { value: negativeValue, children: _jsx(DsTypography, { variant: "supportBoldTextButton", children: negativeLabel }) })] }));
14
+ };
@@ -1,8 +1,3 @@
1
- import { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsTagProps } from './DsTag.Types';
3
- export declare class DsTag extends PureComponent<DsTagProps> {
4
- static defaultProps: DsTagProps;
5
- handleClick: () => void;
6
- handleDelete: () => void;
7
- render(): import("react/jsx-runtime").JSX.Element;
8
- }
3
+ export declare const DsTag: FC<DsTagProps>;
@@ -1,25 +1,61 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { PureComponent } from 'react';
3
2
  import Chip from '@mui/material/Chip';
4
- import { DsTagDefaultProps } from './DsTag.Types';
5
3
  import { DsRemixIcon } from '../DsRemixIcon';
6
- export class DsTag extends PureComponent {
7
- static defaultProps = DsTagDefaultProps;
8
- handleClick = () => {
9
- const { value, onClick } = this.props;
4
+ import STATE_STYLES from '../../Theme/STATE_STYLES';
5
+ import { useThemeProps } from '@mui/system';
6
+ export const DsTag = inProps => {
7
+ const props = useThemeProps({ props: inProps, name: 'DsTag' });
8
+ const handleClick = () => {
9
+ const { value, onClick } = props;
10
10
  if (typeof onClick === 'function') {
11
11
  onClick(value);
12
12
  }
13
13
  };
14
- handleDelete = () => {
15
- const { value, onDelete } = this.props;
14
+ const handleDelete = () => {
15
+ const { value, onDelete } = props;
16
16
  if (typeof onDelete === 'function') {
17
17
  onDelete(value);
18
18
  }
19
19
  };
20
- render() {
21
- const { selected, onClick, onDelete, ...chipProps } = this.props;
22
- const color = (selected && 'secondary') || 'default';
23
- return (_jsx(Chip, { deleteIcon: _jsx(DsRemixIcon, { className: "ri-close-circle-fill" }), skipFocusWhenDisabled: true, ...chipProps, clickable: true, color: color, onDelete: (onDelete && this.handleDelete) || undefined, onClick: this.handleClick }));
24
- }
25
- }
20
+ const { selected, onClick, onDelete, ...chipProps } = props;
21
+ const color = (selected && 'secondary') || 'default';
22
+ return (_jsx(Chip, { deleteIcon: _jsx(DsRemixIcon, { className: "ri-close-circle-fill" }), skipFocusWhenDisabled: true, sx: {
23
+ paddingTop: 'var(--ds-spacing-quickFreeze)',
24
+ paddingBottom: 'var(--ds-spacing-quickFreeze)',
25
+ fontWeight: 'var(--ds-typo-bodyRegularMedium-fontWeight)',
26
+ fontSize: 'var(--ds-typo-bodyRegularMedium-fontSize)',
27
+ lineHeight: 'var(--ds-typo-bodyRegularMedium-lineHeight)',
28
+ letterSpacing: 'var(--ds-typo-bodyRegularMedium-letterSpacing)',
29
+ backgroundColor: 'var(--ds-colour-surfacePrimary)',
30
+ border: '1px solid var(--ds-colour-strokeDefault)',
31
+ '&.MuiChip-colorSecondary': {
32
+ backgroundColor: 'var(--ds-colour-actionSecondary)',
33
+ border: '1px solid var(--ds-colour-strokeSelected)',
34
+ fontWeight: 'var(--ds-typo-bodyBoldMedium-fontWeight)',
35
+ fontSize: 'var(--ds-typo-bodyBoldMedium-fontSize)',
36
+ lineHeight: 'var(--ds-typo-bodyBoldMedium-lineHeight)',
37
+ letterSpacing: 'var(--ds-typo-bodyBoldMedium-letterSpacing)',
38
+ '> .MuiChip-icon': {
39
+ color: 'inherit'
40
+ },
41
+ ...STATE_STYLES.ACTION_SECONDARY_STATE_SECONDARY
42
+ },
43
+ '> .MuiChip-label': {
44
+ paddingTop: 'var(--ds-spacing-deepFreeze)',
45
+ paddingBottom: 'var(--ds-spacing-deepFreeze)',
46
+ paddingLeft: 'var(--ds-spacing-frostbite)',
47
+ paddingRight: 'var(--ds-spacing-frostbite)'
48
+ },
49
+ '> .MuiChip-icon': {
50
+ color: 'var(--ds-colour-iconDefault)',
51
+ fontSize: 'var(--ds-typo-fontSizeBitterCold)',
52
+ marginLeft: 'var(--ds-spacing-frostbite)',
53
+ marginRight: 'calc(var(--ds-spacing-quickFreeze) * -1)'
54
+ },
55
+ '> .MuiChip-deleteIcon': {
56
+ fontSize: 'var(--ds-typo-fontSizeBitterCold)',
57
+ marginRight: 'var(--ds-spacing-frostbite)',
58
+ marginLeft: 'calc(var(--ds-spacing-quickFreeze) * -1)'
59
+ }
60
+ }, ...chipProps, variant: "tag", clickable: true, color: color, onDelete: (onDelete && handleDelete) || undefined, onClick: handleClick }));
61
+ };
@@ -1 +1,5 @@
1
- export declare const DsTagOverrides: {};
1
+ export declare const DsTagOverrides: {
2
+ DsTag: {
3
+ defaultProps: import("./DsTag.Types").DsTagProps;
4
+ };
5
+ };
@@ -1,2 +1,6 @@
1
- // NOTE: Refer DsChip for DsTag Overrides
2
- export const DsTagOverrides = {};
1
+ import { DsTagDefaultProps } from './DsTag.Types';
2
+ export const DsTagOverrides = {
3
+ DsTag: {
4
+ defaultProps: DsTagDefaultProps
5
+ }
6
+ };
@@ -1,8 +1,3 @@
1
- import { PureComponent } from 'react';
1
+ import { FC } from 'react';
2
2
  import { DsTagGroupProps } from './DsTagGroup.Types';
3
- export declare class DsTagGroup extends PureComponent<DsTagGroupProps> {
4
- static defaultProps: DsTagGroupProps;
5
- handleUnselect: (handleValue: any) => void;
6
- handleSelect: (handleValue: any) => void;
7
- render(): import("react/jsx-runtime").JSX.Element;
8
- }
3
+ export declare const DsTagGroup: FC<DsTagGroupProps>;