@salutejs/plasma-new-hope 0.340.0-canary.2316.19097749672.0 → 0.340.0-canary.2316.19129435456.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.
Files changed (35) hide show
  1. package/cjs/components/DateTimePicker/DateTimePicker.js +17 -120
  2. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
  3. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +125 -11
  4. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
  5. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
  6. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  7. package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
  8. package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  9. package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  10. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  11. package/emotion/es/components/DateTimePicker/DateTimePicker.js +10 -126
  12. package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  13. package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  14. package/es/components/DateTimePicker/DateTimePicker.js +18 -121
  15. package/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
  16. package/es/components/DateTimePicker/hooks/useDateTimePicker.js +126 -12
  17. package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
  18. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
  19. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  20. package/package.json +2 -2
  21. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
  22. package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  23. package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  24. package/styled-components/es/components/DateTimePicker/DateTimePicker.js +10 -126
  25. package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  26. package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  27. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  28. package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  29. package/types/components/DateTimePicker/DateTimePicker.types.d.ts +7 -8
  30. package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -1
  31. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +11 -3
  32. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -1
  33. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +2 -2
  34. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  35. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDateTimePicker.js","sources":["../../../../src/components/DateTimePicker/hooks/useDateTimePicker.ts"],"sourcesContent":["import type { ChangeEvent } from 'react';\nimport type { Dayjs } from 'dayjs';\nimport { customDayjs } from 'src/utils/datejs';\nimport { QUARTER_NAMES } from 'src/components/Calendar/utils';\nimport type { TimePickerGridChangeEvent } from 'src/components/TimePickerGrid/TimePickerGrid.types';\n\nimport type { CalendarValueType, DateInfo } from '../../Calendar/Calendar.types';\nimport { classes } from '../DateTimePicker.tokens';\nimport type { UseDateTimePickerArgs } from '../DateTimePicker.types';\nimport { getMaskedValue } from '../utils/getMaskedValue';\nimport { getFormattedDateTime, normalizeDateTime } from '../utils';\n\ntype GetFormattedCorrectInputArgs = {\n formattedDate: string;\n originalDate: Date | undefined;\n dateValue: Date | undefined;\n timeValue: Date | undefined;\n};\n\nexport const useDateTimePicker = ({\n valueError,\n valueSuccess,\n type,\n lang = 'ru',\n disabled,\n readOnly,\n maskWithFormat,\n format,\n dateFormat,\n timeFormat,\n currentValue,\n delimiters,\n inputRef,\n min,\n max,\n includeEdgeDates,\n correctDates,\n dateOnTimeSelectOnly,\n setCorrectDates,\n setInnerDate,\n onChangeValue,\n onCommitDate,\n}: UseDateTimePickerArgs) => {\n const errorClass = valueError ? classes.error : undefined;\n const successClass = valueSuccess ? classes.success : undefined;\n\n const getQuarterInfo = (originalDate?: Date) => {\n if (type !== 'Quarters' || !originalDate) {\n return;\n }\n\n const endQuarter = new Date(originalDate);\n\n endQuarter.setMonth(originalDate.getMonth() + 3);\n endQuarter.setDate(0);\n\n customDayjs.locale(lang);\n const quarterIndex = customDayjs(originalDate).quarter() - 1;\n\n return {\n name: QUARTER_NAMES[quarterIndex],\n fullValue: [originalDate, endQuarter] as CalendarValueType,\n };\n };\n\n const getFormattedCorrectInput = ({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n }: GetFormattedCorrectInputArgs) => {\n if (originalDate || formattedDate === '') {\n return {\n input: formattedDate,\n };\n }\n\n if (dateValue && timeValue) {\n return {\n input: formattedDate,\n };\n }\n\n if (dateValue && !timeValue) {\n return {\n input: formattedDate.slice(0, dateFormat?.length),\n };\n }\n\n return {\n input: '',\n };\n };\n\n const handleChangeValue = (event: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readOnly) {\n return;\n }\n const { value, selectionStart } = event.target;\n\n const { formattedValue, selectionStart: newSelectionStart } = maskWithFormat\n ? getMaskedValue({ value, format, delimiters, prevValue: currentValue, selectionStart })\n : { formattedValue: value, selectionStart };\n\n const { formattedDate, isoDate, originalDate, dateValue, timeValue } = getFormattedDateTime({\n value: formattedValue,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n\n const { input: inputCorrectValue } = getFormattedCorrectInput({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n });\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: inputCorrectValue,\n calendar: inputCorrectValue ? dateValue || prevCorrectDates.calendar : undefined,\n time: inputCorrectValue ? timeValue || prevCorrectDates.time : undefined,\n }));\n setInnerDate(formattedDate);\n\n if (originalDate) {\n const quarterInfo = getQuarterInfo(originalDate);\n\n if (onCommitDate) {\n onCommitDate(formattedDate, { quarterInfo, originalDate, isoDate });\n }\n }\n\n if (onChangeValue) {\n onChangeValue(event, formattedDate, { originalDate, isoDate });\n }\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newSelectionStart, newSelectionStart);\n }\n });\n };\n\n const handleSearch = (date?: string) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n if (onCommitDate) {\n onCommitDate('', { quarterInfo: undefined, originalDate: undefined, isoDate: '' });\n }\n\n return;\n }\n\n const { formattedDate, isoDate, originalDate } = getFormattedDateTime({\n value: date,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n\n const quarterInfo = getQuarterInfo(originalDate);\n\n if (onCommitDate) {\n onCommitDate(formattedDate, { quarterInfo, originalDate, isoDate });\n }\n };\n\n const handleCalendarPick = (date?: Date | null, quarterInfo?: DateInfo) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n return;\n }\n\n customDayjs.locale(lang);\n let rawDate = customDayjs(date);\n\n if (correctDates.time) {\n const correctTimeDate = customDayjs(correctDates.time);\n const correctHours = correctTimeDate.get('hours');\n const correctMinutes = correctTimeDate.get('minutes');\n const correctSeconds = correctTimeDate.get('seconds');\n\n rawDate = rawDate.set('hours', correctHours).set('minutes', correctMinutes).set('seconds', correctSeconds);\n }\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDateTime({\n originalDate: rawDate.toDate(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const isoDate = normalizedDate.toISOString();\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: formattedNormalizedDate,\n calendar: normalizedDate,\n time: normalizedDate,\n }));\n setInnerDate(formattedNormalizedDate);\n\n if (onCommitDate) {\n onCommitDate(formattedNormalizedDate, { quarterInfo, originalDate: normalizedDate, isoDate });\n }\n\n if (onChangeValue) {\n onChangeValue(null, formattedNormalizedDate, { originalDate: normalizedDate, isoDate });\n }\n };\n\n const handleTimePick = (time?: TimePickerGridChangeEvent) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!time?.value) {\n return;\n }\n\n customDayjs.locale(lang);\n\n let rawDate: Dayjs;\n if (!correctDates.calendar) {\n if (dateOnTimeSelectOnly) {\n rawDate = customDayjs(dateOnTimeSelectOnly);\n } else {\n rawDate = customDayjs();\n }\n } else {\n rawDate = customDayjs(correctDates.calendar);\n }\n\n const { timeValues } = time;\n\n rawDate = rawDate\n .set('hours', timeValues.hour || 0)\n .set('minutes', timeValues.minute || 0)\n .set('seconds', timeValues.second || 0);\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDateTime({\n originalDate: rawDate.toDate(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const isoDate = normalizedDate.toISOString();\n\n const quarterInfo = getQuarterInfo(normalizedDate);\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: formattedNormalizedDate,\n calendar: normalizedDate,\n time: normalizedDate,\n }));\n setInnerDate(formattedNormalizedDate);\n\n if (onCommitDate) {\n onCommitDate(formattedNormalizedDate, { quarterInfo, originalDate: normalizedDate, isoDate });\n }\n\n if (onChangeValue) {\n onChangeValue(null, formattedNormalizedDate, { originalDate: normalizedDate, isoDate });\n }\n };\n\n const updateExternalDate = (externalDate: Date | string | undefined) => {\n const { formattedDate, originalDate, dateValue, timeValue } = getFormattedDateTime({\n value: externalDate,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n const { input: inputCorrectValue } = getFormattedCorrectInput({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n });\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: inputCorrectValue,\n calendar: inputCorrectValue ? dateValue || prevCorrectDates.calendar : undefined,\n time: inputCorrectValue ? timeValue || prevCorrectDates.time : undefined,\n }));\n setInnerDate(formattedDate);\n };\n\n return {\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n handleCalendarPick,\n handleTimePick,\n updateExternalDate,\n getQuarterInfo,\n };\n};\n"],"names":["useDateTimePicker","_ref","valueError","valueSuccess","type","_ref$lang","lang","disabled","readOnly","maskWithFormat","format","dateFormat","timeFormat","currentValue","delimiters","inputRef","min","max","includeEdgeDates","correctDates","dateOnTimeSelectOnly","setCorrectDates","setInnerDate","onChangeValue","onCommitDate","errorClass","classes","error","undefined","successClass","success","getQuarterInfo","originalDate","endQuarter","Date","setMonth","getMonth","setDate","customDayjs","locale","quarterIndex","quarter","name","QUARTER_NAMES","fullValue","getFormattedCorrectInput","_ref2","formattedDate","dateValue","timeValue","input","slice","length","handleChangeValue","event","_event$target","target","value","selectionStart","_ref3","getMaskedValue","prevValue","formattedValue","newSelectionStart","_getFormattedDateTime","getFormattedDateTime","isoDate","_getFormattedCorrectI","inputCorrectValue","prevCorrectDates","_objectSpread","calendar","time","quarterInfo","requestAnimationFrame","current","setSelectionRange","handleSearch","date","_getFormattedDateTime2","handleCalendarPick","rawDate","correctTimeDate","correctHours","get","correctMinutes","correctSeconds","set","_normalizeDateTime","normalizeDateTime","toDate","normalizedDate","formattedNormalizedDate","toISOString","handleTimePick","timeValues","hour","minute","second","_normalizeDateTime2","updateExternalDate","externalDate","_getFormattedDateTime3","_getFormattedCorrectI2"],"mappings":";;;;;;;;;;;;IAmBaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAuBD;AAAA,EAAA,IAtBzBC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IACVC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAAC,SAAA,GAAAJ,IAAA,CACJK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IACXE,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;IACdC,MAAM,GAAAT,IAAA,CAANS,MAAM;IACNC,UAAU,GAAAV,IAAA,CAAVU,UAAU;IACVC,UAAU,GAAAX,IAAA,CAAVW,UAAU;IACVC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;IACZC,UAAU,GAAAb,IAAA,CAAVa,UAAU;IACVC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,GAAG,GAAAf,IAAA,CAAHe,GAAG;IACHC,GAAG,GAAAhB,IAAA,CAAHgB,GAAG;IACHC,gBAAgB,GAAAjB,IAAA,CAAhBiB,gBAAgB;IAChBC,YAAY,GAAAlB,IAAA,CAAZkB,YAAY;IACZC,oBAAoB,GAAAnB,IAAA,CAApBmB,oBAAoB;IACpBC,eAAe,GAAApB,IAAA,CAAfoB,eAAe;IACfC,YAAY,GAAArB,IAAA,CAAZqB,YAAY;IACZC,aAAa,GAAAtB,IAAA,CAAbsB,aAAa;IACbC,YAAY,GAAAvB,IAAA,CAAZuB,YAAY,CAAA;EAEZ,IAAMC,UAAU,GAAGvB,UAAU,GAAGwB,6BAAO,CAACC,KAAK,GAAGC,SAAS,CAAA;EACzD,IAAMC,YAAY,GAAG1B,YAAY,GAAGuB,6BAAO,CAACI,OAAO,GAAGF,SAAS,CAAA;AAE/D,EAAA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,YAAmB,EAAK;AAC5C,IAAA,IAAI5B,IAAI,KAAK,UAAU,IAAI,CAAC4B,YAAY,EAAE;AACtC,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,IAAMC,UAAU,GAAG,IAAIC,IAAI,CAACF,YAAY,CAAC,CAAA;IAEzCC,UAAU,CAACE,QAAQ,CAACH,YAAY,CAACI,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;AAChDH,IAAAA,UAAU,CAACI,OAAO,CAAC,CAAC,CAAC,CAAA;AAErBC,IAAAA,kBAAW,CAACC,MAAM,CAACjC,IAAI,CAAC,CAAA;IACxB,IAAMkC,YAAY,GAAGF,kBAAW,CAACN,YAAY,CAAC,CAACS,OAAO,EAAE,GAAG,CAAC,CAAA;IAE5D,OAAO;AACHC,MAAAA,IAAI,EAAEC,uBAAa,CAACH,YAAY,CAAC;AACjCI,MAAAA,SAAS,EAAE,CAACZ,YAAY,EAAEC,UAAU,CAAA;KACvC,CAAA;GACJ,CAAA;AAED,EAAA,IAAMY,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAC,KAAA,EAKM;AAAA,IAAA,IAJhCd,YAAY,GAAAc,KAAA,CAAZd,YAAY;MACZe,aAAa,GAAAD,KAAA,CAAbC,aAAa;MACbC,SAAS,GAAAF,KAAA,CAATE,SAAS;MACTC,SAAS,GAAAH,KAAA,CAATG,SAAS,CAAA;AAET,IAAA,IAAIjB,YAAY,IAAIe,aAAa,KAAK,EAAE,EAAE;MACtC,OAAO;AACHG,QAAAA,KAAK,EAAEH,aAAAA;OACV,CAAA;AACL,KAAA;IAEA,IAAIC,SAAS,IAAIC,SAAS,EAAE;MACxB,OAAO;AACHC,QAAAA,KAAK,EAAEH,aAAAA;OACV,CAAA;AACL,KAAA;AAEA,IAAA,IAAIC,SAAS,IAAI,CAACC,SAAS,EAAE;MACzB,OAAO;AACHC,QAAAA,KAAK,EAAEH,aAAa,CAACI,KAAK,CAAC,CAAC,EAAExC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEyC,MAAM,CAAA;OACnD,CAAA;AACL,KAAA;IAEA,OAAO;AACHF,MAAAA,KAAK,EAAE,EAAA;KACV,CAAA;GACJ,CAAA;AAED,EAAA,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAoC,EAAK;IAChE,IAAI/C,QAAQ,IAAIC,QAAQ,EAAE;AACtB,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAA+C,aAAA,GAAkCD,KAAK,CAACE,MAAM;MAAtCC,KAAK,GAAAF,aAAA,CAALE,KAAK;MAAEC,cAAc,GAAAH,aAAA,CAAdG,cAAc,CAAA;AAE7B,IAAA,IAAAC,KAAA,GAA8DlD,cAAc,GACtEmD,6BAAc,CAAC;AAAEH,QAAAA,KAAK,EAALA,KAAK;AAAE/C,QAAAA,MAAM,EAANA,MAAM;AAAEI,QAAAA,UAAU,EAAVA,UAAU;AAAE+C,QAAAA,SAAS,EAAEhD,YAAY;AAAE6C,QAAAA,cAAc,EAAdA,cAAAA;AAAe,OAAC,CAAC,GACtF;AAAEI,QAAAA,cAAc,EAAEL,KAAK;AAAEC,QAAAA,cAAc,EAAdA,cAAAA;OAAgB;MAFvCI,cAAc,GAAAH,KAAA,CAAdG,cAAc;MAAkBC,iBAAiB,GAAAJ,KAAA,CAAjCD,cAAc,CAAA;IAItC,IAAAM,qBAAA,GAAuEC,yCAAoB,CAAC;AACxFR,QAAAA,KAAK,EAAEK,cAAc;AACrBxD,QAAAA,IAAI,EAAJA,IAAI;AACJI,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,UAAU,EAAVA,UAAU;AACVM,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAAA;AACJ,OAAC,CAAC;MATM8B,aAAa,GAAAiB,qBAAA,CAAbjB,aAAa;MAAEmB,OAAO,GAAAF,qBAAA,CAAPE,OAAO;MAAElC,YAAY,GAAAgC,qBAAA,CAAZhC,YAAY;MAAEgB,SAAS,GAAAgB,qBAAA,CAAThB,SAAS;MAAEC,SAAS,GAAAe,qBAAA,CAATf,SAAS,CAAA;IAWlE,IAAAkB,qBAAA,GAAqCtB,wBAAwB,CAAC;AAC1Db,QAAAA,YAAY,EAAZA,YAAY;AACZe,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,SAAS,EAATA,SAAAA;AACJ,OAAC,CAAC;MALamB,iBAAiB,GAAAD,qBAAA,CAAxBjB,KAAK,CAAA;IAOb7B,eAAe,CAAC,UAACgD,gBAAgB,EAAA;AAAA,MAAA,OAAAC,uCAAA,CAAAA,uCAAA,CAAA,EAAA,EAC1BD,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnBnB,QAAAA,KAAK,EAAEkB,iBAAiB;QACxBG,QAAQ,EAAEH,iBAAiB,GAAGpB,SAAS,IAAIqB,gBAAgB,CAACE,QAAQ,GAAG3C,SAAS;QAChF4C,IAAI,EAAEJ,iBAAiB,GAAGnB,SAAS,IAAIoB,gBAAgB,CAACG,IAAI,GAAG5C,SAAAA;AAAS,OAAA,CAAA,CAAA;AAAA,KAC1E,CAAC,CAAA;IACHN,YAAY,CAACyB,aAAa,CAAC,CAAA;AAE3B,IAAA,IAAIf,YAAY,EAAE;AACd,MAAA,IAAMyC,WAAW,GAAG1C,cAAc,CAACC,YAAY,CAAC,CAAA;AAEhD,MAAA,IAAIR,YAAY,EAAE;QACdA,YAAY,CAACuB,aAAa,EAAE;AAAE0B,UAAAA,WAAW,EAAXA,WAAW;AAAEzC,UAAAA,YAAY,EAAZA,YAAY;AAAEkC,UAAAA,OAAO,EAAPA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AACvE,OAAA;AACJ,KAAA;AAEA,IAAA,IAAI3C,aAAa,EAAE;AACfA,MAAAA,aAAa,CAAC+B,KAAK,EAAEP,aAAa,EAAE;AAAEf,QAAAA,YAAY,EAAZA,YAAY;AAAEkC,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAClE,KAAA;AAEAQ,IAAAA,qBAAqB,CAAC,YAAM;MACxB,IAAI3D,QAAQ,CAAC4D,OAAO,EAAE;QAClB5D,QAAQ,CAAC4D,OAAO,CAACC,iBAAiB,CAACb,iBAAiB,EAAEA,iBAAiB,CAAC,CAAA;AAC5E,OAAA;AACJ,KAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAa,EAAK;IACpC,IAAIvE,QAAQ,IAAIC,QAAQ,EAAE;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,IAAI,CAACsE,IAAI,EAAE;AACP,MAAA,IAAItD,YAAY,EAAE;QACdA,YAAY,CAAC,EAAE,EAAE;AAAEiD,UAAAA,WAAW,EAAE7C,SAAS;AAAEI,UAAAA,YAAY,EAAEJ,SAAS;AAAEsC,UAAAA,OAAO,EAAE,EAAA;AAAG,SAAC,CAAC,CAAA;AACtF,OAAA;AAEA,MAAA,OAAA;AACJ,KAAA;IAEA,IAAAa,sBAAA,GAAiDd,yCAAoB,CAAC;AAClER,QAAAA,KAAK,EAAEqB,IAAI;AACXxE,QAAAA,IAAI,EAAJA,IAAI;AACJI,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,UAAU,EAAVA,UAAU;AACVM,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAAA;AACJ,OAAC,CAAC;MATM8B,aAAa,GAAAgC,sBAAA,CAAbhC,aAAa;MAAEmB,OAAO,GAAAa,sBAAA,CAAPb,OAAO;MAAElC,YAAY,GAAA+C,sBAAA,CAAZ/C,YAAY,CAAA;AAW5C,IAAA,IAAMyC,WAAW,GAAG1C,cAAc,CAACC,YAAY,CAAC,CAAA;AAEhD,IAAA,IAAIR,YAAY,EAAE;MACdA,YAAY,CAACuB,aAAa,EAAE;AAAE0B,QAAAA,WAAW,EAAXA,WAAW;AAAEzC,QAAAA,YAAY,EAAZA,YAAY;AAAEkC,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACvE,KAAA;GACH,CAAA;EAED,IAAMc,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIF,IAAkB,EAAEL,WAAsB,EAAK;IACvE,IAAIlE,QAAQ,IAAIC,QAAQ,EAAE;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,IAAI,CAACsE,IAAI,EAAE;AACP,MAAA,OAAA;AACJ,KAAA;AAEAxC,IAAAA,kBAAW,CAACC,MAAM,CAACjC,IAAI,CAAC,CAAA;AACxB,IAAA,IAAI2E,OAAO,GAAG3C,kBAAW,CAACwC,IAAI,CAAC,CAAA;IAE/B,IAAI3D,YAAY,CAACqD,IAAI,EAAE;AACnB,MAAA,IAAMU,eAAe,GAAG5C,kBAAW,CAACnB,YAAY,CAACqD,IAAI,CAAC,CAAA;AACtD,MAAA,IAAMW,YAAY,GAAGD,eAAe,CAACE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,MAAA,IAAMC,cAAc,GAAGH,eAAe,CAACE,GAAG,CAAC,SAAS,CAAC,CAAA;AACrD,MAAA,IAAME,cAAc,GAAGJ,eAAe,CAACE,GAAG,CAAC,SAAS,CAAC,CAAA;MAErDH,OAAO,GAAGA,OAAO,CAACM,GAAG,CAAC,OAAO,EAAEJ,YAAY,CAAC,CAACI,GAAG,CAAC,SAAS,EAAEF,cAAc,CAAC,CAACE,GAAG,CAAC,SAAS,EAAED,cAAc,CAAC,CAAA;AAC9G,KAAA;IAEA,IAAAE,kBAAA,GAAoDC,mCAAiB,CAAC;AAClEzD,QAAAA,YAAY,EAAEiD,OAAO,CAACS,MAAM,EAAE;AAC9BpF,QAAAA,IAAI,EAAJA,IAAI;AACJI,QAAAA,MAAM,EAANA,MAAM;AACNQ,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAAA;AACJ,OAAC,CAAC;MAPM0E,cAAc,GAAAH,kBAAA,CAAdG,cAAc;MAAEC,uBAAuB,GAAAJ,kBAAA,CAAvBI,uBAAuB,CAAA;AAS/C,IAAA,IAAM1B,OAAO,GAAGyB,cAAc,CAACE,WAAW,EAAE,CAAA;IAE5CxE,eAAe,CAAC,UAACgD,gBAAgB,EAAA;AAAA,MAAA,OAAAC,uCAAA,CAAAA,uCAAA,CAAA,EAAA,EAC1BD,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnBnB,QAAAA,KAAK,EAAE0C,uBAAuB;AAC9BrB,QAAAA,QAAQ,EAAEoB,cAAc;AACxBnB,QAAAA,IAAI,EAAEmB,cAAAA;AAAc,OAAA,CAAA,CAAA;AAAA,KACtB,CAAC,CAAA;IACHrE,YAAY,CAACsE,uBAAuB,CAAC,CAAA;AAErC,IAAA,IAAIpE,YAAY,EAAE;MACdA,YAAY,CAACoE,uBAAuB,EAAE;AAAEnB,QAAAA,WAAW,EAAXA,WAAW;AAAEzC,QAAAA,YAAY,EAAE2D,cAAc;AAAEzB,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACjG,KAAA;AAEA,IAAA,IAAI3C,aAAa,EAAE;AACfA,MAAAA,aAAa,CAAC,IAAI,EAAEqE,uBAAuB,EAAE;AAAE5D,QAAAA,YAAY,EAAE2D,cAAc;AAAEzB,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAC3F,KAAA;GACH,CAAA;AAED,EAAA,IAAM4B,cAAc,GAAG,SAAjBA,cAAcA,CAAItB,IAAgC,EAAK;IACzD,IAAIjE,QAAQ,IAAIC,QAAQ,EAAE;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,IAAI,EAACgE,IAAI,KAAJA,IAAAA,IAAAA,IAAI,eAAJA,IAAI,CAAEf,KAAK,CAAE,EAAA;AACd,MAAA,OAAA;AACJ,KAAA;AAEAnB,IAAAA,kBAAW,CAACC,MAAM,CAACjC,IAAI,CAAC,CAAA;AAExB,IAAA,IAAI2E,OAAc,CAAA;AAClB,IAAA,IAAI,CAAC9D,YAAY,CAACoD,QAAQ,EAAE;AACxB,MAAA,IAAInD,oBAAoB,EAAE;AACtB6D,QAAAA,OAAO,GAAG3C,kBAAW,CAAClB,oBAAoB,CAAC,CAAA;AAC/C,OAAC,MAAM;QACH6D,OAAO,GAAG3C,kBAAW,EAAE,CAAA;AAC3B,OAAA;AACJ,KAAC,MAAM;AACH2C,MAAAA,OAAO,GAAG3C,kBAAW,CAACnB,YAAY,CAACoD,QAAQ,CAAC,CAAA;AAChD,KAAA;AAEA,IAAA,IAAQwB,UAAU,GAAKvB,IAAI,CAAnBuB,UAAU,CAAA;AAElBd,IAAAA,OAAO,GAAGA,OAAO,CACZM,GAAG,CAAC,OAAO,EAAEQ,UAAU,CAACC,IAAI,IAAI,CAAC,CAAC,CAClCT,GAAG,CAAC,SAAS,EAAEQ,UAAU,CAACE,MAAM,IAAI,CAAC,CAAC,CACtCV,GAAG,CAAC,SAAS,EAAEQ,UAAU,CAACG,MAAM,IAAI,CAAC,CAAC,CAAA;IAE3C,IAAAC,mBAAA,GAAoDV,mCAAiB,CAAC;AAClEzD,QAAAA,YAAY,EAAEiD,OAAO,CAACS,MAAM,EAAE;AAC9BpF,QAAAA,IAAI,EAAJA,IAAI;AACJI,QAAAA,MAAM,EAANA,MAAM;AACNQ,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAAA;AACJ,OAAC,CAAC;MAPM0E,cAAc,GAAAQ,mBAAA,CAAdR,cAAc;MAAEC,uBAAuB,GAAAO,mBAAA,CAAvBP,uBAAuB,CAAA;AAS/C,IAAA,IAAM1B,OAAO,GAAGyB,cAAc,CAACE,WAAW,EAAE,CAAA;AAE5C,IAAA,IAAMpB,WAAW,GAAG1C,cAAc,CAAC4D,cAAc,CAAC,CAAA;IAElDtE,eAAe,CAAC,UAACgD,gBAAgB,EAAA;AAAA,MAAA,OAAAC,uCAAA,CAAAA,uCAAA,CAAA,EAAA,EAC1BD,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnBnB,QAAAA,KAAK,EAAE0C,uBAAuB;AAC9BrB,QAAAA,QAAQ,EAAEoB,cAAc;AACxBnB,QAAAA,IAAI,EAAEmB,cAAAA;AAAc,OAAA,CAAA,CAAA;AAAA,KACtB,CAAC,CAAA;IACHrE,YAAY,CAACsE,uBAAuB,CAAC,CAAA;AAErC,IAAA,IAAIpE,YAAY,EAAE;MACdA,YAAY,CAACoE,uBAAuB,EAAE;AAAEnB,QAAAA,WAAW,EAAXA,WAAW;AAAEzC,QAAAA,YAAY,EAAE2D,cAAc;AAAEzB,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACjG,KAAA;AAEA,IAAA,IAAI3C,aAAa,EAAE;AACfA,MAAAA,aAAa,CAAC,IAAI,EAAEqE,uBAAuB,EAAE;AAAE5D,QAAAA,YAAY,EAAE2D,cAAc;AAAEzB,QAAAA,OAAO,EAAPA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AAC3F,KAAA;GACH,CAAA;AAED,EAAA,IAAMkC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,YAAuC,EAAK;IACpE,IAAAC,sBAAA,GAA8DrC,yCAAoB,CAAC;AAC/ER,QAAAA,KAAK,EAAE4C,YAAY;AACnB/F,QAAAA,IAAI,EAAJA,IAAI;AACJI,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,UAAU,EAAVA,UAAU;AACVC,QAAAA,UAAU,EAAVA,UAAU;AACVM,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBF,QAAAA,GAAG,EAAHA,GAAG;AACHC,QAAAA,GAAG,EAAHA,GAAAA;AACJ,OAAC,CAAC;MATM8B,aAAa,GAAAuD,sBAAA,CAAbvD,aAAa;MAAEf,YAAY,GAAAsE,sBAAA,CAAZtE,YAAY;MAAEgB,SAAS,GAAAsD,sBAAA,CAATtD,SAAS;MAAEC,SAAS,GAAAqD,sBAAA,CAATrD,SAAS,CAAA;IAUzD,IAAAsD,sBAAA,GAAqC1D,wBAAwB,CAAC;AAC1Db,QAAAA,YAAY,EAAZA,YAAY;AACZe,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,SAAS,EAATA,SAAS;AACTC,QAAAA,SAAS,EAATA,SAAAA;AACJ,OAAC,CAAC;MALamB,iBAAiB,GAAAmC,sBAAA,CAAxBrD,KAAK,CAAA;IAOb7B,eAAe,CAAC,UAACgD,gBAAgB,EAAA;AAAA,MAAA,OAAAC,uCAAA,CAAAA,uCAAA,CAAA,EAAA,EAC1BD,gBAAgB,CAAA,EAAA,EAAA,EAAA;AACnBnB,QAAAA,KAAK,EAAEkB,iBAAiB;QACxBG,QAAQ,EAAEH,iBAAiB,GAAGpB,SAAS,IAAIqB,gBAAgB,CAACE,QAAQ,GAAG3C,SAAS;QAChF4C,IAAI,EAAEJ,iBAAiB,GAAGnB,SAAS,IAAIoB,gBAAgB,CAACG,IAAI,GAAG5C,SAAAA;AAAS,OAAA,CAAA,CAAA;AAAA,KAC1E,CAAC,CAAA;IACHN,YAAY,CAACyB,aAAa,CAAC,CAAA;GAC9B,CAAA;EAED,OAAO;AACHtB,IAAAA,UAAU,EAAVA,UAAU;AACVI,IAAAA,YAAY,EAAZA,YAAY;AACZwB,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBwB,IAAAA,YAAY,EAAZA,YAAY;AACZG,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBc,IAAAA,cAAc,EAAdA,cAAc;AACdM,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBrE,IAAAA,cAAc,EAAdA,cAAAA;GACH,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"useDateTimePicker.js","sources":["../../../../src/components/DateTimePicker/hooks/useDateTimePicker.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport type { ChangeEvent, FocusEvent } from 'react';\nimport type { Dayjs } from 'dayjs';\nimport { customDayjs } from 'src/utils/datejs';\nimport { QUARTER_NAMES } from 'src/components/Calendar/utils';\nimport type { TimePickerGridChangeEvent } from 'src/components/TimePickerGrid/TimePickerGrid.types';\nimport { getDateFormatDelimiter } from 'src/components/DatePicker/utils/dateHelper';\n\nimport type { CalendarValueType, DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { classes } from '../DateTimePicker.tokens';\nimport type { UseDateTimePickerArgs } from '../DateTimePicker.types';\nimport { getMaskedValue } from '../utils/getMaskedValue';\nimport { getFormattedDateTime, normalizeDateTime } from '../utils';\n\ntype GetFormattedCorrectInputArgs = {\n formattedDate: string;\n originalDate: Date | undefined;\n dateValue: Date | undefined;\n timeValue: Date | undefined;\n};\n\nexport const useDateTimePicker = ({\n valueError,\n valueSuccess,\n type,\n lang = 'ru',\n disabled,\n readOnly,\n outerValue,\n defaultDate,\n maskWithFormat,\n dateFormat = 'DD.MM.YYYY',\n timeFormat = 'HH:mm:ss',\n dateTimeSeparator = ' ',\n inputRef,\n min,\n max,\n includeEdgeDates,\n dateOnTimeSelectOnly,\n preserveInvalidOnBlur,\n onChangeValue,\n onCommitDate,\n onBlur,\n}: UseDateTimePickerArgs) => {\n const errorClass = valueError ? classes.error : undefined;\n const successClass = valueSuccess ? classes.success : undefined;\n\n const dateFormatDelimiter = useMemo(() => getDateFormatDelimiter(dateFormat), [dateFormat]);\n const timeFormatDelimiter = useMemo(() => getDateFormatDelimiter(timeFormat), [timeFormat]);\n\n const delimiters = [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator];\n\n const format = dateFormat + dateTimeSeparator + timeFormat;\n const timeColumnsCount = timeFormat?.split(timeFormatDelimiter).length || 2;\n\n const [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateVisibleValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDateTime({\n value: dateVisibleValue,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n dateFormat,\n timeFormat,\n });\n\n const [correctDates, setCorrectDates] = useState({\n input: initialValues.formattedDate,\n calendar: initialValues.dateValue,\n time: initialValues.timeValue,\n });\n\n const calendarGridValue: DateType = initialValues.dateValue;\n const timeGridValue = initialValues.timeValue;\n\n customDayjs.locale(lang);\n const timeVisibleValue = timeGridValue ? customDayjs(timeGridValue).format(timeFormat) : '';\n const inputValue = initialValues.formattedDate;\n\n const getQuarterInfo = (originalDate?: Date) => {\n if (type !== 'Quarters' || !originalDate) {\n return;\n }\n\n const endQuarter = new Date(originalDate);\n\n endQuarter.setMonth(originalDate.getMonth() + 3);\n endQuarter.setDate(0);\n\n customDayjs.locale(lang);\n const quarterIndex = customDayjs(originalDate).quarter() - 1;\n\n return {\n name: QUARTER_NAMES[quarterIndex],\n fullValue: [originalDate, endQuarter] as CalendarValueType,\n };\n };\n\n const isDateEqualEdge = (dateEdge?: Date) => {\n if (!dateEdge) {\n return false;\n }\n\n const normalizedEdgeDate = customDayjs(dateEdge);\n normalizedEdgeDate.set('hours', 0);\n normalizedEdgeDate.set('minutes', 0);\n normalizedEdgeDate.set('seconds', 0);\n\n const normalizedCurrentDate = customDayjs(correctDates.calendar);\n normalizedCurrentDate.set('hours', 0);\n normalizedCurrentDate.set('minutes', 0);\n normalizedCurrentDate.set('seconds', 0);\n\n if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {\n return true;\n }\n\n return false;\n };\n\n const getFormattedCorrectInput = ({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n }: GetFormattedCorrectInputArgs) => {\n if (originalDate || formattedDate === '') {\n return {\n input: formattedDate,\n };\n }\n\n if (dateValue && timeValue) {\n return {\n input: formattedDate,\n };\n }\n\n if (dateValue && !timeValue) {\n return {\n input: formattedDate.slice(0, dateFormat?.length),\n };\n }\n\n return {\n input: '',\n };\n };\n\n const handleChangeValue = (event: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readOnly) {\n return;\n }\n const { value, selectionStart } = event.target;\n\n const { formattedValue, selectionStart: newSelectionStart } = maskWithFormat\n ? getMaskedValue({ value, format, delimiters, prevValue: inputValue, selectionStart })\n : { formattedValue: value, selectionStart };\n\n const { formattedDate, isoDate, originalDate, dateValue, timeValue } = getFormattedDateTime({\n value: formattedValue,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n\n const { input: inputCorrectValue } = getFormattedCorrectInput({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n });\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: inputCorrectValue,\n calendar: inputCorrectValue ? dateValue || prevCorrectDates.calendar : undefined,\n time: inputCorrectValue ? timeValue || prevCorrectDates.time : undefined,\n }));\n setInnerDate(formattedDate);\n\n if (originalDate) {\n const quarterInfo = getQuarterInfo(originalDate);\n\n if (onCommitDate) {\n onCommitDate(formattedDate, { quarterInfo, originalDate, isoDate });\n }\n }\n\n if (onChangeValue) {\n onChangeValue(event, formattedDate, { originalDate, isoDate });\n }\n\n requestAnimationFrame(() => {\n if (inputRef.current) {\n inputRef.current.setSelectionRange(newSelectionStart, newSelectionStart);\n }\n });\n };\n\n const handleSearch = (date?: string) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n if (onCommitDate) {\n onCommitDate('', { quarterInfo: undefined, originalDate: undefined, isoDate: '' });\n }\n\n return;\n }\n\n const { formattedDate, isoDate, originalDate } = getFormattedDateTime({\n value: date,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n\n const quarterInfo = getQuarterInfo(originalDate);\n\n if (onCommitDate) {\n onCommitDate(formattedDate, { quarterInfo, originalDate, isoDate });\n }\n };\n\n const handleCalendarPick = (date?: Date | null, quarterInfo?: DateInfo) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n return;\n }\n\n customDayjs.locale(lang);\n let rawDate = customDayjs(date);\n\n if (correctDates.time) {\n const correctTimeDate = customDayjs(correctDates.time);\n const correctHours = correctTimeDate.get('hours');\n const correctMinutes = correctTimeDate.get('minutes');\n const correctSeconds = correctTimeDate.get('seconds');\n\n rawDate = rawDate.set('hours', correctHours).set('minutes', correctMinutes).set('seconds', correctSeconds);\n }\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDateTime({\n originalDate: rawDate.toDate(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const isoDate = normalizedDate.toISOString();\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: formattedNormalizedDate,\n calendar: normalizedDate,\n time: normalizedDate,\n }));\n setInnerDate(formattedNormalizedDate);\n\n if (onCommitDate) {\n onCommitDate(formattedNormalizedDate, { quarterInfo, originalDate: normalizedDate, isoDate });\n }\n\n if (onChangeValue) {\n onChangeValue(null, formattedNormalizedDate, { originalDate: normalizedDate, isoDate });\n }\n };\n\n const handleTimePick = (time?: TimePickerGridChangeEvent) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!time?.value) {\n return;\n }\n\n customDayjs.locale(lang);\n\n let rawDate: Dayjs;\n if (!correctDates.calendar) {\n if (dateOnTimeSelectOnly) {\n rawDate = customDayjs(dateOnTimeSelectOnly);\n } else {\n rawDate = customDayjs();\n }\n } else {\n rawDate = customDayjs(correctDates.calendar);\n }\n\n const { timeValues } = time;\n\n rawDate = rawDate\n .set('hours', timeValues.hour || 0)\n .set('minutes', timeValues.minute || 0)\n .set('seconds', timeValues.second || 0);\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDateTime({\n originalDate: rawDate.toDate(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const isoDate = normalizedDate.toISOString();\n\n const quarterInfo = getQuarterInfo(normalizedDate);\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: formattedNormalizedDate,\n calendar: normalizedDate,\n time: normalizedDate,\n }));\n setInnerDate(formattedNormalizedDate);\n\n if (onCommitDate) {\n onCommitDate(formattedNormalizedDate, { quarterInfo, originalDate: normalizedDate, isoDate });\n }\n\n if (onChangeValue) {\n onChangeValue(null, formattedNormalizedDate, { originalDate: normalizedDate, isoDate });\n }\n };\n\n const updateExternalDate = (externalDate: Date | string | undefined) => {\n const { formattedDate, originalDate, dateValue, timeValue } = getFormattedDateTime({\n value: externalDate,\n lang,\n format,\n dateFormat,\n timeFormat,\n includeEdgeDates,\n min,\n max,\n });\n const { input: inputCorrectValue } = getFormattedCorrectInput({\n originalDate,\n formattedDate,\n dateValue,\n timeValue,\n });\n\n setCorrectDates((prevCorrectDates) => ({\n ...prevCorrectDates,\n input: inputCorrectValue,\n calendar: inputCorrectValue ? dateValue || prevCorrectDates.calendar : undefined,\n time: inputCorrectValue ? timeValue || prevCorrectDates.time : undefined,\n }));\n setInnerDate(formattedDate);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!preserveInvalidOnBlur) {\n customDayjs.locale(lang);\n\n const originalDate = correctDates.calendar;\n\n if (!originalDate) {\n if (onChangeValue) {\n onChangeValue(event, correctDates.input, {\n originalDate: undefined,\n isoDate: '',\n });\n }\n\n if (onCommitDate) {\n onCommitDate(correctDates.input, {\n quarterInfo: undefined,\n originalDate: undefined,\n isoDate: '',\n });\n }\n\n return;\n }\n\n if (correctDates.time) {\n originalDate.setHours(\n correctDates.time.getHours(),\n correctDates.time.getMinutes(),\n correctDates.time.getSeconds(),\n );\n }\n\n setInnerDate(originalDate);\n\n if (!timeGridValue) {\n if (correctDates.calendar) {\n setInnerDate(correctDates.calendar);\n }\n }\n\n if (onChangeValue) {\n onChangeValue(event, correctDates.input, {\n originalDate,\n isoDate: originalDate.toISOString(),\n });\n }\n\n if (onCommitDate) {\n const quarterInfo = getQuarterInfo(originalDate);\n\n onCommitDate(correctDates.input, {\n quarterInfo,\n originalDate,\n isoDate: originalDate.toISOString(),\n });\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return {\n format,\n dateVisibleValue,\n calendarGridValue,\n inputValue,\n timeVisibleValue,\n timeColumnsCount,\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n handleCalendarPick,\n handleTimePick,\n handleBlur,\n updateExternalDate,\n getQuarterInfo,\n isDateEqualEdge,\n };\n};\n"],"names":["useDateTimePicker","_ref","valueError","valueSuccess","type","_ref$lang","lang","disabled","readOnly","outerValue","defaultDate","maskWithFormat","_ref$dateFormat","dateFormat","_ref$timeFormat","timeFormat","_ref$dateTimeSeparato","dateTimeSeparator","inputRef","min","max","includeEdgeDates","dateOnTimeSelectOnly","preserveInvalidOnBlur","onChangeValue","onCommitDate","onBlur","errorClass","classes","error","undefined","successClass","success","dateFormatDelimiter","useMemo","getDateFormatDelimiter","timeFormatDelimiter","delimiters","format","timeColumnsCount","split","length","_useState","useState","_useState2","_slicedToArray","innerDate","setInnerDate","dateVisibleValue","initialValues","getFormattedDateTime","value","_useState3","input","formattedDate","calendar","dateValue","time","timeValue","_useState4","correctDates","setCorrectDates","calendarGridValue","timeGridValue","customDayjs","locale","timeVisibleValue","inputValue","getQuarterInfo","originalDate","endQuarter","Date","setMonth","getMonth","setDate","quarterIndex","quarter","name","QUARTER_NAMES","fullValue","isDateEqualEdge","dateEdge","normalizedEdgeDate","set","normalizedCurrentDate","isSame","getFormattedCorrectInput","_ref2","slice","handleChangeValue","event","_event$target","target","selectionStart","_ref3","getMaskedValue","prevValue","formattedValue","newSelectionStart","_getFormattedDateTime","isoDate","_getFormattedCorrectI","inputCorrectValue","prevCorrectDates","_objectSpread","quarterInfo","requestAnimationFrame","current","setSelectionRange","handleSearch","date","_getFormattedDateTime2","handleCalendarPick","rawDate","correctTimeDate","correctHours","get","correctMinutes","correctSeconds","_normalizeDateTime","normalizeDateTime","toDate","normalizedDate","formattedNormalizedDate","toISOString","handleTimePick","timeValues","hour","minute","second","_normalizeDateTime2","updateExternalDate","externalDate","_getFormattedDateTime3","_getFormattedCorrectI2","handleBlur","setHours","getHours","getMinutes","getSeconds"],"mappings":"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"}
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dateHelper = require('../../DatePicker/utils/dateHelper.js');
6
-
7
5
  var keys = {
8
6
  Space: 'Space',
9
7
  Escape: 'Escape'
@@ -11,15 +9,8 @@ var keys = {
11
9
  var useKeyNavigation = function useKeyNavigation(_ref) {
12
10
  var opened = _ref.opened,
13
11
  closeOnEsc = _ref.closeOnEsc,
14
- format = _ref.format,
15
- maskWithFormat = _ref.maskWithFormat,
16
- delimiters = _ref.delimiters,
17
12
  onToggle = _ref.onToggle;
18
13
  var onKeyDown = function onKeyDown(event) {
19
- if (delimiters !== null && delimiters !== void 0 && delimiters.includes(event.key) && maskWithFormat && format && !dateHelper.needFullMonth(format)) {
20
- event.preventDefault();
21
- return;
22
- }
23
14
  switch (event.code) {
24
15
  case keys.Space:
25
16
  {
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/DateTimePicker/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEvent, SyntheticEvent } from 'react';\nimport { needFullMonth } from 'src/components/DatePicker/utils/dateHelper';\n\ntype Props = {\n opened: boolean;\n closeOnEsc: boolean;\n delimiters?: string[];\n format?: string;\n maskWithFormat?: boolean;\n onToggle: (isOpen: boolean, event: SyntheticEvent | Event) => void;\n};\n\nexport const keys = {\n Space: 'Space',\n Escape: 'Escape',\n};\n\nexport const useKeyNavigation = ({ opened, closeOnEsc, format, maskWithFormat, delimiters, onToggle }: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (delimiters?.includes(event.key) && maskWithFormat && format && !needFullMonth(format)) {\n event.preventDefault();\n return;\n }\n\n switch (event.code) {\n case keys.Space: {\n if (!opened) {\n event.preventDefault();\n onToggle(true, event);\n }\n break;\n }\n case keys.Escape: {\n if (opened && closeOnEsc) {\n event.preventDefault();\n onToggle(false, event);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["keys","Space","Escape","useKeyNavigation","_ref","opened","closeOnEsc","format","maskWithFormat","delimiters","onToggle","onKeyDown","event","includes","key","needFullMonth","preventDefault","code"],"mappings":";;;;;;AAYO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACZ,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAoF;AAAA,EAAA,IAA9EC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAEC,UAAU,GAAAL,IAAA,CAAVK,UAAU;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAA;AAC/F,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;IAC1F,IAAIH,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,IAAVA,UAAU,CAAEI,QAAQ,CAACD,KAAK,CAACE,GAAG,CAAC,IAAIN,cAAc,IAAID,MAAM,IAAI,CAACQ,wBAAa,CAACR,MAAM,CAAC,EAAE;MACvFK,KAAK,CAACI,cAAc,EAAE,CAAA;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,QAAQJ,KAAK,CAACK,IAAI;MACd,KAAKjB,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACI,MAAM,EAAE;YACTO,KAAK,CAACI,cAAc,EAAE,CAAA;AACtBN,YAAAA,QAAQ,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA;AACzB,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;MACA,KAAKZ,IAAI,CAACE,MAAM;AAAE,QAAA;UACd,IAAIG,MAAM,IAAIC,UAAU,EAAE;YACtBM,KAAK,CAACI,cAAc,EAAE,CAAA;AACtBN,YAAAA,QAAQ,CAAC,KAAK,EAAEE,KAAK,CAAC,CAAA;AAC1B,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;AAKJ,KAAA;GACH,CAAA;EAED,OAAO;AAAED,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACxB;;;;;"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/DateTimePicker/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEvent, SyntheticEvent } from 'react';\n\ntype Props = {\n opened: boolean;\n closeOnEsc: boolean;\n onToggle: (isOpen: boolean, event: SyntheticEvent | Event) => void;\n\n delimiters?: string[];\n format?: string;\n maskWithFormat?: boolean;\n};\n\nexport const keys = {\n Space: 'Space',\n Escape: 'Escape',\n};\n\nexport const useKeyNavigation = ({ opened, closeOnEsc, onToggle }: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case keys.Space: {\n if (!opened) {\n event.preventDefault();\n onToggle(true, event);\n }\n break;\n }\n case keys.Escape: {\n if (opened && closeOnEsc) {\n event.preventDefault();\n onToggle(false, event);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["keys","Space","Escape","useKeyNavigation","_ref","opened","closeOnEsc","onToggle","onKeyDown","event","code","preventDefault"],"mappings":";;;;AAYO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACZ,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAgD;AAAA,EAAA,IAA1CC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AAC3D,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;IAC1F,QAAQA,KAAK,CAACC,IAAI;MACd,KAAKV,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACI,MAAM,EAAE;YACTI,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBJ,YAAAA,QAAQ,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA;AACzB,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;MACA,KAAKT,IAAI,CAACE,MAAM;AAAE,QAAA;UACd,IAAIG,MAAM,IAAIC,UAAU,EAAE;YACtBG,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBJ,YAAAA,QAAQ,CAAC,KAAK,EAAEE,KAAK,CAAC,CAAA;AAC1B,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;AAKJ,KAAA;GACH,CAAA;EAED,OAAO;AAAED,IAAAA,SAAS,EAATA,SAAAA;GAAW,CAAA;AACxB;;;;;"}
@@ -18,9 +18,7 @@ _export(exports, {
18
18
  });
19
19
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
20
  var _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
21
- var _datejs = require("../../utils/datejs");
22
21
  var _plasmacore = require("@salutejs/plasma-core");
23
- var _dateHelper = require("../DatePicker/utils/dateHelper");
24
22
  var _DateTimePickerstyles = require("./DateTimePicker.styles");
25
23
  var _base = require("./variations/_size/base");
26
24
  var _base1 = require("./variations/_view/base");
@@ -30,7 +28,6 @@ var _base4 = require("./variations/_readonly/base");
30
28
  var _ui = require("./ui");
31
29
  var _DateTimePickertokens = require("./DateTimePicker.tokens");
32
30
  var _useDateTimePicker = require("./hooks/useDateTimePicker");
33
- var _utils = require("./utils");
34
31
  var _useKeyboardNavigation = require("./hooks/useKeyboardNavigation");
35
32
  function _array_like_to_array(arr, len) {
36
33
  if (len == null || len > arr.length) len = arr.length;
@@ -258,58 +255,9 @@ var dateTimePickerRoot = function(Root) {
258
255
  var inputInnerRef = (0, _plasmacore.useForkRef)(inputRef, ref);
259
256
  var calendarOverlayRef = (0, _react.useRef)(null);
260
257
  var _useState = _sliced_to_array((0, _react.useState)(opened), 2), isInnerOpen = _useState[0], setIsInnerOpen = _useState[1];
261
- var dateFormatDelimiter = (0, _react.useMemo)(function() {
262
- return (0, _dateHelper.getDateFormatDelimiter)(dateFormat);
263
- }, [
264
- dateFormat
265
- ]);
266
- var timeFormatDelimiter = (0, _react.useMemo)(function() {
267
- return (0, _dateHelper.getDateFormatDelimiter)(timeFormat);
268
- }, [
269
- timeFormat
270
- ]);
271
- var timeColumnsCount = (timeFormat === null || timeFormat === void 0 ? void 0 : timeFormat.split(timeFormatDelimiter).length) || 2;
272
- var fullFormat = dateFormat + dateTimeSeparator + timeFormat;
273
- var _useState1 = _sliced_to_array((0, _react.useState)(defaultDate || ''), 2), innerDate = _useState1[0], setInnerDate = _useState1[1];
274
- var dateValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerDate;
275
- var initialValues = (0, _utils.getFormattedDateTime)({
276
- value: dateValue,
277
- lang: lang,
278
- format: fullFormat,
279
- includeEdgeDates: includeEdgeDates,
280
- min: min,
281
- max: max,
282
- dateFormat: dateFormat,
283
- timeFormat: timeFormat
284
- });
285
- var _useState2 = _sliced_to_array((0, _react.useState)({
286
- input: initialValues.formattedDate,
287
- calendar: initialValues.dateValue,
288
- time: initialValues.timeValue
289
- }), 2), correctDates = _useState2[0], setCorrectDates = _useState2[1];
290
- var calendarGridValue = initialValues.dateValue;
291
- var timeGridValue = initialValues.timeValue;
292
- _datejs.customDayjs.locale(lang);
293
- var timeVisibleValue = timeGridValue ? (0, _datejs.customDayjs)(timeGridValue).format(timeFormat) : '';
294
- var inputValue = initialValues.formattedDate;
295
- var isDateEqualEdge = function(dateEdge) {
296
- if (!dateEdge) {
297
- return false;
298
- }
299
- var normalizedEdgeDate = (0, _datejs.customDayjs)(dateEdge);
300
- normalizedEdgeDate.set('hours', 0);
301
- normalizedEdgeDate.set('minutes', 0);
302
- normalizedEdgeDate.set('seconds', 0);
303
- var normalizedCurrentDate = (0, _datejs.customDayjs)(correctDates.calendar);
304
- normalizedCurrentDate.set('hours', 0);
305
- normalizedCurrentDate.set('minutes', 0);
306
- normalizedCurrentDate.set('seconds', 0);
307
- if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {
308
- return true;
309
- }
310
- return false;
311
- };
312
258
  var _useDateTimePicker1 = (0, _useDateTimePicker.useDateTimePicker)({
259
+ inputRef: inputRef,
260
+ outerValue: outerValue,
313
261
  valueError: valueError,
314
262
  valueSuccess: valueSuccess,
315
263
  type: type,
@@ -317,74 +265,17 @@ var dateTimePickerRoot = function(Root) {
317
265
  disabled: disabled,
318
266
  readOnly: readOnly,
319
267
  maskWithFormat: maskWithFormat,
320
- format: fullFormat,
268
+ dateTimeSeparator: dateTimeSeparator,
321
269
  dateFormat: dateFormat,
322
270
  timeFormat: timeFormat,
323
- currentValue: inputValue,
324
- delimiters: [
325
- dateFormatDelimiter,
326
- timeFormatDelimiter,
327
- dateTimeSeparator
328
- ],
329
- inputRef: inputRef,
330
- correctDates: correctDates,
331
271
  max: max,
332
272
  min: min,
333
273
  includeEdgeDates: includeEdgeDates,
334
274
  dateOnTimeSelectOnly: dateOnTimeSelectOnly,
335
- setCorrectDates: setCorrectDates,
336
- setInnerDate: setInnerDate,
337
275
  onChangeValue: onChangeValue,
338
- onCommitDate: onCommitDate
339
- }), errorClass = _useDateTimePicker1.errorClass, successClass = _useDateTimePicker1.successClass, handleChangeValue = _useDateTimePicker1.handleChangeValue, handleSearch = _useDateTimePicker1.handleSearch, getQuarterInfo = _useDateTimePicker1.getQuarterInfo, handleCalendarPick = _useDateTimePicker1.handleCalendarPick, handleTimePick = _useDateTimePicker1.handleTimePick, updateExternalDate = _useDateTimePicker1.updateExternalDate;
340
- var handleBlur = function(event) {
341
- if (!preserveInvalidOnBlur) {
342
- _datejs.customDayjs.locale(lang);
343
- var originalDate = correctDates.calendar;
344
- if (!originalDate) {
345
- if (onChangeValue) {
346
- onChangeValue(event, correctDates.input, {
347
- originalDate: undefined,
348
- isoDate: ''
349
- });
350
- }
351
- if (onCommitDate) {
352
- onCommitDate(correctDates.input, {
353
- quarterInfo: undefined,
354
- originalDate: undefined,
355
- isoDate: ''
356
- });
357
- }
358
- return;
359
- }
360
- if (correctDates.time) {
361
- originalDate.setHours(correctDates.time.getHours(), correctDates.time.getMinutes(), correctDates.time.getSeconds());
362
- }
363
- setInnerDate(originalDate);
364
- if (!timeGridValue) {
365
- if (correctDates.calendar) {
366
- setInnerDate(correctDates.calendar);
367
- }
368
- }
369
- if (onChangeValue) {
370
- onChangeValue(event, correctDates.input, {
371
- originalDate: originalDate,
372
- isoDate: originalDate.toISOString()
373
- });
374
- }
375
- if (onCommitDate) {
376
- var quarterInfo = getQuarterInfo(originalDate);
377
- onCommitDate(correctDates.input, {
378
- quarterInfo: quarterInfo,
379
- originalDate: originalDate,
380
- isoDate: originalDate.toISOString()
381
- });
382
- }
383
- }
384
- if (onBlur) {
385
- onBlur(event);
386
- }
387
- };
276
+ onCommitDate: onCommitDate,
277
+ onBlur: onBlur
278
+ }), format = _useDateTimePicker1.format, dateVisibleValue = _useDateTimePicker1.dateVisibleValue, calendarGridValue = _useDateTimePicker1.calendarGridValue, inputValue = _useDateTimePicker1.inputValue, timeVisibleValue = _useDateTimePicker1.timeVisibleValue, timeColumnsCount = _useDateTimePicker1.timeColumnsCount, errorClass = _useDateTimePicker1.errorClass, successClass = _useDateTimePicker1.successClass, handleChangeValue = _useDateTimePicker1.handleChangeValue, handleSearch = _useDateTimePicker1.handleSearch, handleBlur = _useDateTimePicker1.handleBlur, handleCalendarPick = _useDateTimePicker1.handleCalendarPick, handleTimePick = _useDateTimePicker1.handleTimePick, updateExternalDate = _useDateTimePicker1.updateExternalDate, isDateEqualEdge = _useDateTimePicker1.isDateEqualEdge;
388
279
  var handleCalendarOverlayClick = function(event) {
389
280
  if (disabled || readOnly) {
390
281
  return;
@@ -410,13 +301,6 @@ var dateTimePickerRoot = function(Root) {
410
301
  };
411
302
  var onKeyDown = (0, _useKeyboardNavigation.useKeyNavigation)({
412
303
  opened: isInnerOpen,
413
- format: fullFormat,
414
- maskWithFormat: maskWithFormat,
415
- delimiters: [
416
- dateFormatDelimiter,
417
- timeFormatDelimiter,
418
- dateTimeSeparator
419
- ],
420
304
  closeOnEsc: closeOnEsc,
421
305
  onToggle: handleToggle
422
306
  }).onKeyDown;
@@ -428,12 +312,12 @@ var dateTimePickerRoot = function(Root) {
428
312
  opened
429
313
  ]);
430
314
  (0, _react.useLayoutEffect)(function() {
431
- if (!dateValue) {
315
+ if (!dateVisibleValue) {
432
316
  updateExternalDate(defaultDate);
433
317
  }
434
318
  }, [
435
319
  defaultDate,
436
- fullFormat,
320
+ format,
437
321
  lang
438
322
  ]);
439
323
  return /*#__PURE__*/ _react.default.createElement(Root, {
@@ -534,7 +418,7 @@ var dateTimePickerRoot = function(Root) {
534
418
  }, isDateEqualEdge(max) && {
535
419
  max: max
536
420
  })))), leftHelper && /*#__PURE__*/ _react.default.createElement(_DateTimePickerstyles.LeftHelper, {
537
- className: (0, _classnames.default)('errorClass, successClass')
421
+ className: (0, _classnames.default)(errorClass, successClass)
538
422
  }, leftHelper));
539
423
  });
540
424
  };
@@ -8,11 +8,21 @@ Object.defineProperty(exports, "useDateTimePicker", {
8
8
  return useDateTimePicker;
9
9
  }
10
10
  });
11
+ var _react = require("react");
11
12
  var _datejs = require("../../../utils/datejs");
12
13
  var _utils = require("../../Calendar/utils");
14
+ var _dateHelper = require("../../DatePicker/utils/dateHelper");
13
15
  var _DateTimePickertokens = require("../DateTimePicker.tokens");
14
16
  var _getMaskedValue = require("../utils/getMaskedValue");
15
17
  var _utils1 = require("../utils");
18
+ function _array_like_to_array(arr, len) {
19
+ if (len == null || len > arr.length) len = arr.length;
20
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
21
+ return arr2;
22
+ }
23
+ function _array_with_holes(arr) {
24
+ if (Array.isArray(arr)) return arr;
25
+ }
16
26
  function _define_property(obj, key, value) {
17
27
  if (key in obj) {
18
28
  Object.defineProperty(obj, key, {
@@ -26,6 +36,33 @@ function _define_property(obj, key, value) {
26
36
  }
27
37
  return obj;
28
38
  }
39
+ function _iterable_to_array_limit(arr, i) {
40
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
41
+ if (_i == null) return;
42
+ var _arr = [];
43
+ var _n = true;
44
+ var _d = false;
45
+ var _s, _e;
46
+ try {
47
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
48
+ _arr.push(_s.value);
49
+ if (i && _arr.length === i) break;
50
+ }
51
+ } catch (err) {
52
+ _d = true;
53
+ _e = err;
54
+ } finally{
55
+ try {
56
+ if (!_n && _i["return"] != null) _i["return"]();
57
+ } finally{
58
+ if (_d) throw _e;
59
+ }
60
+ }
61
+ return _arr;
62
+ }
63
+ function _non_iterable_rest() {
64
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
65
+ }
29
66
  function _object_spread(target) {
30
67
  for(var i = 1; i < arguments.length; i++){
31
68
  var source = arguments[i] != null ? arguments[i] : {};
@@ -65,10 +102,60 @@ function _object_spread_props(target, source) {
65
102
  }
66
103
  return target;
67
104
  }
105
+ function _sliced_to_array(arr, i) {
106
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
107
+ }
108
+ function _unsupported_iterable_to_array(o, minLen) {
109
+ if (!o) return;
110
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
111
+ var n = Object.prototype.toString.call(o).slice(8, -1);
112
+ if (n === "Object" && o.constructor) n = o.constructor.name;
113
+ if (n === "Map" || n === "Set") return Array.from(n);
114
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
115
+ }
68
116
  var useDateTimePicker = function(param) {
69
- var valueError = param.valueError, valueSuccess = param.valueSuccess, type = param.type, _param_lang = param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, disabled = param.disabled, readOnly = param.readOnly, maskWithFormat = param.maskWithFormat, format = param.format, dateFormat = param.dateFormat, timeFormat = param.timeFormat, currentValue = param.currentValue, delimiters = param.delimiters, inputRef = param.inputRef, min = param.min, max = param.max, includeEdgeDates = param.includeEdgeDates, correctDates = param.correctDates, dateOnTimeSelectOnly = param.dateOnTimeSelectOnly, setCorrectDates = param.setCorrectDates, setInnerDate = param.setInnerDate, onChangeValue = param.onChangeValue, onCommitDate = param.onCommitDate;
117
+ var valueError = param.valueError, valueSuccess = param.valueSuccess, type = param.type, _param_lang = param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, disabled = param.disabled, readOnly = param.readOnly, outerValue = param.outerValue, defaultDate = param.defaultDate, maskWithFormat = param.maskWithFormat, _param_dateFormat = param.dateFormat, dateFormat = _param_dateFormat === void 0 ? 'DD.MM.YYYY' : _param_dateFormat, _param_timeFormat = param.timeFormat, timeFormat = _param_timeFormat === void 0 ? 'HH:mm:ss' : _param_timeFormat, _param_dateTimeSeparator = param.dateTimeSeparator, dateTimeSeparator = _param_dateTimeSeparator === void 0 ? ' ' : _param_dateTimeSeparator, inputRef = param.inputRef, min = param.min, max = param.max, includeEdgeDates = param.includeEdgeDates, dateOnTimeSelectOnly = param.dateOnTimeSelectOnly, preserveInvalidOnBlur = param.preserveInvalidOnBlur, onChangeValue = param.onChangeValue, onCommitDate = param.onCommitDate, onBlur = param.onBlur;
70
118
  var errorClass = valueError ? _DateTimePickertokens.classes.error : undefined;
71
119
  var successClass = valueSuccess ? _DateTimePickertokens.classes.success : undefined;
120
+ var dateFormatDelimiter = (0, _react.useMemo)(function() {
121
+ return (0, _dateHelper.getDateFormatDelimiter)(dateFormat);
122
+ }, [
123
+ dateFormat
124
+ ]);
125
+ var timeFormatDelimiter = (0, _react.useMemo)(function() {
126
+ return (0, _dateHelper.getDateFormatDelimiter)(timeFormat);
127
+ }, [
128
+ timeFormat
129
+ ]);
130
+ var delimiters = [
131
+ dateFormatDelimiter,
132
+ timeFormatDelimiter,
133
+ dateTimeSeparator
134
+ ];
135
+ var format = dateFormat + dateTimeSeparator + timeFormat;
136
+ var timeColumnsCount = (timeFormat === null || timeFormat === void 0 ? void 0 : timeFormat.split(timeFormatDelimiter).length) || 2;
137
+ var _useState = _sliced_to_array((0, _react.useState)(defaultDate || ''), 2), innerDate = _useState[0], setInnerDate = _useState[1];
138
+ var dateVisibleValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerDate;
139
+ var initialValues = (0, _utils1.getFormattedDateTime)({
140
+ value: dateVisibleValue,
141
+ lang: lang,
142
+ format: format,
143
+ includeEdgeDates: includeEdgeDates,
144
+ min: min,
145
+ max: max,
146
+ dateFormat: dateFormat,
147
+ timeFormat: timeFormat
148
+ });
149
+ var _useState1 = _sliced_to_array((0, _react.useState)({
150
+ input: initialValues.formattedDate,
151
+ calendar: initialValues.dateValue,
152
+ time: initialValues.timeValue
153
+ }), 2), correctDates = _useState1[0], setCorrectDates = _useState1[1];
154
+ var calendarGridValue = initialValues.dateValue;
155
+ var timeGridValue = initialValues.timeValue;
156
+ _datejs.customDayjs.locale(lang);
157
+ var timeVisibleValue = timeGridValue ? (0, _datejs.customDayjs)(timeGridValue).format(timeFormat) : '';
158
+ var inputValue = initialValues.formattedDate;
72
159
  var getQuarterInfo = function(originalDate) {
73
160
  if (type !== 'Quarters' || !originalDate) {
74
161
  return;
@@ -86,6 +173,23 @@ var useDateTimePicker = function(param) {
86
173
  ]
87
174
  };
88
175
  };
176
+ var isDateEqualEdge = function(dateEdge) {
177
+ if (!dateEdge) {
178
+ return false;
179
+ }
180
+ var normalizedEdgeDate = (0, _datejs.customDayjs)(dateEdge);
181
+ normalizedEdgeDate.set('hours', 0);
182
+ normalizedEdgeDate.set('minutes', 0);
183
+ normalizedEdgeDate.set('seconds', 0);
184
+ var normalizedCurrentDate = (0, _datejs.customDayjs)(correctDates.calendar);
185
+ normalizedCurrentDate.set('hours', 0);
186
+ normalizedCurrentDate.set('minutes', 0);
187
+ normalizedCurrentDate.set('seconds', 0);
188
+ if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {
189
+ return true;
190
+ }
191
+ return false;
192
+ };
89
193
  var getFormattedCorrectInput = function(param) {
90
194
  var originalDate = param.originalDate, formattedDate = param.formattedDate, dateValue = param.dateValue, timeValue = param.timeValue;
91
195
  if (originalDate || formattedDate === '') {
@@ -116,7 +220,7 @@ var useDateTimePicker = function(param) {
116
220
  value: value,
117
221
  format: format,
118
222
  delimiters: delimiters,
119
- prevValue: currentValue,
223
+ prevValue: inputValue,
120
224
  selectionStart: selectionStart
121
225
  }) : {
122
226
  formattedValue: value,
@@ -326,14 +430,70 @@ var useDateTimePicker = function(param) {
326
430
  });
327
431
  setInnerDate(formattedDate);
328
432
  };
433
+ var handleBlur = function(event) {
434
+ if (!preserveInvalidOnBlur) {
435
+ _datejs.customDayjs.locale(lang);
436
+ var originalDate = correctDates.calendar;
437
+ if (!originalDate) {
438
+ if (onChangeValue) {
439
+ onChangeValue(event, correctDates.input, {
440
+ originalDate: undefined,
441
+ isoDate: ''
442
+ });
443
+ }
444
+ if (onCommitDate) {
445
+ onCommitDate(correctDates.input, {
446
+ quarterInfo: undefined,
447
+ originalDate: undefined,
448
+ isoDate: ''
449
+ });
450
+ }
451
+ return;
452
+ }
453
+ if (correctDates.time) {
454
+ originalDate.setHours(correctDates.time.getHours(), correctDates.time.getMinutes(), correctDates.time.getSeconds());
455
+ }
456
+ setInnerDate(originalDate);
457
+ if (!timeGridValue) {
458
+ if (correctDates.calendar) {
459
+ setInnerDate(correctDates.calendar);
460
+ }
461
+ }
462
+ if (onChangeValue) {
463
+ onChangeValue(event, correctDates.input, {
464
+ originalDate: originalDate,
465
+ isoDate: originalDate.toISOString()
466
+ });
467
+ }
468
+ if (onCommitDate) {
469
+ var quarterInfo = getQuarterInfo(originalDate);
470
+ onCommitDate(correctDates.input, {
471
+ quarterInfo: quarterInfo,
472
+ originalDate: originalDate,
473
+ isoDate: originalDate.toISOString()
474
+ });
475
+ }
476
+ }
477
+ if (onBlur) {
478
+ onBlur(event);
479
+ }
480
+ };
329
481
  return {
482
+ format: format,
483
+ dateVisibleValue: dateVisibleValue,
484
+ calendarGridValue: calendarGridValue,
485
+ inputValue: inputValue,
486
+ timeVisibleValue: timeVisibleValue,
487
+ timeColumnsCount: timeColumnsCount,
330
488
  errorClass: errorClass,
331
489
  successClass: successClass,
332
490
  handleChangeValue: handleChangeValue,
333
491
  handleSearch: handleSearch,
334
492
  handleCalendarPick: handleCalendarPick,
335
493
  handleTimePick: handleTimePick,
494
+ handleBlur: handleBlur,
336
495
  updateExternalDate: updateExternalDate,
337
- getQuarterInfo: getQuarterInfo
496
+ getQuarterInfo: getQuarterInfo,
497
+ isDateEqualEdge: isDateEqualEdge
338
498
  };
339
499
  };
@@ -16,18 +16,13 @@ _export(exports, {
16
16
  return useKeyNavigation;
17
17
  }
18
18
  });
19
- var _dateHelper = require("../../DatePicker/utils/dateHelper");
20
19
  var keys = {
21
20
  Space: 'Space',
22
21
  Escape: 'Escape'
23
22
  };
24
23
  var useKeyNavigation = function(param) {
25
- var opened = param.opened, closeOnEsc = param.closeOnEsc, format = param.format, maskWithFormat = param.maskWithFormat, delimiters = param.delimiters, onToggle = param.onToggle;
24
+ var opened = param.opened, closeOnEsc = param.closeOnEsc, onToggle = param.onToggle;
26
25
  var onKeyDown = function(event) {
27
- if ((delimiters === null || delimiters === void 0 ? void 0 : delimiters.includes(event.key)) && maskWithFormat && format && !(0, _dateHelper.needFullMonth)(format)) {
28
- event.preventDefault();
29
- return;
30
- }
31
26
  switch(event.code){
32
27
  case keys.Space:
33
28
  {
@@ -1 +1,16 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Combobox", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Combobox;
9
+ }
10
+ });
11
+ var _engines = require("../../../engines");
12
+ var _ = require("../../..");
13
+ var _Comboboxconfig = require("./Combobox.config");
14
+ var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
15
+ var ComboboxComponent = (0, _engines.component)(mergedConfig);
16
+ var Combobox = ComboboxComponent;