@semcore/date-picker 2.5.6 → 2.7.1

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 (57) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/DatePicker.js +8 -4
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangePicker.js +2 -2
  5. package/lib/cjs/DateRangePicker.js.map +1 -1
  6. package/lib/cjs/MonthPicker.js +2 -2
  7. package/lib/cjs/MonthPicker.js.map +1 -1
  8. package/lib/cjs/MonthRangePicker.js +2 -2
  9. package/lib/cjs/MonthRangePicker.js.map +1 -1
  10. package/lib/cjs/components/ButtonTrigger.js +7 -12
  11. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  12. package/lib/cjs/components/Calendar.js +29 -22
  13. package/lib/cjs/components/Calendar.js.map +1 -1
  14. package/lib/cjs/components/PickerAbstract.js +6 -6
  15. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  16. package/lib/cjs/components/RangePickerAbstract.js +6 -6
  17. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  18. package/lib/cjs/components/index.js +16 -13
  19. package/lib/cjs/components/index.js.map +1 -1
  20. package/lib/cjs/index.js +5 -1
  21. package/lib/cjs/utils/cronTabScheduler.js +1 -1
  22. package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
  23. package/lib/cjs/utils/includesDate.js.map +1 -1
  24. package/lib/cjs/utils/shortDateRangeFormat.js +5 -2
  25. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  26. package/lib/es6/DatePicker.js +2 -2
  27. package/lib/es6/DatePicker.js.map +1 -1
  28. package/lib/es6/DateRangePicker.js +2 -2
  29. package/lib/es6/DateRangePicker.js.map +1 -1
  30. package/lib/es6/MonthPicker.js +2 -2
  31. package/lib/es6/MonthPicker.js.map +1 -1
  32. package/lib/es6/MonthRangePicker.js +2 -2
  33. package/lib/es6/MonthRangePicker.js.map +1 -1
  34. package/lib/es6/components/ButtonTrigger.js +2 -9
  35. package/lib/es6/components/ButtonTrigger.js.map +1 -1
  36. package/lib/es6/components/Calendar.js +20 -19
  37. package/lib/es6/components/Calendar.js.map +1 -1
  38. package/lib/es6/components/PickerAbstract.js +6 -6
  39. package/lib/es6/components/PickerAbstract.js.map +1 -1
  40. package/lib/es6/components/RangePickerAbstract.js +6 -6
  41. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  42. package/lib/es6/components/index.js +8 -7
  43. package/lib/es6/components/index.js.map +1 -1
  44. package/lib/es6/utils/cronTabScheduler.js.map +1 -1
  45. package/lib/es6/utils/includesDate.js.map +1 -1
  46. package/lib/es6/utils/shortDateRangeFormat.js +4 -2
  47. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  48. package/package.json +3 -3
  49. package/src/DatePicker.js +1 -3
  50. package/src/DateRangePicker.js +5 -30
  51. package/src/MonthPicker.js +1 -3
  52. package/src/MonthRangePicker.js +9 -32
  53. package/src/components/ButtonTrigger.js +2 -10
  54. package/src/components/Calendar.js +1 -3
  55. package/src/components/PickerAbstract.js +3 -9
  56. package/src/components/RangePickerAbstract.js +5 -18
  57. package/src/components/index.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.js"],"names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","Trigger","Popper","props","SPopper","styles","Header","SHeader","Title","Children","STitle","Prev","defaultProps","children","Next","stylesBtn","Period","period","value","compareMonth","monthOne","monthTwo","isSame","Array","isArray","length","SPeriod","asProps","onChange","periods","onHighlightedChange","onDisplayedPeriodChange","map","i","onClick","onMouseEnter","onMouseLeave","other","getActiveControl","toDate","Date"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport ChevronLeft from '@semcore/icon/lib/ChevronLeft/xs';\nimport ChevronRight from '@semcore/icon/lib/ChevronRight/xs';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ButtonTrigger from './ButtonTrigger';\n\nexport function Trigger() {\n return <Root render={Dropdown.Trigger} tag={ButtonTrigger} />;\n}\n\nexport function Popper(props) {\n const SPopper = Root;\n return sstyled(props.styles)(\n <SPopper render={Dropdown.Popper} role=\"region\" aria-label=\"calendar-container\" />,\n );\n}\n\nexport function Header(props) {\n const SHeader = Root;\n return sstyled(props.styles)(<SHeader render={Box} />);\n}\n\nexport const Title = ({ Children, styles }) => {\n const STitle = Root;\n return sstyled(styles)(\n <STitle render={Box}>\n <Children />\n </STitle>,\n );\n};\n\nexport function Prev() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Prev period\"\n />\n );\n}\n\nPrev.defaultProps = {\n children: <ChevronLeft />,\n};\n\nexport function Next() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Next period\"\n />\n );\n}\n\nNext.defaultProps = {\n children: <ChevronRight />,\n};\n\nconst stylesBtn = sstyled.css`\n SInner {\n justify-content: flex-start;\n }\n`;\n\nexport class Period extends Component {\n getActiveControl = (period = [], value) => {\n function compareMonth(monthOne, monthTwo) {\n return dayjs(monthOne).isSame(dayjs(monthTwo), 'date');\n }\n\n if (!period || !value) return false;\n if (Array.isArray(value) && period.length !== value.length) return false;\n if (Array.isArray(value)) {\n return compareMonth(period[0], value[0]) && compareMonth(period[1], value[1]);\n }\n\n return compareMonth(period[0], value);\n };\n\n render() {\n const SPeriod = Root;\n const {\n styles,\n value,\n onChange,\n periods,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n\n return sstyled(styles)(\n <SPeriod render={Box}>\n {periods.map(({ value: period, onClick, onMouseEnter, onMouseLeave, ...other }, i) => (\n <Button\n use=\"tertiary\"\n theme=\"muted\"\n styles={stylesBtn}\n key={i}\n active={this.getActiveControl(period, value)}\n onClick={callAllEventHandlers(onClick, () => onChange(period))}\n onMouseEnter={callAllEventHandlers(onMouseEnter, () => {\n onHighlightedChange(period);\n onDisplayedPeriodChange(dayjs(period[0]).toDate());\n })}\n onMouseLeave={callAllEventHandlers(onMouseLeave, () => {\n onHighlightedChange([]);\n onDisplayedPeriodChange(value[0] ? dayjs(value[0]).toDate() : new Date());\n })}\n {...other}\n />\n ))}\n </SPeriod>,\n );\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/components/index.js"],"names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","Trigger","Popper","props","SPopper","styles","Header","SHeader","Title","Children","STitle","Prev","defaultProps","children","Next","stylesBtn","Period","period","value","compareMonth","monthOne","monthTwo","isSame","Array","isArray","length","SPeriod","asProps","onChange","periods","onHighlightedChange","onDisplayedPeriodChange","map","i","onClick","onMouseEnter","onMouseLeave","other","getActiveControl","toDate","Date"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport Dropdown from '@semcore/dropdown';\nimport { Box } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport ChevronLeft from '@semcore/icon/ChevronLeft/m';\nimport ChevronRight from '@semcore/icon/ChevronRight/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ButtonTrigger from './ButtonTrigger';\n\nexport function Trigger() {\n return <Root render={Dropdown.Trigger} tag={ButtonTrigger} />;\n}\n\nexport function Popper(props) {\n const SPopper = Root;\n return sstyled(props.styles)(\n <SPopper render={Dropdown.Popper} role=\"region\" aria-label=\"calendar-container\" />,\n );\n}\n\nexport function Header(props) {\n const SHeader = Root;\n return sstyled(props.styles)(<SHeader render={Box} />);\n}\n\nexport const Title = ({ Children, styles }) => {\n const STitle = Root;\n return sstyled(styles)(\n <STitle render={Box}>\n <Children />\n </STitle>,\n );\n};\n\nexport function Prev() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Prev period\"\n />\n );\n}\n\nPrev.defaultProps = {\n children: <ChevronLeft />,\n};\n\nexport function Next() {\n return (\n <Root\n render={Button}\n use=\"tertiary\"\n theme=\"muted\"\n size=\"l\"\n tabIndex={-1}\n aria-label=\"Next period\"\n />\n );\n}\n\nNext.defaultProps = {\n children: <ChevronRight />,\n};\n\nconst stylesBtn = sstyled.css`\n SInner {\n justify-content: flex-start;\n }\n`;\n\nexport class Period extends Component {\n getActiveControl = (period = [], value) => {\n function compareMonth(monthOne, monthTwo) {\n return dayjs(monthOne).isSame(dayjs(monthTwo), 'date');\n }\n\n if (!period || !value) return false;\n if (Array.isArray(value) && period.length !== value.length) return false;\n if (Array.isArray(value)) {\n return compareMonth(period[0], value[0]) && compareMonth(period[1], value[1]);\n }\n\n return compareMonth(period[0], value);\n };\n\n render() {\n const SPeriod = Root;\n const {\n styles,\n value,\n onChange,\n periods,\n onHighlightedChange,\n onDisplayedPeriodChange,\n } = this.asProps;\n\n return sstyled(styles)(\n <SPeriod render={Box}>\n {periods.map(({ value: period, onClick, onMouseEnter, onMouseLeave, ...other }, i) => (\n <Button\n use=\"tertiary\"\n theme=\"muted\"\n styles={stylesBtn}\n key={i}\n active={this.getActiveControl(period, value)}\n onClick={callAllEventHandlers(onClick, () => onChange(period))}\n onMouseEnter={callAllEventHandlers(onMouseEnter, () => {\n onHighlightedChange(period);\n onDisplayedPeriodChange(dayjs(period[0]).toDate());\n })}\n onMouseLeave={callAllEventHandlers(onMouseLeave, () => {\n onHighlightedChange([]);\n onDisplayedPeriodChange(value[0] ? dayjs(value[0]).toDate() : new Date());\n })}\n {...other}\n />\n ))}\n </SPeriod>,\n );\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/cronTabScheduler.js"],"names":["cronUnitToArray","unit","includes","split","start","end","Array","from","length","parseInt","_","idx","isValidSchedule","pattern","isValidUnit","min","max","unitValues","CRON_REG","every","item","intItem","test","isValidMonth","month","isValidWeekDay","weekDay","isValidMonthDay","monthDay","validate","validateFn","msg","console","warn","patternArr","isInPeriod","date","period","dateMethod","monthInPeriod","monthDayInPeriod","weekDayInPeriod","units","testFn","some"],"mappings":"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","sourcesContent":["function cronUnitToArray(unit) {\n if (unit.includes('-')) {\n const [start, end] = unit.split('-');\n return Array.from(\n { length: parseInt(end, 10) - parseInt(start, 10) + 1 },\n (_, idx) => parseInt(start, 10) + idx,\n );\n }\n return unit.split(/[,\\/]/);\n}\n\nexport function isValidSchedule(pattern) {\n if (typeof pattern !== 'string') return false;\n\n function isValidUnit(unit, min, max) {\n const unitValues = cronUnitToArray(unit);\n const CRON_REG = /^\\d+$|^\\*$|^\\*\\/\\d+$/;\n return unitValues.every((item) => {\n const intItem = parseInt(item, 10);\n return !(intItem < min || intItem > max || !CRON_REG.test(item));\n });\n }\n\n function isValidMonth(month) {\n return isValidUnit(month, 1, 12);\n }\n\n function isValidWeekDay(weekDay) {\n return isValidUnit(weekDay, 1, 7);\n }\n\n function isValidMonthDay(monthDay) {\n return isValidUnit(monthDay, 1, 31);\n }\n\n function validate(pattern, validateFn, msg) {\n if (validateFn(pattern)) return true;\n // eslint-disable-next-line no-console\n console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);\n return false;\n }\n\n const patternArr = pattern.split(' ');\n\n if (patternArr.length < 3) return false;\n\n return patternArr.every((pattern, idx) => {\n switch (idx) {\n case 0:\n return validate(pattern, isValidMonthDay, 'day of month');\n case 1:\n return validate(pattern, isValidMonth, 'month');\n case 2:\n return validate(pattern, isValidWeekDay, 'day of week');\n default:\n return false;\n }\n });\n}\n\nexport function isInPeriod(pattern, date) {\n const patternArr = pattern.split(' ');\n\n function isInPeriod(date, period, dateMethod) {\n if (period === '*') return true;\n return date[dateMethod]() === parseInt(period, 10);\n }\n\n function monthInPeriod(date, period) {\n return isInPeriod(date, period, 'getMonth');\n }\n\n function monthDayInPeriod(date, period) {\n return isInPeriod(date, period, 'getDate');\n }\n\n function weekDayInPeriod(date, period) {\n if (period == 7) period = 0;\n return isInPeriod(date, period, 'getDay');\n }\n\n function test(units, date, testFn) {\n return units.some((unit) => testFn(date, unit));\n }\n\n return patternArr.every((unit, idx) => {\n const unitValues = cronUnitToArray(unit);\n switch (idx) {\n case 0:\n return test(unitValues, date, monthDayInPeriod);\n case 1:\n return test(unitValues, date, monthInPeriod);\n case 2:\n return test(unitValues, date, weekDayInPeriod);\n default:\n return false;\n }\n });\n}\n"],"file":"cronTabScheduler.js"}
