@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":"DateRangeComparatorAbstract.js","names":["_core","require","_baseTrigger","_button","_interopRequireDefault","_checkbox","_i18nEnhance","_dropdown","_flexBox","_dayjs","_react","_intergalacticDynamicLocales","_formatDate","_includesDate","_shortDateRangeFormat","style","sstyled","insert","INTERACTION_TAGS","INTERACTION_KEYS","defaultDisplayedPeriod","Date","setHours","getLatestDate","_len","arguments","length","dateRanges","Array","_key","allDates","flat","filter","Boolean","date","Number","isNaN","getTime","sort","a","b","latestDate","DateRangeComparatorAbstract","_Component","_this","_classCallCheck2","_len2","args","_key2","_callSuper2","concat","_defineProperty2","React","createRef","direction","displayedPeriod","asProps","action","dayjs","navigateStep","toDate","handlers","navigateView","_this$asProps","value","preselectedValue","preselectedCompare","handleApply","compare","visible","place","e","_this$asProps2","focusedRange","key","target","highlighted","compareHighlighted","includes","prevButtonRef","current","nextButtonRef","preventDefault","stopPropagation","setTimeout","popper","popperRef","focus","day","keyDiff","setNextDisplayedPeriod","next_highlighted","_next_highlighted","_slicedToArray2","startPeriod","endPeriod","highlightedPeriod","displayedPeriodNormalized","getDate","highlightedPeriodNormalized","getMonth","getYear","offset","isPeriodTarget","periodRefs","find","el","isResetButtonTarget","resetButtonRef","isApplyButtonTarget","applyButtonRef","areTargetedControls","highlightedDate","isDisabled","handleChange","metaKey","ctrlKey","handleApplyClick","changedDate","undefined","tagName","add","keyStep","_this$unitRefs$format","formatter","formatMMYY","formatDDMMYY","formattedDate","locale","unitRefs","month","year","_value","_value2","_value3","_this$asProps3","isArray","_value4","_value5","_inherits2","_createClass2","getPeriodProps","_this$asProps$value","_this2","_this$asProps4","_this$asProps4$period","periods","getDefaultPeriods","onHighlightedChange","onCompareHighlightedChange","onDisplayedPeriodChange","getI18nText","_this$asProps$value2","onChange","periodRef","index","element","getPrevProps","bindHandlerNavigateClick","getNextProps","uncontrolledProps","_this3","compareToggle","_this3$asProps$value","_this3$asProps","newDisplayedPeriod","_this3$props","props","dates","_date$isValid","isValid","call","getApplyProps","onClick","ref","getResetProps","_this4","disabled","some","includesDate","today","children","subtract","startOf","getTitleProps","_props","_this$asProps5","Intl","DateTimeFormat","format","getTriggerProps","_ref0","_this$asProps$value3","_this$asProps$value4","_this5","_ref0$placeholder","placeholder","_ref0$separator","separator","_this$asProps6","formattingProps","_objectSpread2","triggerFormattingProps","shortDateRangeFormat","onKeyDown","handleKeydownDown","getRangeInput","Error","getRangeInputProps","inputRole","getValueDateRangeProps","_this6","_this$asProps7","disabledErrorText","animationsDisabled","popoverVisible","focused","disabledDates","onFocus","getCompareDateRangeProps","_value$compare","_this7","_this$asProps8","getCompareToggleProps","_this8","_this$asProps9","checked","getCalendarProps","_this$asProps0","range","actionsDescribing","tabIndex","getPopperProps","p","render","_ref","_ref4","_this$asProps1","Children","styles","providedAriaLabel","createElement","Fragment","Dropdown","assignProps","cn","defaultProps","_ref1","primaryRange","defaultPrimaryRange","secondaryRange","defaultSecondaryRange","i18n","localizedMessages","defaultValue","defaultHighlighted","defaultCompareHighlighted","defaultVisible","defaultPreselectedValue","defaultPreselectedCompare","defaultCompareToggle","defaultFocusedRange","size","Component","i18nEnhance","amount","unit","Apply","_ref2","arguments[0]","Button","Reset","_ref3","Trigger","_ref5","STrigger","Root","LinkTrigger","CompareToggle","_ref6","SCompareToggle","Checkbox","Header","_ref7","SRangeComparatorHeader","Flex","Body","_ref8","SBody","Footer","_ref9","SFooter","_default","exports"],"sources":["../../../src/components/DateRangeComparatorAbstract.jsx"],"sourcesContent":["import { LinkTrigger } from '@semcore/base-trigger';\nimport Button from '@semcore/button';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Dropdown from '@semcore/dropdown';\nimport { Flex } from '@semcore/flex-box';\nimport dayjs from 'dayjs';\nimport React from 'react';\n\nimport style from '../style/date-picker.shadow.css';\nimport { localizedMessages } from '../translations/__intergalactic-dynamic-locales';\nimport { formatDDMMYY, formatMMYY } from '../utils/formatDate';\nimport { includesDate } from '../utils/includesDate';\nimport shortDateRangeFormat from '../utils/shortDateRangeFormat';\n\nconst INTERACTION_TAGS = ['INPUT'];\nconst INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nconst getLatestDate = (...dateRanges) => {\n const allDates = dateRanges\n .flat()\n .filter(Boolean)\n .filter((date) => !Number.isNaN(new Date(date).getTime()));\n if (!allDates.length) return null;\n\n allDates.sort((a, b) => new Date(b).getTime() - new Date(a).getTime());\n const latestDate = allDates[0];\n\n return latestDate;\n};\n\nclass DateRangeComparatorAbstract extends Component {\n static displayName = 'DateRangeComparator';\n static style = style;\n\n static defaultProps({\n primaryRange,\n defaultPrimaryRange,\n secondaryRange,\n defaultSecondaryRange,\n }) {\n return {\n i18n: localizedMessages,\n locale: 'en',\n defaultValue: null,\n defaultHighlighted: [],\n defaultCompareHighlighted: [],\n defaultDisplayedPeriod:\n getLatestDate(primaryRange, defaultPrimaryRange, secondaryRange, defaultSecondaryRange) ||\n defaultDisplayedPeriod,\n defaultVisible: false,\n defaultPreselectedValue: null,\n defaultPreselectedCompare: null,\n defaultCompareToggle: null,\n defaultFocusedRange: 'value',\n disabled: [],\n size: 'm',\n };\n }\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n prevButtonRef = React.createRef();\n nextButtonRef = React.createRef();\n popperRef = React.createRef();\n resetButtonRef = React.createRef();\n applyButtonRef = React.createRef();\n periodRefs = [];\n unitRefs = {};\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n onHighlightedChange,\n onCompareHighlightedChange,\n onDisplayedPeriodChange,\n preselectedValue,\n preselectedCompare,\n focusedRange,\n getI18nText,\n } = this.asProps;\n\n let value = preselectedValue ?? this.asProps.value?.value;\n if (focusedRange === 'compare') {\n value = preselectedCompare ?? this.asProps.value?.compare;\n }\n return {\n periods,\n value,\n 'onChange': (value) => {\n if (focusedRange === 'compare') {\n this.handlers.preselectedCompare(value);\n } else {\n this.handlers.preselectedValue(value);\n }\n },\n 'onHighlightedChange':\n focusedRange === 'compare' ? onCompareHighlightedChange : onHighlightedChange,\n onDisplayedPeriodChange,\n 'role': 'listbox',\n 'aria-label': getI18nText('periods'),\n 'periodRef': (index) => (element) => {\n if (!element) return;\n\n this.periodRefs[index] = element;\n },\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n getPrevProps() {\n const { getI18nText } = this.asProps;\n const { navigateStep } = this;\n return {\n getI18nText,\n 'ref': this.prevButtonRef,\n 'onClick': this.bindHandlerNavigateClick(-1),\n 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear'),\n };\n }\n\n getNextProps() {\n const { getI18nText } = this.asProps;\n const { navigateStep } = this;\n return {\n getI18nText,\n 'ref': this.nextButtonRef,\n 'onClick': this.bindHandlerNavigateClick(1),\n 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear'),\n };\n }\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.compareHighlighted([]);\n this.handlers.preselectedValue(undefined);\n this.handlers.preselectedCompare(undefined);\n this.handlers.compareToggle(undefined);\n this.handlers.focusedRange('value');\n } else {\n this.handlers.compareToggle(!!this.asProps.value?.compare?.length);\n }\n\n const { value, displayedPeriod } = this.asProps;\n const newDisplayedPeriod = value ? getLatestDate(value.value, value.compare) : undefined;\n\n if (visible) {\n if (newDisplayedPeriod && newDisplayedPeriod !== displayedPeriod) {\n this.handlers.displayedPeriod(newDisplayedPeriod);\n } else if (!newDisplayedPeriod) {\n const { displayedPeriod, defaultDisplayedPeriod } = this.props;\n this.handlers.displayedPeriod(displayedPeriod || defaultDisplayedPeriod);\n }\n }\n },\n ],\n highlighted: null,\n compareHighlighted: null,\n preselectedValue: null,\n preselectedCompare: null,\n compareToggle: null,\n focusedRange: null,\n value: [\n null,\n (value) => {\n const dates = [value?.value, value?.compare].flat(2).filter((date) => date?.isValid?.());\n if (dates.length > 0) this.handlers.displayedPeriod(getLatestDate(value));\n },\n ],\n };\n }\n\n handleApplyClick = () => {\n const { value, preselectedValue, preselectedCompare } = this.asProps;\n return this.handleApply(preselectedValue ?? value?.value, preselectedCompare ?? value?.compare);\n };\n\n getApplyProps() {\n const { getI18nText } = this.asProps;\n return {\n getI18nText,\n onClick: this.handleApplyClick,\n ref: this.applyButtonRef,\n };\n }\n\n getResetProps() {\n const { getI18nText } = this.asProps;\n return {\n getI18nText,\n onClick: () => this.handleApply(null, null),\n ref: this.resetButtonRef,\n };\n }\n\n handleApply = (value, compare) => {\n this.handlers.value({ value, compare });\n this.handlers.visible(false);\n };\n\n isDisabled(date) {\n const { disabled } = this.asProps;\n\n return disabled.some(includesDate(dayjs(date), 'date'));\n }\n\n handleKeydownDown = (place) => (e) => {\n const { displayedPeriod, preselectedValue, visible, focusedRange } = this.asProps;\n const { key, target } = e;\n const highlighted =\n focusedRange === 'compare' ? this.asProps.compareHighlighted : this.asProps.highlighted;\n\n if ([' ', 'Enter'].includes(key) && [this.prevButtonRef.current, this.nextButtonRef.current].includes(target)) return;\n\n if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {\n e.preventDefault();\n e.stopPropagation();\n this.handlers.visible(!visible);\n\n setTimeout(() => {\n const popper = this.popperRef.current;\n\n if (popper) {\n popper.focus();\n }\n }, 0);\n }\n\n const day = this.keyDiff[key];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [startPeriod, endPeriod] = next_highlighted;\n const highlightedPeriod = endPeriod || startPeriod;\n\n let displayedPeriodNormalized = displayedPeriod?.getDate();\n let highlightedPeriodNormalized = highlightedPeriod?.getDate();\n if (this.navigateStep === 'month') {\n displayedPeriodNormalized = displayedPeriod?.getMonth();\n highlightedPeriodNormalized = highlightedPeriod?.getMonth();\n }\n if (this.navigateStep === 'year') {\n displayedPeriodNormalized = displayedPeriod?.getYear();\n highlightedPeriodNormalized = highlightedPeriod?.getYear();\n }\n const offset = highlightedPeriodNormalized - displayedPeriodNormalized;\n\n if (offset < 0 || offset > 1) {\n return highlightedPeriod;\n }\n return displayedPeriod;\n };\n\n const isPeriodTarget = this.periodRefs.find((el) => el === target);\n const isResetButtonTarget = target === this.resetButtonRef.current;\n const isApplyButtonTarget = target === this.applyButtonRef.current;\n const areTargetedControls = isPeriodTarget || isResetButtonTarget || isApplyButtonTarget;\n\n if (place === 'popper' &&\n e.key === ' ' &&\n highlighted.length &&\n !areTargetedControls\n ) {\n const highlightedDate = highlighted[1] || highlighted[0];\n\n if (!this.isDisabled(highlightedDate)) {\n this.handleChange(highlightedDate);\n }\n e.preventDefault();\n }\n if (place === 'popper' && e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n return this.handleApplyClick();\n }\n let changedDate = undefined;\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (preselectedValue?.length === 1) {\n next_highlighted = [\n preselectedValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n changedDate = next_highlighted[1];\n } else {\n next_highlighted = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n changedDate = next_highlighted[0];\n }\n if (focusedRange === 'compare') {\n this.handlers.compareHighlighted(next_highlighted);\n } else {\n this.handlers.highlighted(next_highlighted);\n }\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n const highlighted = [displayedPeriod ? displayedPeriod : dayjs().toDate()];\n if (focusedRange === 'compare') {\n this.handlers.compareHighlighted(highlighted);\n } else {\n this.handlers.highlighted(highlighted);\n }\n changedDate = highlighted[0];\n }\n e.preventDefault();\n\n if (changedDate) {\n const formatter = this.keyStep === 'month' ? formatMMYY : formatDDMMYY;\n const formattedDate = formatter(changedDate, this.asProps.locale);\n this.unitRefs[formattedDate]?.focus();\n }\n }\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('lastMonth'),\n value: [\n dayjs(today).subtract(1, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last3Months'),\n value: [\n dayjs(today).subtract(2, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last6Months'),\n value: [\n dayjs(today).subtract(5, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last12Months'),\n value: [\n dayjs(today).subtract(11, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n ];\n }\n\n getTitleProps(_props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n triggerFormattingProps = {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n };\n\n getTriggerProps({ placeholder = 'Select date ranges', separator = 'vs.' }) {\n const { locale, visible } = this.asProps;\n const value = this.asProps.value?.value;\n const compare = this.asProps.value?.compare;\n const formattingProps = {\n locale,\n ...this.triggerFormattingProps,\n };\n let children = placeholder;\n if (value?.[0] && value?.[1]) {\n children = shortDateRangeFormat(value, formattingProps);\n }\n if (compare?.[0] && compare?.[1]) {\n children = `${children || ''} ${separator} ${shortDateRangeFormat(compare, formattingProps)}`;\n }\n return {\n children,\n visible,\n onClick: () => this.handlers.visible(!visible),\n onKeyDown: this.handleKeydownDown('trigger'),\n };\n }\n\n getRangeInput() {\n throw new Error('not implemented');\n }\n\n getRangeInputProps() {\n return {\n inputRole: null,\n };\n }\n\n getValueDateRangeProps() {\n const {\n value,\n onDisplayedPeriodChange,\n locale,\n disabled,\n disabledErrorText,\n getI18nText,\n focusedRange,\n preselectedValue,\n animationsDisabled,\n visible,\n } = this.asProps;\n\n return {\n popoverVisible: visible,\n focused: focusedRange === 'value' ? true : undefined,\n value: preselectedValue ?? value?.value,\n onChange: (value) => this.handlers.preselectedValue(value),\n onDisplayedPeriodChange,\n locale,\n disabledDates: disabled,\n disabledErrorText,\n children: this.getRangeInput(),\n getI18nText,\n onFocus: () => {\n this.handlers.focusedRange('value');\n },\n animationsDisabled,\n };\n }\n\n getCompareDateRangeProps() {\n const {\n value,\n onDisplayedPeriodChange,\n locale,\n disabled,\n disabledErrorText,\n getI18nText,\n focusedRange,\n preselectedCompare,\n compareToggle,\n animationsDisabled,\n visible,\n } = this.asProps;\n\n return {\n popoverVisible: visible,\n focused: focusedRange === 'compare' ? true : undefined,\n disabled: !(compareToggle ?? value?.compare?.length),\n value: preselectedCompare ?? value?.compare,\n onChange: (value) => this.handlers.preselectedCompare(value),\n onDisplayedPeriodChange,\n locale,\n disabledDates: disabled,\n children: this.getRangeInput(),\n getI18nText,\n disabledErrorText,\n onFocus: () => {\n this.handlers.focusedRange('compare');\n },\n animationsDisabled,\n };\n }\n\n getCompareToggleProps() {\n const { getI18nText, compareToggle } = this.asProps;\n\n return {\n getI18nText,\n checked: compareToggle,\n onChange: (checked) => {\n if (checked) {\n this.handlers.compareToggle(true);\n this.handlers.focusedRange('compare');\n } else {\n this.handlers.compareToggle(false);\n this.handlers.focusedRange('value');\n this.handlers.preselectedCompare([]);\n }\n },\n };\n }\n\n getCalendarProps(_props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n onCompareHighlightedChange,\n highlighted,\n compareHighlighted,\n onHighlightedChange,\n preselectedCompare,\n preselectedValue,\n focusedRange,\n getI18nText,\n } = this.asProps;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n onChange: this.handleChange,\n highlighted,\n compareHighlighted,\n onCompareHighlightedChange,\n onHighlightedChange,\n range: focusedRange,\n value: preselectedValue ?? value?.value,\n compare: preselectedCompare ?? value?.compare,\n unitRefs: this.unitRefs,\n getI18nText,\n actionsDescribing: index === 0 ? 'range-compare' : null,\n tabIndex: index === 0 ? 0 : -1,\n };\n }\n\n handleChange = (date) => {\n const { focusedRange, preselectedCompare, preselectedValue } = this.asProps;\n let highlighted = [];\n let value = focusedRange === 'compare' ? preselectedCompare : preselectedValue;\n if (Array.isArray(date)) {\n value = date;\n } else if (!value?.length) {\n value = [date];\n highlighted = [date];\n } else if (value?.length >= 2) {\n value = [date];\n highlighted = [date];\n } else if (value?.[0] > date) {\n value = [date, value?.[0]];\n } else {\n value = [value?.[0], date];\n }\n\n if (focusedRange === 'compare') {\n this.handlers.preselectedCompare(value);\n this.handlers.compareHighlighted(highlighted);\n } else {\n this.handlers.preselectedValue(value);\n this.handlers.highlighted(highlighted);\n }\n };\n\n getPopperProps() {\n return {\n p: 0,\n ref: this.popperRef,\n onKeyDown: this.handleKeydownDown('popper'),\n };\n }\n\n render() {\n const { Children, styles, 'aria-label': providedAriaLabel } = this.asProps;\n\n return (\n <>\n {sstyled(styles)(\n <Root\n render={Dropdown}\n use:aria-label={providedAriaLabel}\n __excludeProps={['onChange', 'value']}\n >\n <Children />\n </Root>,\n )}\n </>\n );\n }\n}\n\nfunction Apply(props) {\n const { getI18nText } = props;\n return <Root render={Button} use='primary' children={getI18nText('apply')} />;\n}\n\nfunction Reset(props) {\n const { getI18nText } = props;\n return <Root render={Button} use='tertiary' theme='muted' children={getI18nText('reset')} />;\n}\n\nfunction Trigger(props) {\n const { Root: STrigger, styles } = props;\n return sstyled(styles)(<STrigger render={Dropdown.Trigger} tag={LinkTrigger} />);\n}\n\nfunction CompareToggle(props) {\n const { Root: SCompareToggle, styles, getI18nText } = props;\n return sstyled(styles)(<SCompareToggle render={Checkbox} label={getI18nText('compare')} />);\n}\nfunction Header(props) {\n const { Root: SRangeComparatorHeader, Children, styles } = props;\n return sstyled(styles)(\n <SRangeComparatorHeader render={Flex} gap={4} alignItems='center'>\n <Children />\n </SRangeComparatorHeader>,\n );\n}\nfunction Body(props) {\n const { Root: SBody, Children, styles } = props;\n return sstyled(styles)(\n <SBody render={Flex} gap={4}>\n <Children />\n </SBody>,\n );\n}\n\nfunction Footer(props) {\n const { Root: SFooter, styles, Children } = props;\n return sstyled(styles)(\n <SFooter render={Flex} gap={2}>\n <Children />\n </SFooter>,\n );\n}\n\nexport { Apply, Reset, Trigger, CompareToggle, Body, Footer, Header };\n\nexport default DateRangeComparatorAbstract;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateRangeComparatorAbstract.js","names":["_core","require","_baseComponents","_baseTrigger","_button","_interopRequireDefault","_checkbox","_i18nEnhance","_dropdown","_dayjs","_react","_intergalacticDynamicLocales","_formatDate","_includesDate","_shortDateRangeFormat","style","sstyled","insert","INTERACTION_TAGS","INTERACTION_KEYS","defaultDisplayedPeriod","Date","setHours","getLatestDate","dateRanges","allDates","flat","filter","Boolean","date","Number","isNaN","getTime","length","sort","a","b","latestDate","DateRangeComparatorAbstract","Component","constructor","args","_defineProperty2","default","React","createRef","direction","displayedPeriod","asProps","action","dayjs","navigateStep","toDate","handlers","navigateView","value","preselectedValue","preselectedCompare","handleApply","compare","visible","place","e","focusedRange","key","target","highlighted","compareHighlighted","includes","prevButtonRef","current","nextButtonRef","preventDefault","stopPropagation","setTimeout","popper","popperRef","focus","day","keyDiff","setNextDisplayedPeriod","next_highlighted","startPeriod","endPeriod","highlightedPeriod","displayedPeriodNormalized","getDate","highlightedPeriodNormalized","getMonth","getYear","offset","isPeriodTarget","periodRefs","find","el","isResetButtonTarget","resetButtonRef","isApplyButtonTarget","applyButtonRef","areTargetedControls","highlightedDate","isDisabled","handleChange","metaKey","ctrlKey","handleApplyClick","changedDate","undefined","tagName","add","keyStep","formatter","formatMMYY","formatDDMMYY","formattedDate","locale","unitRefs","month","year","Array","isArray","defaultProps","primaryRange","defaultPrimaryRange","secondaryRange","defaultSecondaryRange","i18n","localizedMessages","defaultValue","defaultHighlighted","defaultCompareHighlighted","defaultVisible","defaultPreselectedValue","defaultPreselectedCompare","defaultCompareToggle","defaultFocusedRange","disabled","size","getPeriodProps","periods","getDefaultPeriods","onHighlightedChange","onCompareHighlightedChange","onDisplayedPeriodChange","getI18nText","index","element","getPrevProps","bindHandlerNavigateClick","getNextProps","uncontrolledProps","compareToggle","newDisplayedPeriod","props","dates","isValid","getApplyProps","onClick","ref","getResetProps","some","includesDate","today","children","subtract","startOf","getTitleProps","_props","Intl","DateTimeFormat","format","getTriggerProps","placeholder","separator","formattingProps","triggerFormattingProps","shortDateRangeFormat","onKeyDown","handleKeydownDown","getRangeInput","Error","getRangeInputProps","inputRole","getValueDateRangeProps","disabledErrorText","animationsDisabled","popoverVisible","focused","onChange","disabledDates","onFocus","getCompareDateRangeProps","getCompareToggleProps","checked","getCalendarProps","range","actionsDescribing","tabIndex","getPopperProps","p","render","_ref","_ref4","Children","styles","providedAriaLabel","createElement","Fragment","Dropdown","assignProps","cn","i18nEnhance","amount","unit","Apply","_ref2","arguments[0]","Button","Reset","_ref3","Trigger","_ref5","Root","STrigger","LinkTrigger","CompareToggle","_ref6","SCompareToggle","Checkbox","Header","_ref7","SRangeComparatorHeader","Flex","Body","_ref8","SBody","Footer","_ref9","SFooter","_default","exports"],"sources":["../../../src/components/DateRangeComparatorAbstract.jsx"],"sourcesContent":["import { Flex } from '@semcore/base-components';\nimport { LinkTrigger } from '@semcore/base-trigger';\nimport Button from '@semcore/button';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Dropdown from '@semcore/dropdown';\nimport dayjs from 'dayjs';\nimport React from 'react';\n\nimport style from '../style/date-picker.shadow.css';\nimport { localizedMessages } from '../translations/__intergalactic-dynamic-locales';\nimport { formatDDMMYY, formatMMYY } from '../utils/formatDate';\nimport { includesDate } from '../utils/includesDate';\nimport shortDateRangeFormat from '../utils/shortDateRangeFormat';\n\nconst INTERACTION_TAGS = ['INPUT'];\nconst INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nconst getLatestDate = (...dateRanges) => {\n const allDates = dateRanges\n .flat()\n .filter(Boolean)\n .filter((date) => !Number.isNaN(new Date(date).getTime()));\n if (!allDates.length) return null;\n\n allDates.sort((a, b) => new Date(b).getTime() - new Date(a).getTime());\n const latestDate = allDates[0];\n\n return latestDate;\n};\n\nclass DateRangeComparatorAbstract extends Component {\n static displayName = 'DateRangeComparator';\n static style = style;\n\n static defaultProps({\n primaryRange,\n defaultPrimaryRange,\n secondaryRange,\n defaultSecondaryRange,\n }) {\n return {\n i18n: localizedMessages,\n locale: 'en',\n defaultValue: null,\n defaultHighlighted: [],\n defaultCompareHighlighted: [],\n defaultDisplayedPeriod:\n getLatestDate(primaryRange, defaultPrimaryRange, secondaryRange, defaultSecondaryRange) ||\n defaultDisplayedPeriod,\n defaultVisible: false,\n defaultPreselectedValue: null,\n defaultPreselectedCompare: null,\n defaultCompareToggle: null,\n defaultFocusedRange: 'value',\n disabled: [],\n size: 'm',\n };\n }\n\n static enhance = [i18nEnhance(localizedMessages)];\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n prevButtonRef = React.createRef();\n nextButtonRef = React.createRef();\n popperRef = React.createRef();\n resetButtonRef = React.createRef();\n applyButtonRef = React.createRef();\n periodRefs = [];\n unitRefs = {};\n\n getPeriodProps() {\n const {\n periods = this.getDefaultPeriods(),\n onHighlightedChange,\n onCompareHighlightedChange,\n onDisplayedPeriodChange,\n preselectedValue,\n preselectedCompare,\n focusedRange,\n getI18nText,\n } = this.asProps;\n\n let value = preselectedValue ?? this.asProps.value?.value;\n if (focusedRange === 'compare') {\n value = preselectedCompare ?? this.asProps.value?.compare;\n }\n return {\n periods,\n value,\n 'onChange': (value) => {\n if (focusedRange === 'compare') {\n this.handlers.preselectedCompare(value);\n } else {\n this.handlers.preselectedValue(value);\n }\n },\n 'onHighlightedChange':\n focusedRange === 'compare' ? onCompareHighlightedChange : onHighlightedChange,\n onDisplayedPeriodChange,\n 'role': 'listbox',\n 'aria-label': getI18nText('periods'),\n 'periodRef': (index) => (element) => {\n if (!element) return;\n\n this.periodRefs[index] = element;\n },\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n getPrevProps() {\n const { getI18nText } = this.asProps;\n const { navigateStep } = this;\n return {\n getI18nText,\n 'ref': this.prevButtonRef,\n 'onClick': this.bindHandlerNavigateClick(-1),\n 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear'),\n };\n }\n\n getNextProps() {\n const { getI18nText } = this.asProps;\n const { navigateStep } = this;\n return {\n getI18nText,\n 'ref': this.nextButtonRef,\n 'onClick': this.bindHandlerNavigateClick(1),\n 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear'),\n };\n }\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.handlers.compareHighlighted([]);\n this.handlers.preselectedValue(undefined);\n this.handlers.preselectedCompare(undefined);\n this.handlers.compareToggle(undefined);\n this.handlers.focusedRange('value');\n } else {\n this.handlers.compareToggle(!!this.asProps.value?.compare?.length);\n }\n\n const { value, displayedPeriod } = this.asProps;\n const newDisplayedPeriod = value ? getLatestDate(value.value, value.compare) : undefined;\n\n if (visible) {\n if (newDisplayedPeriod && newDisplayedPeriod !== displayedPeriod) {\n this.handlers.displayedPeriod(newDisplayedPeriod);\n } else if (!newDisplayedPeriod) {\n const { displayedPeriod, defaultDisplayedPeriod } = this.props;\n this.handlers.displayedPeriod(displayedPeriod || defaultDisplayedPeriod);\n }\n }\n },\n ],\n highlighted: null,\n compareHighlighted: null,\n preselectedValue: null,\n preselectedCompare: null,\n compareToggle: null,\n focusedRange: null,\n value: [\n null,\n (value) => {\n const dates = [value?.value, value?.compare].flat(2).filter((date) => date?.isValid?.());\n if (dates.length > 0) this.handlers.displayedPeriod(getLatestDate(value));\n },\n ],\n };\n }\n\n handleApplyClick = () => {\n const { value, preselectedValue, preselectedCompare } = this.asProps;\n return this.handleApply(preselectedValue ?? value?.value, preselectedCompare ?? value?.compare);\n };\n\n getApplyProps() {\n const { getI18nText } = this.asProps;\n return {\n getI18nText,\n onClick: this.handleApplyClick,\n ref: this.applyButtonRef,\n };\n }\n\n getResetProps() {\n const { getI18nText } = this.asProps;\n return {\n getI18nText,\n onClick: () => this.handleApply(null, null),\n ref: this.resetButtonRef,\n };\n }\n\n handleApply = (value, compare) => {\n this.handlers.value({ value, compare });\n this.handlers.visible(false);\n };\n\n isDisabled(date) {\n const { disabled } = this.asProps;\n\n return disabled.some(includesDate(dayjs(date), 'date'));\n }\n\n handleKeydownDown = (place) => (e) => {\n const { displayedPeriod, preselectedValue, visible, focusedRange } = this.asProps;\n const { key, target } = e;\n const highlighted =\n focusedRange === 'compare' ? this.asProps.compareHighlighted : this.asProps.highlighted;\n\n if ([' ', 'Enter'].includes(key) && [this.prevButtonRef.current, this.nextButtonRef.current].includes(target)) return;\n\n if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {\n e.preventDefault();\n e.stopPropagation();\n this.handlers.visible(!visible);\n\n setTimeout(() => {\n const popper = this.popperRef.current;\n\n if (popper) {\n popper.focus();\n }\n }, 0);\n }\n\n const day = this.keyDiff[key];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [startPeriod, endPeriod] = next_highlighted;\n const highlightedPeriod = endPeriod || startPeriod;\n\n let displayedPeriodNormalized = displayedPeriod?.getDate();\n let highlightedPeriodNormalized = highlightedPeriod?.getDate();\n if (this.navigateStep === 'month') {\n displayedPeriodNormalized = displayedPeriod?.getMonth();\n highlightedPeriodNormalized = highlightedPeriod?.getMonth();\n }\n if (this.navigateStep === 'year') {\n displayedPeriodNormalized = displayedPeriod?.getYear();\n highlightedPeriodNormalized = highlightedPeriod?.getYear();\n }\n const offset = highlightedPeriodNormalized - displayedPeriodNormalized;\n\n if (offset < 0 || offset > 1) {\n return highlightedPeriod;\n }\n return displayedPeriod;\n };\n\n const isPeriodTarget = this.periodRefs.find((el) => el === target);\n const isResetButtonTarget = target === this.resetButtonRef.current;\n const isApplyButtonTarget = target === this.applyButtonRef.current;\n const areTargetedControls = isPeriodTarget || isResetButtonTarget || isApplyButtonTarget;\n\n if (place === 'popper' &&\n e.key === ' ' &&\n highlighted.length &&\n !areTargetedControls\n ) {\n const highlightedDate = highlighted[1] || highlighted[0];\n\n if (!this.isDisabled(highlightedDate)) {\n this.handleChange(highlightedDate);\n }\n e.preventDefault();\n }\n if (place === 'popper' && e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n return this.handleApplyClick();\n }\n let changedDate = undefined;\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (preselectedValue?.length === 1) {\n next_highlighted = [\n preselectedValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n changedDate = next_highlighted[1];\n } else {\n next_highlighted = [\n dayjs(highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n changedDate = next_highlighted[0];\n }\n if (focusedRange === 'compare') {\n this.handlers.compareHighlighted(next_highlighted);\n } else {\n this.handlers.highlighted(next_highlighted);\n }\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n const highlighted = [displayedPeriod ? displayedPeriod : dayjs().toDate()];\n if (focusedRange === 'compare') {\n this.handlers.compareHighlighted(highlighted);\n } else {\n this.handlers.highlighted(highlighted);\n }\n changedDate = highlighted[0];\n }\n e.preventDefault();\n\n if (changedDate) {\n const formatter = this.keyStep === 'month' ? formatMMYY : formatDDMMYY;\n const formattedDate = formatter(changedDate, this.asProps.locale);\n this.unitRefs[formattedDate]?.focus();\n }\n }\n };\n\n getDefaultPeriods() {\n const { getI18nText } = this.asProps;\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n return [\n {\n children: getI18nText('lastMonth'),\n value: [\n dayjs(today).subtract(1, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last3Months'),\n value: [\n dayjs(today).subtract(2, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last6Months'),\n value: [\n dayjs(today).subtract(5, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n {\n children: getI18nText('last12Months'),\n value: [\n dayjs(today).subtract(11, 'month').startOf('month').toDate(),\n dayjs(today).startOf('month').toDate(),\n ],\n },\n ];\n }\n\n getTitleProps(_props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n triggerFormattingProps = {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n };\n\n getTriggerProps({ placeholder = 'Select date ranges', separator = 'vs.' }) {\n const { locale, visible } = this.asProps;\n const value = this.asProps.value?.value;\n const compare = this.asProps.value?.compare;\n const formattingProps = {\n locale,\n ...this.triggerFormattingProps,\n };\n let children = placeholder;\n if (value?.[0] && value?.[1]) {\n children = shortDateRangeFormat(value, formattingProps);\n }\n if (compare?.[0] && compare?.[1]) {\n children = `${children || ''} ${separator} ${shortDateRangeFormat(compare, formattingProps)}`;\n }\n return {\n children,\n visible,\n onClick: () => this.handlers.visible(!visible),\n onKeyDown: this.handleKeydownDown('trigger'),\n };\n }\n\n getRangeInput() {\n throw new Error('not implemented');\n }\n\n getRangeInputProps() {\n return {\n inputRole: null,\n };\n }\n\n getValueDateRangeProps() {\n const {\n value,\n onDisplayedPeriodChange,\n locale,\n disabled,\n disabledErrorText,\n getI18nText,\n focusedRange,\n preselectedValue,\n animationsDisabled,\n visible,\n } = this.asProps;\n\n return {\n popoverVisible: visible,\n focused: focusedRange === 'value' ? true : undefined,\n value: preselectedValue ?? value?.value,\n onChange: (value) => this.handlers.preselectedValue(value),\n onDisplayedPeriodChange,\n locale,\n disabledDates: disabled,\n disabledErrorText,\n children: this.getRangeInput(),\n getI18nText,\n onFocus: () => {\n this.handlers.focusedRange('value');\n },\n animationsDisabled,\n };\n }\n\n getCompareDateRangeProps() {\n const {\n value,\n onDisplayedPeriodChange,\n locale,\n disabled,\n disabledErrorText,\n getI18nText,\n focusedRange,\n preselectedCompare,\n compareToggle,\n animationsDisabled,\n visible,\n } = this.asProps;\n\n return {\n popoverVisible: visible,\n focused: focusedRange === 'compare' ? true : undefined,\n disabled: !(compareToggle ?? value?.compare?.length),\n value: preselectedCompare ?? value?.compare,\n onChange: (value) => this.handlers.preselectedCompare(value),\n onDisplayedPeriodChange,\n locale,\n disabledDates: disabled,\n children: this.getRangeInput(),\n getI18nText,\n disabledErrorText,\n onFocus: () => {\n this.handlers.focusedRange('compare');\n },\n animationsDisabled,\n };\n }\n\n getCompareToggleProps() {\n const { getI18nText, compareToggle } = this.asProps;\n\n return {\n getI18nText,\n checked: compareToggle,\n onChange: (checked) => {\n if (checked) {\n this.handlers.compareToggle(true);\n this.handlers.focusedRange('compare');\n } else {\n this.handlers.compareToggle(false);\n this.handlers.focusedRange('value');\n this.handlers.preselectedCompare([]);\n }\n },\n };\n }\n\n getCalendarProps(_props, index) {\n const {\n locale,\n displayedPeriod,\n disabled,\n value,\n onCompareHighlightedChange,\n highlighted,\n compareHighlighted,\n onHighlightedChange,\n preselectedCompare,\n preselectedValue,\n focusedRange,\n getI18nText,\n } = this.asProps;\n\n return {\n locale,\n displayedPeriod: dayjs(displayedPeriod)\n .add(index, this.navigateStep)\n .startOf(this.navigateStep)\n .toDate(),\n disabled,\n onChange: this.handleChange,\n highlighted,\n compareHighlighted,\n onCompareHighlightedChange,\n onHighlightedChange,\n range: focusedRange,\n value: preselectedValue ?? value?.value,\n compare: preselectedCompare ?? value?.compare,\n unitRefs: this.unitRefs,\n getI18nText,\n actionsDescribing: index === 0 ? 'range-compare' : null,\n tabIndex: index === 0 ? 0 : -1,\n };\n }\n\n handleChange = (date) => {\n const { focusedRange, preselectedCompare, preselectedValue } = this.asProps;\n let highlighted = [];\n let value = focusedRange === 'compare' ? preselectedCompare : preselectedValue;\n if (Array.isArray(date)) {\n value = date;\n } else if (!value?.length) {\n value = [date];\n highlighted = [date];\n } else if (value?.length >= 2) {\n value = [date];\n highlighted = [date];\n } else if (value?.[0] > date) {\n value = [date, value?.[0]];\n } else {\n value = [value?.[0], date];\n }\n\n if (focusedRange === 'compare') {\n this.handlers.preselectedCompare(value);\n this.handlers.compareHighlighted(highlighted);\n } else {\n this.handlers.preselectedValue(value);\n this.handlers.highlighted(highlighted);\n }\n };\n\n getPopperProps() {\n return {\n p: 0,\n ref: this.popperRef,\n onKeyDown: this.handleKeydownDown('popper'),\n };\n }\n\n render() {\n const { Children, styles, 'aria-label': providedAriaLabel } = this.asProps;\n\n return (\n <>\n {sstyled(styles)(\n <Root\n render={Dropdown}\n use:aria-label={providedAriaLabel}\n __excludeProps={['onChange', 'value']}\n >\n <Children />\n </Root>,\n )}\n </>\n );\n }\n}\n\nfunction Apply(props) {\n const { getI18nText } = props;\n return <Root render={Button} use='primary' children={getI18nText('apply')} />;\n}\n\nfunction Reset(props) {\n const { getI18nText } = props;\n return <Root render={Button} use='tertiary' theme='muted' children={getI18nText('reset')} />;\n}\n\nfunction Trigger(props) {\n const { Root: STrigger, styles } = props;\n return sstyled(styles)(<STrigger render={Dropdown.Trigger} tag={LinkTrigger} />);\n}\n\nfunction CompareToggle(props) {\n const { Root: SCompareToggle, styles, getI18nText } = props;\n return sstyled(styles)(<SCompareToggle render={Checkbox} label={getI18nText('compare')} />);\n}\nfunction Header(props) {\n const { Root: SRangeComparatorHeader, Children, styles } = props;\n return sstyled(styles)(\n <SRangeComparatorHeader render={Flex} gap={4} alignItems='center'>\n <Children />\n </SRangeComparatorHeader>,\n );\n}\nfunction Body(props) {\n const { Root: SBody, Children, styles } = props;\n return sstyled(styles)(\n <SBody render={Flex} gap={4}>\n <Children />\n </SBody>,\n );\n}\n\nfunction Footer(props) {\n const { Root: SFooter, styles, Children } = props;\n return sstyled(styles)(\n <SFooter render={Flex} gap={2}>\n <Children />\n </SFooter>,\n );\n}\n\nexport { Apply, Reset, Trigger, CompareToggle, Body, Footer, Header };\n\nexport default DateRangeComparatorAbstract;\n"],"mappings":"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","ignoreList":[]}
|