@mirai/ui 1.0.202 → 1.0.203

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.
@@ -16,7 +16,7 @@ var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
16
16
  var _Calendar2 = require("./Calendar.Week");
17
17
  var _Calendar3 = require("./Calendar.Weekdays");
18
18
  var _helpers2 = require("./helpers");
19
- var _excluded = ["focus", "instance", "selected", "disabledPast", "format", "from", "locale", "range", "timestamp", "to", "onChange", "onFocus", "onNext", "onPrevious"];
19
+ var _excluded = ["disabledPast", "focus", "format", "from", "instance", "locale", "range", "selected", "timestamp", "to", "onChange", "onFocus", "onNext", "onPrevious"];
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -27,16 +27,16 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
27
27
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
29
  var LEFT = _theme.DIRECTION_TYPE.LEFT;
30
- var Month = function Month(_ref) {
31
- var focus = _ref.focus,
32
- instance = _ref.instance,
33
- selected = _ref.selected,
34
- disabledPast = _ref.disabledPast,
30
+ var Month = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
31
+ var disabledPast = _ref.disabledPast,
32
+ focus = _ref.focus,
35
33
  format = _ref.format,
36
34
  from = _ref.from,
35
+ instance = _ref.instance,
37
36
  locale = _ref.locale,
38
37
  _ref$range = _ref.range,
39
38
  range = _ref$range === void 0 ? false : _ref$range,
39
+ selected = _ref.selected,
40
40
  timestamp = _ref.timestamp,
41
41
  to = _ref.to,
42
42
  _ref$onChange = _ref.onChange,
@@ -52,6 +52,7 @@ var Month = function Month(_ref) {
52
52
  var weekNumber = (0, _helpers2.getWeekNumber)(instance);
53
53
  var testId = others.testId;
54
54
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
55
+ ref: ref,
55
56
  className: (0, _helpers.styles)(_CalendarModule.default.month, others.className)
56
57
  }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
57
58
  forceRow: true,
@@ -93,7 +94,7 @@ var Month = function Month(_ref) {
93
94
  onPress: onChange
94
95
  }));
95
96
  }));
96
- };
97
+ });
97
98
  exports.Month = Month;
98
99
  Month.displayName = 'Component:Calendar:Month';