1
+ {"version":3,"sources":["../../../src/utils/cronTabScheduler.js"],"names":["cronUnitToArray","unit","includes","split","start","end","Array","from","length","parseInt","_","idx","isValidSchedule","pattern","isValidUnit","min","max","unitValues","CRON_REG","every","item","intItem","test","isValidMonth","month","isValidWeekDay","weekDay","isValidMonthDay","monthDay","validate","validateFn","msg","console","warn","patternArr","isInPeriod","date","period","dateMethod","monthInPeriod","monthDayInPeriod","weekDayInPeriod","units","testFn","some"],"mappings":"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","sourcesContent":["function cronUnitToArray(unit) {\n if (unit.includes('-')) {\n const [start, end] = unit.split('-');\n return Array.from(\n { length: parseInt(end, 10) - parseInt(start, 10) + 1 },\n (_, idx) => parseInt(start, 10) + idx,\n );\n }\n return unit.split(/[,\\/]/);\n}\n\nexport function isValidSchedule(pattern) {\n if (typeof pattern !== 'string') return false;\n\n function isValidUnit(unit, min, max) {\n const unitValues = cronUnitToArray(unit);\n const CRON_REG = /^\\d+$|^\\*$|^\\*\\/\\d+$/;\n return unitValues.every((item) => {\n const intItem = parseInt(item, 10);\n return !(intItem < min || intItem > max || !CRON_REG.test(item));\n });\n }\n\n function isValidMonth(month) {\n return isValidUnit(month, 1, 12);\n }\n\n function isValidWeekDay(weekDay) {\n return isValidUnit(weekDay, 1, 7);\n }\n\n function isValidMonthDay(monthDay) {\n return isValidUnit(monthDay, 1, 31);\n }\n\n function validate(pattern, validateFn, msg) {\n if (validateFn(pattern)) return true;\n // eslint-disable-next-line no-console\n console.warn(`DatePicker disabledSchedule: ${msg} format is invalid`);\n return false;\n }\n\n const patternArr = pattern.split(' ');\n\n if (patternArr.length < 3) return false;\n\n return patternArr.every((pattern, idx) => {\n switch (idx) {\n case 0:\n return validate(pattern, isValidMonthDay, 'day of month');\n case 1:\n return validate(pattern, isValidMonth, 'month');\n case 2:\n return validate(pattern, isValidWeekDay, 'day of week');\n default:\n return false;\n }\n });\n}\n\nexport function isInPeriod(pattern, date) {\n const patternArr = pattern.split(' ');\n\n function isInPeriod(date, period, dateMethod) {\n if (period === '*') return true;\n return date[dateMethod]() === parseInt(period, 10);\n }\n\n function monthInPeriod(date, period) {\n return isInPeriod(date, period, 'getMonth');\n }\n\n function monthDayInPeriod(date, period) {\n return isInPeriod(date, period, 'getDate');\n }\n\n function weekDayInPeriod(date, period) {\n if (period == 7) period = 0;\n return isInPeriod(date, period, 'getDay');\n }\n\n function test(units, date, testFn) {\n return units.some((unit) => testFn(date, unit));\n }\n\n return patternArr.every((unit, idx) => {\n const unitValues = cronUnitToArray(unit);\n switch (idx) {\n case 0:\n return test(unitValues, date, monthDayInPeriod);\n case 1:\n return test(unitValues, date, monthInPeriod);\n case 2:\n return test(unitValues, date, weekDayInPeriod);\n default:\n return false;\n }\n });\n}\n"],"file":"cronTabScheduler.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/includesDate.js"],"names":["isInPeriod","isValidSchedule","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","start","end","isBetween","toDate","isSame"],"mappings":";AAAA,SAASA,UAAT,EAAqBC,eAArB,QAA4C,oBAA5C;AAEA,gBAAe,UAACC,IAAD,EAAOC,IAAP;AAAA,SAAgB,UAACC,YAAD,EAAkB;AAC/C,QAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC/B,UAAMG,kBAAkB,GAAG,gBAA3B;;AAD+B,yCAEVH,YAFU;AAAA,UAExBI,KAFwB;AAAA,UAEjBC,GAFiB;;AAG/B,aAAOP,IAAI,CAACQ,SAAL,CAAeF,KAAK,IAAI,CAACD,kBAAzB,EAA6CE,GAAG,IAAIF,kBAApD,EAAwEJ,IAAxE,EAA8E,IAA9E,CAAP;AACD;;AACD,QAAIF,eAAe,CAACG,YAAD,CAAnB,EAAmC;AACjC,aAAOJ,UAAU,CAACI,YAAD,EAAeF,IAAI,CAACS,MAAL,EAAf,CAAjB;AACD;;AACD,WAAOT,IAAI,CAACU,MAAL,CAAYR,YAAZ,EAA0B,MAA1B,CAAP;AACD,GAVc;AAAA,CAAf","sourcesContent":["import { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nexport default (date, unit) => (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const MAX_DATE_TIMESTAMP = 8640000000000000;\n const [start, end] = disabled_day;\n return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, date.toDate());\n }\n return date.isSame(disabled_day, 'date');\n};\n"],"file":"includesDate.js"}
1
+ {"version":3,"sources":["../../../src/utils/includesDate.js"],"names":["isInPeriod","isValidSchedule","date","unit","disabled_day","Array","isArray","MAX_DATE_TIMESTAMP","start","end","isBetween","toDate","isSame"],"mappings":";AAAA,SAASA,UAAT,EAAqBC,eAArB,QAA4C,oBAA5C;AAEA,gBAAe,UAACC,IAAD,EAAOC,IAAP;AAAA,SAAgB,UAACC,YAAD,EAAkB;AAC/C,QAAIC,KAAK,CAACC,OAAN,CAAcF,YAAd,CAAJ,EAAiC;AAC/B,UAAMG,kBAAkB,GAAG,gBAA3B;;AACA,yCAAqBH,YAArB;AAAA,UAAOI,KAAP;AAAA,UAAcC,GAAd;;AACA,aAAOP,IAAI,CAACQ,SAAL,CAAeF,KAAK,IAAI,CAACD,kBAAzB,EAA6CE,GAAG,IAAIF,kBAApD,EAAwEJ,IAAxE,EAA8E,IAA9E,CAAP;AACD;;AACD,QAAIF,eAAe,CAACG,YAAD,CAAnB,EAAmC;AACjC,aAAOJ,UAAU,CAACI,YAAD,EAAeF,IAAI,CAACS,MAAL,EAAf,CAAjB;AACD;;AACD,WAAOT,IAAI,CAACU,MAAL,CAAYR,YAAZ,EAA0B,MAA1B,CAAP;AACD,GAVc;AAAA,CAAf","sourcesContent":["import { isInPeriod, isValidSchedule } from './cronTabScheduler';\n\nexport default (date, unit) => (disabled_day) => {\n if (Array.isArray(disabled_day)) {\n const MAX_DATE_TIMESTAMP = 8640000000000000;\n const [start, end] = disabled_day;\n return date.isBetween(start || -MAX_DATE_TIMESTAMP, end || MAX_DATE_TIMESTAMP, unit, '[]');\n }\n if (isValidSchedule(disabled_day)) {\n return isInPeriod(disabled_day, date.toDate());\n }\n return date.isSame(disabled_day, 'date');\n};\n"],"file":"includesDate.js"}
@@ -1,4 +1,6 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ var _excluded = ["locale"],
3
+ _excluded2 = ["year"];
2
4
  import dayjs from 'dayjs';
