@am92/react-design-system 2.5.4 → 2.5.6

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 (115) hide show
  1. package/dist/Components/index.d.ts +0 -1
  2. package/dist/Components/index.js +0 -1
  3. package/dist/Theme/componentOverrides.d.ts +286 -219
  4. package/dist/Theme/componentOverrides.js +4 -3
  5. package/dist/Theme/index.d.ts +1 -1
  6. package/dist/Theme/index.js +2 -2
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +1 -0
  9. package/dist/locale.d.ts +59 -1
  10. package/dist/locale.js +58 -1
  11. package/dist/x-datepicker/Components/DsDatePicker/DateCalenderHeader.d.ts +3 -0
  12. package/dist/x-datepicker/Components/DsDatePicker/DateCalenderHeader.js +27 -0
  13. package/dist/{Components → x-datepicker/Components}/DsDatePicker/DatePickerTextField.d.ts +4 -4
  14. package/dist/x-datepicker/Components/DsDatePicker/DatePickerTextField.js +13 -0
  15. package/dist/x-datepicker/Components/DsDatePicker/DefaultActionBar.d.ts +7 -0
  16. package/dist/x-datepicker/Components/DsDatePicker/DefaultActionBar.js +27 -0
  17. package/dist/x-datepicker/Components/DsDatePicker/DefaultToolbar.d.ts +5 -0
  18. package/dist/x-datepicker/Components/DsDatePicker/DefaultToolbar.js +25 -0
  19. package/dist/x-datepicker/Components/DsDatePicker/DsDatePicker.Component.d.ts +3 -0
  20. package/dist/x-datepicker/Components/DsDatePicker/DsDatePicker.Component.js +97 -0
  21. package/dist/{Components → x-datepicker/Components}/DsDatePicker/DsDatePicker.Overrides.d.ts +67 -0
  22. package/dist/{Components → x-datepicker/Components}/DsDatePicker/DsDatePicker.Overrides.js +8 -0
  23. package/dist/x-datepicker/Components/DsDatePicker/DsDatePicker.Types.d.ts +17 -0
  24. package/dist/{Components → x-datepicker/Components}/DsDatePicker/DsDatePicker.Types.js +2 -5
  25. package/dist/{Components → x-datepicker/Components}/DsDatePicker/utils.js +24 -4
  26. package/dist/x-datepicker/Components/index.d.ts +1 -0
  27. package/dist/x-datepicker/Components/index.js +1 -0
  28. package/dist/x-datepicker/Locale/DsDatePickerLocaleBeBY.d.ts +68 -0
  29. package/dist/x-datepicker/Locale/DsDatePickerLocaleBeBY.js +15 -0
  30. package/dist/x-datepicker/Locale/DsDatePickerLocaleCaES.d.ts +68 -0
  31. package/dist/x-datepicker/Locale/DsDatePickerLocaleCaES.js +15 -0
  32. package/dist/x-datepicker/Locale/DsDatePickerLocaleCsCZ.d.ts +68 -0
  33. package/dist/x-datepicker/Locale/DsDatePickerLocaleCsCZ.js +15 -0
  34. package/dist/x-datepicker/Locale/DsDatePickerLocaleDaDK.d.ts +68 -0
  35. package/dist/x-datepicker/Locale/DsDatePickerLocaleDaDK.js +15 -0
  36. package/dist/x-datepicker/Locale/DsDatePickerLocaleDeDE.d.ts +68 -0
  37. package/dist/x-datepicker/Locale/DsDatePickerLocaleDeDE.js +15 -0
  38. package/dist/x-datepicker/Locale/DsDatePickerLocaleElGR.d.ts +68 -0
  39. package/dist/x-datepicker/Locale/DsDatePickerLocaleElGR.js +15 -0
  40. package/dist/x-datepicker/Locale/DsDatePickerLocaleEnUS.d.ts +68 -0
  41. package/dist/x-datepicker/Locale/DsDatePickerLocaleEnUS.js +15 -0
  42. package/dist/x-datepicker/Locale/DsDatePickerLocaleEsES.d.ts +68 -0
  43. package/dist/x-datepicker/Locale/DsDatePickerLocaleEsES.js +15 -0
  44. package/dist/x-datepicker/Locale/DsDatePickerLocaleEu.d.ts +68 -0
  45. package/dist/x-datepicker/Locale/DsDatePickerLocaleEu.js +15 -0
  46. package/dist/x-datepicker/Locale/DsDatePickerLocaleFaIR.d.ts +68 -0
  47. package/dist/x-datepicker/Locale/DsDatePickerLocaleFaIR.js +15 -0
  48. package/dist/x-datepicker/Locale/DsDatePickerLocaleFiFI.d.ts +68 -0
  49. package/dist/x-datepicker/Locale/DsDatePickerLocaleFiFI.js +15 -0
  50. package/dist/x-datepicker/Locale/DsDatePickerLocaleFrFR.d.ts +68 -0
  51. package/dist/x-datepicker/Locale/DsDatePickerLocaleFrFR.js +15 -0
  52. package/dist/x-datepicker/Locale/DsDatePickerLocaleHeIL.d.ts +68 -0
  53. package/dist/x-datepicker/Locale/DsDatePickerLocaleHeIL.js +15 -0
  54. package/dist/x-datepicker/Locale/DsDatePickerLocaleHuHU.d.ts +68 -0
  55. package/dist/x-datepicker/Locale/DsDatePickerLocaleHuHU.js +15 -0
  56. package/dist/x-datepicker/Locale/DsDatePickerLocaleIsIS.d.ts +68 -0
  57. package/dist/x-datepicker/Locale/DsDatePickerLocaleIsIS.js +15 -0
  58. package/dist/x-datepicker/Locale/DsDatePickerLocaleItIT.d.ts +68 -0
  59. package/dist/x-datepicker/Locale/DsDatePickerLocaleItIT.js +15 -0
  60. package/dist/x-datepicker/Locale/DsDatePickerLocaleJaJP.d.ts +68 -0
  61. package/dist/x-datepicker/Locale/DsDatePickerLocaleJaJP.js +15 -0
  62. package/dist/x-datepicker/Locale/DsDatePickerLocaleKoKR.d.ts +68 -0
  63. package/dist/x-datepicker/Locale/DsDatePickerLocaleKoKR.js +15 -0
  64. package/dist/x-datepicker/Locale/DsDatePickerLocaleKzKZ.d.ts +68 -0
  65. package/dist/x-datepicker/Locale/DsDatePickerLocaleKzKZ.js +15 -0
  66. package/dist/x-datepicker/Locale/DsDatePickerLocaleMk.d.ts +68 -0
  67. package/dist/x-datepicker/Locale/DsDatePickerLocaleMk.js +15 -0
  68. package/dist/x-datepicker/Locale/DsDatePickerLocaleNbNO.d.ts +68 -0
  69. package/dist/x-datepicker/Locale/DsDatePickerLocaleNbNO.js +15 -0
  70. package/dist/x-datepicker/Locale/DsDatePickerLocaleNlNL.d.ts +68 -0
  71. package/dist/x-datepicker/Locale/DsDatePickerLocaleNlNL.js +15 -0
  72. package/dist/x-datepicker/Locale/DsDatePickerLocalePlPL.d.ts +68 -0
  73. package/dist/x-datepicker/Locale/DsDatePickerLocalePlPL.js +15 -0
  74. package/dist/x-datepicker/Locale/DsDatePickerLocalePtBR.d.ts +68 -0
  75. package/dist/x-datepicker/Locale/DsDatePickerLocalePtBR.js +15 -0
  76. package/dist/x-datepicker/Locale/DsDatePickerLocaleRoRO.d.ts +68 -0
  77. package/dist/x-datepicker/Locale/DsDatePickerLocaleRoRO.js +15 -0
  78. package/dist/x-datepicker/Locale/DsDatePickerLocaleRuRU.d.ts +68 -0
  79. package/dist/x-datepicker/Locale/DsDatePickerLocaleRuRU.js +15 -0
  80. package/dist/x-datepicker/Locale/DsDatePickerLocaleSkSK.d.ts +68 -0
  81. package/dist/x-datepicker/Locale/DsDatePickerLocaleSkSK.js +15 -0
  82. package/dist/x-datepicker/Locale/DsDatePickerLocaleSvSE.d.ts +68 -0
  83. package/dist/x-datepicker/Locale/DsDatePickerLocaleSvSE.js +15 -0
  84. package/dist/x-datepicker/Locale/DsDatePickerLocaleTrTR.d.ts +68 -0
  85. package/dist/x-datepicker/Locale/DsDatePickerLocaleTrTR.js +15 -0
  86. package/dist/x-datepicker/Locale/DsDatePickerLocaleUkUA.d.ts +68 -0
  87. package/dist/x-datepicker/Locale/DsDatePickerLocaleUkUA.js +15 -0
  88. package/dist/x-datepicker/Locale/DsDatePickerLocaleUrPK.d.ts +66 -0
  89. package/dist/x-datepicker/Locale/DsDatePickerLocaleUrPK.js +13 -0
  90. package/dist/x-datepicker/Locale/DsDatePickerLocaleViVN.d.ts +68 -0
  91. package/dist/x-datepicker/Locale/DsDatePickerLocaleViVN.js +15 -0
  92. package/dist/x-datepicker/Locale/DsDatePickerLocaleZhCN.d.ts +68 -0
  93. package/dist/x-datepicker/Locale/DsDatePickerLocaleZhCN.js +15 -0
  94. package/dist/x-datepicker/Locale/DsDatePickerLocaleZhHK.d.ts +68 -0
  95. package/dist/x-datepicker/Locale/DsDatePickerLocaleZhHK.js +15 -0
  96. package/dist/x-datepicker/Locale/index.d.ts +35 -0
  97. package/dist/x-datepicker/Locale/index.js +34 -0
  98. package/dist/x-datepicker/componentOverrides.d.ts +289 -0
  99. package/dist/x-datepicker/componentOverrides.js +5 -0
  100. package/dist/x-datepicker/index.d.ts +2 -0
  101. package/dist/x-datepicker/index.js +2 -0
  102. package/package.json +1 -1
  103. package/dist/Components/DsDatePicker/DateCalenderHeader.d.ts +0 -7
  104. package/dist/Components/DsDatePicker/DateCalenderHeader.js +0 -26
  105. package/dist/Components/DsDatePicker/DatePickerTextField.js +0 -8
  106. package/dist/Components/DsDatePicker/DefaultActionBar.d.ts +0 -7
  107. package/dist/Components/DsDatePicker/DefaultActionBar.js +0 -28
  108. package/dist/Components/DsDatePicker/DefaultToolbar.d.ts +0 -7
  109. package/dist/Components/DsDatePicker/DefaultToolbar.js +0 -29
  110. package/dist/Components/DsDatePicker/DsDatePicker.Component.d.ts +0 -16
  111. package/dist/Components/DsDatePicker/DsDatePicker.Component.js +0 -91
  112. package/dist/Components/DsDatePicker/DsDatePicker.Types.d.ts +0 -20
  113. /package/dist/{Components → x-datepicker/Components}/DsDatePicker/index.d.ts +0 -0
  114. /package/dist/{Components → x-datepicker/Components}/DsDatePicker/index.js +0 -0
  115. /package/dist/{Components → x-datepicker/Components}/DsDatePicker/utils.d.ts +0 -0
