@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.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/DatePicker.js +116 -139
- package/lib/cjs/DatePicker.js.map +1 -1
- package/lib/cjs/DateRangeComparator.js +144 -149
- package/lib/cjs/DateRangeComparator.js.map +1 -1
- package/lib/cjs/DateRangePicker.js +86 -101
- package/lib/cjs/DateRangePicker.js.map +1 -1
- package/lib/cjs/MonthDateRangeComparator.js +173 -180
- package/lib/cjs/MonthDateRangeComparator.js.map +1 -1
- package/lib/cjs/MonthPicker.js +70 -87
- package/lib/cjs/MonthPicker.js.map +1 -1
- package/lib/cjs/MonthRangePicker.js +96 -111
- package/lib/cjs/MonthRangePicker.js.map +1 -1
- package/lib/cjs/components/ButtonTrigger.js +12 -11
- package/lib/cjs/components/ButtonTrigger.js.map +1 -1
- package/lib/cjs/components/Calendar.js +409 -466
- package/lib/cjs/components/Calendar.js.map +1 -1
- package/lib/cjs/components/DateRangeComparatorAbstract.js +574 -626
- package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
- package/lib/cjs/components/InputTrigger.js +585 -677
- package/lib/cjs/components/InputTrigger.js.map +1 -1
- package/lib/cjs/components/PickerAbstract.js +254 -273
- package/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/lib/cjs/components/RangePickerAbstract.js +407 -439
- package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/lib/cjs/components/index.js +92 -102
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/index.js +15 -15
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +17 -17
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/utils/cronTabScheduler.js +13 -22
- package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
- package/lib/cjs/utils/datesIntersects.js +12 -19
- package/lib/cjs/utils/datesIntersects.js.map +1 -1
- package/lib/cjs/utils/formatDate.js +11 -9
- package/lib/cjs/utils/formatDate.js.map +1 -1
- package/lib/cjs/utils/includesDate.js +11 -16
- package/lib/cjs/utils/includesDate.js.map +1 -1
- package/lib/cjs/utils/isBetweenPlugin.js +6 -6
- package/lib/cjs/utils/isBetweenPlugin.js.map +1 -1
- package/lib/cjs/utils/shortDateRangeFormat.js +29 -33
- package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
- package/lib/es6/DatePicker.js +117 -141
- package/lib/es6/DatePicker.js.map +1 -1
- package/lib/es6/DateRangeComparator.js +130 -135
- package/lib/es6/DateRangeComparator.js.map +1 -1
- package/lib/es6/DateRangePicker.js +87 -102
- package/lib/es6/DateRangePicker.js.map +1 -1
- package/lib/es6/MonthDateRangeComparator.js +159 -166
- package/lib/es6/MonthDateRangeComparator.js.map +1 -1
- package/lib/es6/MonthPicker.js +72 -89
- package/lib/es6/MonthPicker.js.map +1 -1
- package/lib/es6/MonthRangePicker.js +97 -112
- package/lib/es6/MonthRangePicker.js.map +1 -1
- package/lib/es6/components/ButtonTrigger.js +4 -3
- package/lib/es6/components/ButtonTrigger.js.map +1 -1
- package/lib/es6/components/Calendar.js +400 -457
- package/lib/es6/components/Calendar.js.map +1 -1
- package/lib/es6/components/DateRangeComparatorAbstract.js +552 -604
- package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
- package/lib/es6/components/InputTrigger.js +568 -660
- package/lib/es6/components/InputTrigger.js.map +1 -1
- package/lib/es6/components/PickerAbstract.js +246 -265
- package/lib/es6/components/PickerAbstract.js.map +1 -1
- package/lib/es6/components/RangePickerAbstract.js +397 -429
- package/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/lib/es6/components/index.js +74 -85
- package/lib/es6/components/index.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +16 -16
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/utils/cronTabScheduler.js +13 -21
- package/lib/es6/utils/cronTabScheduler.js.map +1 -1
- package/lib/es6/utils/datesIntersects.js +10 -18
- package/lib/es6/utils/datesIntersects.js.map +1 -1
- package/lib/es6/utils/formatDate.js +6 -6
- package/lib/es6/utils/formatDate.js.map +1 -1
- package/lib/es6/utils/includesDate.js +10 -15
- package/lib/es6/utils/includesDate.js.map +1 -1
- package/lib/es6/utils/isBetweenPlugin.js +4 -4
- package/lib/es6/utils/isBetweenPlugin.js.map +1 -1
- package/lib/es6/utils/shortDateRangeFormat.js +27 -31
- package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
- package/lib/esm/DatePicker.mjs +109 -114
- package/lib/esm/DateRangeComparator.mjs +112 -105
- package/lib/esm/DateRangePicker.mjs +76 -80
- package/lib/esm/MonthDateRangeComparator.mjs +141 -134
- package/lib/esm/MonthPicker.mjs +65 -70
- package/lib/esm/MonthRangePicker.mjs +86 -88
- package/lib/esm/components/ButtonTrigger.mjs +4 -3
- package/lib/esm/components/Calendar.mjs +397 -423
- package/lib/esm/components/DateRangeComparatorAbstract.mjs +559 -516
- package/lib/esm/components/InputTrigger.mjs +550 -557
- package/lib/esm/components/PickerAbstract.mjs +249 -244
- package/lib/esm/components/RangePickerAbstract.mjs +400 -384
- package/lib/esm/components/index.mjs +73 -69
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/esm/utils/cronTabScheduler.mjs +13 -18
- package/lib/esm/utils/datesIntersects.mjs +10 -14
- package/lib/esm/utils/formatDate.mjs +6 -6
- package/lib/esm/utils/includesDate.mjs +10 -13
- package/lib/esm/utils/isBetweenPlugin.mjs +4 -4
- package/lib/esm/utils/shortDateRangeFormat.mjs +27 -27
- package/lib/types/index.d.ts +2 -44
- package/package.json +16 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTrigger.js","names":["_core","require","_baseTrigger","_interopRequireDefault","_assignProps8","_useEnhancedEffect","_flexBox","_m","_inputMask","_neighborLocation","_tooltip","_dayjs","_react","_datesIntersects","_includesDate","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","style","sstyled","insert","defaultAllowedParts","year","month","day","exampleDate","Date","InputTriggerRoot","_Component","_classCallCheck2","_callSuper2","arguments","_inherits2","_createClass2","key","value","getSingleDateInputProps","_this$asProps","asProps","_children","children","id","_role","role","ariaHasPopup","_ariaLabel","_style","otherProps","_objectWithoutProperties2","_objectSpread2","inputId","getDateRangeProps","_this$asProps2","_rolw","render","_ref","_ref8","SInputTrigger","Box","_this$asProps3","Children","getI18nText","createElement","cn","assignProps","Component","_defineProperty2","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","handleInputMaskPipeBlock","_ref2","_ref9","_this$asProps5","forwardRef","styles","showErrorProps","_this$state","showErrorState","SSingleDateInput","InputMask","Tooltip","handleFocus","handleBlur","Fragment","SingleDateInput","Indicator","MaskedInput","defaultDisabledDateInputAttempt","DateRangeRoot","_Component3","_this3","_len2","_key2","containerFocused","lastChangedInput","React","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","datesIntersects","unit","includesDate","dayjs","invalidValue","_this4","getFromMaskedInputProps","_this$asProps6","handleFromChange","handleFromKeydown","getToMaskedInputProps","_this$asProps7","_inputId","ariaLabel","handleToChange","handleToKeydown","getRangeSepProps","fulfilled","componentDidUpdate","prevProps","updateDisabledDateInputAttempt","componentDidMount","_ref3","_ref0","SDateRange","_this$asProps8","_this$state2","DateRange","FromMaskedInput","RangeSep","ToMaskedInput","props","_ref4","arguments[0]","_ref1","SFromMaskedInput","_ref5","_ref10","SToMaskedInput","_ref6","_ref11","SIndicator","Addon","Calendar","_ref7","_ref12","SRangeSep","Flex","_ref14","_ref13","outerValue","onDateChange","_ref14$parts","allowedParts","providedPlaceholders","placeholders","_ref14$labelPrefix","labelPrefix","onMaskPipeBlock","animationsDisabled","_ref14$inputRole","inputRole","__excludeProps","_root","Root","ref","useRef","_React$useState","useState","_React$useState2","_slicedToArray2","width","setWidth","useMemo","console","error","Error","_React$useMemo","options","dateTimeFormat","Intl","DateTimeFormat","sep","order","formatToParts","_iterator","_createForOfIteratorHelper2","_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","useEnhancedEffect","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","_extends2","title","placeholder","inputW","wMin","pipe","noHumanizedDate","inputMode","createComponent","InputTrigger","BaseTrigger","_default","exports"],"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":["_core","require","_baseComponents","_baseTrigger","_interopRequireDefault","_assignProps8","_useEnhancedEffect","_m","_inputMask","_tooltip","_dayjs","_react","_datesIntersects","_includesDate","style","sstyled","insert","defaultAllowedParts","year","month","day","exampleDate","Date","InputTriggerRoot","Component","getSingleDateInputProps","children","_children","id","role","_role","ariaHasPopup","_ariaLabel","_style","otherProps","asProps","inputId","getDateRangeProps","_rolw","render","_ref","_ref8","SInputTrigger","Box","Children","getI18nText","default","createElement","cn","assignProps","_defineProperty2","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","InputMask","Tooltip","handleFocus","handleBlur","NeighborLocation","Fragment","SingleDateInput","Indicator","MaskedInput","defaultDisabledDateInputAttempt","DateRangeRoot","containerFocused","lastChangedInput","React","createRef","event","prevValue","toRef","current","focus","setTimeout","setSelectionRange","fromRef","selectionStart","length","selectionEnd","disabledDates","invalid","some","datesIntersects","unit","includesDate","dayjs","invalidValue","getFromMaskedInputProps","handleFromChange","handleFromKeydown","getToMaskedInputProps","_inputId","ariaLabel","handleToChange","handleToKeydown","getRangeSepProps","fulfilled","componentDidUpdate","prevProps","updateDisabledDateInputAttempt","componentDidMount","_ref3","_ref0","SDateRange","DateRange","FromMaskedInput","RangeSep","ToMaskedInput","props","_ref4","arguments[0]","_ref1","SFromMaskedInput","_ref5","_ref10","SToMaskedInput","_ref6","_ref11","SIndicator","Addon","Calendar","_ref7","_ref12","SRangeSep","Flex","outerValue","onDateChange","allowedParts","placeholders","providedPlaceholders","labelPrefix","onMaskPipeBlock","animationsDisabled","inputRole","__excludeProps","Root","_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","useEnhancedEffect","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","_extends2","title","placeholder","inputW","wMin","pipe","noHumanizedDate","inputMode","createComponent","InputTrigger","BaseTrigger","_default","exports"],"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":[]}
|