@ozen-ui/kit 0.60.0 → 0.62.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/Autocomplete/helper.d.ts +7 -72
- package/__inner__/cjs/components/Autocomplete/types.d.ts +11 -17
- package/__inner__/cjs/components/AutocompleteNext/Autocomplete.css +1 -1
- package/__inner__/cjs/components/AutocompleteNext/helpers.d.ts +7 -77
- package/__inner__/cjs/components/AutocompleteNext/types.d.ts +10 -16
- package/__inner__/cjs/components/Calendar/Calendar.js +2 -2
- package/__inner__/cjs/components/Calendar/CalendarContext.d.ts +2 -3
- package/__inner__/cjs/components/Calendar/components/CalendarGridItem/types.d.ts +2 -2
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -2
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +14 -18
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.d.ts +0 -1
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.js +0 -1
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -2
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +10 -18
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.d.ts +0 -1
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.js +0 -1
- package/__inner__/cjs/components/Calendar/components/Calendars/Calendars.d.ts +5 -0
- package/__inner__/cjs/components/Calendar/components/Calendars/Calendars.js +45 -0
- package/__inner__/cjs/components/Calendar/components/Calendars/index.d.ts +1 -0
- package/__inner__/cjs/components/Calendar/components/{CalendarModeSingle/components/CalendarConsumer → Calendars}/index.js +1 -1
- package/__inner__/cjs/components/Calendar/components/index.d.ts +1 -0
- package/__inner__/cjs/components/Calendar/components/index.js +1 -0
- package/__inner__/cjs/components/Calendar/constants.d.ts +1 -1
- package/__inner__/cjs/components/Calendar/constants.js +2 -2
- package/__inner__/cjs/components/Calendar/types.d.ts +60 -24
- package/__inner__/cjs/components/DataList/DataList.css +1 -1
- package/__inner__/cjs/components/DatePicker/DatePicker.css +12 -1
- package/__inner__/cjs/components/DatePicker/DatePicker.d.ts +2 -37
- package/__inner__/cjs/components/DatePicker/DatePicker.js +9 -143
- package/__inner__/cjs/components/DatePicker/components/DateInput/DateInput.js +1 -2
- package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +0 -1
- package/__inner__/cjs/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +1 -3
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.d.ts +2 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +159 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDate/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.d.ts +2 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +247 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.d.ts +3 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.js +10 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.d.ts +6 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.js +32 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.js +7 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/index.d.ts +3 -0
- package/__inner__/cjs/components/DatePicker/components/DatePickerModeDateRange/utils/index.js +6 -0
- package/__inner__/cjs/components/DatePicker/components/index.d.ts +2 -0
- package/__inner__/cjs/components/DatePicker/components/index.js +2 -0
- package/__inner__/cjs/components/DatePicker/constants.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/constants.js +2 -1
- package/__inner__/cjs/components/DatePicker/types.d.ts +85 -26
- package/__inner__/cjs/components/DatePicker/types.js +2 -0
- package/__inner__/cjs/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +1 -2
- package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.d.ts +3 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +16 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.d.ts +4 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.js +13 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/index.d.ts +4 -0
- package/__inner__/cjs/components/DatePicker/utils/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/index.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/index.js +4 -0
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +1 -0
- package/__inner__/cjs/components/DatePicker/utils/isValidDateString/isValidDateString.js +15 -0
- package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/index.d.ts +1 -0
- package/__inner__/cjs/components/{Select/components/SelectConsumer → DatePicker/utils/useCalendarKeyboard}/index.js +1 -1
- package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.d.ts +8 -0
- package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.js +47 -0
- package/__inner__/cjs/components/Menu/Menu.css +1 -1
- package/__inner__/cjs/components/Popover/Popover.js +2 -2
- package/__inner__/cjs/components/Popover/types.d.ts +2 -0
- package/__inner__/cjs/components/Segment/Segment.js +1 -1
- package/__inner__/cjs/components/Segment/components/SegmentItem/SegmentItem.js +1 -1
- package/__inner__/cjs/components/Select/Select.css +6 -0
- package/__inner__/cjs/components/Select/Select.js +41 -59
- package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +5 -6
- package/__inner__/cjs/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.d.ts +5 -0
- package/__inner__/cjs/components/Select/components/{SelectConsumer/SelectInputConsumer.js → SelectInputContextConsumer/SelectInputContextConsumer.js} +3 -3
- package/__inner__/cjs/components/Select/components/SelectInputContextConsumer/index.d.ts +1 -0
- package/__inner__/cjs/components/Select/components/SelectInputContextConsumer/index.js +4 -0
- package/__inner__/cjs/components/Select/helpers/types.d.ts +5 -8
- package/__inner__/cjs/components/Select/helpers/types.js +5 -1
- package/__inner__/cjs/components/Select/types.d.ts +43 -41
- package/__inner__/cjs/components/Skeleton/Skeleton.css +1 -1
- package/__inner__/cjs/components/Stack/types.d.ts +2 -2
- package/__inner__/cjs/hooks/useClickOutside/useClickOutside.d.ts +4 -4
- package/__inner__/cjs/hooks/useClickOutside/useClickOutside.js +7 -12
- package/__inner__/cjs/utils/date/index.d.ts +1 -0
- package/__inner__/cjs/utils/date/index.js +1 -0
- package/__inner__/cjs/utils/date/isValidDate/index.d.ts +1 -0
- package/__inner__/cjs/{components/Calendar/components/CalendarModeRange/components/CalendarConsumer → utils/date/isValidDate}/index.js +1 -1
- package/__inner__/cjs/utils/date/isValidDate/isValidDate.d.ts +1 -0
- package/__inner__/cjs/utils/date/isValidDate/isValidDate.js +7 -0
- package/__inner__/cjs/utils/date/monthDiff/monthDiff.d.ts +1 -1
- package/__inner__/cjs/utils/date/monthDiff/monthDiff.js +3 -0
- package/__inner__/esm/components/Autocomplete/helper.d.ts +7 -72
- package/__inner__/esm/components/Autocomplete/types.d.ts +11 -17
- package/__inner__/esm/components/AutocompleteNext/Autocomplete.css +1 -1
- package/__inner__/esm/components/AutocompleteNext/helpers.d.ts +7 -77
- package/__inner__/esm/components/AutocompleteNext/types.d.ts +10 -16
- package/__inner__/esm/components/Calendar/Calendar.js +3 -3
- package/__inner__/esm/components/Calendar/CalendarContext.d.ts +2 -3
- package/__inner__/esm/components/Calendar/components/CalendarGridItem/types.d.ts +2 -2
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -2
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +15 -19
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.d.ts +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.js +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -2
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +11 -19
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.d.ts +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.js +0 -1
- package/__inner__/esm/components/Calendar/components/Calendars/Calendars.d.ts +5 -0
- package/__inner__/esm/components/Calendar/components/Calendars/Calendars.js +41 -0
- package/__inner__/esm/components/Calendar/components/Calendars/index.d.ts +1 -0
- package/__inner__/esm/components/Calendar/components/Calendars/index.js +1 -0
- package/__inner__/esm/components/Calendar/components/index.d.ts +1 -0
- package/__inner__/esm/components/Calendar/components/index.js +1 -0
- package/__inner__/esm/components/Calendar/constants.d.ts +1 -1
- package/__inner__/esm/components/Calendar/constants.js +1 -1
- package/__inner__/esm/components/Calendar/types.d.ts +60 -24
- package/__inner__/esm/components/DataList/DataList.css +1 -1
- package/__inner__/esm/components/DatePicker/DatePicker.css +12 -1
- package/__inner__/esm/components/DatePicker/DatePicker.d.ts +2 -37
- package/__inner__/esm/components/DatePicker/DatePicker.js +13 -147
- package/__inner__/esm/components/DatePicker/components/DateInput/DateInput.js +1 -2
- package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.d.ts +0 -1
- package/__inner__/esm/components/DatePicker/components/DateInput/utils/dateInputMask/dateInputMask.js +0 -1
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.d.ts +2 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/DatePickerModeDate.js +156 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDate/index.js +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.d.ts +2 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/DatePickerModeDateRange.js +244 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/index.js +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.d.ts +3 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/formatDateForCalendar.js +6 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/formatDateForCalendar/index.js +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.d.ts +6 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/getOffsetDateInRange.js +28 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getOffsetDateInRange/index.js +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/getValueForDoubleProp.js +3 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/getValueForDoubleProp/index.js +1 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/index.d.ts +3 -0
- package/__inner__/esm/components/DatePicker/components/DatePickerModeDateRange/utils/index.js +3 -0
- package/__inner__/esm/components/DatePicker/components/index.d.ts +2 -0
- package/__inner__/esm/components/DatePicker/components/index.js +2 -0
- package/__inner__/esm/components/DatePicker/constants.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/constants.js +1 -0
- package/__inner__/esm/components/DatePicker/types.d.ts +85 -26
- package/__inner__/esm/components/DatePicker/types.js +1 -1
- package/__inner__/esm/components/DatePicker/utils/formatStringToDate/formatStringToDate.js +1 -2
- package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.d.ts +3 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js +12 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonCalendarProps/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.d.ts +4 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.js +9 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/getCommonPopoverProps/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/index.d.ts +4 -0
- package/__inner__/esm/components/DatePicker/utils/index.js +4 -0
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/isValidDateString/isValidDateString.js +11 -0
- package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/index.d.ts +1 -0
- package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/index.js +1 -0
- package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.d.ts +8 -0
- package/__inner__/esm/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.js +43 -0
- package/__inner__/esm/components/Menu/Menu.css +1 -1
- package/__inner__/esm/components/Popover/Popover.js +2 -2
- package/__inner__/esm/components/Popover/types.d.ts +2 -0
- package/__inner__/esm/components/Segment/Segment.js +1 -1
- package/__inner__/esm/components/Segment/components/SegmentItem/SegmentItem.js +1 -1
- package/__inner__/esm/components/Select/Select.css +6 -0
- package/__inner__/esm/components/Select/Select.js +42 -60
- package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +5 -6
- package/__inner__/esm/components/Select/components/SelectInputContextConsumer/SelectInputContextConsumer.d.ts +5 -0
- package/__inner__/esm/components/Select/components/{SelectConsumer/SelectInputConsumer.js → SelectInputContextConsumer/SelectInputContextConsumer.js} +1 -1
- package/__inner__/esm/components/Select/components/SelectInputContextConsumer/index.d.ts +1 -0
- package/__inner__/esm/components/Select/components/SelectInputContextConsumer/index.js +1 -0
- package/__inner__/esm/components/Select/helpers/types.d.ts +5 -8
- package/__inner__/esm/components/Select/helpers/types.js +2 -0
- package/__inner__/esm/components/Select/types.d.ts +43 -41
- package/__inner__/esm/components/Skeleton/Skeleton.css +1 -1
- package/__inner__/esm/components/Stack/types.d.ts +2 -2
- package/__inner__/esm/hooks/useClickOutside/useClickOutside.d.ts +4 -4
- package/__inner__/esm/hooks/useClickOutside/useClickOutside.js +7 -12
- package/__inner__/esm/utils/date/index.d.ts +1 -0
- package/__inner__/esm/utils/date/index.js +1 -0
- package/__inner__/esm/utils/date/isValidDate/index.d.ts +1 -0
- package/__inner__/esm/utils/date/isValidDate/index.js +1 -0
- package/__inner__/esm/utils/date/isValidDate/isValidDate.d.ts +1 -0
- package/__inner__/esm/utils/date/isValidDate/isValidDate.js +3 -0
- package/__inner__/esm/utils/date/monthDiff/monthDiff.d.ts +1 -1
- package/__inner__/esm/utils/date/monthDiff/monthDiff.js +3 -0
- package/package.json +5 -5
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +0 -45
- package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +0 -1
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +0 -39
- package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +0 -1
- package/__inner__/cjs/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +0 -5
- package/__inner__/cjs/components/Select/components/SelectConsumer/index.d.ts +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +0 -41
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.js +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +0 -2
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +0 -35
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +0 -1
- package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.js +0 -1
- package/__inner__/esm/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +0 -5
- package/__inner__/esm/components/Select/components/SelectConsumer/index.d.ts +0 -1
- package/__inner__/esm/components/Select/components/SelectConsumer/index.js +0 -1
|
@@ -1,11 +1,31 @@
|
|
|
1
|
-
import type { ChangeEvent, ComponentRef } from 'react';
|
|
1
|
+
import type { ChangeEvent, ComponentRef, ReactNode } from 'react';
|
|
2
2
|
import type { ExtendableComponentPropsWithRef } from '../../types/ExtendableComponentPropsWithRef';
|
|
3
|
-
import type { CalendarProps
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
3
|
+
import type { CalendarProps } from '../Calendar';
|
|
4
|
+
import type { FieldHintProps } from '../FieldHint';
|
|
5
|
+
import type { FieldInputProps } from '../FieldInput';
|
|
6
|
+
import type { FieldLabelProps } from '../FieldLabel';
|
|
7
|
+
import type { InputProps, InputSizeVariant } from '../Input';
|
|
6
8
|
import type { PopoverBaseProps } from '../Popover';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
import type { StackProps } from '../Stack';
|
|
10
|
+
import type { DATE_PICKER_DEFAULT_MODE } from './constants';
|
|
11
|
+
export declare const datePickerModeVariant: readonly ["date", "date-range"];
|
|
12
|
+
type Range = 'date-range';
|
|
13
|
+
export type DatePickerModeVariant = (typeof datePickerModeVariant)[number];
|
|
14
|
+
export type DatePickerPropInputValue<MODE extends DatePickerModeVariant> = (MODE extends Range ? [string, string] : string) | null;
|
|
15
|
+
export type DatePickerPropOnInputChange<MODE extends DatePickerModeVariant> = (e: ChangeEvent<HTMLInputElement> | null, value: DatePickerPropInputValue<MODE>) => void;
|
|
16
|
+
export type DatePickerPropValue<MODE extends DatePickerModeVariant> = (MODE extends Range ? [Date?, Date?] : Date) | null;
|
|
17
|
+
export type DatePickerPropOnChange<MODE extends DatePickerModeVariant> = (date: DatePickerPropValue<MODE>) => void;
|
|
18
|
+
type InputPropLabel = InputProps['label'];
|
|
19
|
+
type InputPropRenderLeft = InputProps['renderLeft'];
|
|
20
|
+
type InputPropRenderRight = InputProps['renderRight'];
|
|
21
|
+
type InputPropPlaceholder = InputProps['placeholder'];
|
|
22
|
+
export type DatePickerPropLabel<MODE> = MODE extends Range ? [InputPropLabel?, InputPropLabel?] | InputPropLabel : InputPropLabel;
|
|
23
|
+
export type DatePickerPropRenderLeft<MODE> = MODE extends Range ? [InputPropRenderLeft?, InputPropRenderLeft?] | InputPropRenderLeft : InputPropRenderLeft;
|
|
24
|
+
export type DatePickerPropRenderRight<MODE> = MODE extends Range ? [InputPropRenderRight?, InputPropRenderRight?] | InputPropRenderRight : InputPropRenderRight;
|
|
25
|
+
export type DatePickerPropPlaceholder<MODE> = MODE extends Range ? [InputPropPlaceholder?, InputPropPlaceholder?] | InputPropPlaceholder : InputPropPlaceholder;
|
|
26
|
+
export type DatePickerPropInputProps<MODE> = MODE extends Range ? [FieldInputProps?, FieldInputProps?] | FieldInputProps : FieldInputProps;
|
|
27
|
+
export type DatePickerPropLabelProps<MODE> = MODE extends Range ? [FieldLabelProps?, FieldLabelProps?] | FieldLabelProps : FieldLabelProps;
|
|
28
|
+
export type DatePickerPropFieldsProps<MODE> = MODE extends Range ? StackProps : never;
|
|
9
29
|
export type DatePickerPropOnError = (props: {
|
|
10
30
|
type: 'outOfRange';
|
|
11
31
|
inputValue?: string;
|
|
@@ -15,32 +35,35 @@ export type DatePickerPropOnError = (props: {
|
|
|
15
35
|
inputValue?: string;
|
|
16
36
|
value?: Date | null;
|
|
17
37
|
}) => void;
|
|
18
|
-
type
|
|
38
|
+
export type DatePickerRef = ComponentRef<'div'>;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated
|
|
41
|
+
* Use the `DatePickerPropOnInputChange` type to replace it.
|
|
42
|
+
* */
|
|
43
|
+
export type DatePickerOnChange<MODE extends DatePickerModeVariant> = DatePickerPropOnInputChange<MODE>;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated
|
|
46
|
+
* Use the `DatePickerPropOnInputChange` type to replace it.
|
|
47
|
+
* */
|
|
48
|
+
export type DatePickerOnInputChange<MODE extends DatePickerModeVariant> = DatePickerPropOnInputChange<MODE>;
|
|
49
|
+
export type DatePickerProps<MODE extends DatePickerModeVariant = typeof DATE_PICKER_DEFAULT_MODE> = ExtendableComponentPropsWithRef<{
|
|
50
|
+
mode?: MODE;
|
|
51
|
+
/** Выбранная дата */
|
|
52
|
+
value?: DatePickerPropValue<MODE>;
|
|
53
|
+
/** Выбранная дата по умолчанию (неконтролируемое состояние) */
|
|
54
|
+
defaultValue?: DatePickerPropValue<MODE>;
|
|
19
55
|
/** Текущее состояние списка. Если `true`, список отображается. */
|
|
20
56
|
open?: boolean;
|
|
21
57
|
/** Состояние открытие по умолчанию (неконтролируемый компонент) */
|
|
22
|
-
defaultOpen?: never;
|
|
23
|
-
};
|
|
24
|
-
type DatePickerOpenUncontrolledProps = {
|
|
25
|
-
/** Текущее состояние списка. Если `true`, список отображается. */
|
|
26
|
-
open?: never;
|
|
27
|
-
/** Состояние открытие по умолчанию (неконтролируемый компонент) */
|
|
28
58
|
defaultOpen?: boolean;
|
|
29
|
-
};
|
|
30
|
-
export type DatePickerRef = ComponentRef<typeof FIELD_CONTROL_DEFAULT_TAG>;
|
|
31
|
-
export type DatePickerProps = ExtendableComponentPropsWithRef<{
|
|
32
|
-
/** Выбранная дата */
|
|
33
|
-
value?: Date | null;
|
|
34
|
-
/** Выбранная дата по умолчанию (неконтролируемое состояние) */
|
|
35
|
-
defaultValue?: Date | null;
|
|
36
59
|
/** Функция обратного вызова, которая будет вызвана при выборе значения */
|
|
37
|
-
onChange?:
|
|
38
|
-
/** Введённое значение в текстовом поле */
|
|
39
|
-
onInputChange?:
|
|
60
|
+
onChange?: DatePickerPropOnChange<MODE>;
|
|
61
|
+
/** Введённое значение в текстовом поле (полях) */
|
|
62
|
+
onInputChange?: DatePickerPropOnInputChange<MODE>;
|
|
40
63
|
/** Функция обратного вызова, которая будет вызвана когда компонент запрашивает закрытие */
|
|
41
|
-
onClose
|
|
64
|
+
onClose?(): void;
|
|
42
65
|
/** Функция обратного вызова, которая будет вызвана когда компонент запрашивает открытие */
|
|
43
|
-
onOpen
|
|
66
|
+
onOpen?(): void;
|
|
44
67
|
/** Свойства компонента Calendar */
|
|
45
68
|
calendarProps?: CalendarProps;
|
|
46
69
|
/** Свойства компонента Popover */
|
|
@@ -51,5 +74,41 @@ export type DatePickerProps = ExtendableComponentPropsWithRef<{
|
|
|
51
74
|
disableClearButton?: boolean;
|
|
52
75
|
/** Функция обратно вызова, которая сработает если пользователь ввёл дату с ошибкой */
|
|
53
76
|
onError?: DatePickerPropOnError;
|
|
54
|
-
|
|
77
|
+
/** Лейбл */
|
|
78
|
+
label?: DatePickerPropLabel<MODE>;
|
|
79
|
+
/** Текст или иконка слева */
|
|
80
|
+
renderLeft?: DatePickerPropRenderLeft<MODE>;
|
|
81
|
+
/** Текст или иконка справа */
|
|
82
|
+
renderRight?: DatePickerPropRenderRight<MODE>;
|
|
83
|
+
/** Подсказка. Отображается, когда вариант не выбран */
|
|
84
|
+
placeholder?: DatePickerPropPlaceholder<MODE>;
|
|
85
|
+
/** Свойства элемента input */
|
|
86
|
+
inputProps?: DatePickerPropInputProps<MODE>;
|
|
87
|
+
/** Свойства FieldLabel */
|
|
88
|
+
labelProps?: DatePickerPropLabelProps<MODE>;
|
|
89
|
+
/** Если `true` не закрывает выпадающий список при выборе опции */
|
|
90
|
+
disableCloseOnSelect?: boolean;
|
|
91
|
+
/** Если `true` делает элемент неактивным */
|
|
92
|
+
disabled?: boolean;
|
|
93
|
+
/** Дополнительное описание к полю */
|
|
94
|
+
hint?: string | null | undefined;
|
|
95
|
+
/** Cвойства FieldHint */
|
|
96
|
+
hintProps?: Omit<FieldHintProps, 'children'>;
|
|
97
|
+
/** Размер компонента */
|
|
98
|
+
size?: InputSizeVariant;
|
|
99
|
+
/** Если `true` растягивает поле на всю ширину */
|
|
100
|
+
fullWidth?: boolean;
|
|
101
|
+
/** Если `true` делает элемент обязательным к заполнению */
|
|
102
|
+
required?: boolean;
|
|
103
|
+
/** Если `true` отключает обводку */
|
|
104
|
+
disableStroke?: boolean;
|
|
105
|
+
/** Если `true` переводит поле в состояние ошибки */
|
|
106
|
+
error?: boolean;
|
|
107
|
+
/** Свойства обертки для текстовых полей. Принимает свойства компонента [Stack](https://ozen-ui.netlify.app/?path=/docs/components-stack--docs) */
|
|
108
|
+
fieldsProps?: DatePickerPropFieldsProps<MODE>;
|
|
109
|
+
/** Количество отображаемых календарей в компоненте: один или два */
|
|
110
|
+
calendars?: 1 | 2;
|
|
111
|
+
} & Pick<CalendarProps, 'minDate' | 'maxDate' | 'exclude'> & Pick<InputProps, 'onKeyDown'>, 'div'>;
|
|
112
|
+
export type DatePickerComponent = <MODE extends DatePickerModeVariant = typeof DATE_PICKER_DEFAULT_MODE>(props: DatePickerProps<MODE>) => ReactNode;
|
|
113
|
+
export type DatePickerModeComponent<MODE extends DatePickerModeVariant> = (props: Omit<DatePickerProps<MODE>, 'mode'>) => ReactNode;
|
|
55
114
|
export {};
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatStringToDate = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var utils_1 = require("../../components/DateInput/utils");
|
|
6
5
|
var formatStringToDate = function (value) {
|
|
7
6
|
var _a = tslib_1.__read(value.split('.'), 3), date = _a[0], month = _a[1], year = _a[2];
|
|
8
|
-
if (!(date && month && year)
|
|
7
|
+
if (!(date && month && year)) {
|
|
9
8
|
return null;
|
|
10
9
|
}
|
|
11
10
|
return new Date(+year, +month - 1, +date);
|
package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CalendarProps } from '../../../Calendar';
|
|
2
|
+
import type { DatePickerModeVariant, DatePickerProps } from '../../index';
|
|
3
|
+
export declare const getCommonCalendarProps: <MODE extends DatePickerModeVariant>(props: Omit<DatePickerProps<MODE>, "mode">) => CalendarProps;
|
package/__inner__/cjs/components/DatePicker/utils/getCommonCalendarProps/getCommonCalendarProps.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCommonCalendarProps = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var getCalendarSizeToFormElement_1 = require("../getCalendarSizeToFormElement");
|
|
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;
|
|
8
|
+
/** Соотношение размера календаря к размеру элемента контроля */
|
|
9
|
+
var calendarSize = (0, getCalendarSizeToFormElement_1.getCalendarSizeToFormElement)(size);
|
|
10
|
+
/** Предотвращаем переход фокуса с текстового поля на интерактивные элементы календаря */
|
|
11
|
+
var handleMouseDownCalendar = function (e) {
|
|
12
|
+
e.preventDefault();
|
|
13
|
+
};
|
|
14
|
+
return tslib_1.__assign(tslib_1.__assign({ minDate: minDate, maxDate: maxDate, exclude: exclude, size: calendarSize }, calendarProps), { ref: ref, onMouseDown: handleMouseDownCalendar });
|
|
15
|
+
};
|
|
16
|
+
exports.getCommonCalendarProps = getCommonCalendarProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getCommonCalendarProps';
|
package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Paper } from '../../../Paper';
|
|
2
|
+
import type { PopoverProps } from '../../../Popover';
|
|
3
|
+
import type { DatePickerModeVariant, DatePickerProps } from '../../index';
|
|
4
|
+
export declare const getCommonPopoverProps: <MODE extends DatePickerModeVariant>(props: Omit<DatePickerProps<MODE>, "mode">) => PopoverProps<typeof Paper>;
|
package/__inner__/cjs/components/DatePicker/utils/getCommonPopoverProps/getCommonPopoverProps.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCommonPopoverProps = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var getPaperSizeToFormElement_1 = require("../../../../utils/getPaperSizeToFormElement");
|
|
6
|
+
var Paper_1 = require("../../../Paper");
|
|
7
|
+
var getCommonPopoverProps = function (props) {
|
|
8
|
+
var _a = props.size, size = _a === void 0 ? 'm' : _a, popoverProps = props.popoverProps;
|
|
9
|
+
/** Вычисление border-radius по размеру компонента */
|
|
10
|
+
var radius = (0, getPaperSizeToFormElement_1.getPaperSizeToFormElement)(size);
|
|
11
|
+
return tslib_1.__assign({ radius: radius, as: Paper_1.Paper, offset: [0, 4], disableReturnFocus: true, disableEnforceFocus: true, placement: 'bottom-start' }, popoverProps);
|
|
12
|
+
};
|
|
13
|
+
exports.getCommonPopoverProps = getCommonPopoverProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getCommonPopoverProps';
|
|
@@ -3,3 +3,7 @@ export * from './formatDateToString';
|
|
|
3
3
|
export * from './formatStringToDate';
|
|
4
4
|
export * from './isOutOfRange';
|
|
5
5
|
export * from './isInExclude';
|
|
6
|
+
export * from './getCommonPopoverProps';
|
|
7
|
+
export * from './getCommonCalendarProps';
|
|
8
|
+
export * from './isValidDateString';
|
|
9
|
+
export * from './useCalendarKeyboard';
|
|
@@ -6,3 +6,7 @@ tslib_1.__exportStar(require("./formatDateToString"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./formatStringToDate"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./isOutOfRange"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./isInExclude"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./getCommonPopoverProps"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./getCommonCalendarProps"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./isValidDateString"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./useCalendarKeyboard"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './isValidDateString';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isValidDateString: (value: string | null | undefined) => boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidDateString = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var date_1 = require("../../../../utils/date");
|
|
6
|
+
var isNotNil_1 = require("../../../../utils/isNotNil");
|
|
7
|
+
var isValidDateString = function (value) {
|
|
8
|
+
if (!(0, isNotNil_1.isNotNil)(value)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
var _a = tslib_1.__read(value.split('.'), 3), date = _a[0], month = _a[1], year = _a[2];
|
|
12
|
+
return (value === '' ||
|
|
13
|
+
(value.length === 10 && (0, date_1.isValidDate)("".concat(year, "-").concat(month, "-").concat(date))));
|
|
14
|
+
};
|
|
15
|
+
exports.isValidDateString = isValidDateString;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useCalendarKeyboard';
|
package/__inner__/cjs/components/DatePicker/utils/useCalendarKeyboard/useCalendarKeyboard.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
type UseCalendarKeyboardProps = {
|
|
3
|
+
controlRef: RefObject<HTMLElement>;
|
|
4
|
+
calendarRef: RefObject<HTMLElement>;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const useCalendarKeyboard: ({ controlRef, calendarRef, active, }: UseCalendarKeyboardProps) => boolean;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useCalendarKeyboard = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var useBoolean_1 = require("../../../../hooks/useBoolean");
|
|
6
|
+
var useClickOutside_1 = require("../../../../hooks/useClickOutside");
|
|
7
|
+
var useEventListener_1 = require("../../../../hooks/useEventListener");
|
|
8
|
+
var getFocusableElements_1 = require("../../../../utils/getFocusableElements");
|
|
9
|
+
var isKey_1 = require("../../../../utils/isKey");
|
|
10
|
+
var useCalendarKeyboard = function (_a) {
|
|
11
|
+
var controlRef = _a.controlRef, calendarRef = _a.calendarRef, _b = _a.active, active = _b === void 0 ? false : _b;
|
|
12
|
+
var _c = tslib_1.__read((0, useBoolean_1.useBoolean)(false), 2), focused = _c[0], _d = _c[1], on = _d.on, off = _d.off;
|
|
13
|
+
(0, useClickOutside_1.useClickOutside)({
|
|
14
|
+
refs: [calendarRef],
|
|
15
|
+
active: focused,
|
|
16
|
+
handler: function () {
|
|
17
|
+
var _a;
|
|
18
|
+
(_a = controlRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
19
|
+
off();
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
(0, useEventListener_1.useEventListener)({
|
|
23
|
+
element: controlRef,
|
|
24
|
+
eventName: 'keydown',
|
|
25
|
+
handler: function (event) {
|
|
26
|
+
if ((0, isKey_1.isKey)(event, 'Tab') && calendarRef.current) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
var _a = tslib_1.__read((0, getFocusableElements_1.getFocusableElements)(calendarRef.current), 1), firstFocusableElements = _a[0];
|
|
29
|
+
firstFocusableElements === null || firstFocusableElements === void 0 ? void 0 : firstFocusableElements.focus();
|
|
30
|
+
on();
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
active: active && !focused,
|
|
34
|
+
});
|
|
35
|
+
(0, useEventListener_1.useEventListener)({
|
|
36
|
+
eventName: 'keydown',
|
|
37
|
+
handler: function (event) {
|
|
38
|
+
if ((0, isKey_1.isKey)(event, 'Escape') && controlRef.current) {
|
|
39
|
+
controlRef.current.focus();
|
|
40
|
+
off();
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
active: focused,
|
|
44
|
+
});
|
|
45
|
+
return focused;
|
|
46
|
+
};
|
|
47
|
+
exports.useCalendarKeyboard = useCalendarKeyboard;
|
|
@@ -23,7 +23,7 @@ var PopoverContext_1 = require("./PopoverContext");
|
|
|
23
23
|
exports.cnPopover = (0, classname_1.cn)('Popover');
|
|
24
24
|
exports.Popover = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef)(function (inProps, ref) {
|
|
25
25
|
var props = (0, useThemeProps_1.useThemeProps)({ props: inProps, name: 'Popover' });
|
|
26
|
-
var _a = props.arrow, arrow = _a === void 0 ? constants_1.POPOVER_DEFAULT_ARROW : _a, _b = props.open, open = _b === void 0 ? constants_1.POPOVER_DEFAULT_OPEN : _b, _c = props.disableInteractive, disableInteractive = _c === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_INTERACTIVE : _c, _d = props.disableEnforceFocus, disableEnforceFocus = _d === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_ENFORCE_FOCUS : _d, _e = props.disableReturnFocus, disableReturnFocus = _e === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_RETURN_FOCUS : _e, _f = props.disableClickOutside, disableClickOutside = _f === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_CLICK_OUTSIDE : _f, _g = props.placement, placement = _g === void 0 ? constants_1.POPOVER_DEFAULT_PLACEMENT : _g, _h = props.strategy, strategy = _h === void 0 ? constants_1.POPOVER_DEFAULT_STRATEGY : _h, _j = props.disablePreventOverflow, disablePreventOverflow = _j === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_PREVENT_OVERFLOW : _j, ignoreClickOutsideRefs = props.ignoreClickOutsideRefs, arrowProps = props.arrowProps, anchorRef = props.anchorRef, equalAnchorWidth = props.equalAnchorWidth, offset = props.offset, children = props.children, transitionProps = props.transitionProps, onClose = props.onClose, onEnter = props.onEnter, onEntered = props.onEntered, onExit = props.onExit, onExitedProp = props.onExited, className = props.className, position = props.position, style = props.style, setUpdate = props.setUpdate, modifiersProp = props.modifiers, _k = props.as, as = _k === void 0 ? constants_1.POPOVER_DEFAULT_TAG : _k, other = tslib_1.__rest(props, ["arrow", "open", "disableInteractive", "disableEnforceFocus", "disableReturnFocus", "disableClickOutside", "placement", "strategy", "disablePreventOverflow", "ignoreClickOutsideRefs", "arrowProps", "anchorRef", "equalAnchorWidth", "offset", "children", "transitionProps", "onClose", "onEnter", "onEntered", "onExit", "onExited", "className", "position", "style", "setUpdate", "modifiers", "as"]);
|
|
26
|
+
var _a = props.arrow, arrow = _a === void 0 ? constants_1.POPOVER_DEFAULT_ARROW : _a, _b = props.open, open = _b === void 0 ? constants_1.POPOVER_DEFAULT_OPEN : _b, _c = props.disableInteractive, disableInteractive = _c === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_INTERACTIVE : _c, _d = props.disableEnforceFocus, disableEnforceFocus = _d === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_ENFORCE_FOCUS : _d, _e = props.disableReturnFocus, disableReturnFocus = _e === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_RETURN_FOCUS : _e, _f = props.disableClickOutside, disableClickOutside = _f === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_CLICK_OUTSIDE : _f, _g = props.placement, placement = _g === void 0 ? constants_1.POPOVER_DEFAULT_PLACEMENT : _g, _h = props.strategy, strategy = _h === void 0 ? constants_1.POPOVER_DEFAULT_STRATEGY : _h, _j = props.disablePreventOverflow, disablePreventOverflow = _j === void 0 ? constants_1.POPOVER_DEFAULT_DISABLE_PREVENT_OVERFLOW : _j, ignoreClickOutsideRefs = props.ignoreClickOutsideRefs, disableEscapeKeyDown = props.disableEscapeKeyDown, arrowProps = props.arrowProps, anchorRef = props.anchorRef, equalAnchorWidth = props.equalAnchorWidth, offset = props.offset, children = props.children, transitionProps = props.transitionProps, onClose = props.onClose, onEnter = props.onEnter, onEntered = props.onEntered, onExit = props.onExit, onExitedProp = props.onExited, className = props.className, position = props.position, style = props.style, setUpdate = props.setUpdate, modifiersProp = props.modifiers, _k = props.as, as = _k === void 0 ? constants_1.POPOVER_DEFAULT_TAG : _k, other = tslib_1.__rest(props, ["arrow", "open", "disableInteractive", "disableEnforceFocus", "disableReturnFocus", "disableClickOutside", "placement", "strategy", "disablePreventOverflow", "ignoreClickOutsideRefs", "disableEscapeKeyDown", "arrowProps", "anchorRef", "equalAnchorWidth", "offset", "children", "transitionProps", "onClose", "onEnter", "onEntered", "onExit", "onExited", "className", "position", "style", "setUpdate", "modifiers", "as"]);
|
|
27
27
|
var Tag = (0, react_1.useMemo)(function () {
|
|
28
28
|
// eslint-disable-next-line react/display-name
|
|
29
29
|
return (0, react_1.forwardRef)(function (props, ref) { return (react_1.default.createElement(Paper_1.Paper, tslib_1.__assign({ radius: "l", shadow: "m", background: "main" }, props, { as: as, ref: ref }))); });
|
|
@@ -47,7 +47,7 @@ exports.Popover = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef)
|
|
|
47
47
|
return;
|
|
48
48
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
49
49
|
},
|
|
50
|
-
active: isTop,
|
|
50
|
+
active: isTop && !disableEscapeKeyDown,
|
|
51
51
|
});
|
|
52
52
|
(0, useClickOutside_1.useClickOutside)({
|
|
53
53
|
refs: tslib_1.__spreadArray(tslib_1.__spreadArray(tslib_1.__spreadArray([
|
|
@@ -65,6 +65,8 @@ export type PopoverBaseProps = {
|
|
|
65
65
|
disableReturnFocus?: boolean;
|
|
66
66
|
/** Если `true` отключает закрытие окна при клике за его пределами */
|
|
67
67
|
disableClickOutside?: boolean;
|
|
68
|
+
/** Если `true` отключает закрытие окна при нажатии на клавишу ESC */
|
|
69
|
+
disableEscapeKeyDown?: boolean;
|
|
68
70
|
/** Идентификатор компонента для тестов */
|
|
69
71
|
'data-testid'?: string;
|
|
70
72
|
/** Функция обратного вызова для получения метода по перерасчету расположения компонента Popover */
|
|
@@ -32,7 +32,7 @@ exports.Segment = (0, react_1.forwardRef)(function (inProps, ref) {
|
|
|
32
32
|
selected: valueState,
|
|
33
33
|
onChange: handleChange,
|
|
34
34
|
}); }, [name, disabled, iconSize, selectedColor, valueState, handleChange]);
|
|
35
|
-
return (react_1.default.createElement("fieldset", tslib_1.__assign({ ref: ref, disabled: disabled, className: (0, exports.cnSegment)(
|
|
35
|
+
return (react_1.default.createElement("fieldset", tslib_1.__assign({ ref: ref, disabled: disabled, className: (0, exports.cnSegment)({
|
|
36
36
|
size: size,
|
|
37
37
|
variant: variant,
|
|
38
38
|
disabled: disabled,
|
|
@@ -15,7 +15,7 @@ exports.SegmentItem = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
15
15
|
onChange === null || onChange === void 0 ? void 0 : onChange(event);
|
|
16
16
|
onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(event);
|
|
17
17
|
};
|
|
18
|
-
return (react_1.default.createElement("label", tslib_1.__assign({ ref: ref, className: (0, exports.cnSegmentItem)(
|
|
18
|
+
return (react_1.default.createElement("label", tslib_1.__assign({ ref: ref, className: (0, exports.cnSegmentItem)(tslib_1.__assign({ disabled: disabled, selected: selected }, (selected && { selectedColor: selectedColor })), [className]), "data-testid": dataTestId }, labelProps),
|
|
19
19
|
Icon && (react_1.default.createElement(Icon, { className: (0, exports.cnSegmentItem)('Icon'), ref: iconRef, size: iconSize })),
|
|
20
20
|
children,
|
|
21
21
|
react_1.default.createElement("input", tslib_1.__assign({ disabled: disabled, type: "radio", name: nameProp || name, className: (0, exports.cnSegmentItem)('Radio'), onChange: handleChange, checked: selected, value: value, "data-testid": inputTestId }, other, { ref: inputRef })),
|
|
@@ -10,6 +10,7 @@ var useMultiRef_1 = require("../../hooks/useMultiRef");
|
|
|
10
10
|
var useThemeProps_1 = require("../../hooks/useThemeProps");
|
|
11
11
|
var classname_1 = require("../../utils/classname");
|
|
12
12
|
var isKeys_1 = require("../../utils/isKeys");
|
|
13
|
+
var isString_1 = require("../../utils/isString");
|
|
13
14
|
var DataList_1 = require("../DataList");
|
|
14
15
|
var components_1 = require("./components");
|
|
15
16
|
var constants_1 = require("./constants");
|
|
@@ -22,21 +23,20 @@ var SelectRender = function (inProps, ref) {
|
|
|
22
23
|
});
|
|
23
24
|
var _a = props.size, size = _a === void 0 ? constants_1.SELECT_DEFAULT_SIZE : _a, _b = props.autoFocus, autoFocus = _b === void 0 ? constants_1.SELECT_DEFAULT_AUTO_FOCUS : _b, _c = props.fullWidth, fullWidth = _c === void 0 ? constants_1.SELECT_DEFAULT_FULL_WIDTH : _c, _d = props.disabled, disabled = _d === void 0 ? constants_1.SELECT_DEFAULT_DISABLED : _d, _e = props.required, required = _e === void 0 ? constants_1.SELECT_DEFAULT_REQUIRED : _e, _f = props.multiline, multiline = _f === void 0 ? constants_1.SELECT_DEFAULT_MULTILINE : _f, _g = props.defaultOpen, defaultOpen = _g === void 0 ? constants_1.SELECT_DEFAULT_DEFAULT_OPEN : _g, valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, renderValueProp = props.renderValue, children = props.children, onClick = props.onClick, onKeyDown = props.onKeyDown, menuProps = props.menuProps, dataListPropsProp = props.dataListProps, bodyProps = props.bodyProps, bodeRefProp = props.bodyRef, onCloseProp = props.onClose, onOpenProp = props.onOpen, openProp = props.open, multiple = props.multiple, other = tslib_1.__rest(props, ["size", "autoFocus", "fullWidth", "disabled", "required", "multiline", "defaultOpen", "value", "defaultValue", "onChange", "renderValue", "children", "onClick", "onKeyDown", "menuProps", "dataListProps", "bodyProps", "bodyRef", "onClose", "onOpen", "open", "multiple"]);
|
|
24
25
|
var bodyInnerRef = (0, react_1.useRef)(null);
|
|
25
|
-
|
|
26
|
-
var bodyRef = (bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.ref) || bodeRefProp;
|
|
26
|
+
var bodyRef = (0, useMultiRef_1.useMultiRef)([(bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.ref) || bodeRefProp, bodyInnerRef]);
|
|
27
27
|
var dataListProps = dataListPropsProp || menuProps;
|
|
28
28
|
var _h = tslib_1.__read((0, useControlled_1.useControlled)({
|
|
29
29
|
value: valueProp,
|
|
30
30
|
defaultValue: defaultValue,
|
|
31
31
|
name: 'Select',
|
|
32
32
|
state: 'value',
|
|
33
|
-
}),
|
|
33
|
+
}), 2), valueState = _h[0], setValueState = _h[1];
|
|
34
34
|
var _j = tslib_1.__read((0, useControlled_1.useControlled)({
|
|
35
35
|
value: openProp,
|
|
36
36
|
defaultValue: defaultOpen,
|
|
37
37
|
name: 'Select',
|
|
38
38
|
state: 'open',
|
|
39
|
-
}),
|
|
39
|
+
}), 2), open = _j[0], setOpen = _j[1];
|
|
40
40
|
var currentLabel;
|
|
41
41
|
var isNotSelectOption = function (child) { return !(0, react_1.isValidElement)(child) || child.type !== DataList_1.DataListOption; };
|
|
42
42
|
var resolvedChildren = (0, react_is_1.isFragment)(children)
|
|
@@ -45,27 +45,23 @@ var SelectRender = function (inProps, ref) {
|
|
|
45
45
|
react_1.Children.forEach(resolvedChildren, function (child) {
|
|
46
46
|
var _a, _b;
|
|
47
47
|
if (!isNotSelectOption(child)) {
|
|
48
|
-
var label =
|
|
48
|
+
var label = (0, isString_1.isString)(child.props.children)
|
|
49
49
|
? (_a = child.props.label) !== null && _a !== void 0 ? _a : child.props.children
|
|
50
50
|
: child.props.label;
|
|
51
|
-
var params = {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
value: valueState,
|
|
55
|
-
};
|
|
56
|
-
if ((0, helpers_1.isMultipleParams)(params)) {
|
|
51
|
+
var params = tslib_1.__assign(tslib_1.__assign({}, inProps), { multiple: multiple, value: valueState });
|
|
52
|
+
if ((0, helpers_1.isMultipleParams)(params) &&
|
|
53
|
+
(0, helpers_1.isMultipleLabel)(currentLabel, multiple)) {
|
|
57
54
|
var selected = (_b = params.value) === null || _b === void 0 ? void 0 : _b.includes(child.props.value);
|
|
58
|
-
if (selected)
|
|
59
|
-
currentLabel = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read((
|
|
55
|
+
if (selected)
|
|
56
|
+
currentLabel = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read((currentLabel || [])), false), [
|
|
60
57
|
label,
|
|
61
58
|
], false);
|
|
62
|
-
}
|
|
63
59
|
}
|
|
64
|
-
if ((0, helpers_1.isNotMultipleParams)(params)
|
|
60
|
+
if ((0, helpers_1.isNotMultipleParams)(params) &&
|
|
61
|
+
(0, helpers_1.isNotMultipleLabel)(currentLabel, multiple)) {
|
|
65
62
|
var selected = params.value === child.props.value;
|
|
66
|
-
if (selected)
|
|
63
|
+
if (selected)
|
|
67
64
|
currentLabel = label;
|
|
68
|
-
}
|
|
69
65
|
}
|
|
70
66
|
}
|
|
71
67
|
});
|
|
@@ -80,52 +76,40 @@ var SelectRender = function (inProps, ref) {
|
|
|
80
76
|
var handleToggle = function () {
|
|
81
77
|
if (disabled)
|
|
82
78
|
return;
|
|
83
|
-
if (open)
|
|
79
|
+
if (open)
|
|
84
80
|
handleClose();
|
|
85
|
-
|
|
86
|
-
else {
|
|
81
|
+
else
|
|
87
82
|
handleOpen();
|
|
88
|
-
}
|
|
89
83
|
};
|
|
90
|
-
var handleClick = function (
|
|
91
|
-
onClick === null || onClick === void 0 ? void 0 : onClick(
|
|
84
|
+
var handleClick = function (e) {
|
|
85
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
92
86
|
handleToggle();
|
|
93
87
|
};
|
|
94
88
|
/** Управление элементом контроля через клавиатуру */
|
|
95
|
-
var handleKeyDown = function (
|
|
96
|
-
if ((0, isKeys_1.isKeys)(
|
|
97
|
-
|
|
89
|
+
var handleKeyDown = function (e) {
|
|
90
|
+
if ((0, isKeys_1.isKeys)(e, ['Space', 'ArrowDown', 'ArrowUp']) && !open) {
|
|
91
|
+
e.preventDefault();
|
|
98
92
|
handleToggle();
|
|
99
93
|
}
|
|
100
|
-
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(
|
|
94
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
101
95
|
};
|
|
102
96
|
/** Событие выбора значения из раскрывающегося списка */
|
|
103
|
-
var handleChange = function (
|
|
97
|
+
var handleChange = function (e, _a) {
|
|
104
98
|
var value = _a.value;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
99
|
+
setValueState(value);
|
|
100
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value, e);
|
|
109
101
|
if (!multiple)
|
|
110
102
|
handleClose();
|
|
111
103
|
};
|
|
112
104
|
/** Представление значение элемента контроля по умолчанию */
|
|
113
105
|
var renderDefaultValue = function (option) {
|
|
114
106
|
var _a = option.label, label = _a === void 0 ? '' : _a, _b = option.value, value = _b === void 0 ? '' : _b;
|
|
115
|
-
if (!value && value !== 0)
|
|
107
|
+
if (!value && value !== 0)
|
|
116
108
|
return null;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
value: value,
|
|
122
|
-
};
|
|
123
|
-
if ((0, helpers_1.isMultipleParams)(params)) {
|
|
124
|
-
return react_1.default.createElement("span", null, tslib_1.__spreadArray([], tslib_1.__read(params.label), false).join(', '));
|
|
125
|
-
}
|
|
126
|
-
if ((0, helpers_1.isNotMultipleParams)(params)) {
|
|
127
|
-
return react_1.default.createElement("span", null, params.label);
|
|
128
|
-
}
|
|
109
|
+
if ((0, helpers_1.isMultipleLabel)(label, multiple))
|
|
110
|
+
return react_1.default.createElement("span", null, tslib_1.__spreadArray([], tslib_1.__read(label), false).join(', '));
|
|
111
|
+
if ((0, helpers_1.isNotMultipleLabel)(label, multiple))
|
|
112
|
+
return react_1.default.createElement("span", null, label);
|
|
129
113
|
return null;
|
|
130
114
|
};
|
|
131
115
|
/** Значение для текстового поля компонента */
|
|
@@ -135,12 +119,10 @@ var SelectRender = function (inProps, ref) {
|
|
|
135
119
|
multiple: multiple,
|
|
136
120
|
value: valueState,
|
|
137
121
|
};
|
|
138
|
-
if ((0, helpers_1.isMultipleParams)(params))
|
|
139
|
-
return (_a = params.value) === null || _a === void 0 ? void 0 : _a.join(',');
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return params.value;
|
|
143
|
-
}
|
|
122
|
+
if ((0, helpers_1.isMultipleParams)(params))
|
|
123
|
+
return ((_a = params.value) === null || _a === void 0 ? void 0 : _a.join(',')) || '';
|
|
124
|
+
if ((0, helpers_1.isNotMultipleParams)(params))
|
|
125
|
+
return (params === null || params === void 0 ? void 0 : params.value) || '';
|
|
144
126
|
return '';
|
|
145
127
|
};
|
|
146
128
|
/** Представление значение элемента контроля */
|
|
@@ -150,22 +132,22 @@ var SelectRender = function (inProps, ref) {
|
|
|
150
132
|
/** Устанавливает фокус на элементе контроля
|
|
151
133
|
* если компонент по умолчанию открыт — defaultOpen={true}
|
|
152
134
|
* и является неконтролируемым */
|
|
153
|
-
if (defaultOpen
|
|
135
|
+
if (defaultOpen)
|
|
154
136
|
(_a = bodyInnerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
155
|
-
|
|
156
|
-
}, [open]);
|
|
137
|
+
}, []);
|
|
157
138
|
(0, react_1.useEffect)(function () {
|
|
158
139
|
var _a;
|
|
159
140
|
/** Автофокус на элементе контроля */
|
|
160
|
-
if (autoFocus)
|
|
141
|
+
if (autoFocus)
|
|
161
142
|
(_a = bodyInnerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
162
|
-
}
|
|
163
143
|
}, [autoFocus]);
|
|
164
144
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
165
|
-
react_1.default.createElement(components_1.SelectInput, tslib_1.__assign({ size: size, disabled: disabled, required: required, multiline: multiline, fullWidth: fullWidth }, other, { open: open, onClick: handleClick, onKeyDown: handleKeyDown,
|
|
145
|
+
react_1.default.createElement(components_1.SelectInput, tslib_1.__assign({ size: size, disabled: disabled, required: required, multiline: multiline, fullWidth: fullWidth }, other, { open: open, value: inputValue(), onClick: handleClick, onKeyDown: handleKeyDown, renderedValue: renderValue({
|
|
166
146
|
label: currentLabel,
|
|
167
147
|
value: valueState,
|
|
168
|
-
}), bodyProps: tslib_1.__assign(tslib_1.__assign({}, bodyProps), { ref:
|
|
169
|
-
react_1.default.createElement(DataList_1.DataList, tslib_1.__assign({ equalAnchorWidth: true }, dataListProps, { listProps: tslib_1.__assign({ size: size, role: 'listbox' }, dataListProps === null || dataListProps === void 0 ? void 0 : dataListProps.listProps), open: open, multiple: multiple,
|
|
148
|
+
}), bodyProps: tslib_1.__assign(tslib_1.__assign({}, bodyProps), { ref: bodyRef }), ref: ref })),
|
|
149
|
+
react_1.default.createElement(DataList_1.DataList, tslib_1.__assign({ equalAnchorWidth: true }, dataListProps, { listProps: tslib_1.__assign({ size: size, role: 'listbox' }, dataListProps === null || dataListProps === void 0 ? void 0 : dataListProps.listProps), open: open, multiple: multiple, onClose: handleClose, onSelect: handleChange, anchorRef: bodyInnerRef,
|
|
150
|
+
// TODO: add `null` to `DataListSelected`
|
|
151
|
+
selected: (valueState || null) }), children)));
|
|
170
152
|
};
|
|
171
153
|
exports.Select = (0, react_1.forwardRef)(SelectRender);
|