@salutejs/plasma-new-hope 0.322.0-canary.1939.14616445713.0 → 0.322.0-canary.1939.14642328722.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 (80) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  5. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +3 -1
  6. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  7. package/cjs/components/DatePicker/utils/dateHelper.js +4 -0
  8. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  9. package/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
  10. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +1 -1
  11. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +3 -1
  12. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -1
  13. package/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
  14. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +1 -1
  15. package/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
  16. package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -1
  17. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
  18. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
  19. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
  20. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +4 -1
  21. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
  22. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
  23. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
  24. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
  25. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
  26. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
  27. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
  28. package/emotion/es/components/DatePicker/utils/dateHelper.js +3 -0
  29. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +2 -1
  30. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
  31. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +2 -13
  32. package/emotion/es/components/DatePicker/utils/normalizeDates.js +6 -3
  33. package/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
  34. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  35. package/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
  36. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  37. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +3 -1
  38. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  39. package/es/components/DatePicker/utils/dateHelper.js +4 -1
  40. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  41. package/es/components/DatePicker/utils/getFormattedDates.js +2 -1
  42. package/es/components/DatePicker/utils/getFormattedDates.js.map +1 -1
  43. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +3 -1
  44. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -1
  45. package/es/components/DatePicker/utils/getOriginalDates.js +2 -13
  46. package/es/components/DatePicker/utils/getOriginalDates.js.map +1 -1
  47. package/es/components/DatePicker/utils/normalizeDates.js +6 -3
  48. package/es/components/DatePicker/utils/normalizeDates.js.map +1 -1
  49. package/package.json +4 -4
  50. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
  51. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
  52. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
  53. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +4 -1
  54. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
  55. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
  56. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
  57. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
  58. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
  59. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
  60. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
  61. package/styled-components/es/components/DatePicker/utils/dateHelper.js +3 -0
  62. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +2 -1
  63. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
  64. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +2 -13
  65. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +6 -3
  66. package/types/components/DatePicker/DatePickerBase.types.d.ts +2 -2
  67. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  68. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +2 -2
  69. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  70. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +5 -4
  71. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  72. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +3 -3
  73. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  74. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  75. package/types/components/DatePicker/utils/dateHelper.d.ts +1 -0
  76. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  77. package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +1 -1
  78. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +1 -1
  79. package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +1 -1
  80. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -1
@@ -220,7 +220,9 @@ var datePickerRoot = function datePickerRoot(Root) {
220
220
  updateExternalDate(value);
221
221
  }, [value, format, lang]);
222
222
  useLayoutEffect(function () {
223
- !value && updateExternalDate(defaultDate);
223
+ if (!value) {
224
+ updateExternalDate(defaultDate);
225
+ }
224
226
  }, [defaultDate, format, lang]);