99
100
  Month.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.Month.js","names":["LEFT","DIRECTION_TYPE","Month","focus","instance","selected","disabledPast","format","from","locale","range","timestamp","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isMobile","direction","Theme","getDirection","weekNumber","getWeekNumber","testId","styles","style","month","className","header","undefined","ICON","RIGHT","title","getHeader","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","number","tooltips","value","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Month.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { VISIBLE_WEEKS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { Week } from './Calendar.Week';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getHeader, getWeekNumber } from './helpers';\n\nconst { LEFT } = DIRECTION_TYPE;\n\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast,\n format,\n from,\n locale,\n range = false,\n timestamp,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const direction = Theme.getDirection();\n const weekNumber = getWeekNumber(instance);\n const { testId } = others;\n\n return (\n <View className={styles(style.month, others.className)}>\n <View forceRow className={style.header}>\n {onPrevious && (\n <Pressable onPress={onPrevious} testId={testId ? `${testId}-previous` : undefined}>\n <Icon value={direction === LEFT ? ICON.LEFT : ICON.RIGHT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable onPress={onNext} testId={testId ? `${testId}-next` : undefined}>\n <Icon value={direction === LEFT ? ICON.RIGHT : ICON.LEFT} />\n </Pressable>\n )}\n </View>\n\n {!isMobile && <Weekdays locale={locale} />}\n\n {VISIBLE_WEEKS.map((week) => (\n <Week\n {...{\n ...others,\n disabledPast,\n focus,\n format,\n from,\n locale,\n range,\n selected,\n timestamp,\n to,\n }}\n key={week}\n month={instance.getMonth()}\n number={weekNumber + week}\n year={instance.getFullYear()}\n onFocus={onFocus}\n onPress={onChange}\n />\n ))}\n </View>\n );\n};\n\nMonth.displayName = 'Component:Calendar:Month';\n\nMonth.propTypes = {\n captions: PropTypes.shape({}),\n focus: PropTypes.any,\n instance: PropTypes.any,\n selected: PropTypes.any,\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\n timestamp: PropTypes.number,\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.Month.js","names":["LEFT","DIRECTION_TYPE","Month","React","forwardRef","ref","disabledPast","focus","format","from","instance","locale","range","selected","timestamp","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isMobile","direction","Theme","getDirection","weekNumber","getWeekNumber","testId","styles","style","month","className","header","undefined","ICON","RIGHT","title","getHeader","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","number","tooltips","value","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Month.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { VISIBLE_WEEKS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { Week } from './Calendar.Week';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getHeader, getWeekNumber } from './helpers';\n\nconst { LEFT } = DIRECTION_TYPE;\n\nexport const Month = React.forwardRef(\n (\n {\n disabledPast,\n focus,\n format,\n from,\n instance,\n locale,\n range = false,\n selected,\n timestamp,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n },\n ref,\n ) => {\n const { isMobile } = useDevice();\n\n const direction = Theme.getDirection();\n const weekNumber = getWeekNumber(instance);\n const { testId } = others;\n\n return (\n <View ref={ref} className={styles(style.month, others.className)}>\n <View forceRow className={style.header}>\n {onPrevious && (\n <Pressable onPress={onPrevious} testId={testId ? `${testId}-previous` : undefined}>\n <Icon value={direction === LEFT ? ICON.LEFT : ICON.RIGHT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable onPress={onNext} testId={testId ? `${testId}-next` : undefined}>\n <Icon value={direction === LEFT ? ICON.RIGHT : ICON.LEFT} />\n </Pressable>\n )}\n </View>\n\n {!isMobile && <Weekdays locale={locale} />}\n\n {VISIBLE_WEEKS.map((week) => (\n <Week\n {...{\n ...others,\n disabledPast,\n focus,\n format,\n from,\n locale,\n range,\n selected,\n timestamp,\n to,\n }}\n key={week}\n month={instance.getMonth()}\n number={weekNumber + week}\n year={instance.getFullYear()}\n onFocus={onFocus}\n onPress={onChange}\n />\n ))}\n </View>\n );\n },\n);\n\nMonth.displayName = 'Component:Calendar:Month';\n\nMonth.propTypes = {\n captions: PropTypes.shape({}),\n focus: PropTypes.any,\n instance: PropTypes.any,\n selected: PropTypes.any,\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\n timestamp: PropTypes.number,\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\n"],"mappings":"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"}
@@ -61,28 +61,39 @@ var Calendar = function Calendar(_ref) {
61
61
  isMobile = _useDevice.isMobile;
62
62
  var _useState = (0, _react.useState)(),
63
63
  _useState2 = _slicedToArray(_useState, 2),
64
- focus = _useState2[0],
65
- setFocus = _useState2[1];
66
- var _useState3 = (0, _react.useState)((0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)())),
64
+ behavior = _useState2[0],
65
+ setBehavior = _useState2[1];
66
+ var _useState3 = (0, _react.useState)(),
67
67
  _useState4 = _slicedToArray(_useState3, 2),
68
- instance = _useState4[0],
69
- setInstance = _useState4[1];
70
- var _useState5 = (0, _react.useState)(),
68
+ focus = _useState4[0],
69
+ setFocus = _useState4[1];
70
+ var _useState5 = (0, _react.useState)((0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)())),
71
71
  _useState6 = _slicedToArray(_useState5, 2),
72
- scrollTo = _useState6[0],
73
- setScrollTo = _useState6[1];
72
+ instance = _useState6[0],
73
+ setInstance = _useState6[1];
74
74
  var _useState7 = (0, _react.useState)(),
75
75
  _useState8 = _slicedToArray(_useState7, 2),
76
- scrolling = _useState8[0],
77
- setScrolling = _useState8[1];
78
- var _useState9 = (0, _react.useState)(range ? [] : undefined),
76
+ scrollTo = _useState8[0],
77
+ setScrollTo = _useState8[1];
78
+ var _useState9 = (0, _react.useState)(),
79
79
  _useState10 = _slicedToArray(_useState9, 2),
80
- selected = _useState10[0],
81
- setSelected = _useState10[1];
82
- var _useState11 = (0, _react.useState)(),
80
+ scrolling = _useState10[0],
81
+ setScrolling = _useState10[1];
82
+ var _useState11 = (0, _react.useState)(range ? [] : undefined),
83
83
  _useState12 = _slicedToArray(_useState11, 2),
84
- timestamp = _useState12[0],
85
- setTimestamp = _useState12[1];
84
+ selected = _useState12[0],
85
+ setSelected = _useState12[1];
86
+ var _useState13 = (0, _react.useState)(),
87
+ _useState14 = _slicedToArray(_useState13, 2),
88
+ timestamp = _useState14[0],
89
+ setTimestamp = _useState14[1];
90
+ var el = (0, _react.useRef)();
91
+ (0, _react.useEffect)(function () {
92
+ if (!isMobile || !(el !== null && el !== void 0 && el.current)) return;
93
+ setBehavior('auto');
94
+ setScrollTo(el.current.offsetTop);
95
+ // eslint-disable-next-line react-hooks/exhaustive-deps
96
+ }, [el === null || el === void 0 ? void 0 : el.current]);
86
97
  (0, _react.useEffect)(function () {
87
98
  var date = range ? (value === null || value === void 0 ? void 0 : value.length) > 0 ? value[0] : undefined : value;
88
99
  if (from && date) {
@@ -139,6 +150,7 @@ var Calendar = function Calendar(_ref) {
139
150
  var handleScroll = function handleScroll(event) {
140
151
  if (isMobile) setScrolling(true);
141
152
  onScroll(event);
153
+ setBehavior();
142
154
  setTimestamp(Date.now());
143
155
  };
144
156
  var testId = others.testId,
@@ -174,6 +186,7 @@ var Calendar = function Calendar(_ref) {
174
186
  }, isMobile && /*#__PURE__*/_react.default.createElement(_Calendar2.Weekdays, {
175
187
  locale: locale
176
188
  }), /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, {
189
+ behavior: behavior,
177
190
  horizontal: !isMobile,
178
191
  scrollTo: scrollTo,
179
192
  className: _CalendarModule.default.scrollview,
@@ -181,18 +194,30 @@ var Calendar = function Calendar(_ref) {
181
194
  onScroll: handleScroll
182
195
  }, Array.from({
183
196
  length: months
184
- }, function (empty, index) {
197
+ }, function (_, index) {
185
198
  return /*#__PURE__*/_react.default.createElement(_Calendar.Month, _extends({
186
- testId: testId,
199
+ instance: new Date(instance.getFullYear(), instance.getMonth() + index, 1) // ! TODO: calc with mirai/locale
200
+ ,
187
201
  key: index,
202
+ ref: (0, _helpers2.getMonthRef)({
203
+ autoScroll: autoScroll,
204
+ el: el,
205
+ index: index,
206
+ instance: instance,
207
+ isMobile: isMobile,
208
+ range: range,
209
+ selected: selected,
210
+ value: value
211
+ }),
188
212
  onNext: !isMobile && index === months - 1 && !disabledNext ? function () {
189
213
  return handleMonth(months);
190
214
  } : undefined,
191
215
  onPrevious: !isMobile && index === 0 && !disabledPrevious ? function () {
192
216
  return handleMonth(-months);
193
- } : undefined,
194
- instance: new Date(instance.getFullYear(), instance.getMonth() + index, 1) // ! TODO: calc with mirai/locale
195
- }, props));
217
+ } : undefined
218
+ }, props, {
219
+ testId: testId
220
+ }));
196
221
  })));
197
222
  };
