@mirai/ui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +349 -0
- package/build/components/Button/Button.js +44 -0
- package/build/components/Button/Button.js.map +1 -0
- package/build/components/Button/Button.module.css +79 -0
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +113 -0
- package/build/components/Button/index.js +19 -0
- package/build/components/Button/index.js.map +1 -0
- package/build/components/Calendar/Calendar.Month.js +101 -0
- package/build/components/Calendar/Calendar.Month.js.map +1 -0
- package/build/components/Calendar/Calendar.Week.js +144 -0
- package/build/components/Calendar/Calendar.Week.js.map +1 -0
- package/build/components/Calendar/Calendar.constants.js +11 -0
- package/build/components/Calendar/Calendar.constants.js.map +1 -0
- package/build/components/Calendar/Calendar.js +146 -0
- package/build/components/Calendar/Calendar.js.map +1 -0
- package/build/components/Calendar/Calendar.module.css +96 -0
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +17853 -0
- package/build/components/Calendar/helpers/getFirstDateOfMonth.js +16 -0
- package/build/components/Calendar/helpers/getFirstDateOfMonth.js.map +1 -0
- package/build/components/Calendar/helpers/getFirstDateOfWeek.js +20 -0
- package/build/components/Calendar/helpers/getFirstDateOfWeek.js.map +1 -0
- package/build/components/Calendar/helpers/getHeader.js +23 -0
- package/build/components/Calendar/helpers/getHeader.js.map +1 -0
- package/build/components/Calendar/helpers/getToday.js +15 -0
- package/build/components/Calendar/helpers/getToday.js.map +1 -0
- package/build/components/Calendar/helpers/getWeekNumber.js +17 -0
- package/build/components/Calendar/helpers/getWeekNumber.js.map +1 -0
- package/build/components/Calendar/helpers/getWeekdays.js +27 -0
- package/build/components/Calendar/helpers/getWeekdays.js.map +1 -0
- package/build/components/Calendar/helpers/index.js +97 -0
- package/build/components/Calendar/helpers/index.js.map +1 -0
- package/build/components/Calendar/helpers/isJest.js +9 -0
- package/build/components/Calendar/helpers/isJest.js.map +1 -0
- package/build/components/Calendar/index.js +19 -0
- package/build/components/Calendar/index.js.map +1 -0
- package/build/components/Form/Form.js +184 -0
- package/build/components/Form/Form.js.map +1 -0
- package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +47 -0
- package/build/components/Form/helpers/getChildrenErrors.js +47 -0
- package/build/components/Form/helpers/getChildrenErrors.js.map +1 -0
- package/build/components/Form/helpers/getChildrenValues.js +46 -0
- package/build/components/Form/helpers/getChildrenValues.js.map +1 -0
- package/build/components/Form/helpers/getField.js +17 -0
- package/build/components/Form/helpers/getField.js.map +1 -0
- package/build/components/Form/helpers/groupState.js +29 -0
- package/build/components/Form/helpers/groupState.js.map +1 -0
- package/build/components/Form/helpers/index.js +58 -0
- package/build/components/Form/helpers/index.js.map +1 -0
- package/build/components/Form/index.js +19 -0
- package/build/components/Form/index.js.map +1 -0
- package/build/components/InputNumber/InputNumber.js +71 -0
- package/build/components/InputNumber/InputNumber.js.map +1 -0
- package/build/components/InputNumber/InputNumber.module.css +13 -0
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +616 -0
- package/build/components/InputNumber/index.js +19 -0
- package/build/components/InputNumber/index.js.map +1 -0
- package/build/components/InputText/InputText.js +100 -0
- package/build/components/InputText/InputText.js.map +1 -0
- package/build/components/InputText/InputText.module.css +68 -0
- package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +212 -0
- package/build/components/InputText/index.js +19 -0
- package/build/components/InputText/index.js.map +1 -0
- package/build/components/Modal/Modal.js +50 -0
- package/build/components/Modal/Modal.js.map +1 -0
- package/build/components/Modal/Modal.module.css +70 -0
- package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +150 -0
- package/build/components/Modal/index.js +19 -0
- package/build/components/Modal/index.js.map +1 -0
- package/build/components/index.js +84 -0
- package/build/components/index.js.map +1 -0
- package/build/helpers/getInputErrors.js +45 -0
- package/build/helpers/getInputErrors.js.map +1 -0
- package/build/helpers/index.js +32 -0
- package/build/helpers/index.js.map +1 -0
- package/build/helpers/isValidDate.js +58 -0
- package/build/helpers/isValidDate.js.map +1 -0
- package/build/helpers/isValidEmail.js +15 -0
- package/build/helpers/isValidEmail.js.map +1 -0
- package/build/helpers/isValidPhone.js +25 -0
- package/build/helpers/isValidPhone.js.map +1 -0
- package/build/helpers/styles.js +21 -0
- package/build/helpers/styles.js.map +1 -0
- package/build/hooks/helpers/getNavigator.js +33 -0
- package/build/hooks/helpers/getNavigator.js.map +1 -0
- package/build/hooks/helpers/getResolution.js +22 -0
- package/build/hooks/helpers/getResolution.js.map +1 -0
- package/build/hooks/helpers/index.js +32 -0
- package/build/hooks/helpers/index.js.map +1 -0
- package/build/hooks/index.js +19 -0
- package/build/hooks/index.js.map +1 -0
- package/build/hooks/useDevice.js +48 -0
- package/build/hooks/useDevice.js.map +1 -0
- package/build/index.js +71 -0
- package/build/index.js.map +1 -0
- package/build/primitives/Icon/Icon.constants.js +27 -0
- package/build/primitives/Icon/Icon.constants.js.map +1 -0
- package/build/primitives/Icon/Icon.js +34 -0
- package/build/primitives/Icon/Icon.js.map +1 -0
- package/build/primitives/Icon/Icon.module.css +11 -0
- package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +133 -0
- package/build/primitives/Icon/index.js +31 -0
- package/build/primitives/Icon/index.js.map +1 -0
- package/build/primitives/Input/Input.js +66 -0
- package/build/primitives/Input/Input.js.map +1 -0
- package/build/primitives/Input/Input.module.css +25 -0
- package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +74 -0
- package/build/primitives/Input/helpers/index.js +19 -0
- package/build/primitives/Input/helpers/index.js.map +1 -0
- package/build/primitives/Input/helpers/parseValue.js +17 -0
- package/build/primitives/Input/helpers/parseValue.js.map +1 -0
- package/build/primitives/Input/index.js +19 -0
- package/build/primitives/Input/index.js.map +1 -0
- package/build/primitives/Pressable/Pressable.constants.js +9 -0
- package/build/primitives/Pressable/Pressable.constants.js.map +1 -0
- package/build/primitives/Pressable/Pressable.js +50 -0
- package/build/primitives/Pressable/Pressable.js.map +1 -0
- package/build/primitives/Pressable/Pressable.module.css +18 -0
- package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +53 -0
- package/build/primitives/Pressable/index.js +19 -0
- package/build/primitives/Pressable/index.js.map +1 -0
- package/build/primitives/ScrollView/ScrollView.js +89 -0
- package/build/primitives/ScrollView/ScrollView.js.map +1 -0
- package/build/primitives/ScrollView/ScrollView.module.css +35 -0
- package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +535 -0
- package/build/primitives/ScrollView/index.js +19 -0
- package/build/primitives/ScrollView/index.js.map +1 -0
- package/build/primitives/Text/Text.js +40 -0
- package/build/primitives/Text/Text.js.map +1 -0
- package/build/primitives/Text/Text.module.css +36 -0
- package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +102 -0
- package/build/primitives/Text/index.js +19 -0
- package/build/primitives/Text/index.js.map +1 -0
- package/build/primitives/View/View.js +36 -0
- package/build/primitives/View/View.js.map +1 -0
- package/build/primitives/View/View.module.css +16 -0
- package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +62 -0
- package/build/primitives/View/index.js +19 -0
- package/build/primitives/View/index.js.map +1 -0
- package/build/primitives/index.js +84 -0
- package/build/primitives/index.js.map +1 -0
- package/build/theme/default.theme.css +37 -0
- package/build/theme/helpers/camelcase.js +16 -0
- package/build/theme/helpers/camelcase.js.map +1 -0
- package/build/theme/helpers/index.js +19 -0
- package/build/theme/helpers/index.js.map +1 -0
- package/build/theme/index.js +19 -0
- package/build/theme/index.js.map +1 -0
- package/build/theme/theme.js +43 -0
- package/build/theme/theme.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Month = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _helpers = require("../../helpers");
|
|
17
|
+
|
|
18
|
+
var _primitives = require("../../primitives");
|
|
19
|
+
|
|
20
|
+
var _Calendar = require("./Calendar.constants");
|
|
21
|
+
|
|
22
|
+
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
23
|
+
|
|
24
|
+
var _Calendar2 = require("./Calendar.Week");
|
|
25
|
+
|
|
26
|
+
var _helpers2 = require("./helpers");
|
|
27
|
+
|
|
28
|
+
var _excluded = ["focus", "instance", "selected", "disabledPast", "format", "from", "locale", "range", "to", "onChange", "onFocus", "onNext", "onPrevious"];
|
|
29
|
+
|
|
30
|
+
var Month = function Month(_ref) {
|
|
31
|
+
var focus = _ref.focus,
|
|
32
|
+
instance = _ref.instance,
|
|
33
|
+
selected = _ref.selected,
|
|
34
|
+
_ref$disabledPast = _ref.disabledPast,
|
|
35
|
+
disabledPast = _ref$disabledPast === void 0 ? true : _ref$disabledPast,
|
|
36
|
+
format = _ref.format,
|
|
37
|
+
from = _ref.from,
|
|
38
|
+
locale = _ref.locale,
|
|
39
|
+
_ref$range = _ref.range,
|
|
40
|
+
range = _ref$range === void 0 ? false : _ref$range,
|
|
41
|
+
to = _ref.to,
|
|
42
|
+
_ref$onChange = _ref.onChange,
|
|
43
|
+
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
44
|
+
_ref$onFocus = _ref.onFocus,
|
|
45
|
+
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
46
|
+
onNext = _ref.onNext,
|
|
47
|
+
onPrevious = _ref.onPrevious,
|
|
48
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
49
|
+
var weekNumber = (0, _helpers2.getWeekNumber)(instance);
|
|
50
|
+
var weekdays = (0, _helpers2.getWeekDays)(locale);
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
52
|
+
className: (0, _helpers.styles)(_CalendarModule.default.month, others.className)
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
54
|
+
row: true,
|
|
55
|
+
className: _CalendarModule.default.header
|
|
56
|
+
}, onPrevious && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
57
|
+
onPress: onPrevious
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
59
|
+
name: "Left"
|
|
60
|
+
})), /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
61
|
+
bold: true,
|
|
62
|
+
upperCase: true,
|
|
63
|
+
className: _CalendarModule.default.title
|
|
64
|
+
}, (0, _helpers2.getHeader)(instance, locale)), onNext && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
65
|
+
onPress: onNext
|
|
66
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
67
|
+
name: "Right"
|
|
68
|
+
}))), /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
69
|
+
row: true,
|
|
70
|
+
className: _CalendarModule.default.weekdays
|
|
71
|
+
}, _Calendar.DAYS.map(function (day) {
|
|
72
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
73
|
+
small: true,
|
|
74
|
+
key: day,
|
|
75
|
+
upperCase: true,
|
|
76
|
+
className: (0, _helpers.styles)(_CalendarModule.default.cell, _CalendarModule.default.weekday)
|
|
77
|
+
}, weekdays[day]);
|
|
78
|
+
})), _Calendar.VISIBLE_WEEKS.map(function (week) {
|
|
79
|
+
return /*#__PURE__*/_react.default.createElement(_Calendar2.Week, Object.assign({}, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
|
|
80
|
+
disabledPast: disabledPast,
|
|
81
|
+
focus: focus,
|
|
82
|
+
format: format,
|
|
83
|
+
from: from,
|
|
84
|
+
locale: locale,
|
|
85
|
+
to: to,
|
|
86
|
+
range: range,
|
|
87
|
+
selected: selected
|
|
88
|
+
}), {
|
|
89
|
+
key: week,
|
|
90
|
+
month: instance.getMonth(),
|
|
91
|
+
number: weekNumber + week,
|
|
92
|
+
year: instance.getFullYear(),
|
|
93
|
+
onFocus: onFocus,
|
|
94
|
+
onPress: onChange
|
|
95
|
+
}));
|
|
96
|
+
}));
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
exports.Month = Month;
|
|
100
|
+
Month.displayName = 'Component:Calendar:Month';
|
|
101
|
+
//# sourceMappingURL=Calendar.Month.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar/Calendar.Month.jsx"],"names":["Month","focus","instance","selected","disabledPast","format","from","locale","range","to","onChange","onFocus","onNext","onPrevious","others","weekNumber","weekdays","style","month","className","header","title","DAYS","map","day","cell","weekday","VISIBLE_WEEKS","week","getMonth","getFullYear","displayName"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, Pressable, Text, View } from '../../primitives';\nimport { DAYS, VISIBLE_WEEKS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { Week } from './Calendar.Week';\nimport { getHeader, getWeekDays, getWeekNumber } from './helpers';\n\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast = true,\n format,\n from,\n locale,\n range = false,\n to,\n // value,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const weekNumber = getWeekNumber(instance);\n const weekdays = getWeekDays(locale);\n\n return (\n <View className={styles(style.month, others.className)}>\n <View row className={style.header}>\n {onPrevious && (\n <Pressable onPress={onPrevious}>\n <Icon name=\"Left\" />\n </Pressable>\n )}\n <Text bold upperCase className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable onPress={onNext}>\n <Icon name=\"Right\" />\n </Pressable>\n )}\n </View>\n\n <View row className={style.weekdays}>\n {DAYS.map((day) => (\n <Text small key={day} upperCase className={styles(style.cell, style.weekday)}>\n {weekdays[day]}\n </Text>\n ))}\n </View>\n\n {VISIBLE_WEEKS.map((week) => (\n <Week\n {...{\n ...others,\n disabledPast,\n focus,\n format,\n from,\n locale,\n to,\n range,\n selected,\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 disabledWeekends: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\n to: PropTypes.instanceOf(Date),\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"],"file":"Calendar.Month.js"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Week = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _locale = require("@mirai/locale");
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _helpers = require("../../helpers");
|
|
19
|
+
|
|
20
|
+
var _primitives = require("../../primitives");
|
|
21
|
+
|
|
22
|
+
var _Calendar = require("./Calendar.constants");
|
|
23
|
+
|
|
24
|
+
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
25
|
+
|
|
26
|
+
var _helpers2 = require("./helpers");
|
|
27
|
+
|
|
28
|
+
var _excluded = ["captions", "disabledDates", "disabledPast", "focus", "locale", "format", "from", "month", "number", "range", "selected", "to", "year", "onPress", "onFocus"];
|
|
29
|
+
|
|
30
|
+
var Week = function Week(_ref) {
|
|
31
|
+
var captions = _ref.captions,
|
|
32
|
+
_ref$disabledDates = _ref.disabledDates,
|
|
33
|
+
disabledDates = _ref$disabledDates === void 0 ? [] : _ref$disabledDates,
|
|
34
|
+
_ref$disabledPast = _ref.disabledPast,
|
|
35
|
+
disabledPast = _ref$disabledPast === void 0 ? false : _ref$disabledPast,
|
|
36
|
+
focus = _ref.focus,
|
|
37
|
+
locale = _ref.locale,
|
|
38
|
+
format = _ref.format,
|
|
39
|
+
from = _ref.from,
|
|
40
|
+
month = _ref.month,
|
|
41
|
+
number = _ref.number,
|
|
42
|
+
range = _ref.range,
|
|
43
|
+
selected = _ref.selected,
|
|
44
|
+
to = _ref.to,
|
|
45
|
+
year = _ref.year,
|
|
46
|
+
_ref$onPress = _ref.onPress,
|
|
47
|
+
_onPress = _ref$onPress === void 0 ? function () {} : _ref$onPress,
|
|
48
|
+
_ref$onFocus = _ref.onFocus,
|
|
49
|
+
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
50
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
51
|
+
|
|
52
|
+
var disabledDatesTS = disabledDates.map(function (date) {
|
|
53
|
+
return (0, _locale.UTC)(new Date(date)).getTime();
|
|
54
|
+
}).filter(function (date) {
|
|
55
|
+
return !isNaN(date);
|
|
56
|
+
});
|
|
57
|
+
var firstDate = (0, _helpers2.getFirstDateOfWeek)(number, year);
|
|
58
|
+
var todayTS = (0, _helpers2.getToday)().getTime();
|
|
59
|
+
var fromTS = from === null || from === void 0 ? void 0 : from.getTime();
|
|
60
|
+
var toTS = to === null || to === void 0 ? void 0 : to.getTime();
|
|
61
|
+
var rangeTS = {};
|
|
62
|
+
|
|
63
|
+
if (range) {
|
|
64
|
+
var _selected = (0, _slicedToArray2.default)(selected, 2),
|
|
65
|
+
start = _selected[0],
|
|
66
|
+
end = _selected[1];
|
|
67
|
+
|
|
68
|
+
rangeTS = {
|
|
69
|
+
start: start ? start.getTime() : undefined,
|
|
70
|
+
end: end ? end.getTime() : undefined
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
if (focus) {
|
|
74
|
+
var focusTS = focus.getTime();
|
|
75
|
+
|
|
76
|
+
var _disabledDatesTS$filt = disabledDatesTS.filter(function (ts) {
|
|
77
|
+
return ts > rangeTS.start && focusTS >= ts;
|
|
78
|
+
}).sort(),
|
|
79
|
+
_disabledDatesTS$filt2 = (0, _slicedToArray2.default)(_disabledDatesTS$filt, 1),
|
|
80
|
+
outbound = _disabledDatesTS$filt2[0];
|
|
81
|
+
|
|
82
|
+
rangeTS.end = outbound ? outbound - 1 : focusTS;
|
|
83
|
+
rangeTS.outbound = outbound - 1;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
88
|
+
row: true
|
|
89
|
+
}, _Calendar.DAYS.map(function (day) {
|
|
90
|
+
var date = (0, _locale.UTC)(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));
|
|
91
|
+
var dateTS = date.getTime();
|
|
92
|
+
var is = {
|
|
93
|
+
disabled: disabledPast && date.getTime() < todayTS || // past
|
|
94
|
+
!date.getMonth() === month || // days out of month
|
|
95
|
+
disabledDatesTS.includes(dateTS) || // disabled dates
|
|
96
|
+
dateTS < fromTS || // less than range
|
|
97
|
+
dateTS > toTS,
|
|
98
|
+
// more than range
|
|
99
|
+
outOfRange: dateTS > rangeTS.outbound,
|
|
100
|
+
range: dateTS > rangeTS.start && dateTS < rangeTS.end,
|
|
101
|
+
rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,
|
|
102
|
+
// ranged:
|
|
103
|
+
ranging: range && (selected === null || selected === void 0 ? void 0 : selected[0]) && !selected[1],
|
|
104
|
+
today: dateTS === todayTS,
|
|
105
|
+
touchable: true,
|
|
106
|
+
visible: date.getMonth() === month
|
|
107
|
+
};
|
|
108
|
+
var isSelected = range && selected ? selected[0] && !selected[1] ? dateTS === selected[0].getTime() : selected[0] && selected[1] ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime() : undefined : dateTS === (selected === null || selected === void 0 ? void 0 : selected.getTime());
|
|
109
|
+
var textStyle = is.disabled ? _CalendarModule.default.textDisabled : isSelected || dateTS === rangeTS.end ? _CalendarModule.default.textSelected : undefined;
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
111
|
+
disabled: is.disabled || is.outOfRange || !is.visible,
|
|
112
|
+
key: day,
|
|
113
|
+
tabIndex: is.visible && !is.disabled ? date.getDate() : undefined,
|
|
114
|
+
"data-testid": "".concat(others['data-testid'] || 'calendar', "-").concat(number, "-").concat(day),
|
|
115
|
+
className: _CalendarModule.default.cell,
|
|
116
|
+
onEnter: is.ranging ? function () {
|
|
117
|
+
return onFocus(date);
|
|
118
|
+
} : undefined,
|
|
119
|
+
onLeave: is.ranging ? function () {
|
|
120
|
+
return onFocus();
|
|
121
|
+
} : undefined,
|
|
122
|
+
onPress: function onPress() {
|
|
123
|
+
return _onPress(date);
|
|
124
|
+
}
|
|
125
|
+
}, is.visible && /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
126
|
+
className: (0, _helpers.styles)(_CalendarModule.default.day, is.range && isSelected && _CalendarModule.default.daySelected, is.range && _CalendarModule.default.dayRange, (is.rangeLimit || !is.range && isSelected) && _CalendarModule.default.dayRangeLimit, !isSelected && !is.disabled && _CalendarModule.default.dayTouchable)
|
|
127
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
128
|
+
bold: is.today,
|
|
129
|
+
className: textStyle
|
|
130
|
+
}, (0, _locale.dateFormat)(date, {
|
|
131
|
+
locale: locale,
|
|
132
|
+
day: 'numeric'
|
|
133
|
+
})), captions && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
134
|
+
small: true,
|
|
135
|
+
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption)
|
|
136
|
+
}, captions[(0, _locale.dateFormat)(date, {
|
|
137
|
+
format: format
|
|
138
|
+
})] || '')));
|
|
139
|
+
}));
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
exports.Week = Week;
|
|
143
|
+
Week.displayName = 'Component:Calendar:Week';
|
|
144
|
+
//# sourceMappingURL=Calendar.Week.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","month","number","range","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","Date","getTime","filter","isNaN","firstDate","todayTS","fromTS","toTS","rangeTS","start","end","undefined","focusTS","ts","sort","outbound","DAYS","day","getFullYear","getMonth","getDate","dateTS","is","disabled","includes","outOfRange","rangeLimit","ranging","today","touchable","visible","isSelected","textStyle","style","textDisabled","textSelected","cell","daySelected","dayRange","dayRangeLimit","dayTouchable","caption","displayName"],"mappings":"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","sourcesContent":["import { dateFormat, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast = false,\n focus,\n locale,\n format,\n from,\n month,\n number,\n range,\n selected,\n to,\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(new Date(date)).getTime()).filter((date) => !isNaN(date));\n const firstDate = getFirstDateOfWeek(number, year);\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = { start: start ? start.getTime() : undefined, end: end ? end.getTime() : undefined };\n\n if (focus) {\n const focusTS = focus.getTime();\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start && focusTS >= ts).sort();\n\n rangeTS.end = outbound ? outbound - 1 : focusTS;\n rangeTS.outbound = outbound - 1;\n }\n }\n\n return (\n <View row>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n\n const is = {\n disabled:\n (disabledPast && date.getTime() < todayTS) || // past\n !date.getMonth() === month || // days out of month\n disabledDatesTS.includes(dateTS) || // disabled dates\n dateTS < fromTS || // less than range\n dateTS > toTS, // more than range\n outOfRange: dateTS > rangeTS.outbound,\n range: dateTS > rangeTS.start && dateTS < rangeTS.end,\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n // ranged:\n ranging: range && selected?.[0] && !selected[1],\n today: dateTS === todayTS,\n touchable: true,\n visible: date.getMonth() === month,\n };\n\n const isSelected =\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime();\n\n const textStyle = is.disabled\n ? style.textDisabled\n : isSelected || dateTS === rangeTS.end\n ? style.textSelected\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || is.outOfRange || !is.visible}\n key={day}\n tabIndex={is.visible && !is.disabled ? date.getDate() : undefined}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n className={style.cell}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n >\n {is.visible && (\n <View\n className={styles(\n style.day,\n is.range && isSelected && style.daySelected,\n is.range && style.dayRange,\n (is.rangeLimit || (!is.range && isSelected)) && style.dayRangeLimit,\n !isSelected && !is.disabled && style.dayTouchable,\n )}\n >\n <Text bold={is.today} className={textStyle}>\n {dateFormat(date, { locale, day: 'numeric' })}\n </Text>\n\n {captions && (\n <Text small className={styles(textStyle, style.caption)}>\n {captions[dateFormat(date, { format })] || ''}\n </Text>\n )}\n </View>\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"file":"Calendar.Week.js"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VISIBLE_WEEKS = exports.DAYS = void 0;
|
|
7
|
+
var DAYS = Array.from(Array(7).keys());
|
|
8
|
+
exports.DAYS = DAYS;
|
|
9
|
+
var VISIBLE_WEEKS = Array.from(Array(6).keys());
|
|
10
|
+
exports.VISIBLE_WEEKS = VISIBLE_WEEKS;
|
|
11
|
+
//# sourceMappingURL=Calendar.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar/Calendar.constants.js"],"names":["DAYS","Array","from","keys","VISIBLE_WEEKS"],"mappings":";;;;;;AAAA,IAAMA,IAAI,GAAGC,KAAK,CAACC,IAAN,CAAWD,KAAK,CAAC,CAAD,CAAL,CAASE,IAAT,EAAX,CAAb;;AAEA,IAAMC,aAAa,GAAGH,KAAK,CAACC,IAAN,CAAWD,KAAK,CAAC,CAAD,CAAL,CAASE,IAAT,EAAX,CAAtB","sourcesContent":["const DAYS = Array.from(Array(7).keys());\n\nconst VISIBLE_WEEKS = Array.from(Array(6).keys());\n\nexport { DAYS, VISIBLE_WEEKS };\n"],"file":"Calendar.constants.js"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.Calendar = void 0;
|
|
11
|
+
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _locale = require("@mirai/locale");
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _helpers = require("../../helpers");
|
|
23
|
+
|
|
24
|
+
var _hooks = require("../../hooks");
|
|
25
|
+
|
|
26
|
+
var _primitives = require("../../primitives");
|
|
27
|
+
|
|
28
|
+
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
29
|
+
|
|
30
|
+
var _Calendar = require("./Calendar.Month");
|
|
31
|
+
|
|
32
|
+
var _helpers2 = require("./helpers");
|
|
33
|
+
|
|
34
|
+
var _excluded = ["disabledPast", "format", "from", "months", "locale", "range", "rangeDays", "to", "value", "onChange", "onFocus"];
|
|
35
|
+
|
|
36
|
+
var Calendar = function Calendar(_ref) {
|
|
37
|
+
var _ref$disabledPast = _ref.disabledPast,
|
|
38
|
+
disabledPast = _ref$disabledPast === void 0 ? true : _ref$disabledPast,
|
|
39
|
+
_ref$format = _ref.format,
|
|
40
|
+
format = _ref$format === void 0 ? 'YYYY/MM/DD' : _ref$format,
|
|
41
|
+
from = _ref.from,
|
|
42
|
+
_ref$months = _ref.months,
|
|
43
|
+
months = _ref$months === void 0 ? 2 : _ref$months,
|
|
44
|
+
locale = _ref.locale,
|
|
45
|
+
_ref$range = _ref.range,
|
|
46
|
+
range = _ref$range === void 0 ? false : _ref$range,
|
|
47
|
+
rangeDays = _ref.rangeDays,
|
|
48
|
+
to = _ref.to,
|
|
49
|
+
value = _ref.value,
|
|
50
|
+
_ref$onChange = _ref.onChange,
|
|
51
|
+
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
52
|
+
_ref$onFocus = _ref.onFocus,
|
|
53
|
+
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
54
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
55
|
+
|
|
56
|
+
var _useDevice = (0, _hooks.useDevice)(),
|
|
57
|
+
isDesktop = _useDevice.isDesktop;
|
|
58
|
+
|
|
59
|
+
var _useState = (0, _react.useState)(),
|
|
60
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
61
|
+
focus = _useState2[0],
|
|
62
|
+
setFocus = _useState2[1];
|
|
63
|
+
|
|
64
|
+
var _useState3 = (0, _react.useState)((0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)())),
|
|
65
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
66
|
+
instance = _useState4[0],
|
|
67
|
+
setInstance = _useState4[1];
|
|
68
|
+
|
|
69
|
+
var _useState5 = (0, _react.useState)(range ? [] : undefined),
|
|
70
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
71
|
+
selected = _useState6[0],
|
|
72
|
+
setSelected = _useState6[1];
|
|
73
|
+
|
|
74
|
+
(0, _react.useEffect)(function () {
|
|
75
|
+
var date = range ? value ? value[0] : undefined : value;
|
|
76
|
+
if (!date) return;
|
|
77
|
+
date = (0, _locale.parseDate)(date, format);
|
|
78
|
+
setInstance((0, _helpers2.getFirstDateOfMonth)(date));
|
|
79
|
+
setSelected(range ? [(0, _locale.UTC)(date), value[1] ? (0, _locale.UTC)((0, _locale.parseDate)(value[1], format)) : undefined] : (0, _locale.UTC)(date));
|
|
80
|
+
}, [format, range, value]);
|
|
81
|
+
(0, _react.useEffect)(function () {
|
|
82
|
+
onFocus(focus);
|
|
83
|
+
}, [focus, onFocus]);
|
|
84
|
+
|
|
85
|
+
var handleChange = function handleChange(date) {
|
|
86
|
+
setSelected(function () {
|
|
87
|
+
var next;
|
|
88
|
+
|
|
89
|
+
if (!range) {
|
|
90
|
+
next = date;
|
|
91
|
+
} else if (selected[1] === undefined && date > selected[0]) {
|
|
92
|
+
next = [selected[0], date];
|
|
93
|
+
} else {
|
|
94
|
+
var _selected$;
|
|
95
|
+
|
|
96
|
+
next = [((_selected$ = selected[0]) === null || _selected$ === void 0 ? void 0 : _selected$.getTime()) === date.getTime() ? undefined : date];
|
|
97
|
+
setFocus(undefined);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
onChange(next);
|
|
101
|
+
return next;
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var handleMonth = function handleMonth(month) {
|
|
106
|
+
setInstance((0, _helpers2.getFirstDateOfMonth)(new Date(instance.getFullYear(), instance.getMonth() + month)));
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
var instanceTS = instance.getTime();
|
|
110
|
+
var todayMonthTS = (0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)()).getTime();
|
|
111
|
+
var disabledPrevious = disabledPast && instanceTS <= todayMonthTS || from && instanceTS <= (0, _helpers2.getFirstDateOfMonth)(new Date(from)).getTime();
|
|
112
|
+
var disabledNext = to && instanceTS >= (0, _helpers2.getFirstDateOfMonth)(new Date(to)).getTime();
|
|
113
|
+
var props = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
|
|
114
|
+
focus: focus,
|
|
115
|
+
format: format,
|
|
116
|
+
from: from ? (0, _locale.parseDate)(from, format) : undefined,
|
|
117
|
+
locale: locale,
|
|
118
|
+
range: range,
|
|
119
|
+
to: range && rangeDays && selected[0] ? (0, _locale.dateCalc)(selected[0], rangeDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
|
|
120
|
+
selected: selected,
|
|
121
|
+
onChange: handleChange,
|
|
122
|
+
onFocus: isDesktop ? setFocus : undefined
|
|
123
|
+
});
|
|
124
|
+
return /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, {
|
|
125
|
+
"data-testid": others['data-testid'],
|
|
126
|
+
horizontal: isDesktop,
|
|
127
|
+
className: (0, _helpers.styles)(_CalendarModule.default.calendar, others.className)
|
|
128
|
+
}, Array.from({
|
|
129
|
+
length: months
|
|
130
|
+
}, function (empty, index) {
|
|
131
|
+
return /*#__PURE__*/_react.default.createElement(_Calendar.Month, Object.assign({
|
|
132
|
+
key: index,
|
|
133
|
+
onNext: isDesktop && index === months - 1 && !disabledNext ? function () {
|
|
134
|
+
return handleMonth(months);
|
|
135
|
+
} : undefined,
|
|
136
|
+
onPrevious: isDesktop && index === 0 && !disabledPrevious ? function () {
|
|
137
|
+
return handleMonth(-months);
|
|
138
|
+
} : undefined,
|
|
139
|
+
instance: new Date(instance.getFullYear(), instance.getMonth() + index, 1)
|
|
140
|
+
}, props));
|
|
141
|
+
}));
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.Calendar = Calendar;
|
|
145
|
+
Calendar.displayName = 'Component:Calendar';
|
|
146
|
+
//# sourceMappingURL=Calendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar/Calendar.jsx"],"names":["Calendar","disabledPast","format","from","months","locale","range","rangeDays","to","value","onChange","onFocus","others","isDesktop","focus","setFocus","instance","setInstance","undefined","selected","setSelected","date","handleChange","next","getTime","handleMonth","month","Date","getFullYear","getMonth","instanceTS","todayMonthTS","disabledPrevious","disabledNext","props","style","calendar","className","Array","length","empty","index","displayName"],"mappings":"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","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 } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\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 rangeDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\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;\n\n date = parseDate(date, format);\n setInstance(getFirstDateOfMonth(date));\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\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(new Date(from)).getTime());\n const disabledNext = to && instanceTS >= getFirstDateOfMonth(new Date(to)).getTime();\n\n const props = {\n ...others,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n to:\n range && rangeDays && selected[0]\n ? dateCalc(selected[0], rangeDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n selected,\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n return (\n <ScrollView\n data-testid={others['data-testid']}\n horizontal={isDesktop}\n className={styles(style.calendar, others.className)}\n >\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 );\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 locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeDays: 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};\n"],"file":"Calendar.js"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--mirai-ui-calendar-cell: calc(var(--mirai-ui-space-XXL) - var(--mirai-ui-space-XS));
|
|
3
|
+
--mirai-ui-calendar-weekday-color: var(--mirai-ui-lighten);
|
|
4
|
+
--mirai-ui-calendar-selected-color: var(--mirai-ui-lighten);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.calendar {
|
|
8
|
+
max-height: calc(var(--mirai-ui-calendar-cell) * 14.5);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.month {
|
|
12
|
+
padding: calc(var(--mirai-ui-space-XS) / 2);
|
|
13
|
+
width: calc(var(--mirai-ui-calendar-cell) * 7);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.header {
|
|
17
|
+
padding: var(--mirai-ui-space-S);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.title {
|
|
21
|
+
flex: 1;
|
|
22
|
+
text-align: center;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.cell {
|
|
26
|
+
flex: 1;
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
text-align: center;
|
|
29
|
+
margin-bottom: 2px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.weekdays {
|
|
33
|
+
margin: var(--mirai-ui-space-XS) 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.weekday {
|
|
37
|
+
color: var(--mirai-ui-calendar-weekday-color);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.day {
|
|
41
|
+
align-items: center;
|
|
42
|
+
justify-content: center;
|
|
43
|
+
width: var(--mirai-ui-calendar-cell);
|
|
44
|
+
height: var(--mirai-ui-calendar-cell);
|
|
45
|
+
margin: 0 auto;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.daySelected {
|
|
49
|
+
background-color: var(--mirai-ui-disabled);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.dayRange:not(.daySelected) {
|
|
53
|
+
background-color: var(--mirai-ui-disabled);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.dayRangeLimit {
|
|
57
|
+
background-color: var(--mirai-ui-accent);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.dayTouchable:hover {
|
|
61
|
+
background-color: var(--mirai-ui-lighten);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.textDisabled {
|
|
65
|
+
color: var(--mirai-ui-disabled);
|
|
66
|
+
transition: all var(--mirai-ui-motion-expand) var(--mirai-ui-motion-easing);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.dayRangeLimit .textSelected {
|
|
70
|
+
color: var(--mirai-ui-base);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.caption {
|
|
74
|
+
white-space: pre-wrap;
|
|
75
|
+
height: var(--mirai-ui-font-size-small);
|
|
76
|
+
margin-top: calc(var(--mirai-ui-space-XS) / 2);
|
|
77
|
+
max-width: calc(var(--mirai-ui-calendar-cell) * 0.8);
|
|
78
|
+
overflow: hidden;
|
|
79
|
+
text-overflow: ellipsis;
|
|
80
|
+
white-space: nowrap;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media only screen and (max-width: 600px) {
|
|
84
|
+
.calendar {
|
|
85
|
+
width: 100vw;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.month {
|
|
89
|
+
padding: var(--mirai-ui-space-XS) 0;
|
|
90
|
+
width: 100%;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.day {
|
|
94
|
+
width: auto;
|
|
95
|
+
}
|
|
96
|
+
}
|