@salutejs/plasma-new-hope 0.168.0-canary.1484.11355807813.0 → 0.168.0-dev.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.css +11 -12
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +4 -6
  3. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  4. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +12 -18
  5. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  6. package/cjs/components/Accordion/ui/AccordionItem/{AccordionItem.styles_t0tdpe.css → AccordionItem.styles_aus2x3.css} +7 -8
  7. package/cjs/components/DatePicker/RangeDate/RangeDate.css +1 -1
  8. package/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  9. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  10. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  11. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  12. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  13. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  14. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  15. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  16. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  17. package/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  18. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  19. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  20. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  21. package/cjs/components/DatePicker/utils/dateHelper.js +31 -0
  22. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  23. package/cjs/index.css +12 -13
  24. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +4 -6
  25. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +16 -20
  26. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  27. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  28. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  29. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  30. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  31. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  32. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  33. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -80
  34. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -80
  35. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +6 -8
  36. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +15 -19
  37. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  38. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  39. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  40. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  41. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  42. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  43. package/emotion/es/components/DatePicker/utils/dateHelper.js +30 -0
  44. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -80
  45. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -80
  46. package/es/components/Accordion/ui/AccordionItem/AccordionItem.css +11 -12
  47. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +6 -8
  48. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  49. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +13 -18
  50. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  51. package/es/components/Accordion/ui/AccordionItem/{AccordionItem.styles_t0tdpe.css → AccordionItem.styles_aus2x3.css} +7 -8
  52. package/es/components/DatePicker/RangeDate/RangeDate.css +1 -1
  53. package/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  54. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  55. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  56. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  57. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  58. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  59. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  60. package/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  61. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  62. package/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  63. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  64. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  65. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  66. package/es/components/DatePicker/utils/dateHelper.js +31 -1
  67. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  68. package/es/index.css +12 -13
  69. package/package.json +2 -2
  70. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +4 -6
  71. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +8 -11
  72. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  73. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  74. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  75. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  76. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  77. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  78. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  79. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -80
  80. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -80
  81. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +6 -8
  82. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +7 -10
  83. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  84. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  85. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  86. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  87. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  88. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  89. package/styled-components/es/components/DatePicker/utils/dateHelper.js +30 -0
  90. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -80
  91. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -80
  92. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +2 -16
  93. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  94. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +0 -1
  95. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
  96. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +1 -5
  97. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  98. package/types/components/DatePicker/DatePickerBase.types.d.ts +8 -6
  99. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  100. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -10
  101. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  102. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +16 -6
  103. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  104. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  105. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  106. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +2 -1
  107. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  108. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  109. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -2
  110. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  111. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +14 -4
  112. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  113. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -3
  114. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  115. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +3 -1
  116. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  117. package/types/components/DatePicker/utils/dateHelper.d.ts +10 -0
  118. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  119. package/types/components/Popover/Popover.types.d.ts +1 -1
  120. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +6 -6
  121. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  122. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +6 -6
  123. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  124. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  125. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
@@ -5,7 +5,7 @@ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '.
5
5
  import { useDatePicker } from '../hooks/useDatePicker.js';
6
6
  import { classes } from '../DatePicker.tokens.js';
7
7
  import { StyledCalendar, InputHidden } from '../DatePickerBase.styles.js';
