@salutejs/plasma-new-hope 0.113.0-dev.0 → 0.114.0-canary.1326.10178816804.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  5. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +30 -0
  6. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -0
  7. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
  8. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
  9. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +32 -0
  10. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
  11. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
  12. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +26 -0
  13. package/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
  14. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  15. package/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
  16. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  17. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +25 -0
  18. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -0
  19. package/package.json +2 -2
  20. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +14 -2
  21. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +14 -2
  22. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +32 -0
  23. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +14 -2
  24. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
  25. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +26 -0
  26. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  27. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  28. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +13 -0
  29. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -0
@@ -4,6 +4,7 @@ import { cx } from '../../../utils/index.js';
4
4
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper.js';
5
5
  import { useDatePicker } from '../hooks/useDatePicker.js';
6
6
  import { classes } from '../DatePicker.tokens.js';
7
+ import { useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
7
8
  import { base as base$2 } from './variations/_size/base.js';
8
9
  import { base as base$1 } from './variations/_view/base.js';
9
10
  import { base as base$3 } from './variations/_disabled/base.js';
@@ -165,6 +166,11 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
165
166
  }
166
167
  setIsInnerOpen(isCalendarOpen);
167
168
  };
169
+ var _useKeyNavigation = useKeyNavigation({
170
+ isCalendarOpen: isInnerOpen,
171
+ onToggle: handleToggle
172
+ }),
173
+ onKeyDown = _useKeyNavigation.onKeyDown;
168
174
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
169
175
  ref: rangeRef,
170
176
  dividerIcon: dividerIcon,
@@ -208,13 +214,19 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
208
214
  onFocusFirstTextfield: onFocusFirstTextfield,
209
215
  onFocusSecondTextfield: onFocusSecondTextfield,
210
216
  onBlurFirstTextfield: onBlurFirstTextfield,
211
- onBlurSecondTextfield: onBlurSecondTextfield
217
+ onBlurSecondTextfield: onBlurSecondTextfield,
218
+ onKeyDown: onKeyDown
212
219
  }));
213
220
  useEffect(function () {
214
221
  var _rangeRef$current5, _rangeRef$current6;
215
222
  setFirstInputRef((_rangeRef$current5 = rangeRef.current) === null || _rangeRef$current5 === void 0 ? void 0 : _rangeRef$current5.firstTextField());
216
223
  setSecondInputRef((_rangeRef$current6 = rangeRef.current) === null || _rangeRef$current6 === void 0 ? void 0 : _rangeRef$current6.secondTextField());
217
224
  }, [rangeRef.current]);
