@terraware/web-components 2.12.9-rc.0 → 2.12.9-rc.2
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/components/DatePicker/DatePicker.d.ts +16 -12
- package/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/components/DatePicker/DatePicker.js +19 -13
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/license-report.html +1 -1
- package/package.json +4 -4
- package/stories/DatePicker.stories.d.ts.map +1 -1
- package/utils/date.d.ts +13 -4
- package/utils/date.d.ts.map +1 -1
- package/utils/date.js +33 -14
- package/utils/date.test.js +42 -5
@@ -1,14 +1,8 @@
|
|
1
1
|
import React, { KeyboardEventHandler } from 'react';
|
2
2
|
import { DateTime } from 'luxon';
|
3
3
|
import './styles.scss';
|
4
|
-
|
5
|
-
|
6
|
-
* - luxon DateTime
|
7
|
-
* - string for any date string representation
|
8
|
-
* - number for timestamp
|
9
|
-
* - null for no value
|
10
|
-
*/
|
11
|
-
export type DateType = DateTime | string | number | null;
|
4
|
+
import { DateType } from '../../utils/date';
|
5
|
+
export type DatePickerDateType = Exclude<DateType, Date> | null;
|
12
6
|
export interface Props {
|
13
7
|
'aria-label': string;
|
14
8
|
autoFocus?: boolean;
|
@@ -20,12 +14,22 @@ export interface Props {
|
|
20
14
|
id: string;
|
21
15
|
label: React.ReactNode;
|
22
16
|
locale?: string;
|
23
|
-
maxDate?:
|
24
|
-
minDate?:
|
25
|
-
|
17
|
+
maxDate?: DatePickerDateType;
|
18
|
+
minDate?: DatePickerDateType;
|
19
|
+
/**
|
20
|
+
* @deprecated Use onDateChange and switch to
|
21
|
+
* handling luxon DateTime arguments.
|
22
|
+
*/
|
23
|
+
onChange: (value?: Date | null) => void;
|
24
|
+
/**
|
25
|
+
* TODO: remove deprecated onChange and
|
26
|
+
* make onDateChange required once all clients
|
27
|
+
* have migrated to using onDateChange.
|
28
|
+
*/
|
29
|
+
onDateChange?: (value?: DateTime) => void;
|
26
30
|
onError?: (reason: any, value: any) => void;
|
27
31
|
onKeyPress?: KeyboardEventHandler;
|
28
|
-
value?:
|
32
|
+
value?: DatePickerDateType;
|
29
33
|
}
|
30
34
|
export default function DatePicker(props: Props): JSX.Element;
|
31
35
|
//# sourceMappingURL=DatePicker.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAW,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AAgBD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAqE5D"}
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
7
7
|
});
|
8
8
|
exports.default = DatePicker;
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
9
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
10
11
|
var _react = _interopRequireWildcard(require("react"));
|
11
12
|
var _material = require("@mui/material");
|
@@ -14,14 +15,6 @@ var _AdapterLuxon = require("@mui/x-date-pickers/AdapterLuxon");
|
|
14
15
|
var _Icon = _interopRequireDefault(require("../Icon/Icon"));
|
15
16
|
require("./styles.scss");
|
16
17
|
var _date = require("../../utils/date");
|
17
|
-
/**
|
18
|
-
* Accepted date types for input are:
|
19
|
-
* - luxon DateTime
|
20
|
-
* - string for any date string representation
|
21
|
-
* - number for timestamp
|
22
|
-
* - null for no value
|
23
|
-
*/
|
24
|
-
|
25
18
|
var initializeDate = function initializeDate(value, defaultTimeZone) {
|
26
19
|
if (!value) {
|
27
20
|
return null;
|
@@ -44,8 +37,17 @@ function DatePicker(props) {
|
|
44
37
|
setTemporalValue(initializeDate(props.value, props.defaultTimeZone));
|
45
38
|
}
|
46
39
|
}, [props.defaultTimeZone, props.value]);
|
40
|
+
|
41
|
+
/**
|
42
|
+
* Note: the inputProps override for placeholder is needed
|
43
|
+
* with luxon since DatePicker's inputFormat as placeholder does not
|
44
|
+
* work at least with MUI 5.x
|
45
|
+
*/
|
47
46
|
var renderInput = function renderInput(params) {
|
48
47
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.TextField, Object.assign({}, params, {
|
48
|
+
inputProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params.inputProps), {}, {
|
49
|
+
placeholder: 'yyyy-mm-dd'
|
50
|
+
}),
|
49
51
|
id: props.id,
|
50
52
|
autoFocus: props.autoFocus,
|
51
53
|
onKeyPress: props.onKeyPress
|
@@ -72,16 +74,20 @@ function DatePicker(props) {
|
|
72
74
|
htmlFor: props.id,
|
73
75
|
className: "textfield-label"
|
74
76
|
}, props.label), /*#__PURE__*/_react.default.createElement(_xDatePickers.DesktopDatePicker, {
|
75
|
-
|
77
|
+
disabled: props.disabled,
|
78
|
+
inputFormat: "yyyy-MM-dd",
|
76
79
|
minDate: initializeDate(props.minDate, props.defaultTimeZone) || undefined,
|
77
80
|
maxDate: initializeDate(props.maxDate, props.defaultTimeZone) || undefined,
|
78
|
-
inputFormat: "yyyy-MM-dd",
|
79
|
-
value: temporalValue,
|
80
81
|
onChange: function onChange(newValue) {
|
81
82
|
setTemporalValue(newValue);
|
82
|
-
|
83
|
+
// TODO: remove onChange and make onDateChange required
|
84
|
+
props.onChange(newValue && newValue.isValid ? newValue.toJSDate() : null);
|
85
|
+
if (props.onDateChange) {
|
86
|
+
props.onDateChange(newValue && newValue.isValid ? newValue : undefined);
|
87
|
+
}
|
83
88
|
},
|
89
|
+
onError: props.onError,
|
84
90
|
renderInput: renderInput,
|
85
|
-
|
91
|
+
value: temporalValue
|
86
92
|
})));
|
87
93
|
}
|
package/index.d.ts
CHANGED
@@ -58,6 +58,7 @@ export type { PhotoItem } from './components/ViewPhotosDialog';
|
|
58
58
|
export type { SliderMark } from './components/Slider';
|
59
59
|
export type { Tab, TabsProps } from './components/Tabs';
|
60
60
|
export type { ConfirmProps } from './components/Confirm';
|
61
|
-
export type {
|
61
|
+
export type { DatePickerDateType, Props as DatePickerProps } from './components/DatePicker/DatePicker';
|
62
|
+
export type { DateType } from './utils/date';
|
62
63
|
export { Autocomplete, Badge, BusySpinner, Button, CellRenderer, CellDateRenderer, Checkbox, Confirm, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, DropdownV1, ErrorBox, FileChooser, FormBottomBar, getComparator, icons, Icon, IconTooltip, Message, MultiSelect, NavFooter, NavItem, NavSection, Navbar, Note, PageForm, Pill, PillList, PhotoChooser, Popover, PopoverMenu, PopoverMultiSelect, ProgressCircle, RadioButton, Select, SelectT, Separator, Slider, stableSort, SummaryBox, Svg, Table, Tabs, Textfield, TextTruncated, theme, Tooltip, ViewPhotosDialog, };
|
63
64
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,QAAQ,MAAM,gCAAgC,CAAC;AACtD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACjG,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACvG,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EACL,YAAY,EACZ,KAAK,EACL,WAAW,EACX,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,KAAK,EACL,IAAI,EACJ,WAAW,EACX,OAAO,EACP,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACV,UAAU,EACV,GAAG,EACH,KAAK,EACL,IAAI,EACJ,SAAS,EACT,aAAa,EACb,KAAK,EACL,OAAO,EACP,gBAAgB,GACjB,CAAC"}
|
package/license-report.html
CHANGED
@@ -45,6 +45,6 @@ th, td {
|
|
45
45
|
padding: 15px;
|
46
46
|
}
|
47
47
|
</style>
|
48
|
-
<table><thead><tr><th class="string">department</th><th class="string">related to</th><th class="string">name</th><th class="string">license period</th><th class="string">material / not material</th><th class="string">license type</th><th class="string">link</th><th class="string">remote version</th><th class="string">installed version</th><th class="string">defined version</th><th class="string">author</th></tr></thead><tbody><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@date-io/date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">2.17.0</td><td class="string">2.15.0</td><td class="string">^2.14.0</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@date-io/moment</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">2.17.0</td><td class="string">2.16.1</td><td class="string">^2.16.1</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@dnd-kit/core</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">6.1.0</td><td class="string">6.0.7</td><td class="string">^6.0.7</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@dnd-kit/sortable</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">7.0.2</td><td class="string">7.0.2</td><td class="string">^7.0.2</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@emotion/react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/emotion-js/emotion.git#main</td><td class="string">11.11.4</td><td class="string">11.11.3</td><td class="string">^11.11.3</td><td class="string">Emotion Contributors</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@emotion/styled</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/emotion-js/emotion.git#main</td><td class="string">11.11.5</td><td class="string">11.11.0</td><td class="string">^11.11.0</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/icons-material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/lab</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.0.0-alpha.170</td><td class="string">5.0.0-alpha.159</td><td class="string">^5.0.0-alpha.159</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/styles</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/x-date-pickers</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/mui-x.git</td><td class="string">5.0.20</td><td class="string">5.0.20</td><td class="string">^5.0.20</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">classnames</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/JedWatson/classnames.git</td><td class="string">2.5.1</td><td class="string">2.3.2</td><td class="string">^2.3.2</td><td class="string">Jed Watson</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/date-fns/date-fns.git</td><td class="string">2.30.0</td><td class="string">2.29.3</td><td class="string">^2.29.3</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">luxon</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/moment/luxon.git</td><td class="string">3.4.4</td><td class="string">3.3.0</td><td class="string">^3.3.0</td><td class="string">Isaac Cambron</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-dom</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-intersection-observer</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/thebuilder/react-intersection-observer.git</td><td class="string">9.8.2</td><td class="string">9.5.2</td><td class="string">^9.5.2</td><td class="string">Daniel Schmidt</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-multi-carousel</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/YIZHUANG/react-multi-carousel.git</td><td class="string">2.8.5</td><td class="string">2.8.3</td><td class="string">^2.8.2</td><td class="string">YI ZHUANG https://github.com/YIZHUANG</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-responsive</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git://github.com/contra/react-responsive.git</td><td class="string">9.0.2</td><td class="string">9.0.2</td><td class="string">^9.0.2</td><td class="string">Contra <yo@contra.io> (https://contra.io)</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-sortable-hoc</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/react-sortable-hoc.git</td><td class="string">2.0.0</td><td class="string">2.0.0</td><td class="string">^2.0.0</td><td class="string">Clauderic Demers me@ced.io</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">sass</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/sass/dart-sass.git</td><td class="string">1.74.1</td><td class="string">1.57.1</td><td class="string">^1.57.1</td><td class="string">Natalie Weizenbaum nweiz@google.com https://github.com/nex3</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">tinycolor2</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/bgrins/TinyColor.git</td><td class="string">1.6.0</td><td class="string">1.6.0</td><td class="string">^1.6.0</td><td class="string">Brian Grinstead <briangrinstead@gmail.com> (http://briangrinstead.com)</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">web-vitals</td><td class="string">perpetual</td><td class="string">material</td><td class="string">Apache-2.0</td><td class="string">git+https://github.com/GoogleChrome/web-vitals.git</td><td class="string">3.5.2</td><td class="string">3.3.0</td><td class="string">^3.3.0</td><td class="string">Philip Walton philip@philipwalton.com http://philipwalton.com</td></tr></tbody></table>
|
48
|
+
<table><thead><tr><th class="string">department</th><th class="string">related to</th><th class="string">name</th><th class="string">license period</th><th class="string">material / not material</th><th class="string">license type</th><th class="string">link</th><th class="string">remote version</th><th class="string">installed version</th><th class="string">defined version</th><th class="string">author</th></tr></thead><tbody><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@date-io/date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">3.0.0</td><td class="string">3.0.0</td><td class="string">^3.0.0</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@date-io/luxon</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">3.0.0</td><td class="string">3.0.0</td><td class="string">^3.0.0</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@dnd-kit/core</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">6.1.0</td><td class="string">6.0.7</td><td class="string">^6.0.7</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@dnd-kit/sortable</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">7.0.2</td><td class="string">7.0.2</td><td class="string">^7.0.2</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@emotion/react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/emotion-js/emotion.git#main</td><td class="string">11.11.4</td><td class="string">11.11.3</td><td class="string">^11.11.3</td><td class="string">Emotion Contributors</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@emotion/styled</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/emotion-js/emotion.git#main</td><td class="string">11.11.5</td><td class="string">11.11.0</td><td class="string">^11.11.0</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/icons-material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/lab</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.0.0-alpha.170</td><td class="string">5.0.0-alpha.159</td><td class="string">^5.0.0-alpha.159</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/styles</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.15.15</td><td class="string">5.15.3</td><td class="string">^5.15.3</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">@mui/x-date-pickers</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/mui-x.git</td><td class="string">5.0.20</td><td class="string">5.0.20</td><td class="string">^5.0.20</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">classnames</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/JedWatson/classnames.git</td><td class="string">2.5.1</td><td class="string">2.3.2</td><td class="string">^2.3.2</td><td class="string">Jed Watson</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/date-fns/date-fns.git</td><td class="string">3.6.0</td><td class="string">3.6.0</td><td class="string">^3.6.0</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">luxon</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/moment/luxon.git</td><td class="string">3.4.4</td><td class="string">3.3.0</td><td class="string">^3.3.0</td><td class="string">Isaac Cambron</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-dom</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-intersection-observer</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/thebuilder/react-intersection-observer.git</td><td class="string">9.8.2</td><td class="string">9.5.2</td><td class="string">^9.5.2</td><td class="string">Daniel Schmidt</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-multi-carousel</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/YIZHUANG/react-multi-carousel.git</td><td class="string">2.8.5</td><td class="string">2.8.3</td><td class="string">^2.8.2</td><td class="string">YI ZHUANG https://github.com/YIZHUANG</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-responsive</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git://github.com/contra/react-responsive.git</td><td class="string">9.0.2</td><td class="string">9.0.2</td><td class="string">^9.0.2</td><td class="string">Contra <yo@contra.io> (https://contra.io)</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">react-sortable-hoc</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/react-sortable-hoc.git</td><td class="string">2.0.0</td><td class="string">2.0.0</td><td class="string">^2.0.0</td><td class="string">Clauderic Demers me@ced.io</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">sass</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/sass/dart-sass.git</td><td class="string">1.74.1</td><td class="string">1.57.1</td><td class="string">^1.57.1</td><td class="string">Natalie Weizenbaum nweiz@google.com https://github.com/nex3</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">tinycolor2</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/bgrins/TinyColor.git</td><td class="string">1.6.0</td><td class="string">1.6.0</td><td class="string">^1.6.0</td><td class="string">Brian Grinstead <briangrinstead@gmail.com> (http://briangrinstead.com)</td></tr><tr><td class="string">terraware</td><td class="string">web-components</td><td class="string">web-vitals</td><td class="string">perpetual</td><td class="string">material</td><td class="string">Apache-2.0</td><td class="string">git+https://github.com/GoogleChrome/web-vitals.git</td><td class="string">3.5.2</td><td class="string">3.3.0</td><td class="string">^3.3.0</td><td class="string">Philip Walton philip@philipwalton.com http://philipwalton.com</td></tr></tbody></table>
|
49
49
|
</body>
|
50
50
|
</html>
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@terraware/web-components",
|
3
|
-
"version": "2.12.9-rc.
|
3
|
+
"version": "2.12.9-rc.2",
|
4
4
|
"author": "Terraformation Inc.",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"repository": {
|
@@ -14,8 +14,8 @@
|
|
14
14
|
"private": false,
|
15
15
|
"main": "dist/index.js",
|
16
16
|
"dependencies": {
|
17
|
-
"@date-io/date-fns": "^
|
18
|
-
"@date-io/
|
17
|
+
"@date-io/date-fns": "^3.0.0",
|
18
|
+
"@date-io/luxon": "^3.0.0",
|
19
19
|
"@dnd-kit/core": "^6.0.7",
|
20
20
|
"@dnd-kit/sortable": "^7.0.2",
|
21
21
|
"@emotion/react": "^11.11.3",
|
@@ -26,7 +26,7 @@
|
|
26
26
|
"@mui/styles": "^5.15.3",
|
27
27
|
"@mui/x-date-pickers": "^5.0.20",
|
28
28
|
"classnames": "^2.3.2",
|
29
|
-
"date-fns": "^
|
29
|
+
"date-fns": "^3.6.0",
|
30
30
|
"luxon": "^3.3.0",
|
31
31
|
"react": "^17.0.2",
|
32
32
|
"react-dom": "^17.0.2",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DatePicker.stories.d.ts","sourceRoot":"","sources":["../../src/stories/DatePicker.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAY,MAAM,OAAO,CAAC;AACtD,OAAO,UAAU,EAAE,
|
1
|
+
{"version":3,"file":"DatePicker.stories.d.ts","sourceRoot":"","sources":["../../src/stories/DatePicker.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAY,MAAM,OAAO,CAAC;AACtD,OAAO,UAAU,EAAE,EAAsB,KAAK,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC;;;;yBAOnG,OAAO,MAAM,SAAS,KAAG,YAAY;;AAJjD,wBAQE;AA4BF,eAAO,MAAM,OAAO,gHAAoB,CAAC;AAczC,eAAO,MAAM,0BAA0B,gHAAoB,CAAC;AAe5D,eAAO,MAAM,qBAAqB,gHAAoB,CAAC;AAevD,eAAO,MAAM,2BAA2B,gHAAoB,CAAC;AAe7D,eAAO,MAAM,yBAAyB,gHAAoB,CAAC"}
|
package/utils/date.d.ts
CHANGED
@@ -1,14 +1,23 @@
|
|
1
1
|
import { DateTime } from 'luxon';
|
2
|
+
/**
|
3
|
+
* Accepted date types for input are:
|
4
|
+
* - string for any date ISO string representation
|
5
|
+
* - number for timestamp
|
6
|
+
* - JS Date
|
7
|
+
* - luxon DateTime
|
8
|
+
*/
|
9
|
+
export type DateType = string | number | Date | DateTime;
|
2
10
|
/**
|
3
11
|
* Utility that constructs a valid DateTime object from
|
4
|
-
* any
|
12
|
+
* any DateType value passed in (ISO string or epoch milliseconds or DateTime object).
|
13
|
+
* Note: the DateTime object input support is mostly for ease of use and will essentially be a pass-through.
|
5
14
|
*/
|
6
|
-
export declare const getDate: (date:
|
15
|
+
export declare const getDate: (date: DateType, timeZoneId?: string) => DateTime;
|
7
16
|
/**
|
8
17
|
* Default export function that provides a display value for a date
|
9
18
|
* with optional implied time zone.
|
10
19
|
*/
|
11
|
-
declare const getDateDisplayValue: (date:
|
20
|
+
declare const getDateDisplayValue: (date: DateType, timeZoneId?: string) => string;
|
12
21
|
/**
|
13
22
|
* Exported function that returns todays date in a specific (optional) time zone.
|
14
23
|
*/
|
@@ -16,6 +25,6 @@ export declare const getTodaysDateFormatted: (timeZoneId?: string) => string;
|
|
16
25
|
/**
|
17
26
|
* Checks if a date is in the future, time zone for date is optional.
|
18
27
|
*/
|
19
|
-
export declare const isInTheFuture: (date:
|
28
|
+
export declare const isInTheFuture: (date: DateType, timeZoneId?: string) => boolean;
|
20
29
|
export default getDateDisplayValue;
|
21
30
|
//# sourceMappingURL=date.d.ts.map
|
package/utils/date.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAmCzD;;;;GAIG;AACH,eAAO,MAAM,OAAO,SAAU,QAAQ,eAAe,MAAM,aAoB1D,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,mBAAmB,SAAU,QAAQ,eAAe,MAAM,WAS/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,gBAAiB,MAAM,WAEzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,SAAU,QAAQ,eAAe,MAAM,YAOhE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
package/utils/date.js
CHANGED
@@ -1,10 +1,20 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
4
5
|
value: true
|
5
6
|
});
|
6
7
|
exports.isInTheFuture = exports.getTodaysDateFormatted = exports.getDate = exports.default = void 0;
|
7
8
|
var _luxon = require("luxon");
|
9
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
10
|
+
/**
|
11
|
+
* Accepted date types for input are:
|
12
|
+
* - string for any date ISO string representation
|
13
|
+
* - number for timestamp
|
14
|
+
* - JS Date
|
15
|
+
* - luxon DateTime
|
16
|
+
*/
|
17
|
+
|
8
18
|
/**
|
9
19
|
* Helper util that returns default time zone as a fallback.
|
10
20
|
*/
|
@@ -13,11 +23,13 @@ var tz = function tz(timeZoneId) {
|
|
13
23
|
};
|
14
24
|
|
15
25
|
/**
|
16
|
-
* Parse a date string with zone implied.
|
26
|
+
* Parse a date ISO string with zone implied.
|
17
27
|
* eg. '2023-01-10 in 'America/Los_Angeles'
|
18
28
|
*/
|
19
|
-
var
|
20
|
-
return _luxon.DateTime.
|
29
|
+
var getDateFromISOString = function getDateFromISOString(date, timeZoneId) {
|
30
|
+
return _luxon.DateTime.fromISO(date, {
|
31
|
+
zone: tz(timeZoneId)
|
32
|
+
});
|
21
33
|
};
|
22
34
|
|
23
35
|
/**
|
@@ -42,21 +54,28 @@ var getDisplayValue = function getDisplayValue(date) {
|
|
42
54
|
|
43
55
|
/**
|
44
56
|
* Utility that constructs a valid DateTime object from
|
45
|
-
* any
|
57
|
+
* any DateType value passed in (ISO string or epoch milliseconds or DateTime object).
|
58
|
+
* Note: the DateTime object input support is mostly for ease of use and will essentially be a pass-through.
|
46
59
|
*/
|
47
60
|
var getDate = function getDate(date, timeZoneId) {
|
48
|
-
|
49
|
-
|
50
|
-
|
61
|
+
if (typeof date === 'string') {
|
62
|
+
var fromString = getDateFromISOString(date, timeZoneId);
|
63
|
+
if (fromString.isValid) {
|
64
|
+
return fromString;
|
65
|
+
}
|
51
66
|
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
67
|
+
if (typeof date === 'number') {
|
68
|
+
var fromMillis = getDateFromMillis(date, timeZoneId);
|
69
|
+
if (fromMillis.isValid) {
|
70
|
+
return fromMillis;
|
71
|
+
}
|
56
72
|
}
|
57
|
-
|
58
|
-
|
59
|
-
|
73
|
+
if (_lodash.default.isDate(date)) {
|
74
|
+
return _luxon.DateTime.fromJSDate(date, {
|
75
|
+
zone: tz(timeZoneId)
|
76
|
+
});
|
77
|
+
}
|
78
|
+
return date.setZone(tz(timeZoneId));
|
60
79
|
};
|
61
80
|
|
62
81
|
/**
|
package/utils/date.test.js
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
4
|
+
var _luxon = require("luxon");
|
4
5
|
var _date = _interopRequireWildcard(require("./date"));
|
5
|
-
test('isInTheFuture should handle date string and specified time zones', function () {
|
6
|
+
test('isInTheFuture should handle date ISO string and specified time zones', function () {
|
6
7
|
expect((0, _date.isInTheFuture)('2023-01-10', 'Asia/Bangkok')).toBe(false);
|
7
8
|
expect((0, _date.isInTheFuture)('2023-01-10', 'America/Los_Angeles')).toBe(false);
|
8
9
|
expect((0, _date.isInTheFuture)('3023-01-10', 'America/Los_Angeles')).toBe(true);
|
9
10
|
});
|
10
|
-
test('isInTheFuture should handle date string and default time zone', function () {
|
11
|
+
test('isInTheFuture should handle date ISO string and default time zone', function () {
|
11
12
|
expect((0, _date.isInTheFuture)('2023-01-10')).toBe(false);
|
12
13
|
expect((0, _date.isInTheFuture)('3023-01-10')).toBe(true);
|
13
14
|
});
|
@@ -19,6 +20,25 @@ test('isInTheFuture should handle millis and default time zone', function () {
|
|
19
20
|
expect((0, _date.isInTheFuture)(Date.now())).toBe(false);
|
20
21
|
expect((0, _date.isInTheFuture)(new Date('3023-01-10').getTime())).toBe(true);
|
21
22
|
});
|
23
|
+
test('isInTheFuture should handle JS Date object and specified time zones', function () {
|
24
|
+
expect((0, _date.isInTheFuture)(new Date(), 'Asia/Bangkok')).toBe(false);
|
25
|
+
expect((0, _date.isInTheFuture)(new Date('3023-01-10'), 'Asia/Bangkok')).toBe(true);
|
26
|
+
});
|
27
|
+
test('isInTheFuture should handle JS Date object and default time zone', function () {
|
28
|
+
expect((0, _date.isInTheFuture)(new Date())).toBe(false);
|
29
|
+
expect((0, _date.isInTheFuture)(new Date('3023-01-10'))).toBe(true);
|
30
|
+
});
|
31
|
+
test('isInTheFuture should handle DateTime object and specified time zones', function () {
|
32
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.now(), 'Asia/Bangkok')).toBe(false);
|
33
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.fromISO('3023-01-10'), 'Asia/Bangkok')).toBe(true);
|
34
|
+
// check that a DateTime with preset zone is a no-op
|
35
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.now().setZone('Asia/Bangkok'), 'Asia/Bangkok')).toBe(false);
|
36
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.fromISO('3023-01-10').setZone('Asia/Bangkok'), 'Asia/Bangkok')).toBe(true);
|
37
|
+
});
|
38
|
+
test('isInTheFuture should handle JS Date object and default time zone', function () {
|
39
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.now())).toBe(false);
|
40
|
+
expect((0, _date.isInTheFuture)(_luxon.DateTime.fromISO('3023-01-10'))).toBe(true);
|
41
|
+
});
|
22
42
|
test('should show todays date formatted for a time zone', function () {
|
23
43
|
var formatted = (0, _date.getTodaysDateFormatted)('Asia/Bangkok');
|
24
44
|
expect(!!formatted.match(/\d\d\d\d-\d\d-\d\d/)).toBe(true);
|
@@ -27,14 +47,14 @@ test('should show todays date formatted for default time zone', function () {
|
|
27
47
|
var formatted = (0, _date.getTodaysDateFormatted)();
|
28
48
|
expect(!!formatted.match(/\d\d\d\d-\d\d-\d\d/)).toBe(true);
|
29
49
|
});
|
30
|
-
test('should return valid date display value for
|
50
|
+
test('should return valid date display value for ISO date string with time zones', function () {
|
31
51
|
expect((0, _date.default)('2021-08-05T19:39:16Z', 'America/Los_Angeles')).toBe('2021-08-05');
|
32
52
|
expect((0, _date.default)('2021-08-05T19:39:16Z', 'Asia/Bangkok')).toBe('2021-08-06');
|
33
53
|
});
|
34
|
-
test('should return valid date display value for
|
54
|
+
test('should return valid date display value for ISO date string with default time zone', function () {
|
35
55
|
expect((0, _date.default)('2021-08-05T19:39:16Z')).toBe('2021-08-05');
|
36
56
|
});
|
37
|
-
test('should return valid date display value for default date
|
57
|
+
test('should return valid date display value for default date ISO string with time zones', function () {
|
38
58
|
expect((0, _date.default)('2021-08-05', 'America/Los_Angeles')).toBe('2021-08-05');
|
39
59
|
expect((0, _date.default)('2021-08-05', 'Asia/Bangkok')).toBe('2021-08-05');
|
40
60
|
});
|
@@ -44,7 +64,24 @@ test('should return valid date display value for default date string with defaul
|
|
44
64
|
test('should return valid date display value for millis with default time zone', function () {
|
45
65
|
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z').getTime())).toBe('2021-08-05');
|
46
66
|
});
|
67
|
+
test('should return valid date display value for JS Date object with default time zone', function () {
|
68
|
+
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z'))).toBe('2021-08-05');
|
69
|
+
});
|
70
|
+
test('should return valid date display value for DateTime object with default time zone', function () {
|
71
|
+
expect((0, _date.default)(_luxon.DateTime.fromISO('2021-08-05T19:39:16Z'))).toBe('2021-08-05');
|
72
|
+
});
|
47
73
|
test('should return valid date display value for millis with time zones', function () {
|
48
74
|
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z').getTime(), 'America/Los_Angeles')).toBe('2021-08-05');
|
49
75
|
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z').getTime(), 'Asia/Bangkok')).toBe('2021-08-06');
|
76
|
+
});
|
77
|
+
test('should return valid date display value for JS Date object with time zones', function () {
|
78
|
+
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z'), 'America/Los_Angeles')).toBe('2021-08-05');
|
79
|
+
expect((0, _date.default)(new Date('2021-08-05T19:39:16Z'), 'Asia/Bangkok')).toBe('2021-08-06');
|
80
|
+
});
|
81
|
+
test('should return valid date display value for DateTime object with time zones', function () {
|
82
|
+
expect((0, _date.default)(_luxon.DateTime.fromISO('2021-08-05T19:39:16Z'), 'America/Los_Angeles')).toBe('2021-08-05');
|
83
|
+
expect((0, _date.default)(_luxon.DateTime.fromISO('2021-08-05T19:39:16Z'), 'Asia/Bangkok')).toBe('2021-08-06');
|
84
|
+
// check that a DateTime with preset zone is a no-op
|
85
|
+
expect((0, _date.default)(_luxon.DateTime.fromISO('2021-08-05T19:39:16Z').setZone('America/Los_Angeles'), 'America/Los_Angeles')).toBe('2021-08-05');
|
86
|
+
expect((0, _date.default)(_luxon.DateTime.fromISO('2021-08-05T19:39:16Z').setZone('America/Los_Angeles'), 'Asia/Bangkok')).toBe('2021-08-06');
|
50
87
|
});
|