3
5
 
4
6
  function getDayJSLocale(locale) {
@@ -12,7 +14,7 @@ function getDayJSLocale(locale) {
12
14
  export default function shortDateRangeFormat(dates, _ref) {
13
15
  var _ref$locale = _ref.locale,
14
16
  locale = _ref$locale === void 0 ? 'en-US' : _ref$locale,
15
- options = _objectWithoutProperties(_ref, ["locale"]);
17
+ options = _objectWithoutProperties(_ref, _excluded);
16
18
 
17
19
  var _Intl$DateTimeFormat = new Intl.DateTimeFormat(locale, options),
18
20
  format = _Intl$DateTimeFormat.format;
@@ -59,7 +61,7 @@ export default function shortDateRangeFormat(dates, _ref) {
59
61
 
60
62
  if (isSimilarYear) {
61
63
  var year = options.year,
62
- newOptions = _objectWithoutProperties(options, ["year"]);
64
+ newOptions = _objectWithoutProperties(options, _excluded2);
63
65
 
64
66
  if (getDayJSLocale(locale) === 'en') {
65
67
  return "".concat(new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[0]), " - ").concat(new Intl.DateTimeFormat(locale, newOptions).format(normalizeDates[1]), ", ").concat(normalizeDates[0].getFullYear());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/shortDateRangeFormat.js"],"names":["dayjs","getDayJSLocale","locale","includes","shortDateRangeFormat","dates","options","Intl","DateTimeFormat","format","normalizeDates","map","date","toDate","monthsYears","month","year","length","isSimilarDay","isSimilarMonth","isSimilarYear","day","getDate","getFullYear","newOptions"],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nfunction getDayJSLocale(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return 'en';\n }\n return 'ru';\n}\n\nexport default function shortDateRangeFormat(dates, { locale = 'en-US', ...options }) {\n const { format } = new Intl.DateTimeFormat(locale, options);\n const normalizeDates = dates.map((date) => dayjs(date).toDate());\n const monthsYears = dates.map((date) => [\n dayjs(date).date(),\n dayjs(date).month(),\n dayjs(date).year(),\n ]);\n\n if (monthsYears.length > 1) {\n const isSimilarDay = monthsYears[0][0] === monthsYears[1][0];\n const isSimilarMonth = monthsYears[0][1] === monthsYears[1][1];\n const isSimilarYear = monthsYears[0][2] === monthsYears[1][2];\n\n if (isSimilarMonth && isSimilarYear && !options.day) {\n return format(normalizeDates[0]);\n }\n if (isSimilarMonth && isSimilarYear) {\n if (getDayJSLocale(locale) === 'en') {\n if (isSimilarDay) {\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()} - ${normalizeDates[1].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n if (isSimilarDay) {\n return `${normalizeDates[0].getDate()} ${new Intl.DateTimeFormat(locale, {\n month: options.month,\n }).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n return `${normalizeDates[0].getDate()} - ${normalizeDates[1].getDate()} ${new Intl.DateTimeFormat(\n locale,\n { month: options.month },\n ).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n\n if (isSimilarYear) {\n const { year, ...newOptions } = options;\n if (getDayJSLocale(locale) === 'en') {\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )} - ${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )} - ${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )} ${normalizeDates[0].getFullYear()}`;\n }\n\n return `${format(normalizeDates[0])} - ${format(normalizeDates[1])}`;\n }\n\n return format(normalizeDates[0]);\n}\n"],"file":"shortDateRangeFormat.js"}
1
+ {"version":3,"sources":["../../../src/utils/shortDateRangeFormat.js"],"names":["dayjs","getDayJSLocale","locale","includes","shortDateRangeFormat","dates","options","Intl","DateTimeFormat","format","normalizeDates","map","date","toDate","monthsYears","month","year","length","isSimilarDay","isSimilarMonth","isSimilarYear","day","getDate","getFullYear","newOptions"],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\n\nfunction getDayJSLocale(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return 'en';\n }\n return 'ru';\n}\n\nexport default function shortDateRangeFormat(dates, { locale = 'en-US', ...options }) {\n const { format } = new Intl.DateTimeFormat(locale, options);\n const normalizeDates = dates.map((date) => dayjs(date).toDate());\n const monthsYears = dates.map((date) => [\n dayjs(date).date(),\n dayjs(date).month(),\n dayjs(date).year(),\n ]);\n\n if (monthsYears.length > 1) {\n const isSimilarDay = monthsYears[0][0] === monthsYears[1][0];\n const isSimilarMonth = monthsYears[0][1] === monthsYears[1][1];\n const isSimilarYear = monthsYears[0][2] === monthsYears[1][2];\n\n if (isSimilarMonth && isSimilarYear && !options.day) {\n return format(normalizeDates[0]);\n }\n if (isSimilarMonth && isSimilarYear) {\n if (getDayJSLocale(locale) === 'en') {\n if (isSimilarDay) {\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, { month: options.month }).format(\n normalizeDates[0],\n )} ${normalizeDates[0].getDate()} - ${normalizeDates[1].getDate()}, ${normalizeDates[0].getFullYear()}`;\n }\n if (isSimilarDay) {\n return `${normalizeDates[0].getDate()} ${new Intl.DateTimeFormat(locale, {\n month: options.month,\n }).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n return `${normalizeDates[0].getDate()} - ${normalizeDates[1].getDate()} ${new Intl.DateTimeFormat(\n locale,\n { month: options.month },\n ).format(normalizeDates[0])} ${normalizeDates[0].getFullYear()}`;\n }\n\n if (isSimilarYear) {\n const { year, ...newOptions } = options;\n if (getDayJSLocale(locale) === 'en') {\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )} - ${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )}, ${normalizeDates[0].getFullYear()}`;\n }\n return `${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[0],\n )} - ${new Intl.DateTimeFormat(locale, newOptions).format(\n normalizeDates[1],\n )} ${normalizeDates[0].getFullYear()}`;\n }\n\n return `${format(normalizeDates[0])} - ${format(normalizeDates[1])}`;\n }\n\n return format(normalizeDates[0]);\n}\n"],"file":"shortDateRangeFormat.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/date-picker",
3
3
  "description": "SEMRush DatePicker Component",
4
- "version": "2.5.6",
4
+ "version": "2.7.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "@semcore/flex-box": "^4",
19
19
  "@semcore/button": "^3",
20
20
  "@semcore/divider": "^2",
21
- "@semcore/icon": "^2",
21
+ "@semcore/icon": "^2.16",
22
22
  "@semcore/dropdown": "^2",
23
23
  "@semcore/typography": "^3",
24
24
  "dayjs": "^1.8"
@@ -28,6 +28,6 @@
28
28
  "react": "16.8 - 17"
29
29
  },
30
30
  "jest": {
31
- "preset": "jest-preset-ui"
31
+ "preset": "@semcore/jest-preset-ui"
32
32
  }
33
33
  }
package/src/DatePicker.js CHANGED
@@ -64,9 +64,7 @@ export class DatePickerRoot extends PickerAbstract {
64
64
  return {
65
65
  ...super.getTitleProps(),
66
66
  children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(
67
- dayjs(displayedPeriod)
68
- .startOf('month')
69
- .toDate(),
67
+ dayjs(displayedPeriod).startOf('month').toDate(),
70
68
  ),
71
69
  };
72
70
  }
@@ -35,48 +35,23 @@ class DateRangePickerRoot extends RangePickerAbstract {
35
35
  return [
36
36
  {
37
37
  children: getI18nText('last2Days'),
38
- value: [
39
- dayjs(today)
40
- .subtract(1, 'day')
41
- .toDate(),
42
- today,
43
- ],
38
+ value: [dayjs(today).subtract(1, 'day').toDate(), today],
44
39
  },
45
40
  {
46
41
  children: getI18nText('lastWeek'),
47
- value: [
48
- dayjs(today)
49
- .subtract(6, 'day')
50
- .toDate(),
51
- today,
52
- ],
42
+ value: [dayjs(today).subtract(6, 'day').toDate(), today],
53
43
  },
54
44
  {
55
45
  children: getI18nText('last2Weeks'),
56
- value: [
57
- dayjs(today)
58
- .subtract(13, 'day')
59
- .toDate(),
60
- today,
61
- ],
46
+ value: [dayjs(today).subtract(13, 'day').toDate(), today],
62
47
  },
63
48
  {
64
49
  children: getI18nText('lastMonth'),
65
- value: [
66
- dayjs(today)
67
- .subtract(1, 'month')
68
- .toDate(),
69
- today,
70
- ],
50
+ value: [dayjs(today).subtract(1, 'month').toDate(), today],
71
51
  },
72
52
  {
73
53
  children: getI18nText('last2Months'),
74
- value: [
75
- dayjs(today)
76
- .subtract(2, 'month')
77
- .toDate(),
78
- today,
79
- ],
54
+ value: [dayjs(today).subtract(2, 'month').toDate(), today],
80
55
  },
81
56
  ];
82
57
  }
@@ -46,9 +46,7 @@ class MonthPickerRoot extends PickerAbstract {
46
46
  return {
47
47
  ...super.getTitleProps(),
48
48
  children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(
49
- dayjs(displayedPeriod)
50
- .startOf('year')
51
- .toDate(),
49
+ dayjs(displayedPeriod).startOf('year').toDate(),
52
50
  ),
53
51
  };
54
52
  }
@@ -36,49 +36,29 @@ class MonthRangePickerRoot extends RangePickerAbstract {
36
36
  {
37
37
  children: getI18nText('lastMonth'),
38
38
  value: [
39
- dayjs(today)
40
- .subtract(1, 'month')
41
- .startOf('month')
42
- .toDate(),
43
- dayjs(today)
44
- .startOf('month')
45
- .toDate(),
39
+ dayjs(today).subtract(1, 'month').startOf('month').toDate(),
40
+ dayjs(today).startOf('month').toDate(),
46
41
  ],
47
42
  },
48
43
  {
49
44
  children: getI18nText('last3Months'),
50
45
  value: [
51
- dayjs(today)
52
- .subtract(2, 'month')
53
- .startOf('month')
54
- .toDate(),
55
- dayjs(today)
56
- .startOf('month')
57
- .toDate(),
46
+ dayjs(today).subtract(2, 'month').startOf('month').toDate(),
47
+ dayjs(today).startOf('month').toDate(),
58
48
  ],
59
49
  },
60
50
  {
61
51
  children: getI18nText('last6Months'),
62
52
  value: [
63
- dayjs(today)
64
- .subtract(5, 'month')
65
- .startOf('month')
66
- .toDate(),
67
- dayjs(today)
68
- .startOf('month')
69
- .toDate(),
53
+ dayjs(today).subtract(5, 'month').startOf('month').toDate(),
54
+ dayjs(today).startOf('month').toDate(),
70
55
  ],
71
56
  },
72
57
  {
73
58
  children: getI18nText('last12Months'),
74
59
  value: [
75
- dayjs(today)
76
- .subtract(11, 'month')
77
- .startOf('month')
78
- .toDate(),
79
- dayjs(today)
80
- .startOf('month')
81
- .toDate(),
60
+ dayjs(today).subtract(11, 'month').startOf('month').toDate(),
61
+ dayjs(today).startOf('month').toDate(),
82
62
  ],
83
63
  },
84
64
  ];
@@ -102,10 +82,7 @@ class MonthRangePickerRoot extends RangePickerAbstract {
102
82
  return {
103
83
  ...super.getTitleProps(props, index),
104
84
  children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(
105
- dayjs(displayedPeriod)
106
- .add(index, this.navigateStep)
107
- .startOf(this.navigateStep)
108
- .toDate(),
85
+ dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),
109
86
  ),
110
87
  };
111
88
  }
@@ -2,21 +2,13 @@ import React, { ComponentProps } from 'react';
2
2
  import BaseTrigger from '@semcore/base-trigger';
3
3
  import { Box } from '@semcore/flex-box';
4
4
  import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
5
- import CalendarXS from '@semcore/icon/lib/Calendar/xs';
6
- import CalendarS from '@semcore/icon/lib/Calendar/s';
5
+ import Calendar from '@semcore/icon/Calendar/m';
7
6
  import createComponent, { Root } from '@semcore/core';
8
7
 
9
- const MAP_SIZE_TO_CALENDAR_SIZE = {
10
- m: CalendarXS,
11
- l: CalendarS,
12
- xl: CalendarS,
13
- };
14
-
15
8
  const ButtonTriggerRoot = ({ Children, size }) => {
16
- const Icon = MAP_SIZE_TO_CALENDAR_SIZE[size || 'm'];
17
9
  return (
18
10
  <Root render={BaseTrigger}>
19
- <ButtonTrigger.Addon tag={Icon} />
11
+ <ButtonTrigger.Addon tag={Calendar} />
20
12
  {addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon)}
21
13
  </Root>
22
14
  );
@@ -37,9 +37,7 @@ class CalendarWeekDaysRoot extends Component {
37
37
  getDaysByWeek() {
38
38
  const { locale } = this.asProps;
39
39
 
40
- let date = dayjs()
41
- .locale(locale, getDayJSLocaleParams(locale))
42
- .startOf('week');
40
+ let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');
43
41
  return range(7, () => {
44
42
  const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());
45
43
  date = date.add(1, 'day');
@@ -42,15 +42,11 @@ class PickerAbstract extends Component {
42
42
  static enhance = [i18nEnhance()];
43
43
 
44
44
  static add = (date, amount, unit) => {
45
- return dayjs(date)
46
- .add(amount, unit)
47
- .toDate();
45
+ return dayjs(date).add(amount, unit).toDate();
48
46
  };
49
47
 
50
48
  static subtract = (date, amount, unit) => {
51
- return dayjs(date)
52
- .subtract(amount, unit)
53
- .toDate();
49
+ return dayjs(date).subtract(amount, unit).toDate();
54
50
  };
55
51
 
56
52
  navigateStep;
@@ -84,9 +80,7 @@ class PickerAbstract extends Component {
84
80
  navigateView = (direction) => {
85
81
  const { displayedPeriod } = this.asProps;
86
82
  const action = direction >= 1 ? 'add' : 'subtract';
87
- const date = dayjs(displayedPeriod)
88
- [action](1, this.navigateStep)
89
- .toDate();
83
+ const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();
90
84
  this.handlers.displayedPeriod(date);
91
85
  };
92
86
 
@@ -51,15 +51,11 @@ class RangePickerAbstract extends Component {
51
51
  static enhance = [i18nEnhance()];
52
52
 
53
53
  static add = (date, amount, unit) => {
54
- return dayjs(date)
55
- .add(amount, unit)
56
- .toDate();
54
+ return dayjs(date).add(amount, unit).toDate();
57
55
  };
58
56
 
59
57
  static subtract = (date, amount, unit) => {
60
- return dayjs(date)
61
- .subtract(amount, unit)
62
- .toDate();
58
+ return dayjs(date).subtract(amount, unit).toDate();
63
59
  };
64
60
 
65
61
  navigateStep;
@@ -100,9 +96,7 @@ class RangePickerAbstract extends Component {
100
96
  navigateView = (direction) => {
101
97
  const { displayedPeriod } = this.asProps;
102
98
  const action = direction >= 1 ? 'add' : 'subtract';
103
- const date = dayjs(displayedPeriod)
104
- [action](1, this.navigateStep)
105
- .toDate();
99
+ const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();
106
100
  this.handlers.displayedPeriod(date);
107
101
  };
108
102
 
@@ -145,11 +139,7 @@ class RangePickerAbstract extends Component {
145
139
  .toDate(),
146
140
  ];
147
141
  } else {
148
- next_highlighted = [
149
- dayjs(highlighted[0])
150
- .add(day, this.keyStep)
151
- .toDate(),
152
- ];
142
+ next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];
153
143
  }
154
144
  this.handlers.highlighted(next_highlighted);
155
145
  this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));
@@ -284,10 +274,7 @@ class RangePickerAbstract extends Component {
284
274
  const { locale, displayedPeriod } = this.asProps;
285
275
  return {
286
276
  children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(
287
- dayjs(displayedPeriod)
288
- .add(index, this.navigateStep)
289
- .startOf(this.navigateStep)
290
- .toDate(),
277
+ dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),
291
278
  ),
292
279
  };
293
280
  }
@@ -4,8 +4,8 @@ import { Component, Root, sstyled } from '@semcore/core';
4
4
  import Dropdown from '@semcore/dropdown';
5
5
  import { Box } from '@semcore/flex-box';
6
6
  import Button from '@semcore/button';
7
- import ChevronLeft from '@semcore/icon/lib/ChevronLeft/xs';
8
- import ChevronRight from '@semcore/icon/lib/ChevronRight/xs';
7
+ import ChevronLeft from '@semcore/icon/ChevronLeft/m';
8
+ import ChevronRight from '@semcore/icon/ChevronRight/m';
9
9
  import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
10
10
  import ButtonTrigger from './ButtonTrigger';
11
11