@mirai/ui 1.0.109 → 1.0.111-beta
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 +3 -0
- package/build/components/Action/Action.js +4 -2
- package/build/components/Action/Action.js.map +1 -1
- package/build/components/Action/Action.module.css +5 -0
- package/build/components/Action/Action.stories.js +1 -0
- package/build/components/Action/Action.stories.js.map +1 -1
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +10 -0
- package/build/components/Calendar/Calendar.Week.js +3 -3
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.constants.js +1 -3
- package/build/components/Calendar/Calendar.constants.js.map +1 -1
- package/build/components/Calendar/Calendar.js +21 -31
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.stories.js +19 -13
- package/build/components/Calendar/Calendar.stories.js.map +1 -1
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +368 -124
- package/build/primitives/Text/Text.js +4 -2
- package/build/primitives/Text/Text.js.map +1 -1
- package/build/primitives/Text/Text.module.css +4 -0
- package/build/primitives/Text/Text.stories.js +1 -0
- package/build/primitives/Text/Text.stories.js.map +1 -1
- package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +10 -0
- package/build/primitives/View/View.js +5 -3
- package/build/primitives/View/View.js.map +1 -1
- package/build/primitives/View/View.module.css +5 -1
- package/build/primitives/View/View.stories.js +2 -1
- package/build/primitives/View/View.stories.js.map +1 -1
- package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +8 -0
- package/build/theme/default.theme.css +3 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -277,6 +277,7 @@ A primitive for displaying text. It receives the following props:
|
|
|
277
277
|
- `level:number` assign the level of heading (1, 2, 3 or 4)
|
|
278
278
|
- `small:boolean` modifying font-size
|
|
279
279
|
- `tag:string` html tag of resulting element
|
|
280
|
+
- `underline:boolean` use an underline text decoration
|
|
280
281
|
- `upperCase:boolean` switching text to upper case
|
|
281
282
|
|
|
282
283
|
```jsx
|
|
@@ -299,6 +300,7 @@ This primitive works as a container for displaying layout. It receives the follo
|
|
|
299
300
|
- `fit:boolean` sets width CSS property as 'fit-content' if true
|
|
300
301
|
- `row:boolean` sets flex-direction as 'row' if true
|
|
301
302
|
- `tag:string` html tag of resulting element
|
|
303
|
+
- `wide:bool` modifying the button to full-width
|
|
302
304
|
|
|
303
305
|
```jsx
|
|
304
306
|
import { Text, View } from '@mirai/ui';
|
|
@@ -327,6 +329,7 @@ A hyperlink component that receives the following props:
|
|
|
327
329
|
- `large:boolean` modifying the button size
|
|
328
330
|
- `small:boolean` modifying the button size
|
|
329
331
|
- `tag:string` html tag of resulting element ('button' by default)
|
|
332
|
+
- `underline:boolean` use an underline text decoration
|
|
330
333
|
- `wide:bool` modifying the button to full-width
|
|
331
334
|
- `onEnter:function` executed when the user hovers over
|
|
332
335
|
- `onLeave:function` executed when the user hovers away
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _helpers = require("../../helpers");
|
|
11
11
|
var _primitives = require("../../primitives");
|
|
12
12
|
var _ActionModule = _interopRequireDefault(require("./Action.module.css"));
|
|
13
|
-
var _excluded = ["children", "disabled", "inline", "large", "small", "tag", "wide", "onPress"];
|
|
13
|
+
var _excluded = ["children", "disabled", "inline", "large", "small", "tag", "underline", "wide", "onPress"];
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
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; }
|
|
16
16
|
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; }
|
|
@@ -27,13 +27,14 @@ var Action = function Action(_ref) {
|
|
|
27
27
|
small = _ref.small,
|
|
28
28
|
_ref$tag = _ref.tag,
|
|
29
29
|
tag = _ref$tag === void 0 ? 'button' : _ref$tag,
|
|
30
|
+
underline = _ref.underline,
|
|
30
31
|
wide = _ref.wide,
|
|
31
32
|
onPress = _ref.onPress,
|
|
32
33
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
33
34
|
return /*#__PURE__*/_react.default.createElement(_primitives.Pressable, _objectSpread(_objectSpread({}, others), {}, {
|
|
34
35
|
disabled: disabled,
|
|
35
36
|
tag: tag,
|
|
36
|
-
className: (0, _helpers.styles)(_ActionModule.default.action, inline && _ActionModule.default.inline, large && _ActionModule.default.large, small && _ActionModule.default.small, wide && _ActionModule.default.wide, others.className),
|
|
37
|
+
className: (0, _helpers.styles)(_ActionModule.default.action, inline && _ActionModule.default.inline, large && _ActionModule.default.large, small && _ActionModule.default.small, underline && _ActionModule.default.underline, wide && _ActionModule.default.wide, others.className),
|
|
37
38
|
onPress: onPress
|
|
38
39
|
}), children);
|
|
39
40
|
};
|
|
@@ -46,6 +47,7 @@ Action.propTypes = {
|
|
|
46
47
|
large: _propTypes.default.bool,
|
|
47
48
|
small: _propTypes.default.bool,
|
|
48
49
|
tag: _propTypes.default.string,
|
|
50
|
+
underline: _propTypes.default.bool,
|
|
49
51
|
wide: _propTypes.default.bool,
|
|
50
52
|
onEnter: _propTypes.default.func,
|
|
51
53
|
onLeave: _propTypes.default.func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","names":["Action","children","disabled","inline","large","small","tag","wide","onPress","others","React","createElement","Pressable","className","styles","style","action","displayName","propTypes","PropTypes","oneOfType","string","node","bool","onEnter","func","onLeave"],"sources":["../../../src/components/Action/Action.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable } from '../../primitives';\nimport style from './Action.module.css';\n\nconst Action = ({ children, disabled, inline, large, small, tag = 'button', wide, onPress, ...others }) =>\n React.createElement(\n Pressable,\n {\n ...others,\n disabled,\n tag,\n className: styles(\n style.action,\n inline && style.inline,\n large && style.large,\n small && style.small,\n wide && style.wide,\n others.className,\n ),\n onPress,\n },\n children,\n );\n\nAction.displayName = 'Component:Action';\n\nAction.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n inline: PropTypes.bool,\n large: PropTypes.bool,\n small: PropTypes.bool,\n tag: PropTypes.string,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAExC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAA,gBAAEC,GAAG;IAAHA,GAAG,yBAAG,QAAQ;IAAEC,IAAI,QAAJA,IAAI;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EAAA,
|
|
1
|
+
{"version":3,"file":"Action.js","names":["Action","children","disabled","inline","large","small","tag","underline","wide","onPress","others","React","createElement","Pressable","className","styles","style","action","displayName","propTypes","PropTypes","oneOfType","string","node","bool","onEnter","func","onLeave"],"sources":["../../../src/components/Action/Action.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable } from '../../primitives';\nimport style from './Action.module.css';\n\nconst Action = ({ children, disabled, inline, large, small, tag = 'button', underline, wide, onPress, ...others }) =>\n React.createElement(\n Pressable,\n {\n ...others,\n disabled,\n tag,\n className: styles(\n style.action,\n inline && style.inline,\n large && style.large,\n small && style.small,\n underline && style.underline,\n wide && style.wide,\n others.className,\n ),\n onPress,\n },\n children,\n );\n\nAction.displayName = 'Component:Action';\n\nAction.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n inline: PropTypes.bool,\n large: PropTypes.bool,\n small: PropTypes.bool,\n tag: PropTypes.string,\n underline: PropTypes.bool,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAExC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAA,gBAAEC,GAAG;IAAHA,GAAG,yBAAG,QAAQ;IAAEC,SAAS,QAATA,SAAS;IAAEC,IAAI,QAAJA,IAAI;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EAAA,oBAC7GC,cAAK,CAACC,aAAa,CACjBC,qBAAS,kCAEJH,MAAM;IACTR,QAAQ,EAARA,QAAQ;IACRI,GAAG,EAAHA,GAAG;IACHQ,SAAS,EAAE,IAAAC,eAAM,EACfC,qBAAK,CAACC,MAAM,EACZd,MAAM,IAAIa,qBAAK,CAACb,MAAM,EACtBC,KAAK,IAAIY,qBAAK,CAACZ,KAAK,EACpBC,KAAK,IAAIW,qBAAK,CAACX,KAAK,EACpBE,SAAS,IAAIS,qBAAK,CAACT,SAAS,EAC5BC,IAAI,IAAIQ,qBAAK,CAACR,IAAI,EAClBE,MAAM,CAACI,SAAS,CACjB;IACDL,OAAO,EAAPA;EAAO,IAETR,QAAQ,CACT;AAAA;AAAC;AAEJD,MAAM,CAACkB,WAAW,GAAG,kBAAkB;AAEvClB,MAAM,CAACmB,SAAS,GAAG;EACjBlB,QAAQ,EAAEmB,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACG,IAAI,CAAC,CAAC;EACjErB,QAAQ,EAAEkB,kBAAS,CAACI,IAAI;EACxBrB,MAAM,EAAEiB,kBAAS,CAACI,IAAI;EACtBpB,KAAK,EAAEgB,kBAAS,CAACI,IAAI;EACrBnB,KAAK,EAAEe,kBAAS,CAACI,IAAI;EACrBlB,GAAG,EAAEc,kBAAS,CAACE,MAAM;EACrBf,SAAS,EAAEa,kBAAS,CAACI,IAAI;EACzBhB,IAAI,EAAEY,kBAAS,CAACI,IAAI;EACpBC,OAAO,EAAEL,kBAAS,CAACM,IAAI;EACvBC,OAAO,EAAEP,kBAAS,CAACM,IAAI;EACvBjB,OAAO,EAAEW,kBAAS,CAACM;AACrB,CAAC"}
|
|
@@ -28,6 +28,7 @@ Story.args = (_Story$args = {
|
|
|
28
28
|
large: false,
|
|
29
29
|
small: false,
|
|
30
30
|
tag: 'button',
|
|
31
|
+
underline: false,
|
|
31
32
|
wide: false
|
|
32
33
|
}, _defineProperty(_Story$args, 'data-testid', 'test-story'), _defineProperty(_Story$args, "href", undefined), _defineProperty(_Story$args, "style", {}), _Story$args);
|
|
33
34
|
Story.argTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.stories.js","names":["title","Story","props","storyName","args","children","disabled","inline","large","small","tag","wide","undefined","argTypes","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Action/Action.stories.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Action } from './Action';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => <Action {...props} />;\n\nStory.storyName = 'Action';\n\nStory.args = {\n children: 'children',\n disabled: false,\n inline: false,\n large: false,\n small: false,\n tag: 'button',\n wide: false,\n // inherited properties\n ['data-testid']: 'test-story',\n href: undefined,\n style: {},\n};\n\nStory.argTypes = {\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;AAAA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK;EAAA,oBAAK,6BAAC,cAAM,EAAKA,KAAK,CAAI;AAAA;AAAC;AAEtDD,KAAK,CAACE,SAAS,GAAG,QAAQ;AAE1BF,KAAK,CAACG,IAAI;EACRC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAE,KAAK;EACZC,KAAK,EAAE,KAAK;EACZC,GAAG,EAAE,QAAQ;EACbC,IAAI,EAAE;AAAK,gCAEV,aAAa,EAAG,YAAY,wCACvBC,SAAS,yCACR,CAAC,CAAC,eACV;
|
|
1
|
+
{"version":3,"file":"Action.stories.js","names":["title","Story","props","storyName","args","children","disabled","inline","large","small","tag","underline","wide","undefined","argTypes","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Action/Action.stories.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Action } from './Action';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => <Action {...props} />;\n\nStory.storyName = 'Action';\n\nStory.args = {\n children: 'children',\n disabled: false,\n inline: false,\n large: false,\n small: false,\n tag: 'button',\n underline: false,\n wide: false,\n // inherited properties\n ['data-testid']: 'test-story',\n href: undefined,\n style: {},\n};\n\nStory.argTypes = {\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;AAAA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK;EAAA,oBAAK,6BAAC,cAAM,EAAKA,KAAK,CAAI;AAAA;AAAC;AAEtDD,KAAK,CAACE,SAAS,GAAG,QAAQ;AAE1BF,KAAK,CAACG,IAAI;EACRC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfC,MAAM,EAAE,KAAK;EACbC,KAAK,EAAE,KAAK;EACZC,KAAK,EAAE,KAAK;EACZC,GAAG,EAAE,QAAQ;EACbC,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE;AAAK,gCAEV,aAAa,EAAG,YAAY,wCACvBC,SAAS,yCACR,CAAC,CAAC,eACV;AAEDZ,KAAK,CAACa,QAAQ,GAAG;EACfC,OAAO,EAAE;IAAEC,MAAM,EAAE;EAAU,CAAC;EAC9BC,OAAO,EAAE;IAAED,MAAM,EAAE;EAAU,CAAC;EAC9BE,OAAO,EAAE;IAAEF,MAAM,EAAE;EAAU;AAC/B,CAAC"}
|
|
@@ -81,6 +81,16 @@ exports[`component:<Action> prop:tag 1`] = `
|
|
|
81
81
|
</DocumentFragment>
|
|
82
82
|
`;
|
|
83
83
|
|
|
84
|
+
exports[`component:<Action> prop:underline 1`] = `
|
|
85
|
+
<DocumentFragment>
|
|
86
|
+
<button
|
|
87
|
+
class="pressable action underline"
|
|
88
|
+
>
|
|
89
|
+
children
|
|
90
|
+
</button>
|
|
91
|
+
</DocumentFragment>
|
|
92
|
+
`;
|
|
93
|
+
|
|
84
94
|
exports[`component:<Action> prop:wide 1`] = `
|
|
85
95
|
<DocumentFragment>
|
|
86
96
|
<button
|
|
@@ -129,7 +129,7 @@ var Week = function Week(_ref) {
|
|
|
129
129
|
},
|
|
130
130
|
className: _CalendarModule.default.cell,
|
|
131
131
|
"data-testid": "".concat(others['data-testid'] || 'calendar', "-").concat(number, "-").concat(day)
|
|
132
|
-
}, is.visible && /*#__PURE__*/_react.default.createElement(tooltip ? _Tooltip.Tooltip : _react.Fragment, tooltip
|
|
132
|
+
}, is.visible && /*#__PURE__*/_react.default.createElement(tooltip ? _Tooltip.Tooltip : _react.Fragment, tooltip ? _objectSpread({
|
|
133
133
|
pressable: true,
|
|
134
134
|
timestamp: timestamp,
|
|
135
135
|
top: true,
|
|
@@ -141,8 +141,8 @@ var Week = function Week(_ref) {
|
|
|
141
141
|
className: textStyle
|
|
142
142
|
}, date.getDate()), captions && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
143
143
|
small: true,
|
|
144
|
-
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !is.highlight && !is.selected && !is.rangeLimit && _CalendarModule.default.color, !captions[dateString] && !is.rangeLimit && _CalendarModule.default.empty)
|
|
145
|
-
},
|
|
144
|
+
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !is.highlight && !is.selected && !is.rangeLimit && _CalendarModule.default.color, (!captions[dateString] && !is.rangeLimit || is.disabled) && _CalendarModule.default.empty)
|
|
145
|
+
}, captions[dateString] || '-'))));
|
|
146
146
|
}));
|
|
147
147
|
};
|
|
148
148
|
exports.Week = Week;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","timestamp","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","showTooltip","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 timestamp,\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 && others.showTooltip\n ? { pressable: true, timestamp, top: true, visible: true, ...tooltip }\n : {},\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 timestamp: PropTypes.number,\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","timestamp","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 timestamp,\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, timestamp, 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) || is.disabled) && style.empty,\n )}\n >\n {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 timestamp: PropTypes.number,\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VISIBLE_WEEKS = exports.
|
|
6
|
+
exports.VISIBLE_WEEKS = exports.DAYS = void 0;
|
|
7
7
|
var DAYS = Array.from(Array(7).keys());
|
|
8
8
|
exports.DAYS = DAYS;
|
|
9
|
-
var SCROLL_TOOLTIP_TIME = 100;
|
|
10
|
-
exports.SCROLL_TOOLTIP_TIME = SCROLL_TOOLTIP_TIME;
|
|
11
9
|
var VISIBLE_WEEKS = Array.from(Array(6).keys());
|
|
12
10
|
exports.VISIBLE_WEEKS = VISIBLE_WEEKS;
|
|
13
11
|
//# sourceMappingURL=Calendar.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.constants.js","names":["DAYS","Array","from","keys","
|
|
1
|
+
{"version":3,"file":"Calendar.constants.js","names":["DAYS","Array","from","keys","VISIBLE_WEEKS"],"sources":["../../../src/components/Calendar/Calendar.constants.js"],"sourcesContent":["const DAYS = Array.from(Array(7).keys());\n\nconst VISIBLE_WEEKS = Array.from(Array(6).keys());\n\nexport { DAYS, VISIBLE_WEEKS };\n"],"mappings":";;;;;;AAAA,IAAMA,IAAI,GAAGC,KAAK,CAACC,IAAI,CAACD,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE,CAAC;AAAC;AAEzC,IAAMC,aAAa,GAAGH,KAAK,CAACC,IAAI,CAACD,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE,CAAC;AAAC"}
|
|
@@ -11,10 +11,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _helpers = require("../../helpers");
|
|
12
12
|
var _hooks = require("../../hooks");
|
|
13
13
|
var _primitives = require("../../primitives");
|
|
14
|
-
var _Calendar = require("./Calendar.constants");
|
|
15
14
|
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
16
|
-
var
|
|
17
|
-
var
|
|
15
|
+
var _Calendar = require("./Calendar.Month");
|
|
16
|
+
var _Calendar2 = require("./Calendar.Weekdays");
|
|
18
17
|
var _helpers2 = require("./helpers");
|
|
19
18
|
var _excluded = ["disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
20
19
|
_excluded2 = ["className", "months"];
|
|
@@ -61,32 +60,28 @@ var Calendar = function Calendar(_ref) {
|
|
|
61
60
|
isMobile = _useDevice.isMobile;
|
|
62
61
|
var _useState = (0, _react.useState)(),
|
|
63
62
|
_useState2 = _slicedToArray(_useState, 2),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
var _useState3 = (0, _react.useState)(),
|
|
63
|
+
focus = _useState2[0],
|
|
64
|
+
setFocus = _useState2[1];
|
|
65
|
+
var _useState3 = (0, _react.useState)((0, _helpers2.getFirstDateOfMonth)((0, _helpers2.getToday)())),
|
|
67
66
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var _useState5 = (0, _react.useState)(
|
|
67
|
+
instance = _useState4[0],
|
|
68
|
+
setInstance = _useState4[1];
|
|
69
|
+
var _useState5 = (0, _react.useState)(),
|
|
71
70
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
scrollTo = _useState6[0],
|
|
72
|
+
setScrollTo = _useState6[1];
|
|
74
73
|
var _useState7 = (0, _react.useState)(),
|
|
75
74
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
scrolling = _useState8[0],
|
|
76
|
+
setScrolling = _useState8[1];
|
|
78
77
|
var _useState9 = (0, _react.useState)(range ? [] : undefined),
|
|
79
78
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
80
79
|
selected = _useState10[0],
|
|
81
80
|
setSelected = _useState10[1];
|
|
82
81
|
var _useState11 = (0, _react.useState)(),
|
|
83
82
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var _useState13 = (0, _react.useState)(),
|
|
87
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
88
|
-
timestamp = _useState14[0],
|
|
89
|
-
setTimestamp = _useState14[1];
|
|
83
|
+
timestamp = _useState12[0],
|
|
84
|
+
setTimestamp = _useState12[1];
|
|
90
85
|
(0, _react.useEffect)(function () {
|
|
91
86
|
var date = range ? value ? value[0] : undefined : value;
|
|
92
87
|
if (from && !date) {
|
|
@@ -103,9 +98,8 @@ var Calendar = function Calendar(_ref) {
|
|
|
103
98
|
var _dateDiff2 = (0, _locale.dateDiff)(instance, date),
|
|
104
99
|
diffMonths = _dateDiff2.months;
|
|
105
100
|
if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (isMobile) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
setScrollTo(nextScroll);
|
|
101
|
+
setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
102
|
+
setScrolling(false);
|
|
109
103
|
}
|
|
110
104
|
}
|
|
111
105
|
setSelected(range ? [(0, _locale.UTC)(date), value[1] ? (0, _locale.UTC)((0, _locale.parseDate)(value[1], format)) : undefined] : (0, _locale.UTC)(date));
|
|
@@ -115,7 +109,6 @@ var Calendar = function Calendar(_ref) {
|
|
|
115
109
|
onFocus(focus);
|
|
116
110
|
}, [focus, onFocus]);
|
|
117
111
|
var handleChange = function handleChange(date) {
|
|
118
|
-
setShowTooltip(true);
|
|
119
112
|
setSelected(function () {
|
|
120
113
|
var next;
|
|
121
114
|
if (!range) {
|
|
@@ -139,10 +132,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
139
132
|
});
|
|
140
133
|
};
|
|
141
134
|
var handleScroll = function handleScroll(event) {
|
|
142
|
-
if (
|
|
143
|
-
return setAutomaticScroll(false);
|
|
144
|
-
}, _Calendar.SCROLL_TOOLTIP_TIME);
|
|
145
|
-
!automaticScroll && setShowTooltip(false);
|
|
135
|
+
if (isMobile) setScrolling(true);
|
|
146
136
|
onScroll(event);
|
|
147
137
|
setTimestamp(Date.now());
|
|
148
138
|
};
|
|
@@ -164,10 +154,10 @@ var Calendar = function Calendar(_ref) {
|
|
|
164
154
|
from: from ? (0, _locale.parseDate)(from, format) : undefined,
|
|
165
155
|
locale: locale,
|
|
166
156
|
range: range,
|
|
157
|
+
selected: selected,
|
|
167
158
|
timestamp: timestamp,
|
|
168
159
|
to: range && rangeMaxDays && selected[0] && !selected[1] && (!to || (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') < (0, _locale.parseDate)(to, format)) ? (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
|
|
169
|
-
|
|
170
|
-
showTooltip: showTooltip,
|
|
160
|
+
tooltips: !isMobile || !scrolling ? props.tooltips : {},
|
|
171
161
|
onChange: handleChange,
|
|
172
162
|
onFocus: isDesktop ? setFocus : undefined
|
|
173
163
|
});
|
|
@@ -175,7 +165,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
175
165
|
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
176
166
|
className: (0, _helpers.styles)(_CalendarModule.default.container, className),
|
|
177
167
|
"data-testid": testID
|
|
178
|
-
}, isMobile && /*#__PURE__*/_react.default.createElement(
|
|
168
|
+
}, isMobile && /*#__PURE__*/_react.default.createElement(_Calendar2.Weekdays, {
|
|
179
169
|
locale: locale
|
|
180
170
|
}), /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, {
|
|
181
171
|
horizontal: isDesktop,
|
|
@@ -186,7 +176,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
186
176
|
}, Array.from({
|
|
187
177
|
length: months
|
|
188
178
|
}, function (empty, index) {
|
|
189
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
179
|
+
return /*#__PURE__*/_react.default.createElement(_Calendar.Month, _extends({
|
|
190
180
|
"data-testid": testID,
|
|
191
181
|
key: index,
|
|
192
182
|
onNext: isDesktop && index === months - 1 && !disabledNext ? function () {
|
|
@@ -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","automaticScroll","setAutomaticScroll","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","undefined","selected","setSelected","showTooltip","setShowTooltip","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","nextScroll","getScrollTo","UTC","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","handleScroll","event","y","setTimeout","SCROLL_TOOLTIP_TIME","now","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 { SCROLL_TOOLTIP_TIME } from './Calendar.constants';\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 [automaticScroll, setAutomaticScroll] = useState();\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 const [showTooltip, setShowTooltip] = useState();\n const [timestamp, setTimestamp] = useState();\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) {\n const nextScroll = getScrollTo(diffMonths);\n setAutomaticScroll(nextScroll > 0 && nextScroll !== scrollTo);\n setScrollTo(nextScroll);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setShowTooltip(true);\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 handleScroll = (event) => {\n if (event.y >= scrollTo) setTimeout(() => setAutomaticScroll(false), SCROLL_TOOLTIP_TIME);\n !automaticScroll && setShowTooltip(false);\n onScroll(event);\n setTimestamp(Date.now());\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 timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n selected,\n showTooltip,\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={handleScroll}\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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"}
|
|
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","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","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 [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\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) {\n setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n 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 handleScroll = (event) => {\n if (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\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 selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: 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={handleScroll}\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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"}
|
|
@@ -8,13 +8,13 @@ exports.default = exports.Story = void 0;
|
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Calendar = require("./Calendar");
|
|
11
|
-
var _captions, _Story$args;
|
|
11
|
+
var _captions, _tooltips, _Story$args;
|
|
12
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
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); }
|
|
15
14
|
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; }
|
|
16
15
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
17
16
|
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
|
+
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); }
|
|
18
18
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
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
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); }
|
|
@@ -32,7 +32,7 @@ var Story = function Story(props) {
|
|
|
32
32
|
_useState2 = _slicedToArray(_useState, 2),
|
|
33
33
|
focus = _useState2[0],
|
|
34
34
|
setFocus = _useState2[1];
|
|
35
|
-
var _useState3 = (0, _react.useState)(props.value),
|
|
35
|
+
var _useState3 = (0, _react.useState)(props.value || []),
|
|
36
36
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
37
37
|
value = _useState4[0],
|
|
38
38
|
setValue = _useState4[1];
|
|
@@ -61,19 +61,13 @@ var Story = function Story(props) {
|
|
|
61
61
|
format: format
|
|
62
62
|
}) : undefined);
|
|
63
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
64
|
var _value = _slicedToArray(value, 2),
|
|
72
65
|
from = _value[0],
|
|
73
66
|
_value$ = _value[1],
|
|
74
67
|
to = _value$ === void 0 ? focus : _value$;
|
|
75
68
|
var _dateDiff = (0, _locale.dateDiff)((0, _locale.parseDate)(from, format), (0, _locale.parseDate)(to, format)),
|
|
76
69
|
nights = _dateDiff.days;
|
|
70
|
+
var tooltips = from ? {} : props.tooltips;
|
|
77
71
|
if (from) tooltips[from] = {
|
|
78
72
|
text: "Min. ".concat(props.rangeMinDays, " nights")
|
|
79
73
|
};
|
|
@@ -90,7 +84,9 @@ var Story = function Story(props) {
|
|
|
90
84
|
exports.Story = Story;
|
|
91
85
|
Story.storyName = 'Calendar';
|
|
92
86
|
Story.args = (_Story$args = {
|
|
93
|
-
captions: (_captions = {}, _defineProperty(_captions, (0, _locale.dateFormat)((0, _locale.dateCalc)(today,
|
|
87
|
+
captions: (_captions = {}, _defineProperty(_captions, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, -2, 'days'), {
|
|
88
|
+
format: format
|
|
89
|
+
}), '10.95$'), _defineProperty(_captions, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'days'), {
|
|
94
90
|
format: format
|
|
95
91
|
}), '10.95$'), _defineProperty(_captions, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 8, 'days'), {
|
|
96
92
|
format: format
|
|
@@ -130,9 +126,19 @@ Story.args = (_Story$args = {
|
|
|
130
126
|
rangeMaxDays: 14,
|
|
131
127
|
rangeMinDays: 3,
|
|
132
128
|
to: (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 6, 'months')),
|
|
133
|
-
tooltips:
|
|
129
|
+
tooltips: (_tooltips = {}, _defineProperty(_tooltips, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 15, 'days'), {
|
|
130
|
+
format: format
|
|
131
|
+
}), {
|
|
132
|
+
text: '10.95$'
|
|
133
|
+
}), _defineProperty(_tooltips, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 30, 'days'), {
|
|
134
134
|
format: format
|
|
135
|
-
}),
|
|
135
|
+
}), {
|
|
136
|
+
text: '10.95$'
|
|
137
|
+
}), _defineProperty(_tooltips, (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 45, 'days'), {
|
|
138
|
+
format: format
|
|
139
|
+
}), {
|
|
140
|
+
text: '10.95$'
|
|
141
|
+
}), _tooltips),
|
|
136
142
|
value: [(0, _locale.dateFormat)((0, _locale.dateCalc)(today, 10, 'days')), (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 13, 'days'))],
|
|
137
143
|
onNavigation: function onNavigation() {
|
|
138
144
|
var _console3;
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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","dateDiff","parseDate","nights","days","tooltips","text","rangeMinDays","storyName","args","captions","dateCalc","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 [from, to = focus] = value;\n const { days: nights } = dateDiff(parseDate(from, format), parseDate(to, format));\n\n const tooltips = from ? {} : props.tooltips;\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, -2, 'days'), { format })]: '10.95$',\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, 15, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 30, 'days'), { format })]: { text: '10.95$' },\n [dateFormat(dateCalc(today, 45, 'days'), { format })]: { text: '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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"}
|