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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/DatePicker.js +116 -139
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangeComparator.js +144 -149
  5. package/lib/cjs/DateRangeComparator.js.map +1 -1
  6. package/lib/cjs/DateRangePicker.js +86 -101
  7. package/lib/cjs/DateRangePicker.js.map +1 -1
  8. package/lib/cjs/MonthDateRangeComparator.js +173 -180
  9. package/lib/cjs/MonthDateRangeComparator.js.map +1 -1
  10. package/lib/cjs/MonthPicker.js +70 -87
  11. package/lib/cjs/MonthPicker.js.map +1 -1
  12. package/lib/cjs/MonthRangePicker.js +96 -111
  13. package/lib/cjs/MonthRangePicker.js.map +1 -1
  14. package/lib/cjs/components/ButtonTrigger.js +12 -11
  15. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  16. package/lib/cjs/components/Calendar.js +409 -466
  17. package/lib/cjs/components/Calendar.js.map +1 -1
  18. package/lib/cjs/components/DateRangeComparatorAbstract.js +574 -626
  19. package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  20. package/lib/cjs/components/InputTrigger.js +585 -677
  21. package/lib/cjs/components/InputTrigger.js.map +1 -1
  22. package/lib/cjs/components/PickerAbstract.js +254 -273
  23. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  24. package/lib/cjs/components/RangePickerAbstract.js +407 -439
  25. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  26. package/lib/cjs/components/index.js +92 -102
  27. package/lib/cjs/components/index.js.map +1 -1
  28. package/lib/cjs/index.d.js.map +1 -1
  29. package/lib/cjs/index.js +15 -15
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +17 -17
  32. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  33. package/lib/cjs/utils/cronTabScheduler.js +13 -22
  34. package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
  35. package/lib/cjs/utils/datesIntersects.js +12 -19
  36. package/lib/cjs/utils/datesIntersects.js.map +1 -1
  37. package/lib/cjs/utils/formatDate.js +11 -9
  38. package/lib/cjs/utils/formatDate.js.map +1 -1
  39. package/lib/cjs/utils/includesDate.js +11 -16
  40. package/lib/cjs/utils/includesDate.js.map +1 -1
  41. package/lib/cjs/utils/isBetweenPlugin.js +6 -6
  42. package/lib/cjs/utils/isBetweenPlugin.js.map +1 -1
  43. package/lib/cjs/utils/shortDateRangeFormat.js +29 -33
  44. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  45. package/lib/es6/DatePicker.js +117 -141
  46. package/lib/es6/DatePicker.js.map +1 -1
  47. package/lib/es6/DateRangeComparator.js +130 -135
  48. package/lib/es6/DateRangeComparator.js.map +1 -1
  49. package/lib/es6/DateRangePicker.js +87 -102
  50. package/lib/es6/DateRangePicker.js.map +1 -1
  51. package/lib/es6/MonthDateRangeComparator.js +159 -166
  52. package/lib/es6/MonthDateRangeComparator.js.map +1 -1
  53. package/lib/es6/MonthPicker.js +72 -89
  54. package/lib/es6/MonthPicker.js.map +1 -1
  55. package/lib/es6/MonthRangePicker.js +97 -112
  56. package/lib/es6/MonthRangePicker.js.map +1 -1
  57. package/lib/es6/components/ButtonTrigger.js +4 -3
  58. package/lib/es6/components/ButtonTrigger.js.map +1 -1
  59. package/lib/es6/components/Calendar.js +400 -457
  60. package/lib/es6/components/Calendar.js.map +1 -1
  61. package/lib/es6/components/DateRangeComparatorAbstract.js +552 -604
  62. package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  63. package/lib/es6/components/InputTrigger.js +568 -660
  64. package/lib/es6/components/InputTrigger.js.map +1 -1
  65. package/lib/es6/components/PickerAbstract.js +246 -265
  66. package/lib/es6/components/PickerAbstract.js.map +1 -1
  67. package/lib/es6/components/RangePickerAbstract.js +397 -429
  68. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  69. package/lib/es6/components/index.js +74 -85
  70. package/lib/es6/components/index.js.map +1 -1
  71. package/lib/es6/index.d.js.map +1 -1
  72. package/lib/es6/translations/__intergalactic-dynamic-locales.js +16 -16
  73. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  74. package/lib/es6/utils/cronTabScheduler.js +13 -21
  75. package/lib/es6/utils/cronTabScheduler.js.map +1 -1
  76. package/lib/es6/utils/datesIntersects.js +10 -18
  77. package/lib/es6/utils/datesIntersects.js.map +1 -1
  78. package/lib/es6/utils/formatDate.js +6 -6
  79. package/lib/es6/utils/formatDate.js.map +1 -1
  80. package/lib/es6/utils/includesDate.js +10 -15
  81. package/lib/es6/utils/includesDate.js.map +1 -1
  82. package/lib/es6/utils/isBetweenPlugin.js +4 -4
  83. package/lib/es6/utils/isBetweenPlugin.js.map +1 -1
  84. package/lib/es6/utils/shortDateRangeFormat.js +27 -31
  85. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  86. package/lib/esm/DatePicker.mjs +109 -114
  87. package/lib/esm/DateRangeComparator.mjs +112 -105
  88. package/lib/esm/DateRangePicker.mjs +76 -80
  89. package/lib/esm/MonthDateRangeComparator.mjs +141 -134
  90. package/lib/esm/MonthPicker.mjs +65 -70
  91. package/lib/esm/MonthRangePicker.mjs +86 -88
  92. package/lib/esm/components/ButtonTrigger.mjs +4 -3
  93. package/lib/esm/components/Calendar.mjs +397 -423
  94. package/lib/esm/components/DateRangeComparatorAbstract.mjs +559 -516
  95. package/lib/esm/components/InputTrigger.mjs +550 -557
  96. package/lib/esm/components/PickerAbstract.mjs +249 -244
  97. package/lib/esm/components/RangePickerAbstract.mjs +400 -384
  98. package/lib/esm/components/index.mjs +73 -69
  99. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  100. package/lib/esm/utils/cronTabScheduler.mjs +13 -18
  101. package/lib/esm/utils/datesIntersects.mjs +10 -14
  102. package/lib/esm/utils/formatDate.mjs +6 -6
  103. package/lib/esm/utils/includesDate.mjs +10 -13
  104. package/lib/esm/utils/isBetweenPlugin.mjs +4 -4
  105. package/lib/esm/utils/shortDateRangeFormat.mjs +27 -27
  106. package/lib/types/index.d.ts +2 -44
  107. package/package.json +16 -17
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeComparatorAbstract.js","names":["LinkTrigger","Button","Checkbox","Component","Root","sstyled","i18nEnhance","Dropdown","Flex","dayjs","React","style","_sstyled","insert","localizedMessages","formatDDMMYY","formatMMYY","includesDate","shortDateRangeFormat","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","_classCallCheck","_len2","args","_key2","_callSuper","concat","_defineProperty","createRef","direction","displayedPeriod","asProps","action","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","_slicedToArray","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","formattedDate","locale","unitRefs","month","year","_value","_value2","_value3","_this$asProps3","isArray","_value4","_value5","_inherits","_createClass","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","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","_objectSpread","triggerFormattingProps","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","_assignProps","cn","defaultProps","_ref1","primaryRange","defaultPrimaryRange","secondaryRange","defaultSecondaryRange","i18n","defaultValue","defaultHighlighted","defaultCompareHighlighted","defaultVisible","defaultPreselectedValue","defaultPreselectedCompare","defaultCompareToggle","defaultFocusedRange","size","amount","unit","Apply","_ref2","arguments[0]","_assignProps2","Reset","_ref3","_assignProps3","Trigger","_ref5","STrigger","CompareToggle","_ref6","SCompareToggle","Header","_ref7","SRangeComparatorHeader","Body","_ref8","SBody","Footer","_ref9","SFooter"],"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":["Flex","LinkTrigger","Button","Checkbox","Component","Root","sstyled","i18nEnhance","Dropdown","dayjs","React","style","_sstyled","insert","localizedMessages","formatDDMMYY","formatMMYY","includesDate","shortDateRangeFormat","INTERACTION_TAGS","INTERACTION_KEYS","defaultDisplayedPeriod","Date","setHours","getLatestDate","dateRanges","allDates","flat","filter","Boolean","date","Number","isNaN","getTime","length","sort","a","b","latestDate","DateRangeComparatorAbstract","constructor","args","_defineProperty","createRef","direction","displayedPeriod","asProps","action","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","formattedDate","locale","unitRefs","month","year","Array","isArray","defaultProps","primaryRange","defaultPrimaryRange","secondaryRange","defaultSecondaryRange","i18n","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","today","children","subtract","startOf","getTitleProps","_props","Intl","DateTimeFormat","format","getTriggerProps","placeholder","separator","formattingProps","triggerFormattingProps","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","_assignProps","cn","amount","unit","Apply","_ref2","arguments[0]","_assignProps2","Reset","_ref3","_assignProps3","Trigger","_ref5","STrigger","CompareToggle","_ref6","SCompareToggle","Header","_ref7","SRangeComparatorHeader","Body","_ref8","SBody","Footer","_ref9","SFooter"],"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":[]}