225
+ useEffect(function () {
226
+ setIsInnerOpen(function (prevOpen) {
227
+ return prevOpen !== isOpen && isOpen;
228
+ });
229
+ }, [isOpen]);
218
230
  return /*#__PURE__*/React.createElement(Root, _extends({
219
231
  ref: rootRef,
220
232
  view: view,
@@ -225,7 +237,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
225
237
  }, rest), label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(RangeDatePopover, {
226
238
  calendarValue: [calendarFirstValue, calendarSecondValue],
227
239
  target: RangeComponent,
228
- isOpen: isOpen || isInnerOpen,
240
+ isOpen: isInnerOpen,
229
241
  includeEdgeDates: includeEdgeDates,
230
242
  eventList: eventList,
231
243
  disabledList: disabledList,
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n SyntheticEvent,\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\n\nimport type { DatePickerRangeProps } from './RangeDate.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, StyledLabel, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n\n isDoubleCalendar = false,\n isOpen = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n format = 'DD.MM.YYYY',\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 closeOnEsc = true,\n offset,\n\n onToggle,\n\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(formatCalendarValue(defaultFirstDate, format));\n const [inputFirstValue, setInputFirstValue] = useState(formatInputValue(defaultFirstDate, format));\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format),\n );\n const [inputSecondValue, setInputSecondValue] = useState(formatInputValue(defaultSecondDate, format));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setInputFirstValue,\n setCalendarValue: setCalendarFirstValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n inputRef: firstInputRef,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setInputSecondValue,\n setCalendarValue: setCalendarSecondValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n inputRef: secondInputRef,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n firstInputRef?.current?.contains((event.target as Node) || null) ||\n secondInputRef?.current?.contains((event.target as Node) || null)\n ? true\n : opened;\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={onFocusFirstTextfield}\n onFocusSecondTextfield={onFocusSecondTextfield}\n onBlurFirstTextfield={onBlurFirstTextfield}\n onBlurSecondTextfield={onBlurSecondTextfield}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n {label && <StyledLabel>{label}</StyledLabel>}\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n isOpen={isOpen || isInnerOpen}\n includeEdgeDates={includeEdgeDates}\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 placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n isDoubleCalendar={isDoubleCalendar}\n onChangeStartOfRange={(firstDate, dateInfo) => {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n handleCommitSecondDate('');\n }}\n onChangeValue={([firstDate, secondDate], dateInfo) => {\n firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);\n secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);\n if (firstDate && secondDate && !firstValueError && !secondValueError) {\n setIsInnerOpen(false);\n }\n }}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","_ref$isDoubleCalendar","isDoubleCalendar","_ref$isOpen","isOpen","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","_ref$format","format","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onToggle","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","inputRef","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","opened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","target","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","_extends","cx","classes","datePickerRoot","StyledLabel","RangeDatePopover","calendarValue","onChangeStartOfRange","firstDate","dateInfo","_ref2","_ref3","secondDate","LeftHelper","datePickerRangeConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":";;;;;;;;;;;;;;IA0BaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC5BC,IAAwG,EAAA;AAAA,EAAA,oBAExGC,UAAU,CACN,UAAAC,IAAA,EAuEIC,GAAG,EACF;IAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;AAAA,IAAA,IAtEGC,SAAS,GAAAJ,IAAA,CAATI,SAAS;MAAAC,qBAAA,GAAAL,IAAA,CAETM,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,WAAA,GAAAP,IAAA,CACxBQ,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MAEdE,KAAK,GAAAT,IAAA,CAALS,KAAK;MACLC,UAAU,GAAAV,IAAA,CAAVU,UAAU;MACVC,WAAW,GAAAX,IAAA,CAAXW,WAAW;MACXC,YAAY,GAAAZ,IAAA,CAAZY,YAAY;MACZC,IAAI,GAAAb,IAAA,CAAJa,IAAI;MACJC,IAAI,GAAAd,IAAA,CAAJc,IAAI;MAAAC,aAAA,GAAAf,IAAA,CACJgB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAjB,IAAA,CAChBkB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,mBAAA,GAAAnB,IAAA,CAEhBoB,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;MACvBE,WAAW,GAAArB,IAAA,CAAXqB,WAAW;MAAAC,qBAAA,GAAAtB,IAAA,CAEXuB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MAAAE,qBAAA,GAAAxB,IAAA,CACrByB,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MACtBE,eAAe,GAAA1B,IAAA,CAAf0B,eAAe;MACfC,gBAAgB,GAAA3B,IAAA,CAAhB2B,gBAAgB;MAChBC,iBAAiB,GAAA5B,IAAA,CAAjB4B,iBAAiB;MACjBC,kBAAkB,GAAA7B,IAAA,CAAlB6B,kBAAkB;MAClBC,gBAAgB,GAAA9B,IAAA,CAAhB8B,gBAAgB;MAChBC,iBAAiB,GAAA/B,IAAA,CAAjB+B,iBAAiB;MACjBC,yBAAyB,GAAAhC,IAAA,CAAzBgC,yBAAyB;MACzBC,0BAA0B,GAAAjC,IAAA,CAA1BiC,0BAA0B;MAC1BC,0BAA0B,GAAAlC,IAAA,CAA1BkC,0BAA0B;MAC1BC,2BAA2B,GAAAnC,IAAA,CAA3BmC,2BAA2B;MAC3BC,wBAAwB,GAAApC,IAAA,CAAxBoC,wBAAwB;MACxBC,yBAAyB,GAAArC,IAAA,CAAzBqC,yBAAyB;MACzBC,uBAAuB,GAAAtC,IAAA,CAAvBsC,uBAAuB;MACvBC,wBAAwB,GAAAvC,IAAA,CAAxBuC,wBAAwB;MAAAC,WAAA,GAAAxC,IAAA,CAExByC,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,WAAA;MACrBE,cAAc,GAAA1C,IAAA,CAAd0C,cAAc;MACdC,GAAG,GAAA3C,IAAA,CAAH2C,GAAG;MACHC,GAAG,GAAA5C,IAAA,CAAH4C,GAAG;MAAAC,qBAAA,GAAA7C,IAAA,CACH8C,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACxBE,SAAS,GAAA/C,IAAA,CAAT+C,SAAS;MACTC,YAAY,GAAAhD,IAAA,CAAZgD,YAAY;MACZC,cAAc,GAAAjD,IAAA,CAAdiD,cAAc;MACdC,iBAAiB,GAAAlD,IAAA,CAAjBkD,iBAAiB;MACjBC,gBAAgB,GAAAnD,IAAA,CAAhBmD,gBAAgB;MAChBC,mBAAmB,GAAApD,IAAA,CAAnBoD,mBAAmB;MACnBC,aAAa,GAAArD,IAAA,CAAbqD,aAAa;MACbC,gBAAgB,GAAAtD,IAAA,CAAhBsD,gBAAgB;MAAAC,SAAA,GAAAvD,IAAA,CAChBwD,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MAAAE,cAAA,GAAAzD,IAAA,CAEb0D,SAAS;MAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;MAAAE,qBAAA,GAAA3D,IAAA,CAC7B4D,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAAA7D,IAAA,CAC1B8D,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MACjBE,MAAM,GAAA/D,IAAA,CAAN+D,MAAM;MAENC,QAAQ,GAAAhE,IAAA,CAARgE,QAAQ;MAERC,kBAAkB,GAAAjE,IAAA,CAAlBiE,kBAAkB;MAClBC,mBAAmB,GAAAlE,IAAA,CAAnBkE,mBAAmB;MAEnBC,iBAAiB,GAAAnE,IAAA,CAAjBmE,iBAAiB;MACjBC,kBAAkB,GAAApE,IAAA,CAAlBoE,kBAAkB;MAElBC,qBAAqB,GAAArE,IAAA,CAArBqE,qBAAqB;MACrBC,sBAAsB,GAAAtE,IAAA,CAAtBsE,sBAAsB;MACtBC,oBAAoB,GAAAvE,IAAA,CAApBuE,oBAAoB;MACpBC,qBAAqB,GAAAxE,IAAA,CAArBwE,qBAAqB;AAElBC,MAAAA,IAAI,GAAAC,wBAAA,CAAA1E,IAAA,EAAA2E,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,QAAQ,GAAG3E,GAAG,IAAI,SAAS,IAAIA,GAAG,GAAGA,GAAG,gBAAG4E,SAAS,EAAkB,CAAA;AAC5E,IAAA,IAAMC,OAAO,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;IAEnD,IAAAC,SAAA,GAA0CC,QAAQ,CAC9CL,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAA1E,iBAAA,GAAR0E,QAAQ,CAAEM,OAAO,cAAAhF,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAmBiF,cAAc,EACrC,CAAC;MAAAC,UAAA,GAAAC,cAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAFMM,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAGtC,IAAAI,UAAA,GAA4CP,QAAQ,CAChDL,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAAzE,kBAAA,GAARyE,QAAQ,CAAEM,OAAO,cAAA/E,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmBsF,eAAe,EACtC,CAAC;MAAAC,UAAA,GAAAL,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGxC,IAAA,IAAAG,UAAA,GAAsCZ,QAAQ,CAACzE,MAAM,CAAC;MAAAsF,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA/CE,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAElC,IAAAG,UAAA,GAAoDhB,QAAQ,CAACiB,mBAAmB,CAAC3E,gBAAgB,EAAEkB,MAAM,CAAC,CAAC;MAAA0D,UAAA,GAAAd,cAAA,CAAAY,UAAA,EAAA,CAAA,CAAA;AAApGG,MAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAChD,IAAAG,UAAA,GAA8CrB,QAAQ,CAACsB,gBAAgB,CAAChF,gBAAgB,EAAEkB,MAAM,CAAC,CAAC;MAAA+D,WAAA,GAAAnB,cAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AAA3FG,MAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAE1C,IAAAG,WAAA,GAAsD1B,QAAQ,CAC1DiB,mBAAmB,CAACzE,iBAAiB,EAAEgB,MAAM,CACjD,CAAC;MAAAmE,WAAA,GAAAvB,cAAA,CAAAsB,WAAA,EAAA,CAAA,CAAA;AAFME,MAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,sBAAsB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAGlD,IAAAG,WAAA,GAAgD9B,QAAQ,CAACsB,gBAAgB,CAAC9E,iBAAiB,EAAEgB,MAAM,CAAC,CAAC;MAAAuE,WAAA,GAAA3B,cAAA,CAAA0B,WAAA,EAAA,CAAA,CAAA;AAA9FE,MAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAE5C,IAAMG,mBAAmB,GAAGC,WAAW,CAAC,YAAA;MAAA,OAAMC,sBAAsB,CAAC5E,MAAM,CAAC,CAAA;KAAE,EAAA,CAACA,MAAM,CAAC,CAAC,CAAA;IAEvF,IAAA6E,cAAA,GAGIC,aAAa,CAAC;AACdC,QAAAA,YAAY,EAAEf,eAAe;AAC7BgB,QAAAA,aAAa,EAAEf,kBAAkB;AACjCgB,QAAAA,gBAAgB,EAAErB,qBAAqB;AACvCL,QAAAA,cAAc,EAAdA,cAAc;AACdmB,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB1E,QAAAA,MAAM,EAANA,MAAM;AACNvB,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACR0B,QAAAA,cAAc,EAAdA,cAAc;AACdiF,QAAAA,UAAU,EAAEjG,eAAe;AAC3BkG,QAAAA,YAAY,EAAEhG,iBAAiB;AAC/BiG,QAAAA,QAAQ,EAAEvC,aAAa;AACvBwC,QAAAA,aAAa,EAAE7D,kBAAkB;AACjC8D,QAAAA,YAAY,EAAE5D,iBAAAA;AAClB,OAAC,CAAC;MAjBqB6D,sBAAsB,GAAAV,cAAA,CAAzCW,iBAAiB;MACCC,qBAAqB,GAAAZ,cAAA,CAAvCa,gBAAgB,CAAA;IAkBpB,IAAAC,eAAA,GAGIb,aAAa,CAAC;AACdC,QAAAA,YAAY,EAAEP,gBAAgB;AAC9BQ,QAAAA,aAAa,EAAEP,mBAAmB;AAClCQ,QAAAA,gBAAgB,EAAEZ,sBAAsB;AACxCd,QAAAA,cAAc,EAAdA,cAAc;AACdmB,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB1E,QAAAA,MAAM,EAANA,MAAM;AACNvB,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACR0B,QAAAA,cAAc,EAAdA,cAAc;AACdiF,QAAAA,UAAU,EAAEhG,gBAAgB;AAC5BiG,QAAAA,YAAY,EAAE/F,kBAAkB;AAChCgG,QAAAA,QAAQ,EAAElC,cAAc;AACxBmC,QAAAA,aAAa,EAAE5D,mBAAmB;AAClC6D,QAAAA,YAAY,EAAE3D,kBAAAA;AAClB,OAAC,CAAC;MAjBqBiE,uBAAuB,GAAAD,eAAA,CAA1CH,iBAAiB;MACCK,sBAAsB,GAAAF,eAAA,CAAxCD,gBAAgB,CAAA;IAkBpB,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAe,EAAEC,KAA6B,EAAK;MAAA,IAAAC,qBAAA,EAAAC,qBAAA,CAAA;MACrE,IAAIzH,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAM4H,cAAc,GAChBtD,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAAoD,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAbpD,aAAa,CAAEJ,OAAO,cAAAwD,qBAAA,KAAA,KAAA,CAAA,IAAtBA,qBAAA,CAAwBG,QAAQ,CAAEJ,KAAK,CAACK,MAAM,IAAa,IAAI,CAAC,IAChEnD,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAAgD,qBAAA,GAAdhD,cAAc,CAAET,OAAO,MAAAyD,IAAAA,IAAAA,qBAAA,KAAvBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAyBE,QAAQ,CAAEJ,KAAK,CAACK,MAAM,IAAa,IAAI,CAAC,GAC3D,IAAI,GACJN,MAAM,CAAA;AAEhB,MAAA,IAAIxE,QAAQ,EAAE;AACV,QAAA,OAAOA,QAAQ,CAAC4E,cAAc,EAAEH,KAAK,CAAC,CAAA;AAC1C,OAAA;MAEAzC,cAAc,CAAC4C,cAAc,CAAC,CAAA;KACjC,CAAA;AAED,IAAA,IAAMG,cAAc,gBAChBC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAIIF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACE,WAAW,EAAA;AACRlJ,MAAAA,GAAG,EAAE2E,QAAS;AACdvD,MAAAA,WAAW,EAAEA,WAAY;AACzBD,MAAAA,cAAc,EAAEA,cAAe;AAC/BF,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCc,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCpB,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BwB,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDP,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,2BAA2B,EAAEA,2BAA4B;AACzDiH,MAAAA,UAAU,EAAE3C,eAAgB;AAC5B4C,MAAAA,WAAW,EAAEpC,gBAAiB;AAC9BvF,MAAAA,eAAe,EAAEA,eAAgB;AACjCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCoC,MAAAA,kBAAkB,EAAE+D,sBAAuB;AAC3C9D,MAAAA,mBAAmB,EAAEmE,uBAAwB;AAC7CiB,MAAAA,kBAAkB,EAAE,SAAAA,kBAAAA,CAACC,CAAC,EAAEC,IAAI,EAAK;QAC7BtB,qBAAqB,CAACuB,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAChD,QAAA,IAAI,CAAC3C,mBAAmB,IAAIlF,gBAAgB,EAAE;AAAA,UAAA,IAAA+H,kBAAA,CAAA;AAC1C9E,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAA8E,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAR9E,QAAQ,CAAEM,OAAO,MAAA,IAAA,IAAAwE,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmBjE,eAAe,EAAE,MAAAiE,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAApCA,kBAAA,CAAsCxE,OAAO,MAAA,IAAA,IAAAwE,kBAAA,KAA7CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA+CC,KAAK,EAAE,CAAA;AAC1D,SAAA;OACF;AACFC,MAAAA,mBAAmB,EAAE,SAAAA,mBAAAA,CAACL,CAAC,EAAEC,IAAI,EAAK;QAC9BlB,sBAAsB,CAACmB,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACjD,QAAA,IAAI,CAACpD,kBAAkB,IAAI1E,eAAe,EAAE;AAAA,UAAA,IAAAmI,kBAAA,CAAA;AACxCjF,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAiF,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAARjF,QAAQ,CAAEM,OAAO,MAAA,IAAA,IAAA2E,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmB1E,cAAc,EAAE,MAAA0E,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAnCA,kBAAA,CAAqC3E,OAAO,MAAA,IAAA,IAAA2E,kBAAA,KAA5CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA8CF,KAAK,EAAE,CAAA;AACzD,SAAA;OACF;AACFtF,MAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,MAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,MAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,MAAAA,qBAAqB,EAAEA,qBAAAA;AAAsB,KAChD,CACH,CACL,CAAA;AAEDsF,IAAAA,SAAS,CAAC,YAAM;MAAA,IAAAC,kBAAA,EAAAC,kBAAA,CAAA;AACZzE,MAAAA,gBAAgB,CAAAwE,CAAAA,kBAAA,GAACnF,QAAQ,CAACM,OAAO,MAAA,IAAA,IAAA6E,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkB5E,cAAc,EAAE,CAAC,CAAA;AACpDS,MAAAA,iBAAiB,CAAAoE,CAAAA,kBAAA,GAACpF,QAAQ,CAACM,OAAO,MAAA,IAAA,IAAA8E,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBvE,eAAe,EAAE,CAAC,CAAA;AAC1D,KAAC,EAAE,CAACb,QAAQ,CAACM,OAAO,CAAC,CAAC,CAAA;AAEtB,IAAA,oBACI8D,KAAA,CAAAC,aAAA,CAACnJ,IAAI,EAAAmK,QAAA,CAAA;AACDhK,MAAAA,GAAG,EAAE6E,OAAQ;AACbjE,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;MACXV,SAAS,EAAE8J,EAAE,CAACC,OAAO,CAACC,cAAc,EAAEhK,SAAS,CAAE;AACjDc,MAAAA,QAAQ,EAAEA,QAAS;MACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,KAAA,EAC5ByD,IAAI,CAEPhE,EAAAA,KAAK,iBAAIuI,KAAA,CAAAC,aAAA,CAACoB,WAAW,EAAA,IAAA,EAAE5J,KAAmB,CAAC,eAC5CuI,KAAA,CAAAC,aAAA,CAACqB,gBAAgB,EAAA;AACbC,MAAAA,aAAa,EAAE,CAACnE,kBAAkB,EAAES,mBAAmB,CAAE;AACzDiC,MAAAA,MAAM,EAAEC,cAAe;MACvBvI,MAAM,EAAEA,MAAM,IAAIuF,WAAY;AAC9BjD,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCX,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTc,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCE,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,MAAM,EAAEA,MAAO;AACfP,MAAAA,IAAI,EAAEA,IAAK;AACXQ,MAAAA,QAAQ,EAAEuE,YAAa;AACvBjI,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCkK,MAAAA,oBAAoB,EAAE,SAAAA,oBAAAA,CAACC,SAAS,EAAEC,QAAQ,EAAK;QAC3CxC,qBAAqB,CAACuC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAEC,QAAQ,CAAC,CAAA;QACvDpC,sBAAsB,CAAC,EAAE,CAAC,CAAA;OAC5B;AACFR,MAAAA,aAAa,EAAE,SAAAA,aAAAA,CAAA6C,KAAA,EAA0BD,QAAQ,EAAK;AAAA,QAAA,IAAAE,KAAA,GAAAvF,cAAA,CAAAsF,KAAA,EAAA,CAAA,CAAA;AAArCF,UAAAA,SAAS,GAAAG,KAAA,CAAA,CAAA,CAAA;AAAEC,UAAAA,UAAU,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;QAClCH,SAAS,IAAIvC,qBAAqB,CAACuC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAEC,QAAQ,CAAC,CAAA;QACpEG,UAAU,IAAIvC,sBAAsB,CAACuC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAEH,QAAQ,CAAC,CAAA;QACvE,IAAID,SAAS,IAAII,UAAU,IAAI,CAACnJ,eAAe,IAAI,CAACC,gBAAgB,EAAE;UAClEqE,cAAc,CAAC,KAAK,CAAC,CAAA;AACzB,SAAA;AACJ,OAAA;AAAE,KACL,CAAC,EACDtF,UAAU,iBAAIsI,KAAA,CAAAC,aAAA,CAAC6B,UAAU,EAAA,IAAA,EAAEpK,UAAuB,CACjD,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMqK,qBAAqB,GAAG;AACjCC,EAAAA,IAAI,EAAE,iBAAiB;AACvBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAErL,mBAAmB;AAC3BsL,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRvK,IAAAA,IAAI,EAAE;AACFwK,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDxK,IAAAA,IAAI,EAAE;AACFuK,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDrK,IAAAA,QAAQ,EAAE;AACNmK,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACDzK,IAAAA,QAAQ,EAAE;AACNqK,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACN7K,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}
1
+ {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n SyntheticEvent,\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { useKeyNavigation } from '../hooks/useKeyboardNavigation';\n\nimport type { DatePickerRangeProps } from './RangeDate.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, StyledLabel, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n\n isDoubleCalendar = false,\n isOpen = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n format = 'DD.MM.YYYY',\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 closeOnEsc = true,\n offset,\n\n onToggle,\n\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(formatCalendarValue(defaultFirstDate, format));\n const [inputFirstValue, setInputFirstValue] = useState(formatInputValue(defaultFirstDate, format));\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format),\n );\n const [inputSecondValue, setInputSecondValue] = useState(formatInputValue(defaultSecondDate, format));\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setInputFirstValue,\n setCalendarValue: setCalendarFirstValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n inputRef: firstInputRef,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setInputSecondValue,\n setCalendarValue: setCalendarSecondValue,\n setIsInnerOpen,\n dateFormatDelimiter,\n format,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n inputRef: secondInputRef,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n firstInputRef?.current?.contains((event.target as Node) || null) ||\n secondInputRef?.current?.contains((event.target as Node) || null)\n ? true\n : opened;\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 });\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={onFocusFirstTextfield}\n onFocusSecondTextfield={onFocusSecondTextfield}\n onBlurFirstTextfield={onBlurFirstTextfield}\n onBlurSecondTextfield={onBlurSecondTextfield}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== isOpen && isOpen);\n }, [isOpen]);\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n {label && <StyledLabel>{label}</StyledLabel>}\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n isOpen={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\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 placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n isDoubleCalendar={isDoubleCalendar}\n onChangeStartOfRange={(firstDate, dateInfo) => {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n handleCommitSecondDate('');\n }}\n onChangeValue={([firstDate, secondDate], dateInfo) => {\n firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);\n secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);\n if (firstDate && secondDate && !firstValueError && !secondValueError) {\n setIsInnerOpen(false);\n }\n }}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\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":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","_ref$isDoubleCalendar","isDoubleCalendar","_ref$isOpen","isOpen","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","_ref$format","format","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onToggle","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","inputRef","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","opened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","target","_useKeyNavigation","useKeyNavigation","onKeyDown","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","focus","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","_extends","cx","classes","datePickerRoot","StyledLabel","RangeDatePopover","calendarValue","onChangeStartOfRange","firstDate","dateInfo","_ref2","_ref3","secondDate","LeftHelper","datePickerRangeConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import React, { forwardRef, useRef, useState, useCallback } from 'react';
2
+ import React, { forwardRef, useRef, useState, useCallback, useEffect } from 'react';
3
3
  import { cx } from '../../../utils/index.js';
4
4
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper.js';
5
5
  import { useDatePicker } from '../hooks/useDatePicker.js';
6
6
  import { classes } from '../DatePicker.tokens.js';
7
7
  import { StyledCalendar } from '../DatePickerBase.styles.js';
8
+ import { useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
8
9
  import { base as base$2 } from './variations/_size/base.js';
9
10
  import { base as base$1 } from './variations/_view/base.js';
10
11
  import { base as base$3 } from './variations/_disabled/base.js';
@@ -104,6 +105,11 @@ var datePickerRoot = function datePickerRoot(Root) {
104
105
  handleToggle = _useDatePicker.handleToggle,
105
106
  handleChangeValue = _useDatePicker.handleChangeValue,
106
107
  handleCommitDate = _useDatePicker.handleCommitDate;
108
+ var _useKeyNavigation = useKeyNavigation({
109
+ isCalendarOpen: isInnerOpen,
110
+ onToggle: handleToggle
111
+ }),
112
+ onKeyDown = _useKeyNavigation.onKeyDown;
107
113
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
108
114
  ref: inputRef,
109
115
  className: cx(datePickerErrorClass, datePickerSuccessClass),
@@ -121,11 +127,17 @@ var datePickerRoot = function datePickerRoot(Root) {
121
127
  return handleCommitDate(date, true, false);
122
128
  },
123
129
  onFocus: onFocus,
124
- onBlur: onBlur
130
+ onBlur: onBlur,
131
+ onKeyDown: onKeyDown
125
132
  }, innerLabelPlacement && {
126
133
  label: label,
127
134
  labelPlacement: labelPlacement
128
135
  }));
136
+ useEffect(function () {
137
+ setIsInnerOpen(function (prevOpen) {
138
+ return prevOpen !== isOpen && isOpen;
139
+ });
140
+ }, [isOpen]);
129
141
  return /*#__PURE__*/React.createElement(Root, _extends({
130
142
  view: view,
131
143
  size: size,
@@ -134,7 +146,7 @@ var datePickerRoot = function datePickerRoot(Root) {
134
146
  readOnly: !disabled && readOnly,
135
147
  ref: ref
136
148
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
137
- isOpen: isOpen || isInnerOpen,
149
+ isOpen: isInnerOpen,
138
150
  usePortal: false,
139
151
  onToggle: handleToggle,
140
152
  offset: offset,
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDate.js","sources":["../../../../src/components/DatePicker/SingleDate/SingleDate.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useRef, useState } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { StyledCalendar } from '../DatePickerBase.styles';\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, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n isOpen = 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\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\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\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format));\n const [inputValue, setInputValue] = useState(formatInputValue(defaultDate, format));\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 disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n inputRef,\n onToggle,\n onChangeValue,\n onCommitDate,\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 {...(innerLabelPlacement && { label, labelPlacement })}\n />\n );\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 isOpen={isOpen || 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 onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\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$isOpen","isOpen","label","_ref$labelPlacement","labelPlacement","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","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","rest","_objectWithoutProperties","_excluded","inputRef","useRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","_useState6","inputValue","setInputValue","innerLabelPlacement","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","datePickerErrorClass","datePickerSuccessClass","handleToggle","handleChangeValue","handleCommitDate","DatePickerInput","React","createElement","StyledInput","_extends","cx","value","onChange","onSearch","date","classes","StyledLabel","StyledPopover","usePortal","getPlacements","trigger","isFocusTrapped","target","preventOverflow","StyledCalendar","isRange","dateInfo","LeftHelper","datePickerConfig","name","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, useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, getPlacements } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport { classes } from '../DatePicker.tokens';\nimport { 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, 'isOpen' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<HTMLInputElement, DatePickerProps>(\n (\n {\n className,\n isOpen = 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\n defaultDate = '',\n valueError,\n valueSuccess,\n format = 'DD.MM.YYYY',\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\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(isOpen);\n\n const [calendarValue, setCalendarValue] = useState(formatCalendarValue(defaultDate, format));\n const [inputValue, setInputValue] = useState(formatInputValue(defaultDate, format));\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 disabled,\n readOnly,\n maskWithFormat,\n valueError,\n valueSuccess,\n inputRef,\n onToggle,\n onChangeValue,\n onCommitDate,\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 !== isOpen && isOpen);\n }, [isOpen]);\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 isOpen={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 onChangeValue={(date, dateInfo) => handleCommitDate(date, false, true, dateInfo)}\n />\n </StyledPopover>\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\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$isOpen","isOpen","label","_ref$labelPlacement","labelPlacement","placeholder","leftHelper","contentLeft","contentRight","textBefore","textAfter","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$defaultDate","defaultDate","valueError","valueSuccess","_ref$format","format","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","rest","_objectWithoutProperties","_excluded","inputRef","useRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useState3","formatCalendarValue","_useState4","calendarValue","setCalendarValue","_useState5","formatInputValue","_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","value","onChange","onSearch","date","useEffect","prevOpen","classes","StyledLabel","StyledPopover","usePortal","getPlacements","trigger","isFocusTrapped","target","preventOverflow","StyledCalendar","isRange","dateInfo","LeftHelper","datePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ var keys = {
2
+ Space: 'Space'
3
+ };
4
+ var useKeyNavigation = function useKeyNavigation(_ref) {
5
+ var isCalendarOpen = _ref.isCalendarOpen,
6
+ onToggle = _ref.onToggle;
7
+ var onKeyDown = function onKeyDown(event) {
8
+ switch (event.code) {
9
+ case keys.Space:
10
+ {
11
+ if (!isCalendarOpen) {
12
+ event.preventDefault();
13
+ onToggle(true, event);
14
+ }
15
+ break;
16
+ }
17
+ }
18
+ };
19
+ return {
20
+ onKeyDown: onKeyDown
21
+ };
22
+ };
23
+
24
+ export { keys, useKeyNavigation };
25
+ //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -0,0 +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;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.113.0-dev.0",
3
+ "version": "0.114.0-canary.1326.10178816804.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -118,5 +118,5 @@
118
118
  "react-popper": "2.3.0",
119
119
  "storeon": "3.1.5"
120
120
  },
121
- "gitHead": "a8ec7099ae926278f5d5097ab3ae9b8dba16e566"
121
+ "gitHead": "82a04207688908211d26bc19984c4060a7690607"
122
122
  }
@@ -10,6 +10,7 @@ var _utils = /*#__PURE__*/require("../../../utils");
10
10
  var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
11
11
  var _useDatePicker3 = /*#__PURE__*/require("../hooks/useDatePicker");
12
12
  var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
13
+ var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
13
14
  var _base = /*#__PURE__*/require("./variations/_size/base");
14
15
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
15
16
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
@@ -181,6 +182,11 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
181
182
  }
182
183
  setIsInnerOpen(isCalendarOpen);
183
184
  };
185
+ var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
186
+ isCalendarOpen: isInnerOpen,
187
+ onToggle: handleToggle
188
+ }),
189
+ onKeyDown = _useKeyNavigation.onKeyDown;
184
190
  var RangeComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledRange, {
185
191
  ref: rangeRef,
186
192
  dividerIcon: dividerIcon,
@@ -224,13 +230,19 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
224
230
  onFocusFirstTextfield: onFocusFirstTextfield,
225
231
  onFocusSecondTextfield: onFocusSecondTextfield,
226
232
  onBlurFirstTextfield: onBlurFirstTextfield,
227
- onBlurSecondTextfield: onBlurSecondTextfield
233
+ onBlurSecondTextfield: onBlurSecondTextfield,
234
+ onKeyDown: onKeyDown
228
235
  }));