225
227
  return /*#__PURE__*/React.createElement(Root, _extends({
226
228
  view: view,
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, FocusEvent } from 'react';\nimport type { DateType } from 'src/components/Calendar/Calendar.types';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n value,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n if (value && defaultDate) {\n console.error(\"Controlled DatePicker can't have `defaultDate`, use `value` instead\");\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const initialValues = getFormattedDates({\n value: value || defaultDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n const [calendarValue, setCalendarValue] = useState<DateType>(correctDates.calendar);\n const [inputValue, setInputValue] = useState(correctDates.input);\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick,\n handleSearch,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n if (!innerOpened && !calendarValue) {\n setCalendarValue((prevValue) => (prevValue === undefined ? null : undefined));\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter(),\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!calendarValue && correctDates.calendar) {\n setCalendarValue(new Date(correctDates.calendar));\n setInputValue(correctDates.input);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cx(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n updateExternalDate(value);\n }, [value, format, lang]);\n\n useLayoutEffect(() => {\n !value && updateExternalDate(defaultDate);\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n <StyledCalendar\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cx(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","console","error","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useCallback","getDateFormatDelimiter","initialValues","getFormattedDates","delimiter","_useState3","calendar","originalDate","input","formattedDate","_useState4","correctDates","setCorrectDates","_useState5","_useState6","calendarValue","setCalendarValue","_useState7","_useState8","inputValue","setInputValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCalendarPick","handleSearch","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","undefined","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","DatePickerInput","React","createElement","StyledInput","cx","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendar","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, SyntheticEvent, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent, FocusEvent } from 'react';\nimport type { DateType } from 'src/components/Calendar/Calendar.types';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerProps } from './SingleDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledInput, StyledPopover, base } from './SingleDate.styles';\n\nexport const datePickerRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n opened = false,\n value,\n\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n required = false,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n placeholder,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n autoComplete,\n ...rest\n },\n ref,\n ) => {\n if (value && defaultDate) {\n console.error(\"Controlled DatePicker can't have `defaultDate`, use `value` instead\");\n }\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const initialValues = getFormattedDates({\n value: value || defaultDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctDates, setCorrectDates] = useState({\n calendar: initialValues.originalDate,\n input: initialValues.formattedDate,\n });\n const [calendarValue, setCalendarValue] = useState<DateType>(correctDates.calendar);\n const [inputValue, setInputValue] = useState(correctDates.input);\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCalendarPick,\n handleSearch,\n updateExternalDate,\n } = useDatePicker({\n currentValue: inputValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const handleToggle = (innerOpened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event.target === inputRef?.current &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : innerOpened;\n\n if (!innerOpened && !calendarValue) {\n setCalendarValue((prevValue) => (prevValue === undefined ? null : undefined));\n }\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter(),\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!calendarValue && correctDates.calendar) {\n setCalendarValue(new Date(correctDates.calendar));\n setInputValue(correctDates.input);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const DatePickerInput = (\n <StyledInput\n ref={inputRef}\n className={cx(datePickerErrorClass, datePickerSuccessClass)}\n value={inputValue}\n size={size}\n readOnly={readOnly}\n disabled={disabled}\n placeholder={placeholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onChange={handleChangeValue}\n onSearch={handleSearch}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n autoComplete={autoComplete}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n updateExternalDate(value);\n }, [value, format, lang]);\n\n useLayoutEffect(() => {\n if (!value) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n ref={ref}\n {...rest}\n >\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement, false)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\n >\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n <StyledCalendar\n size={size}\n value={calendarValue}\n type={type}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={handleCalendarPick}\n />\n </Root>\n </StyledPopover>\n {leftHelper && (\n <LeftHelper className={cx(datePickerErrorClass, datePickerSuccessClass)}>\n {leftHelper}\n </LeftHelper>\n )}\n <InputHidden\n type=\"hidden\"\n datatype=\"datepicker-single\"\n name={name}\n value={inputValue}\n ref={innerRef}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerConfig = {\n name: 'DatePicker',\n tag: 'div',\n layout: datePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRoot","Root","forwardRef","_ref","ref","className","_ref$opened","opened","value","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$required","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","autoComplete","rest","_objectWithoutProperties","_excluded","console","error","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useCallback","getDateFormatDelimiter","initialValues","getFormattedDates","delimiter","_useState3","calendar","originalDate","input","formattedDate","_useState4","correctDates","setCorrectDates","_useState5","_useState6","calendarValue","setCalendarValue","_useState7","_useState8","inputValue","setInputValue","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCalendarPick","handleSearch","updateExternalDate","handleToggle","innerOpened","event","isCalendarOpen","target","current","code","keys","Escape","prevValue","undefined","_useKeyNavigation","useKeyNavigation","onKeyDown","handleBlur","Date","DatePickerInput","React","createElement","StyledInput","cx","onSearch","useEffect","prevOpen","useLayoutEffect","_extends","classes","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendar","isRange","locale","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { needFullMonth } from '../utils/dateHelper.js';
2
+
1
3
  var keys = {
2
4
  Space: 'Space',
3
5
  Escape: 'Escape'
@@ -10,7 +12,7 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
10
12
  delimiter = _ref.delimiter,
11
13
  onToggle = _ref.onToggle;
12
14
  var onKeyDown = function onKeyDown(event) {
13
- if (event.key === delimiter && maskWithFormat && format && !/M{3,4}/g.test(format)) {
15
+ if (event.key === delimiter && maskWithFormat && format && !needFullMonth(format)) {
14
16
  event.preventDefault();
15
17
  return;
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/DatePicker/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEvent, SyntheticEvent } from 'react';\n\ninterface Props {\n isCalendarOpen: boolean;\n closeOnEsc: boolean;\n delimiter: 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 = ({\n isCalendarOpen,\n closeOnEsc,\n format,\n maskWithFormat,\n delimiter,\n onToggle,\n}: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (event.key === delimiter && maskWithFormat && format && !/M{3,4}/g.test(format)) {\n event.preventDefault();\n return;\n }\n\n switch (event.code) {\n case keys.Space: {\n if (!isCalendarOpen) {\n event.preventDefault();\n onToggle(true, event);\n }\n break;\n }\n case keys.Escape: {\n if (isCalendarOpen && 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","isCalendarOpen","closeOnEsc","format","maskWithFormat","delimiter","onToggle","onKeyDown","event","key","test","preventDefault","code"],"mappings":"AAWO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACZ,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAOhB;AAAA,EAAA,IANTC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,SAAS,GAAAL,IAAA,CAATK,SAAS;IACTC,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAA;AAER,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;AAC1F,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAKJ,SAAS,IAAID,cAAc,IAAID,MAAM,IAAI,CAAC,SAAS,CAACO,IAAI,CAACP,MAAM,CAAC,EAAE;MAChFK,KAAK,CAACG,cAAc,EAAE,CAAA;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,QAAQH,KAAK,CAACI,IAAI;MACd,KAAKhB,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACI,cAAc,EAAE;YACjBO,KAAK,CAACG,cAAc,EAAE,CAAA;AACtBL,YAAAA,QAAQ,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA;AACzB,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;MACA,KAAKZ,IAAI,CAACE,MAAM;AAAE,QAAA;UACd,IAAIG,cAAc,IAAIC,UAAU,EAAE;YAC9BM,KAAK,CAACG,cAAc,EAAE,CAAA;AACtBL,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/DatePicker/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { ChangeEvent, KeyboardEvent, SyntheticEvent } from 'react';\n\nimport { needFullMonth } from '../utils/dateHelper';\n\ninterface Props {\n isCalendarOpen: boolean;\n closeOnEsc: boolean;\n delimiter: 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 = ({\n isCalendarOpen,\n closeOnEsc,\n format,\n maskWithFormat,\n delimiter,\n onToggle,\n}: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (event.key === delimiter && maskWithFormat && format && !needFullMonth(format)) {\n event.preventDefault();\n return;\n }\n\n switch (event.code) {\n case keys.Space: {\n if (!isCalendarOpen) {\n event.preventDefault();\n onToggle(true, event);\n }\n break;\n }\n case keys.Escape: {\n if (isCalendarOpen && 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","isCalendarOpen","closeOnEsc","format","maskWithFormat","delimiter","onToggle","onKeyDown","event","key","needFullMonth","preventDefault","code"],"mappings":";;AAaO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACZ,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAOhB;AAAA,EAAA,IANTC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IACVC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACdC,SAAS,GAAAL,IAAA,CAATK,SAAS;IACTC,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAA;AAER,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;AAC1F,IAAA,IAAIA,KAAK,CAACC,GAAG,KAAKJ,SAAS,IAAID,cAAc,IAAID,MAAM,IAAI,CAACO,aAAa,CAACP,MAAM,CAAC,EAAE;MAC/EK,KAAK,CAACG,cAAc,EAAE,CAAA;AACtB,MAAA,OAAA;AACJ,KAAA;IAEA,QAAQH,KAAK,CAACI,IAAI;MACd,KAAKhB,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACI,cAAc,EAAE;YACjBO,KAAK,CAACG,cAAc,EAAE,CAAA;AACtBL,YAAAA,QAAQ,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA;AACzB,WAAA;AACA,UAAA,MAAA;AACJ,SAAA;MACA,KAAKZ,IAAI,CAACE,MAAM;AAAE,QAAA;UACd,IAAIG,cAAc,IAAIC,UAAU,EAAE;YAC9BM,KAAK,CAACG,cAAc,EAAE,CAAA;AACtBL,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,3 +1,6 @@
1
+ var needFullMonth = function needFullMonth(format) {
2
+ return /M{3,4}/g.test(format);
3
+ };
1
4
  var getDateFormatDelimiter = function getDateFormatDelimiter(format) {
2
5
  var _format$match;
3
6
  if (!format) {
@@ -7,5 +10,5 @@ var getDateFormatDelimiter = function getDateFormatDelimiter(format) {
7
10
  return delimiter !== null && delimiter !== void 0 ? delimiter : '';
8
11
  };
9
12
 
10
- export { getDateFormatDelimiter };
13
+ export { getDateFormatDelimiter, needFullMonth };
11
14
  //# sourceMappingURL=dateHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateHelper.js","sources":["../../../../src/components/DatePicker/utils/dateHelper.ts"],"sourcesContent":["export type Langs = 'ru' | 'en';\n\nexport const getDateFormatDelimiter = (format?: string) => {\n if (!format) {\n return '';\n }\n\n const delimiter = format.match(/[^a-zA-Z0-9]/)?.[0];\n\n return delimiter ?? '';\n};\n"],"names":["getDateFormatDelimiter","format","_format$match","delimiter","match"],"mappings":"IAEaA,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,MAAe,EAAK;AAAA,EAAA,IAAAC,aAAA,CAAA;EACvD,IAAI,CAACD,MAAM,EAAE;AACT,IAAA,OAAO,EAAE,CAAA;AACb,GAAA;AAEA,EAAA,IAAME,SAAS,GAAAD,CAAAA,aAAA,GAAGD,MAAM,CAACG,KAAK,CAAC,cAAc,CAAC,cAAAF,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,aAAA,CAA+B,CAAC,CAAC,CAAA;AAEnD,EAAA,OAAOC,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAC1B;;;;"}
1
+ {"version":3,"file":"dateHelper.js","sources":["../../../../src/components/DatePicker/utils/dateHelper.ts"],"sourcesContent":["export type Langs = 'ru' | 'en';\n\nexport const needFullMonth = (format: string) => /M{3,4}/g.test(format);\n\nexport const getDateFormatDelimiter = (format?: string) => {\n if (!format) {\n return '';\n }\n\n const delimiter = format.match(/[^a-zA-Z0-9]/)?.[0];\n\n return delimiter ?? '';\n};\n"],"names":["needFullMonth","format","test","getDateFormatDelimiter","_format$match","delimiter","match"],"mappings":"IAEaA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,MAAc,EAAA;AAAA,EAAA,OAAK,SAAS,CAACC,IAAI,CAACD,MAAM,CAAC,CAAA;AAAA,EAAA;IAE1DE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIF,MAAe,EAAK;AAAA,EAAA,IAAAG,aAAA,CAAA;EACvD,IAAI,CAACH,MAAM,EAAE;AACT,IAAA,OAAO,EAAE,CAAA;AACb,GAAA;AAEA,EAAA,IAAMI,SAAS,GAAAD,CAAAA,aAAA,GAAGH,MAAM,CAACK,KAAK,CAAC,cAAc,CAAC,cAAAF,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,aAAA,CAA+B,CAAC,CAAC,CAAA;AAEnD,EAAA,OAAOC,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,SAAS,GAAI,EAAE,CAAA;AAC1B;;;;"}
@@ -1,3 +1,4 @@
1
+ import { needFullMonth } from './dateHelper.js';
1
2
  import { getOriginalDates } from './getOriginalDates.js';
2
3
  import { normalizeDates } from './normalizeDates.js';
3
4
 
@@ -13,7 +14,7 @@ var getFormattedDates = function getFormattedDates(_ref) {
13
14
  isoDate = _getOriginalDates.isoDate,
14
15
  originalDate = _getOriginalDates.originalDate;
15
16
  if (!originalDate) {
16
- var innerValue = format && (/M{3,4}/g.test(format) ? formattedDate : formattedDate.slice(0, format.length));
17
+ var innerValue = format && (needFullMonth(format) ? formattedDate : formattedDate.slice(0, format.length));
17
18
  return {
18
19
  formattedDate: innerValue || '',
19
20
  isoDate: isoDate,
@@ -1 +1 @@
1
- {"version":3,"file":"getFormattedDates.js","sources":["../../../../src/components/DatePicker/utils/getFormattedDates.ts"],"sourcesContent":["import type { Langs } from './dateHelper';\nimport { getOriginalDates } from './getOriginalDates';\nimport { normalizeDates } from './normalizeDates';\n\ntype GetFormattedDatesArgs = {\n value: Date | string | null;\n delimiter: string;\n lang?: Langs;\n format?: string;\n includeEdgeDates?: boolean;\n min?: Date;\n max?: Date;\n};\n\nexport const getFormattedDates = ({ value, lang, format, includeEdgeDates, min, max }: GetFormattedDatesArgs) => {\n const { formattedDate, isoDate, originalDate } = getOriginalDates(value, lang, format);\n\n if (!originalDate) {\n const innerValue = format && (/M{3,4}/g.test(format) ? formattedDate : formattedDate.slice(0, format.length));\n\n return {\n formattedDate: innerValue || '',\n isoDate,\n originalDate,\n };\n }\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDates({\n originalDate,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n return {\n formattedDate: formattedNormalizedDate,\n isoDate: normalizedDate.toISOString(),\n originalDate: normalizedDate,\n };\n};\n"],"names":["getFormattedDates","_ref","value","lang","format","includeEdgeDates","min","max","_getOriginalDates","getOriginalDates","formattedDate","isoDate","originalDate","innerValue","test","slice","length","_normalizeDates","normalizeDates","normalizedDate","formattedNormalizedDate","toISOString"],"mappings":";;;IAcaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAmF;AAAA,EAAA,IAA7EC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EAC/E,IAAAC,iBAAA,GAAiDC,gBAAgB,CAACP,KAAK,EAAEC,IAAI,EAAEC,MAAM,CAAC;IAA9EM,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEC,OAAO,GAAAH,iBAAA,CAAPG,OAAO;IAAEC,YAAY,GAAAJ,iBAAA,CAAZI,YAAY,CAAA;EAE5C,IAAI,CAACA,YAAY,EAAE;IACf,IAAMC,UAAU,GAAGT,MAAM,KAAK,SAAS,CAACU,IAAI,CAACV,MAAM,CAAC,GAAGM,aAAa,GAAGA,aAAa,CAACK,KAAK,CAAC,CAAC,EAAEX,MAAM,CAACY,MAAM,CAAC,CAAC,CAAA;IAE7G,OAAO;MACHN,aAAa,EAAEG,UAAU,IAAI,EAAE;AAC/BF,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,YAAY,EAAZA,YAAAA;KACH,CAAA;AACL,GAAA;EAEA,IAAAK,eAAA,GAAoDC,cAAc,CAAC;AAC/DN,MAAAA,YAAY,EAAZA,YAAY;AACZT,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,GAAG,EAAHA,GAAG;AACHC,MAAAA,GAAG,EAAHA,GAAAA;AACJ,KAAC,CAAC;IAPMY,cAAc,GAAAF,eAAA,CAAdE,cAAc;IAAEC,uBAAuB,GAAAH,eAAA,CAAvBG,uBAAuB,CAAA;EAS/C,OAAO;AACHV,IAAAA,aAAa,EAAEU,uBAAuB;AACtCT,IAAAA,OAAO,EAAEQ,cAAc,CAACE,WAAW,EAAE;AACrCT,IAAAA,YAAY,EAAEO,cAAAA;GACjB,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"getFormattedDates.js","sources":["../../../../src/components/DatePicker/utils/getFormattedDates.ts"],"sourcesContent":["import { needFullMonth } from './dateHelper';\nimport type { Langs } from './dateHelper';\nimport { getOriginalDates } from './getOriginalDates';\nimport { normalizeDates } from './normalizeDates';\n\ntype GetFormattedDatesArgs = {\n value: Date | string | null;\n delimiter: string;\n lang?: Langs;\n format?: string;\n includeEdgeDates?: boolean;\n min?: Date;\n max?: Date;\n};\n\nexport const getFormattedDates = ({ value, lang, format, includeEdgeDates, min, max }: GetFormattedDatesArgs) => {\n const { formattedDate, isoDate, originalDate } = getOriginalDates(value, lang, format);\n\n if (!originalDate) {\n const innerValue = format && (needFullMonth(format) ? formattedDate : formattedDate.slice(0, format.length));\n\n return {\n formattedDate: innerValue || '',\n isoDate,\n originalDate,\n };\n }\n\n const { normalizedDate, formattedNormalizedDate } = normalizeDates({\n originalDate,\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n return {\n formattedDate: formattedNormalizedDate,\n isoDate: normalizedDate.toISOString(),\n originalDate: normalizedDate,\n };\n};\n"],"names":["getFormattedDates","_ref","value","lang","format","includeEdgeDates","min","max","_getOriginalDates","getOriginalDates","formattedDate","isoDate","originalDate","innerValue","needFullMonth","slice","length","_normalizeDates","normalizeDates","normalizedDate","formattedNormalizedDate","toISOString"],"mappings":";;;;IAeaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAAmF;AAAA,EAAA,IAA7EC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EAC/E,IAAAC,iBAAA,GAAiDC,gBAAgB,CAACP,KAAK,EAAEC,IAAI,EAAEC,MAAM,CAAC;IAA9EM,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEC,OAAO,GAAAH,iBAAA,CAAPG,OAAO;IAAEC,YAAY,GAAAJ,iBAAA,CAAZI,YAAY,CAAA;EAE5C,IAAI,CAACA,YAAY,EAAE;IACf,IAAMC,UAAU,GAAGT,MAAM,KAAKU,aAAa,CAACV,MAAM,CAAC,GAAGM,aAAa,GAAGA,aAAa,CAACK,KAAK,CAAC,CAAC,EAAEX,MAAM,CAACY,MAAM,CAAC,CAAC,CAAA;IAE5G,OAAO;MACHN,aAAa,EAAEG,UAAU,IAAI,EAAE;AAC/BF,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,YAAY,EAAZA,YAAAA;KACH,CAAA;AACL,GAAA;EAEA,IAAAK,eAAA,GAAoDC,cAAc,CAAC;AAC/DN,MAAAA,YAAY,EAAZA,YAAY;AACZT,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,GAAG,EAAHA,GAAG;AACHC,MAAAA,GAAG,EAAHA,GAAAA;AACJ,KAAC,CAAC;IAPMY,cAAc,GAAAF,eAAA,CAAdE,cAAc;IAAEC,uBAAuB,GAAAH,eAAA,CAAvBG,uBAAuB,CAAA;EAS/C,OAAO;AACHV,IAAAA,aAAa,EAAEU,uBAAuB;AACtCT,IAAAA,OAAO,EAAEQ,cAAc,CAACE,WAAW,EAAE;AACrCT,IAAAA,YAAY,EAAEO,cAAAA;GACjB,CAAA;AACL;;;;"}
@@ -1,8 +1,10 @@
1
+ import { needFullMonth } from './dateHelper.js';
2
+
1
3
  var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimiter, prevValue) {
2
4
  if (!value) {
3
5
  return '';
4
6
  }
5
- if (!format || !delimiter || /M{3,4}/g.test(format)) {
7
+ if (!format || !delimiter || needFullMonth(format)) {
6
8
  return value;
7
9
  }
8
10
  var dateRegExp = new RegExp("[^0-9".concat(delimiter, "]"), 'g');
@@ -1 +1 @@
1
- {"version":3,"file":"getMaskedDateOnInput.js","sources":["../../../../src/components/DatePicker/utils/getMaskedDateOnInput.ts"],"sourcesContent":["export const getMaskedDateOnInput = (value?: string, format?: string, delimiter?: string, prevValue?: string) => {\n if (!value) {\n return '';\n }\n\n if (!format || !delimiter || /M{3,4}/g.test(format)) {\n return value;\n }\n\n const dateRegExp = new RegExp(`[^0-9${delimiter}]`, 'g');\n const formattedValue = value.replace(dateRegExp, '');\n\n if (formattedValue.length >= format.length) {\n return formattedValue.slice(0, format.length);\n }\n\n if (prevValue && formattedValue.length < prevValue.length && prevValue?.[formattedValue.length] === delimiter) {\n return formattedValue.slice(0, -1);\n }\n\n if (format?.[formattedValue.length] === delimiter) {\n return formattedValue + delimiter;\n }\n\n return formattedValue;\n};\n"],"names":["getMaskedDateOnInput","value","format","delimiter","prevValue","test","dateRegExp","RegExp","concat","formattedValue","replace","length","slice"],"mappings":"AAAaA,IAAAA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,KAAc,EAAEC,MAAe,EAAEC,SAAkB,EAAEC,SAAkB,EAAK;EAC7G,IAAI,CAACH,KAAK,EAAE;AACR,IAAA,OAAO,EAAE,CAAA;AACb,GAAA;AAEA,EAAA,IAAI,CAACC,MAAM,IAAI,CAACC,SAAS,IAAI,SAAS,CAACE,IAAI,CAACH,MAAM,CAAC,EAAE;AACjD,IAAA,OAAOD,KAAK,CAAA;AAChB,GAAA;EAEA,IAAMK,UAAU,GAAG,IAAIC,MAAM,CAAA,OAAA,CAAAC,MAAA,CAASL,SAAS,EAAK,GAAA,CAAA,EAAA,GAAG,CAAC,CAAA;EACxD,IAAMM,cAAc,GAAGR,KAAK,CAACS,OAAO,CAACJ,UAAU,EAAE,EAAE,CAAC,CAAA;AAEpD,EAAA,IAAIG,cAAc,CAACE,MAAM,IAAIT,MAAM,CAACS,MAAM,EAAE;IACxC,OAAOF,cAAc,CAACG,KAAK,CAAC,CAAC,EAAEV,MAAM,CAACS,MAAM,CAAC,CAAA;AACjD,GAAA;EAEA,IAAIP,SAAS,IAAIK,cAAc,CAACE,MAAM,GAAGP,SAAS,CAACO,MAAM,IAAI,CAAAP,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAGK,cAAc,CAACE,MAAM,CAAC,MAAKR,SAAS,EAAE;IAC3G,OAAOM,cAAc,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACtC,GAAA;AAEA,EAAA,IAAI,CAAAV,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAGO,cAAc,CAACE,MAAM,CAAC,MAAKR,SAAS,EAAE;IAC/C,OAAOM,cAAc,GAAGN,SAAS,CAAA;AACrC,GAAA;AAEA,EAAA,OAAOM,cAAc,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"getMaskedDateOnInput.js","sources":["../../../../src/components/DatePicker/utils/getMaskedDateOnInput.ts"],"sourcesContent":["import { needFullMonth } from './dateHelper';\n\nexport const getMaskedDateOnInput = (value?: string, format?: string, delimiter?: string, prevValue?: string) => {\n if (!value) {\n return '';\n }\n\n if (!format || !delimiter || needFullMonth(format)) {\n return value;\n }\n\n const dateRegExp = new RegExp(`[^0-9${delimiter}]`, 'g');\n const formattedValue = value.replace(dateRegExp, '');\n\n if (formattedValue.length >= format.length) {\n return formattedValue.slice(0, format.length);\n }\n\n if (prevValue && formattedValue.length < prevValue.length && prevValue?.[formattedValue.length] === delimiter) {\n return formattedValue.slice(0, -1);\n }\n\n if (format?.[formattedValue.length] === delimiter) {\n return formattedValue + delimiter;\n }\n\n return formattedValue;\n};\n"],"names":["getMaskedDateOnInput","value","format","delimiter","prevValue","needFullMonth","dateRegExp","RegExp","concat","formattedValue","replace","length","slice"],"mappings":";;AAEaA,IAAAA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,KAAc,EAAEC,MAAe,EAAEC,SAAkB,EAAEC,SAAkB,EAAK;EAC7G,IAAI,CAACH,KAAK,EAAE;AACR,IAAA,OAAO,EAAE,CAAA;AACb,GAAA;EAEA,IAAI,CAACC,MAAM,IAAI,CAACC,SAAS,IAAIE,aAAa,CAACH,MAAM,CAAC,EAAE;AAChD,IAAA,OAAOD,KAAK,CAAA;AAChB,GAAA;EAEA,IAAMK,UAAU,GAAG,IAAIC,MAAM,CAAA,OAAA,CAAAC,MAAA,CAASL,SAAS,EAAK,GAAA,CAAA,EAAA,GAAG,CAAC,CAAA;EACxD,IAAMM,cAAc,GAAGR,KAAK,CAACS,OAAO,CAACJ,UAAU,EAAE,EAAE,CAAC,CAAA;AAEpD,EAAA,IAAIG,cAAc,CAACE,MAAM,IAAIT,MAAM,CAACS,MAAM,EAAE;IACxC,OAAOF,cAAc,CAACG,KAAK,CAAC,CAAC,EAAEV,MAAM,CAACS,MAAM,CAAC,CAAA;AACjD,GAAA;EAEA,IAAIP,SAAS,IAAIK,cAAc,CAACE,MAAM,GAAGP,SAAS,CAACO,MAAM,IAAI,CAAAP,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAGK,cAAc,CAACE,MAAM,CAAC,MAAKR,SAAS,EAAE;IAC3G,OAAOM,cAAc,CAACG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACtC,GAAA;AAEA,EAAA,IAAI,CAAAV,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAGO,cAAc,CAACE,MAAM,CAAC,MAAKR,SAAS,EAAE;IAC/C,OAAOM,cAAc,GAAGN,SAAS,CAAA;AACrC,GAAA;AAEA,EAAA,OAAOM,cAAc,CAAA;AACzB;;;;"}
@@ -6,7 +6,7 @@ var initialValueStructure = {
6
6
  formattedDate: ''
7
7
  };
8
8
  var getOriginalDates = function getOriginalDates(value, lang, format) {
9
- if (!value || !lang) {
9
+ if (!value || !lang || !format) {
10
10
  return initialValueStructure;
11
11
  }
12
12
  customDayjs.locale(lang);
@@ -17,13 +17,6 @@ var getOriginalDates = function getOriginalDates(value, lang, format) {
17
17
  originalDate: new Date(value)
18
18
  };
19
19
  }
20
- if (!format) {
21
- return {
22
- formattedDate: value,
23
- isoDate: '',
24
- originalDate: undefined
25
- };
26
- }
27
20
  if (customDayjs(value, format).isValid()) {
28
21
  var isoDate = customDayjs(value, format).toISOString();
29
22
  var originalDate = customDayjs(value, format).toDate();
@@ -34,11 +27,7 @@ var getOriginalDates = function getOriginalDates(value, lang, format) {
34
27
  originalDate: originalDate
35
28
  };
36
29
  }
37
- return {
38
- formattedDate: value,
39
- isoDate: '',
40
- originalDate: undefined
41
- };
30
+ return initialValueStructure;
42
31
  };
43
32
 
44
33
  export { getOriginalDates };
@@ -1 +1 @@
1
- {"version":3,"file":"getOriginalDates.js","sources":["../../../../src/components/DatePicker/utils/getOriginalDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nconst initialValueStructure = {\n isoDate: '',\n originalDate: undefined,\n formattedDate: '',\n};\n\nexport const getOriginalDates = (value: Date | string | null, lang?: string, format?: string) => {\n if (!value || !lang) {\n return initialValueStructure;\n }\n\n customDayjs.locale(lang);\n\n if (value instanceof Date) {\n return {\n formattedDate: customDayjs(value).format(format),\n isoDate: new Date(value).toISOString(),\n originalDate: new Date(value),\n };\n }\n\n if (!format) {\n return { formattedDate: value, isoDate: '', originalDate: undefined };\n }\n\n if (customDayjs(value, format).isValid()) {\n const isoDate = customDayjs(value, format).toISOString();\n const originalDate = customDayjs(value, format).toDate();\n const formattedDate = customDayjs(value, format).format(format);\n\n return { formattedDate, isoDate, originalDate };\n }\n\n return { formattedDate: value, isoDate: '', originalDate: undefined };\n};\n"],"names":["initialValueStructure","isoDate","originalDate","undefined","formattedDate","getOriginalDates","value","lang","format","customDayjs","locale","Date","toISOString","isValid","toDate"],"mappings":";;AAEA,IAAMA,qBAAqB,GAAG;AAC1BC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,aAAa,EAAE,EAAA;AACnB,CAAC,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAA2B,EAAEC,IAAa,EAAEC,MAAe,EAAK;AAC7F,EAAA,IAAI,CAACF,KAAK,IAAI,CAACC,IAAI,EAAE;AACjB,IAAA,OAAOP,qBAAqB,CAAA;AAChC,GAAA;AAEAS,EAAAA,WAAW,CAACC,MAAM,CAACH,IAAI,CAAC,CAAA;EAExB,IAAID,KAAK,YAAYK,IAAI,EAAE;IACvB,OAAO;MACHP,aAAa,EAAEK,WAAW,CAACH,KAAK,CAAC,CAACE,MAAM,CAACA,MAAM,CAAC;MAChDP,OAAO,EAAE,IAAIU,IAAI,CAACL,KAAK,CAAC,CAACM,WAAW,EAAE;AACtCV,MAAAA,YAAY,EAAE,IAAIS,IAAI,CAACL,KAAK,CAAA;KAC/B,CAAA;AACL,GAAA;EAEA,IAAI,CAACE,MAAM,EAAE;IACT,OAAO;AAAEJ,MAAAA,aAAa,EAAEE,KAAK;AAAEL,MAAAA,OAAO,EAAE,EAAE;AAAEC,MAAAA,YAAY,EAAEC,SAAAA;KAAW,CAAA;AACzE,GAAA;EAEA,IAAIM,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACK,OAAO,EAAE,EAAE;IACtC,IAAMZ,OAAO,GAAGQ,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACI,WAAW,EAAE,CAAA;IACxD,IAAMV,YAAY,GAAGO,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACM,MAAM,EAAE,CAAA;AACxD,IAAA,IAAMV,aAAa,GAAGK,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACA,MAAM,CAACA,MAAM,CAAC,CAAA;IAE/D,OAAO;AAAEJ,MAAAA,aAAa,EAAbA,aAAa;AAAEH,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,YAAY,EAAZA,YAAAA;KAAc,CAAA;AACnD,GAAA;EAEA,OAAO;AAAEE,IAAAA,aAAa,EAAEE,KAAK;AAAEL,IAAAA,OAAO,EAAE,EAAE;AAAEC,IAAAA,YAAY,EAAEC,SAAAA;GAAW,CAAA;AACzE;;;;"}
1
+ {"version":3,"file":"getOriginalDates.js","sources":["../../../../src/components/DatePicker/utils/getOriginalDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nconst initialValueStructure = {\n isoDate: '',\n originalDate: undefined,\n formattedDate: '',\n};\n\nexport const getOriginalDates = (value: Date | string | null, lang?: string, format?: string) => {\n if (!value || !lang || !format) {\n return initialValueStructure;\n }\n\n customDayjs.locale(lang);\n\n if (value instanceof Date) {\n return {\n formattedDate: customDayjs(value).format(format),\n isoDate: new Date(value).toISOString(),\n originalDate: new Date(value),\n };\n }\n\n if (customDayjs(value, format).isValid()) {\n const isoDate = customDayjs(value, format).toISOString();\n const originalDate = customDayjs(value, format).toDate();\n const formattedDate = customDayjs(value, format).format(format);\n\n return { formattedDate, isoDate, originalDate };\n }\n\n return initialValueStructure;\n};\n"],"names":["initialValueStructure","isoDate","originalDate","undefined","formattedDate","getOriginalDates","value","lang","format","customDayjs","locale","Date","toISOString","isValid","toDate"],"mappings":";;AAEA,IAAMA,qBAAqB,GAAG;AAC1BC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,aAAa,EAAE,EAAA;AACnB,CAAC,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAA2B,EAAEC,IAAa,EAAEC,MAAe,EAAK;EAC7F,IAAI,CAACF,KAAK,IAAI,CAACC,IAAI,IAAI,CAACC,MAAM,EAAE;AAC5B,IAAA,OAAOR,qBAAqB,CAAA;AAChC,GAAA;AAEAS,EAAAA,WAAW,CAACC,MAAM,CAACH,IAAI,CAAC,CAAA;EAExB,IAAID,KAAK,YAAYK,IAAI,EAAE;IACvB,OAAO;MACHP,aAAa,EAAEK,WAAW,CAACH,KAAK,CAAC,CAACE,MAAM,CAACA,MAAM,CAAC;MAChDP,OAAO,EAAE,IAAIU,IAAI,CAACL,KAAK,CAAC,CAACM,WAAW,EAAE;AACtCV,MAAAA,YAAY,EAAE,IAAIS,IAAI,CAACL,KAAK,CAAA;KAC/B,CAAA;AACL,GAAA;EAEA,IAAIG,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACK,OAAO,EAAE,EAAE;IACtC,IAAMZ,OAAO,GAAGQ,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACI,WAAW,EAAE,CAAA;IACxD,IAAMV,YAAY,GAAGO,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACM,MAAM,EAAE,CAAA;AACxD,IAAA,IAAMV,aAAa,GAAGK,WAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACA,MAAM,CAACA,MAAM,CAAC,CAAA;IAE/D,OAAO;AAAEJ,MAAAA,aAAa,EAAbA,aAAa;AAAEH,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,YAAY,EAAZA,YAAAA;KAAc,CAAA;AACnD,GAAA;AAEA,EAAA,OAAOF,qBAAqB,CAAA;AAChC;;;;"}
@@ -11,11 +11,14 @@ var normalizeDates = function normalizeDates(_ref) {
11
11
  customDayjs.locale(lang);
12
12
  if (min && includeEdgeDates && min > originalDate) {
13
13
  dateCandidate = min;
14
- } else if (min && !includeEdgeDates && min >= originalDate) {
14
+ }
15
+ if (min && !includeEdgeDates && min >= originalDate) {
15
16
  dateCandidate = customDayjs(min).add(1, 'd').toDate();
16
- } else if (max && includeEdgeDates && max < originalDate) {
17
+ }
18
+ if (max && includeEdgeDates && max < originalDate) {
17
19
  dateCandidate = max;
18
- } else if (max && !includeEdgeDates && max <= originalDate) {
20
+ }
21
+ if (max && !includeEdgeDates && max <= originalDate) {
19
22
  dateCandidate = customDayjs(max).subtract(1, 'd').toDate();
20
23
  }
21
24
  var formattedDateCandidate = format ? customDayjs(dateCandidate).format(format) : dateCandidate.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeDates.js","sources":["../../../../src/components/DatePicker/utils/normalizeDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nimport type { Langs } from './dateHelper';\n\ntype NormalizeDatesArgs = {\n originalDate: Date;\n lang?: Langs;\n includeEdgeDates?: boolean;\n format?: string;\n min?: Date;\n max?: Date;\n};\n\nexport const normalizeDates = ({ originalDate, lang, format, includeEdgeDates, min, max }: NormalizeDatesArgs) => {\n let dateCandidate = originalDate;\n\n customDayjs.locale(lang);\n\n if (min && includeEdgeDates && min > originalDate) {\n dateCandidate = min;\n } else if (min && !includeEdgeDates && min >= originalDate) {\n dateCandidate = customDayjs(min).add(1, 'd').toDate();\n } else if (max && includeEdgeDates && max < originalDate) {\n dateCandidate = max;\n } else if (max && !includeEdgeDates && max <= originalDate) {\n dateCandidate = customDayjs(max).subtract(1, 'd').toDate();\n }\n\n const formattedDateCandidate = format ? customDayjs(dateCandidate).format(format) : dateCandidate.toString();\n\n return {\n normalizedDate: dateCandidate,\n formattedNormalizedDate: formattedDateCandidate,\n };\n};\n"],"names":["normalizeDates","_ref","originalDate","lang","format","includeEdgeDates","min","max","dateCandidate","customDayjs","locale","add","toDate","subtract","formattedDateCandidate","toString","normalizedDate","formattedNormalizedDate"],"mappings":";;IAaaA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAuF;AAAA,EAAA,IAAjFC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EACnF,IAAIC,aAAa,GAAGN,YAAY,CAAA;AAEhCO,EAAAA,WAAW,CAACC,MAAM,CAACP,IAAI,CAAC,CAAA;AAExB,EAAA,IAAIG,GAAG,IAAID,gBAAgB,IAAIC,GAAG,GAAGJ,YAAY,EAAE;AAC/CM,IAAAA,aAAa,GAAGF,GAAG,CAAA;GACtB,MAAM,IAAIA,GAAG,IAAI,CAACD,gBAAgB,IAAIC,GAAG,IAAIJ,YAAY,EAAE;AACxDM,IAAAA,aAAa,GAAGC,WAAW,CAACH,GAAG,CAAC,CAACK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,MAAM,EAAE,CAAA;GACxD,MAAM,IAAIL,GAAG,IAAIF,gBAAgB,IAAIE,GAAG,GAAGL,YAAY,EAAE;AACtDM,IAAAA,aAAa,GAAGD,GAAG,CAAA;GACtB,MAAM,IAAIA,GAAG,IAAI,CAACF,gBAAgB,IAAIE,GAAG,IAAIL,YAAY,EAAE;AACxDM,IAAAA,aAAa,GAAGC,WAAW,CAACF,GAAG,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACD,MAAM,EAAE,CAAA;AAC9D,GAAA;AAEA,EAAA,IAAME,sBAAsB,GAAGV,MAAM,GAAGK,WAAW,CAACD,aAAa,CAAC,CAACJ,MAAM,CAACA,MAAM,CAAC,GAAGI,aAAa,CAACO,QAAQ,EAAE,CAAA;EAE5G,OAAO;AACHC,IAAAA,cAAc,EAAER,aAAa;AAC7BS,IAAAA,uBAAuB,EAAEH,sBAAAA;GAC5B,CAAA;AACL;;;;"}
1
+ {"version":3,"file":"normalizeDates.js","sources":["../../../../src/components/DatePicker/utils/normalizeDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nimport type { Langs } from './dateHelper';\n\ntype NormalizeDatesArgs = {\n originalDate: Date;\n lang?: Langs;\n includeEdgeDates?: boolean;\n format?: string;\n min?: Date;\n max?: Date;\n};\n\nexport const normalizeDates = ({ originalDate, lang, format, includeEdgeDates, min, max }: NormalizeDatesArgs) => {\n let dateCandidate = originalDate;\n\n customDayjs.locale(lang);\n\n if (min && includeEdgeDates && min > originalDate) {\n dateCandidate = min;\n }\n\n if (min && !includeEdgeDates && min >= originalDate) {\n dateCandidate = customDayjs(min).add(1, 'd').toDate();\n }\n\n if (max && includeEdgeDates && max < originalDate) {\n dateCandidate = max;\n }\n\n if (max && !includeEdgeDates && max <= originalDate) {\n dateCandidate = customDayjs(max).subtract(1, 'd').toDate();\n }\n\n const formattedDateCandidate = format ? customDayjs(dateCandidate).format(format) : dateCandidate.toString();\n\n return {\n normalizedDate: dateCandidate,\n formattedNormalizedDate: formattedDateCandidate,\n };\n};\n"],"names":["normalizeDates","_ref","originalDate","lang","format","includeEdgeDates","min","max","dateCandidate","customDayjs","locale","add","toDate","subtract","formattedDateCandidate","toString","normalizedDate","formattedNormalizedDate"],"mappings":";;IAaaA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAuF;AAAA,EAAA,IAAjFC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EACnF,IAAIC,aAAa,GAAGN,YAAY,CAAA;AAEhCO,EAAAA,WAAW,CAACC,MAAM,CAACP,IAAI,CAAC,CAAA;AAExB,EAAA,IAAIG,GAAG,IAAID,gBAAgB,IAAIC,GAAG,GAAGJ,YAAY,EAAE;AAC/CM,IAAAA,aAAa,GAAGF,GAAG,CAAA;AACvB,GAAA;EAEA,IAAIA,GAAG,IAAI,CAACD,gBAAgB,IAAIC,GAAG,IAAIJ,YAAY,EAAE;AACjDM,IAAAA,aAAa,GAAGC,WAAW,CAACH,GAAG,CAAC,CAACK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,MAAM,EAAE,CAAA;AACzD,GAAA;AAEA,EAAA,IAAIL,GAAG,IAAIF,gBAAgB,IAAIE,GAAG,GAAGL,YAAY,EAAE;AAC/CM,IAAAA,aAAa,GAAGD,GAAG,CAAA;AACvB,GAAA;EAEA,IAAIA,GAAG,IAAI,CAACF,gBAAgB,IAAIE,GAAG,IAAIL,YAAY,EAAE;AACjDM,IAAAA,aAAa,GAAGC,WAAW,CAACF,GAAG,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACD,MAAM,EAAE,CAAA;AAC9D,GAAA;AAEA,EAAA,IAAME,sBAAsB,GAAGV,MAAM,GAAGK,WAAW,CAACD,aAAa,CAAC,CAACJ,MAAM,CAACA,MAAM,CAAC,GAAGI,aAAa,CAACO,QAAQ,EAAE,CAAA;EAE5G,OAAO;AACHC,IAAAA,cAAc,EAAER,aAAa;AAC7BS,IAAAA,uBAAuB,EAAEH,sBAAAA;GAC5B,CAAA;AACL;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.322.0-canary.1939.14616445713.0",
3
+ "version": "0.322.0-canary.1939.14642328722.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -80,8 +80,8 @@
80
80
  "@rollup/plugin-babel": "^6.0.4",
81
81
  "@rollup/plugin-commonjs": "^25.0.4",
82
82
  "@rollup/plugin-node-resolve": "^15.1.0",
83
- "@salutejs/plasma-sb-utils": "0.197.0-canary.1939.14616445713.0",
84
- "@salutejs/plasma-themes": "0.33.0-canary.1939.14616445713.0",
83
+ "@salutejs/plasma-sb-utils": "0.197.0-canary.1939.14642328722.0",
84
+ "@salutejs/plasma-themes": "0.33.0-canary.1939.14642328722.0",
85
85
  "@storybook/addon-docs": "8.6.12",
86
86
  "@storybook/addon-essentials": "8.6.12",
87
87
  "@storybook/manager-api": "8.6.12",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "7085e77302c8d52b4fdea989dbb31af128a54e6e"
140
+ "gitHead": "f1e933c07289688e51bb60e663513417e814664a"
141
141
  }
@@ -237,7 +237,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
237
237
  readOnly: readOnly,
238
238
  maskWithFormat: maskWithFormat,
239
239
  valueError: firstValueError,
240
- valueSuccess: firstValueError,
240
+ valueSuccess: firstValueSuccess,
241
241
  name: name,
242
242
  type: type,
243
243
  min: min,
@@ -262,7 +262,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
262
262
  readOnly: readOnly,
263
263
  maskWithFormat: maskWithFormat,
264
264
  valueError: secondValueError,
265
- valueSuccess: secondValueError,
265
+ valueSuccess: secondValueSuccess,
266
266
  name: name,
267
267
  type: type,
268
268
  min: min,
@@ -234,7 +234,9 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
234
234
  updateExternalDate(value);
235
235
  }, [value, format, lang]);
236
236
  (0, _react.useLayoutEffect)(function () {
237
- !value && updateExternalDate(defaultDate);
237
+ if (!value) {
238
+ updateExternalDate(defaultDate);
239
+ }
238
240
  }, [defaultDate, format, lang]);
239
241
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
240
242
  view: view,
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useKeyNavigation = exports.keys = void 0;
7
+ var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
7
8
  var keys = exports.keys = {
8
9
  Space: 'Space',
9
10
  Escape: 'Escape'
@@ -16,7 +17,7 @@ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref
16
17
  delimiter = _ref.delimiter,
17
18
  onToggle = _ref.onToggle;
18
19
  var onKeyDown = function onKeyDown(event) {
19
- if (event.key === delimiter && maskWithFormat && format && !/M{3,4}/g.test(format)) {
20
+ if (event.key === delimiter && maskWithFormat && format && !(0, _dateHelper.needFullMonth)(format)) {
20
21
  event.preventDefault();
21
22
  return;
22
23
  }
@@ -3,7 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getDateFormatDelimiter = void 0;
6
+ exports.needFullMonth = exports.getDateFormatDelimiter = void 0;
7
+ var needFullMonth = exports.needFullMonth = function needFullMonth(format) {
8
+ return /M{3,4}/g.test(format);
9
+ };
7
10
  var getDateFormatDelimiter = exports.getDateFormatDelimiter = function getDateFormatDelimiter(format) {
8
11
  var _format$match;
9
12
  if (!format) {
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getFormattedDates = void 0;
7
+ var _dateHelper = /*#__PURE__*/require("./dateHelper");
7
8
  var _getOriginalDates2 = /*#__PURE__*/require("./getOriginalDates");
8
9
  var _normalizeDates2 = /*#__PURE__*/require("./normalizeDates");
9
10
  var getFormattedDates = exports.getFormattedDates = function getFormattedDates(_ref) {
@@ -18,7 +19,7 @@ var getFormattedDates = exports.getFormattedDates = function getFormattedDates(_
18
19
  isoDate = _getOriginalDates.isoDate,
19
20
  originalDate = _getOriginalDates.originalDate;
20
21
  if (!originalDate) {
21
- var innerValue = format && (/M{3,4}/g.test(format) ? formattedDate : formattedDate.slice(0, format.length));
22
+ var innerValue = format && ((0, _dateHelper.needFullMonth)(format) ? formattedDate : formattedDate.slice(0, format.length));
22
23
  return {
23
24
  formattedDate: innerValue || '',
24
25
  isoDate: isoDate,
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getMaskedDateOnInput = void 0;
7
+ var _dateHelper = /*#__PURE__*/require("./dateHelper");
7
8
  var getMaskedDateOnInput = exports.getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimiter, prevValue) {
8
9
  if (!value) {
9
10
  return '';
10
11
  }
11
- if (!format || !delimiter || /M{3,4}/g.test(format)) {
12
+ if (!format || !delimiter || (0, _dateHelper.needFullMonth)(format)) {
12
13
  return value;
13
14
  }
14
15
  var dateRegExp = new RegExp("[^0-9".concat(delimiter, "]"), 'g');
@@ -11,7 +11,7 @@ var initialValueStructure = {
11
11
  formattedDate: ''
12
12
  };
13
13
  var getOriginalDates = exports.getOriginalDates = function getOriginalDates(value, lang, format) {
14
- if (!value || !lang) {
14
+ if (!value || !lang || !format) {
15
15
  return initialValueStructure;
16
16
  }
17
17
  _datejs.customDayjs.locale(lang);
@@ -22,13 +22,6 @@ var getOriginalDates = exports.getOriginalDates = function getOriginalDates(valu
22
22
  originalDate: new Date(value)
23
23
  };
24
24
  }
25
- if (!format) {
26
- return {
27
- formattedDate: value,
28
- isoDate: '',
29
- originalDate: undefined
30
- };
31
- }
32
25
  if ((0, _datejs.customDayjs)(value, format).isValid()) {
33
26
  var isoDate = (0, _datejs.customDayjs)(value, format).toISOString();
34
27
  var originalDate = (0, _datejs.customDayjs)(value, format).toDate();
@@ -39,9 +32,5 @@ var getOriginalDates = exports.getOriginalDates = function getOriginalDates(valu
39
32
  originalDate: originalDate
40
33
  };
41
34
  }
42
- return {
43
- formattedDate: value,
44
- isoDate: '',
45
- originalDate: undefined
46
- };
35
+ return initialValueStructure;
47
36
  };
@@ -16,11 +16,14 @@ var normalizeDates = exports.normalizeDates = function normalizeDates(_ref) {
16
16
  _datejs.customDayjs.locale(lang);
17
17
  if (min && includeEdgeDates && min > originalDate) {
18
18
  dateCandidate = min;
19
- } else if (min && !includeEdgeDates && min >= originalDate) {
19
+ }
20
+ if (min && !includeEdgeDates && min >= originalDate) {
20
21
  dateCandidate = (0, _datejs.customDayjs)(min).add(1, 'd').toDate();
21
- } else if (max && includeEdgeDates && max < originalDate) {
22
+ }
23
+ if (max && includeEdgeDates && max < originalDate) {
22
24
  dateCandidate = max;
23
- } else if (max && !includeEdgeDates && max <= originalDate) {
25
+ }
26
+ if (max && !includeEdgeDates && max <= originalDate) {
24
27
  dateCandidate = (0, _datejs.customDayjs)(max).subtract(1, 'd').toDate();
25
28
  }
26
29
  var formattedDateCandidate = format ? (0, _datejs.customDayjs)(dateCandidate).format(format) : dateCandidate.toString();
@@ -228,7 +228,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
228
228
  readOnly: readOnly,
229
229
  maskWithFormat: maskWithFormat,
230
230
  valueError: firstValueError,
231
- valueSuccess: firstValueError,
231
+ valueSuccess: firstValueSuccess,
232
232
  name: name,
233
233
  type: type,
234
234
  min: min,
@@ -253,7 +253,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
253
253
  readOnly: readOnly,
254
254
  maskWithFormat: maskWithFormat,
255
255
  valueError: secondValueError,
256
- valueSuccess: secondValueError,
256
+ valueSuccess: secondValueSuccess,
257
257
  name: name,
258
258
  type: type,
259
259
  min: min,
@@ -225,7 +225,9 @@ export var datePickerRoot = function datePickerRoot(Root) {
225
225
  updateExternalDate(value);
226
226
  }, [value, format, lang]);
227
227
  useLayoutEffect(function () {
228
- !value && updateExternalDate(defaultDate);
228
+ if (!value) {
229
+ updateExternalDate(defaultDate);
230
+ }
229
231
  }, [defaultDate, format, lang]);
230
232
  return /*#__PURE__*/React.createElement(Root, _extends({
231
233
  view: view,
@@ -1,3 +1,4 @@
1
+ import { needFullMonth } from "../utils/dateHelper";
1
2
  export var keys = {
2
3
  Space: 'Space',
3
4
  Escape: 'Escape'
@@ -10,7 +11,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
10
11
  delimiter = _ref.delimiter,
11
12
  onToggle = _ref.onToggle;
12
13
  var onKeyDown = function onKeyDown(event) {
13
- if (event.key === delimiter && maskWithFormat && format && !/M{3,4}/g.test(format)) {
14
+ if (event.key === delimiter && maskWithFormat && format && !needFullMonth(format)) {
14
15
  event.preventDefault();
15
16
  return;
16
17
  }
@@ -1,3 +1,6 @@
1
+ export var needFullMonth = function needFullMonth(format) {
2
+ return /M{3,4}/g.test(format);
3
+ };
1
4
  export var getDateFormatDelimiter = function getDateFormatDelimiter(format) {
2
5
  var _format$match;
3
6
  if (!format) {
@@ -1,3 +1,4 @@
1
+ import { needFullMonth } from "./dateHelper";
1
2
  import { getOriginalDates } from "./getOriginalDates";
2
3
  import { normalizeDates } from "./normalizeDates";
3
4
  export var getFormattedDates = function getFormattedDates(_ref) {
@@ -12,7 +13,7 @@ export var getFormattedDates = function getFormattedDates(_ref) {
12
13
  isoDate = _getOriginalDates.isoDate,
13
14
  originalDate = _getOriginalDates.originalDate;
14
15
  if (!originalDate) {
15
- var innerValue = format && (/M{3,4}/g.test(format) ? formattedDate : formattedDate.slice(0, format.length));
16
+ var innerValue = format && (needFullMonth(format) ? formattedDate : formattedDate.slice(0, format.length));
16
17
  return {
17
18
  formattedDate: innerValue || '',
18
19
  isoDate: isoDate,
@@ -1,8 +1,9 @@
1
+ import { needFullMonth } from "./dateHelper";
1
2
  export var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimiter, prevValue) {
2
3
  if (!value) {
3
4
  return '';
4
5
  }
5
- if (!format || !delimiter || /M{3,4}/g.test(format)) {
6
+ if (!format || !delimiter || needFullMonth(format)) {
6
7
  return value;
7
8
  }
8
9
  var dateRegExp = new RegExp("[^0-9".concat(delimiter, "]"), 'g');