package/dist/locale.js CHANGED
@@ -1 +1,58 @@
1
- export * from '@mui/material/locale';
1
+ export { amET as DsLocaleAmET } from '@mui/material/locale';
2
+ export { arEG as DsLocaleArEG } from '@mui/material/locale';
3
+ export { arSA as DsLocaleArSA } from '@mui/material/locale';
4
+ export { arSD as DsLocaleArSD } from '@mui/material/locale';
5
+ export { azAZ as DsLocaleAzAZ } from '@mui/material/locale';
6
+ export { bnBD as DsLocaleBnBD } from '@mui/material/locale';
7
+ export { beBY as DsLocaleBeBY } from '@mui/material/locale';
8
+ export { bgBG as DsLocaleBgBG } from '@mui/material/locale';
9
+ export { caES as DsLocaleCaES } from '@mui/material/locale';
10
+ export { csCZ as DsLocaleCsCZ } from '@mui/material/locale';
11
+ export { daDK as DsLocaleDaDK } from '@mui/material/locale';
12
+ export { deDE as DsLocaleDeDE } from '@mui/material/locale';
13
+ export { elGR as DsLocaleElGR } from '@mui/material/locale';
14
+ export { enUS as DsLocaleEnUS } from '@mui/material/locale';
15
+ export { esES as DsLocaleEsES } from '@mui/material/locale';
16
+ export { etEE as DsLocaleEtEE } from '@mui/material/locale';
17
+ export { faIR as DsLocaleFaIR } from '@mui/material/locale';
18
+ export { fiFI as DsLocaleFiFI } from '@mui/material/locale';
19
+ export { frFR as DsLocaleFrFR } from '@mui/material/locale';
20
+ export { heIL as DsLocaleHeIL } from '@mui/material/locale';
21
+ export { hiIN as DsLocaleHiIN } from '@mui/material/locale';
22
+ export { hrHR as DsLocaleHrHR } from '@mui/material/locale';
23
+ export { huHU as DsLocaleHuHU } from '@mui/material/locale';
24
+ export { hyAM as DsLocaleHyAM } from '@mui/material/locale';
25
+ export { idID as DsLocaleIdID } from '@mui/material/locale';
26
+ export { isIS as DsLocaleIsIS } from '@mui/material/locale';
27
+ export { itIT as DsLocaleItIT } from '@mui/material/locale';
28
+ export { jaJP as DsLocaleJaJP } from '@mui/material/locale';
29
+ export { khKH as DsLocaleKhKH } from '@mui/material/locale';
30
+ export { koKR as DsLocaleKoKR } from '@mui/material/locale';
31
+ export { kuCKB as DsLocaleKuCKB } from '@mui/material/locale';
32
+ export { kuLatn as DsLocaleKuLatn } from '@mui/material/locale';
33
+ export { kkKZ as DsLocaleKkKZ } from '@mui/material/locale';
34
+ export { mkMK as DsLocaleMkMK } from '@mui/material/locale';
35
+ export { myMY as DsLocaleMyMY } from '@mui/material/locale';
36
+ export { msMS as DsLocaleMsMS } from '@mui/material/locale';
37
+ export { neNP as DsLocaleNeNP } from '@mui/material/locale';
38
+ export { nbNO as DsLocaleNbNO } from '@mui/material/locale';
39
+ export { nnNO as DsLocaleNnNO } from '@mui/material/locale';
40
+ export { nlNL as DsLocaleNlNL } from '@mui/material/locale';
41
+ export { plPL as DsLocalePlPL } from '@mui/material/locale';
42
+ export { ptBR as DsLocalePtBR } from '@mui/material/locale';
43
+ export { ptPT as DsLocalePtPT } from '@mui/material/locale';
44
+ export { roRO as DsLocaleRoRO } from '@mui/material/locale';
45
+ export { srRS as DsLocaleSrRS } from '@mui/material/locale';
46
+ export { ruRU as DsLocaleRuRU } from '@mui/material/locale';
47
+ export { siLK as DsLocaleSiLK } from '@mui/material/locale';
48
+ export { skSK as DsLocaleSkSK } from '@mui/material/locale';
49
+ export { svSE as DsLocaleSvSE } from '@mui/material/locale';
50
+ export { thTH as DsLocaleThTH } from '@mui/material/locale';
51
+ export { trTR as DsLocaleTrTR } from '@mui/material/locale';
52
+ export { tlTL as DsLocaleTlTL } from '@mui/material/locale';
53
+ export { ukUA as DsLocaleUkUA } from '@mui/material/locale';
54
+ export { urPK as DsLocaleUrPK } from '@mui/material/locale';
55
+ export { viVN as DsLocaleViVN } from '@mui/material/locale';
56
+ export { zhCN as DsLocaleZhCN } from '@mui/material/locale';
57
+ export { zhHK as DsLocaleZhHK } from '@mui/material/locale';
58
+ export { zhTW as DsLocaleZhTW } from '@mui/material/locale';
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { PickersCalendarHeaderProps } from '@mui/x-date-pickers';
3
+ export declare const DateCalenderHeader: React.ForwardRefExoticComponent<PickersCalendarHeaderProps<Date> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useThemeProps } from '@mui/system';
4
+ import { useUtils } from '@mui/x-date-pickers/internals';
5
+ import { DsStack, DsIconButton, DsRemixIcon, DsButtonBase, DsTypography } from '../../../Components';
6
+ export const DateCalenderHeader = React.forwardRef(function PickersCalendarHeader(inProps, ref) {
7
+ // const translations = usePickersTranslations<TDate>()
8
+ const utils = useUtils();
9
+ const props = useThemeProps({
10
+ props: inProps,
11
+ name: 'MuiPickersCalendarHeader'
12
+ });
13
+ const { currentMonth, view } = props;
14
+ const handleMonthChange = (direction, numberOfMonths) => () => {
15
+ const { currentMonth, onMonthChange } = props;
16
+ onMonthChange(utils.addMonths(currentMonth, numberOfMonths), direction);
17
+ };
18
+ const handleViewShow = (view) => () => {
19
+ const { onViewChange } = props;
20
+ onViewChange && onViewChange(view);
21
+ };
22
+ const isYearNavigationDisabled = view === 'month';
23
+ const isMonthNavigationDisabled = view === 'year';
24
+ return (_jsxs(DsStack, { direction: "row", justifyContent: "space-between",
25
+ // spacing='var(--ds-spacing-frostbite)'
26
+ sx: { p: 'var(--ds-spacing-frostbite)' }, children: [_jsxs(DsStack, { direction: "row", justifyContent: "space-between", alignItems: "center", spacing: "var(--ds-spacing-frostbite)", children: [_jsx(DsIconButton, { disabled: isYearNavigationDisabled || isMonthNavigationDisabled, onClick: handleMonthChange('left', -1), children: _jsx(DsRemixIcon, { className: "ri-arrow-drop-left-line" }) }), _jsxs(DsButtonBase, { disabled: isMonthNavigationDisabled, onClick: handleViewShow('month'), children: [_jsx(DsTypography, { variant: "bodyBoldSmall", color: isMonthNavigationDisabled ? 'text.disabled' : 'text.primary', children: utils.formatByString(currentMonth, utils.formats.monthShort) }), _jsx(DsRemixIcon, { className: "ri-arrow-drop-down-fill", color: isMonthNavigationDisabled ? 'iconDisabled' : 'iconDefault', sx: { mr: 'var(--ds-spacing-quickFreeze)' } })] }), _jsx(DsIconButton, { disabled: isYearNavigationDisabled || isMonthNavigationDisabled, onClick: handleMonthChange('right', 1), children: _jsx(DsRemixIcon, { className: "ri-arrow-drop-right-line" }) })] }), _jsxs(DsStack, { direction: "row", justifyContent: "space-between", alignItems: "center", spacing: "var(--ds-spacing-frostbite)", children: [_jsx(DsIconButton, { disabled: isYearNavigationDisabled || isMonthNavigationDisabled, onClick: handleMonthChange('left', -12), children: _jsx(DsRemixIcon, { className: "ri-arrow-drop-left-line" }) }), _jsxs(DsButtonBase, { disabled: isYearNavigationDisabled, onClick: handleViewShow('year'), children: [_jsx(DsTypography, { variant: "bodyBoldSmall", color: isYearNavigationDisabled ? 'text.disabled' : 'text.primary', children: utils.formatByString(currentMonth, utils.formats.year) }), _jsx(DsRemixIcon, { className: "ri-arrow-drop-down-fill", color: isYearNavigationDisabled ? 'iconDisabled' : 'iconDefault', sx: { mr: 'var(--ds-spacing-quickFreeze)' } })] }), _jsx(DsIconButton, { disabled: isYearNavigationDisabled || isMonthNavigationDisabled, onClick: handleMonthChange('right', 12), children: _jsx(DsRemixIcon, { className: "ri-arrow-drop-right-line" }) })] })] }));
27
+ });
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { DateFieldProps, DateOrTimeView } from '@mui/x-date-pickers';
3
- import { DsTextFieldProps } from '../DsTextField';
2
+ import { DateFieldProps } from '@mui/x-date-pickers';
3
+ import { DsTextFieldProps } from '../../../Components';
4
4
  export interface DatePickerTextFieldProps extends Omit<DsTextFieldProps, 'margin' | 'onInvalid' | 'onKeyDown' | 'onBlur' | 'onKeyUp' | 'ref'> {
5
5
  setOpen?: (open: boolean) => void;
6
- InputProps?: DateFieldProps<DateOrTimeView>['InputProps'];
7
- ref?: DateFieldProps<DateOrTimeView>['ref'];
6
+ InputProps?: DateFieldProps<Date>['InputProps'];
7
+ ref?: DateFieldProps<Date>['ref'];
8
8
  focused?: boolean;
9
9
  ownerState?: any;
10
10
  }
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useThemeProps } from '@mui/material';
4
+ import { DsTextField } from '../../../Components';
5
+ export const DatePickerTextField = React.forwardRef((inProps, inputRef) => {
6
+ const props = useThemeProps({
7
+ props: inProps,
8
+ name: 'MuiPickersInput'
9
+ });
10
+ const { setOpen, ref, InputProps, focused, ownerState, ...other } = props;
11
+ const { readOnly } = InputProps || {};
12
+ return _jsx(DsTextField, { readOnly: readOnly, ...other });
13
+ });
@@ -0,0 +1,7 @@
1
+ import { PickersActionBarProps } from '@mui/x-date-pickers';
2
+ export declare function DefaultActionBar(props: PickersActionBarProps & {
3
+ ownerState?: any;
4
+ }): import("react/jsx-runtime").JSX.Element | null;
5
+ export declare namespace DefaultActionBar {
6
+ var displayName: string;
7
+ }
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useLocaleText } from '@mui/x-date-pickers/internals';
3
+ import { DsButtonGroup, DsButton } from '../../../Components';
4
+ export function DefaultActionBar(props) {
5
+ const { onAccept, onClear, ownerState, actions } = props;
6
+ const { value } = ownerState || {};
7
+ if (actions == null || actions?.length === 0) {
8
+ return null;
9
+ }
10
+ const translations = useLocaleText();
11
+ const isClearVisible = actions.includes('clear');
12
+ const isConfirmVisible = actions.includes('accept');
13
+ return (_jsxs(DsButtonGroup, { sx: {
14
+ gridArea: '3 / 1 / auto / 4',
15
+ backgroundColor: 'var(--ds-colour-surfaceSecondary)',
16
+ px: 'var(--ds-spacing-mild)',
17
+ borderTop: '1px solid var(--ds-colour-strokeDefault)',
18
+ borderRadius: '0px 0px 16px 16px '
19
+ }, justifyContent: "space-between", size: "medium", children: [isClearVisible && (_jsx(DsButton, { sx: {
20
+ py: 'var(--ds-spacing-glacial)',
21
+ px: 'var(--ds-spacing-pleasant)'
22
+ }, variant: "text", size: "medium", color: "secondary", onClick: onClear, disabled: !value, children: translations.clearButtonLabel })), isConfirmVisible && (_jsx(DsButton, { sx: {
23
+ py: 'var(--ds-spacing-glacial)',
24
+ px: 'var(--ds-spacing-pleasant)'
25
+ }, variant: "text", size: "medium", color: "secondary", onClick: onAccept, disabled: !value, children: translations.okButtonLabel }))] }));
26
+ }
27
+ DefaultActionBar.displayName = 'DefaultActionBar';
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { DatePickerToolbarProps } from '@mui/x-date-pickers';
3
+ export declare const DefaultToolbar: React.ForwardRefExoticComponent<DatePickerToolbarProps<Date> & {
4
+ ownerState?: any;
5
+ } & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useUtils } from '@mui/x-date-pickers/internals';
4
+ import { useThemeProps } from '@mui/system';
5
+ import { useLocaleText } from '@mui/x-date-pickers/internals';
6
+ import { DsStack, DsTypography, DsIconButton, DsRemixIcon } from '../../../Components';
7
+ export const DefaultToolbar = React.forwardRef(function DatePickerToolbar(inProps, ref) {
8
+ const props = useThemeProps({ props: inProps, name: 'MuiDatePickerToolbar' });
9
+ const { value, ownerState } = props;
10
+ const { onCancel } = ownerState;
11
+ const translations = useLocaleText();
12
+ const utils = useUtils();
13
+ const dateText = (value && `: ${utils.formatByString(value, utils.formats.fullDate)}`) || '';
14
+ return (_jsx(DsStack, { sx: {
15
+ backgroundColor: 'var(--ds-colour-surfaceSecondary)',
16
+ padding: 'var(--ds-spacing-cool) var(--ds-spacing-bitterCold)',
17
+ gridArea: '1 / 2 / auto / 4',
18
+ borderRadius: '16px 16px 0px 0px',
19
+ borderBottom: '1px solid var(--ds-colour-strokeDefault)'
20
+ }, children: _jsxs(DsTypography, { sx: {
21
+ display: 'flex',
22
+ alignItems: 'center',
23
+ justifyContent: 'space-between'
24
+ }, variant: "headingBoldExtraSmall", children: [`${translations.datePickerToolbarTitle}${dateText}`, _jsx(DsIconButton, { onClick: onCancel, children: _jsx(DsRemixIcon, { className: "ri-close-line" }) })] }) }));
25
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { DsDatePickerProps } from './DsDatePicker.Types';
3
+ export declare const DsDatePicker: React.FC<DsDatePickerProps<Date>>;
@@ -0,0 +1,97 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useRef } from 'react';
3
+ import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
4
+ import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers';
5
+ import { DefaultActionBar } from './DefaultActionBar';
6
+ import { DefaultToolbar } from './DefaultToolbar';
7
+ import { DsDatePickerDefaultProps } from './DsDatePicker.Types';
8
+ import { DateCalenderHeader } from './DateCalenderHeader';
9
+ import { DatePickerTextField } from './DatePickerTextField';
10
+ import { getDateFromValue, getErrorFromErrorMap, getValueTypeFromValue } from './utils';
11
+ import { DsInputAdornment, DsIconButton, DsRemixIcon } from '../../../Components';
12
+ import { useThemeProps } from '@mui/system';
13
+ export const DsDatePicker = inProps => {
14
+ const props = useThemeProps({
15
+ props: inProps,
16
+ name: 'MuiDatePicker'
17
+ });
18
+ const [open, setOpen] = useState(false);
19
+ const [views, setViews] = useState(['day']);
20
+ const ref = useRef(null);
21
+ const onOpen = () => setOpen(true);
22
+ const onClose = () => setOpen(false);
23
+ const handleChange = (value, context) => {
24
+ const { onChange, onError, errorMap, name, valueType, format: formatType, views } = props;
25
+ if (!views)
26
+ setViews(['day']);
27
+ if (context.validationError && typeof onError === 'function') {
28
+ const error = getErrorFromErrorMap(errorMap, context.validationError, value);
29
+ onError(name, error, context.validationError, getValueTypeFromValue(value, valueType, formatType));
30
+ return;
31
+ }
32
+ if (typeof onChange === 'function' && formatType) {
33
+ onChange(name, getValueTypeFromValue(value, valueType, formatType));
34
+ }
35
+ };
36
+ const handleError = (error, value) => {
37
+ const { onError, errorMap, name } = props;
38
+ if (error && typeof onError === 'function') {
39
+ const errorMsg = getErrorFromErrorMap(errorMap, error, value);
40
+ onError(name, errorMsg, error, value);
41
+ }
42
+ };
43
+ const handleViewChange = (value) => {
44
+ setViews([value, 'day']);
45
+ };
46
+ const { onChange, onError, defaultValue, value, valueType, format, views: propViews, disabled, readOnly = false, required, fullWidth, onBlur, onFocus, label, InputLabelProps, labelSupportText, helperText, HelperTextProps, FormControlProps, success, error, LocalizationProviderProps: inLocalizationProviderProps, ...restProps } = props;
47
+ const LocalizationProviderProps = useThemeProps({
48
+ props: inLocalizationProviderProps,
49
+ name: 'MuiLocalizationProvider'
50
+ });
51
+ return (_jsx(LocalizationProvider, { dateAdapter: AdapterDateFns, ...LocalizationProviderProps, children: _jsx(DatePicker, { ...restProps, slots: {
52
+ actionBar: DefaultActionBar,
53
+ toolbar: DefaultToolbar,
54
+ textField: DatePickerTextField,
55
+ calendarHeader: DateCalenderHeader,
56
+ ...props.slots
57
+ }, slotProps: {
58
+ ...props.slotProps,
59
+ day: {
60
+ // commented to show current day border highlight
61
+ // disableHighlightToday: true,
62
+ ...props.slotProps?.day
63
+ },
64
+ textField: {
65
+ required,
66
+ fullWidth,
67
+ onBlur,
68
+ onFocus,
69
+ label,
70
+ InputLabelProps,
71
+ labelSupportText,
72
+ helperText,
73
+ HelperTextProps,
74
+ FormControlProps,
75
+ success,
76
+ error,
77
+ readOnly,
78
+ ...props.slotProps?.textField,
79
+ endAdornment: (_jsx(DsInputAdornment, { position: "end", disablePointerEvents: disabled, children: _jsx(DsIconButton, { disabled: disabled, onClick: onOpen, children: _jsx(DsRemixIcon, { className: "ri-calendar-line", fontSize: "bitterCold" }) }) }))
80
+ },
81
+ actionBar: ownerState => ({
82
+ actions: ownerState.view === 'day' ? ['clear', 'accept'] : [],
83
+ ...props.slotProps?.actionBar
84
+ }),
85
+ popper: {
86
+ anchorEl: ref.current,
87
+ // style to unset fixed width
88
+ sx: {
89
+ '.MuiMonthCalendar-root': {
90
+ width: '100%'
91
+ }
92
+ },
93
+ ...props.slotProps?.popper
94
+ }
95
+ }, readOnly: readOnly, disabled: disabled, format: format, open: open, reduceAnimations: true, onOpen: onOpen, onClose: onClose, onChange: handleChange, onViewChange: handleViewChange, onError: handleError, views: propViews || views, value: getDateFromValue(value, valueType, format), defaultValue: getDateFromValue(defaultValue, valueType, format), inputRef: ref }) }));
96
+ };
97
+ DsDatePicker.defaultProps = DsDatePickerDefaultProps;
@@ -1,4 +1,71 @@
1
+ /// <reference types="date-fns" />
1
2
  export declare const DsDatePickerOverrides: {
3
+ MuiDatePicker: {
4
+ defaultProps: import("./DsDatePicker.Types").DsDatePickerProps<Date>;
5
+ };
6
+ MuiLocalizationProvider: {
7
+ defaultProps: {
8
+ adapterLocale: Locale;
9
+ localeText: {
10
+ okButtonLabel: string;
11
+ previousMonth?: string | undefined;
12
+ nextMonth?: string | undefined;
13
+ calendarWeekNumberHeaderLabel?: string | undefined;
14
+ calendarWeekNumberHeaderText?: string | undefined;
15
+ calendarWeekNumberAriaLabelText?: ((weekNumber: number) => string) | undefined;
16
+ calendarWeekNumberText?: ((weekNumber: number) => string) | undefined;
17
+ openPreviousView?: string | undefined;
18
+ openNextView?: string | undefined;
19
+ calendarViewSwitchingButtonAriaLabel?: ((currentView: import("@mui/x-date-pickers").DateView) => string) | undefined;
20
+ start?: string | undefined;
21
+ end?: string | undefined;
22
+ cancelButtonLabel?: string | undefined;
23
+ clearButtonLabel?: string | undefined;
24
+ todayButtonLabel?: string | undefined;
25
+ clockLabelText?: ((view: import("@mui/x-date-pickers").TimeView, time: any, adapter: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
26
+ hoursClockNumberText?: ((hours: string) => string) | undefined;
27
+ minutesClockNumberText?: ((minutes: string) => string) | undefined;
28
+ secondsClockNumberText?: ((seconds: string) => string) | undefined;
29
+ selectViewText?: ((view: import("@mui/x-date-pickers/internals/models").TimeViewWithMeridiem) => string) | undefined;
30
+ openDatePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
31
+ openTimePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
32
+ fieldClearLabel?: string | undefined;
33
+ timeTableLabel?: string | undefined;
34
+ dateTableLabel?: string | undefined;
35
+ fieldYearPlaceholder?: ((params: {
36
+ digitAmount: number;
37
+ format: string;
38
+ }) => string) | undefined;
39
+ fieldMonthPlaceholder?: ((params: {
40
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
41
+ format: string;
42
+ }) => string) | undefined;
43
+ fieldDayPlaceholder?: ((params: {
44
+ format: string;
45
+ }) => string) | undefined;
46
+ fieldWeekDayPlaceholder?: ((params: {
47
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
48
+ format: string;
49
+ }) => string) | undefined;
50
+ fieldHoursPlaceholder?: ((params: {
51
+ format: string;
52
+ }) => string) | undefined;
53
+ fieldMinutesPlaceholder?: ((params: {
54
+ format: string;
55
+ }) => string) | undefined;
56
+ fieldSecondsPlaceholder?: ((params: {
57
+ format: string;
58
+ }) => string) | undefined;
59
+ fieldMeridiemPlaceholder?: ((params: {
60
+ format: string;
61
+ }) => string) | undefined;
62
+ datePickerToolbarTitle?: string | undefined;
63
+ timePickerToolbarTitle?: string | undefined;
64
+ dateTimePickerToolbarTitle?: string | undefined;
65
+ dateRangePickerToolbarTitle?: string | undefined;
66
+ };
67
+ };
68
+ };
2
69
  MuiPickersPopper: {
3
70
  styleOverrides: {
4
71
  root: {
@@ -1,4 +1,12 @@
1
+ import { DsDatePickerLocaleEnUS } from '../../Locale';
2
+ import { DsDatePickerDefaultProps } from './DsDatePicker.Types';
1
3
  export const DsDatePickerOverrides = {
4
+ MuiDatePicker: {
5
+ defaultProps: DsDatePickerDefaultProps
6
+ },
7
+ MuiLocalizationProvider: {
8
+ defaultProps: DsDatePickerLocaleEnUS.components.MuiLocalizationProvider.defaultProps
9
+ },
2
10
  MuiPickersPopper: {
3
11
  styleOverrides: {
4
12
  root: {
@@ -0,0 +1,17 @@
1
+ import { DatePickerProps, DateValidationError, LocalizationProviderProps } from '@mui/x-date-pickers';
2
+ import { DsTextFieldProps } from '../../../Components';
3
+ import { Locale } from 'date-fns';
4
+ export type TErrorMapKeys = Exclude<DateValidationError, null>;
5
+ export type TValue = string | Date | undefined | null;
6
+ export type TValueType = 'date' | 'formattedValue' | 'ISO' | undefined;
7
+ export interface DsDatePickerProps<TDate extends Date> extends Omit<DatePickerProps<TDate>, 'open' | 'onOpen' | 'onClose' | 'yearsPerRow' | 'monthsPerRow' | 'onChange' | 'onError' | 'value' | 'defaultValue'>, Pick<DsTextFieldProps, 'required' | 'fullWidth' | 'label' | 'InputLabelProps' | 'labelSupportText' | 'helperText' | 'HelperTextProps' | 'FormControlProps' | 'success' | 'error' | 'onFocus' | 'onBlur'> {
8
+ onChange?: (name: string, value: TValue) => void;
9
+ onError?: (name: string, error: string, errorCode: DateValidationError, value: TValue | null) => void;
10
+ name: string;
11
+ value?: TValue;
12
+ defaultValue?: TValue;
13
+ valueType?: TValueType;
14
+ errorMap?: Partial<Record<TErrorMapKeys, string>>;
15
+ LocalizationProviderProps?: LocalizationProviderProps<Date, Locale>;
16
+ }
17
+ export declare const DsDatePickerDefaultProps: DsDatePickerProps<Date>;
@@ -3,9 +3,6 @@ export const DsDatePickerDefaultProps = {
3
3
  closeOnSelect: false,
4
4
  format: 'dd/MM/yyyy',
5
5
  name: '',
6
- valueType: 'date'
7
- };
8
- export const DsDatePickerDefaultState = {
9
- open: false,
10
- views: ['day']
6
+ valueType: 'date',
7
+ fixedWeekNumber: 6
11
8
  };
@@ -1,4 +1,4 @@
1
- import { format as formatDate, isValid, parse } from 'date-fns';
1
+ import { format as formatDate, formatISO, isValid, parse, parseISO } from 'date-fns';
2
2
  import { DsDatePickerDefaultProps } from './DsDatePicker.Types';
3
3
  export const getDateFromValue = (value, valueType, format = DsDatePickerDefaultProps.format) => {
4
4
  if (value === undefined) {
@@ -27,23 +27,43 @@ export const getDateFromValue = (value, valueType, format = DsDatePickerDefaultP
27
27
  return null;
28
28
  }
29
29
  }
30
+ case 'ISO': {
31
+ const parsedValue = parseISO(value);
32
+ if (isValid(parsedValue)) {
33
+ return parsedValue;
34
+ }
35
+ else {
36
+ console.warn(`Expected the value to be of ISO type but recived ${value}. Please check the value passed in your integration.`);
37
+ return null;
38
+ }
39
+ }
30
40
  }
31
41
  };
32
42
  export const getValueTypeFromValue = (value, valueType, format = DsDatePickerDefaultProps.format) => {
33
43
  if (value === undefined) {
34
44
  return;
35
45
  }
36
- if (!value) {
37
- return null;
38
- }
39
46
  switch (valueType) {
40
47
  case 'date': {
48
+ if (!value) {
49
+ return null;
50
+ }
41
51
  return value;
42
52
  }
43
53
  case 'formattedValue': {
54
+ if (!value) {
55
+ return '';
56
+ }
44
57
  const formattedDate = formatDate(value, format);
45
58
  return formattedDate;
46
59
  }
60
+ case 'ISO': {
61
+ if (!value) {
62
+ return '';
63
+ }
64
+ const formattedDate = formatISO(value);
65
+ return formattedDate;
66
+ }
47
67
  }
48
68
  };
49
69
  export const getErrorFromErrorMap = (errorMap, error, value) => {
@@ -0,0 +1 @@
1
+ export * from './DsDatePicker';
@@ -0,0 +1 @@
1
+ export * from './DsDatePicker';
@@ -0,0 +1,68 @@
1
+ /// <reference types="date-fns" />
2
+ export declare const DsDatePickerLocaleBeBY: {
3
+ components: {
4
+ MuiLocalizationProvider: {
5
+ defaultProps: {
6
+ adapterLocale: Locale;
7
+ localeText: {
8
+ okButtonLabel: string;
9
+ previousMonth?: string | undefined;
10
+ nextMonth?: string | undefined;
11
+ calendarWeekNumberHeaderLabel?: string | undefined;
12
+ calendarWeekNumberHeaderText?: string | undefined;
13
+ calendarWeekNumberAriaLabelText?: ((weekNumber: number) => string) | undefined;
14
+ calendarWeekNumberText?: ((weekNumber: number) => string) | undefined;
15
+ openPreviousView?: string | undefined;
16
+ openNextView?: string | undefined;
17
+ calendarViewSwitchingButtonAriaLabel?: ((currentView: import("@mui/x-date-pickers").DateView) => string) | undefined;
18
+ start?: string | undefined;
19
+ end?: string | undefined;
20
+ cancelButtonLabel?: string | undefined;
21
+ clearButtonLabel?: string | undefined;
22
+ todayButtonLabel?: string | undefined;
23
+ clockLabelText?: ((view: import("@mui/x-date-pickers").TimeView, time: any, adapter: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
24
+ hoursClockNumberText?: ((hours: string) => string) | undefined;
25
+ minutesClockNumberText?: ((minutes: string) => string) | undefined;
26
+ secondsClockNumberText?: ((seconds: string) => string) | undefined;
27
+ selectViewText?: ((view: import("@mui/x-date-pickers/internals/models").TimeViewWithMeridiem) => string) | undefined;
28
+ openDatePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
29
+ openTimePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
30
+ fieldClearLabel?: string | undefined;
31
+ timeTableLabel?: string | undefined;
32
+ dateTableLabel?: string | undefined;
33
+ fieldYearPlaceholder?: ((params: {
34
+ digitAmount: number;
35
+ format: string;
36
+ }) => string) | undefined;
37
+ fieldMonthPlaceholder?: ((params: {
38
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
39
+ format: string;
40
+ }) => string) | undefined;
41
+ fieldDayPlaceholder?: ((params: {
42
+ format: string;
43
+ }) => string) | undefined;
44
+ fieldWeekDayPlaceholder?: ((params: {
45
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
46
+ format: string;
47
+ }) => string) | undefined;
48
+ fieldHoursPlaceholder?: ((params: {
49
+ format: string;
50
+ }) => string) | undefined;
51
+ fieldMinutesPlaceholder?: ((params: {
52
+ format: string;
53
+ }) => string) | undefined;
54
+ fieldSecondsPlaceholder?: ((params: {
55
+ format: string;
56
+ }) => string) | undefined;
57
+ fieldMeridiemPlaceholder?: ((params: {
58
+ format: string;
59
+ }) => string) | undefined;
60
+ datePickerToolbarTitle?: string | undefined;
61
+ timePickerToolbarTitle?: string | undefined;
62
+ dateTimePickerToolbarTitle?: string | undefined;
63
+ dateRangePickerToolbarTitle?: string | undefined;
64
+ };
65
+ };
66
+ };
67
+ };
68
+ };
@@ -0,0 +1,15 @@
1
+ import { beBY } from '@mui/x-date-pickers/locales';
2
+ import be from 'date-fns/locale/be';
3
+ export const DsDatePickerLocaleBeBY = {
4
+ components: {
5
+ MuiLocalizationProvider: {
6
+ defaultProps: {
7
+ adapterLocale: be,
8
+ localeText: {
9
+ ...beBY.components.MuiLocalizationProvider.defaultProps.localeText,
10
+ okButtonLabel: 'Пацвердзіць'
11
+ }
12
+ }
13
+ }
14
+ }
15
+ };
@@ -0,0 +1,68 @@
1
+ /// <reference types="date-fns" />
2
+ export declare const DsDatePickerLocaleCaES: {
3
+ components: {
4
+ MuiLocalizationProvider: {
5
+ defaultProps: {
6
+ adapterLocale: Locale;
7
+ localeText: {
8
+ okButtonLabel: string;
9
+ previousMonth?: string | undefined;
10
+ nextMonth?: string | undefined;
11
+ calendarWeekNumberHeaderLabel?: string | undefined;
12
+ calendarWeekNumberHeaderText?: string | undefined;
13
+ calendarWeekNumberAriaLabelText?: ((weekNumber: number) => string) | undefined;
14
+ calendarWeekNumberText?: ((weekNumber: number) => string) | undefined;
15
+ openPreviousView?: string | undefined;
16
+ openNextView?: string | undefined;
17
+ calendarViewSwitchingButtonAriaLabel?: ((currentView: import("@mui/x-date-pickers").DateView) => string) | undefined;
18
+ start?: string | undefined;
19
+ end?: string | undefined;
20
+ cancelButtonLabel?: string | undefined;
21
+ clearButtonLabel?: string | undefined;
22
+ todayButtonLabel?: string | undefined;
23
+ clockLabelText?: ((view: import("@mui/x-date-pickers").TimeView, time: any, adapter: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
24
+ hoursClockNumberText?: ((hours: string) => string) | undefined;
25
+ minutesClockNumberText?: ((minutes: string) => string) | undefined;
26
+ secondsClockNumberText?: ((seconds: string) => string) | undefined;
27
+ selectViewText?: ((view: import("@mui/x-date-pickers/internals/models").TimeViewWithMeridiem) => string) | undefined;
28
+ openDatePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
29
+ openTimePickerDialogue?: ((date: any, utils: import("@mui/x-date-pickers").MuiPickersAdapter<any, any>) => string) | undefined;
30
+ fieldClearLabel?: string | undefined;
31
+ timeTableLabel?: string | undefined;
32
+ dateTableLabel?: string | undefined;
33
+ fieldYearPlaceholder?: ((params: {
34
+ digitAmount: number;
35
+ format: string;
36
+ }) => string) | undefined;
37
+ fieldMonthPlaceholder?: ((params: {
38
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
39
+ format: string;
40
+ }) => string) | undefined;
41
+ fieldDayPlaceholder?: ((params: {
42
+ format: string;
43
+ }) => string) | undefined;
44
+ fieldWeekDayPlaceholder?: ((params: {
45
+ contentType: import("@mui/x-date-pickers").FieldSectionContentType;
46
+ format: string;
47
+ }) => string) | undefined;
48
+ fieldHoursPlaceholder?: ((params: {
49
+ format: string;
50
+ }) => string) | undefined;
51
+ fieldMinutesPlaceholder?: ((params: {
52
+ format: string;
53
+ }) => string) | undefined;
54
+ fieldSecondsPlaceholder?: ((params: {
55
+ format: string;
56
+ }) => string) | undefined;
57
+ fieldMeridiemPlaceholder?: ((params: {
58
+ format: string;
59
+ }) => string) | undefined;
60
+ datePickerToolbarTitle?: string | undefined;
61
+ timePickerToolbarTitle?: string | undefined;
62
+ dateTimePickerToolbarTitle?: string | undefined;
63
+ dateRangePickerToolbarTitle?: string | undefined;
64
+ };
65
+ };
66
+ };
67
+ };
68
+ };