229
236
  (0, _react.useEffect)(function () {
230
237
  var _rangeRef$current5, _rangeRef$current6;
231
238
  setFirstInputRef((_rangeRef$current5 = rangeRef.current) === null || _rangeRef$current5 === void 0 ? void 0 : _rangeRef$current5.firstTextField());
232
239
  setSecondInputRef((_rangeRef$current6 = rangeRef.current) === null || _rangeRef$current6 === void 0 ? void 0 : _rangeRef$current6.secondTextField());
233
240
  }, [rangeRef.current]);
241
+ (0, _react.useEffect)(function () {
242
+ setIsInnerOpen(function (prevOpen) {
243
+ return prevOpen !== isOpen && isOpen;
244
+ });
245
+ }, [isOpen]);
234
246
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
235
247
  ref: rootRef,
236
248
  view: view,
@@ -241,7 +253,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
241
253
  }, rest), label && /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledLabel, null, label), /*#__PURE__*/_react["default"].createElement(_RangeDatePopover.RangeDatePopover, {
242
254
  calendarValue: [calendarFirstValue, calendarSecondValue],
243
255
  target: RangeComponent,
244
- isOpen: isOpen || isInnerOpen,
256
+ isOpen: isInnerOpen,
245
257
  includeEdgeDates: includeEdgeDates,
246
258
  eventList: eventList,
247
259
  disabledList: disabledList,
@@ -11,6 +11,7 @@ var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
11
11
  var _useDatePicker2 = /*#__PURE__*/require("../hooks/useDatePicker");
12
12
  var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
13
13
  var _DatePickerBase = /*#__PURE__*/require("../DatePickerBase.styles");
14
+ var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
14
15
  var _base = /*#__PURE__*/require("./variations/_size/base");
15
16
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
16
17
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
@@ -119,6 +120,11 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
119
120
  handleToggle = _useDatePicker.handleToggle,
120
121
  handleChangeValue = _useDatePicker.handleChangeValue,
121
122
  handleCommitDate = _useDatePicker.handleCommitDate;
123
+ var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
124
+ isCalendarOpen: isInnerOpen,
125
+ onToggle: handleToggle
126
+ }),
127
+ onKeyDown = _useKeyNavigation.onKeyDown;
122
128
  var DatePickerInput = /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledInput, _extends({
123
129
  ref: inputRef,
124
130
  className: (0, _utils.cx)(datePickerErrorClass, datePickerSuccessClass),
@@ -136,11 +142,17 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
136
142
  return handleCommitDate(date, true, false);
137
143
  },
138
144
  onFocus: onFocus,
139
- onBlur: onBlur
145
+ onBlur: onBlur,
146
+ onKeyDown: onKeyDown
140
147
  }, innerLabelPlacement && {
141
148
  label: label,
142
149
  labelPlacement: labelPlacement
143
150
  }));
