@salutejs/plasma-new-hope 0.163.0-dev.0 → 0.164.0-canary.1475.11273924584.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.css +1 -1
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  5. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  7. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  8. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.js +32 -8
  10. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  11. package/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  12. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  13. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  14. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  15. package/cjs/components/DatePicker/utils/dateHelper.js +31 -0
  16. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  17. package/cjs/index.css +1 -1
  18. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  19. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  20. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  21. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +32 -8
  22. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  23. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  24. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  25. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  26. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  27. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  28. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  29. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +33 -9
  30. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  31. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  32. package/emotion/es/components/DatePicker/utils/dateHelper.js +30 -0
  33. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  34. package/es/components/DatePicker/RangeDate/RangeDate.css +1 -1
  35. package/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  36. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  37. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  38. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  39. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  40. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  41. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  42. package/es/components/DatePicker/SingleDate/SingleDate.js +33 -9
  43. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  44. package/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  45. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  46. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  47. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  48. package/es/components/DatePicker/utils/dateHelper.js +31 -1
  49. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  50. package/es/index.css +1 -1
  51. package/package.json +2 -2
  52. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  53. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  54. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  55. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +32 -8
  56. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  57. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  58. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  59. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  60. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  61. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  62. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  63. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +33 -9
  64. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  65. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  66. package/styled-components/es/components/DatePicker/utils/dateHelper.js +30 -0
  67. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  68. package/types/components/DatePicker/DatePickerBase.types.d.ts +7 -5
  69. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  70. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +8 -8
  71. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  72. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +14 -4
  73. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  74. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  75. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  76. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +2 -1
  77. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  78. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  79. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  80. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +12 -2
  81. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  82. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -3
  83. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  84. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +3 -1
  85. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  86. package/types/components/DatePicker/utils/dateHelper.d.ts +10 -0
  87. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  88. package/types/components/Popover/Popover.types.d.ts +1 -1
  89. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +4 -4
  90. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +4 -4
  91. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  92. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
@@ -18,7 +18,7 @@ var SingleDate_styles = require('./SingleDate.styles.js');
18
18
  var noop = require('../../../utils/noop.js');
19
19
  var getPopoverPlacement = require('../../../utils/getPopoverPlacement.js');
20
20
 