8
- import { useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
8
+ import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
9
9
  import { base as base$2 } from './variations/_size/base.js';
10
10
  import { base as base$1 } from './variations/_view/base.js';
11
11
  import { base as base$3 } from './variations/_disabled/base.js';
@@ -14,7 +14,7 @@ import { StyledInput, StyledLabel, StyledPopover, LeftHelper, base } from './Sin
14
14
  import { noop } from '../../../utils/noop.js';
15
15
  import { getPlacements } from '../../../utils/getPopoverPlacement.js';
16
16
 
17
- 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"];
17
+ 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"];
18
18
  var datePickerRoot = function datePickerRoot(Root) {
19
19
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
20
20
  var className = _ref.className,
@@ -59,10 +59,16 @@ var datePickerRoot = function datePickerRoot(Root) {
59
59
  disabledYearList = _ref.disabledYearList,
60
60
  _ref$type = _ref.type,
61
61
  type = _ref$type === void 0 ? 'Days' : _ref$type,
62
+ _ref$frame = _ref.frame,
63
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
64
+ _ref$usePortal = _ref.usePortal,
65
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
62
66
  _ref$placement = _ref.placement,
63
67
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
64
68
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
65
69
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
70
+ _ref$closeOnEsc = _ref.closeOnEsc,
71
+ closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
66
72
  offset = _ref.offset,
67
73
  onChangeValue = _ref.onChangeValue,
68
74
  onCommitDate = _ref.onCommitDate,
@@ -97,7 +103,6 @@ var datePickerRoot = function datePickerRoot(Root) {
97
103
  currentValue: inputValue,
98
104
  setInputValue: setInputValue,
99
105
  setCalendarValue: setCalendarValue,
100
- setIsInnerOpen: setIsInnerOpen,
101
106
  dateFormatDelimiter: dateFormatDelimiter,
102
107
  format: format,
103
108
  lang: lang,
@@ -106,21 +111,34 @@ var datePickerRoot = function datePickerRoot(Root) {
106
111
  maskWithFormat: maskWithFormat,
107
112
  valueError: valueError,
108
113
  valueSuccess: valueSuccess,
109
- inputRef: inputRef,
110
114
  name: name,
111
- onToggle: onToggle,
112
115
  onChangeValue: onChangeValue,
113
116
  onCommitDate: onCommitDate,
114
117
  onChange: onChange
115
118
  }),
116
119
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
117
120
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
118
- handleToggle = _useDatePicker.handleToggle,
119
121
  handleChangeValue = _useDatePicker.handleChangeValue,
120
122
  handleCommitDate = _useDatePicker.handleCommitDate;
123
+ var handleToggle = function handleToggle(opened, event) {
124
+ if (disabled || readOnly) {
125
+ return;
126
+ }
127
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : opened;
128
+ if (!isCalendarOpen && inputValue) {
129
+ var _inputRef$current;
130
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
131
+ }
132
+ if (onToggle) {
133
+ onToggle(isCalendarOpen, event);
134
+ return;
135
+ }
136
+ setIsInnerOpen(isCalendarOpen);
137
+ };
121
138
  var _useKeyNavigation = useKeyNavigation({
122
139
  isCalendarOpen: isInnerOpen,
123
- onToggle: handleToggle
140
+ onToggle: handleToggle,
141
+ closeOnEsc: closeOnEsc
124
142
  }),
125
143
  onKeyDown = _useKeyNavigation.onKeyDown;
126
144
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
@@ -176,7 +194,8 @@ var datePickerRoot = function datePickerRoot(Root) {
176
194
  ref: ref
177
195
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
178
196
  opened: isInnerOpen,
179
- usePortal: false,
197
+ usePortal: usePortal,
198
+ frame: frame,
180
199
  onToggle: handleToggle,
181
200
  offset: offset,
182
201
  placement: getPlacements(placement),
@@ -185,6 +204,12 @@ var datePickerRoot = function datePickerRoot(Root) {
185
204
  isFocusTrapped: false,
186
205
  target: DatePickerInput,
187
206
  preventOverflow: false
207
+ }, /*#__PURE__*/React.createElement(Root, {
208
+ view: view,
209
+ size: size,
210
+ className: cx(classes.datePickerRoot, className),
211
+ disabled: disabled,
212
+ readOnly: !disabled && readOnly
188
213
  }, /*#__PURE__*/React.createElement(StyledCalendar, {
189
214
  size: size,
190
215
  value: calendarValue,
@@ -205,7 +230,7 @@ var datePickerRoot = function datePickerRoot(Root) {
205
230
  onChangeValue: function onChangeValue(date, dateInfo) {
206
231
  return handleCommitDate(date, false, true, dateInfo);
207
232
  }
208
- })), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
233
+ }))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
209
234
  type: "hidden",
210
235
  datatype: "datepicker-single",
211
236
  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 onToggle(isCalendarOpen, event);\n\n return;\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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"}
@@ -1,12 +1,10 @@
1
1
  import { classes } from '../DatePicker.tokens.js';
2
- import { getMaskedDateOnInput, formatCalendarValue, formatInputValue, getDateFromFormat } from '../utils/dateHelper.js';
3
- import { customDayjs } from '../../../utils/datejs.js';
2
+ import { getMaskedDateOnInput, formatCalendarValue, formatInputValue, validateDateWithFullMonth, getDateFromFormat } from '../utils/dateHelper.js';
4
3
 
5
4
  var useDatePicker = function useDatePicker(_ref) {
6
5
  var currentValue = _ref.currentValue,
7
6
  setInputValue = _ref.setInputValue,
8
7
  setCalendarValue = _ref.setCalendarValue,
9
- setIsInnerOpen = _ref.setIsInnerOpen,
10
8
  dateFormatDelimiter = _ref.dateFormatDelimiter,
11
9
  format = _ref.format,
12
10
  _ref$lang = _ref.lang,
@@ -16,24 +14,12 @@ var useDatePicker = function useDatePicker(_ref) {
16
14
  maskWithFormat = _ref.maskWithFormat,
17
15
  valueError = _ref.valueError,
18
16
  valueSuccess = _ref.valueSuccess,
19
- inputRef = _ref.inputRef,
20
17
  name = _ref.name,
21
- onToggle = _ref.onToggle,
22
18
  onChangeValue = _ref.onChangeValue,
23
19
  onCommitDate = _ref.onCommitDate,
24
20
  onChange = _ref.onChange;
25
21
  var datePickerErrorClass = valueError ? classes.datePickerError : undefined;
26
22
  var datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;
27
- var handleToggle = function handleToggle(opened, event) {
28
- if (disabled || readOnly) {
29
- return;
30
- }
31
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) ? true : opened;
32
- if (onToggle) {
33
- return onToggle(isCalendarOpen, event);
34
- }
35
- setIsInnerOpen(isCalendarOpen);
36
- };
37
23
  var handleChangeValue = function handleChangeValue(event) {
38
24
  if (disabled || readOnly) {
39
25
  return;
@@ -56,24 +42,14 @@ var useDatePicker = function useDatePicker(_ref) {
56
42
  });
57
43
  return;
58
44
  }
59
-
60
- /**
61
- * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
62
- * нужно дополнительно проводить валидацию на полноту введенной даты.
63
- * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
64
- */
65
- var hasMonthFullName = /M{3,4}/g.test(format);
66
- var isValidMonth;
67
- var isLengthEqual;
68
- if (hasMonthFullName) {
69
- customDayjs.locale(lang);
70
- var firstIndexOfMonth = format.indexOf('M');
71
- var lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);
72
- var fullMonthName = !lastIndexOfMonth ? newValue.slice(firstIndexOfMonth) : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);
73
- var monthFormatting = format.replace(/[^M]/g, '');
74
- isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
75
- isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;
76
- }
45
+ var _validateDateWithFull = validateDateWithFullMonth({
46
+ currentValue: newValue,
47
+ format: format,
48
+ lang: lang
49
+ }),
50
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
51
+ isValidMonth = _validateDateWithFull.isValidMonth,
52
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
77
53
  if (!hasMonthFullName && (newValue === null || newValue === void 0 ? void 0 : newValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
78
54
  setCalendarValue(formatCalendarValue(newValue, format, lang));
79
55
  }
@@ -103,20 +79,18 @@ var useDatePicker = function useDatePicker(_ref) {
103
79
  return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true);
104
80
  }
105
81
  if (isCalendarValue) {
106
- setCalendarValue(formatCalendarValue(date, format, lang));
107
- setInputValue(formatInputValue({
82
+ var _formattedInputValue = formatInputValue({
108
83
  value: date,
109
84
  format: format,
110
85
  lang: lang
111
- }));
86
+ });
87
+ setCalendarValue(formatCalendarValue(date, format, lang));
88
+ setInputValue(_formattedInputValue);
112
89
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
90
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, _formattedInputValue);
113
91
  onChange === null || onChange === void 0 || onChange({
114
92
  target: {
115
- value: formatInputValue({
116
- value: date,
117
- format: format,
118
- lang: lang
119
- }),
93
+ value: _formattedInputValue,
120
94
  name: name
121
95
  }
122
96
  });
@@ -127,19 +101,18 @@ var useDatePicker = function useDatePicker(_ref) {
127
101
  newDate = _getDateFromFormat.value,
128
102
  isError = _getDateFromFormat.isError,
129
103
  isSuccess = _getDateFromFormat.isSuccess;
130
- setCalendarValue(formatCalendarValue(newDate, format, lang));
131
- setInputValue(formatInputValue({
104
+ var formattedInputValue = formatInputValue({
132
105
  value: newDate,
133
106
  format: format,
134
107
  lang: lang
135
- }));
108
+ });
109
+ setCalendarValue(formatCalendarValue(newDate, format, lang));
110
+ setInputValue(formattedInputValue);
136
111
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
112
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedInputValue);
137
113
  onChange === null || onChange === void 0 || onChange({
138
114
  target: {
139
- value: formatInputValue({
140
- value: date,
141
- format: format
142
- }),
115
+ value: formattedInputValue,
143
116
  name: name
144
117
  }
145
118
  });
@@ -147,7 +120,6 @@ var useDatePicker = function useDatePicker(_ref) {
147
120
  return {
148
121
  datePickerErrorClass: datePickerErrorClass,
149
122
  datePickerSuccessClass: datePickerSuccessClass,
150
- handleToggle: handleToggle,
151
123
  handleChangeValue: handleChangeValue,
152
124
  handleCommitDate: handleCommitDate
153
125
  };
@@ -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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"}
@@ -1,8 +1,10 @@
1
1
  var keys = {
2
- Space: 'Space'
2
+ Space: 'Space',
3
+ Escape: 'Escape'
3
4
  };
4
5
  var useKeyNavigation = function useKeyNavigation(_ref) {
5
6
  var isCalendarOpen = _ref.isCalendarOpen,
7
+ closeOnEsc = _ref.closeOnEsc,
6
8
  onToggle = _ref.onToggle;
7
9
  var onKeyDown = function onKeyDown(event) {
8
10
  switch (event.code) {
@@ -14,6 +16,14 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
14
16
  }
15
17
  break;
16
18
  }
19
+ case keys.Escape:
20
+ {
21
+ if (isCalendarOpen && closeOnEsc) {
22
+ event.preventDefault();
23
+ onToggle(false, event);
24
+ }
25
+ break;
26
+ }
17
27
  }
18
28
  };
19
29
  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;;;;"}
@@ -80,6 +80,36 @@ var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimite
80
80
  }