151
+ (0, _react.useEffect)(function () {
152
+ setIsInnerOpen(function (prevOpen) {
153
+ return prevOpen !== isOpen && isOpen;
154
+ });
155
+ }, [isOpen]);
144
156
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
145
157
  view: view,
146
158
  size: size,
@@ -149,7 +161,7 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
149
161
  readOnly: !disabled && readOnly,
150
162
  ref: ref
151
163
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledLabel, null, label), /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledPopover, {
152
- isOpen: isOpen || isInnerOpen,
164
+ isOpen: isInnerOpen,
153
165
  usePortal: false,
154
166
  onToggle: handleToggle,
155
167
  offset: offset,
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useKeyNavigation = exports.keys = void 0;
7
+ var keys = exports.keys = {
8
+ Space: 'Space'
9
+ };
10
+ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref) {
11
+ var isCalendarOpen = _ref.isCalendarOpen,
12
+ onToggle = _ref.onToggle;
13
+ var onKeyDown = function onKeyDown(event) {
14
+ switch (event.code) {
15
+ case keys.Space:
16
+ {
17
+ if (!isCalendarOpen) {
18
+ event.preventDefault();
19
+ onToggle(true, event);
20
+ }
21
+ break;
22
+ }
23
+ default:
24
+ {
25
+ break;
26
+ }
27
+ }
28
+ };
29
+ return {
30
+ onKeyDown: onKeyDown
31
+ };
32
+ };
@@ -13,6 +13,7 @@ import { cx } from '../../../utils';
13
13
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
+ import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
16
17
  import { base as sizeCSS } from './variations/_size/base';
