@ozen-ui/kit 0.74.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__inner__/cjs/components/Calendar/Calendar.js +26 -2
- package/__inner__/cjs/components/Calendar/CalendarContext.d.ts +8 -1
- package/__inner__/cjs/components/Calendar/CalendarContext.js +10 -1
- package/__inner__/cjs/components/Calendar/__tests__/utils.d.ts +11 -0
- package/__inner__/cjs/components/Calendar/__tests__/utils.js +58 -0
- package/__inner__/cjs/components/Calendar/components/CalendarGrid/CalendarGrid.js +4 -3
- package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItem.js +25 -2
- package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItemContext.d.ts +1 -0
- package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItemContext.js +1 -0
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +68 -13
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +62 -16
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.js +6 -7
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/CalendarSwitcherText.d.ts +3 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/CalendarSwitcherText.js +13 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/index.d.ts +2 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/index.js +5 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/types.d.ts +4 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/types.js +2 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/index.d.ts +1 -0
- package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/components/index.js +4 -0
- package/__inner__/cjs/components/Calendar/constants.d.ts +2 -0
- package/__inner__/cjs/components/Calendar/constants.js +7 -1
- package/__inner__/cjs/components/Calendar/index.d.ts +1 -0
- package/__inner__/cjs/components/Calendar/index.js +1 -0
- package/__inner__/cjs/components/Calendar/types.d.ts +13 -5
- package/__inner__/cjs/components/Calendar/utils.d.ts +10 -1
- package/__inner__/cjs/components/Calendar/utils.js +12 -1
- package/__inner__/cjs/components/DatePicker/components/DateInput/DateInput.js +4 -3
- package/__inner__/cjs/components/DatePicker/components/DateInput/types.d.ts +6 -2
- package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +2 -1
- package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +67 -7
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +32 -20
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +74 -51
- package/__inner__/cjs/components/DatePicker/constants.d.ts +2 -0
- package/__inner__/cjs/components/DatePicker/constants.js +4 -1
- package/__inner__/cjs/components/DatePicker/types.d.ts +10 -6
- package/__inner__/cjs/components/DatePicker/types.js +3 -1
- package/__inner__/cjs/components/DatePicker/utils/formatDateToString/formatDateToString.d.ts +2 -1
- package/__inner__/cjs/components/DatePicker/utils/formatDateToString/formatDateToString.js +18 -5
- package/__inner__/cjs/components/DatePicker/utils/formatStringToDate/formatStringToDate.d.ts +2 -1
- package/__inner__/cjs/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +6 -5
- package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +2 -2
- package/__inner__/cjs/components/DatePicker/utils/index.d.ts +2 -0
- package/__inner__/cjs/components/DatePicker/utils/index.js +2 -0
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +2 -1
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.js +9 -8
- package/__inner__/cjs/components/DatePicker/utils/maskPastedDate/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/maskPastedDate/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/maskPastedDate/maskPastedDate.d.ts +6 -0
- package/__inner__/cjs/components/DatePicker/utils/maskPastedDate/maskPastedDate.js +43 -0
- package/__inner__/cjs/components/DatePicker/utils/parseDateString/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/parseDateString/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/parseDateString/parseDateString.d.ts +6 -0
- package/__inner__/cjs/components/DatePicker/utils/parseDateString/parseDateString.js +66 -0
- package/__inner__/cjs/components/ListCardItem/hooks/useListCardItemRatio.js +10 -14
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/b-business-dark/color-b-business-dark.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/b-business-default/color-b-business-default.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/ozen-dark/color-ozen-dark.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/ozen-default/color-ozen-default.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/vip-dark/color-vip-dark.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/color/vip-default/color-vip-default.css +1 -1
- package/__inner__/cjs/components/OzenProvider/providers/theme/tokens/shadow/ozen-default/shadow-ozen-default.css +1 -1
- package/__inner__/cjs/components/Stack/Stack.css +3 -0
- package/__inner__/cjs/components/Stack/Stack.js +2 -1
- package/__inner__/cjs/components/Stack/constants.d.ts +1 -0
- package/__inner__/cjs/components/Stack/constants.js +2 -1
- package/__inner__/cjs/components/Stack/types.d.ts +4 -0
- package/__inner__/cjs/components/Stack/types.js +2 -1
- package/__inner__/cjs/hooks/useDevEffect/index.d.ts +1 -0
- package/__inner__/cjs/hooks/useDevEffect/index.js +4 -0
- package/__inner__/cjs/hooks/useDevEffect/useDevEffect.d.ts +3 -0
- package/__inner__/cjs/hooks/useDevEffect/useDevEffect.js +13 -0
- package/__inner__/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +3 -2
- package/__inner__/cjs/locale/locale.js +39 -3
- package/__inner__/cjs/utils/array/createFilled/createFilledArray.d.ts +1 -1
- package/__inner__/cjs/utils/array/createFilled/createFilledArray.js +6 -1
- package/__inner__/esm/components/Calendar/Calendar.js +27 -3
- package/__inner__/esm/components/Calendar/CalendarContext.d.ts +8 -1
- package/__inner__/esm/components/Calendar/CalendarContext.js +10 -1
- package/__inner__/esm/components/Calendar/__tests__/utils.d.ts +11 -0
- package/__inner__/esm/components/Calendar/__tests__/utils.js +45 -0
- package/__inner__/esm/components/Calendar/components/CalendarGrid/CalendarGrid.js +4 -3
- package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItem.js +25 -2
- package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.d.ts +1 -0
- package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.js +1 -0
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +70 -15
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +64 -18
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.js +6 -7
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/CalendarSwitcherText.d.ts +3 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/CalendarSwitcherText.js +9 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/index.d.ts +2 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/index.js +2 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/types.d.ts +4 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/CalendarSwitcherText/types.js +1 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/index.d.ts +1 -0
- package/__inner__/esm/components/Calendar/components/CalendarSwitcher/components/index.js +1 -0
- package/__inner__/esm/components/Calendar/constants.d.ts +2 -0
- package/__inner__/esm/components/Calendar/constants.js +6 -0
- package/__inner__/esm/components/Calendar/index.d.ts +1 -0
- package/__inner__/esm/components/Calendar/index.js +1 -0
- package/__inner__/esm/components/Calendar/types.d.ts +13 -5
- package/__inner__/esm/components/Calendar/utils.d.ts +10 -1
- package/__inner__/esm/components/Calendar/utils.js +9 -0
- package/__inner__/esm/components/DatePicker/components/DateInput/DateInput.js +3 -2
- package/__inner__/esm/components/DatePicker/components/DateInput/types.d.ts +6 -2
- package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +2 -1
- package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +67 -7
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +33 -21
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +68 -45
- package/__inner__/esm/components/DatePicker/constants.d.ts +2 -0
- package/__inner__/esm/components/DatePicker/constants.js +3 -0
- package/__inner__/esm/components/DatePicker/types.d.ts +10 -6
- package/__inner__/esm/components/DatePicker/types.js +2 -0
- package/__inner__/esm/components/DatePicker/utils/formatDateToString/formatDateToString.d.ts +2 -1
- package/__inner__/esm/components/DatePicker/utils/formatDateToString/formatDateToString.js +18 -5
- package/__inner__/esm/components/DatePicker/utils/formatStringToDate/formatStringToDate.d.ts +2 -1
- package/__inner__/esm/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +6 -5
- package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +2 -2
- package/__inner__/esm/components/DatePicker/utils/index.d.ts +2 -0
- package/__inner__/esm/components/DatePicker/utils/index.js +2 -0
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +2 -1
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.js +8 -7
- package/__inner__/esm/components/DatePicker/utils/maskPastedDate/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/maskPastedDate/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/maskPastedDate/maskPastedDate.d.ts +6 -0
- package/__inner__/esm/components/DatePicker/utils/maskPastedDate/maskPastedDate.js +39 -0
- package/__inner__/esm/components/DatePicker/utils/parseDateString/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/parseDateString/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/parseDateString/parseDateString.d.ts +6 -0
- package/__inner__/esm/components/DatePicker/utils/parseDateString/parseDateString.js +62 -0
- package/__inner__/esm/components/ListCardItem/hooks/useListCardItemRatio.js +10 -14
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/b-business-dark/color-b-business-dark.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/b-business-default/color-b-business-default.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/ozen-dark/color-ozen-dark.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/ozen-default/color-ozen-default.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/vip-dark/color-vip-dark.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/color/vip-default/color-vip-default.css +1 -1
- package/__inner__/esm/components/OzenProvider/providers/theme/tokens/shadow/ozen-default/shadow-ozen-default.css +1 -1
- package/__inner__/esm/components/Stack/Stack.css +3 -0
- package/__inner__/esm/components/Stack/Stack.js +3 -2
- package/__inner__/esm/components/Stack/constants.d.ts +1 -0
- package/__inner__/esm/components/Stack/constants.js +1 -0
- package/__inner__/esm/components/Stack/types.d.ts +4 -0
- package/__inner__/esm/components/Stack/types.js +1 -0
- package/__inner__/esm/hooks/useDevEffect/index.d.ts +1 -0
- package/__inner__/esm/hooks/useDevEffect/index.js +1 -0
- package/__inner__/esm/hooks/useDevEffect/useDevEffect.d.ts +3 -0
- package/__inner__/esm/hooks/useDevEffect/useDevEffect.js +9 -0
- package/__inner__/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +3 -2
- package/__inner__/esm/locale/locale.js +39 -3
- package/__inner__/esm/utils/array/createFilled/createFilledArray.d.ts +1 -1
- package/__inner__/esm/utils/array/createFilled/createFilledArray.js +6 -1
- package/package.json +4 -4
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DATE_PICKER_DEFAULT_MODE = exports.DATE_PICKER_DEFAULT_SIZE = void 0;
|
|
3
|
+
exports.DATE_PICKER_DEFAULT_INITIAL_STEP = exports.DATE_PICKER_DEFAULT_STEPS = exports.DATE_PICKER_DEFAULT_MODE = exports.DATE_PICKER_DEFAULT_SIZE = void 0;
|
|
4
|
+
var Calendar_1 = require("../Calendar");
|
|
4
5
|
exports.DATE_PICKER_DEFAULT_SIZE = 'm';
|
|
5
6
|
exports.DATE_PICKER_DEFAULT_MODE = 'date';
|
|
7
|
+
exports.DATE_PICKER_DEFAULT_STEPS = Calendar_1.CALENDAR_DEFAULT_STEPS;
|
|
8
|
+
exports.DATE_PICKER_DEFAULT_INITIAL_STEP = Calendar_1.CALENDAR_DEFAULT_INITIAL_STEP;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ChangeEvent, ComponentRef, ReactNode } from 'react';
|
|
2
2
|
import type { ExtendableComponentPropsWithRef } from '../../types/ExtendableComponentPropsWithRef';
|
|
3
3
|
import type { WithDisplayName } from '../../types/react';
|
|
4
|
-
import type { CalendarProps } from '../Calendar';
|
|
4
|
+
import type { CalendarPropCalendars, CalendarProps, CalendarSteps } from '../Calendar';
|
|
5
5
|
import type { FieldHintProps } from '../FieldHint';
|
|
6
6
|
import type { FieldInputProps } from '../FieldInput';
|
|
7
7
|
import type { FieldLabelProps } from '../FieldLabel';
|
|
8
|
-
import type { InputProps
|
|
8
|
+
import type { InputProps } from '../Input';
|
|
9
9
|
import type { PopoverBaseProps } from '../Popover';
|
|
10
10
|
import type { StackProps } from '../Stack';
|
|
11
11
|
import type { DATE_PICKER_DEFAULT_MODE } from './constants';
|
|
@@ -19,7 +19,11 @@ export type DatePickerPropOnChange<MODE extends DatePickerModeVariant> = (date:
|
|
|
19
19
|
type InputPropLabel = InputProps['label'];
|
|
20
20
|
type InputPropRenderLeft = InputProps['renderLeft'];
|
|
21
21
|
type InputPropRenderRight = InputProps['renderRight'];
|
|
22
|
-
type
|
|
22
|
+
type InputPropPlaceholderString = InputProps['placeholder'];
|
|
23
|
+
type InputPropPlaceholderFunction = (steps: CalendarSteps) => InputPropPlaceholderString;
|
|
24
|
+
export type InputPropPlaceholder = InputPropPlaceholderString | InputPropPlaceholderFunction;
|
|
25
|
+
export declare const datePickerSizeVariant: readonly ["2xs", "xs", "s", "m", "l"];
|
|
26
|
+
export type DatePickerSizeVariant = (typeof datePickerSizeVariant)[number];
|
|
23
27
|
export type DatePickerPropLabel<MODE> = MODE extends Range ? [InputPropLabel?, InputPropLabel?] | InputPropLabel : InputPropLabel;
|
|
24
28
|
export type DatePickerPropRenderLeft<MODE> = MODE extends Range ? [InputPropRenderLeft?, InputPropRenderLeft?] | InputPropRenderLeft : InputPropRenderLeft;
|
|
25
29
|
export type DatePickerPropRenderRight<MODE> = MODE extends Range ? [InputPropRenderRight?, InputPropRenderRight?] | InputPropRenderRight : InputPropRenderRight;
|
|
@@ -96,7 +100,7 @@ export type DatePickerProps<MODE extends DatePickerModeVariant = typeof DATE_PIC
|
|
|
96
100
|
/** Cвойства FieldHint */
|
|
97
101
|
hintProps?: Omit<FieldHintProps, 'children'>;
|
|
98
102
|
/** Размер компонента */
|
|
99
|
-
size?:
|
|
103
|
+
size?: DatePickerSizeVariant;
|
|
100
104
|
/** Если `true` растягивает поле на всю ширину */
|
|
101
105
|
fullWidth?: boolean;
|
|
102
106
|
/** Если `true` делает элемент обязательным к заполнению */
|
|
@@ -108,8 +112,8 @@ export type DatePickerProps<MODE extends DatePickerModeVariant = typeof DATE_PIC
|
|
|
108
112
|
/** Свойства обертки для текстовых полей. Принимает свойства компонента [Stack](https://ozen-ui.bereke.tech/?path=/docs/components-stack--docs) */
|
|
109
113
|
fieldsProps?: DatePickerPropFieldsProps<MODE>;
|
|
110
114
|
/** Количество отображаемых календарей в компоненте: один или два */
|
|
111
|
-
calendars?:
|
|
112
|
-
} & Pick<CalendarProps, 'minDate' | 'maxDate' | 'exclude'> & Pick<InputProps, 'onKeyDown'>, 'div'>;
|
|
115
|
+
calendars?: CalendarPropCalendars;
|
|
116
|
+
} & Pick<CalendarProps, 'minDate' | 'maxDate' | 'exclude' | 'steps' | 'initialStep'> & Pick<InputProps, 'onKeyDown'>, 'div'>;
|
|
113
117
|
export type DatePickerComponent = WithDisplayName<(<MODE extends DatePickerModeVariant = typeof DATE_PICKER_DEFAULT_MODE>(props: DatePickerProps<MODE>) => ReactNode)>;
|
|
114
118
|
export type DatePickerModeComponent<MODE extends DatePickerModeVariant> = WithDisplayName<(props: Omit<DatePickerProps<MODE>, 'mode'>) => ReactNode>;
|
|
115
119
|
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.datePickerModeVariant = void 0;
|
|
3
|
+
exports.datePickerSizeVariant = exports.datePickerModeVariant = void 0;
|
|
4
|
+
var types_1 = require("../../types");
|
|
4
5
|
exports.datePickerModeVariant = ['date', 'date-range'];
|
|
6
|
+
exports.datePickerSizeVariant = types_1.formElementSizeVariant;
|
package/__inner__/cjs/components/DatePicker/utils/formatDateToString/formatDateToString.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { CalendarSteps } from '../../../Calendar';
|
|
2
|
+
export declare const formatDateToString: (date: Date | undefined | null, steps: CalendarSteps) => string;
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatDateToString = void 0;
|
|
4
|
-
var formatDateToString = function (date) {
|
|
4
|
+
var formatDateToString = function (date, steps) {
|
|
5
5
|
if (!date) {
|
|
6
6
|
return '';
|
|
7
7
|
}
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
8
|
+
var hasYearsStep = steps.includes('years');
|
|
9
|
+
var hasMonthsStep = steps.includes('months');
|
|
10
|
+
var hasDaysStep = steps.includes('days');
|
|
11
|
+
var parts = [];
|
|
12
|
+
if (hasDaysStep) {
|
|
13
|
+
var day = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(date);
|
|
14
|
+
parts.push(day);
|
|
15
|
+
}
|
|
16
|
+
if (hasMonthsStep) {
|
|
17
|
+
var month = new Intl.DateTimeFormat('en', { month: '2-digit' }).format(date);
|
|
18
|
+
parts.push(month);
|
|
19
|
+
}
|
|
20
|
+
if (hasYearsStep) {
|
|
21
|
+
var year = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(date);
|
|
22
|
+
parts.push(year);
|
|
23
|
+
}
|
|
24
|
+
return parts.join('.');
|
|
12
25
|
};
|
|
13
26
|
exports.formatDateToString = formatDateToString;
|
package/__inner__/cjs/components/DatePicker/utils/formatStringToDate/formatStringToDate.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { CalendarSteps } from '../../../Calendar';
|
|
2
|
+
export declare const formatStringToDate: (value: string, steps: CalendarSteps) => Date | null;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatStringToDate = void 0;
|
|
4
|
-
var
|
|
5
|
-
var formatStringToDate = function (value) {
|
|
6
|
-
var
|
|
7
|
-
if (!
|
|
4
|
+
var parseDateString_1 = require("../parseDateString");
|
|
5
|
+
var formatStringToDate = function (value, steps) {
|
|
6
|
+
var parsedDate = (0, parseDateString_1.parseDateString)(value, steps);
|
|
7
|
+
if (!parsedDate) {
|
|
8
8
|
return null;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
var day = parsedDate.day, month = parsedDate.month, year = parsedDate.year;
|
|
11
|
+
return new Date(+year, +month - 1, +day);
|
|
11
12
|
};
|
|
12
13
|
exports.formatStringToDate = formatStringToDate;
|
package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js
CHANGED
|
@@ -4,13 +4,13 @@ exports.getCommonCalendarProps = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var getCalendarSizeToFormElement_1 = require("../getCalendarSizeToFormElement");
|
|
6
6
|
var getCommonCalendarProps = function (props) {
|
|
7
|
-
var minDate = props.minDate, maxDate = props.maxDate, exclude = props.exclude, _a = props.size, size = _a === void 0 ? 'm' : _a, ref = props.ref, calendarProps = props.calendarProps;
|
|
7
|
+
var minDate = props.minDate, maxDate = props.maxDate, exclude = props.exclude, _a = props.size, size = _a === void 0 ? 'm' : _a, ref = props.ref, calendarProps = props.calendarProps, steps = props.steps, initialStep = props.initialStep;
|
|
8
8
|
/** Соотношение размера календаря к размеру элемента контроля */
|
|
9
9
|
var calendarSize = (0, getCalendarSizeToFormElement_1.getCalendarSizeToFormElement)(size);
|
|
10
10
|
/** Предотвращаем переход фокуса с текстового поля на интерактивные элементы календаря */
|
|
11
11
|
var handleMouseDownCalendar = function (e) {
|
|
12
12
|
e.preventDefault();
|
|
13
13
|
};
|
|
14
|
-
return tslib_1.__assign(tslib_1.__assign({ minDate: minDate, maxDate: maxDate, exclude: exclude, size: calendarSize }, calendarProps), { ref: ref, onMouseDown: handleMouseDownCalendar });
|
|
14
|
+
return tslib_1.__assign(tslib_1.__assign({ minDate: minDate, maxDate: maxDate, exclude: exclude, size: calendarSize }, calendarProps), { ref: ref, onMouseDown: handleMouseDownCalendar, steps: steps, initialStep: initialStep });
|
|
15
15
|
};
|
|
16
16
|
exports.getCommonCalendarProps = getCommonCalendarProps;
|
|
@@ -6,4 +6,6 @@ export * from './isInExclude';
|
|
|
6
6
|
export * from './getCommonPopoverProps';
|
|
7
7
|
export * from './getCommonCalendarProps';
|
|
8
8
|
export * from './isValidDateString';
|
|
9
|
+
export * from './maskPastedDate';
|
|
10
|
+
export * from './parseDateString';
|
|
9
11
|
export * from './useCalendarKeyboard';
|
|
@@ -9,4 +9,6 @@ tslib_1.__exportStar(require("./isInExclude"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("./getCommonPopoverProps"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./getCommonCalendarProps"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./isValidDateString"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./maskPastedDate"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./parseDateString"), exports);
|
|
12
14
|
tslib_1.__exportStar(require("./useCalendarKeyboard"), exports);
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { CalendarSteps } from '../../../Calendar';
|
|
2
|
+
export declare const isValidDateString: (value: string | null | undefined, steps: CalendarSteps) => boolean;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isValidDateString = void 0;
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
if (!(0, isNotNil_1.isNotNil)(value)) {
|
|
4
|
+
var utils_1 = require("../../../../utils");
|
|
5
|
+
var parseDateString_1 = require("../parseDateString");
|
|
6
|
+
var isValidDateString = function (value, steps) {
|
|
7
|
+
if (!(0, utils_1.isNotNil)(value)) {
|
|
9
8
|
return false;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
if (value === '') {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
var parsedDate = (0, parseDateString_1.parseDateString)(value, steps);
|
|
14
|
+
return !!parsedDate;
|
|
14
15
|
};
|
|
15
16
|
exports.isValidDateString = isValidDateString;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './maskPastedDate';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CalendarSteps } from '../../../Calendar';
|
|
2
|
+
/**
|
|
3
|
+
* Функция для обработки вставленного значения.
|
|
4
|
+
* Умеет обрабатывать форматы DD.MM.YYYY/DDMMYYYY, либо сочетания вида DDMM/DD.MM.
|
|
5
|
+
*/
|
|
6
|
+
export declare const maskPastedDate: (value: string, steps: CalendarSteps) => string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maskPastedDate = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Функция для обработки вставленного значения.
|
|
6
|
+
* Умеет обрабатывать форматы DD.MM.YYYY/DDMMYYYY, либо сочетания вида DDMM/DD.MM.
|
|
7
|
+
*/
|
|
8
|
+
var maskPastedDate = function (value, steps) {
|
|
9
|
+
var digits = value.replace(/\D/g, '').slice(0, 8); // максимум 8 цифр
|
|
10
|
+
var hasYearsStep = steps.includes('years');
|
|
11
|
+
var hasMonthsStep = steps.includes('months');
|
|
12
|
+
var hasDaysStep = steps.includes('days');
|
|
13
|
+
// DD
|
|
14
|
+
if (hasDaysStep && !hasMonthsStep && !hasYearsStep) {
|
|
15
|
+
return digits.slice(0, 2);
|
|
16
|
+
}
|
|
17
|
+
// MM
|
|
18
|
+
if (!hasDaysStep && hasMonthsStep && !hasYearsStep) {
|
|
19
|
+
return digits.slice(0, 2);
|
|
20
|
+
}
|
|
21
|
+
// YYYY
|
|
22
|
+
if (!hasDaysStep && !hasMonthsStep && hasYearsStep) {
|
|
23
|
+
return digits.slice(0, 4);
|
|
24
|
+
}
|
|
25
|
+
// DD.MM.YYYY
|
|
26
|
+
if (hasDaysStep && hasMonthsStep && hasYearsStep) {
|
|
27
|
+
return "".concat(digits.slice(0, 2), ".").concat(digits.slice(2, 4), ".").concat(digits.slice(4, 8));
|
|
28
|
+
}
|
|
29
|
+
// DD.MM
|
|
30
|
+
if (hasDaysStep && hasMonthsStep && !hasYearsStep) {
|
|
31
|
+
return "".concat(digits.slice(0, 2), ".").concat(digits.slice(2, 4));
|
|
32
|
+
}
|
|
33
|
+
// DD.YYYY
|
|
34
|
+
if (hasDaysStep && !hasMonthsStep && hasYearsStep) {
|
|
35
|
+
return "".concat(digits.slice(0, 2), ".").concat(digits.slice(2, 6));
|
|
36
|
+
}
|
|
37
|
+
// MM.YYYY
|
|
38
|
+
if (!hasDaysStep && hasMonthsStep && hasYearsStep) {
|
|
39
|
+
return "".concat(digits.slice(0, 2), ".").concat(digits.slice(2, 6));
|
|
40
|
+
}
|
|
41
|
+
throw new Error('Не удалось сделать маску для значения');
|
|
42
|
+
};
|
|
43
|
+
exports.maskPastedDate = maskPastedDate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './parseDateString';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseDateString = void 0;
|
|
4
|
+
var utils_1 = require("../../../../utils");
|
|
5
|
+
var parseDateString = function (value, steps) {
|
|
6
|
+
if (!(0, utils_1.isNotNil)(value)) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
if (value === '') {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
var hasYearsSteps = steps.includes('years');
|
|
13
|
+
var hasMonthsSteps = steps.includes('months');
|
|
14
|
+
var hasDaysSteps = steps.includes('days');
|
|
15
|
+
var splitted = value.split('.');
|
|
16
|
+
var day;
|
|
17
|
+
var month;
|
|
18
|
+
var year;
|
|
19
|
+
var offset = 0;
|
|
20
|
+
if (hasDaysSteps) {
|
|
21
|
+
day = splitted[offset];
|
|
22
|
+
offset += 1;
|
|
23
|
+
}
|
|
24
|
+
if (hasMonthsSteps) {
|
|
25
|
+
month = splitted[offset];
|
|
26
|
+
offset += 1;
|
|
27
|
+
}
|
|
28
|
+
if (hasYearsSteps) {
|
|
29
|
+
year = splitted[offset];
|
|
30
|
+
}
|
|
31
|
+
var parts = [];
|
|
32
|
+
if (hasYearsSteps) {
|
|
33
|
+
parts.push(year);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
var now = new Date();
|
|
37
|
+
parts.push(now.getFullYear().toString());
|
|
38
|
+
}
|
|
39
|
+
if (hasMonthsSteps) {
|
|
40
|
+
parts.push(month);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// 3 месяц для кейса, где пользователь вводит 31 день месяца
|
|
44
|
+
parts.push('03');
|
|
45
|
+
}
|
|
46
|
+
if (hasDaysSteps) {
|
|
47
|
+
parts.push(day);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
parts.push('01');
|
|
51
|
+
}
|
|
52
|
+
var filteredParts = parts.filter(function (part) { return part !== undefined; });
|
|
53
|
+
if (filteredParts.length !== 3) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
var stringDate = filteredParts.join('-');
|
|
57
|
+
if (stringDate.length !== 10 || !(0, utils_1.isValidDate)(stringDate)) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
year: parts[0],
|
|
62
|
+
month: parts[1],
|
|
63
|
+
day: parts[2],
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
exports.parseDateString = parseDateString;
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useListCardItemRatio = void 0;
|
|
4
|
-
var react_1 = require("react");
|
|
5
4
|
var logger_1 = require("@ozen-ui/logger");
|
|
6
|
-
var
|
|
5
|
+
var useDevEffect_1 = require("../../../hooks/useDevEffect");
|
|
7
6
|
var useListCardItemRatio = function (contentTrailingRatio) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
}, [contentTrailingRatio]);
|
|
19
|
-
}
|
|
7
|
+
(0, useDevEffect_1.useDevEffect)(function () {
|
|
8
|
+
if (contentTrailingRatio < 0) {
|
|
9
|
+
logger_1.logger.error('Свойство «contentTrailingRatio» у компонента ListCardItem не может быть меньше 0');
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (contentTrailingRatio > 1) {
|
|
13
|
+
logger_1.logger.error('Свойство «contentTrailingRatio» у компонента ListCardItem не может быть больше 1');
|
|
14
|
+
}
|
|
15
|
+
}, [contentTrailingRatio]);
|
|
20
16
|
var contentRatio = contentTrailingRatio * 100;
|
|
21
17
|
var trailingRatio = 100 - contentRatio;
|
|
22
18
|
return { content: contentRatio, trailing: trailingRatio };
|
|
@@ -16,7 +16,7 @@ exports.Stack = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef)(f
|
|
|
16
16
|
props: inProps,
|
|
17
17
|
name: 'Stack',
|
|
18
18
|
});
|
|
19
|
-
var _a = props.as, Tag = _a === void 0 ? constants_1.STACK_DEFAULT_TAG : _a, _b = props.direction, direction = _b === void 0 ? 'row' : _b, divider = props.divider, _c = props.shouldWrapChildren, shouldWrapChildren = _c === void 0 ? false : _c, fullWidth = props.fullWidth, children = props.children, align = props.align, justify = props.justify, gap = props.gap, wrap = props.wrap, className = props.className, other = tslib_1.__rest(props, ["as", "direction", "divider", "shouldWrapChildren", "fullWidth", "children", "align", "justify", "gap", "wrap", "className"]);
|
|
19
|
+
var _a = props.as, Tag = _a === void 0 ? constants_1.STACK_DEFAULT_TAG : _a, _b = props.direction, direction = _b === void 0 ? 'row' : _b, divider = props.divider, _c = props.shouldWrapChildren, shouldWrapChildren = _c === void 0 ? false : _c, _d = props.display, display = _d === void 0 ? constants_1.STACK_DEFAULT_DISPLAY : _d, fullWidth = props.fullWidth, children = props.children, align = props.align, justify = props.justify, gap = props.gap, wrap = props.wrap, className = props.className, other = tslib_1.__rest(props, ["as", "direction", "divider", "shouldWrapChildren", "display", "fullWidth", "children", "align", "justify", "gap", "wrap", "className"]);
|
|
20
20
|
var childNodes = react_1.Children.toArray(children);
|
|
21
21
|
if (!childNodes.length) {
|
|
22
22
|
return null;
|
|
@@ -38,6 +38,7 @@ exports.Stack = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef)(f
|
|
|
38
38
|
justify: justify,
|
|
39
39
|
fullWidth: fullWidth,
|
|
40
40
|
wrap: wrap,
|
|
41
|
+
display: display === 'inline' ? undefined : display,
|
|
41
42
|
}), (0, utils_1.generateDirectionCn)(exports.cnStack, direction), (0, utils_1.generateGapCn)(exports.cnStack, gap), className), ref: ref }), resolveChildren()));
|
|
42
43
|
});
|
|
43
44
|
exports.Stack.displayName = 'Stack';
|
|
@@ -3,6 +3,7 @@ import type { ResponsiveValue } from '../../types/ResponsiveValue';
|
|
|
3
3
|
import type { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
4
4
|
import type { STACK_DEFAULT_TAG } from './constants';
|
|
5
5
|
export declare const stackGapVariant: readonly ["0", "xs", "s", "m", "l", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "7xl", "8xl"];
|
|
6
|
+
export declare const stackDisplayVariant: readonly ["inline", "block"];
|
|
6
7
|
export declare const stackDirectionVariant: readonly ["row", "column", "rowReverse", "columnReverse"];
|
|
7
8
|
export declare const stackAlignVariant: readonly ["center", "start", "end", "baseline"];
|
|
8
9
|
export declare const stackJustifyVariant: readonly ["start", "center", "end", "spaceBetween", "spaceAround"];
|
|
@@ -10,9 +11,12 @@ export type StackGapVariant = (typeof stackGapVariant)[number];
|
|
|
10
11
|
export type StackDirectionVariant = (typeof stackDirectionVariant)[number];
|
|
11
12
|
export type StackAlignVariant = (typeof stackAlignVariant)[number];
|
|
12
13
|
export type StackJustifyVariant = (typeof stackJustifyVariant)[number];
|
|
14
|
+
export type StackDisplayVariant = (typeof stackDisplayVariant)[number];
|
|
13
15
|
export type StackBaseProps = {
|
|
14
16
|
/** Направление */
|
|
15
17
|
direction?: ResponsiveValue<StackDirectionVariant>;
|
|
18
|
+
/** Display */
|
|
19
|
+
display?: StackDisplayVariant;
|
|
16
20
|
/** Выравнивание */
|
|
17
21
|
align?: StackAlignVariant;
|
|
18
22
|
/** Пространство между элементами */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stackJustifyVariant = exports.stackAlignVariant = exports.stackDirectionVariant = exports.stackGapVariant = void 0;
|
|
3
|
+
exports.stackJustifyVariant = exports.stackAlignVariant = exports.stackDirectionVariant = exports.stackDisplayVariant = exports.stackGapVariant = void 0;
|
|
4
4
|
exports.stackGapVariant = [
|
|
5
5
|
'0',
|
|
6
6
|
'xs',
|
|
@@ -16,6 +16,7 @@ exports.stackGapVariant = [
|
|
|
16
16
|
'7xl',
|
|
17
17
|
'8xl',
|
|
18
18
|
];
|
|
19
|
+
exports.stackDisplayVariant = ['inline', 'block'];
|
|
19
20
|
exports.stackDirectionVariant = [
|
|
20
21
|
'row',
|
|
21
22
|
'column',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useDevEffect';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDevEffect = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var environment_1 = require("../../constants/environment");
|
|
6
|
+
/** Эффект, отрабатывающий только в dev-режиме */
|
|
7
|
+
var useDevEffect = function (effect, deps) {
|
|
8
|
+
if (environment_1.isDev) {
|
|
9
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
10
|
+
(0, react_1.useEffect)(effect, deps);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.useDevEffect = useDevEffect;
|
|
@@ -19,7 +19,7 @@ options) {
|
|
|
19
19
|
var savedOnHidden = (0, useMutableRef_1.useMutableRef)(options === null || options === void 0 ? void 0 : options.onHidden);
|
|
20
20
|
var entry = (0, useStoredValue_1.useStoredValue)(undefined);
|
|
21
21
|
var inView = (0, useStoredValue_1.useStoredValue)(false);
|
|
22
|
-
var observer = (0, useStoredValue_1.useStoredValue)(
|
|
22
|
+
var observer = (0, useStoredValue_1.useStoredValue)(null);
|
|
23
23
|
var connect = (0, react_1.useCallback)(function () {
|
|
24
24
|
if (!isEnabled) {
|
|
25
25
|
return;
|
|
@@ -63,7 +63,8 @@ options) {
|
|
|
63
63
|
isEnabled,
|
|
64
64
|
]);
|
|
65
65
|
var disconnect = (0, react_1.useCallback)(function () {
|
|
66
|
-
|
|
66
|
+
var _a;
|
|
67
|
+
(_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
67
68
|
}, [observer]);
|
|
68
69
|
var reconnect = (0, react_1.useCallback)(function () {
|
|
69
70
|
disconnect();
|
|
@@ -90,7 +90,19 @@ exports.ruRU = {
|
|
|
90
90
|
},
|
|
91
91
|
DatePicker: {
|
|
92
92
|
clearText: 'Очистить',
|
|
93
|
-
placeholder:
|
|
93
|
+
placeholder: function (steps) {
|
|
94
|
+
var parts = [];
|
|
95
|
+
if (steps.includes('days')) {
|
|
96
|
+
parts.push('ДД');
|
|
97
|
+
}
|
|
98
|
+
if (steps.includes('months')) {
|
|
99
|
+
parts.push('ММ');
|
|
100
|
+
}
|
|
101
|
+
if (steps.includes('years')) {
|
|
102
|
+
parts.push('ГГГГ');
|
|
103
|
+
}
|
|
104
|
+
return parts.join('.');
|
|
105
|
+
},
|
|
94
106
|
},
|
|
95
107
|
},
|
|
96
108
|
};
|
|
@@ -182,7 +194,19 @@ exports.kkKZ = {
|
|
|
182
194
|
},
|
|
183
195
|
DatePicker: {
|
|
184
196
|
clearText: 'Тазалау',
|
|
185
|
-
placeholder:
|
|
197
|
+
placeholder: function (steps) {
|
|
198
|
+
var parts = [];
|
|
199
|
+
if (steps.includes('days')) {
|
|
200
|
+
parts.push('КК');
|
|
201
|
+
}
|
|
202
|
+
if (steps.includes('months')) {
|
|
203
|
+
parts.push('АА');
|
|
204
|
+
}
|
|
205
|
+
if (steps.includes('years')) {
|
|
206
|
+
parts.push('ЖЖЖЖ');
|
|
207
|
+
}
|
|
208
|
+
return parts.join('.');
|
|
209
|
+
},
|
|
186
210
|
},
|
|
187
211
|
},
|
|
188
212
|
};
|
|
@@ -275,7 +299,19 @@ exports.enUS = {
|
|
|
275
299
|
},
|
|
276
300
|
DatePicker: {
|
|
277
301
|
clearText: 'Clear',
|
|
278
|
-
placeholder:
|
|
302
|
+
placeholder: function (steps) {
|
|
303
|
+
var parts = [];
|
|
304
|
+
if (steps.includes('days')) {
|
|
305
|
+
parts.push('DD');
|
|
306
|
+
}
|
|
307
|
+
if (steps.includes('months')) {
|
|
308
|
+
parts.push('MM');
|
|
309
|
+
}
|
|
310
|
+
if (steps.includes('years')) {
|
|
311
|
+
parts.push('YYYY');
|
|
312
|
+
}
|
|
313
|
+
return parts.join('.');
|
|
314
|
+
},
|
|
279
315
|
},
|
|
280
316
|
},
|
|
281
317
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const createFilledArray: <Value>(length: number, value: Value) => Value[];
|
|
1
|
+
export declare const createFilledArray: <Value>(length: number, value: Value | ((index: number) => Value)) => Value[];
|