@mirai/ui 1.0.80 → 1.0.81
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 +8 -1
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +1 -1
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +3 -3
- package/build/components/Calendar/Calendar.Month.js +1 -0
- package/build/components/Calendar/Calendar.Month.js.map +1 -1
- package/build/components/Calendar/Calendar.Week.js +21 -4
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +11 -3
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +4 -2
- package/build/components/Calendar/Calendar.stories.js +77 -23
- package/build/components/Calendar/Calendar.stories.js.map +1 -1
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +2650 -2650
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +9 -9
- package/build/components/Tooltip/Tooltip.js +27 -7
- package/build/components/Tooltip/Tooltip.js.map +1 -1
- package/build/components/Tooltip/Tooltip.module.css +32 -0
- package/build/components/Tooltip/Tooltip.stories.js +62 -35
- package/build/components/Tooltip/Tooltip.stories.js.map +1 -1
- package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +79 -22
- package/build/primitives/Layer/Layer.js +9 -3
- package/build/primitives/Layer/Layer.js.map +1 -1
- package/build/primitives/Layer/helpers/getLayerPosition.js +43 -5
- package/build/primitives/Layer/helpers/getLayerPosition.js.map +1 -1
- package/build/primitives/Pressable/Pressable.js +1 -1
- package/build/primitives/Pressable/Pressable.js.map +1 -1
- package/build/primitives/Pressable/Pressable.module.css +1 -0
- package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -421,6 +421,7 @@ A calendar component that receives the following props:
|
|
|
421
421
|
- `rangeMaxDays:number` Maximum days in a range
|
|
422
422
|
- `rangeMinDays:number` Minimum days in a range
|
|
423
423
|
- `to:string` date in specific format (e.g. "31/03/2022")
|
|
424
|
+
- `tooltips:object` tooltips to be placed into calendar cells
|
|
424
425
|
- `value:string|[string]`
|
|
425
426
|
- `onChange:function` executed when input value changes
|
|
426
427
|
- `onFocus:function` executed on calendar cell hover
|
|
@@ -447,6 +448,10 @@ const MyComponent = props => {
|
|
|
447
448
|
months={2}
|
|
448
449
|
from={from}
|
|
449
450
|
to={to}
|
|
451
|
+
tooltips={
|
|
452
|
+
'2022/03/31': { text: '' },
|
|
453
|
+
'2022/04/20': { text: '10.95$' },
|
|
454
|
+
}
|
|
450
455
|
onChange={setValue}
|
|
451
456
|
/>
|
|
452
457
|
);
|
|
@@ -776,8 +781,10 @@ const MyComponent = () => {
|
|
|
776
781
|
This component helps you to create a tooltip over a determinate component receiving the following props:
|
|
777
782
|
|
|
778
783
|
- `children:node` The element which we will use as reference for display the menu.
|
|
784
|
+
- `pressable:bool` Change event dispatcher to `onPress` instead of ` onEnter`.
|
|
779
785
|
- `Template:node` if you don't want use the default scaffold.
|
|
780
|
-
- `text:string` text it will appears when hover on `children
|
|
786
|
+
- `text:string` text it will appears when hover on `children`.
|
|
787
|
+
- `top:bool` Change the position to the top of reference element.
|
|
781
788
|
- `visible:boolean` the default state of visibility of the instance.
|
|
782
789
|
|
|
783
790
|
```jsx
|
|
@@ -13,7 +13,7 @@ exports[`component:<Button> inherit:className 1`] = `
|
|
|
13
13
|
exports[`component:<Button> prop:busy 1`] = `
|
|
14
14
|
<DocumentFragment>
|
|
15
15
|
<button
|
|
16
|
-
class="pressable button busy"
|
|
16
|
+
class="pressable disabled button busy"
|
|
17
17
|
disabled=""
|
|
18
18
|
>
|
|
19
19
|
<div
|
|
@@ -27,7 +27,7 @@ exports[`component:<Button> prop:busy 1`] = `
|
|
|
27
27
|
exports[`component:<Button> prop:disabled 1`] = `
|
|
28
28
|
<DocumentFragment>
|
|
29
29
|
<button
|
|
30
|
-
class="pressable button"
|
|
30
|
+
class="pressable disabled button"
|
|
31
31
|
disabled=""
|
|
32
32
|
>
|
|
33
33
|
children
|
|
@@ -48,7 +48,7 @@ exports[`component:<Button> prop:large 1`] = `
|
|
|
48
48
|
exports[`component:<Button> prop:secondary && prop:busy 1`] = `
|
|
49
49
|
<DocumentFragment>
|
|
50
50
|
<button
|
|
51
|
-
class="pressable button busy secondary disabled"
|
|
51
|
+
class="pressable disabled button busy secondary disabled"
|
|
52
52
|
disabled=""
|
|
53
53
|
>
|
|
54
54
|
<div
|
|
@@ -105,6 +105,7 @@ Month.propTypes = {
|
|
|
105
105
|
locale: _propTypes.default.string,
|
|
106
106
|
range: _propTypes.default.bool,
|
|
107
107
|
to: _propTypes.default.instanceOf(Date),
|
|
108
|
+
tooltips: _propTypes.default.shape({}),
|
|
108
109
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
109
110
|
onChange: _propTypes.default.func,
|
|
110
111
|
onFocus: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Month.js","names":["Month","focus","instance","selected","disabledPast","format","from","locale","range","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isDesktop","weekNumber","getWeekNumber","testID","styles","style","month","className","header","undefined","ICON","LEFT","title","getHeader","RIGHT","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","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 { 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\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast,\n format,\n from,\n locale,\n range = false,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const weekNumber = getWeekNumber(instance);\n\n const { ['data-testid']: testID } = others;\n\n return (\n <View className={styles(style.month, others.className)}>\n <View row className={style.header}>\n {onPrevious && (\n <Pressable tag=\"button\" onPress={onPrevious} data-testid={testID ? `${testID}-previous` : undefined}>\n <Icon value={ICON.LEFT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable tag=\"button\" onPress={onNext} data-testid={testID ? `${testID}-next` : undefined}>\n <Icon value={ICON.RIGHT} />\n </Pressable>\n )}\n </View>\n\n {isDesktop && <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 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 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"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Calendar.Month.js","names":["Month","focus","instance","selected","disabledPast","format","from","locale","range","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isDesktop","weekNumber","getWeekNumber","testID","styles","style","month","className","header","undefined","ICON","LEFT","title","getHeader","RIGHT","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","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 { 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\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast,\n format,\n from,\n locale,\n range = false,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const weekNumber = getWeekNumber(instance);\n\n const { ['data-testid']: testID } = others;\n\n return (\n <View className={styles(style.month, others.className)}>\n <View row className={style.header}>\n {onPrevious && (\n <Pressable tag=\"button\" onPress={onPrevious} data-testid={testID ? `${testID}-previous` : undefined}>\n <Icon value={ICON.LEFT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable tag=\"button\" onPress={onNext} data-testid={testID ? `${testID}-next` : undefined}>\n <Icon value={ICON.RIGHT} />\n </Pressable>\n )}\n </View>\n\n {isDesktop && <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 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 format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\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,19 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.Week = void 0;
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _helpers = require("../../helpers");
|
|
11
12
|
var _primitives = require("../../primitives");
|
|
13
|
+
var _Tooltip = require("../Tooltip");
|
|
12
14
|
var _Calendar = require("./Calendar.constants");
|
|
13
15
|
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
14
16
|
var _helpers2 = require("./helpers");
|
|
15
|
-
var _excluded = ["captions", "disabledDates", "disabledPast", "focus", "locale", "format", "from", "highlights", "month", "number", "range", "rangeMinDays", "selected", "to", "year", "onPress", "onFocus"];
|
|
17
|
+
var _excluded = ["captions", "disabledDates", "disabledPast", "focus", "locale", "format", "from", "highlights", "month", "number", "range", "rangeMinDays", "selected", "to", "tooltips", "year", "onPress", "onFocus"];
|
|
18
|
+
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); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
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; }
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
24
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
25
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
26
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
27
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
28
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -39,6 +48,8 @@ var Week = function Week(_ref) {
|
|
|
39
48
|
rangeMinDays = _ref.rangeMinDays,
|
|
40
49
|
selected = _ref.selected,
|
|
41
50
|
to = _ref.to,
|
|
51
|
+
_ref$tooltips = _ref.tooltips,
|
|
52
|
+
tooltips = _ref$tooltips === void 0 ? {} : _ref$tooltips,
|
|
42
53
|
year = _ref.year,
|
|
43
54
|
_ref$onPress = _ref.onPress,
|
|
44
55
|
_onPress = _ref$onPress === void 0 ? function () {} : _ref$onPress,
|
|
@@ -101,6 +112,7 @@ var Week = function Week(_ref) {
|
|
|
101
112
|
visible: date.getMonth() === month
|
|
102
113
|
};
|
|
103
114
|
var textStyle = is.disabled || is.ranging && is.outOfRange ? _CalendarModule.default.textDisabled : is.selected || dateTS === rangeTS.end ? _CalendarModule.default.textSelected : is.highlight && !is.range ? _CalendarModule.default.textHighlight : undefined;
|
|
115
|
+
var tooltip = !is.disabled && tooltips[dateString];
|
|
104
116
|
return /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
105
117
|
disabled: is.disabled || !is.visible || is.ranging && (is.minRange || is.outOfRange),
|
|
106
118
|
key: day,
|
|
@@ -116,7 +128,11 @@ var Week = function Week(_ref) {
|
|
|
116
128
|
},
|
|
117
129
|
className: _CalendarModule.default.cell,
|
|
118
130
|
"data-testid": "".concat(others['data-testid'] || 'calendar', "-").concat(number, "-").concat(day)
|
|
119
|
-
}, is.visible && /*#__PURE__*/_react.default.createElement(
|
|
131
|
+
}, is.visible && /*#__PURE__*/_react.default.createElement(tooltip ? _Tooltip.Tooltip : _react.Fragment, tooltip ? _objectSpread({
|
|
132
|
+
pressable: true,
|
|
133
|
+
top: true,
|
|
134
|
+
visible: true
|
|
135
|
+
}, tooltip) : {}, /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
120
136
|
className: (0, _helpers.styles)(_CalendarModule.default.day, is.range && !is.disabled && !is.outOfRange && _CalendarModule.default.dayRange, (is.rangeLimit || !is.range && is.selected) && _CalendarModule.default.daySelected, is.rangeLimit && dateTS === rangeTS.start && _CalendarModule.default.daySelectedStart, is.rangeLimit && dateTS === rangeTS.end && _CalendarModule.default.daySelectedEnd, !is.selected && !is.disabled && !is.minRange && !is.outOfRange && _CalendarModule.default.dayTouchable)
|
|
121
137
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
122
138
|
bold: is.today || is.highlight || is.selected && !is.range,
|
|
@@ -124,7 +140,7 @@ var Week = function Week(_ref) {
|
|
|
124
140
|
}, date.getDate()), captions && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
125
141
|
small: true,
|
|
126
142
|
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !is.highlight && !is.selected && !is.rangeLimit && _CalendarModule.default.color, !captions[dateString] && !is.rangeLimit && _CalendarModule.default.empty)
|
|
127
|
-
}, !is.disabled ? captions[dateString] || '-' : '')));
|
|
143
|
+
}, !is.disabled ? captions[dateString] || '-' : ''))));
|
|
128
144
|
}));
|
|
129
145
|
};
|
|
130
146
|
exports.Week = Week;
|
|
@@ -139,6 +155,7 @@ Week.propTypes = {
|
|
|
139
155
|
format: _propTypes.default.string,
|
|
140
156
|
from: _propTypes.default.instanceOf(Date),
|
|
141
157
|
to: _propTypes.default.instanceOf(Date),
|
|
158
|
+
tooltips: _propTypes.default.shape({}),
|
|
142
159
|
year: _propTypes.default.number.isRequired,
|
|
143
160
|
month: _propTypes.default.number.isRequired,
|
|
144
161
|
number: _propTypes.default.number.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","UTC","parseDate","getTime","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","cell","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","color","empty","displayName","propTypes","PropTypes","shape","arrayOf","string","bool","object","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, parseDate, 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, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n to,\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(parseDate(date, format)).getTime());\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View row className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < 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 highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\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 today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n >\n {is.visible && (\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n small\n className={styles(\n textStyle,\n style.caption,\n !is.highlight && !is.selected && !is.rangeLimit && style.color,\n !captions[dateString] && !is.rangeLimit && style.empty,\n )}\n >\n {!is.disabled ? captions[dateString] || '-' : ''}\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 highlights: PropTypes.arrayOf(PropTypes.string),\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 rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","to","tooltips","year","onPress","onFocus","others","disabledDatesTS","map","date","UTC","parseDate","getTime","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","tooltip","cell","React","createElement","Tooltip","Fragment","pressable","top","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","color","empty","displayName","propTypes","PropTypes","shape","arrayOf","string","bool","object","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { Fragment } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n to,\n tooltips = {},\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(parseDate(date, format)).getTime());\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View row className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < 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 highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\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 today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n const tooltip = !is.disabled && tooltips[dateString];\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n >\n {is.visible &&\n React.createElement(\n tooltip ? Tooltip : Fragment,\n tooltip ? { pressable: true, top: true, visible: true, ...tooltip } : {},\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n small\n className={styles(\n textStyle,\n style.caption,\n !is.highlight && !is.selected && !is.rangeLimit && style.color,\n !captions[dateString] && !is.rangeLimit && style.empty,\n )}\n >\n {!is.disabled ? captions[dateString] || '-' : ''}\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 highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -75,17 +75,24 @@ var Calendar = function Calendar(_ref) {
|
|
|
75
75
|
setSelected = _useState8[1];
|
|
76
76
|
(0, _react.useEffect)(function () {
|
|
77
77
|
var date = range ? value ? value[0] : undefined : value;
|
|
78
|
+
if (from && !date) {
|
|
79
|
+
var dateFrom = (0, _locale.parseDate)(from, format);
|
|
80
|
+
var _dateDiff = (0, _locale.dateDiff)(dateFrom, (0, _locale.parseDate)(date, format)),
|
|
81
|
+
days = _dateDiff.days;
|
|
82
|
+
setInstance((0, _helpers2.getFirstDateOfMonth)(dateFrom));
|
|
83
|
+
if (days < 0) date = undefined;
|
|
84
|
+
}
|
|
78
85
|
if (!date) return setSelected(range ? [] : undefined);
|
|
79
86
|
date = (0, _locale.parseDate)(date, format);
|
|
80
87
|
if (range && (selected.length === 0 || value.length === 2) || !range) {
|
|
81
88
|
var next = (0, _helpers2.getFirstDateOfMonth)(date);
|
|
82
|
-
var
|
|
83
|
-
diffMonths =
|
|
89
|
+
var _dateDiff2 = (0, _locale.dateDiff)(instance, date),
|
|
90
|
+
diffMonths = _dateDiff2.months;
|
|
84
91
|
if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (isMobile) setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
85
92
|
}
|
|
86
93
|
setSelected(range ? [(0, _locale.UTC)(date), value[1] ? (0, _locale.UTC)((0, _locale.parseDate)(value[1], format)) : undefined] : (0, _locale.UTC)(date));
|
|
87
94
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
|
-
}, [format, range, value]);
|
|
95
|
+
}, [format, from, range, value]);
|
|
89
96
|
(0, _react.useEffect)(function () {
|
|
90
97
|
onFocus(focus);
|
|
91
98
|
}, [focus, onFocus]);
|
|
@@ -178,6 +185,7 @@ Calendar.propTypes = {
|
|
|
178
185
|
rangeMaxDays: _propTypes.default.number,
|
|
179
186
|
rangeMinDays: _propTypes.default.number,
|
|
180
187
|
to: _propTypes.default.string,
|
|
188
|
+
tooltips: _propTypes.default.shape({}),
|
|
181
189
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
|
|
182
190
|
onChange: _propTypes.default.func,
|
|
183
191
|
onFocus: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","undefined","selected","setSelected","useEffect","date","parseDate","length","next","dateDiff","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","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 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 { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\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 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) setScrollTo(getScrollTo(diffMonths));\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, 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(() => {\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month));\n\n onNavigation(next);\n return next;\n });\n };\n\n const { ['data-testid']: 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 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 (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={onScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\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)} // ! TODO: calc with mirai/locale\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 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 onNavigation: 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","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","undefined","selected","setSelected","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","highlights","number","rangeMinDays","tooltips","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 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 { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (from && !date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n setInstance(getFirstDateOfMonth(dateFrom));\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 (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) setScrollTo(getScrollTo(diffMonths));\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 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 next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month));\n\n onNavigation(next);\n return next;\n });\n };\n\n const { ['data-testid']: 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 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 (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={onScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\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)} // ! TODO: calc with mirai/locale\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 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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"}
|
|
@@ -21,10 +21,12 @@
|
|
|
21
21
|
|
|
22
22
|
.cell {
|
|
23
23
|
flex: 1;
|
|
24
|
-
margin-bottom: var(--mirai-ui-calendar-week-margin);
|
|
25
24
|
text-align: center;
|
|
26
25
|
overflow: hidden;
|
|
27
|
-
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.cell:not(.weekday) {
|
|
29
|
+
margin-bottom: var(--mirai-ui-calendar-week-margin);
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
.weekday {
|
|
@@ -1,28 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.default = exports.Story = void 0;
|
|
7
8
|
var _locale = require("@mirai/locale");
|
|
8
|
-
var _react =
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _Calendar = require("./Calendar");
|
|
10
11
|
var _captions, _Story$args;
|
|
11
|
-
function
|
|
12
|
-
function
|
|
12
|
+
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); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
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); }
|
|
13
15
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
16
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
17
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
22
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
24
|
var _default = {
|
|
17
25
|
title: 'Components'
|
|
18
26
|
};
|
|
19
27
|
exports.default = _default;
|
|
28
|
+
var format = 'DD/MM/YYYY';
|
|
29
|
+
var today = new Date();
|
|
20
30
|
var Story = function Story(props) {
|
|
21
|
-
|
|
31
|
+
var _useState = (0, _react.useState)(),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
focus = _useState2[0],
|
|
34
|
+
setFocus = _useState2[1];
|
|
35
|
+
var _useState3 = (0, _react.useState)(props.value),
|
|
36
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
37
|
+
value = _useState4[0],
|
|
38
|
+
setValue = _useState4[1];
|
|
39
|
+
var handleChange = function handleChange(_ref) {
|
|
40
|
+
var _console;
|
|
41
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
42
|
+
from = _ref2[0],
|
|
43
|
+
to = _ref2[1];
|
|
44
|
+
for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
45
|
+
props[_key - 1] = arguments[_key];
|
|
46
|
+
}
|
|
47
|
+
(_console = console).log.apply(_console, ['<Calendar>::onChange', [from, to]].concat(props));
|
|
48
|
+
setValue([from ? (0, _locale.dateFormat)(from, {
|
|
49
|
+
format: format
|
|
50
|
+
}) : undefined, to ? (0, _locale.dateFormat)(to, {
|
|
51
|
+
format: format
|
|
52
|
+
}) : undefined]);
|
|
53
|
+
};
|
|
54
|
+
var handleFocus = function handleFocus(nextFocus) {
|
|
55
|
+
var _console2;
|
|
56
|
+
for (var _len2 = arguments.length, props = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
57
|
+
props[_key2 - 1] = arguments[_key2];
|
|
58
|
+
}
|
|
59
|
+
(_console2 = console).log.apply(_console2, ['<Calendar>::onFocus', nextFocus].concat(props));
|
|
60
|
+
setFocus(nextFocus ? (0, _locale.dateFormat)(nextFocus, {
|
|
61
|
+
format: format
|
|
62
|
+
}) : undefined);
|
|
63
|
+
};
|
|
64
|
+
var tooltips = _defineProperty({}, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'days'), {
|
|
65
|
+
format: format
|
|
66
|
+
}), {
|
|
67
|
+
pressable: false,
|
|
68
|
+
visible: false,
|
|
69
|
+
text: '10.95$'
|
|
70
|
+
});
|
|
71
|
+
var _value = _slicedToArray(value, 2),
|
|
72
|
+
from = _value[0],
|
|
73
|
+
_value$ = _value[1],
|
|
74
|
+
to = _value$ === void 0 ? focus : _value$;
|
|
75
|
+
var _dateDiff = (0, _locale.dateDiff)((0, _locale.parseDate)(from, format), (0, _locale.parseDate)(to, format)),
|
|
76
|
+
nights = _dateDiff.days;
|
|
77
|
+
if (from) tooltips[from] = {
|
|
78
|
+
text: "Min. ".concat(props.rangeMinDays, " nights")
|
|
79
|
+
};
|
|
80
|
+
if (nights >= props.rangeMinDays) tooltips[to] = {
|
|
81
|
+
text: "".concat(nights, " nights")
|
|
82
|
+
};
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_Calendar.Calendar, _extends({}, props, {
|
|
84
|
+
tooltips: tooltips,
|
|
85
|
+
value: value,
|
|
86
|
+
onChange: handleChange,
|
|
87
|
+
onFocus: handleFocus
|
|
88
|
+
}));
|
|
22
89
|
};
|
|
23
90
|
exports.Story = Story;
|
|
24
|
-
var format = 'DD/MM/YYYY';
|
|
25
|
-
var today = new Date();
|
|
26
91
|
Story.storyName = 'Calendar';
|
|
27
92
|
Story.args = (_Story$args = {
|
|
28
93
|
captions: (_captions = {}, _defineProperty(_captions, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'days'), {
|
|
@@ -47,7 +112,7 @@ Story.args = (_Story$args = {
|
|
|
47
112
|
})],
|
|
48
113
|
disabledPast: true,
|
|
49
114
|
format: format,
|
|
50
|
-
from: '',
|
|
115
|
+
from: (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 2, 'days')),
|
|
51
116
|
highlights: [(0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'days'), {
|
|
52
117
|
format: format
|
|
53
118
|
}), (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 10, 'days'), {
|
|
@@ -62,24 +127,13 @@ Story.args = (_Story$args = {
|
|
|
62
127
|
locale: 'es-ES',
|
|
63
128
|
months: 2,
|
|
64
129
|
range: true,
|
|
65
|
-
rangeMaxDays:
|
|
66
|
-
rangeMinDays:
|
|
130
|
+
rangeMaxDays: 14,
|
|
131
|
+
rangeMinDays: 3,
|
|
67
132
|
to: (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'months')),
|
|
133
|
+
tooltips: _defineProperty({}, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'days'), {
|
|
134
|
+
format: format
|
|
135
|
+
}), '10.95$'),
|
|
68
136
|
value: [(0, _locale.dateFormat)((0, _locale.dateCalc)(today, 10, 'days')), (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 13, 'days'))],
|
|
69
|
-
onChange: function onChange() {
|
|
70
|
-
var _console;
|
|
71
|
-
for (var _len = arguments.length, props = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
72
|
-
props[_key] = arguments[_key];
|
|
73
|
-
}
|
|
74
|
-
return (_console = console).log.apply(_console, ['<Calendar>::onChange'].concat(props));
|
|
75
|
-
},
|
|
76
|
-
onFocus: function onFocus() {
|
|
77
|
-
var _console2;
|
|
78
|
-
for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
79
|
-
props[_key2] = arguments[_key2];
|
|
80
|
-
}
|
|
81
|
-
return (_console2 = console).log.apply(_console2, ['<Calendar>::onFocus'].concat(props));
|
|
82
|
-
},
|
|
83
137
|
onNavigation: function onNavigation() {
|
|
84
138
|
var _console3;
|
|
85
139
|
for (var _len3 = arguments.length, props = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.stories.js","names":["title","Story","props","
|
|
1
|
+
{"version":3,"file":"Calendar.stories.js","names":["title","format","today","Date","Story","props","useState","focus","setFocus","value","setValue","handleChange","from","to","console","log","dateFormat","undefined","handleFocus","nextFocus","tooltips","dateCalc","pressable","visible","text","dateDiff","parseDate","nights","days","rangeMinDays","storyName","args","captions","disabledDates","disabledPast","highlights","locale","months","range","rangeMaxDays","onNavigation","onScroll","argTypes","options","control","type","defaultValue"],"sources":["../../../src/components/Calendar/Calendar.stories.jsx"],"sourcesContent":["import { dateCalc, dateDiff, dateFormat, parseDate } from '@mirai/locale';\nimport React, { useState } from 'react';\n\nimport { Calendar } from './Calendar';\n\nexport default { title: 'Components' };\n\nconst format = 'DD/MM/YYYY';\nconst today = new Date();\n\nexport const Story = (props) => {\n const [focus, setFocus] = useState();\n const [value, setValue] = useState(props.value);\n\n const handleChange = ([from, to], ...props) => {\n console.log('<Calendar>::onChange', [from, to], ...props);\n setValue([from ? dateFormat(from, { format }) : undefined, to ? dateFormat(to, { format }) : undefined]);\n };\n\n const handleFocus = (nextFocus, ...props) => {\n console.log('<Calendar>::onFocus', nextFocus, ...props);\n setFocus(nextFocus ? dateFormat(nextFocus, { format }) : undefined);\n };\n\n const tooltips = {\n [dateFormat(dateCalc(today, 6, 'days'), { format })]: { pressable: false, visible: false, text: '10.95$' },\n };\n const [from, to = focus] = value;\n const { days: nights } = dateDiff(parseDate(from, format), parseDate(to, format));\n\n if (from) tooltips[from] = { text: `Min. ${props.rangeMinDays} nights` };\n if (nights >= props.rangeMinDays) tooltips[to] = { text: `${nights} nights` };\n\n return <Calendar {...props} {...{ tooltips, value }} onChange={handleChange} onFocus={handleFocus} />;\n};\n\nStory.storyName = 'Calendar';\n\nStory.args = {\n captions: {\n [dateFormat(dateCalc(today, 6, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 8, 'days'), { format })]: '129510.95$',\n [dateFormat(dateCalc(today, 16, 'days'), { format })]: '10.95$',\n [dateFormat(dateCalc(today, 18, 'days'), { format })]: '9.95$',\n },\n disabledDates: [\n dateFormat(dateCalc(today, 20, 'days'), { format }),\n dateFormat(dateCalc(today, 21, 'days'), { format }),\n dateFormat(dateCalc(today, 22, 'days'), { format }),\n dateFormat(dateCalc(today, 23, 'days'), { format }),\n dateFormat(dateCalc(today, 24, 'days'), { format }),\n ],\n disabledPast: true,\n format,\n from: dateFormat(dateCalc(today, 2, 'days')),\n highlights: [\n dateFormat(dateCalc(today, 6, 'days'), { format }),\n dateFormat(dateCalc(today, 10, 'days'), { format }),\n dateFormat(dateCalc(today, 12, 'days'), { format }),\n dateFormat(dateCalc(today, 14, 'days'), { format }),\n dateFormat(dateCalc(today, 16, 'days'), { format }),\n ],\n locale: 'es-ES',\n months: 2,\n range: true,\n rangeMaxDays: 14,\n rangeMinDays: 3,\n to: dateFormat(dateCalc(today, 6, 'months')),\n tooltips: {\n [dateFormat(dateCalc(today, 6, 'days'), { format })]: '10.95$',\n },\n value: [dateFormat(dateCalc(today, 10, 'days')), dateFormat(dateCalc(today, 13, 'days'))],\n onNavigation: (...props) => console.log('<Calendar>::onNavigation', ...props),\n onScroll: (...props) => console.log('<Calendar>::onScroll', ...props),\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n locale: {\n options: ['es-ES', 'en-GB', 'fr-FR', 'it-IT', 'pt-PT', 'fr-BE', 'de-DE', 'ja-JA'],\n control: { type: 'select' },\n defaultValue: 'es-ES',\n },\n};\n"],"mappings":"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"}
|