17
18
  import { base as viewCSS } from './variations/_view/base';
18
19
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -172,6 +173,11 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
172
173
  }
173
174
  setIsInnerOpen(isCalendarOpen);
174
175
  };
176
+ var _useKeyNavigation = useKeyNavigation({
177
+ isCalendarOpen: isInnerOpen,
178
+ onToggle: handleToggle
179
+ }),
180
+ onKeyDown = _useKeyNavigation.onKeyDown;
175
181
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
176
182
  ref: rangeRef,
177
183
  dividerIcon: dividerIcon,
@@ -215,13 +221,19 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
215
221
  onFocusFirstTextfield: onFocusFirstTextfield,
216
222
  onFocusSecondTextfield: onFocusSecondTextfield,
217
223
  onBlurFirstTextfield: onBlurFirstTextfield,
218
- onBlurSecondTextfield: onBlurSecondTextfield
224
+ onBlurSecondTextfield: onBlurSecondTextfield,
225
+ onKeyDown: onKeyDown
219
226
  }));
220
227
  useEffect(function () {
221
228
  var _rangeRef$current5, _rangeRef$current6;
222
229
  setFirstInputRef((_rangeRef$current5 = rangeRef.current) === null || _rangeRef$current5 === void 0 ? void 0 : _rangeRef$current5.firstTextField());
223
230
  setSecondInputRef((_rangeRef$current6 = rangeRef.current) === null || _rangeRef$current6 === void 0 ? void 0 : _rangeRef$current6.secondTextField());
224
231
  }, [rangeRef.current]);