81
81
  return value;
82
82
  };
83
+ var validateDateWithFullMonth = function validateDateWithFullMonth(_ref2) {
84
+ var currentValue = _ref2.currentValue,
85
+ format = _ref2.format,
86
+ lang = _ref2.lang;
87
+ /**
88
+ * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
89
+ * нужно дополнительно проводить валидацию на полноту введенной даты.
90
+ * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
91
+ */
92
+ var hasMonthFullName = /M{3,4}/g.test(format);
93
+ if (!hasMonthFullName) {
94
+ return {
95
+ hasMonthFullName: hasMonthFullName,
96
+ isValidMonth: false,
97
+ isLengthEqual: false
98
+ };
99
+ }
100
+ customDayjs.locale(lang);
101
+ var firstIndexOfMonth = format.indexOf('M');
102
+ var lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);
103
+ var fullMonthName = !lastIndexOfMonth ? currentValue.slice(firstIndexOfMonth) : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);
104
+ var monthFormatting = format.replace(/[^M]/g, '');
105
+ var isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
106
+ var isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;
107
+ return {
108
+ hasMonthFullName: hasMonthFullName,
109
+ isValidMonth: isValidMonth,
110
+ isLengthEqual: isLengthEqual
111
+ };
112
+ };
83
113
 
84
- export { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat, getMaskedDateOnInput };
114
+ export { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat, getMaskedDateOnInput, validateDateWithFullMonth };
85
115
  //# 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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"}