@consta/uikit 5.29.0 → 5.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format,isValid,parse}from"date-fns";import{useCallback,useEffect}from"react";import{IMask}from"react-imask";import{getForm}from"../FieldGroup";import{useMutableRef}from"../../hooks/useMutableRef";import{getTimeNumbers}from"../DateTime/helpers";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getTimeOptionsByFormat=function(a,b){var c,d=null===(c=a.split(" ")[1])||void 0===c?void 0:c.split(":"),e={HH:null===b||void 0===b?void 0:b.hours,mm:null===b||void 0===b?void 0:b.minutes,ss:null===b||void 0===b?void 0:b.seconds},f=["HH","mm","ss"].map(function(a){return null!==d&&void 0!==d&&d.includes(a)?e[a]:[]}),g=_slicedToArray(f,3),h=g[0],i=g[1],j=g[2];return{hours:h,minutes:i,seconds:j}};export var adaptFormat=function(a,b){for(var c,d=a.split(" "),e=null!==(c=d[1])&&void 0!==c?c:a,f=function shouldRemoveTimePart(a){return!!(a&&Array.isArray(a)&&0===a.length)||a&&!Array.isArray(a)&&0===a.step},g=[{marker:"HH",timeOption:null===b||void 0===b?void 0:b.hours},{marker:"mm",timeOption:null===b||void 0===b?void 0:b.minutes},{marker:"ss",timeOption:null===b||void 0===b?void 0:b.seconds}],h=0,i=g;h<i.length;h++){var j=i[h],k=j.marker,l=j.timeOption;f(l)&&(e=e.replace(new RegExp(":?".concat(k),"g"),""))}return e=e.replace(/:+$/,"").replace(/^:+/,"").replace(/:+/g,":").replace(/\s+/g," ").trim(),1<d.length?(d[1]=e,d.filter(function(a){return 0<a.length}).join(" ")):e};export var placeholderByFormat=function placeholderByFormat(a){return a.replace(/yyyy/g,"\u0413\u0413\u0413\u0413").replace(/MM/g,"\u041C\u041C").replace(/dd/g,"\u0414\u0414").replace(/HH/g,"\u0427\u0427").replace(/mm/g,"\u041C\u041C").replace(/ss/g,"\u0421\u0421")};export var getMaskBlocks=function getMaskBlocks(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=a.includeDate,c=void 0===b||b,d=a.includeTime,e=void 0===d||d,f={};return c&&(f.dd={mask:IMask.MaskedRange,from:1,to:31},f.MM={mask:IMask.MaskedRange,from:1,to:12},f.yyyy={mask:IMask.MaskedRange,from:1,to:9999}),e&&(f.HH={mask:IMask.MaskedRange,from:0,to:23},f.mm={mask:IMask.MaskedRange,from:0,to:59},f.ss={mask:IMask.MaskedRange,from:0,to:59}),f};export var getFormForStart=function getFormForStart(a){return getForm(a,0,2)};export var getFormForEnd=function getFormForEnd(a){return getForm(a,1,2)};export var getPartDate=function getPartDate(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function getParts(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function getPartsDate(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function isTypeWithTime(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function getFieldName(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function getDropdownZIndex(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};export var useStringValue=function useStringValue(a,b,c,d,e){var f=e.value,g=useMutableRef([e.setValue,a]),h=useCallback(function(a){var b;g.current[0](a),null!==(b=e.ref)&&void 0!==b&&b.current&&(e.ref.current.value=a),e.maskRef.current&&e.maskRef.current.updateValue()},[]),i=useCallback(function(a){if(h(""),g.current[1]){var b;null===(b=d.current)||void 0===b?void 0:b.call(d,null,{e:a})}},[]);return useEffect(function(){if(a&&isValid(a)&&h(format(a,b)),!a&&f){var d=getParts(b,c,!1),e=getParts(f,c,!1),g=d.map(function(a){return getPartDate(d,e,a)}).filter(function(a){return!!a}),i=d.length===g.length?parse(e.join(datePickerPropSeparatorDefault),d.join(datePickerPropSeparatorDefault),new Date):void 0;isValid(i)&&h("")}},[null===a||void 0===a?void 0:a.getTime()]),i};export var isValidTimeByTimeOptions=function isValidTimeByTimeOptions(a,b){var c=function isUnitValid(a,b,c){if(!c)return!0;var d=getTimeNumbers(a,c);return!(0!==d.length)||d.includes(b)};if(!b)return!0;var d=c("hours",a.getHours(),b.hours),e=c("minutes",a.getMinutes(),b.minutes),f=c("seconds",a.getSeconds(),b.seconds);return d&&e&&f};
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format,isValid,parse}from"date-fns";import{useCallback,useEffect}from"react";import{IMask}from"react-imask";import{getForm}from"../FieldGroup";import{useMutableRef}from"../../hooks/useMutableRef";import{getTimeNumbers}from"../DateTime/helpers";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getTimeOptionsByFormat=function(a,b){var c=a.includes(" ")?a.split(" ")[1]:a,d=null===c||void 0===c?void 0:c.split(":"),e={HH:null===b||void 0===b?void 0:b.hours,mm:null===b||void 0===b?void 0:b.minutes,ss:null===b||void 0===b?void 0:b.seconds},f=["HH","mm","ss"].map(function(a){return null!==d&&void 0!==d&&d.includes(a)?e[a]:[]}),g=_slicedToArray(f,3),h=g[0],i=g[1],j=g[2];return{hours:h,minutes:i,seconds:j}};export var adaptFormat=function(a,b){for(var c,d=a.split(" "),e=null!==(c=d[1])&&void 0!==c?c:a,f=function shouldRemoveTimePart(a){return!!(a&&Array.isArray(a)&&0===a.length)||a&&!Array.isArray(a)&&0===a.step},g=[{marker:"HH",timeOption:null===b||void 0===b?void 0:b.hours},{marker:"mm",timeOption:null===b||void 0===b?void 0:b.minutes},{marker:"ss",timeOption:null===b||void 0===b?void 0:b.seconds}],h=0,i=g;h<i.length;h++){var j=i[h],k=j.marker,l=j.timeOption;f(l)&&(e=e.replace(new RegExp(":?".concat(k),"g"),""))}return e=e.replace(/:+$/,"").replace(/^:+/,"").replace(/:+/g,":").replace(/\s+/g," ").trim(),1<d.length?(d[1]=e,d.filter(function(a){return 0<a.length}).join(" ")):e};export var placeholderByFormat=function placeholderByFormat(a){return a.replace(/yyyy/g,"\u0413\u0413\u0413\u0413").replace(/MM/g,"\u041C\u041C").replace(/dd/g,"\u0414\u0414").replace(/HH/g,"\u0427\u0427").replace(/mm/g,"\u041C\u041C").replace(/ss/g,"\u0421\u0421")};export var getMaskBlocks=function getMaskBlocks(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=a.includeDate,c=void 0===b||b,d=a.includeTime,e=void 0===d||d,f={};return c&&(f.dd={mask:IMask.MaskedRange,from:1,to:31},f.MM={mask:IMask.MaskedRange,from:1,to:12},f.yyyy={mask:IMask.MaskedRange,from:1,to:9999}),e&&(f.HH={mask:IMask.MaskedRange,from:0,to:23},f.mm={mask:IMask.MaskedRange,from:0,to:59},f.ss={mask:IMask.MaskedRange,from:0,to:59}),f};export var getFormForStart=function getFormForStart(a){return getForm(a,0,2)};export var getFormForEnd=function getFormForEnd(a){return getForm(a,1,2)};export var getPartDate=function getPartDate(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function getParts(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function getPartsDate(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function isTypeWithTime(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function getFieldName(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function getDropdownZIndex(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};export var useStringValue=function useStringValue(a,b,c,d,e){var f=e.value,g=useMutableRef([e.setValue,a]),h=useCallback(function(a){var b;g.current[0](a),null!==(b=e.ref)&&void 0!==b&&b.current&&(e.ref.current.value=a),e.maskRef.current&&e.maskRef.current.updateValue()},[]),i=useCallback(function(a){if(h(""),g.current[1]){var b;null===(b=d.current)||void 0===b?void 0:b.call(d,null,{e:a})}},[]);return useEffect(function(){if(a&&isValid(a)&&h(format(a,b)),!a&&f){var d=getParts(b,c,!1),e=getParts(f,c,!1),g=d.map(function(a){return getPartDate(d,e,a)}).filter(function(a){return!!a}),i=d.length===g.length?parse(e.join(datePickerPropSeparatorDefault),d.join(datePickerPropSeparatorDefault),new Date):void 0;isValid(i)&&h("")}},[null===a||void 0===a?void 0:a.getTime()]),i};export var isValidTimeByTimeOptions=function isValidTimeByTimeOptions(a,b){var c=function isUnitValid(a,b,c){if(!c)return!0;var d=getTimeNumbers(a,c);return!(0!==d.length)||d.includes(b)};if(!b)return!0;var d=c("hours",a.getHours(),b.hours),e=c("minutes",a.getMinutes(),b.minutes),f=c("seconds",a.getSeconds(),b.seconds);return d&&e&&f};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["format","isValid","parse","useCallback","useEffect","IMask","getForm","useMutableRef","getTimeNumbers","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropFormatTypeTime","datePickerPropFormatTypeDateTime","datePickerPropFormatTypeYear","datePickerPropFormatTypeMonth","normalizeRangeValue","dateRange","getTime","getTimeOptionsByFormat","timeOptions","formatArray","split","mapTimeOptions","HH","hours","mm","minutes","ss","seconds","map","marker","includes","hoursOptions","minutesOptions","secondsOptions","adaptFormat","adaptedFormat","shouldRemoveTimePart","timeOption","Array","isArray","length","step","timeMarkers","replace","RegExp","trim","filter","part","join","placeholderByFormat","getMaskBlocks","includeDate","includeTime","blocks","dd","mask","MaskedRange","from","to","MM","yyyy","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","indexOf","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","getDropdownZIndex","style","zIndex","useStringValue","formatProp","onChangeRef","imaskProps","stringValue","refs","setValue","setStringValue","current","ref","maskRef","updateValue","handleClear","e","valueArray","validArray","item","Date","isValidTimeByTimeOptions","isUnitValid","unit","options","allowed","isHoursValid","getHours","isMinutesValid","getMinutes","isSecondsValid","getSeconds"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { format, isValid, parse } from 'date-fns';\nimport { useCallback, useEffect } from 'react';\nimport { IMask, useIMask } from 'react-imask';\n\nimport { getForm } from '##/components/FieldGroup';\nimport { TextFieldPropForm } from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { DateRange } from '##/utils/types/Date';\n\nimport { TimeOptions, TimeUnitOptions } from '../DateTime';\nimport { getTimeNumbers } from '../DateTime/helpers';\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getTimeOptionsByFormat = (\n format: string,\n timeOptions?: TimeOptions,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const formatArray = format.split(' ')[1]?.split(':');\n const mapTimeOptions = {\n HH: timeOptions?.hours,\n mm: timeOptions?.minutes,\n ss: timeOptions?.seconds,\n } as const;\n\n const [hoursOptions, minutesOptions, secondsOptions] = markers.map((marker) =>\n formatArray?.includes(marker) ? mapTimeOptions[marker] : [],\n ) as [\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n ];\n\n const effectiveTimeOptions = {\n hours: hoursOptions,\n minutes: minutesOptions,\n seconds: secondsOptions,\n };\n\n return effectiveTimeOptions;\n};\n\nexport const adaptFormat = (\n format: string,\n timeOptions?: TimeOptions,\n): string => {\n const formatArray = format.split(' ');\n let adaptedFormat = formatArray[1] ?? format;\n\n const shouldRemoveTimePart = (\n timeOption: TimeUnitOptions | undefined,\n ): boolean => {\n if (timeOption && Array.isArray(timeOption) && timeOption.length === 0)\n return true;\n if (timeOption && !Array.isArray(timeOption) && timeOption.step === 0)\n return true;\n\n return false;\n };\n\n const timeMarkers = [\n { marker: 'HH', timeOption: timeOptions?.hours },\n { marker: 'mm', timeOption: timeOptions?.minutes },\n { marker: 'ss', timeOption: timeOptions?.seconds },\n ];\n\n for (const { marker, timeOption } of timeMarkers) {\n if (shouldRemoveTimePart(timeOption)) {\n adaptedFormat = adaptedFormat.replace(new RegExp(`:?${marker}`, 'g'), '');\n }\n }\n\n adaptedFormat = adaptedFormat\n .replace(/:+$/, '')\n .replace(/^:+/, '')\n .replace(/:+/g, ':')\n .replace(/\\s+/g, ' ')\n .trim();\n\n if (formatArray.length > 1) {\n formatArray[1] = adaptedFormat;\n return formatArray.filter((part) => part.length > 0).join(' ');\n }\n return adaptedFormat;\n};\n\nexport const placeholderByFormat = (format: string): string => {\n return format\n .replace(/yyyy/g, 'ГГГГ')\n .replace(/MM/g, 'ММ')\n .replace(/dd/g, 'ДД')\n .replace(/HH/g, 'ЧЧ')\n .replace(/mm/g, 'ММ')\n .replace(/ss/g, 'СС');\n};\n\ntype MaskBlock = {\n mask: typeof IMask.MaskedRange;\n from: number;\n to: number;\n};\n\ntype MaskBlocks = Partial<{\n dd: MaskBlock;\n MM: MaskBlock;\n yyyy: MaskBlock;\n HH: MaskBlock;\n mm: MaskBlock;\n ss: MaskBlock;\n}>;\n\nexport const getMaskBlocks = ({\n includeDate = true,\n includeTime = true,\n} = {}): MaskBlocks => {\n const blocks: MaskBlocks = {};\n\n if (includeDate) {\n blocks.dd = { mask: IMask.MaskedRange, from: 1, to: 31 };\n blocks.MM = { mask: IMask.MaskedRange, from: 1, to: 12 };\n blocks.yyyy = { mask: IMask.MaskedRange, from: 1, to: 9999 };\n }\n\n if (includeTime) {\n blocks.HH = { mask: IMask.MaskedRange, from: 0, to: 23 };\n blocks.mm = { mask: IMask.MaskedRange, from: 0, to: 59 };\n blocks.ss = { mask: IMask.MaskedRange, from: 0, to: 59 };\n }\n\n return blocks;\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport const useStringValue = (\n value: Date | undefined | null,\n formatProp: string,\n separator: string,\n onChangeRef: React.MutableRefObject<\n DatePickerFieldTypeDatePropOnChange | undefined\n >,\n imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>,\n) => {\n const stringValue = imaskProps.value;\n\n const refs = useMutableRef([imaskProps.setValue, value] as const);\n\n const setStringValue = useCallback((value: string) => {\n refs.current[0](value);\n if (imaskProps.ref?.current) {\n imaskProps.ref.current.value = value;\n }\n if (imaskProps.maskRef.current) {\n imaskProps.maskRef.current.updateValue();\n }\n }, []);\n\n const handleClear: React.MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n setStringValue('');\n\n if (refs.current[1]) {\n onChangeRef.current?.(null, { e: e as unknown as Event });\n }\n },\n [],\n );\n\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n\n if (!value && stringValue) {\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 const date =\n formatArray.length === validArray.length\n ? parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n )\n : undefined;\n\n if (isValid(date)) {\n setStringValue('');\n }\n }\n }, [value?.getTime()]);\n\n return handleClear;\n};\n\nexport const isValidTimeByTimeOptions = (\n date: Date,\n timeOptions?: TimeOptions,\n): boolean => {\n const isUnitValid = (\n unit: 'hours' | 'minutes' | 'seconds',\n value: number,\n options?: TimeUnitOptions,\n ): boolean => {\n if (!options) return true;\n\n const allowed = getTimeNumbers(unit, options);\n if (allowed.length === 0) return true;\n\n return allowed.includes(value);\n };\n\n if (!timeOptions) return true;\n const isHoursValid = isUnitValid('hours', date.getHours(), timeOptions.hours);\n const isMinutesValid = isUnitValid(\n 'minutes',\n date.getMinutes(),\n timeOptions.minutes,\n );\n const isSecondsValid = isUnitValid(\n 'seconds',\n date.getSeconds(),\n timeOptions.seconds,\n );\n\n return isHoursValid && isMinutesValid && isSecondsValid;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["format","isValid","parse","useCallback","useEffect","IMask","getForm","useMutableRef","getTimeNumbers","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropFormatTypeTime","datePickerPropFormatTypeDateTime","datePickerPropFormatTypeYear","datePickerPropFormatTypeMonth","normalizeRangeValue","dateRange","getTime","getTimeOptionsByFormat","timeOptions","timePart","includes","split","formatArray","mapTimeOptions","HH","hours","mm","minutes","ss","seconds","map","marker","hoursOptions","minutesOptions","secondsOptions","adaptFormat","adaptedFormat","shouldRemoveTimePart","timeOption","Array","isArray","length","step","timeMarkers","replace","RegExp","trim","filter","part","join","placeholderByFormat","getMaskBlocks","includeDate","includeTime","blocks","dd","mask","MaskedRange","from","to","MM","yyyy","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","indexOf","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","getDropdownZIndex","style","zIndex","useStringValue","formatProp","onChangeRef","imaskProps","stringValue","refs","setValue","setStringValue","current","ref","maskRef","updateValue","handleClear","e","valueArray","validArray","item","Date","isValidTimeByTimeOptions","isUnitValid","unit","options","allowed","isHoursValid","getHours","isMinutesValid","getMinutes","isSecondsValid","getSeconds"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { format, isValid, parse } from 'date-fns';\nimport { useCallback, useEffect } from 'react';\nimport { IMask, useIMask } from 'react-imask';\n\nimport { getForm } from '##/components/FieldGroup';\nimport { TextFieldPropForm } from '##/components/TextField';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { DateRange } from '##/utils/types/Date';\n\nimport { TimeOptions, TimeUnitOptions } from '../DateTime';\nimport { getTimeNumbers } from '../DateTime/helpers';\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getTimeOptionsByFormat = (\n format: string,\n timeOptions?: TimeOptions,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const timePart = format.includes(' ') ? format.split(' ')[1] : format;\n const formatArray = timePart?.split(':');\n const mapTimeOptions = {\n HH: timeOptions?.hours,\n mm: timeOptions?.minutes,\n ss: timeOptions?.seconds,\n } as const;\n\n const [hoursOptions, minutesOptions, secondsOptions] = markers.map((marker) =>\n formatArray?.includes(marker) ? mapTimeOptions[marker] : [],\n ) as [\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n TimeUnitOptions | undefined,\n ];\n\n const effectiveTimeOptions = {\n hours: hoursOptions,\n minutes: minutesOptions,\n seconds: secondsOptions,\n };\n\n return effectiveTimeOptions;\n};\n\nexport const adaptFormat = (\n format: string,\n timeOptions?: TimeOptions,\n): string => {\n const formatArray = format.split(' ');\n let adaptedFormat = formatArray[1] ?? format;\n\n const shouldRemoveTimePart = (\n timeOption: TimeUnitOptions | undefined,\n ): boolean => {\n if (timeOption && Array.isArray(timeOption) && timeOption.length === 0)\n return true;\n if (timeOption && !Array.isArray(timeOption) && timeOption.step === 0)\n return true;\n\n return false;\n };\n\n const timeMarkers = [\n { marker: 'HH', timeOption: timeOptions?.hours },\n { marker: 'mm', timeOption: timeOptions?.minutes },\n { marker: 'ss', timeOption: timeOptions?.seconds },\n ];\n\n for (const { marker, timeOption } of timeMarkers) {\n if (shouldRemoveTimePart(timeOption)) {\n adaptedFormat = adaptedFormat.replace(new RegExp(`:?${marker}`, 'g'), '');\n }\n }\n\n adaptedFormat = adaptedFormat\n .replace(/:+$/, '')\n .replace(/^:+/, '')\n .replace(/:+/g, ':')\n .replace(/\\s+/g, ' ')\n .trim();\n\n if (formatArray.length > 1) {\n formatArray[1] = adaptedFormat;\n return formatArray.filter((part) => part.length > 0).join(' ');\n }\n return adaptedFormat;\n};\n\nexport const placeholderByFormat = (format: string): string => {\n return format\n .replace(/yyyy/g, 'ГГГГ')\n .replace(/MM/g, 'ММ')\n .replace(/dd/g, 'ДД')\n .replace(/HH/g, 'ЧЧ')\n .replace(/mm/g, 'ММ')\n .replace(/ss/g, 'СС');\n};\n\ntype MaskBlock = {\n mask: typeof IMask.MaskedRange;\n from: number;\n to: number;\n};\n\ntype MaskBlocks = Partial<{\n dd: MaskBlock;\n MM: MaskBlock;\n yyyy: MaskBlock;\n HH: MaskBlock;\n mm: MaskBlock;\n ss: MaskBlock;\n}>;\n\nexport const getMaskBlocks = ({\n includeDate = true,\n includeTime = true,\n} = {}): MaskBlocks => {\n const blocks: MaskBlocks = {};\n\n if (includeDate) {\n blocks.dd = { mask: IMask.MaskedRange, from: 1, to: 31 };\n blocks.MM = { mask: IMask.MaskedRange, from: 1, to: 12 };\n blocks.yyyy = { mask: IMask.MaskedRange, from: 1, to: 9999 };\n }\n\n if (includeTime) {\n blocks.HH = { mask: IMask.MaskedRange, from: 0, to: 23 };\n blocks.mm = { mask: IMask.MaskedRange, from: 0, to: 59 };\n blocks.ss = { mask: IMask.MaskedRange, from: 0, to: 59 };\n }\n\n return blocks;\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n\ntype DatePickerFieldTypeDatePropOnChange = (\n value: Date | null,\n props: {\n e: Event;\n },\n) => void;\n\nexport const useStringValue = (\n value: Date | undefined | null,\n formatProp: string,\n separator: string,\n onChangeRef: React.MutableRefObject<\n DatePickerFieldTypeDatePropOnChange | undefined\n >,\n imaskProps: ReturnType<typeof useIMask<HTMLInputElement>>,\n) => {\n const stringValue = imaskProps.value;\n\n const refs = useMutableRef([imaskProps.setValue, value] as const);\n\n const setStringValue = useCallback((value: string) => {\n refs.current[0](value);\n if (imaskProps.ref?.current) {\n imaskProps.ref.current.value = value;\n }\n if (imaskProps.maskRef.current) {\n imaskProps.maskRef.current.updateValue();\n }\n }, []);\n\n const handleClear: React.MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n setStringValue('');\n\n if (refs.current[1]) {\n onChangeRef.current?.(null, { e: e as unknown as Event });\n }\n },\n [],\n );\n\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n\n if (!value && stringValue) {\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 const date =\n formatArray.length === validArray.length\n ? parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n )\n : undefined;\n\n if (isValid(date)) {\n setStringValue('');\n }\n }\n }, [value?.getTime()]);\n\n return handleClear;\n};\n\nexport const isValidTimeByTimeOptions = (\n date: Date,\n timeOptions?: TimeOptions,\n): boolean => {\n const isUnitValid = (\n unit: 'hours' | 'minutes' | 'seconds',\n value: number,\n options?: TimeUnitOptions,\n ): boolean => {\n if (!options) return true;\n\n const allowed = getTimeNumbers(unit, options);\n if (allowed.length === 0) return true;\n\n return allowed.includes(value);\n };\n\n if (!timeOptions) return true;\n const isHoursValid = isUnitValid('hours', date.getHours(), timeOptions.hours);\n const isMinutesValid = isUnitValid(\n 'minutes',\n date.getMinutes(),\n timeOptions.minutes,\n );\n const isSecondsValid = isUnitValid(\n 'seconds',\n date.getSeconds(),\n timeOptions.seconds,\n );\n\n return isHoursValid && isMinutesValid && isSecondsValid;\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consta/uikit",
3
- "version": "5.29.0",
3
+ "version": "5.29.1",
4
4
  "keywords": [
5
5
  "ui-kit",
6
6
  "design-system",