232
+ useEffect(function () {
233
+ setIsInnerOpen(function (prevOpen) {
234
+ return prevOpen !== isOpen && isOpen;
235
+ });
236
+ }, [isOpen]);
225
237
  return /*#__PURE__*/React.createElement(Root, _extends({
226
238
  ref: rootRef,
227
239
  view: view,
@@ -232,7 +244,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
232
244
  }, rest), label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(RangeDatePopover, {
233
245
  calendarValue: [calendarFirstValue, calendarSecondValue],
234
246
  target: RangeComponent,
235
- isOpen: isOpen || isInnerOpen,
247
+ isOpen: isInnerOpen,
236
248
  includeEdgeDates: includeEdgeDates,
237
249
  eventList: eventList,
238
250
  disabledList: disabledList,
@@ -8,12 +8,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef, useCallback, useRef, useState } from 'react';
11
+ import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
12
12
  import { cx, getPlacements } from '../../../utils';
13
13
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { StyledCalendar } from '../DatePickerBase.styles';
17
+ import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
18
  import { base as sizeCSS } from './variations/_size/base';
18
19
  import { base as viewCSS } from './variations/_view/base';
19
20
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -110,6 +111,11 @@ export var datePickerRoot = function datePickerRoot(Root) {
110
111
  handleToggle = _useDatePicker.handleToggle,
111
112
  handleChangeValue = _useDatePicker.handleChangeValue,
112
113
  handleCommitDate = _useDatePicker.handleCommitDate;
114
+ var _useKeyNavigation = useKeyNavigation({
115
+ isCalendarOpen: isInnerOpen,
116
+ onToggle: handleToggle
117
+ }),
118
+ onKeyDown = _useKeyNavigation.onKeyDown;
113
119
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
114
120
  ref: inputRef,
115
121
  className: cx(datePickerErrorClass, datePickerSuccessClass),
@@ -127,11 +133,17 @@ export var datePickerRoot = function datePickerRoot(Root) {
127
133
  return handleCommitDate(date, true, false);
128
134
  },
129
135
  onFocus: onFocus,
130
- onBlur: onBlur
136
+ onBlur: onBlur,
137
+ onKeyDown: onKeyDown
131
138
  }, innerLabelPlacement && {
132
139
  label: label,
133
140
  labelPlacement: labelPlacement
134
141
  }));
142
+ useEffect(function () {
143
+ setIsInnerOpen(function (prevOpen) {
144
+ return prevOpen !== isOpen && isOpen;
145
+ });
146
+ }, [isOpen]);
135
147
  return /*#__PURE__*/React.createElement(Root, _extends({
136
148
  view: view,
137
149
  size: size,
@@ -140,7 +152,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
140
152
  readOnly: !disabled && readOnly,
141
153
  ref: ref
142
154
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
143
- isOpen: isOpen || isInnerOpen,
155
+ isOpen: isInnerOpen,
144
156
  usePortal: false,
145
157
  onToggle: handleToggle,
146
158
  offset: offset,