21
- var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
21
+ var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
22
22
  var datePickerRoot = function datePickerRoot(Root) {
23
23
  return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24
24
  var className = _ref.className,
@@ -63,10 +63,16 @@ var datePickerRoot = function datePickerRoot(Root) {
63
63
  disabledYearList = _ref.disabledYearList,
64
64
  _ref$type = _ref.type,
65
65
  type = _ref$type === void 0 ? 'Days' : _ref$type,
66
+ _ref$frame = _ref.frame,
67
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
68
+ _ref$usePortal = _ref.usePortal,
69
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
66
70
  _ref$placement = _ref.placement,
67
71
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
68
72
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
69
73
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
74
+ _ref$closeOnEsc = _ref.closeOnEsc,
75
+ closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
70
76
  offset = _ref.offset,
71
77
  onChangeValue = _ref.onChangeValue,
72
78
  onCommitDate = _ref.onCommitDate,
@@ -101,7 +107,6 @@ var datePickerRoot = function datePickerRoot(Root) {
101
107
  currentValue: inputValue,
102
108
  setInputValue: setInputValue,
103
109
  setCalendarValue: setCalendarValue,
104
- setIsInnerOpen: setIsInnerOpen,
105
110
  dateFormatDelimiter: dateFormatDelimiter,
106
111
  format: format,
107
112
  lang: lang,
@@ -110,21 +115,33 @@ var datePickerRoot = function datePickerRoot(Root) {
110
115
  maskWithFormat: maskWithFormat,
111
116
  valueError: valueError,
112
117
  valueSuccess: valueSuccess,
113
- inputRef: inputRef,
114
118
  name: name,
115
- onToggle: onToggle,
116
119
  onChangeValue: onChangeValue,
117
120
  onCommitDate: onCommitDate,
118
121
  onChange: onChange
119
122
  }),
120
123
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
121
124
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
122
- handleToggle = _useDatePicker.handleToggle,
123
125
  handleChangeValue = _useDatePicker.handleChangeValue,
124
126
  handleCommitDate = _useDatePicker.handleCommitDate;
127
+ var handleToggle = function handleToggle(opened, event) {
128
+ if (disabled || readOnly) {
129
+ return;
130
+ }
131
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== useKeyboardNavigation.keys.Escape ? true : opened;
132
+ if (!isCalendarOpen && inputValue) {
133
+ var _inputRef$current;
134
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
135
+ }
136
+ if (onToggle) {
137
+ return onToggle(isCalendarOpen, event);
138
+ }
139
+ setIsInnerOpen(isCalendarOpen);
140
+ };
125
141
  var _useKeyNavigation = useKeyboardNavigation.useKeyNavigation({
126
142
  isCalendarOpen: isInnerOpen,
127
- onToggle: handleToggle
143
+ onToggle: handleToggle,
144
+ closeOnEsc: closeOnEsc
128
145
  }),
129
146
  onKeyDown = _useKeyNavigation.onKeyDown;
130
147
  var DatePickerInput = /*#__PURE__*/React.createElement(SingleDate_styles.StyledInput, _rollupPluginBabelHelpers.extends({
@@ -180,7 +197,8 @@ var datePickerRoot = function datePickerRoot(Root) {
180
197
  ref: ref
181
198
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(SingleDate_styles.StyledLabel, null, label), /*#__PURE__*/React.createElement(SingleDate_styles.StyledPopover, {
182
199
  opened: isInnerOpen,
183
- usePortal: false,
200
+ usePortal: usePortal,
201
+ frame: frame,
184
202
  onToggle: handleToggle,
185
203
  offset: offset,
186
204
  placement: getPopoverPlacement.getPlacements(placement),
@@ -189,6 +207,12 @@ var datePickerRoot = function datePickerRoot(Root) {
189
207
  isFocusTrapped: false,
190
208
  target: DatePickerInput,
191
209
  preventOverflow: false
210
+ }, /*#__PURE__*/React.createElement(Root, {
211
+ view: view,
212
+ size: size,
213
+ className: index.cx(DatePicker_tokens.classes.datePickerRoot, className),
214
+ disabled: disabled,
215
+ readOnly: !disabled && readOnly
192
216
  }, /*#__PURE__*/React.createElement(DatePickerBase_styles.StyledCalendar, {
193
217
  size: size,
194
218
  value: calendarValue,
@@ -209,7 +233,7 @@ var datePickerRoot = function datePickerRoot(Root) {
209
233
  onChangeValue: function onChangeValue(date, dateInfo) {
210
234
  return handleCommitDate(date, false, true, dateInfo);
211
235
  }
212
- })), leftHelper && /*#__PURE__*/React.createElement(SingleDate_styles.LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(DatePickerBase_styles.InputHidden, _rollupPluginBabelHelpers.extends({
236
+ }))), leftHelper && /*#__PURE__*/React.createElement(SingleDate_styles.LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(DatePickerBase_styles.InputHidden, _rollupPluginBabelHelpers.extends({
213
237
  type: "hidden",
214
238
  datatype: "datepicker-single",
215
239
  name: name,
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { InputHidden, StyledCalendar } from '../DatePickerBase.styles';\nimport { useKeyNavigation } from '../hooks/useKeyboardNavigation';\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, StyledLabel, 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\n label,\n labelPlacement = 'outer',\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 includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n offset,\n\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n onChange,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format, lang));\n const [inputValue, setInputValue] = useState(formatInputValue({ value: defaultDate, format, lang }));\n\n const innerLabelPlacement = labelPlacement === 'inner';\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleToggle,\n handleChangeValue,\n handleCommitDate,\n } = useDatePicker({\n currentValue: inputValue,\n setInputValue,\n setCalendarValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n inputRef,\n name,\n onToggle,\n onChangeValue,\n onCommitDate,\n onChange,\n });\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\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={(date) => handleCommitDate(date, true, false)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n {...(innerLabelPlacement && { label, labelPlacement })}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [defaultDate]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [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 {!innerLabelPlacement && label && <StyledLabel>{label}</StyledLabel>}\n <StyledPopover\n opened={isInnerOpen}\n usePortal={false}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement)}\n trigger=\"click\"\n closeOnOverlayClick={closeOnOverlayClick}\n isFocusTrapped={false}\n target={DatePickerInput}\n preventOverflow={false}\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 includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\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","label","_ref$labelPlacement","labelPlacement","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","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","offset","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","onChange","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","value","_useState6","inputValue","setInputValue","innerLabelPlacement","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleToggle","handleChangeValue","handleCommitDate","_useKeyNavigation","useKeyNavigation","isCalendarOpen","onKeyDown","DatePickerInput","React","createElement","StyledInput","_extends","cx","onSearch","date","useEffect","prevOpen","classes","StyledLabel","StyledPopover","usePortal","getPlacements","trigger","isFocusTrapped","target","preventOverflow","StyledCalendar","isRange","locale","dateInfo","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, useRef, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, 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';\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, StyledLabel, 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\n label,\n labelPlacement = 'outer',\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 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 ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const innerRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format, lang));\n const [inputValue, setInputValue] = useState(formatInputValue({ value: defaultDate, format, lang }));\n\n const innerLabelPlacement = labelPlacement === 'inner';\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const { datePickerErrorClass, datePickerSuccessClass, handleChangeValue, handleCommitDate } = useDatePicker(\n {\n currentValue: inputValue,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n onChangeValue,\n onCommitDate,\n onChange,\n },\n );\n\n const handleToggle = (opened: 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 : opened;\n\n if (!isCalendarOpen && inputValue) {\n inputRef?.current?.focus();\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\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={(date) => handleCommitDate(date, true, false)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n {...(innerLabelPlacement && { label, labelPlacement })}\n />\n );\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [defaultDate]);\n\n useEffect(() => {\n setCalendarValue(formatCalendarValue(defaultDate, format, lang));\n setInputValue(formatInputValue({ value: defaultDate, format, lang }));\n }, [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 {!innerLabelPlacement && label && <StyledLabel>{label}</StyledLabel>}\n <StyledPopover\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n onToggle={handleToggle}\n offset={offset}\n placement={getPlacements(placement)}\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 includeEdgeDates={includeEdgeDates}\n isRange={false}\n locale={lang}\n onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </Root>\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\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","label","_ref$labelPlacement","labelPlacement","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","_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","rest","_objectWithoutProperties","_excluded","inputRef","useRef","innerRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","value","_useState6","inputValue","setInputValue","innerLabelPlacement","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleChangeValue","handleCommitDate","handleToggle","event","isCalendarOpen","target","current","code","keys","Escape","_inputRef$current","focus","_useKeyNavigation","useKeyNavigation","onKeyDown","DatePickerInput","React","createElement","StyledInput","_extends","cx","onSearch","date","useEffect","prevOpen","classes","StyledLabel","StyledPopover","getPlacements","trigger","isFocusTrapped","preventOverflow","StyledCalendar","isRange","locale","dateInfo","LeftHelper","InputHidden","datatype","noop","datePickerConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
@@ -4,13 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var DatePicker_tokens = require('../DatePicker.tokens.js');
6
6
  var dateHelper = require('../utils/dateHelper.js');
7
- var datejs = require('../../../utils/datejs.js');
8
7
 
9
8
  var useDatePicker = function useDatePicker(_ref) {
10
9
  var currentValue = _ref.currentValue,
11
10
  setInputValue = _ref.setInputValue,
12
11
  setCalendarValue = _ref.setCalendarValue,
13
- setIsInnerOpen = _ref.setIsInnerOpen,
14
12
  dateFormatDelimiter = _ref.dateFormatDelimiter,
15
13
  format = _ref.format,
16
14
  _ref$lang = _ref.lang,
@@ -20,24 +18,12 @@ var useDatePicker = function useDatePicker(_ref) {
20
18
  maskWithFormat = _ref.maskWithFormat,
21
19
  valueError = _ref.valueError,
22
20
  valueSuccess = _ref.valueSuccess,
23
- inputRef = _ref.inputRef,
24
21
  name = _ref.name,
25
- onToggle = _ref.onToggle,
26
22
  onChangeValue = _ref.onChangeValue,
27
23
  onCommitDate = _ref.onCommitDate,
28
24
  onChange = _ref.onChange;
29
25
  var datePickerErrorClass = valueError ? DatePicker_tokens.classes.datePickerError : undefined;
30
26
  var datePickerSuccessClass = valueSuccess ? DatePicker_tokens.classes.datePickerSuccess : undefined;
31
- var handleToggle = function handleToggle(opened, event) {
32
- if (disabled || readOnly) {
33
- return;
34
- }
35
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) ? true : opened;
36
- if (onToggle) {
37
- return onToggle(isCalendarOpen, event);
38
- }
39
- setIsInnerOpen(isCalendarOpen);
40
- };
41
27
  var handleChangeValue = function handleChangeValue(event) {
42
28
  if (disabled || readOnly) {
43
29
  return;
@@ -60,24 +46,14 @@ var useDatePicker = function useDatePicker(_ref) {
60
46
  });
61
47
  return;
62
48
  }
63
-
64
- /**
65
- * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
66
- * нужно дополнительно проводить валидацию на полноту введенной даты.
67
- * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
68
- */
69
- var hasMonthFullName = /M{3,4}/g.test(format);
70
- var isValidMonth;
71
- var isLengthEqual;
72
- if (hasMonthFullName) {
73
- datejs.customDayjs.locale(lang);
74
- var firstIndexOfMonth = format.indexOf('M');
75
- var lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);
76
- var fullMonthName = !lastIndexOfMonth ? newValue.slice(firstIndexOfMonth) : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);
77
- var monthFormatting = format.replace(/[^M]/g, '');
78
- isValidMonth = datejs.customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
79
- isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;
80
- }
49
+ var _validateDateWithFull = dateHelper.validateDateWithFullMonth({
50
+ currentValue: newValue,
51
+ format: format,
52
+ lang: lang
53
+ }),
54
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
55
+ isValidMonth = _validateDateWithFull.isValidMonth,
56
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
81
57
  if (!hasMonthFullName && (newValue === null || newValue === void 0 ? void 0 : newValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
82
58
  setCalendarValue(dateHelper.formatCalendarValue(newValue, format, lang));
83
59
  }
@@ -107,20 +83,18 @@ var useDatePicker = function useDatePicker(_ref) {
107
83
  return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true);
108
84
  }
109
85
  if (isCalendarValue) {
110
- setCalendarValue(dateHelper.formatCalendarValue(date, format, lang));
111
- setInputValue(dateHelper.formatInputValue({
86
+ var _formattedInputValue = dateHelper.formatInputValue({
112
87
  value: date,
113
88
  format: format,
114
89
  lang: lang
115
- }));
90
+ });
91
+ setCalendarValue(dateHelper.formatCalendarValue(date, format, lang));
92
+ setInputValue(_formattedInputValue);
116
93
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
94
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, _formattedInputValue);
117
95
  onChange === null || onChange === void 0 || onChange({
118
96
  target: {
119
- value: dateHelper.formatInputValue({
120
- value: date,
121
- format: format,
122
- lang: lang
123
- }),
97
+ value: _formattedInputValue,
124
98
  name: name
125
99
  }
126
100
  });
@@ -131,19 +105,18 @@ var useDatePicker = function useDatePicker(_ref) {
131
105
  newDate = _getDateFromFormat.value,
132
106
  isError = _getDateFromFormat.isError,
133
107
  isSuccess = _getDateFromFormat.isSuccess;
134
- setCalendarValue(dateHelper.formatCalendarValue(newDate, format, lang));
135
- setInputValue(dateHelper.formatInputValue({
108
+ var formattedInputValue = dateHelper.formatInputValue({
136
109
  value: newDate,
137
110
  format: format,
138
111
  lang: lang
139
- }));
112
+ });
113
+ setCalendarValue(dateHelper.formatCalendarValue(newDate, format, lang));
114
+ setInputValue(formattedInputValue);
140
115
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
116
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedInputValue);
141
117
  onChange === null || onChange === void 0 || onChange({
142
118
  target: {
143
- value: dateHelper.formatInputValue({
144
- value: date,
145
- format: format
146
- }),
119
+ value: formattedInputValue,
147
120
  name: name
148
121
  }
149
122
  });
@@ -151,7 +124,6 @@ var useDatePicker = function useDatePicker(_ref) {
151
124
  return {
152
125
  datePickerErrorClass: datePickerErrorClass,
153
126
  datePickerSuccessClass: datePickerSuccessClass,
154
- handleToggle: handleToggle,
155
127
  handleChangeValue: handleChangeValue,
156
128
  handleCommitDate: handleCommitDate
157
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDatePicker.js","sources":["../../../../src/components/DatePicker/hooks/useDatePicker.ts"],"sourcesContent":["import { ChangeEvent, SyntheticEvent } from 'react';\n\nimport { classes } from '../DatePicker.tokens';\nimport type { UseDatePickerProps } from '../DatePickerBase.types';\nimport { formatCalendarValue, formatInputValue, getDateFromFormat, getMaskedDateOnInput } from '../utils/dateHelper';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\nimport { customDayjs } from '../../../utils/datejs';\n\nexport const useDatePicker = ({\n currentValue,\n setInputValue,\n setCalendarValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n lang = 'ru',\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n inputRef,\n name,\n onToggle,\n onChangeValue,\n onCommitDate,\n onChange,\n}: UseDatePickerProps) => {\n const datePickerErrorClass = valueError ? classes.datePickerError : undefined;\n const datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen = event.target === inputRef?.current ? true : opened;\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleChangeValue = (event: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readOnly) {\n return;\n }\n const { value } = event.target;\n\n const newValue = maskWithFormat\n ? getMaskedDateOnInput(value, format, dateFormatDelimiter(), currentValue)\n : value;\n\n if (!format) {\n setCalendarValue(formatCalendarValue(newValue));\n setInputValue(formatInputValue({ value: newValue, format, lang }));\n onChangeValue?.(event, newValue);\n onChange?.({ target: { value: newValue, name } });\n\n return;\n }\n\n /**\n * NOTE: если в формате даты есть месяц в полном названии или сокращенном,\n * нужно дополнительно проводить валидацию на полноту введенной даты.\n * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.\n */\n const hasMonthFullName = /M{3,4}/g.test(format);\n let isValidMonth;\n let isLengthEqual;\n\n if (hasMonthFullName) {\n customDayjs.locale(lang);\n\n const firstIndexOfMonth = format.indexOf('M');\n const lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);\n\n const fullMonthName = !lastIndexOfMonth\n ? newValue.slice(firstIndexOfMonth)\n : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);\n\n const monthFormatting = format.replace(/[^M]/g, '');\n\n isValidMonth = customDayjs(`01 ${fullMonthName} 1970`, `DD ${monthFormatting} YYYY`, true).isValid();\n isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;\n }\n\n if ((!hasMonthFullName && newValue?.length === format?.length) || (isValidMonth && isLengthEqual)) {\n setCalendarValue(formatCalendarValue(newValue, format, lang));\n }\n\n setInputValue(\n formatInputValue({ value: newValue, format, lang, hasMonthFullName, isValidMonth, isLengthEqual }),\n );\n\n onChangeValue?.(event, newValue);\n onChange?.({ target: { value: newValue, name } });\n };\n\n const handleCommitDate = (\n date?: Date | string,\n applyFormat?: boolean,\n isCalendarValue?: boolean,\n dateInfo?: DateInfo,\n ) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n setCalendarValue(undefined);\n setInputValue('');\n\n return onCommitDate?.('', false, true);\n }\n\n if (isCalendarValue) {\n setCalendarValue(formatCalendarValue(date, format, lang));\n setInputValue(formatInputValue({ value: date, format, lang }));\n onCommitDate?.(date, false, true, dateInfo);\n onChange?.({ target: { value: formatInputValue({ value: date, format, lang }), name } });\n\n return;\n }\n\n const formatString = applyFormat ? format : undefined;\n\n const { value: newDate, isError, isSuccess } = getDateFromFormat(date, formatString, lang);\n\n setCalendarValue(formatCalendarValue(newDate, format, lang));\n setInputValue(formatInputValue({ value: newDate, format, lang }));\n\n onCommitDate?.(newDate, isError, isSuccess);\n onChange?.({ target: { value: formatInputValue({ value: date, format }), name } });\n };\n\n return {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleToggle,\n handleChangeValue,\n handleCommitDate,\n };\n};\n"],"names":["useDatePicker","_ref","currentValue","setInputValue","setCalendarValue","setIsInnerOpen","dateFormatDelimiter","format","_ref$lang","lang","disabled","readOnly","maskWithFormat","valueError","valueSuccess","inputRef","name","onToggle","onChangeValue","onCommitDate","onChange","datePickerErrorClass","classes","datePickerError","undefined","datePickerSuccessClass","datePickerSuccess","handleToggle","opened","event","isCalendarOpen","target","current","handleChangeValue","value","newValue","getMaskedDateOnInput","formatCalendarValue","formatInputValue","hasMonthFullName","test","isValidMonth","isLengthEqual","customDayjs","locale","firstIndexOfMonth","indexOf","lastIndexOfMonth","fullMonthName","slice","monthFormatting","replace","concat","isValid","length","handleCommitDate","date","applyFormat","isCalendarValue","dateInfo","formatString","_getDateFromFormat","getDateFromFormat","newDate","isError","isSuccess"],"mappings":"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"}
1
+ {"version":3,"file":"useDatePicker.js","sources":["../../../../src/components/DatePicker/hooks/useDatePicker.ts"],"sourcesContent":["import { ChangeEvent } from 'react';\n\nimport { classes } from '../DatePicker.tokens';\nimport type { UseDatePickerProps } from '../DatePickerBase.types';\nimport {\n formatCalendarValue,\n formatInputValue,\n getDateFromFormat,\n getMaskedDateOnInput,\n validateDateWithFullMonth,\n} from '../utils/dateHelper';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\n\nexport const useDatePicker = ({\n currentValue,\n setInputValue,\n setCalendarValue,\n dateFormatDelimiter,\n format,\n lang = 'ru',\n disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n name,\n onChangeValue,\n onCommitDate,\n onChange,\n}: UseDatePickerProps) => {\n const datePickerErrorClass = valueError ? classes.datePickerError : undefined;\n const datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;\n\n const handleChangeValue = (event: ChangeEvent<HTMLInputElement>) => {\n if (disabled || readOnly) {\n return;\n }\n const { value } = event.target;\n\n const newValue = maskWithFormat\n ? getMaskedDateOnInput(value, format, dateFormatDelimiter(), currentValue)\n : value;\n\n if (!format) {\n setCalendarValue(formatCalendarValue(newValue));\n setInputValue(formatInputValue({ value: newValue, format, lang }));\n onChangeValue?.(event, newValue);\n onChange?.({ target: { value: newValue, name } });\n\n return;\n }\n\n const { hasMonthFullName, isValidMonth, isLengthEqual } = validateDateWithFullMonth({\n currentValue: newValue,\n format,\n lang,\n });\n\n if ((!hasMonthFullName && newValue?.length === format?.length) || (isValidMonth && isLengthEqual)) {\n setCalendarValue(formatCalendarValue(newValue, format, lang));\n }\n\n setInputValue(\n formatInputValue({ value: newValue, format, lang, hasMonthFullName, isValidMonth, isLengthEqual }),\n );\n\n onChangeValue?.(event, newValue);\n onChange?.({ target: { value: newValue, name } });\n };\n\n const handleCommitDate = (\n date?: Date | string,\n applyFormat?: boolean,\n isCalendarValue?: boolean,\n dateInfo?: DateInfo,\n ) => {\n if (disabled || readOnly) {\n return;\n }\n\n if (!date) {\n setCalendarValue(undefined);\n setInputValue('');\n\n return onCommitDate?.('', false, true);\n }\n\n if (isCalendarValue) {\n const formattedInputValue = formatInputValue({ value: date, format, lang });\n\n setCalendarValue(formatCalendarValue(date, format, lang));\n setInputValue(formattedInputValue);\n\n onCommitDate?.(date, false, true, dateInfo);\n onChangeValue?.(null, formattedInputValue);\n onChange?.({ target: { value: formattedInputValue, name } });\n\n return;\n }\n\n const formatString = applyFormat ? format : undefined;\n\n const { value: newDate, isError, isSuccess } = getDateFromFormat(date, formatString, lang);\n const formattedInputValue = formatInputValue({ value: newDate, format, lang });\n\n setCalendarValue(formatCalendarValue(newDate, format, lang));\n setInputValue(formattedInputValue);\n\n onCommitDate?.(newDate, isError, isSuccess);\n onChangeValue?.(null, formattedInputValue);\n onChange?.({ target: { value: formattedInputValue, name } });\n };\n\n return {\n datePickerErrorClass,\n datePickerSuccessClass,\n handleChangeValue,\n handleCommitDate,\n };\n};\n"],"names":["useDatePicker","_ref","currentValue","setInputValue","setCalendarValue","dateFormatDelimiter","format","_ref$lang","lang","disabled","readOnly","maskWithFormat","valueError","valueSuccess","name","onChangeValue","onCommitDate","onChange","datePickerErrorClass","classes","datePickerError","undefined","datePickerSuccessClass","datePickerSuccess","handleChangeValue","event","value","target","newValue","getMaskedDateOnInput","formatCalendarValue","formatInputValue","_validateDateWithFull","validateDateWithFullMonth","hasMonthFullName","isValidMonth","isLengthEqual","length","handleCommitDate","date","applyFormat","isCalendarValue","dateInfo","formattedInputValue","formatString","_getDateFromFormat","getDateFromFormat","newDate","isError","isSuccess"],"mappings":"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"}
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var keys = {
6
- Space: 'Space'
6
+ Space: 'Space',
7
+ Escape: 'Escape'
7
8
  };
8
9
  var useKeyNavigation = function useKeyNavigation(_ref) {
9
10
  var isCalendarOpen = _ref.isCalendarOpen,
11
+ closeOnEsc = _ref.closeOnEsc,
10
12
  onToggle = _ref.onToggle;
11
13
  var onKeyDown = function onKeyDown(event) {
12
14
  switch (event.code) {
@@ -18,6 +20,14 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
18
20
  }
19
21
  break;
20
22
  }
23
+ case keys.Escape:
24
+ {
25
+ if (isCalendarOpen && closeOnEsc) {
26
+ event.preventDefault();
27
+ onToggle(false, event);
28
+ }
29
+ break;
30
+ }
21
31
  }
22
32
  };
23
33
  return {
@@ -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 onToggle: (isOpen: boolean, event: SyntheticEvent | Event) => void;\n}\n\nexport const keys = {\n Space: 'Space',\n};\n\nexport const useKeyNavigation = ({ isCalendarOpen, onToggle }: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n switch (event.code) {\n case keys.Space: {\n if (!isCalendarOpen) {\n event.preventDefault();\n onToggle(true, event);\n }\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["keys","Space","useKeyNavigation","_ref","isCalendarOpen","onToggle","onKeyDown","event","code","preventDefault"],"mappings":";;;;AAOO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACX,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAA4C;AAAA,EAAA,IAAtCC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;AACvD,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;IAC1F,QAAQA,KAAK,CAACC,IAAI;MACd,KAAKR,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACG,cAAc,EAAE;YACjBG,KAAK,CAACE,cAAc,EAAE,CAAA;AACtBJ,YAAAA,QAAQ,CAAC,IAAI,EAAEE,KAAK,CAAC,CAAA;AACzB,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\ninterface Props {\n isCalendarOpen: boolean;\n closeOnEsc: 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 = ({ isCalendarOpen, closeOnEsc, onToggle }: Props) => {\n const onKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\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","onToggle","onKeyDown","event","code","preventDefault"],"mappings":";;;;AAQO,IAAMA,IAAI,GAAG;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAA;AACZ,EAAC;IAEYC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAwD;AAAA,EAAA,IAAlDC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ,CAAA;AACnE,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAsE,EAAK;IAC1F,QAAQA,KAAK,CAACC,IAAI;MACd,KAAKV,IAAI,CAACC,KAAK;AAAE,QAAA;UACb,IAAI,CAACI,cAAc,EAAE;YACjBI,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,cAAc,IAAIC,UAAU,EAAE;YAC9BG,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;;;;;"}
@@ -84,10 +84,41 @@ var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimite
84
84
  }
85
85
  return value;
86
86
  };
87
+ var validateDateWithFullMonth = function validateDateWithFullMonth(_ref2) {
88
+ var currentValue = _ref2.currentValue,
89
+ format = _ref2.format,
90
+ lang = _ref2.lang;
91
+ /**
92
+ * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
93
+ * нужно дополнительно проводить валидацию на полноту введенной даты.
94
+ * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
95
+ */
96
+ var hasMonthFullName = /M{3,4}/g.test(format);
97
+ if (!hasMonthFullName) {
98
+ return {
99
+ hasMonthFullName: hasMonthFullName,
100
+ isValidMonth: false,
101
+ isLengthEqual: false
102
+ };
103
+ }
104
+ datejs.customDayjs.locale(lang);
105
+ var firstIndexOfMonth = format.indexOf('M');
106
+ var lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);
107
+ var fullMonthName = !lastIndexOfMonth ? currentValue.slice(firstIndexOfMonth) : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);
108
+ var monthFormatting = format.replace(/[^M]/g, '');
109
+ var isValidMonth = datejs.customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
110
+ var isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;
111
+ return {
112
+ hasMonthFullName: hasMonthFullName,
113
+ isValidMonth: isValidMonth,
114
+ isLengthEqual: isLengthEqual
115
+ };
116
+ };
87
117
 
88
118
  exports.formatCalendarValue = formatCalendarValue;
89
119
  exports.formatInputValue = formatInputValue;
90
120
  exports.getDateFormatDelimiter = getDateFormatDelimiter;
91
121
  exports.getDateFromFormat = getDateFromFormat;
92
122
  exports.getMaskedDateOnInput = getMaskedDateOnInput;
123
+ exports.validateDateWithFullMonth = validateDateWithFullMonth;
93
124
  //# sourceMappingURL=dateHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateHelper.js","sources":["../../../../src/components/DatePicker/utils/dateHelper.ts"],"sourcesContent":["import { customDayjs } from '../../../utils/datejs';\n\nexport type Langs = 'ru' | 'en';\n\ntype FormatInputValueArgs = {\n value?: Date | string;\n format?: string;\n lang?: Langs;\n hasMonthFullName?: boolean;\n isValidMonth?: boolean;\n isLengthEqual?: boolean;\n};\n\nexport const formatInputValue = ({\n value,\n format,\n lang,\n hasMonthFullName,\n isValidMonth,\n isLengthEqual,\n}: FormatInputValueArgs) => {\n if (!value || !lang) {\n return '';\n }\n\n if (hasMonthFullName && (!isValidMonth || !isLengthEqual)) {\n return String(value);\n }\n\n if (format && customDayjs(value, format, true).isValid()) {\n return customDayjs(value, format).locale(lang).format(format);\n }\n\n if (format && String(value).length >= 10 && String(new Date(value)) !== 'Invalid Date') {\n return customDayjs(value).locale(lang).format(format);\n }\n\n return String(value);\n};\n\nexport const formatCalendarValue = (value?: Date | string, format?: string, lang?: Langs) => {\n if (!value || !lang) {\n return undefined;\n }\n\n if (format && customDayjs(value, format, true).isValid()) {\n return customDayjs(value, format, true).locale(lang).toDate();\n }\n\n if (String(new Date(value)) !== 'Invalid Date') {\n return customDayjs(value).locale(lang).toDate();\n }\n\n return undefined;\n};\n\nexport const getDateFromFormat = (value: Date | string, format?: string, lang?: Langs) => {\n if (format && customDayjs(value, format, true).isValid() && lang) {\n return { value: customDayjs(value, format, true).locale(lang).toDate(), isError: false, isSuccess: true };\n }\n\n if (!format && String(new Date(value)) !== 'Invalid Date' && lang) {\n return { value: customDayjs(value).locale(lang).toDate(), isError: false, isSuccess: true };\n }\n\n return { value, isError: true, isSuccess: false };\n};\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\nexport 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 if (value.length >= format.length) {\n return value.slice(0, format.length);\n }\n\n if (prevValue && value.length < prevValue.length && prevValue?.[value.length] === delimiter) {\n return value.slice(0, -1);\n }\n\n if (format?.[value.length] === delimiter) {\n return value + delimiter;\n }\n\n return value;\n};\n"],"names":["formatInputValue","_ref","value","format","lang","hasMonthFullName","isValidMonth","isLengthEqual","String","customDayjs","isValid","locale","length","Date","formatCalendarValue","undefined","toDate","getDateFromFormat","isError","isSuccess","getDateFormatDelimiter","_format$match","delimiter","match","getMaskedDateOnInput","prevValue","test","slice"],"mappings":"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"}
1
+ {"version":3,"file":"dateHelper.js","sources":["../../../../src/components/DatePicker/utils/dateHelper.ts"],"sourcesContent":["import { customDayjs } from '../../../utils/datejs';\nimport { ValidateDateArgs } from '../DatePickerBase.types';\n\nexport type Langs = 'ru' | 'en';\n\ntype FormatInputValueArgs = {\n value?: Date | string;\n format?: string;\n lang?: Langs;\n hasMonthFullName?: boolean;\n isValidMonth?: boolean;\n isLengthEqual?: boolean;\n};\n\nexport const formatInputValue = ({\n value,\n format,\n lang,\n hasMonthFullName,\n isValidMonth,\n isLengthEqual,\n}: FormatInputValueArgs) => {\n if (!value || !lang) {\n return '';\n }\n\n if (hasMonthFullName && (!isValidMonth || !isLengthEqual)) {\n return String(value);\n }\n\n if (format && customDayjs(value, format, true).isValid()) {\n return customDayjs(value, format).locale(lang).format(format);\n }\n\n if (format && String(value).length >= 10 && String(new Date(value)) !== 'Invalid Date') {\n return customDayjs(value).locale(lang).format(format);\n }\n\n return String(value);\n};\n\nexport const formatCalendarValue = (value?: Date | string, format?: string, lang?: Langs) => {\n if (!value || !lang) {\n return undefined;\n }\n\n if (format && customDayjs(value, format, true).isValid()) {\n return customDayjs(value, format, true).locale(lang).toDate();\n }\n\n if (String(new Date(value)) !== 'Invalid Date') {\n return customDayjs(value).locale(lang).toDate();\n }\n\n return undefined;\n};\n\nexport const getDateFromFormat = (value: Date | string, format?: string, lang?: Langs) => {\n if (format && customDayjs(value, format, true).isValid() && lang) {\n return { value: customDayjs(value, format, true).locale(lang).toDate(), isError: false, isSuccess: true };\n }\n\n if (!format && String(new Date(value)) !== 'Invalid Date' && lang) {\n return { value: customDayjs(value).locale(lang).toDate(), isError: false, isSuccess: true };\n }\n\n return { value, isError: true, isSuccess: false };\n};\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\nexport 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 if (value.length >= format.length) {\n return value.slice(0, format.length);\n }\n\n if (prevValue && value.length < prevValue.length && prevValue?.[value.length] === delimiter) {\n return value.slice(0, -1);\n }\n\n if (format?.[value.length] === delimiter) {\n return value + delimiter;\n }\n\n return value;\n};\n\nexport const validateDateWithFullMonth = ({ currentValue, format, lang }: ValidateDateArgs) => {\n /**\n * NOTE: если в формате даты есть месяц в полном названии или сокращенном,\n * нужно дополнительно проводить валидацию на полноту введенной даты.\n * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.\n */\n const hasMonthFullName = /M{3,4}/g.test(format);\n\n if (!hasMonthFullName) {\n return {\n hasMonthFullName,\n isValidMonth: false,\n isLengthEqual: false,\n };\n }\n\n customDayjs.locale(lang);\n\n const firstIndexOfMonth = format.indexOf('M');\n const lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);\n\n const fullMonthName = !lastIndexOfMonth\n ? currentValue.slice(firstIndexOfMonth)\n : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);\n\n const monthFormatting = format.replace(/[^M]/g, '');\n\n const isValidMonth = customDayjs(`01 ${fullMonthName} 1970`, `DD ${monthFormatting} YYYY`, true).isValid();\n const isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;\n\n return {\n hasMonthFullName,\n isValidMonth,\n isLengthEqual,\n };\n};\n"],"names":["formatInputValue","_ref","value","format","lang","hasMonthFullName","isValidMonth","isLengthEqual","String","customDayjs","isValid","locale","length","Date","formatCalendarValue","undefined","toDate","getDateFromFormat","isError","isSuccess","getDateFormatDelimiter","_format$match","delimiter","match","getMaskedDateOnInput","prevValue","test","slice","validateDateWithFullMonth","_ref2","currentValue","firstIndexOfMonth","indexOf","lastIndexOfMonth","fullMonthName","monthFormatting","replace","concat"],"mappings":"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"}
package/cjs/index.css CHANGED
@@ -715,7 +715,7 @@
715
715
 
716
716
 
717
717
 
718
- .base_1911nyw_bxpb4df__5db6cb4b{width:var(--plasma-date-picker-width);}.base_1911nyw_bxpb4df__5db6cb4b .base_1911nyw_ss94ai0__5db6cb4b{margin:var(--plasma-date-picker__label-offset);font-family:var(--plasma-date-picker__label-font-family);font-size:var(--plasma-date-picker__label-font-size);font-style:var(--plasma-date-picker__label-font-style);font-weight:var(--plasma-date-picker__label-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__label-letter-spacing);letter-spacing:var(--plasma-date-picker__label-letter-spacing);line-height:var(--plasma-date-picker__label-line-height);}.base_1911nyw_bxpb4df__5db6cb4b .base_1911nyw_l1b381ow__5db6cb4b{margin:var(--plasma-date-picker__left-helper-offset);font-family:var(--plasma-date-picker__left-helper-font-family);font-size:var(--plasma-date-picker__left-helper-font-size);font-style:var(--plasma-date-picker__left-helper-font-style);font-weight:var(--plasma-date-picker__left-helper-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);line-height:var(--plasma-date-picker__left-helper-line-height);}
718
+ .base_1d0sbzw_bxpb4df__7076066f .base_1d0sbzw_ss94ai0__7076066f{margin:var(--plasma-date-picker__label-offset);font-family:var(--plasma-date-picker__label-font-family);font-size:var(--plasma-date-picker__label-font-size);font-style:var(--plasma-date-picker__label-font-style);font-weight:var(--plasma-date-picker__label-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__label-letter-spacing);letter-spacing:var(--plasma-date-picker__label-letter-spacing);line-height:var(--plasma-date-picker__label-line-height);}.base_1d0sbzw_bxpb4df__7076066f .base_1d0sbzw_l1b381ow__7076066f{margin:var(--plasma-date-picker__left-helper-offset);font-family:var(--plasma-date-picker__left-helper-font-family);font-size:var(--plasma-date-picker__left-helper-font-size);font-style:var(--plasma-date-picker__left-helper-font-style);font-weight:var(--plasma-date-picker__left-helper-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);line-height:var(--plasma-date-picker__left-helper-line-height);}
719
719
 
720
720
  .base_11yn9y8_bcuyjma__ffe2947a .base_11yn9y8_ss94ai0__ffe2947a{display:block;color:var(--plasma-date-picker__label-color);}.base_11yn9y8_bcuyjma__ffe2947a .base_11yn9y8_l1b381ow__ffe2947a{color:var(--plasma-date-picker__left-helper-color);}
721
721