@mirai/ui 1.0.27 → 1.0.28
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.
|
@@ -27,8 +27,8 @@ var _Calendar2 = require("./Calendar.Weekdays");
|
|
|
27
27
|
|
|
28
28
|
var _helpers2 = require("./helpers");
|
|
29
29
|
|
|
30
|
-
var _excluded = ["disabledPast", "format", "from", "
|
|
31
|
-
_excluded2 = ["className"];
|
|
30
|
+
var _excluded = ["disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "onChange", "onFocus", "onScroll"],
|
|
31
|
+
_excluded2 = ["className", "months"];
|
|
32
32
|
|
|
33
33
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
34
34
|
|
|
@@ -66,8 +66,6 @@ var Calendar = function Calendar(_ref) {
|
|
|
66
66
|
_ref$format = _ref.format,
|
|
67
67
|
format = _ref$format === void 0 ? 'YYYY/MM/DD' : _ref$format,
|
|
68
68
|
from = _ref.from,
|
|
69
|
-
_ref$months = _ref.months,
|
|
70
|
-
months = _ref$months === void 0 ? 2 : _ref$months,
|
|
71
69
|
locale = _ref.locale,
|
|
72
70
|
_ref$range = _ref.range,
|
|
73
71
|
range = _ref$range === void 0 ? false : _ref$range,
|
|
@@ -134,14 +132,16 @@ var Calendar = function Calendar(_ref) {
|
|
|
134
132
|
setInstance((0, _helpers2.getFirstDateOfMonth)(new Date(instance.getFullYear(), instance.getMonth() + month)));
|
|
135
133
|
};
|
|
136
134
|
|
|
137
|
-
var instanceTS = instance.getTime();
|
|
138
|
-
var todayMonthTS = (0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)()).getTime();
|
|
139
|
-
var disabledPrevious = disabledPast && instanceTS <= todayMonthTS || from && instanceTS <= (0, _helpers2.getFirstDateOfMonth)((0, _locale.parseDate)(from, format)).getTime();
|
|
140
|
-
var disabledNext = to && instanceTS >= (0, _helpers2.getFirstDateOfMonth)((0, _locale.parseDate)(to, format)).getTime();
|
|
141
|
-
|
|
142
135
|
var className = others.className,
|
|
136
|
+
_others$months = others.months,
|
|
137
|
+
months = _others$months === void 0 ? 2 : _others$months,
|
|
143
138
|
props = _objectWithoutProperties(others, _excluded2);
|
|
144
139
|
|
|
140
|
+
var today = (0, _helpers2.getToday)();
|
|
141
|
+
var instanceTS = instance.getTime();
|
|
142
|
+
var todayMonthTS = (0, _helpers2.getFirstDateOfMonth)(today).getTime();
|
|
143
|
+
var disabledPrevious = disabledPast && instanceTS <= todayMonthTS || from && instanceTS <= (0, _helpers2.getFirstDateOfMonth)((0, _locale.parseDate)(from, format)).getTime();
|
|
144
|
+
var disabledNext = to && (0, _locale.parseDate)(to, format).getTime() <= (0, _helpers2.getFirstDateOfMonth)((0, _locale.dateCalc)(instance, months, 'months')).getTime();
|
|
145
145
|
props = _objectSpread(_objectSpread({}, props), {}, {
|
|
146
146
|
disabledPast: disabledPast,
|
|
147
147
|
focus: focus,
|
|
@@ -149,11 +149,12 @@ var Calendar = function Calendar(_ref) {
|
|
|
149
149
|
from: from ? (0, _locale.parseDate)(from, format) : undefined,
|
|
150
150
|
locale: locale,
|
|
151
151
|
range: range,
|
|
152
|
-
to: range && rangeMaxDays && selected[0] ? (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
|
|
152
|
+
to: range && rangeMaxDays && selected[0] && !selected[1] && (!to || (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') < (0, _locale.parseDate)(to, format)) ? (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
|
|
153
153
|
selected: selected,
|
|
154
154
|
onChange: handleChange,
|
|
155
155
|
onFocus: isDesktop ? setFocus : undefined
|
|
156
156
|
});
|
|
157
|
+
if (!isDesktop && to) months = (0, _locale.dateDiff)(today, (0, _locale.parseDate)(to, format)).months;
|
|
157
158
|
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
158
159
|
"data-testid": others['data-testid'],
|
|
159
160
|
className: (0, _helpers.styles)(_CalendarModule.default.container, className)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","months","locale","range","rangeMaxDays","to","value","onChange","onFocus","onScroll","others","isDesktop","focus","setFocus","instance","setInstance","undefined","selected","setSelected","date","length","handleChange","next","getTime","handleMonth","month","Date","getFullYear","getMonth","instanceTS","todayMonthTS","disabledPrevious","disabledNext","className","props","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","disabledWeekends","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getToday } from './helpers';\n\nexport const Calendar = ({\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n months = 2,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onScroll,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [selected, setSelected] = useState(range ? [] : undefined);\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && selected.length === 0) || !range) setInstance(getFirstDateOfMonth(date));\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, range, value]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month)));\n };\n\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(getToday()).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext = to && instanceTS >= getFirstDateOfMonth(parseDate(to, format)).getTime();\n\n let { className, ...props } = others;\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n to:\n range && rangeMaxDays && selected[0]\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n selected,\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n return (\n <View data-testid={others['data-testid']} className={styles(style.container, className)}>\n {!isDesktop && <Weekdays locale={locale} />}\n <ScrollView horizontal={isDesktop} className={style.scrollview} onScroll={onScroll}>\n {Array.from({ length: months }, (empty, index) => (\n <Month\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)}\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n disabledWeekends: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onScroll","others","isDesktop","focus","setFocus","instance","setInstance","undefined","selected","setSelected","date","length","handleChange","next","getTime","handleMonth","month","Date","getFullYear","getMonth","className","months","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","disabledWeekends","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getToday } from './helpers';\n\nexport const Calendar = ({\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onScroll,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [selected, setSelected] = useState(range ? [] : undefined);\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && selected.length === 0) || !range) setInstance(getFirstDateOfMonth(date));\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, range, value]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month)));\n };\n\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n selected,\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (!isDesktop && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View data-testid={others['data-testid']} className={styles(style.container, className)}>\n {!isDesktop && <Weekdays locale={locale} />}\n <ScrollView horizontal={isDesktop} className={style.scrollview} onScroll={onScroll}>\n {Array.from({ length: months }, (empty, index) => (\n <Month\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)}\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n disabledWeekends: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|