@semcore/date-picker 16.2.4 → 17.0.0-prerelease.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/DatePicker.js +116 -139
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangeComparator.js +144 -149
  5. package/lib/cjs/DateRangeComparator.js.map +1 -1
  6. package/lib/cjs/DateRangePicker.js +86 -101
  7. package/lib/cjs/DateRangePicker.js.map +1 -1
  8. package/lib/cjs/MonthDateRangeComparator.js +173 -180
  9. package/lib/cjs/MonthDateRangeComparator.js.map +1 -1
  10. package/lib/cjs/MonthPicker.js +70 -87
  11. package/lib/cjs/MonthPicker.js.map +1 -1
  12. package/lib/cjs/MonthRangePicker.js +96 -111
  13. package/lib/cjs/MonthRangePicker.js.map +1 -1
  14. package/lib/cjs/components/ButtonTrigger.js +12 -11
  15. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  16. package/lib/cjs/components/Calendar.js +409 -466
  17. package/lib/cjs/components/Calendar.js.map +1 -1
  18. package/lib/cjs/components/DateRangeComparatorAbstract.js +574 -626
  19. package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  20. package/lib/cjs/components/InputTrigger.js +585 -677
  21. package/lib/cjs/components/InputTrigger.js.map +1 -1
  22. package/lib/cjs/components/PickerAbstract.js +254 -273
  23. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  24. package/lib/cjs/components/RangePickerAbstract.js +407 -439
  25. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  26. package/lib/cjs/components/index.js +92 -102
  27. package/lib/cjs/components/index.js.map +1 -1
  28. package/lib/cjs/index.d.js.map +1 -1
  29. package/lib/cjs/index.js +15 -15
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +17 -17
  32. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  33. package/lib/cjs/utils/cronTabScheduler.js +13 -22
  34. package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
  35. package/lib/cjs/utils/datesIntersects.js +12 -19
  36. package/lib/cjs/utils/datesIntersects.js.map +1 -1
  37. package/lib/cjs/utils/formatDate.js +11 -9
  38. package/lib/cjs/utils/formatDate.js.map +1 -1
  39. package/lib/cjs/utils/includesDate.js +11 -16
  40. package/lib/cjs/utils/includesDate.js.map +1 -1
  41. package/lib/cjs/utils/isBetweenPlugin.js +6 -6
  42. package/lib/cjs/utils/isBetweenPlugin.js.map +1 -1
  43. package/lib/cjs/utils/shortDateRangeFormat.js +29 -33
  44. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  45. package/lib/es6/DatePicker.js +117 -141
  46. package/lib/es6/DatePicker.js.map +1 -1
  47. package/lib/es6/DateRangeComparator.js +130 -135
  48. package/lib/es6/DateRangeComparator.js.map +1 -1
  49. package/lib/es6/DateRangePicker.js +87 -102
  50. package/lib/es6/DateRangePicker.js.map +1 -1
  51. package/lib/es6/MonthDateRangeComparator.js +159 -166
  52. package/lib/es6/MonthDateRangeComparator.js.map +1 -1
  53. package/lib/es6/MonthPicker.js +72 -89
  54. package/lib/es6/MonthPicker.js.map +1 -1
  55. package/lib/es6/MonthRangePicker.js +97 -112
  56. package/lib/es6/MonthRangePicker.js.map +1 -1
  57. package/lib/es6/components/ButtonTrigger.js +4 -3
  58. package/lib/es6/components/ButtonTrigger.js.map +1 -1
  59. package/lib/es6/components/Calendar.js +400 -457
  60. package/lib/es6/components/Calendar.js.map +1 -1
  61. package/lib/es6/components/DateRangeComparatorAbstract.js +552 -604
  62. package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  63. package/lib/es6/components/InputTrigger.js +568 -660
  64. package/lib/es6/components/InputTrigger.js.map +1 -1
  65. package/lib/es6/components/PickerAbstract.js +246 -265
  66. package/lib/es6/components/PickerAbstract.js.map +1 -1
  67. package/lib/es6/components/RangePickerAbstract.js +397 -429
  68. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  69. package/lib/es6/components/index.js +74 -85
  70. package/lib/es6/components/index.js.map +1 -1
  71. package/lib/es6/index.d.js.map +1 -1
  72. package/lib/es6/translations/__intergalactic-dynamic-locales.js +16 -16
  73. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  74. package/lib/es6/utils/cronTabScheduler.js +13 -21
  75. package/lib/es6/utils/cronTabScheduler.js.map +1 -1
  76. package/lib/es6/utils/datesIntersects.js +10 -18
  77. package/lib/es6/utils/datesIntersects.js.map +1 -1
  78. package/lib/es6/utils/formatDate.js +6 -6
  79. package/lib/es6/utils/formatDate.js.map +1 -1
  80. package/lib/es6/utils/includesDate.js +10 -15
  81. package/lib/es6/utils/includesDate.js.map +1 -1
  82. package/lib/es6/utils/isBetweenPlugin.js +4 -4
  83. package/lib/es6/utils/isBetweenPlugin.js.map +1 -1
  84. package/lib/es6/utils/shortDateRangeFormat.js +27 -31
  85. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  86. package/lib/esm/DatePicker.mjs +109 -114
  87. package/lib/esm/DateRangeComparator.mjs +112 -105
  88. package/lib/esm/DateRangePicker.mjs +76 -80
  89. package/lib/esm/MonthDateRangeComparator.mjs +141 -134
  90. package/lib/esm/MonthPicker.mjs +65 -70
  91. package/lib/esm/MonthRangePicker.mjs +86 -88
  92. package/lib/esm/components/ButtonTrigger.mjs +4 -3
  93. package/lib/esm/components/Calendar.mjs +397 -423
  94. package/lib/esm/components/DateRangeComparatorAbstract.mjs +559 -516
  95. package/lib/esm/components/InputTrigger.mjs +550 -557
  96. package/lib/esm/components/PickerAbstract.mjs +249 -244
  97. package/lib/esm/components/RangePickerAbstract.mjs +400 -384
  98. package/lib/esm/components/index.mjs +73 -69
  99. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  100. package/lib/esm/utils/cronTabScheduler.mjs +13 -18
  101. package/lib/esm/utils/datesIntersects.mjs +10 -14
  102. package/lib/esm/utils/formatDate.mjs +6 -6
  103. package/lib/esm/utils/includesDate.mjs +10 -13
  104. package/lib/esm/utils/isBetweenPlugin.mjs +4 -4
  105. package/lib/esm/utils/shortDateRangeFormat.mjs +27 -27
  106. package/lib/types/index.d.ts +2 -44
  107. package/package.json +16 -17
