@consta/uikit 5.0.3 → 5.2.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/__internal__/src/components/BookmarkTabs/BookmarkTabs.js +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/Chips/Chips.js +1 -1
- package/__internal__/src/components/Chips/Chips.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/types.d.ts +1 -0
- package/__internal__/src/components/Chips/ChipsChoice/types.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.css +2 -2
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.js +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.js.map +1 -1
- package/__internal__/src/components/Chips/helpers.d.ts +6 -2
- package/__internal__/src/components/Chips/helpers.js +1 -1
- package/__internal__/src/components/Chips/helpers.js.map +1 -1
- package/__internal__/src/components/Chips/types.d.ts +4 -0
- package/__internal__/src/components/Chips/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePicker.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.d.ts +7 -0
- package/__internal__/src/components/DatePicker/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +3 -2
- package/__internal__/src/components/DatePicker/useCalendarVisible.js +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js.map +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js.map +1 -1
- package/__internal__/src/components/Pagination/Pagination.css +1 -1
- package/__internal__/src/components/Pagination/Pagination.js +1 -1
- package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.css +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.css +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.css +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.d.ts +7 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js.map +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js.map +1 -0
- package/__internal__/src/components/Pagination/helpers.d.ts +11 -555
- package/__internal__/src/components/Pagination/helpers.js +1 -1
- package/__internal__/src/components/Pagination/helpers.js.map +1 -1
- package/__internal__/src/components/Pagination/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/index.js +1 -1
- package/__internal__/src/components/Pagination/index.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +17 -37
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.d.ts +7 -6
- package/__internal__/src/components/Pagination/usePaginationItems.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.d.ts +2 -2
- package/__internal__/src/components/Pagination/usePaginationKeys.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/helper.d.ts +1 -0
- package/__internal__/src/components/Slider/useSlider/helper.js +1 -1
- package/__internal__/src/components/Slider/useSlider/helper.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
- package/__internal__/src/components/Spoiler/Spoiler.js +1 -1
- package/__internal__/src/components/Spoiler/Spoiler.js.map +1 -1
- package/__internal__/src/components/Spoiler/types.d.ts +2 -0
- package/__internal__/src/components/Spoiler/types.js.map +1 -1
- package/__internal__/src/components/Switch/Switch.css +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +283 -1
- package/__internal__/src/components/Tabs/types.d.ts +9 -2
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TextField/TextField.css +1 -1
- package/__internal__/src/components/TextField/TextField.js +1 -1
- package/__internal__/src/components/TextField/TextField.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +1 -0
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconExe/FileIconExe.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconGif/FileIconGif.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJson/FileIconJson.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMov/FileIconMov.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPng/FileIconPng.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRar/FileIconRar.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconWav/FileIconWav.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconXls/FileIconXls.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconZip/FileIconZip.js.map +1 -1
- package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -2
- package/__internal__/src/hooks/useFlag/useFlag.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionError.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeleted.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccess.js.map +1 -1
- package/package.json +1 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.css +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.d.ts +0 -3
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js.map +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/index.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{useFlag}from"../../../hooks/useFlag
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{DateTime}from"../../DateTime";import{Popover}from"../../Popover";import{useFlag}from"../../../hooks/useFlag";import{useForkRef}from"../../../hooks/useForkRef";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{DatePickerAdditionalControls}from"../DatePickerAdditionalControls/DatePickerAdditionalControls";import{datePickerPropDropdownFormDefault}from"../types";var moveMap={year:"year",month:"month",date:"day",time:"time","date-time":"day"},cnDatePickerDropdown=cn("DatePickerDropdown");export var DatePickerDropdown=forwardRef(function(a,b){var c=a.form,d=void 0===c?datePickerPropDropdownFormDefault:c,e=a.anchorRef,f=a.isOpen,g=a.className,h=a.zIndex,i=a.renderAdditionalControls,j=_objectWithoutProperties(a,_excluded),k=useRef(null),l=useState(),m=_slicedToArray(l,2),n=m[0],o=m[1],p=useFlag(!0),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useCallback(function(b){b===moveMap[a.type]?s.on():s.off()},[a.type]),u=useForkRef([b,k]);return React.createElement(Transition,{in:f,unmountOnExit:!0,timeout:animateTimeout,nodeRef:k},function(b){return React.createElement(Popover,{ref:u,anchorRef:e,className:cnDatePickerDropdown({form:d},[g,cnMixPopoverAnimate({direction:n,animate:b})]),direction:"downStartLeft",spareDirection:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],style:{zIndex:h},role:"listbox",onSetDirection:o},React.createElement(DateTime,Object.assign({},j,{onMove:t})),r&&React.createElement(DatePickerAdditionalControls,{currentVisibleDate:a.currentVisibleDate,renderAdditionalControls:i,type:a.type,view:a.view}))})});
|
|
2
2
|
//# sourceMappingURL=DatePickerDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","
|
|
1
|
+
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","DateTime","Popover","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '##/components/DateTime';\nimport { Direction, Popover } from '##/components/Popover';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cn } from '##/utils/bem';\nimport { DateRange } from '##/utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"kPAAA,iCAEA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,WAA5B,CAAyCC,MAAzC,CAAiDC,QAAjD,KAAiE,OAAjE,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,QADF,sBAMA,OAAoBC,OAApB,qBACA,OAASC,OAAT,8BACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,mBAAzB,uCACA,OAASC,EAAT,0BAIA,OAASC,4BAAT,oEACA,OAIEC,iCAJF,gB,GAuCMC,QAA2C,CAAG,CAClD,KAAQ,MAD0C,CAElD,MAAS,OAFyC,CAGlD,KAAQ,KAH0C,CAIlD,KAAQ,MAJ0C,CAKlD,YAAa,KALqC,C,CAQ9CC,oBAAoB,CAAGJ,EAAE,CAAC,oBAAD,C,CAE/B,MAAO,IAAMK,mBAA+C,CAAGhB,UAAU,CACvE,SAACiB,CAAD,CAAQC,CAAR,CAAyB,OASnBD,CATmB,CAErBE,IAFqB,CAErBA,CAFqB,YAEdN,iCAFc,GAGrBO,CAHqB,CASnBH,CATmB,CAGrBG,SAHqB,CAIrBC,CAJqB,CASnBJ,CATmB,CAIrBI,MAJqB,CAKrBC,CALqB,CASnBL,CATmB,CAKrBK,SALqB,CAMrBC,CANqB,CASnBN,CATmB,CAMrBM,MANqB,CAOrBC,CAPqB,CASnBP,CATmB,CAOrBO,wBAPqB,CAQlBC,CARkB,0BASnBR,CATmB,YAWjBS,CAAO,CAAGxB,MAAM,CAAiB,IAAjB,CAXC,GAYWC,QAAQ,EAZnB,uBAYhBwB,CAZgB,MAYLC,CAZK,QAerBrB,OAAO,IAfc,uBAchBsB,CAdgB,MAcWC,CAdX,MAiBjBC,CAAM,CAAG9B,WAAW,CACxB,SAAC+B,CAAD,CAAkB,CAChBA,CAAE,GAAKlB,OAAO,CAACG,CAAK,CAACgB,IAAP,CAAd,CACIH,CAA4B,CAACI,EAA7B,EADJ,CAEIJ,CAA4B,CAACK,GAA7B,EACL,CALuB,CAMxB,CAAClB,CAAK,CAACgB,IAAP,CANwB,CAjBH,CA0BjBG,CAAG,CAAG5B,UAAU,CAAC,CAACU,CAAD,CAAeQ,CAAf,CAAD,CA1BC,CA4BvB,MACE,qBAAC,UAAD,EACE,GAAIL,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEZ,cAHX,CAIE,OAAO,CAAEiB,CAJX,EAMG,SAACW,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,EACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAEhB,CAFb,CAGE,SAAS,CAAEL,oBAAoB,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CACxCG,CADwC,CAExCZ,mBAAmB,CAAC,CAAEiB,SAAS,CAATA,CAAF,CAAaU,OAAO,CAAPA,CAAb,CAAD,CAFqB,CAAX,CAHjC,CAOE,SAAS,CAAC,eAPZ,CAQE,cAAc,CAAC,eARjB,CASE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CATtB,CAeE,KAAK,CAAE,CAAEd,MAAM,CAANA,CAAF,CAfT,CAgBE,IAAI,CAAC,SAhBP,CAiBE,cAAc,CAAEK,CAjBlB,EAmBE,oBAAC,QAAD,kBAAcH,CAAd,EAA0B,MAAM,CAAEM,CAAlC,GAnBF,CAoBGF,CAAyB,EACxB,oBAAC,4BAAD,EACE,kBAAkB,CAAEZ,CAAK,CAACqB,kBAD5B,CAEE,wBAAwB,CAAEd,CAF5B,CAGE,IAAI,CAAEP,CAAK,CAACgB,IAHd,CAIE,IAAI,CAAEhB,CAAK,CAACsB,IAJd,EArBJ,CA8BH,CAtCH,CAyCH,CAvEsE,CAAlE"}
|
package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{useForkRef}from"../../../hooks/useForkRef
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeDate,datePickerPropPlaceholderTypeDate,datePickerPropSeparatorDefault}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeDate=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeDate:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=void 0===g?datePickerPropPlaceholderTypeDate:g,i=a.onChange,j=a.onError,k=a.minDate,l=void 0===k?minDateDefault:k,m=a.maxDate,n=void 0===m?maxDateDefault:m,o=a.value,p=a.inputRef,q=a.defaultValue,r=_objectWithoutProperties(a,_excluded),s=usePicker({format:d,separator:f,onChange:i,onError:j,value:o,minDate:l,maxDate:n}),t=_slicedToArray(s,2),u=t[0],v=t[1];return React.createElement(TextField,Object.assign({},r,{type:"text",inputContainerRef:b,inputRef:useForkRef([u,p]),placeholder:h,onClear:v}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerFieldTypeDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFieldTypeDate.js","names":["React","useForkRef","maxDateDefault","minDateDefault","
|
|
1
|
+
{"version":3,"file":"DatePickerFieldTypeDate.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeDate","datePickerPropPlaceholderTypeDate","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeDate","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","defaultValue","otherProps","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeDate,\n datePickerPropPlaceholderTypeDate,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeDateProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeDate = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeDateProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeDate,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeDate,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n defaultValue,\n ...otherProps\n } = props;\n\n const [inputRef, onClear] = usePicker({\n format,\n separator,\n onChange,\n onError,\n value,\n minDate,\n maxDate,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oRAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,4BADF,CAEEC,iCAFF,CAGEC,8BAHF,kBAKA,OAAuCC,SAAvC,iBAEA,MAAO,IAAMC,wBAAuB,CAAGT,KAAK,CAACU,UAAN,CAGrC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAaZD,CAbY,CAEdE,MAFc,CAEdA,CAFc,YAELR,4BAFK,KAaZM,CAbY,CAGdG,SAHc,CAGdA,CAHc,YAGFP,8BAHE,KAaZI,CAbY,CAIdI,WAJc,CAIdA,CAJc,YAIAT,iCAJA,GAKdU,CALc,CAaZL,CAbY,CAKdK,QALc,CAMdC,CANc,CAaZN,CAbY,CAMdM,OANc,GAaZN,CAbY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAaZO,CAbY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAaZT,CAbY,CASdS,KATc,CAUJC,CAVI,CAaZV,CAbY,CAUdW,QAVc,CAWdC,CAXc,CAaZZ,CAbY,CAWdY,YAXc,CAYXC,CAZW,0BAaZb,CAbY,cAeYH,SAAS,CAAC,CACpCK,MAAM,CAANA,CADoC,CAEpCC,SAAS,CAATA,CAFoC,CAGpCE,QAAQ,CAARA,CAHoC,CAIpCC,OAAO,CAAPA,CAJoC,CAKpCG,KAAK,CAALA,CALoC,CAMpCF,OAAO,CAAPA,CANoC,CAOpCC,OAAO,CAAPA,CAPoC,CAAD,CAfrB,uBAeTG,CAfS,MAeCG,CAfD,MAyBhB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEZ,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEN,CALf,CAME,OAAO,CAAEU,CANX,GASH,CAtCsC,CAAhC"}
|
|
@@ -51,5 +51,5 @@ declare type UsePickerProps = {
|
|
|
51
51
|
minDate: Date;
|
|
52
52
|
maxDate: Date;
|
|
53
53
|
};
|
|
54
|
-
export declare const usePicker: (props: UsePickerProps) => import("react").MutableRefObject<HTMLInputElement | null
|
|
54
|
+
export declare const usePicker: (props: UsePickerProps) => readonly [import("react").MutableRefObject<HTMLInputElement | null>, import("react").MouseEventHandler<HTMLButtonElement>];
|
|
55
55
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format as _format,isValid,isWithinInterval,parse as _parse}from"date-fns";import{useCallback
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format as _format,isValid,isWithinInterval,parse as _parse}from"date-fns";import{useCallback}from"react";import{IMask,useIMask}from"react-imask";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{datePickerPropSeparatorDefault,getPartDate,getParts,getPartsDate,useStringValue}from"../helpers";import{datePickerErrorTypes}from"../types";export var usePicker=function(a){var b=a.value,c=a.onChange,d=a.onError,f=a.format,g=a.separator,h=a.maxDate,i=a.minDate,j=useMutableRef(c),k=useMutableRef(b),l=useMutableRef(d),m=useCallback(function(a,b,c){var d=j.current,e=k.current;if(!(e&&isValid(e)&&_format(e,f)===a)){if((null===a||void 0===a?void 0:a.length)!==f.length&&e&&c&&d)return void d(null,{e:c});if(d&&c){if(!a)return void(e&&d(null,{e:c}));var m=getParts(f,g,!1),n=getParts(a,g,!1),o=m.map(function(a){return getPartDate(m,n,a)}).filter(function(a){return!!a});if(m.length===o.length){var v=_parse(n.join(datePickerPropSeparatorDefault),m.join(datePickerPropSeparatorDefault),new Date);if(!isWithinInterval(v,{start:i,end:h})){var p,q=getPartsDate(a,f,g,!1,["dd","MM","yyyy"]),r=_slicedToArray(q,3),s=r[0],t=r[1],u=r[2];return null===(p=l.current)||void 0===p?void 0:p.call(l,{type:datePickerErrorTypes[0],stringValue:a,dd:s,MM:t,yyyy:u,date:v}),void(e&&d(null,{e:c}))}d(v,{e:c})}else e&&d(null,{e:c})}}},[null===i||void 0===i?void 0:i.getTime(),null===h||void 0===h?void 0:h.getTime(),f,g]),n=useIMask({mask:Date,pattern:f,blocks:{yyyy:{mask:IMask.MaskedRange,from:1,to:9999},MM:{mask:IMask.MaskedRange,from:1,to:12},dd:{mask:IMask.MaskedRange,from:1,to:31}},lazy:!0,autofix:!0,format:function format(a){return _format(a,f)},parse:function parse(a){return _parse(a,f,new Date)},validate:function validate(a){var b=getParts(f,g,!1),c=getParts(a,g,!1),d=b.map(function(a){return getPartDate(b,c,a)}).filter(function(a){return!!a});if(b.length===d.length&&!isValid(_parse(c.join(datePickerPropSeparatorDefault),b.join(datePickerPropSeparatorDefault),new Date))){var e,h=getPartsDate(a,f,g,!1,["dd","MM","yyyy"]),i=_slicedToArray(h,3),j=i[0],k=i[1],m=i[2];return null===(e=l.current)||void 0===e?void 0:e.call(l,{type:datePickerErrorTypes[1],stringValue:a,dd:j,MM:k,yyyy:m}),!1}return!0}},{onAccept:m}),o=useStringValue(b,f,g,j,n);return[n.ref,o]};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["format","isValid","isWithinInterval","parse","useCallback","useEffect","IMask","useIMask","useMutableRef","datePickerPropSeparatorDefault","getPartDate","getParts","getPartsDate","datePickerErrorTypes","usePicker","props","value","onChange","onError","formatProp","separator","maxDate","minDate","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","dd","MM","yyyy","type","getTime","mask","pattern","blocks","MaskedRange","from","to","lazy","autofix","string","validate","ref","setStringValue","setValue"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDate/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { format, isValid, isWithinInterval, parse } from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport { useCallback, useEffect } from 'react';\nimport { IMask, ReactMaskOpts, useIMask } from 'react-imask';\n\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n datePickerPropSeparatorDefault,\n getPartDate,\n getParts,\n getPartsDate,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeDateProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeDatePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeDatePropOnChange;\n onError?: DatePickerPropOnError;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [dd, MM, yyyy] = getPartsDate(\n stringValue,\n formatProp,\n separator,\n false,\n ['dd', 'MM', 'yyyy'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n dd,\n MM,\n yyyy,\n date,\n });\n if (value) {\n onChange(null, { e });\n }\n\n return;\n }\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [minDate?.getTime(), maxDate?.getTime(), formatProp, separator],\n );\n\n const { ref, setValue: setStringValue } = useIMask<\n HTMLInputElement,\n ReactMaskOpts\n >(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n // @ts-ignore\n yyyy: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 9999,\n },\n // @ts-ignore\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n // @ts-ignore\n dd: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n },\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n ),\n )\n ) {\n const [dd, MM, yyyy] = getPartsDate(\n string,\n formatProp,\n separator,\n false,\n ['dd', 'MM', 'yyyy'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n dd,\n MM,\n yyyy,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n // при изменении value, нужно обновить stringValue\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n }, [value?.getTime()]);\n\n return ref;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["format","isValid","isWithinInterval","parse","useCallback","IMask","useIMask","useMutableRef","datePickerPropSeparatorDefault","getPartDate","getParts","getPartsDate","useStringValue","datePickerErrorTypes","usePicker","props","value","onChange","onError","formatProp","separator","maxDate","minDate","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","dd","MM","yyyy","type","getTime","imaskProps","mask","pattern","blocks","MaskedRange","from","to","lazy","autofix","string","validate","handleClear","ref"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDate/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport { format, isValid, isWithinInterval, parse } from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport { useCallback } from 'react';\nimport { IMask, ReactMaskOpts, useIMask } from 'react-imask';\n\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n datePickerPropSeparatorDefault,\n getPartDate,\n getParts,\n getPartsDate,\n useStringValue,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeDateProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeDatePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeDatePropOnChange;\n onError?: DatePickerPropOnError;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [dd, MM, yyyy] = getPartsDate(\n stringValue,\n formatProp,\n separator,\n false,\n ['dd', 'MM', 'yyyy'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n dd,\n MM,\n yyyy,\n date,\n });\n if (value) {\n onChange(null, { e });\n }\n\n return;\n }\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [minDate?.getTime(), maxDate?.getTime(), formatProp, separator],\n );\n\n const imaskProps = useIMask<HTMLInputElement, ReactMaskOpts>(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n // @ts-ignore\n yyyy: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 9999,\n },\n // @ts-ignore\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n // @ts-ignore\n dd: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n },\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n ),\n )\n ) {\n const [dd, MM, yyyy] = getPartsDate(\n string,\n formatProp,\n separator,\n false,\n ['dd', 'MM', 'yyyy'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n dd,\n MM,\n yyyy,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n const handleClear = useStringValue(\n value,\n formatProp,\n separator,\n onChangeRef,\n imaskProps,\n );\n\n return [imaskProps.ref, handleClear] as const;\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnClick","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnClick","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption";import{FieldLabel}from"../../FieldLabel";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{cnDatePickerMixRangeField}from"../DatePickerMixRangeField/DatePickerMixRangeField";import{getChangeFnRange}from"../getChangeFnRange";import{getFormForEnd,getFormForStart}from"../helpers";export var DatePickerFieldTypeDateRange=forwardRef(function(a,b){var c=a.className,d=a.form,e=void 0===d?"default":d,f=a.startFieldInputRef,g=a.startFieldLeftSide,h=a.startFieldRightSide,i=a.endFieldInputRef,j=a.endFieldLeftSide,k=a.endFieldRightSide,l=a.value,m=void 0===l?[]:l,n=a.onChange,o=a.onError,p=a.startFieldName,q=a.endFieldName,r=a.disabled,s=a.size,t=a.view,u=a.status,v=a.autoFocus,w=a.placeholder,x=a.readOnly,y=a.required,z=a.tabIndex,A=a.ariaLabel,B=a.id,C=a.iconSize,D=a.format,E=a.separator,F=a.minDate,G=a.maxDate,H=a.startFieldOnClick,I=a.startFieldOnBlur,J=a.startFieldOnFocus,K=a.endFieldOnBlur,L=a.endFieldOnClick,M=a.endFieldOnFocus,N=a.startFieldRef,O=a.endFieldRef,P=a.startFocused,Q=a.endFocused,R=a.label,S=a.labelIcon,T=a.labelPosition,U=a.caption,V=a.withClearButton,W=_objectWithoutProperties(a,_excluded),X={className:cnDatePickerMixRangeField("Field"),disabled:r,onError:o,size:s,view:t,status:u,autoFocus:v,placeholder:w,readOnly:x,required:y,tabIndex:z,ariaLabel:A,iconSize:C,format:D,separator:E,minDate:F,maxDate:G,withClearButton:V},Y=getChangeFnRange(n,o,m),Z=_slicedToArray(Y,2),$=Z[0],_=Z[1];return React.createElement("div",Object.assign({},W,{className:cnDatePickerMixRangeField({view:t,labelPosition:T,size:s},[c]),ref:b}),R&&React.createElement(FieldLabel,{required:y,as:"label",className:cnDatePickerMixRangeField("Label",{labelPosition:T}),size:s,htmlFor:B,icon:S},R),React.createElement("div",{className:cnDatePickerMixRangeField("Body")},React.createElement("div",{className:cnDatePickerMixRangeField("Fields")},React.createElement(DatePickerFieldTypeDate,Object.assign({},X,{inputRef:f,ref:N,leftSide:g,rightSide:h,form:getFormForStart(e),value:null===m||void 0===m?void 0:m[0],id:B,onClick:H,onChange:$,onFocus:J,onBlur:I,focused:P,name:p})),React.createElement(DatePickerFieldTypeDate,Object.assign({},X,{name:q,inputRef:i,ref:O,leftSide:j,rightSide:k,form:getFormForEnd(e),value:null===m||void 0===m?void 0:m[1],onClick:L,onChange:_,onFocus:M,onBlur:K,focused:Q}))),U&&React.createElement(FieldCaption,{className:cnDatePickerMixRangeField("Caption"),status:u},U)))});
|
|
2
2
|
//# sourceMappingURL=DatePickerFieldTypeDateRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFieldTypeDateRange.js","names":["React","forwardRef","FieldCaption","FieldLabel","DatePickerFieldTypeDate","cnDatePickerMixRangeField","getChangeFnRange","getFormForEnd","getFormForStart","DatePickerFieldTypeDateRange","props","ref","className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnClick","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","withClearButton","otherProps","commonProps","handleStartDateChange","handleEndDateChange"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { FieldCaption } from '
|
|
1
|
+
{"version":3,"file":"DatePickerFieldTypeDateRange.js","names":["React","forwardRef","FieldCaption","FieldLabel","DatePickerFieldTypeDate","cnDatePickerMixRangeField","getChangeFnRange","getFormForEnd","getFormForStart","DatePickerFieldTypeDateRange","props","ref","className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnClick","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","withClearButton","otherProps","commonProps","handleStartDateChange","handleEndDateChange"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { FieldCaption } from '##/components/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel';\n\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { cnDatePickerMixRangeField } from '../DatePickerMixRangeField/DatePickerMixRangeField';\nimport { getChangeFnRange } from '../getChangeFnRange';\nimport { getFormForEnd, getFormForStart } from '../helpers';\nimport { DatePickerFieldTypeDateRangeProps } from './helpers';\n\nexport const DatePickerFieldTypeDateRange = forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeDateRangeProps\n>((props, ref) => {\n const {\n className,\n form = 'default',\n startFieldInputRef,\n startFieldLeftSide,\n startFieldRightSide,\n endFieldInputRef,\n endFieldLeftSide,\n endFieldRightSide,\n value = [],\n onChange,\n onError,\n startFieldName,\n endFieldName,\n disabled,\n size,\n view,\n status,\n autoFocus,\n placeholder,\n readOnly,\n required,\n tabIndex,\n ariaLabel,\n id,\n iconSize,\n format,\n separator,\n minDate,\n maxDate,\n startFieldOnClick,\n startFieldOnBlur,\n startFieldOnFocus,\n endFieldOnBlur,\n endFieldOnClick,\n endFieldOnFocus,\n startFieldRef,\n endFieldRef,\n startFocused,\n endFocused,\n label,\n labelIcon,\n labelPosition,\n caption,\n withClearButton,\n ...otherProps\n } = props;\n\n const commonProps = {\n className: cnDatePickerMixRangeField('Field'),\n disabled,\n onError,\n size,\n view,\n status,\n autoFocus,\n placeholder,\n readOnly,\n required,\n tabIndex,\n ariaLabel,\n iconSize,\n format,\n separator,\n minDate,\n maxDate,\n withClearButton,\n };\n\n const [handleStartDateChange, handleEndDateChange] = getChangeFnRange(\n onChange,\n onError,\n value,\n );\n\n return (\n <div\n {...otherProps}\n className={cnDatePickerMixRangeField({ view, labelPosition, size }, [\n className,\n ])}\n ref={ref}\n >\n {label && (\n <FieldLabel\n required={required}\n as=\"label\"\n className={cnDatePickerMixRangeField('Label', { labelPosition })}\n size={size}\n htmlFor={id}\n icon={labelIcon}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnDatePickerMixRangeField('Body')}>\n <div className={cnDatePickerMixRangeField('Fields')}>\n <DatePickerFieldTypeDate\n {...commonProps}\n inputRef={startFieldInputRef}\n ref={startFieldRef}\n leftSide={startFieldLeftSide}\n rightSide={startFieldRightSide}\n form={getFormForStart(form)}\n value={value?.[0]}\n id={id}\n onClick={startFieldOnClick}\n onChange={handleStartDateChange}\n onFocus={startFieldOnFocus}\n onBlur={startFieldOnBlur}\n focused={startFocused}\n name={startFieldName}\n />\n <DatePickerFieldTypeDate\n {...commonProps}\n name={endFieldName}\n inputRef={endFieldInputRef}\n ref={endFieldRef}\n leftSide={endFieldLeftSide}\n rightSide={endFieldRightSide}\n form={getFormForEnd(form)}\n value={value?.[1]}\n onClick={endFieldOnClick}\n onChange={handleEndDateChange}\n onFocus={endFieldOnFocus}\n onBlur={endFieldOnBlur}\n focused={endFocused}\n />\n </div>\n {caption && (\n <FieldCaption\n className={cnDatePickerMixRangeField('Caption')}\n status={status}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","multiplicityHours","multiplicitySeconds","multiplicityMinutes","defaultValue"];import React from"react";import{useForkRef}from"../../../hooks/useForkRef
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","multiplicityHours","multiplicitySeconds","multiplicityMinutes","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeDateTime,datePickerPropPlaceholderTypeDateTime,datePickerPropSeparatorDefault}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeDateTime=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeDateTime:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=void 0===g?datePickerPropPlaceholderTypeDateTime:g,i=a.onChange,j=a.onError,k=a.minDate,l=void 0===k?minDateDefault:k,m=a.maxDate,n=void 0===m?maxDateDefault:m,o=a.value,p=a.inputRef,q=a.multiplicityHours,r=a.multiplicitySeconds,s=a.multiplicityMinutes,t=a.defaultValue,u=_objectWithoutProperties(a,_excluded),v=usePicker({onChange:i,value:o,onError:j,maxDate:n,minDate:l,multiplicityHours:q,multiplicityMinutes:s,multiplicitySeconds:r,separator:f,format:d}),w=_slicedToArray(v,2),x=w[0],y=w[1];return React.createElement(TextField,Object.assign({},u,{type:"text",inputContainerRef:b,inputRef:useForkRef([x,p]),placeholder:h,onClear:y}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerFieldTypeDateTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFieldTypeDateTime.js","names":["React","useForkRef","maxDateDefault","minDateDefault","
|
|
1
|
+
{"version":3,"file":"DatePickerFieldTypeDateTime.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeDateTime","datePickerPropPlaceholderTypeDateTime","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeDateTime","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","multiplicityHours","multiplicitySeconds","multiplicityMinutes","defaultValue","otherProps","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeDateTime,\n datePickerPropPlaceholderTypeDateTime,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeDateTimeProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeDateTime = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeDateTimeProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeDateTime,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeDateTime,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n multiplicityHours,\n multiplicitySeconds,\n multiplicityMinutes,\n defaultValue,\n ...otherProps\n } = props;\n\n const [inputRef, onClear] = usePicker({\n onChange,\n value,\n onError,\n maxDate,\n minDate,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n separator,\n format,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oVAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,gCADF,CAEEC,qCAFF,CAGEC,8BAHF,kBAKA,OAA2CC,SAA3C,iBAEA,MAAO,IAAMC,4BAA2B,CAAGT,KAAK,CAACU,UAAN,CAGzC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAgBZD,CAhBY,CAEdE,MAFc,CAEdA,CAFc,YAELR,gCAFK,KAgBZM,CAhBY,CAGdG,SAHc,CAGdA,CAHc,YAGFP,8BAHE,KAgBZI,CAhBY,CAIdI,WAJc,CAIdA,CAJc,YAIAT,qCAJA,GAKdU,CALc,CAgBZL,CAhBY,CAKdK,QALc,CAMdC,CANc,CAgBZN,CAhBY,CAMdM,OANc,GAgBZN,CAhBY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAgBZO,CAhBY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAgBZT,CAhBY,CASdS,KATc,CAUJC,CAVI,CAgBZV,CAhBY,CAUdW,QAVc,CAWdC,CAXc,CAgBZZ,CAhBY,CAWdY,iBAXc,CAYdC,CAZc,CAgBZb,CAhBY,CAYda,mBAZc,CAadC,CAbc,CAgBZd,CAhBY,CAadc,mBAbc,CAcdC,CAdc,CAgBZf,CAhBY,CAcde,YAdc,CAeXC,CAfW,0BAgBZhB,CAhBY,cAkBYH,SAAS,CAAC,CACpCQ,QAAQ,CAARA,CADoC,CAEpCI,KAAK,CAALA,CAFoC,CAGpCH,OAAO,CAAPA,CAHoC,CAIpCE,OAAO,CAAPA,CAJoC,CAKpCD,OAAO,CAAPA,CALoC,CAMpCK,iBAAiB,CAAjBA,CANoC,CAOpCE,mBAAmB,CAAnBA,CAPoC,CAQpCD,mBAAmB,CAAnBA,CARoC,CASpCV,SAAS,CAATA,CAToC,CAUpCD,MAAM,CAANA,CAVoC,CAAD,CAlBrB,uBAkBTS,CAlBS,MAkBCM,CAlBD,MA+BhB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEf,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEN,CALf,CAME,OAAO,CAAEa,CANX,GASH,CA5C0C,CAApC"}
|
|
@@ -57,5 +57,5 @@ declare type UsePickerProps = {
|
|
|
57
57
|
multiplicitySeconds: number | undefined;
|
|
58
58
|
multiplicityMinutes: number | undefined;
|
|
59
59
|
};
|
|
60
|
-
export declare const usePicker: (props: UsePickerProps) => React.MutableRefObject<HTMLInputElement | null
|
|
60
|
+
export declare const usePicker: (props: UsePickerProps) => readonly [React.MutableRefObject<HTMLInputElement | null>, React.MouseEventHandler<HTMLButtonElement>];
|
|
61
61
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{addHours,addMinutes,addSeconds,format as _format,isValid,isWithinInterval,parse as _parse,startOfDay,startOfHour,startOfMinute}from"date-fns";import{useCallback
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{addHours,addMinutes,addSeconds,format as _format,isValid,isWithinInterval,parse as _parse,startOfDay,startOfHour,startOfMinute}from"date-fns";import{useCallback}from"react";import{IMask,useIMask}from"react-imask";import{getLabelHours,getLabelMinutes,getLabelSeconds}from"../../DateTime/helpers";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{datePickerPropSeparatorDefault,getPartDate,getParts,getPartsDate,getTimeEnum,useStringValue}from"../helpers";import{datePickerErrorTypes}from"../types";export var usePicker=function(a){var b=a.value,c=a.onChange,d=a.onError,f=a.format,g=a.separator,h=a.maxDate,i=a.minDate,j=a.multiplicityHours,k=a.multiplicityMinutes,l=a.multiplicitySeconds,m=useMutableRef(c),n=useMutableRef(b),o=useMutableRef(d),p=useCallback(function(a,b,c){var d=m.current,e=n.current;if(!(e&&isValid(e)&&_format(e,f)===a)){if((null===a||void 0===a?void 0:a.length)!==f.length&&e&&c&&d)return void d(null,{e:c});if(d&&c){if(!a)return void(e&&d(null,{e:c}));var j=getParts(f,g,!1),k=getParts(a,g,!1),l=j.map(function(a){return getPartDate(j,k,a)}).filter(function(a){return!!a});if(j.length===l.length){var y=_parse(k.join(datePickerPropSeparatorDefault),j.join(datePickerPropSeparatorDefault),new Date);if(!isWithinInterval(y,{start:i,end:h})){var p,q=getPartsDate(a,f,g,!0,["dd","MM","yyyy","HH","mm","ss"]),r=_slicedToArray(q,6),s=r[0],t=r[1],u=r[2],v=r[3],w=r[4],x=r[5];return null===(p=o.current)||void 0===p?void 0:p.call(o,{type:datePickerErrorTypes[0],stringValue:a,dd:s,MM:t,yyyy:u,date:y,HH:v,mm:w,ss:x}),void(e&&d(null,{e:c}))}d(y,{e:c})}else e&&d(null,{e:c})}}},[null===i||void 0===i?void 0:i.getTime(),null===h||void 0===h?void 0:h.getTime(),f,g]),q=useIMask({mask:Date,pattern:f,blocks:{yyyy:{mask:IMask.MaskedRange,from:1,to:9999},MM:{mask:IMask.MaskedRange,from:1,to:12},dd:{mask:IMask.MaskedRange,from:1,to:31},HH:j&&1<j?{mask:IMask.MaskedEnum,enum:getTimeEnum(24,j,startOfDay,addHours,getLabelHours)}:{mask:IMask.MaskedRange,from:0,to:23},mm:k&&1<k?{mask:IMask.MaskedEnum,enum:getTimeEnum(60,k,startOfHour,addMinutes,getLabelMinutes)}:{mask:IMask.MaskedRange,from:0,to:59},ss:l&&1<l?{mask:IMask.MaskedEnum,enum:getTimeEnum(60,l,startOfMinute,addSeconds,getLabelSeconds)}:{mask:IMask.MaskedRange,from:0,to:59}},lazy:!0,autofix:!0,format:function format(a){return _format(a,f)},parse:function parse(a){return _parse(a,f,new Date)},validate:function validate(a){var b=getParts(f,g,!1),c=getParts(a,g,!1),d=b.map(function(a){return getPartDate(b,c,a)}).filter(function(a){return!!a});if(b.length===d.length&&!isValid(_parse(c.join(datePickerPropSeparatorDefault),b.join(datePickerPropSeparatorDefault),new Date))){var e,h=getPartsDate(a,f,g,!0,["dd","MM","yyyy","HH","mm","ss"]),i=_slicedToArray(h,6),j=i[0],k=i[1],l=i[2],m=i[3],n=i[4],p=i[5];return null===(e=o.current)||void 0===e?void 0:e.call(o,{type:datePickerErrorTypes[1],stringValue:a,dd:j,MM:k,yyyy:l,HH:m,mm:n,ss:p}),!1}return!0}},{onAccept:p}),r=useStringValue(b,f,g,m,q);return[q.ref,r]};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["addHours","addMinutes","addSeconds","format","isValid","isWithinInterval","parse","startOfDay","startOfHour","startOfMinute","useCallback","useEffect","IMask","useIMask","getLabelHours","getLabelMinutes","getLabelSeconds","useMutableRef","datePickerPropSeparatorDefault","getPartDate","getParts","getPartsDate","getTimeEnum","datePickerErrorTypes","usePicker","props","value","onChange","onError","formatProp","separator","maxDate","minDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","dd","MM","yyyy","HH","mm","ss","type","getTime","mask","pattern","blocks","MaskedRange","from","to","MaskedEnum","lazy","autofix","string","validate","ref","setStringValue","setValue"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport {\n addHours,\n addMinutes,\n addSeconds,\n format,\n isValid,\n isWithinInterval,\n parse,\n startOfDay,\n startOfHour,\n startOfMinute,\n} from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport React, { useCallback, useEffect } from 'react';\nimport { IMask, ReactMaskOpts, useIMask } from 'react-imask';\n\nimport {\n getLabelHours,\n getLabelMinutes,\n getLabelSeconds,\n} from '##/components/DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n datePickerPropSeparatorDefault,\n getPartDate,\n getParts,\n getPartsDate,\n getTimeEnum,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeDateTimePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeDateTimeProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeDateTimePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeDateTimePropOnChange;\n onError?: DatePickerPropOnError;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n multiplicityHours: number | undefined;\n multiplicitySeconds: number | undefined;\n multiplicityMinutes: number | undefined;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [dd, MM, yyyy, HH, mm, ss] = getPartsDate(\n stringValue,\n formatProp,\n separator,\n true,\n ['dd', 'MM', 'yyyy', 'HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n dd,\n MM,\n yyyy,\n date,\n HH,\n mm,\n ss,\n });\n\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [minDate?.getTime(), maxDate?.getTime(), formatProp, separator],\n );\n\n const { ref, setValue: setStringValue } = useIMask<\n HTMLInputElement,\n ReactMaskOpts\n >(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n yyyy: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 9999,\n },\n\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n\n dd: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n },\n HH:\n multiplicityHours && multiplicityHours > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 24,\n multiplicityHours,\n startOfDay,\n addHours,\n getLabelHours,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 23,\n },\n mm:\n multiplicityMinutes && multiplicityMinutes > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicityMinutes,\n startOfHour,\n addMinutes,\n getLabelMinutes,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n ss:\n multiplicitySeconds && multiplicitySeconds > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicitySeconds,\n startOfMinute,\n addSeconds,\n getLabelSeconds,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n ),\n )\n ) {\n const [dd, MM, yyyy, HH, mm, ss] = getPartsDate(\n string,\n formatProp,\n separator,\n true,\n ['dd', 'MM', 'yyyy', 'HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n dd,\n MM,\n yyyy,\n HH,\n mm,\n ss,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n // при изменении value, нужно обновить stringValue\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n }, [value?.getTime()]);\n\n return ref;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["addHours","addMinutes","addSeconds","format","isValid","isWithinInterval","parse","startOfDay","startOfHour","startOfMinute","useCallback","IMask","useIMask","getLabelHours","getLabelMinutes","getLabelSeconds","useMutableRef","datePickerPropSeparatorDefault","getPartDate","getParts","getPartsDate","getTimeEnum","useStringValue","datePickerErrorTypes","usePicker","props","value","onChange","onError","formatProp","separator","maxDate","minDate","multiplicityHours","multiplicityMinutes","multiplicitySeconds","onChangeRef","valueRef","onErrorRef","onAccept","stringValue","maskRef","e","current","length","formatArray","valueArray","validArray","map","marker","filter","item","date","join","Date","start","end","dd","MM","yyyy","HH","mm","ss","type","getTime","imaskProps","mask","pattern","blocks","MaskedRange","from","to","MaskedEnum","lazy","autofix","string","validate","handleClear","ref"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport {\n addHours,\n addMinutes,\n addSeconds,\n format,\n isValid,\n isWithinInterval,\n parse,\n startOfDay,\n startOfHour,\n startOfMinute,\n} from 'date-fns';\nimport { MaskedDate } from 'imask';\nimport React, { useCallback } from 'react';\nimport { IMask, ReactMaskOpts, useIMask } from 'react-imask';\n\nimport {\n getLabelHours,\n getLabelMinutes,\n getLabelSeconds,\n} from '##/components/DateTime/helpers';\nimport {\n TextFieldPropForm,\n TextFieldPropSize,\n TextFieldPropStatus,\n TextFieldPropView,\n} from '##/components/TextField/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n datePickerPropSeparatorDefault,\n getPartDate,\n getParts,\n getPartsDate,\n getTimeEnum,\n useStringValue,\n} from '../helpers';\nimport { datePickerErrorTypes, DatePickerPropOnError } from '../types';\n\ntype DatePickerFieldTypeDateTimePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport type DatePickerFieldTypeDateTimeProps = PropsWithHTMLAttributes<\n {\n className?: string;\n value?: Date | null;\n onChange?: DatePickerFieldTypeDateTimePropOnChange;\n onError?: DatePickerPropOnError;\n id?: string;\n name?: string;\n disabled?: boolean;\n size?: TextFieldPropSize;\n view?: TextFieldPropView;\n form?: TextFieldPropForm;\n status?: TextFieldPropStatus;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n format?: string;\n separator?: string;\n minDate?: Date;\n maxDate?: Date;\n focused?: boolean;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n withClearButton?: boolean;\n },\n HTMLDivElement\n>;\n\ntype UsePickerProps = {\n value?: Date | null;\n onChange?: DatePickerFieldTypeDateTimePropOnChange;\n onError?: DatePickerPropOnError;\n format: string;\n separator: string;\n minDate: Date;\n maxDate: Date;\n multiplicityHours: number | undefined;\n multiplicitySeconds: number | undefined;\n multiplicityMinutes: number | undefined;\n};\n\nexport const usePicker = (props: UsePickerProps) => {\n const {\n value,\n onChange,\n onError,\n format: formatProp,\n separator,\n maxDate,\n minDate,\n multiplicityHours,\n multiplicityMinutes,\n multiplicitySeconds,\n } = props;\n const onChangeRef = useMutableRef(onChange);\n const valueRef = useMutableRef(value);\n const onErrorRef = useMutableRef(onError);\n\n const onAccept = useCallback(\n (stringValue: string, maskRef: unknown, e: InputEvent | undefined) => {\n const onChange = onChangeRef.current;\n const value = valueRef.current;\n\n if (\n value &&\n isValid(value) &&\n format(value, formatProp) === stringValue\n ) {\n return;\n }\n\n if (stringValue?.length !== formatProp.length && value && e && onChange) {\n onChange(null, { e });\n return;\n }\n\n if (onChange && e) {\n if (!stringValue) {\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (formatArray.length === validArray.length) {\n const date = parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n );\n\n if (!isWithinInterval(date, { start: minDate, end: maxDate })) {\n const [dd, MM, yyyy, HH, mm, ss] = getPartsDate(\n stringValue,\n formatProp,\n separator,\n true,\n ['dd', 'MM', 'yyyy', 'HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[0],\n stringValue,\n dd,\n MM,\n yyyy,\n date,\n HH,\n mm,\n ss,\n });\n\n if (value) {\n onChange(null, { e });\n }\n return;\n }\n onChange(date, { e });\n } else if (value) {\n onChange(null, { e });\n }\n }\n },\n [minDate?.getTime(), maxDate?.getTime(), formatProp, separator],\n );\n\n const imaskProps = useIMask<HTMLInputElement, ReactMaskOpts>(\n {\n mask: Date as unknown as MaskedDate,\n pattern: formatProp,\n blocks: {\n yyyy: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 9999,\n },\n\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n\n dd: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n },\n HH:\n multiplicityHours && multiplicityHours > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 24,\n multiplicityHours,\n startOfDay,\n addHours,\n getLabelHours,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 23,\n },\n mm:\n multiplicityMinutes && multiplicityMinutes > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicityMinutes,\n startOfHour,\n addMinutes,\n getLabelMinutes,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n ss:\n multiplicitySeconds && multiplicitySeconds > 1\n ? {\n mask: IMask.MaskedEnum,\n enum: getTimeEnum(\n 60,\n multiplicitySeconds,\n startOfMinute,\n addSeconds,\n getLabelSeconds,\n ),\n }\n : {\n mask: IMask.MaskedRange,\n from: 0,\n to: 59,\n },\n },\n lazy: true,\n autofix: true,\n format: (date: Date) => format(date, formatProp),\n parse: (string: string) => parse(string, formatProp, new Date()),\n validate: (string: string) => {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(string, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n if (\n formatArray.length === validArray.length &&\n !isValid(\n parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n ),\n )\n ) {\n const [dd, MM, yyyy, HH, mm, ss] = getPartsDate(\n string,\n formatProp,\n separator,\n true,\n ['dd', 'MM', 'yyyy', 'HH', 'mm', 'ss'],\n );\n\n onErrorRef.current?.({\n type: datePickerErrorTypes[1],\n stringValue: string,\n dd,\n MM,\n yyyy,\n HH,\n mm,\n ss,\n });\n return false;\n }\n\n return true;\n },\n },\n { onAccept },\n );\n\n const handleClear = useStringValue(\n value,\n formatProp,\n separator,\n onChangeRef,\n imaskProps,\n );\n\n return [imaskProps.ref, handleClear] as const;\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnClick","endFieldOnBlur","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","startFieldName","endFieldName","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnClick","endFieldOnBlur","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","startFieldName","endFieldName","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption";import{FieldLabel}from"../../FieldLabel";import{DatePickerFieldTypeDateTime}from"../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime";import{cnDatePickerMixRangeField}from"../DatePickerMixRangeField/DatePickerMixRangeField";import{getChangeFnRange}from"../getChangeFnRange";import{getFormForEnd,getFormForStart}from"../helpers";export var DatePickerFieldTypeDateTimeRange=forwardRef(function(a,b){var c=a.className,d=a.form,e=void 0===d?"default":d,f=a.startFieldInputRef,g=a.startFieldLeftSide,h=a.startFieldRightSide,i=a.endFieldInputRef,j=a.endFieldLeftSide,k=a.endFieldRightSide,l=a.value,m=void 0===l?[]:l,n=a.onChange,o=a.onError,p=a.disabled,q=a.size,r=a.view,s=a.status,t=a.autoFocus,u=a.placeholder,v=a.readOnly,w=a.required,x=a.tabIndex,y=a.ariaLabel,z=a.id,A=a.iconSize,B=a.format,C=a.separator,D=a.minDate,E=a.maxDate,F=a.startFieldOnClick,G=a.startFieldOnBlur,H=a.startFieldOnFocus,I=a.endFieldOnClick,J=a.endFieldOnBlur,K=a.endFieldOnFocus,L=a.startFieldRef,M=a.endFieldRef,N=a.startFocused,O=a.endFocused,P=a.label,Q=a.labelIcon,R=a.labelPosition,S=a.caption,T=a.startFieldName,U=a.endFieldName,V=a.withClearButton,W=_objectWithoutProperties(a,_excluded),X={className:cnDatePickerMixRangeField("Field"),disabled:p,onError:o,size:q,view:r,status:s,placeholder:u,readOnly:v,required:w,tabIndex:x,ariaLabel:y,iconSize:A,format:B,separator:C,minDate:D,maxDate:E,withClearButton:V},Y=getChangeFnRange(n,o,m),Z=_slicedToArray(Y,2),$=Z[0],_=Z[1];return React.createElement("div",Object.assign({},W,{className:cnDatePickerMixRangeField({view:r,labelPosition:R,size:q},[c]),ref:b}),P&&React.createElement(FieldLabel,{icon:Q,as:"label",required:w,className:cnDatePickerMixRangeField("Label",{labelPosition:R}),size:q,htmlFor:z},P),React.createElement("div",{className:cnDatePickerMixRangeField("Body")},React.createElement("div",{className:cnDatePickerMixRangeField("Fields")},React.createElement(DatePickerFieldTypeDateTime,Object.assign({},X,{inputRef:f,ref:L,leftSide:g,rightSide:h,id:z,form:getFormForStart(e),value:null===m||void 0===m?void 0:m[0],onClick:F,onChange:$,onFocus:H,onBlur:G,focused:N,autoFocus:t,name:T})),React.createElement(DatePickerFieldTypeDateTime,Object.assign({},X,{inputRef:i,ref:M,leftSide:j,rightSide:k,form:getFormForEnd(e),value:null===m||void 0===m?void 0:m[1],onClick:I,onChange:_,onFocus:K,onBlur:J,focused:O,name:U}))),S&&React.createElement(FieldCaption,{className:cnDatePickerMixRangeField("Caption"),status:s},S)))});
|
|
2
2
|
//# sourceMappingURL=DatePickerFieldTypeDateTimeRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFieldTypeDateTimeRange.js","names":["React","forwardRef","FieldCaption","FieldLabel","DatePickerFieldTypeDateTime","cnDatePickerMixRangeField","getChangeFnRange","getFormForEnd","getFormForStart","DatePickerFieldTypeDateTimeRange","props","ref","className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnClick","endFieldOnBlur","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","startFieldName","endFieldName","withClearButton","otherProps","commonProps","handleStartDateChange","handleEndDateChange"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { FieldCaption } from '
|
|
1
|
+
{"version":3,"file":"DatePickerFieldTypeDateTimeRange.js","names":["React","forwardRef","FieldCaption","FieldLabel","DatePickerFieldTypeDateTime","cnDatePickerMixRangeField","getChangeFnRange","getFormForEnd","getFormForStart","DatePickerFieldTypeDateTimeRange","props","ref","className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnClick","endFieldOnBlur","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","startFieldName","endFieldName","withClearButton","otherProps","commonProps","handleStartDateChange","handleEndDateChange"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { FieldCaption } from '##/components/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel';\n\nimport { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';\nimport { cnDatePickerMixRangeField } from '../DatePickerMixRangeField/DatePickerMixRangeField';\nimport { getChangeFnRange } from '../getChangeFnRange';\nimport { getFormForEnd, getFormForStart } from '../helpers';\nimport { DatePickerFieldTypeDateTimeRangeProps } from './helpers';\n\nexport const DatePickerFieldTypeDateTimeRange = forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeDateTimeRangeProps\n>((props, ref) => {\n const {\n className,\n form = 'default',\n startFieldInputRef,\n startFieldLeftSide,\n startFieldRightSide,\n endFieldInputRef,\n endFieldLeftSide,\n endFieldRightSide,\n value = [],\n onChange,\n onError,\n disabled,\n size,\n view,\n status,\n autoFocus,\n placeholder,\n readOnly,\n required,\n tabIndex,\n ariaLabel,\n id,\n iconSize,\n format,\n separator,\n minDate,\n maxDate,\n startFieldOnClick,\n startFieldOnBlur,\n startFieldOnFocus,\n endFieldOnClick,\n endFieldOnBlur,\n endFieldOnFocus,\n startFieldRef,\n endFieldRef,\n startFocused,\n endFocused,\n label,\n labelIcon,\n labelPosition,\n caption,\n startFieldName,\n endFieldName,\n withClearButton,\n ...otherProps\n } = props;\n\n const commonProps = {\n className: cnDatePickerMixRangeField('Field'),\n disabled,\n onError,\n size,\n view,\n status,\n placeholder,\n readOnly,\n required,\n tabIndex,\n ariaLabel,\n iconSize,\n format,\n separator,\n minDate,\n maxDate,\n withClearButton,\n };\n\n const [handleStartDateChange, handleEndDateChange] = getChangeFnRange(\n onChange,\n onError,\n value,\n );\n\n return (\n <div\n {...otherProps}\n className={cnDatePickerMixRangeField({ view, labelPosition, size }, [\n className,\n ])}\n ref={ref}\n >\n {label && (\n <FieldLabel\n icon={labelIcon}\n as=\"label\"\n required={required}\n className={cnDatePickerMixRangeField('Label', { labelPosition })}\n size={size}\n htmlFor={id}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnDatePickerMixRangeField('Body')}>\n <div className={cnDatePickerMixRangeField('Fields')}>\n <DatePickerFieldTypeDateTime\n {...commonProps}\n inputRef={startFieldInputRef}\n ref={startFieldRef}\n leftSide={startFieldLeftSide}\n rightSide={startFieldRightSide}\n id={id}\n form={getFormForStart(form)}\n value={value?.[0]}\n onClick={startFieldOnClick}\n onChange={handleStartDateChange}\n onFocus={startFieldOnFocus}\n onBlur={startFieldOnBlur}\n focused={startFocused}\n autoFocus={autoFocus}\n name={startFieldName}\n />\n <DatePickerFieldTypeDateTime\n {...commonProps}\n inputRef={endFieldInputRef}\n ref={endFieldRef}\n leftSide={endFieldLeftSide}\n rightSide={endFieldRightSide}\n form={getFormForEnd(form)}\n value={value?.[1]}\n onClick={endFieldOnClick}\n onChange={handleEndDateChange}\n onFocus={endFieldOnFocus}\n onBlur={endFieldOnBlur}\n focused={endFocused}\n name={endFieldName}\n />\n </div>\n {caption && (\n <FieldCaption\n className={cnDatePickerMixRangeField('Caption')}\n status={status}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n});\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeMonth,datePickerPropPlaceholderTypeMonth,datePickerPropSeparatorDefault}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeMonth=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeMonth:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=void 0===g?datePickerPropPlaceholderTypeMonth:g,i=a.onChange,j=a.onError,k=a.minDate,l=void 0===k?minDateDefault:k,m=a.maxDate,n=void 0===m?maxDateDefault:m,o=a.value,p=a.inputRef,q=a.defaultValue,r=_objectWithoutProperties(a,_excluded),s=usePicker({value:o,format:d,separator:f,minDate:l,maxDate:n,onChange:i,onError:j});return React.createElement(TextField,Object.assign({},r,{type:"text",inputContainerRef:b,inputRef:useForkRef([
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRef","defaultValue"];import React from"react";import{TextField}from"../../TextField";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{maxDateDefault,minDateDefault}from"../../../utils/date";import{datePickerPropFormatTypeMonth,datePickerPropPlaceholderTypeMonth,datePickerPropSeparatorDefault}from"../helpers";import{usePicker}from"./helpers";export var DatePickerFieldTypeMonth=React.forwardRef(function(a,b){var c=a.format,d=void 0===c?datePickerPropFormatTypeMonth:c,e=a.separator,f=void 0===e?datePickerPropSeparatorDefault:e,g=a.placeholder,h=void 0===g?datePickerPropPlaceholderTypeMonth:g,i=a.onChange,j=a.onError,k=a.minDate,l=void 0===k?minDateDefault:k,m=a.maxDate,n=void 0===m?maxDateDefault:m,o=a.value,p=a.inputRef,q=a.defaultValue,r=_objectWithoutProperties(a,_excluded),s=usePicker({value:o,format:d,separator:f,minDate:l,maxDate:n,onChange:i,onError:j}),t=_slicedToArray(s,2),u=t[0],v=t[1];return React.createElement(TextField,Object.assign({},r,{type:"text",inputContainerRef:b,inputRef:useForkRef([u,p]),placeholder:h,onClear:v}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerFieldTypeMonth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerFieldTypeMonth.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeMonth","datePickerPropPlaceholderTypeMonth","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeMonth","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","defaultValue","otherProps"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeMonth,\n datePickerPropPlaceholderTypeMonth,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeMonthProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeMonth = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeMonthProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeMonth,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeMonth,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n defaultValue,\n ...otherProps\n } = props;\n\n const inputRef = usePicker({\n value,\n format,\n separator,\n minDate,\n maxDate,\n onChange,\n onError,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n />\n );\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatePickerFieldTypeMonth.js","names":["React","TextField","useForkRef","maxDateDefault","minDateDefault","datePickerPropFormatTypeMonth","datePickerPropPlaceholderTypeMonth","datePickerPropSeparatorDefault","usePicker","DatePickerFieldTypeMonth","forwardRef","props","ref","format","separator","placeholder","onChange","onError","minDate","maxDate","value","inputRefProp","inputRef","defaultValue","otherProps","onClear"],"sources":["../../../../../../src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TextField } from '##/components/TextField';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\n\nimport {\n datePickerPropFormatTypeMonth,\n datePickerPropPlaceholderTypeMonth,\n datePickerPropSeparatorDefault,\n} from '../helpers';\nimport { DatePickerFieldTypeMonthProps, usePicker } from './helpers';\n\nexport const DatePickerFieldTypeMonth = React.forwardRef<\n HTMLDivElement,\n DatePickerFieldTypeMonthProps\n>((props, ref) => {\n const {\n format = datePickerPropFormatTypeMonth,\n separator = datePickerPropSeparatorDefault,\n placeholder = datePickerPropPlaceholderTypeMonth,\n onChange,\n onError,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n value,\n inputRef: inputRefProp,\n defaultValue,\n ...otherProps\n } = props;\n\n const [inputRef, onClear] = usePicker({\n value,\n format,\n separator,\n minDate,\n maxDate,\n onChange,\n onError,\n });\n\n return (\n <TextField\n {...otherProps}\n type=\"text\"\n inputContainerRef={ref}\n inputRef={useForkRef([inputRef, inputRefProp])}\n placeholder={placeholder}\n onClear={onClear}\n />\n );\n});\n"],"mappings":"oRAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,SAAT,uBACA,OAASC,UAAT,4CACA,OAASC,cAAT,CAAyBC,cAAzB,2BAEA,OACEC,6BADF,CAEEC,kCAFF,CAGEC,8BAHF,kBAKA,OAAwCC,SAAxC,iBAEA,MAAO,IAAMC,yBAAwB,CAAGT,KAAK,CAACU,UAAN,CAGtC,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAaZD,CAbY,CAEdE,MAFc,CAEdA,CAFc,YAELR,6BAFK,KAaZM,CAbY,CAGdG,SAHc,CAGdA,CAHc,YAGFP,8BAHE,KAaZI,CAbY,CAIdI,WAJc,CAIdA,CAJc,YAIAT,kCAJA,GAKdU,CALc,CAaZL,CAbY,CAKdK,QALc,CAMdC,CANc,CAaZN,CAbY,CAMdM,OANc,GAaZN,CAbY,CAOdO,OAPc,CAOdA,CAPc,YAOJd,cAPI,KAaZO,CAbY,CAQdQ,OARc,CAQdA,CARc,YAQJhB,cARI,GASdiB,CATc,CAaZT,CAbY,CASdS,KATc,CAUJC,CAVI,CAaZV,CAbY,CAUdW,QAVc,CAWdC,CAXc,CAaZZ,CAbY,CAWdY,YAXc,CAYXC,CAZW,0BAaZb,CAbY,cAeYH,SAAS,CAAC,CACpCY,KAAK,CAALA,CADoC,CAEpCP,MAAM,CAANA,CAFoC,CAGpCC,SAAS,CAATA,CAHoC,CAIpCI,OAAO,CAAPA,CAJoC,CAKpCC,OAAO,CAAPA,CALoC,CAMpCH,QAAQ,CAARA,CANoC,CAOpCC,OAAO,CAAPA,CAPoC,CAAD,CAfrB,uBAeTK,CAfS,MAeCG,CAfD,MAyBhB,MACE,qBAAC,SAAD,kBACMD,CADN,EAEE,IAAI,CAAC,MAFP,CAGE,iBAAiB,CAAEZ,CAHrB,CAIE,QAAQ,CAAEV,UAAU,CAAC,CAACoB,CAAD,CAAWD,CAAX,CAAD,CAJtB,CAKE,WAAW,CAAEN,CALf,CAME,OAAO,CAAEU,CANX,GASH,CAtCuC,CAAjC"}
|
|
@@ -51,5 +51,5 @@ declare type UsePickerProps = {
|
|
|
51
51
|
minDate: Date;
|
|
52
52
|
maxDate: Date;
|
|
53
53
|
};
|
|
54
|
-
export declare const usePicker: (props: UsePickerProps) => import("react").MutableRefObject<HTMLInputElement | null
|
|
54
|
+
export declare const usePicker: (props: UsePickerProps) => readonly [import("react").MutableRefObject<HTMLInputElement | null>, import("react").MouseEventHandler<HTMLButtonElement>];
|
|
55
55
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format as _format,isValid,isWithinInterval,parse as _parse}from"date-fns";import{useCallback
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format as _format,isValid,isWithinInterval,parse as _parse}from"date-fns";import{useCallback}from"react";import{IMask,useIMask}from"react-imask";import{useMutableRef}from"../../../hooks/useMutableRef/useMutableRef";import{datePickerPropSeparatorDefault,getPartDate,getParts,getPartsDate,useStringValue}from"../helpers";import{datePickerErrorTypes}from"../types";export var usePicker=function(a){var b=a.value,c=a.onChange,d=a.onError,f=a.format,g=a.separator,h=a.maxDate,i=a.minDate,j=useMutableRef(c),k=useMutableRef(b),l=useMutableRef(d),m=useCallback(function(a,b,c){var d=j.current,e=k.current;if(!(e&&isValid(e)&&_format(e,f)===a)){if((null===a||void 0===a?void 0:a.length)!==f.length&&e&&c&&d)return void d(null,{e:c});if(d&&c){if(!a)return void(e&&d(null,{e:c}));var m=getParts(f,g,!1),n=getParts(a,g,!1),o=m.map(function(a){return getPartDate(m,n,a)}).filter(function(a){return!!a});if(m.length===o.length){var u=_parse(n.join(datePickerPropSeparatorDefault),m.join(datePickerPropSeparatorDefault),new Date);if(!isWithinInterval(u,{start:i,end:h})){var p,q=getPartsDate(a,f,g,!1,["MM","yyyy"]),r=_slicedToArray(q,2),s=r[0],t=r[1];return null===(p=l.current)||void 0===p?void 0:p.call(l,{type:datePickerErrorTypes[0],stringValue:a,MM:s,yyyy:t,date:u}),void(e&&d(null,{e:c}))}d(u,{e:c})}else e&&d(null,{e:c})}}},[null===i||void 0===i?void 0:i.getTime(),null===h||void 0===h?void 0:h.getTime(),f,g]),n=useIMask({mask:Date,pattern:f,blocks:{yyyy:{mask:IMask.MaskedRange,from:1,to:9999},MM:{mask:IMask.MaskedRange,from:1,to:12}},lazy:!0,autofix:!0,format:function format(a){return _format(a,f)},parse:function parse(a){return _parse(a,f,new Date)},validate:function validate(a){var b=getParts(f,g,!1),c=getParts(a,g,!1),d=b.map(function(a){return getPartDate(b,c,a)}).filter(function(a){return!!a});if(b.length===d.length&&!isValid(_parse(c.join(datePickerPropSeparatorDefault),b.join(datePickerPropSeparatorDefault),new Date))){var e,h=getPartsDate(a,f,g,!1,["MM","yyyy"]),i=_slicedToArray(h,2),j=i[0],k=i[1];return null===(e=l.current)||void 0===e?void 0:e.call(l,{type:datePickerErrorTypes[1],stringValue:a,MM:j,yyyy:k}),!1}return!0}},{onAccept:m}),o=useStringValue(b,f,g,j,n);return[n.ref,o]};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|