198
223
  exports.Calendar = Calendar;
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","length","dateFrom","parseDate","dateDiff","days","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","role","tooltips","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","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, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\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 onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\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, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\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(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\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 role: others.role || 'calendar',\n selected,\n timestamp,\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 tooltips: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, className)} testId={testId}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={!isMobile}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n testId={testId}\n key={index}\n onNext={!isMobile && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!isMobile && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: 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 tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","el","useRef","useEffect","current","offsetTop","date","length","dateFrom","parseDate","dateDiff","days","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","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, useRef, 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, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\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 onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n\n const el = useRef();\n\n useEffect(() => {\n if (!isMobile || !el?.current) return;\n\n setBehavior('auto');\n setScrollTo(el.current.offsetTop);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\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, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\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(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (isMobile) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\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 role: others.role || 'calendar',\n selected,\n timestamp,\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 tooltips: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, className)} testId={testId}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n behavior={behavior}\n horizontal={!isMobile}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={getMonthRef({ autoScroll, el, index, instance, isMobile, range, selected, value })}\n onNext={!isMobile && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!isMobile && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: 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 tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getMonthRef = void 0;
7
+ var _locale = require("@mirai/locale");
8
+ var getMonthRef = function getMonthRef() {
9
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10
+ autoScroll = _ref.autoScroll,
11
+ el = _ref.el,
12
+ index = _ref.index,
13
+ instance = _ref.instance,
14
+ isMobile = _ref.isMobile,
15
+ range = _ref.range,
16
+ selected = _ref.selected,
17
+ value = _ref.value;
18
+ var date = (value === null || value === void 0 ? void 0 : value.length) && value[0] && value[1] && (0, _locale.parseDate)(value[0]);
19
+ return isMobile && date && !el.current && !autoScroll && range && !selected[0] && (0, _locale.dateFormat)(new Date(date.getFullYear(), date.getMonth(), 1)) === (0, _locale.dateFormat)(new Date(instance.getFullYear(), instance.getMonth() + index, 1)) ? el : undefined;
20
+ };
21
+ exports.getMonthRef = getMonthRef;
22
+ //# sourceMappingURL=getMonthRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMonthRef.js","names":["getMonthRef","autoScroll","el","index","instance","isMobile","range","selected","value","date","length","parseDate","current","dateFormat","Date","getFullYear","getMonth","undefined"],"sources":["../../../../src/components/Calendar/helpers/getMonthRef.js"],"sourcesContent":["import { dateFormat, parseDate } from '@mirai/locale';\n\nexport const getMonthRef = ({ autoScroll, el, index, instance, isMobile, range, selected, value } = {}) => {\n const date = value?.length && value[0] && value[1] && parseDate(value[0]);\n\n return isMobile &&\n date &&\n !el.current &&\n !autoScroll &&\n range &&\n !selected[0] &&\n dateFormat(new Date(date.getFullYear(), date.getMonth(), 1)) ===\n dateFormat(new Date(instance.getFullYear(), instance.getMonth() + index, 1))\n ? el\n : undefined;\n};\n"],"mappings":";;;;;;AAAA;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAW,GAAmF;EAAA,+EAAP,CAAC,CAAC;IAAxEC,UAAU,QAAVA,UAAU;IAAEC,EAAE,QAAFA,EAAE;IAAEC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;EAC7F,IAAMC,IAAI,GAAG,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,MAAM,KAAIF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,IAAAG,iBAAS,EAACH,KAAK,CAAC,CAAC,CAAC,CAAC;EAEzE,OAAOH,QAAQ,IACbI,IAAI,IACJ,CAACP,EAAE,CAACU,OAAO,IACX,CAACX,UAAU,IACXK,KAAK,IACL,CAACC,QAAQ,CAAC,CAAC,CAAC,IACZ,IAAAM,kBAAU,EAAC,IAAIC,IAAI,CAACL,IAAI,CAACM,WAAW,EAAE,EAAEN,IAAI,CAACO,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,KAC1D,IAAAH,kBAAU,EAAC,IAAIC,IAAI,CAACV,QAAQ,CAACW,WAAW,EAAE,EAAEX,QAAQ,CAACY,QAAQ,EAAE,GAAGb,KAAK,EAAE,CAAC,CAAC,CAAC,GAC5ED,EAAE,GACFe,SAAS;AACf,CAAC;AAAC"}
@@ -47,6 +47,17 @@ Object.keys(_getHeader).forEach(function (key) {
47
47
  }
48
48
  });
49
49
  });
50
+ var _getMonthRef = require("./getMonthRef");
51
+ Object.keys(_getMonthRef).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _getMonthRef[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _getMonthRef[key];
58
+ }
59
+ });
60
+ });
50
61
  var _getScrollTo = require("./getScrollTo");
51
62
  Object.keys(_getScrollTo).forEach(function (key) {
52
63
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Calendar/helpers/index.js"],"sourcesContent":["export * from './getFirstDateOfMonth';\nexport * from './getFirstDateOfWeek';\nexport * from './getFirstDayOfWeek';\nexport * from './getHeader';\nexport * from './getScrollTo';\nexport * from './getToday';\nexport * from './getWeekDays';\nexport * from './getWeekNumber';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Calendar/helpers/index.js"],"sourcesContent":["export * from './getFirstDateOfMonth';\nexport * from './getFirstDateOfWeek';\nexport * from './getFirstDayOfWeek';\nexport * from './getHeader';\nexport * from './getMonthRef';\nexport * from './getScrollTo';\nexport * from './getToday';\nexport * from './getWeekDays';\nexport * from './getWeekNumber';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.202",
3
+ "version": "1.0.203",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",