@@ -1 +1 @@
1
- {"version":3,"file":"InputTrigger.js","names":["BaseTrigger","createComponent","Root","sstyled","Component","assignProps","useEnhancedEffect","Flex","Box","Calendar","InputMask","NeighborLocation","Tooltip","dayjs","React","style","_sstyled","insert","datesIntersects","includesDate","defaultAllowedParts","year","month","day","exampleDate","Date","InputTriggerRoot","_Component","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","getSingleDateInputProps","_this$asProps","asProps","_children","children","id","_role","role","ariaHasPopup","_ariaLabel","_style","otherProps","_objectWithoutProperties","_excluded","_objectSpread","inputId","getDateRangeProps","_this$asProps2","_rolw","_excluded2","render","_ref","_ref8","SInputTrigger","_this$asProps3","Children","getI18nText","createElement","cn","_assignProps","_defineProperty","duration","popoverVisible","SingleDateInputRoot","_Component2","_this","_len","length","args","Array","_key","concat","errorText","showError","focused","setState","disabledDateInputAttempt","handlers","uncontrolledProps","_this2","date","state","disabledErrorText","undefined","parts","getMaskedInputProps","_this$asProps4","onChange","onDisplayedPeriodChange","locale","_w","w","_ariaHasPopup","_showError","_excluded3","handleInputMaskPipeBlock","_ref2","_ref9","_this$asProps5","forwardRef","styles","showErrorProps","_this$state","showErrorState","SSingleDateInput","_assignProps2","handleFocus","handleBlur","Fragment","SingleDateInput","Indicator","MaskedInput","defaultDisabledDateInputAttempt","DateRangeRoot","_Component3","_this3","_len2","_key2","containerFocused","lastChangedInput","createRef","event","_this3$asProps$value$","_this3$asProps$value","_this3$asProps$value$2","_this3$asProps$value2","prevValue","toRef","current","focus","setTimeout","setSelectionRange","_this3$asProps$value$3","_this3$asProps$value3","_this3$asProps$value$4","_this3$asProps$value4","fromRef","selectionStart","selectionEnd","disabledDates","invalid","some","unit","invalidValue","_this4","getFromMaskedInputProps","_this$asProps6","_excluded4","handleFromChange","handleFromKeydown","getToMaskedInputProps","_this$asProps7","_inputId","_excluded5","ariaLabel","handleToChange","handleToKeydown","getRangeSepProps","fulfilled","componentDidUpdate","prevProps","updateDisabledDateInputAttempt","componentDidMount","_ref3","_ref0","SDateRange","_this$asProps8","_this$state2","_assignProps3","DateRange","FromMaskedInput","RangeSep","ToMaskedInput","props","_ref4","arguments[0]","_ref1","SFromMaskedInput","_assignProps4","_ref5","_ref10","SToMaskedInput","_assignProps5","_ref6","_ref11","SIndicator","Addon","_assignProps6","_ref7","_ref12","SRangeSep","_assignProps7","_ref14","_ref13","outerValue","onDateChange","_ref14$parts","allowedParts","providedPlaceholders","placeholders","_ref14$labelPrefix","labelPrefix","onMaskPipeBlock","animationsDisabled","_ref14$inputRole","inputRole","__excludeProps","_root","_excluded6","ref","useRef","_React$useState","useState","_React$useState2","_slicedToArray","width","setWidth","useMemo","console","error","Error","_React$useMemo","options","dateTimeFormat","Intl","DateTimeFormat","sep","order","formatToParts","_iterator","_createForOfIteratorHelper","_step","s","n","done","part","type","includes","push","err","e","f","outer","outerDate","validDate","Number","isNaN","getTime","getFullYear","toString","padStart","getMonth","getDate","stringifyValue","useCallback","result","_iterator2","_step2","join","_React$useState3","_React$useState4","internalValue","setInternalValue","lastKnownOuterValue","useEffect","_lastKnownOuterValue$","_lastKnownOuterValue$2","_lastKnownOuterValue$3","pipeMask","placeholdersOnly","i","getOffsetTo","partName","partsBefore","slice","indexOf","offset","_iterator3","_step3","indexesOfPipedChars","parsed","split","parseInt","map","char","yearFulfilled","monthFulfilled","dayFulfilled","yearParsed","monthParsed","dayParsed","setFullYear","_iterator4","_step4","handleChange","setMonth","mask","_iterator5","_step5","aliases","maskOnlySymbols","humanizedDate","format","stringsToMeasure","widths","measureSpan","document","computedStyle","window","getComputedStyle","typographyRelatedStyles","_i2","_typographyRelatedSty","position","visibility","body","appendChild","_i3","_stringsToMeasure","string","innerHTML","offsetWidth","remove","maxWidth","Math","max","apply","SHumanizedDate","handleInputRef","node","tagName","_React$useState5","_React$useState6","appliedWidth","setAppliedWidth","_React$useState7","_React$useState8","innerFocused","setInnerFocused","_otherProps$onFocus","onFocus","call","_otherProps$onBlur","onBlur","Value","_extends","title","placeholder","inputW","wMin","pipe","noHumanizedDate","inputMode","InputTrigger"],"sources":["../../../src/components/InputTrigger.jsx"],"sourcesContent":["import BaseTrigger from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, Component } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport useEnhancedEffect from '@semcore/core/lib/utils/use/useEnhancedEffect';\nimport { Flex, Box } from '@semcore/flex-box';\nimport Calendar from '@semcore/icon/Calendar/m';\nimport InputMask from '@semcore/input-mask';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport Tooltip from '@semcore/tooltip';\nimport dayjs from 'dayjs';\nimport React from 'react';\n\nimport style from '../style/date-picker.shadow.css';\nimport { datesIntersects } from '../utils/datesIntersects';\nimport { includesDate } from '../utils/includesDate';\n\nconst defaultAllowedParts = { year: true, month: true, day: true };\nconst exampleDate = new Date(2000, 4, 29);\n\nclass InputTriggerRoot extends Component {\n static displayName = 'InputTrigger';\n static style = style;\n static defaultProps = {\n duration: 300,\n popoverVisible: true,\n };\n\n getSingleDateInputProps() {\n const {\n children: _children,\n id,\n role: _role,\n 'aria-haspopup': ariaHasPopup,\n // 'aria-expanded': ariaExpanded,\n 'aria-label': _ariaLabel,\n style: _style,\n ...otherProps\n } = this.asProps;\n return { ...otherProps, ariaHasPopup, inputId: id };\n }\n\n getDateRangeProps() {\n const {\n children: _children,\n id,\n role: _rolw,\n 'aria-haspopup': ariaHasPopup,\n 'aria-label': _ariaLabel,\n // 'aria-expanded': ariaExpanded,\n style: _style,\n ...otherProps\n } = this.asProps;\n return { ...otherProps, ariaHasPopup, inputId: id };\n }\n\n render() {\n const SInputTrigger = Root;\n const { Children, style, getI18nText } = this.asProps;\n\n return sstyled(style)(\n <SInputTrigger\n render={Box}\n aria-label={getI18nText('input')}\n __excludeProps={['onChange', 'value', 'role', 'id']}\n >\n <Children />\n </SInputTrigger>,\n );\n }\n}\n\nclass SingleDateInputRoot extends Component {\n static displayName = 'SingleDateInput';\n static style = style;\n static defaultProps = {\n children: () => (\n <>\n <SingleDateInput.Indicator />\n <SingleDateInput.MaskedInput />\n </>\n ),\n defaultDisabledDateInputAttempt: false,\n showError: true,\n };\n\n state = {\n errorText: null,\n showError: false,\n focused: false,\n };\n\n uncontrolledProps() {\n return {\n disabledDateInputAttempt: [\n null,\n (date) => {\n let errorText = this.state.errorText;\n let showError = false;\n if (date !== null) {\n errorText = this.asProps.disabledErrorText;\n if (errorText === undefined) {\n let key = 'unavailableDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableMonth';\n }\n errorText = this.asProps.getI18nText(key);\n }\n if (typeof errorText === 'function') {\n errorText = errorText(date);\n }\n showError = this.asProps.disabledErrorText !== null;\n }\n this.setState({ errorText, showError });\n },\n ],\n };\n }\n\n handleFocus = () => {\n this.setState({ focused: true });\n };\n\n handleBlur = () => {\n this.setState({ focused: false });\n };\n\n handleInputMaskPipeBlock = (value) => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(value);\n };\n\n getMaskedInputProps() {\n const {\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: _w,\n ariaHasPopup: _ariaHasPopup,\n showError: _showError,\n ...otherProps\n } = this.asProps;\n\n return {\n 'date': value,\n 'onDateChange': onChange,\n onDisplayedPeriodChange,\n locale,\n 'aria-haspopup': 'true',\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n ...otherProps,\n };\n }\n\n render() {\n const {\n Children,\n forwardRef,\n styles,\n state,\n showError: showErrorProps,\n popoverVisible,\n } = this.asProps;\n const { errorText, showError: showErrorState, focused } = this.state;\n const showError = showErrorState && showErrorProps;\n const SSingleDateInput = Root;\n\n return sstyled(styles)(\n <SSingleDateInput\n render={InputMask}\n tag={Tooltip}\n placement='top-start'\n title={errorText}\n theme='warning'\n visible={showError && (popoverVisible || focused)}\n state={showError ? 'invalid' : state}\n ref={forwardRef}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n __excludeProps={['onChange', 'style', 'aria-expanded']}\n >\n <NeighborLocation>\n <Children />\n </NeighborLocation>\n </SSingleDateInput>,\n );\n }\n}\nclass DateRangeRoot extends Component {\n static displayName = 'DateRange';\n static style = style;\n static defaultProps = {\n children: () => (\n <>\n <DateRange.Indicator />\n <DateRange.FromMaskedInput />\n <DateRange.RangeSep />\n <DateRange.ToMaskedInput />\n </>\n ),\n defaultDisabledDateInputAttempt: false,\n showError: true,\n };\n\n state = {\n containerFocused: false,\n errorText: null,\n showError: false,\n lastChangedInput: 'from',\n };\n\n uncontrolledProps() {\n return {\n disabledDateInputAttempt: [\n null,\n (date) => {\n let errorText = this.state.errorText;\n let showError = false;\n if (date !== null) {\n errorText = this.asProps.disabledErrorText;\n if (errorText === undefined) {\n let key = 'unavailableDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableMonth';\n }\n if (this.state.lastChangedInput === 'to') {\n key = 'unavailableEndDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableEndMonth';\n }\n }\n errorText = this.asProps.getI18nText(key);\n }\n if (typeof errorText === 'function') {\n errorText = errorText(date);\n }\n showError = this.asProps.disabledErrorText !== null;\n }\n this.setState({ errorText, showError });\n },\n ],\n };\n }\n\n fromRef = React.createRef();\n toRef = React.createRef();\n\n handleFromChange = (value, event) => {\n const { onChange } = this.asProps;\n const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];\n onChange([value, prevValue[1]], event);\n if (value) {\n if (!this.toRef.current) return;\n this.toRef.current.focus();\n setTimeout(() => {\n if (!this.toRef.current) return;\n this.toRef.current.setSelectionRange(0, 0);\n }, 0);\n }\n };\n\n handleToChange = (value, event) => {\n const { onChange } = this.asProps;\n const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];\n onChange([prevValue[0], value], event);\n };\n\n handleFromKeydown = (event) => {\n if (!this.toRef.current) return;\n if (!this.fromRef.current) return;\n this.setState({ lastChangedInput: 'from' });\n\n if (\n event.key === 'ArrowRight' &&\n this.fromRef.current.selectionStart === this.fromRef.current.value.length &&\n this.fromRef.current.selectionEnd === this.fromRef.current.value.length\n ) {\n this.toRef.current.focus();\n setTimeout(() => {\n this.toRef.current.setSelectionRange(0, 0);\n }, 0);\n }\n };\n\n handleToKeydown = (event) => {\n if (!this.toRef.current) return;\n if (!this.fromRef.current) return;\n this.setState({ lastChangedInput: 'to' });\n\n if (event.key === 'Backspace' && !this.toRef.current.value) {\n const value = this.fromRef.current.value;\n this.fromRef.current.focus();\n setTimeout(() => {\n this.fromRef.current.setSelectionRange(value.length, value.length);\n }, 0);\n }\n if (\n event.key === 'ArrowLeft' &&\n this.toRef.current.selectionStart === 0 &&\n this.toRef.current.selectionEnd === 0\n ) {\n const value = this.fromRef.current.value;\n this.fromRef.current.focus();\n setTimeout(() => {\n this.fromRef.current.setSelectionRange(value.length, value.length);\n }, 0);\n }\n };\n\n handleInputMaskPipeBlock = (value) => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(value);\n };\n\n getFromMaskedInputProps() {\n const { value, locale, onDisplayedPeriodChange, ariaHasPopup, showError: _showError, ...otherProps } =\n this.asProps;\n\n return assignProps(\n {\n 'ref': this.fromRef,\n 'date': value?.[0],\n 'onDateChange': this.handleFromChange,\n 'onKeyDown': this.handleFromKeydown,\n locale,\n 'flex': 1,\n onDisplayedPeriodChange,\n 'aria-haspopup': ariaHasPopup,\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n 'containerFocused': this.state.containerFocused,\n },\n otherProps,\n );\n }\n\n getToMaskedInputProps() {\n const {\n value,\n locale,\n onDisplayedPeriodChange,\n ariaHasPopup,\n inputId: _inputId,\n showError: _showError,\n ...otherProps\n } = this.asProps;\n const ariaLabel = this.asProps.getI18nText('toDate', {\n date: this.asProps.getI18nText('input'),\n });\n\n return assignProps(\n {\n 'ref': this.toRef,\n 'date': value?.[1],\n 'onDateChange': this.handleToChange,\n 'onKeyDown': this.handleToKeydown,\n locale,\n 'flex': 1,\n onDisplayedPeriodChange,\n 'aria-label': ariaLabel,\n 'aria-haspopup': ariaHasPopup,\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n 'containerFocused': this.state.containerFocused,\n },\n otherProps,\n );\n }\n\n getRangeSepProps() {\n const { value } = this.asProps;\n\n return {\n fulfilled: !!(value && (value[0] || value[1])),\n };\n }\n\n handleFocus = () => {\n this.setState({ containerFocused: true });\n };\n\n handleBlur = () => {\n this.setState({ containerFocused: false });\n };\n\n updateDisabledDateInputAttempt = (value) => {\n const { disabledDates } = this.asProps;\n\n let invalid = false;\n if (value) {\n if (value[0] && value[1])\n invalid = disabledDates.some(datesIntersects([value[0], value[1]], this.asProps.unit));\n else if (value[0])\n invalid = disabledDates.some(includesDate(dayjs(value[0]), this.asProps.unit));\n else if (value[1])\n invalid = disabledDates.some(includesDate(dayjs(value[1]), this.asProps.unit));\n }\n\n if (invalid) {\n const invalidValue = this.state.lastChangedInput === 'to' ? value[1] : value[0];\n setTimeout(() => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(invalidValue);\n }, 0);\n }\n };\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.asProps.value) {\n this.updateDisabledDateInputAttempt(this.asProps.value);\n }\n }\n\n componentDidMount() {\n this.updateDisabledDateInputAttempt(this.asProps.value);\n }\n\n render() {\n const SDateRange = Root;\n const { Children, styles, w, state, showError: showErrorProps, popoverVisible } = this.asProps;\n const { errorText, lastChangedInput, showError: showErrorState, containerFocused } = this.state;\n const showError = showErrorState && showErrorProps;\n\n return sstyled(styles)(\n <SDateRange\n render={InputMask}\n tag={Tooltip}\n ignorePortalsStacking\n placement={lastChangedInput === 'to' ? 'top-end' : 'top-start'}\n title={errorText}\n theme='warning'\n visible={showError && (popoverVisible || containerFocused)}\n state={showError ? 'invalid' : state}\n __excludeProps={['onChange', 'value', 'aria-expanded']}\n w={w}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <Children />\n </SDateRange>,\n );\n }\n}\n\nfunction FromMaskedInput(props) {\n const SFromMaskedInput = Root;\n const { getI18nText } = props;\n\n return sstyled(props.styles)(\n <SFromMaskedInput labelPrefix={getI18nText('fromDatePlaceholder')} render={MaskedInput} />,\n );\n}\n\nfunction ToMaskedInput(props) {\n const SToMaskedInput = Root;\n const { getI18nText } = props;\n\n return sstyled(props.styles)(\n <SToMaskedInput labelPrefix={getI18nText('toDatePlaceholder')} render={MaskedInput} />,\n );\n}\n\nfunction Indicator(props) {\n const SIndicator = Root;\n\n return sstyled(props.styles)(\n <SIndicator render={InputMask.Addon} tag={Calendar} aria-hidden='true' tabIndex={-1} />,\n );\n}\n\nfunction RangeSep(props) {\n const SRangeSep = Root;\n\n return sstyled(props.styles)(\n <SRangeSep\n render={InputMask.Addon}\n tag={Flex}\n alignItems='center'\n justifyContent='center'\n pl={0}\n flex='0'\n >\n –\n </SRangeSep>,\n );\n}\n\nfunction MaskedInput({\n date: outerValue,\n onDateChange,\n onDisplayedPeriodChange,\n locale,\n styles,\n parts: allowedParts = defaultAllowedParts,\n disabledDates,\n forwardRef,\n placeholders: providedPlaceholders,\n labelPrefix = 'Date',\n onMaskPipeBlock,\n containerFocused,\n animationsDisabled,\n getI18nText,\n inputId,\n inputRole = 'combobox',\n\n __excludeProps,\n\n Root: _root,\n ...otherProps\n}) {\n const ref = React.useRef();\n const [width, setWidth] = React.useState(undefined);\n\n const placeholders = React.useMemo(() => {\n if (providedPlaceholders) return providedPlaceholders;\n\n return {\n year: getI18nText('placeholder-years'),\n month: getI18nText('placeholder-months'),\n day: getI18nText('placeholder-days'),\n };\n }, [providedPlaceholders, getI18nText]);\n\n if (\n placeholders.year.length !== 1 ||\n placeholders.month.length !== 1 ||\n placeholders.day.length !== 1\n ) {\n // eslint-disable-next-line no-console\n console.error({ placeholders });\n throw new Error(\n `InputTrigger placeholder prop should contain fields year, month and day each one with string value of single character length. [see above what was received] (${placeholders})`,\n placeholders,\n );\n }\n\n const { sep, order } = React.useMemo(() => {\n const options = { year: 'numeric', month: 'numeric', day: 'numeric' };\n const dateTimeFormat = new Intl.DateTimeFormat(locale, options);\n\n let sep = undefined;\n const order = [];\n const parts = dateTimeFormat.formatToParts(exampleDate);\n for (const part of parts) {\n if (!sep && part.type === 'literal') {\n sep = part.value;\n }\n if (\n order.length < 3 &&\n ['day', 'month', 'year'].includes(part.type) &&\n allowedParts[part.type]\n ) {\n order.push(part.type);\n }\n }\n sep = sep ?? ' ';\n\n return { sep, order };\n }, [locale, allowedParts]);\n\n const outer = React.useMemo(() => {\n let outerDate = outerValue;\n if (typeof outerValue === 'number' || typeof outerValue === 'string') {\n outerDate = new Date(outerValue);\n }\n const validDate = outerDate && outerDate instanceof Date && !Number.isNaN(outerDate.getTime());\n if (!validDate) return null;\n\n return {\n year: outerDate.getFullYear().toString().padStart(4, '0'),\n month: (outerDate.getMonth() + 1).toString().padStart(2, '0'),\n day: outerDate.getDate().toString().padStart(2, '0'),\n };\n }, [outerValue]);\n const stringifyValue = React.useCallback(\n (value) => {\n if (!value) return null;\n if (!value.year && !value.month && !value.day) return null;\n\n const result = [];\n for (const part of order) {\n if (!allowedParts[part]) continue;\n if (part === 'year' && value.year) result.push(value.year);\n if (part === 'month' && value.month) result.push(value.month);\n if (part === 'day' && value.day) result.push(value.day);\n }\n return result.join(sep);\n },\n [order, allowedParts],\n );\n\n const [internalValue, setInternalValue] = React.useState(outer);\n const value = React.useMemo(() => stringifyValue(internalValue), [stringifyValue, internalValue]);\n\n const lastKnownOuterValue = React.useRef(outer);\n React.useEffect(() => {\n if (\n lastKnownOuterValue.current?.day !== outer?.day ||\n lastKnownOuterValue.current?.month !== outer?.month ||\n lastKnownOuterValue.current?.year !== outer?.year\n ) {\n setInternalValue(outer);\n }\n lastKnownOuterValue.current = outer;\n }, [outer, setInternalValue]);\n\n const pipeMask = React.useCallback(\n (value) => {\n let placeholdersOnly = true;\n for (let i = 0; i < value.length; i++) {\n if (value[i] !== '_' && value[i] !== sep) {\n placeholdersOnly = false;\n break;\n }\n }\n\n if (placeholdersOnly) {\n onMaskPipeBlock?.(null);\n return '';\n }\n\n const getOffsetTo = (partName) => {\n const partsBefore = order.slice(0, order.indexOf(partName));\n let offset = 0;\n for (const part of partsBefore) {\n if (part === 'year' && allowedParts.year) offset += 4;\n if (part === 'month' && allowedParts.month) offset += 2;\n if (part === 'day' && allowedParts.day) offset += 2;\n }\n offset += partsBefore.length * sep.length;\n return offset;\n };\n\n const indexesOfPipedChars = [];\n const parsed = {};\n const parts = value.split(sep);\n for (const partName in placeholders) {\n parsed[partName] = placeholders[partName];\n }\n for (let i = 0; i < order.length; i++) {\n parsed[order[i]] = parts[i];\n }\n\n let { year, month, day } = parsed;\n\n if (allowedParts.month) {\n if (month[0] !== '_' && Number.parseInt(month[0], 10) > 1) {\n month = `0${month[0]}`;\n indexesOfPipedChars.push(getOffsetTo('month'));\n }\n if (month === '00') month = '01';\n if (month[0] !== '_' && month[1] !== '_' && Number.parseInt(month, 10) > 12) return false;\n }\n if (allowedParts.day) {\n if (day[0] !== '_' && Number.parseInt(day[0], 10) > 3) {\n day = `0${day[0]}`;\n indexesOfPipedChars.push(getOffsetTo('day'));\n }\n if (day === '00') day = '01';\n if (day[0] !== '_' && day[1] !== '_' && Number.parseInt(day, 10) > 31) return false;\n }\n\n year = year\n .split('')\n .map((char) => (char === '_' ? placeholders.year : char))\n .join('');\n month = month\n .split('')\n .map((char) => (char === '_' ? placeholders.month : char))\n .join('');\n day = day\n .split('')\n .map((char) => (char === '_' ? placeholders.day : char))\n .join('');\n\n const yearFulfilled =\n !allowedParts.year || (year && year.length >= 4 && !year.includes(placeholders.year));\n const monthFulfilled =\n !allowedParts.month || (month && month.length === 2 && !month.includes(placeholders.month));\n const dayFulfilled =\n !allowedParts.day || (day && day.length === 2 && !day.includes(placeholders.day));\n const fulfilled = yearFulfilled && monthFulfilled && dayFulfilled;\n\n if (fulfilled) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n const yearParsed = allowedParts.year ? Number.parseInt(year, 10) : 0;\n const monthParsed = allowedParts.month ? Number.parseInt(month, 10) - 1 : 0;\n const dayParsed = allowedParts.day ? Number.parseInt(day, 10) : 1;\n\n date.setFullYear(yearParsed, monthParsed, dayParsed);\n\n if (disabledDates?.some(includesDate(dayjs(date), 'date'))) {\n onMaskPipeBlock?.(date);\n return false;\n }\n\n if (allowedParts.day) {\n if (date.getDate() !== Number.parseInt(day, 10)) {\n onMaskPipeBlock?.(date);\n return false;\n }\n }\n }\n\n const result = [];\n for (const part of order) {\n if (part === 'year') result.push(year);\n if (part === 'month') result.push(month);\n if (part === 'day') result.push(day);\n }\n\n onMaskPipeBlock?.(null);\n return { value: result.join(sep), indexesOfPipedChars };\n },\n [placeholders, sep, order, allowedParts, disabledDates, onMaskPipeBlock],\n );\n\n const handleChange = React.useCallback(\n (value) => {\n const parsed = {};\n for (const partName in placeholders) {\n parsed[partName] = placeholders[partName];\n }\n const parts = value.split(sep);\n for (let i = 0; i < order.length; i++) {\n parsed[order[i]] = parts[i];\n }\n const { year, month, day } = parsed;\n setInternalValue({ year, month, day });\n\n const yearFulfilled =\n !allowedParts.year || (year && year.length >= 4 && !year.includes(placeholders.year));\n const monthFulfilled =\n !allowedParts.month || (month && month.length === 2 && !month.includes(placeholders.month));\n const dayFulfilled =\n !allowedParts.day || (day && day.length === 2 && !day.includes(placeholders.day));\n const fulfilled = yearFulfilled && monthFulfilled && dayFulfilled;\n if (fulfilled) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n const yearParsed = allowedParts.year ? Number.parseInt(year, 10) : 0;\n const monthParsed = allowedParts.month ? Number.parseInt(month, 10) - 1 : 0;\n const dayParsed = allowedParts.day ? Number.parseInt(day, 10) : 1;\n\n date.setFullYear(yearParsed, monthParsed, dayParsed);\n\n onDateChange(date);\n lastKnownOuterValue.current = { year, month, day };\n return;\n }\n\n if (lastKnownOuterValue.current !== null) {\n onDateChange(null);\n lastKnownOuterValue.current = null;\n }\n\n if (yearFulfilled && allowedParts.year) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n date.setFullYear(Number.parseInt(year, 10));\n if (monthFulfilled && allowedParts.month) {\n date.setMonth(Number.parseInt(month, 10) - 1);\n }\n onDisplayedPeriodChange(date);\n }\n },\n [onDateChange, setInternalValue, placeholders, onDisplayedPeriodChange, order, allowedParts],\n );\n\n const mask = React.useMemo(() => {\n const result = [];\n for (const part of order) {\n if (part === 'year')\n result.push(placeholders.year + placeholders.year + placeholders.year + placeholders.year);\n if (part === 'month') result.push(placeholders.month + placeholders.month);\n if (part === 'day') result.push(placeholders.day + placeholders.day);\n }\n return result.join(sep);\n }, [sep, order, placeholders]);\n const aliases = React.useMemo(\n () => ({\n [placeholders.year]: /\\d/,\n [placeholders.month]: /\\d/,\n [placeholders.day]: /\\d/,\n }),\n [placeholders],\n );\n const maskOnlySymbols = React.useMemo(\n () => ({\n [placeholders.year]: true,\n [placeholders.month]: true,\n [placeholders.day]: true,\n [sep]: true,\n }),\n [sep, placeholders],\n );\n const humanizedDate = React.useMemo(() => {\n let outerDate = outerValue;\n if (typeof outerValue === 'number' || typeof outerValue === 'string') {\n outerDate = new Date(outerValue);\n }\n const validDate = outerDate && outerDate instanceof Date && !Number.isNaN(outerDate.getTime());\n if (!validDate) return null;\n\n return new Intl.DateTimeFormat(locale, {\n year: allowedParts.year ? 'numeric' : undefined,\n month: allowedParts.month ? 'short' : undefined,\n day: allowedParts.day ? 'numeric' : undefined,\n }).format(outerDate);\n }, [outerValue, locale, allowedParts]);\n\n useEnhancedEffect(() => {\n if (!ref.current) return;\n const stringsToMeasure = humanizedDate ? [humanizedDate, mask] : [mask];\n const widths = [];\n const measureSpan = document.createElement('span');\n const computedStyle = window.getComputedStyle(ref.current);\n const typographyRelatedStyles = [\n 'height',\n 'font-size',\n 'font-family',\n 'font-weight',\n 'font-style',\n 'line-height',\n 'letter-spacing',\n 'text-transform',\n 'word-spacing',\n ];\n for (const style of typographyRelatedStyles) {\n measureSpan.style[style] = computedStyle[style];\n }\n measureSpan.style.position = 'absolute';\n measureSpan.style.visibility = 'hidden';\n document.body.appendChild(measureSpan);\n for (const string of stringsToMeasure) {\n measureSpan.innerHTML = string;\n widths.push(measureSpan.offsetWidth);\n }\n measureSpan.remove();\n const maxWidth = Math.max(...widths);\n setWidth(maxWidth);\n }, [locale, humanizedDate, allowedParts, mask]);\n\n const SHumanizedDate = 'div';\n const handleInputRef = React.useCallback(\n (node) => {\n ref.current = node;\n if (!node || node.tagName !== 'INPUT') return;\n if (typeof forwardRef === 'function') forwardRef(node);\n else forwardRef.current = node;\n },\n [forwardRef],\n );\n\n const [appliedWidth, setAppliedWidth] = React.useState(width);\n const [innerFocused, setInnerFocused] = React.useState(false);\n const focused = containerFocused ?? innerFocused;\n const handleFocus = React.useCallback((event) => {\n otherProps.onFocus?.(event);\n setInnerFocused(true);\n }, []);\n const handleBlur = React.useCallback((event) => {\n otherProps.onBlur?.(event);\n setInnerFocused(false);\n }, []);\n useEnhancedEffect(() => {\n if (focused) return;\n setAppliedWidth(width);\n }, [width, focused]);\n\n return sstyled(styles)(\n <InputMask.Value\n aria-label={labelPrefix}\n title={mask}\n mask={mask}\n aliases={aliases}\n maskOnlySymbols={maskOnlySymbols}\n placeholder={mask}\n inputW={appliedWidth}\n wMin={appliedWidth}\n id={inputId}\n {...otherProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n focused={focused}\n ref={handleInputRef}\n pipe={pipeMask}\n value={value ?? ''}\n onChange={handleChange}\n noHumanizedDate={!humanizedDate}\n animationsDisabled={animationsDisabled}\n inputRole={inputRole}\n inputMode='numeric'\n >\n {humanizedDate && <SHumanizedDate>{humanizedDate}</SHumanizedDate>}\n </InputMask.Value>,\n );\n}\n\nconst SingleDateInput = createComponent(SingleDateInputRoot, {\n Indicator,\n MaskedInput,\n});\nconst DateRange = createComponent(DateRangeRoot, {\n Indicator,\n RangeSep,\n FromMaskedInput,\n ToMaskedInput,\n});\n\nconst InputTrigger = createComponent(InputTriggerRoot, {\n Addon: BaseTrigger.Addon,\n SingleDateInput,\n DateRange,\n});\n\nexport default InputTrigger;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InputTrigger.js","names":["NeighborLocation","Flex","Box","BaseTrigger","createComponent","Root","sstyled","Component","assignProps","useEnhancedEffect","Calendar","InputMask","Tooltip","dayjs","React","style","_sstyled","insert","datesIntersects","includesDate","defaultAllowedParts","year","month","day","exampleDate","Date","InputTriggerRoot","getSingleDateInputProps","children","_children","id","role","_role","ariaHasPopup","_ariaLabel","_style","otherProps","asProps","inputId","getDateRangeProps","_rolw","render","_ref","_ref8","SInputTrigger","Children","getI18nText","createElement","cn","_assignProps","_defineProperty","duration","popoverVisible","SingleDateInputRoot","constructor","args","errorText","showError","focused","setState","value","disabledDateInputAttempt","handlers","uncontrolledProps","date","state","disabledErrorText","undefined","key","parts","getMaskedInputProps","onChange","onDisplayedPeriodChange","locale","w","_w","_ariaHasPopup","_showError","handleInputMaskPipeBlock","_ref2","_ref9","forwardRef","styles","showErrorProps","showErrorState","SSingleDateInput","_assignProps2","handleFocus","handleBlur","Fragment","SingleDateInput","Indicator","MaskedInput","defaultDisabledDateInputAttempt","DateRangeRoot","containerFocused","lastChangedInput","createRef","event","prevValue","toRef","current","focus","setTimeout","setSelectionRange","fromRef","selectionStart","length","selectionEnd","disabledDates","invalid","some","unit","invalidValue","getFromMaskedInputProps","handleFromChange","handleFromKeydown","getToMaskedInputProps","_inputId","ariaLabel","handleToChange","handleToKeydown","getRangeSepProps","fulfilled","componentDidUpdate","prevProps","updateDisabledDateInputAttempt","componentDidMount","_ref3","_ref0","SDateRange","_assignProps3","DateRange","FromMaskedInput","RangeSep","ToMaskedInput","props","_ref4","arguments[0]","_ref1","SFromMaskedInput","_assignProps4","_ref5","_ref10","SToMaskedInput","_assignProps5","_ref6","_ref11","SIndicator","Addon","_assignProps6","_ref7","_ref12","SRangeSep","_assignProps7","outerValue","onDateChange","allowedParts","placeholders","providedPlaceholders","labelPrefix","onMaskPipeBlock","animationsDisabled","inputRole","__excludeProps","_root","_ref13","ref","useRef","width","setWidth","useState","useMemo","console","error","Error","sep","order","options","dateTimeFormat","Intl","DateTimeFormat","formatToParts","part","type","includes","push","outer","outerDate","validDate","Number","isNaN","getTime","getFullYear","toString","padStart","getMonth","getDate","stringifyValue","useCallback","result","join","internalValue","setInternalValue","lastKnownOuterValue","useEffect","pipeMask","placeholdersOnly","i","getOffsetTo","partName","partsBefore","slice","indexOf","offset","indexesOfPipedChars","parsed","split","parseInt","map","char","yearFulfilled","monthFulfilled","dayFulfilled","yearParsed","monthParsed","dayParsed","setFullYear","handleChange","setMonth","mask","aliases","maskOnlySymbols","humanizedDate","format","stringsToMeasure","widths","measureSpan","document","computedStyle","window","getComputedStyle","typographyRelatedStyles","position","visibility","body","appendChild","string","innerHTML","offsetWidth","remove","maxWidth","Math","max","SHumanizedDate","handleInputRef","node","tagName","appliedWidth","setAppliedWidth","innerFocused","setInnerFocused","onFocus","onBlur","Value","_extends","title","placeholder","inputW","wMin","pipe","noHumanizedDate","inputMode","InputTrigger"],"sources":["../../../src/components/InputTrigger.jsx"],"sourcesContent":["import { NeighborLocation, Flex, Box } from '@semcore/base-components';\nimport BaseTrigger from '@semcore/base-trigger';\nimport { createComponent, Root, sstyled, Component } from '@semcore/core';\nimport assignProps from '@semcore/core/lib/utils/assignProps';\nimport useEnhancedEffect from '@semcore/core/lib/utils/use/useEnhancedEffect';\nimport Calendar from '@semcore/icon/Calendar/m';\nimport InputMask from '@semcore/input-mask';\nimport Tooltip from '@semcore/tooltip';\nimport dayjs from 'dayjs';\nimport React from 'react';\n\nimport style from '../style/date-picker.shadow.css';\nimport { datesIntersects } from '../utils/datesIntersects';\nimport { includesDate } from '../utils/includesDate';\n\nconst defaultAllowedParts = { year: true, month: true, day: true };\nconst exampleDate = new Date(2000, 4, 29);\n\nclass InputTriggerRoot extends Component {\n static displayName = 'InputTrigger';\n static style = style;\n static defaultProps = {\n duration: 300,\n popoverVisible: true,\n };\n\n getSingleDateInputProps() {\n const {\n children: _children,\n id,\n role: _role,\n 'aria-haspopup': ariaHasPopup,\n // 'aria-expanded': ariaExpanded,\n 'aria-label': _ariaLabel,\n style: _style,\n ...otherProps\n } = this.asProps;\n return { ...otherProps, ariaHasPopup, inputId: id };\n }\n\n getDateRangeProps() {\n const {\n children: _children,\n id,\n role: _rolw,\n 'aria-haspopup': ariaHasPopup,\n 'aria-label': _ariaLabel,\n // 'aria-expanded': ariaExpanded,\n style: _style,\n ...otherProps\n } = this.asProps;\n return { ...otherProps, ariaHasPopup, inputId: id };\n }\n\n render() {\n const SInputTrigger = Root;\n const { Children, style, getI18nText } = this.asProps;\n\n return sstyled(style)(\n <SInputTrigger\n render={Box}\n aria-label={getI18nText('input')}\n __excludeProps={['onChange', 'value', 'role', 'id']}\n >\n <Children />\n </SInputTrigger>,\n );\n }\n}\n\nclass SingleDateInputRoot extends Component {\n static displayName = 'SingleDateInput';\n static style = style;\n static defaultProps = {\n children: () => (\n <>\n <SingleDateInput.Indicator />\n <SingleDateInput.MaskedInput />\n </>\n ),\n defaultDisabledDateInputAttempt: false,\n showError: true,\n };\n\n state = {\n errorText: null,\n showError: false,\n focused: false,\n };\n\n uncontrolledProps() {\n return {\n disabledDateInputAttempt: [\n null,\n (date) => {\n let errorText = this.state.errorText;\n let showError = false;\n if (date !== null) {\n errorText = this.asProps.disabledErrorText;\n if (errorText === undefined) {\n let key = 'unavailableDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableMonth';\n }\n errorText = this.asProps.getI18nText(key);\n }\n if (typeof errorText === 'function') {\n errorText = errorText(date);\n }\n showError = this.asProps.disabledErrorText !== null;\n }\n this.setState({ errorText, showError });\n },\n ],\n };\n }\n\n handleFocus = () => {\n this.setState({ focused: true });\n };\n\n handleBlur = () => {\n this.setState({ focused: false });\n };\n\n handleInputMaskPipeBlock = (value) => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(value);\n };\n\n getMaskedInputProps() {\n const {\n value,\n onChange,\n onDisplayedPeriodChange,\n locale,\n w: _w,\n ariaHasPopup: _ariaHasPopup,\n showError: _showError,\n ...otherProps\n } = this.asProps;\n\n return {\n 'date': value,\n 'onDateChange': onChange,\n onDisplayedPeriodChange,\n locale,\n 'aria-haspopup': 'true',\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n ...otherProps,\n };\n }\n\n render() {\n const {\n Children,\n forwardRef,\n styles,\n state,\n showError: showErrorProps,\n popoverVisible,\n } = this.asProps;\n const { errorText, showError: showErrorState, focused } = this.state;\n const showError = showErrorState && showErrorProps;\n const SSingleDateInput = Root;\n\n return sstyled(styles)(\n <SSingleDateInput\n render={InputMask}\n tag={Tooltip}\n placement='top-start'\n title={errorText}\n theme='warning'\n visible={showError && (popoverVisible || focused)}\n state={showError ? 'invalid' : state}\n ref={forwardRef}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n __excludeProps={['onChange', 'style', 'aria-expanded']}\n >\n <NeighborLocation>\n <Children />\n </NeighborLocation>\n </SSingleDateInput>,\n );\n }\n}\nclass DateRangeRoot extends Component {\n static displayName = 'DateRange';\n static style = style;\n static defaultProps = {\n children: () => (\n <>\n <DateRange.Indicator />\n <DateRange.FromMaskedInput />\n <DateRange.RangeSep />\n <DateRange.ToMaskedInput />\n </>\n ),\n defaultDisabledDateInputAttempt: false,\n showError: true,\n };\n\n state = {\n containerFocused: false,\n errorText: null,\n showError: false,\n lastChangedInput: 'from',\n };\n\n uncontrolledProps() {\n return {\n disabledDateInputAttempt: [\n null,\n (date) => {\n let errorText = this.state.errorText;\n let showError = false;\n if (date !== null) {\n errorText = this.asProps.disabledErrorText;\n if (errorText === undefined) {\n let key = 'unavailableDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableMonth';\n }\n if (this.state.lastChangedInput === 'to') {\n key = 'unavailableEndDate';\n if (this.asProps.parts && !this.asProps.parts.day) {\n key = 'unavailableEndMonth';\n }\n }\n errorText = this.asProps.getI18nText(key);\n }\n if (typeof errorText === 'function') {\n errorText = errorText(date);\n }\n showError = this.asProps.disabledErrorText !== null;\n }\n this.setState({ errorText, showError });\n },\n ],\n };\n }\n\n fromRef = React.createRef();\n toRef = React.createRef();\n\n handleFromChange = (value, event) => {\n const { onChange } = this.asProps;\n const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];\n onChange([value, prevValue[1]], event);\n if (value) {\n if (!this.toRef.current) return;\n this.toRef.current.focus();\n setTimeout(() => {\n if (!this.toRef.current) return;\n this.toRef.current.setSelectionRange(0, 0);\n }, 0);\n }\n };\n\n handleToChange = (value, event) => {\n const { onChange } = this.asProps;\n const prevValue = [this.asProps.value?.[0] ?? null, this.asProps.value?.[1] ?? null];\n onChange([prevValue[0], value], event);\n };\n\n handleFromKeydown = (event) => {\n if (!this.toRef.current) return;\n if (!this.fromRef.current) return;\n this.setState({ lastChangedInput: 'from' });\n\n if (\n event.key === 'ArrowRight' &&\n this.fromRef.current.selectionStart === this.fromRef.current.value.length &&\n this.fromRef.current.selectionEnd === this.fromRef.current.value.length\n ) {\n this.toRef.current.focus();\n setTimeout(() => {\n this.toRef.current.setSelectionRange(0, 0);\n }, 0);\n }\n };\n\n handleToKeydown = (event) => {\n if (!this.toRef.current) return;\n if (!this.fromRef.current) return;\n this.setState({ lastChangedInput: 'to' });\n\n if (event.key === 'Backspace' && !this.toRef.current.value) {\n const value = this.fromRef.current.value;\n this.fromRef.current.focus();\n setTimeout(() => {\n this.fromRef.current.setSelectionRange(value.length, value.length);\n }, 0);\n }\n if (\n event.key === 'ArrowLeft' &&\n this.toRef.current.selectionStart === 0 &&\n this.toRef.current.selectionEnd === 0\n ) {\n const value = this.fromRef.current.value;\n this.fromRef.current.focus();\n setTimeout(() => {\n this.fromRef.current.setSelectionRange(value.length, value.length);\n }, 0);\n }\n };\n\n handleInputMaskPipeBlock = (value) => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(value);\n };\n\n getFromMaskedInputProps() {\n const { value, locale, onDisplayedPeriodChange, ariaHasPopup, showError: _showError, ...otherProps } =\n this.asProps;\n\n return assignProps(\n {\n 'ref': this.fromRef,\n 'date': value?.[0],\n 'onDateChange': this.handleFromChange,\n 'onKeyDown': this.handleFromKeydown,\n locale,\n 'flex': 1,\n onDisplayedPeriodChange,\n 'aria-haspopup': ariaHasPopup,\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n 'containerFocused': this.state.containerFocused,\n },\n otherProps,\n );\n }\n\n getToMaskedInputProps() {\n const {\n value,\n locale,\n onDisplayedPeriodChange,\n ariaHasPopup,\n inputId: _inputId,\n showError: _showError,\n ...otherProps\n } = this.asProps;\n const ariaLabel = this.asProps.getI18nText('toDate', {\n date: this.asProps.getI18nText('input'),\n });\n\n return assignProps(\n {\n 'ref': this.toRef,\n 'date': value?.[1],\n 'onDateChange': this.handleToChange,\n 'onKeyDown': this.handleToKeydown,\n locale,\n 'flex': 1,\n onDisplayedPeriodChange,\n 'aria-label': ariaLabel,\n 'aria-haspopup': ariaHasPopup,\n 'onMaskPipeBlock': this.handleInputMaskPipeBlock,\n 'containerFocused': this.state.containerFocused,\n },\n otherProps,\n );\n }\n\n getRangeSepProps() {\n const { value } = this.asProps;\n\n return {\n fulfilled: !!(value && (value[0] || value[1])),\n };\n }\n\n handleFocus = () => {\n this.setState({ containerFocused: true });\n };\n\n handleBlur = () => {\n this.setState({ containerFocused: false });\n };\n\n updateDisabledDateInputAttempt = (value) => {\n const { disabledDates } = this.asProps;\n\n let invalid = false;\n if (value) {\n if (value[0] && value[1])\n invalid = disabledDates.some(datesIntersects([value[0], value[1]], this.asProps.unit));\n else if (value[0])\n invalid = disabledDates.some(includesDate(dayjs(value[0]), this.asProps.unit));\n else if (value[1])\n invalid = disabledDates.some(includesDate(dayjs(value[1]), this.asProps.unit));\n }\n\n if (invalid) {\n const invalidValue = this.state.lastChangedInput === 'to' ? value[1] : value[0];\n setTimeout(() => {\n if (value === this.asProps.disabledDateInputAttempt) return;\n this.handlers.disabledDateInputAttempt(invalidValue);\n }, 0);\n }\n };\n\n componentDidUpdate(prevProps) {\n if (prevProps.value !== this.asProps.value) {\n this.updateDisabledDateInputAttempt(this.asProps.value);\n }\n }\n\n componentDidMount() {\n this.updateDisabledDateInputAttempt(this.asProps.value);\n }\n\n render() {\n const SDateRange = Root;\n const { Children, styles, w, state, showError: showErrorProps, popoverVisible } = this.asProps;\n const { errorText, lastChangedInput, showError: showErrorState, containerFocused } = this.state;\n const showError = showErrorState && showErrorProps;\n\n return sstyled(styles)(\n <SDateRange\n render={InputMask}\n tag={Tooltip}\n ignorePortalsStacking\n placement={lastChangedInput === 'to' ? 'top-end' : 'top-start'}\n title={errorText}\n theme='warning'\n visible={showError && (popoverVisible || containerFocused)}\n state={showError ? 'invalid' : state}\n __excludeProps={['onChange', 'value', 'aria-expanded']}\n w={w}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <Children />\n </SDateRange>,\n );\n }\n}\n\nfunction FromMaskedInput(props) {\n const SFromMaskedInput = Root;\n const { getI18nText } = props;\n\n return sstyled(props.styles)(\n <SFromMaskedInput labelPrefix={getI18nText('fromDatePlaceholder')} render={MaskedInput} />,\n );\n}\n\nfunction ToMaskedInput(props) {\n const SToMaskedInput = Root;\n const { getI18nText } = props;\n\n return sstyled(props.styles)(\n <SToMaskedInput labelPrefix={getI18nText('toDatePlaceholder')} render={MaskedInput} />,\n );\n}\n\nfunction Indicator(props) {\n const SIndicator = Root;\n\n return sstyled(props.styles)(\n <SIndicator render={InputMask.Addon} tag={Calendar} aria-hidden='true' tabIndex={-1} />,\n );\n}\n\nfunction RangeSep(props) {\n const SRangeSep = Root;\n\n return sstyled(props.styles)(\n <SRangeSep\n render={InputMask.Addon}\n tag={Flex}\n alignItems='center'\n justifyContent='center'\n pl={0}\n flex='0'\n >\n –\n </SRangeSep>,\n );\n}\n\nfunction MaskedInput({\n date: outerValue,\n onDateChange,\n onDisplayedPeriodChange,\n locale,\n styles,\n parts: allowedParts = defaultAllowedParts,\n disabledDates,\n forwardRef,\n placeholders: providedPlaceholders,\n labelPrefix = 'Date',\n onMaskPipeBlock,\n containerFocused,\n animationsDisabled,\n getI18nText,\n inputId,\n inputRole = 'combobox',\n\n __excludeProps,\n\n Root: _root,\n ...otherProps\n}) {\n const ref = React.useRef();\n const [width, setWidth] = React.useState(undefined);\n\n const placeholders = React.useMemo(() => {\n if (providedPlaceholders) return providedPlaceholders;\n\n return {\n year: getI18nText('placeholder-years'),\n month: getI18nText('placeholder-months'),\n day: getI18nText('placeholder-days'),\n };\n }, [providedPlaceholders, getI18nText]);\n\n if (\n placeholders.year.length !== 1 ||\n placeholders.month.length !== 1 ||\n placeholders.day.length !== 1\n ) {\n // eslint-disable-next-line no-console\n console.error({ placeholders });\n throw new Error(\n `InputTrigger placeholder prop should contain fields year, month and day each one with string value of single character length. [see above what was received] (${placeholders})`,\n placeholders,\n );\n }\n\n const { sep, order } = React.useMemo(() => {\n const options = { year: 'numeric', month: 'numeric', day: 'numeric' };\n const dateTimeFormat = new Intl.DateTimeFormat(locale, options);\n\n let sep = undefined;\n const order = [];\n const parts = dateTimeFormat.formatToParts(exampleDate);\n for (const part of parts) {\n if (!sep && part.type === 'literal') {\n sep = part.value;\n }\n if (\n order.length < 3 &&\n ['day', 'month', 'year'].includes(part.type) &&\n allowedParts[part.type]\n ) {\n order.push(part.type);\n }\n }\n sep = sep ?? ' ';\n\n return { sep, order };\n }, [locale, allowedParts]);\n\n const outer = React.useMemo(() => {\n let outerDate = outerValue;\n if (typeof outerValue === 'number' || typeof outerValue === 'string') {\n outerDate = new Date(outerValue);\n }\n const validDate = outerDate && outerDate instanceof Date && !Number.isNaN(outerDate.getTime());\n if (!validDate) return null;\n\n return {\n year: outerDate.getFullYear().toString().padStart(4, '0'),\n month: (outerDate.getMonth() + 1).toString().padStart(2, '0'),\n day: outerDate.getDate().toString().padStart(2, '0'),\n };\n }, [outerValue]);\n const stringifyValue = React.useCallback(\n (value) => {\n if (!value) return null;\n if (!value.year && !value.month && !value.day) return null;\n\n const result = [];\n for (const part of order) {\n if (!allowedParts[part]) continue;\n if (part === 'year' && value.year) result.push(value.year);\n if (part === 'month' && value.month) result.push(value.month);\n if (part === 'day' && value.day) result.push(value.day);\n }\n return result.join(sep);\n },\n [order, allowedParts],\n );\n\n const [internalValue, setInternalValue] = React.useState(outer);\n const value = React.useMemo(() => stringifyValue(internalValue), [stringifyValue, internalValue]);\n\n const lastKnownOuterValue = React.useRef(outer);\n React.useEffect(() => {\n if (\n lastKnownOuterValue.current?.day !== outer?.day ||\n lastKnownOuterValue.current?.month !== outer?.month ||\n lastKnownOuterValue.current?.year !== outer?.year\n ) {\n setInternalValue(outer);\n }\n lastKnownOuterValue.current = outer;\n }, [outer, setInternalValue]);\n\n const pipeMask = React.useCallback(\n (value) => {\n let placeholdersOnly = true;\n for (let i = 0; i < value.length; i++) {\n if (value[i] !== '_' && value[i] !== sep) {\n placeholdersOnly = false;\n break;\n }\n }\n\n if (placeholdersOnly) {\n onMaskPipeBlock?.(null);\n return '';\n }\n\n const getOffsetTo = (partName) => {\n const partsBefore = order.slice(0, order.indexOf(partName));\n let offset = 0;\n for (const part of partsBefore) {\n if (part === 'year' && allowedParts.year) offset += 4;\n if (part === 'month' && allowedParts.month) offset += 2;\n if (part === 'day' && allowedParts.day) offset += 2;\n }\n offset += partsBefore.length * sep.length;\n return offset;\n };\n\n const indexesOfPipedChars = [];\n const parsed = {};\n const parts = value.split(sep);\n for (const partName in placeholders) {\n parsed[partName] = placeholders[partName];\n }\n for (let i = 0; i < order.length; i++) {\n parsed[order[i]] = parts[i];\n }\n\n let { year, month, day } = parsed;\n\n if (allowedParts.month) {\n if (month[0] !== '_' && Number.parseInt(month[0], 10) > 1) {\n month = `0${month[0]}`;\n indexesOfPipedChars.push(getOffsetTo('month'));\n }\n if (month === '00') month = '01';\n if (month[0] !== '_' && month[1] !== '_' && Number.parseInt(month, 10) > 12) return false;\n }\n if (allowedParts.day) {\n if (day[0] !== '_' && Number.parseInt(day[0], 10) > 3) {\n day = `0${day[0]}`;\n indexesOfPipedChars.push(getOffsetTo('day'));\n }\n if (day === '00') day = '01';\n if (day[0] !== '_' && day[1] !== '_' && Number.parseInt(day, 10) > 31) return false;\n }\n\n year = year\n .split('')\n .map((char) => (char === '_' ? placeholders.year : char))\n .join('');\n month = month\n .split('')\n .map((char) => (char === '_' ? placeholders.month : char))\n .join('');\n day = day\n .split('')\n .map((char) => (char === '_' ? placeholders.day : char))\n .join('');\n\n const yearFulfilled =\n !allowedParts.year || (year && year.length >= 4 && !year.includes(placeholders.year));\n const monthFulfilled =\n !allowedParts.month || (month && month.length === 2 && !month.includes(placeholders.month));\n const dayFulfilled =\n !allowedParts.day || (day && day.length === 2 && !day.includes(placeholders.day));\n const fulfilled = yearFulfilled && monthFulfilled && dayFulfilled;\n\n if (fulfilled) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n const yearParsed = allowedParts.year ? Number.parseInt(year, 10) : 0;\n const monthParsed = allowedParts.month ? Number.parseInt(month, 10) - 1 : 0;\n const dayParsed = allowedParts.day ? Number.parseInt(day, 10) : 1;\n\n date.setFullYear(yearParsed, monthParsed, dayParsed);\n\n if (disabledDates?.some(includesDate(dayjs(date), 'date'))) {\n onMaskPipeBlock?.(date);\n return false;\n }\n\n if (allowedParts.day) {\n if (date.getDate() !== Number.parseInt(day, 10)) {\n onMaskPipeBlock?.(date);\n return false;\n }\n }\n }\n\n const result = [];\n for (const part of order) {\n if (part === 'year') result.push(year);\n if (part === 'month') result.push(month);\n if (part === 'day') result.push(day);\n }\n\n onMaskPipeBlock?.(null);\n return { value: result.join(sep), indexesOfPipedChars };\n },\n [placeholders, sep, order, allowedParts, disabledDates, onMaskPipeBlock],\n );\n\n const handleChange = React.useCallback(\n (value) => {\n const parsed = {};\n for (const partName in placeholders) {\n parsed[partName] = placeholders[partName];\n }\n const parts = value.split(sep);\n for (let i = 0; i < order.length; i++) {\n parsed[order[i]] = parts[i];\n }\n const { year, month, day } = parsed;\n setInternalValue({ year, month, day });\n\n const yearFulfilled =\n !allowedParts.year || (year && year.length >= 4 && !year.includes(placeholders.year));\n const monthFulfilled =\n !allowedParts.month || (month && month.length === 2 && !month.includes(placeholders.month));\n const dayFulfilled =\n !allowedParts.day || (day && day.length === 2 && !day.includes(placeholders.day));\n const fulfilled = yearFulfilled && monthFulfilled && dayFulfilled;\n if (fulfilled) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n const yearParsed = allowedParts.year ? Number.parseInt(year, 10) : 0;\n const monthParsed = allowedParts.month ? Number.parseInt(month, 10) - 1 : 0;\n const dayParsed = allowedParts.day ? Number.parseInt(day, 10) : 1;\n\n date.setFullYear(yearParsed, monthParsed, dayParsed);\n\n onDateChange(date);\n lastKnownOuterValue.current = { year, month, day };\n return;\n }\n\n if (lastKnownOuterValue.current !== null) {\n onDateChange(null);\n lastKnownOuterValue.current = null;\n }\n\n if (yearFulfilled && allowedParts.year) {\n const date = new Date(0, 0, 0, 0, 0, 0, 0);\n date.setFullYear(Number.parseInt(year, 10));\n if (monthFulfilled && allowedParts.month) {\n date.setMonth(Number.parseInt(month, 10) - 1);\n }\n onDisplayedPeriodChange(date);\n }\n },\n [onDateChange, setInternalValue, placeholders, onDisplayedPeriodChange, order, allowedParts],\n );\n\n const mask = React.useMemo(() => {\n const result = [];\n for (const part of order) {\n if (part === 'year')\n result.push(placeholders.year + placeholders.year + placeholders.year + placeholders.year);\n if (part === 'month') result.push(placeholders.month + placeholders.month);\n if (part === 'day') result.push(placeholders.day + placeholders.day);\n }\n return result.join(sep);\n }, [sep, order, placeholders]);\n const aliases = React.useMemo(\n () => ({\n [placeholders.year]: /\\d/,\n [placeholders.month]: /\\d/,\n [placeholders.day]: /\\d/,\n }),\n [placeholders],\n );\n const maskOnlySymbols = React.useMemo(\n () => ({\n [placeholders.year]: true,\n [placeholders.month]: true,\n [placeholders.day]: true,\n [sep]: true,\n }),\n [sep, placeholders],\n );\n const humanizedDate = React.useMemo(() => {\n let outerDate = outerValue;\n if (typeof outerValue === 'number' || typeof outerValue === 'string') {\n outerDate = new Date(outerValue);\n }\n const validDate = outerDate && outerDate instanceof Date && !Number.isNaN(outerDate.getTime());\n if (!validDate) return null;\n\n return new Intl.DateTimeFormat(locale, {\n year: allowedParts.year ? 'numeric' : undefined,\n month: allowedParts.month ? 'short' : undefined,\n day: allowedParts.day ? 'numeric' : undefined,\n }).format(outerDate);\n }, [outerValue, locale, allowedParts]);\n\n useEnhancedEffect(() => {\n if (!ref.current) return;\n const stringsToMeasure = humanizedDate ? [humanizedDate, mask] : [mask];\n const widths = [];\n const measureSpan = document.createElement('span');\n const computedStyle = window.getComputedStyle(ref.current);\n const typographyRelatedStyles = [\n 'height',\n 'font-size',\n 'font-family',\n 'font-weight',\n 'font-style',\n 'line-height',\n 'letter-spacing',\n 'text-transform',\n 'word-spacing',\n ];\n for (const style of typographyRelatedStyles) {\n measureSpan.style[style] = computedStyle[style];\n }\n measureSpan.style.position = 'absolute';\n measureSpan.style.visibility = 'hidden';\n document.body.appendChild(measureSpan);\n for (const string of stringsToMeasure) {\n measureSpan.innerHTML = string;\n widths.push(measureSpan.offsetWidth);\n }\n measureSpan.remove();\n const maxWidth = Math.max(...widths);\n setWidth(maxWidth);\n }, [locale, humanizedDate, allowedParts, mask]);\n\n const SHumanizedDate = 'div';\n const handleInputRef = React.useCallback(\n (node) => {\n ref.current = node;\n if (!node || node.tagName !== 'INPUT') return;\n if (typeof forwardRef === 'function') forwardRef(node);\n else forwardRef.current = node;\n },\n [forwardRef],\n );\n\n const [appliedWidth, setAppliedWidth] = React.useState(width);\n const [innerFocused, setInnerFocused] = React.useState(false);\n const focused = containerFocused ?? innerFocused;\n const handleFocus = React.useCallback((event) => {\n otherProps.onFocus?.(event);\n setInnerFocused(true);\n }, []);\n const handleBlur = React.useCallback((event) => {\n otherProps.onBlur?.(event);\n setInnerFocused(false);\n }, []);\n useEnhancedEffect(() => {\n if (focused) return;\n setAppliedWidth(width);\n }, [width, focused]);\n\n return sstyled(styles)(\n <InputMask.Value\n aria-label={labelPrefix}\n title={mask}\n mask={mask}\n aliases={aliases}\n maskOnlySymbols={maskOnlySymbols}\n placeholder={mask}\n inputW={appliedWidth}\n wMin={appliedWidth}\n id={inputId}\n {...otherProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n focused={focused}\n ref={handleInputRef}\n pipe={pipeMask}\n value={value ?? ''}\n onChange={handleChange}\n noHumanizedDate={!humanizedDate}\n animationsDisabled={animationsDisabled}\n inputRole={inputRole}\n inputMode='numeric'\n >\n {humanizedDate && <SHumanizedDate>{humanizedDate}</SHumanizedDate>}\n </InputMask.Value>,\n );\n}\n\nconst SingleDateInput = createComponent(SingleDateInputRoot, {\n Indicator,\n MaskedInput,\n});\nconst DateRange = createComponent(DateRangeRoot, {\n Indicator,\n RangeSep,\n FromMaskedInput,\n ToMaskedInput,\n});\n\nconst InputTrigger = createComponent(InputTriggerRoot, {\n Addon: BaseTrigger.Addon,\n SingleDateInput,\n DateRange,\n});\n\nexport default InputTrigger;\n"],"mappings":"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","ignoreList":[]}