@bigbinary/neeto-molecules 0.0.1
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 +60 -0
- package/dist/BrowserSupport.cjs.js +1727 -0
- package/dist/BrowserSupport.cjs.js.map +1 -0
- package/dist/BrowserSupport.js +1721 -0
- package/dist/BrowserSupport.js.map +1 -0
- package/dist/Columns.cjs.js +191 -0
- package/dist/Columns.cjs.js.map +1 -0
- package/dist/Columns.js +184 -0
- package/dist/Columns.js.map +1 -0
- package/dist/Container.cjs.js +1277 -0
- package/dist/Container.cjs.js.map +1 -0
- package/dist/Container.js +1271 -0
- package/dist/Container.js.map +1 -0
- package/dist/CopyToClipboardButton.cjs.js +78 -0
- package/dist/CopyToClipboardButton.cjs.js.map +1 -0
- package/dist/CopyToClipboardButton.js +72 -0
- package/dist/CopyToClipboardButton.js.map +1 -0
- package/dist/CustomDomain.cjs.js +680 -0
- package/dist/CustomDomain.cjs.js.map +1 -0
- package/dist/CustomDomain.js +654 -0
- package/dist/CustomDomain.js.map +1 -0
- package/dist/CustomDomainDashboard.cjs.js +2306 -0
- package/dist/CustomDomainDashboard.cjs.js.map +1 -0
- package/dist/CustomDomainDashboard.js +2279 -0
- package/dist/CustomDomainDashboard.js.map +1 -0
- package/dist/DateFormat.cjs.js +51 -0
- package/dist/DateFormat.cjs.js.map +1 -0
- package/dist/DateFormat.js +45 -0
- package/dist/DateFormat.js.map +1 -0
- package/dist/DateRangeFilter.cjs.js +236 -0
- package/dist/DateRangeFilter.cjs.js.map +1 -0
- package/dist/DateRangeFilter.js +229 -0
- package/dist/DateRangeFilter.js.map +1 -0
- package/dist/DynamicVariables.cjs.js +112 -0
- package/dist/DynamicVariables.cjs.js.map +1 -0
- package/dist/DynamicVariables.js +106 -0
- package/dist/DynamicVariables.js.map +1 -0
- package/dist/EmailPreview.cjs.js +102 -0
- package/dist/EmailPreview.cjs.js.map +1 -0
- package/dist/EmailPreview.js +96 -0
- package/dist/EmailPreview.js.map +1 -0
- package/dist/ErrorPage.cjs.js +208 -0
- package/dist/ErrorPage.cjs.js.map +1 -0
- package/dist/ErrorPage.js +184 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Header.cjs.js +219 -0
- package/dist/Header.cjs.js.map +1 -0
- package/dist/Header.js +213 -0
- package/dist/Header.js.map +1 -0
- package/dist/IconPicker.cjs.js +1307 -0
- package/dist/IconPicker.cjs.js.map +1 -0
- package/dist/IconPicker.js +1301 -0
- package/dist/IconPicker.js.map +1 -0
- package/dist/IntegrationCard.cjs.js +75 -0
- package/dist/IntegrationCard.cjs.js.map +1 -0
- package/dist/IntegrationCard.js +69 -0
- package/dist/IntegrationCard.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.cjs.js +81 -0
- package/dist/IntegrationDisconnectAlert.cjs.js.map +1 -0
- package/dist/IntegrationDisconnectAlert.js +75 -0
- package/dist/IntegrationDisconnectAlert.js.map +1 -0
- package/dist/IntegrationWalkthroughModal.cjs.js +42 -0
- package/dist/IntegrationWalkthroughModal.cjs.js.map +1 -0
- package/dist/IntegrationWalkthroughModal.js +36 -0
- package/dist/IntegrationWalkthroughModal.js.map +1 -0
- package/dist/IpRestriction.cjs.js +3764 -0
- package/dist/IpRestriction.cjs.js.map +1 -0
- package/dist/IpRestriction.js +3738 -0
- package/dist/IpRestriction.js.map +1 -0
- package/dist/KeyboardShortcuts.cjs.js +2242 -0
- package/dist/KeyboardShortcuts.cjs.js.map +1 -0
- package/dist/KeyboardShortcuts.js +2235 -0
- package/dist/KeyboardShortcuts.js.map +1 -0
- package/dist/LoginPage.cjs.js +618 -0
- package/dist/LoginPage.cjs.js.map +1 -0
- package/dist/LoginPage.js +593 -0
- package/dist/LoginPage.js.map +1 -0
- package/dist/MenuBar.cjs.js +31044 -0
- package/dist/MenuBar.cjs.js.map +1 -0
- package/dist/MenuBar.js +31038 -0
- package/dist/MenuBar.js.map +1 -0
- package/dist/NeetoWidget.cjs.js +3369 -0
- package/dist/NeetoWidget.cjs.js.map +1 -0
- package/dist/NeetoWidget.js +3343 -0
- package/dist/NeetoWidget.js.map +1 -0
- package/dist/PageLoader.cjs.js +158 -0
- package/dist/PageLoader.cjs.js.map +1 -0
- package/dist/PageLoader.js +134 -0
- package/dist/PageLoader.js.map +1 -0
- package/dist/PhoneNumber.cjs.js +7021 -0
- package/dist/PhoneNumber.cjs.js.map +1 -0
- package/dist/PhoneNumber.js +6989 -0
- package/dist/PhoneNumber.js.map +1 -0
- package/dist/PublishBlock.cjs.js +189 -0
- package/dist/PublishBlock.cjs.js.map +1 -0
- package/dist/PublishBlock.js +183 -0
- package/dist/PublishBlock.js.map +1 -0
- package/dist/Rename.cjs.js +306 -0
- package/dist/Rename.cjs.js.map +1 -0
- package/dist/Rename.js +300 -0
- package/dist/Rename.js.map +1 -0
- package/dist/ResponsiveDevicePicker.cjs.js +260 -0
- package/dist/ResponsiveDevicePicker.cjs.js.map +1 -0
- package/dist/ResponsiveDevicePicker.js +254 -0
- package/dist/ResponsiveDevicePicker.js.map +1 -0
- package/dist/Schedule.cjs.js +952 -0
- package/dist/Schedule.cjs.js.map +1 -0
- package/dist/Schedule.js +921 -0
- package/dist/Schedule.js.map +1 -0
- package/dist/Scrollable.cjs.js +184 -0
- package/dist/Scrollable.cjs.js.map +1 -0
- package/dist/Scrollable.js +178 -0
- package/dist/Scrollable.js.map +1 -0
- package/dist/ShareViaEmail.cjs.js +2992 -0
- package/dist/ShareViaEmail.cjs.js.map +1 -0
- package/dist/ShareViaEmail.js +2966 -0
- package/dist/ShareViaEmail.js.map +1 -0
- package/dist/ShareViaLink.cjs.js +1385 -0
- package/dist/ShareViaLink.cjs.js.map +1 -0
- package/dist/ShareViaLink.js +1360 -0
- package/dist/ShareViaLink.js.map +1 -0
- package/dist/Sidebar.cjs.js +32222 -0
- package/dist/Sidebar.cjs.js.map +1 -0
- package/dist/Sidebar.js +32196 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/SubHeader.cjs.js +272 -0
- package/dist/SubHeader.cjs.js.map +1 -0
- package/dist/SubHeader.js +265 -0
- package/dist/SubHeader.js.map +1 -0
- package/dist/TableWrapper.cjs.js +87 -0
- package/dist/TableWrapper.cjs.js.map +1 -0
- package/dist/TableWrapper.js +81 -0
- package/dist/TableWrapper.js.map +1 -0
- package/dist/ThemeSidebar.cjs.js +13618 -0
- package/dist/ThemeSidebar.cjs.js.map +1 -0
- package/dist/ThemeSidebar.js +13593 -0
- package/dist/ThemeSidebar.js.map +1 -0
- package/dist/TimeFormat.cjs.js +53 -0
- package/dist/TimeFormat.cjs.js.map +1 -0
- package/dist/TimeFormat.js +47 -0
- package/dist/TimeFormat.js.map +1 -0
- package/dist/TimezoneMismatchModal.cjs.js +176 -0
- package/dist/TimezoneMismatchModal.cjs.js.map +1 -0
- package/dist/TimezoneMismatchModal.js +168 -0
- package/dist/TimezoneMismatchModal.js.map +1 -0
- package/package.json +185 -0
- package/src/translations/en.json +449 -0
- package/types/BrowserSupport.d.ts +86 -0
- package/types/Columns.d.ts +53 -0
- package/types/Container.d.ts +35 -0
- package/types/CopyToClipboardButton.d.ts +21 -0
- package/types/CustomDomain.d.ts +19 -0
- package/types/CustomDomainDashboard.d.ts +33 -0
- package/types/DateFormat.d.ts +18 -0
- package/types/DateRangeFilter.d.ts +52 -0
- package/types/DynamicVariables.d.ts +45 -0
- package/types/EmailPreview.d.ts +41 -0
- package/types/ErrorPage.d.ts +15 -0
- package/types/Header.d.ts +30 -0
- package/types/IconPicker.d.ts +43 -0
- package/types/IntegrationCard.d.ts +45 -0
- package/types/IntegrationDisconnectAlert.d.ts +37 -0
- package/types/IntegrationWalkthroughModal.d.ts +31 -0
- package/types/IpRestriction.d.ts +23 -0
- package/types/KeyboardShortcuts.d.ts +147 -0
- package/types/LoginPage.d.ts +43 -0
- package/types/MenuBar.d.ts +125 -0
- package/types/NeetoWidget.d.ts +41 -0
- package/types/PageLoader.d.ts +38 -0
- package/types/PhoneNumber.d.ts +106 -0
- package/types/PublishBlock.d.ts +84 -0
- package/types/Rename.d.ts +60 -0
- package/types/ResponsiveDevicePicker.d.ts +30 -0
- package/types/Schedule.d.ts +132 -0
- package/types/Scrollable.d.ts +28 -0
- package/types/ShareViaEmail.d.ts +99 -0
- package/types/ShareViaLink.d.ts +117 -0
- package/types/Sidebar.d.ts +63 -0
- package/types/SubHeader.d.ts +97 -0
- package/types/TableWrapper.d.ts +38 -0
- package/types/TimeFormat.d.ts +17 -0
- package/types/TimezoneMismatchModal.d.ts +39 -0
- package/types/themeSidebar.d.ts +80 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
5
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
6
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
7
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
8
|
+
var ramda = require('ramda');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
|
|
14
|
+
function _extends() {
|
|
15
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
16
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
17
|
+
var source = arguments[i];
|
|
18
|
+
for (var key in source) {
|
|
19
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
20
|
+
target[key] = source[key];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return target;
|
|
25
|
+
};
|
|
26
|
+
return _extends.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var DateFormat = ramda.fromPairs(ramda.keys(utils.timeFormat).map(function (key) {
|
|
30
|
+
return [pure.capitalize(key), function (_ref) {
|
|
31
|
+
var date = _ref.date,
|
|
32
|
+
_ref$timerInterval = _ref.timerInterval,
|
|
33
|
+
timerInterval = _ref$timerInterval === void 0 ? 60 : _ref$timerInterval,
|
|
34
|
+
_ref$tooltipProps = _ref.tooltipProps,
|
|
35
|
+
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
36
|
+
_ref$typographyProps = _ref.typographyProps,
|
|
37
|
+
typographyProps = _ref$typographyProps === void 0 ? {} : _ref$typographyProps;
|
|
38
|
+
reactUtils.useTimer(timerInterval);
|
|
39
|
+
var dateDisplay = /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends({
|
|
40
|
+
component: "span",
|
|
41
|
+
style: "body2"
|
|
42
|
+
}, typographyProps), utils.timeFormat[key](date));
|
|
43
|
+
return key === "extended" ? dateDisplay : /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, _extends({
|
|
44
|
+
content: utils.timeFormat.extended(date),
|
|
45
|
+
position: "top"
|
|
46
|
+
}, tooltipProps), dateDisplay);
|
|
47
|
+
}];
|
|
48
|
+
}));
|
|
49
|
+
|
|
50
|
+
var TimeFormat = DateFormat;
|
|
51
|
+
|
|
52
|
+
module.exports = TimeFormat;
|
|
53
|
+
//# sourceMappingURL=TimeFormat.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeFormat.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../src/components/DateFormat.jsx","../src/components/TimeFormat.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import React from \"react\";\n\nimport { capitalize } from \"neetocommons/pure\";\nimport { useTimer } from \"neetocommons/react-utils\";\nimport { timeFormat } from \"neetocommons/utils\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, keys } from \"ramda\";\n\nconst DateFormat = fromPairs(\n keys(timeFormat).map(key => [\n capitalize(key),\n ({ date, timerInterval = 60, tooltipProps = {}, typographyProps = {} }) => {\n useTimer(timerInterval);\n const dateDisplay = (\n <Typography component=\"span\" style=\"body2\" {...typographyProps}>\n {timeFormat[key](date)}\n </Typography>\n );\n\n return key === \"extended\" ? (\n dateDisplay\n ) : (\n <Tooltip\n content={timeFormat.extended(date)}\n position=\"top\"\n {...tooltipProps}\n >\n {dateDisplay}\n </Tooltip>\n );\n },\n ])\n);\n\nDateFormat.propTypes = {\n /**\n * The date object to be formatted.\n */\n date: PropTypes.instanceOf(Date),\n /**\n * This prop will be used to re-render the component in every `timerInterval` seconds to show updated relative time.\n */\n timerInterval: PropTypes.number,\n /**\n * This prop will be forwarded to the neetoui Tooltip component. Default position is \"top\".\n */\n tooltipProps: PropTypes.object,\n /**\n * This prop will be forwarded to the neetoui Typography component.\n */\n typographyProps: PropTypes.object,\n};\n\nexport default DateFormat;\n","import DateFormat from \"components/DateFormat\";\n\nconst TimeFormat = DateFormat;\n\nexport default TimeFormat;\n"],"names":["DateFormat","fromPairs","keys","timeFormat","map","key","capitalize","_ref","date","_ref$timerInterval","timerInterval","_ref$tooltipProps","tooltipProps","_ref$typographyProps","typographyProps","useTimer","dateDisplay","React","createElement","Typography","_extends","component","style","Tooltip","content","extended","position","TimeFormat"],"mappings":";;;;;;;;;;;;;AAAe,SAAS,QAAQ,GAAG;AACnC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;AACtE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC;;ACJA,IAAMA,UAAU,GAAGC,eAAS,CAC1BC,UAAI,CAACC,gBAAU,CAAC,CAACC,GAAG,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAI,CAC1BC,eAAU,CAACD,GAAG,CAAC,EACf,UAAAE,IAAA,EAA2E;AAAA,IAAA,IAAxEC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAAC,kBAAA,GAAAF,IAAA,CAAEG,aAAa;AAAbA,MAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;MAAAE,iBAAA,GAAAJ,IAAA,CAAEK,YAAY;AAAZA,MAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;MAAAE,oBAAA,GAAAN,IAAA,CAAEO,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,oBAAA,CAAA;IAClEE,mBAAQ,CAACL,aAAa,CAAC,CAAA;IACvB,IAAMM,WAAW,gBACfC,yBAAA,CAAAC,aAAA,CAACC,kBAAU,EAAAC,QAAA,CAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAC,OAAA;KAAYR,EAAAA,eAAe,GAC3DX,gBAAU,CAACE,GAAG,CAAC,CAACG,IAAI,CAAC,CAEzB,CAAA;AAED,IAAA,OAAOH,GAAG,KAAK,UAAU,GACvBW,WAAW,gBAEXC,yBAAA,CAAAC,aAAA,CAACK,eAAO,EAAAH,QAAA,CAAA;AACNI,MAAAA,OAAO,EAAErB,gBAAU,CAACsB,QAAQ,CAACjB,IAAI,CAAE;AACnCkB,MAAAA,QAAQ,EAAC,KAAA;KACLd,EAAAA,YAAY,CAEfI,EAAAA,WAAW,CAEf,CAAA;AACH,GAAC,CACF,CAAA;AAAA,CAAA,CAAC,CACH;;AC/BKW,IAAAA,UAAU,GAAG3B;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { capitalize } from '@bigbinary/neeto-commons-frontend/pure';
|
|
3
|
+
import { useTimer } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
4
|
+
import { timeFormat } from '@bigbinary/neeto-commons-frontend/utils';
|
|
5
|
+
import { Typography, Tooltip } from '@bigbinary/neetoui';
|
|
6
|
+
import { fromPairs, keys } from 'ramda';
|
|
7
|
+
|
|
8
|
+
function _extends() {
|
|
9
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
10
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
11
|
+
var source = arguments[i];
|
|
12
|
+
for (var key in source) {
|
|
13
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
14
|
+
target[key] = source[key];
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
return _extends.apply(this, arguments);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var DateFormat = fromPairs(keys(timeFormat).map(function (key) {
|
|
24
|
+
return [capitalize(key), function (_ref) {
|
|
25
|
+
var date = _ref.date,
|
|
26
|
+
_ref$timerInterval = _ref.timerInterval,
|
|
27
|
+
timerInterval = _ref$timerInterval === void 0 ? 60 : _ref$timerInterval,
|
|
28
|
+
_ref$tooltipProps = _ref.tooltipProps,
|
|
29
|
+
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
30
|
+
_ref$typographyProps = _ref.typographyProps,
|
|
31
|
+
typographyProps = _ref$typographyProps === void 0 ? {} : _ref$typographyProps;
|
|
32
|
+
useTimer(timerInterval);
|
|
33
|
+
var dateDisplay = /*#__PURE__*/React.createElement(Typography, _extends({
|
|
34
|
+
component: "span",
|
|
35
|
+
style: "body2"
|
|
36
|
+
}, typographyProps), timeFormat[key](date));
|
|
37
|
+
return key === "extended" ? dateDisplay : /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
38
|
+
content: timeFormat.extended(date),
|
|
39
|
+
position: "top"
|
|
40
|
+
}, tooltipProps), dateDisplay);
|
|
41
|
+
}];
|
|
42
|
+
}));
|
|
43
|
+
|
|
44
|
+
var TimeFormat = DateFormat;
|
|
45
|
+
|
|
46
|
+
export { TimeFormat as default };
|
|
47
|
+
//# sourceMappingURL=TimeFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeFormat.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../src/components/DateFormat.jsx","../src/components/TimeFormat.js"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import React from \"react\";\n\nimport { capitalize } from \"neetocommons/pure\";\nimport { useTimer } from \"neetocommons/react-utils\";\nimport { timeFormat } from \"neetocommons/utils\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, keys } from \"ramda\";\n\nconst DateFormat = fromPairs(\n keys(timeFormat).map(key => [\n capitalize(key),\n ({ date, timerInterval = 60, tooltipProps = {}, typographyProps = {} }) => {\n useTimer(timerInterval);\n const dateDisplay = (\n <Typography component=\"span\" style=\"body2\" {...typographyProps}>\n {timeFormat[key](date)}\n </Typography>\n );\n\n return key === \"extended\" ? (\n dateDisplay\n ) : (\n <Tooltip\n content={timeFormat.extended(date)}\n position=\"top\"\n {...tooltipProps}\n >\n {dateDisplay}\n </Tooltip>\n );\n },\n ])\n);\n\nDateFormat.propTypes = {\n /**\n * The date object to be formatted.\n */\n date: PropTypes.instanceOf(Date),\n /**\n * This prop will be used to re-render the component in every `timerInterval` seconds to show updated relative time.\n */\n timerInterval: PropTypes.number,\n /**\n * This prop will be forwarded to the neetoui Tooltip component. Default position is \"top\".\n */\n tooltipProps: PropTypes.object,\n /**\n * This prop will be forwarded to the neetoui Typography component.\n */\n typographyProps: PropTypes.object,\n};\n\nexport default DateFormat;\n","import DateFormat from \"components/DateFormat\";\n\nconst TimeFormat = DateFormat;\n\nexport default TimeFormat;\n"],"names":["DateFormat","fromPairs","keys","timeFormat","map","key","capitalize","_ref","date","_ref$timerInterval","timerInterval","_ref$tooltipProps","tooltipProps","_ref$typographyProps","typographyProps","useTimer","dateDisplay","React","createElement","Typography","_extends","component","style","Tooltip","content","extended","position","TimeFormat"],"mappings":";;;;;;;AAAe,SAAS,QAAQ,GAAG;AACnC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;AACtE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACzC;;ACJA,IAAMA,UAAU,GAAGC,SAAS,CAC1BC,IAAI,CAACC,UAAU,CAAC,CAACC,GAAG,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAI,CAC1BC,UAAU,CAACD,GAAG,CAAC,EACf,UAAAE,IAAA,EAA2E;AAAA,IAAA,IAAxEC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAAC,kBAAA,GAAAF,IAAA,CAAEG,aAAa;AAAbA,MAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;MAAAE,iBAAA,GAAAJ,IAAA,CAAEK,YAAY;AAAZA,MAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;MAAAE,oBAAA,GAAAN,IAAA,CAAEO,eAAe;AAAfA,MAAAA,eAAe,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,oBAAA,CAAA;IAClEE,QAAQ,CAACL,aAAa,CAAC,CAAA;IACvB,IAAMM,WAAW,gBACfC,KAAA,CAAAC,aAAA,CAACC,UAAU,EAAAC,QAAA,CAAA;AAACC,MAAAA,SAAS,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAC,OAAA;KAAYR,EAAAA,eAAe,GAC3DX,UAAU,CAACE,GAAG,CAAC,CAACG,IAAI,CAAC,CAEzB,CAAA;AAED,IAAA,OAAOH,GAAG,KAAK,UAAU,GACvBW,WAAW,gBAEXC,KAAA,CAAAC,aAAA,CAACK,OAAO,EAAAH,QAAA,CAAA;AACNI,MAAAA,OAAO,EAAErB,UAAU,CAACsB,QAAQ,CAACjB,IAAI,CAAE;AACnCkB,MAAAA,QAAQ,EAAC,KAAA;KACLd,EAAAA,YAAY,CAEfI,EAAAA,WAAW,CAEf,CAAA;AACH,GAAC,CACF,CAAA;AAAA,CAAA,CAAC,CACH;;AC/BKW,IAAAA,UAAU,GAAG3B;;;;"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
5
|
+
var reactI18next = require('react-i18next');
|
|
6
|
+
var reactQuery = require('react-query');
|
|
7
|
+
var axios = require('axios');
|
|
8
|
+
var dayjs = require('dayjs');
|
|
9
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
10
|
+
|
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
+
|
|
13
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
15
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
16
|
+
|
|
17
|
+
function _arrayWithHoles(arr) {
|
|
18
|
+
if (Array.isArray(arr)) return arr;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function _iterableToArrayLimit(arr, i) {
|
|
22
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
23
|
+
if (null != _i) {
|
|
24
|
+
var _s,
|
|
25
|
+
_e,
|
|
26
|
+
_x,
|
|
27
|
+
_r,
|
|
28
|
+
_arr = [],
|
|
29
|
+
_n = !0,
|
|
30
|
+
_d = !1;
|
|
31
|
+
try {
|
|
32
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
33
|
+
if (Object(_i) !== _i) return;
|
|
34
|
+
_n = !1;
|
|
35
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_d = !0, _e = err;
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
41
|
+
} finally {
|
|
42
|
+
if (_d) throw _e;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _arr;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function _arrayLikeToArray(arr, len) {
|
|
50
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
51
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
52
|
+
return arr2;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
56
|
+
if (!o) return;
|
|
57
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
58
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
59
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
60
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
61
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _nonIterableRest() {
|
|
65
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function _slicedToArray(arr, i) {
|
|
69
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var timeZoneUrl = "api/v1/time_zone";
|
|
73
|
+
var updateTimeZone = function updateTimeZone(payload) {
|
|
74
|
+
return axios__default["default"].patch(timeZoneUrl, payload);
|
|
75
|
+
};
|
|
76
|
+
var timeZoneApi = {
|
|
77
|
+
updateTimeZone: updateTimeZone
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var useUpdateTimeZone = function useUpdateTimeZone() {
|
|
81
|
+
return reactQuery.useMutation(timeZoneApi.updateTimeZone, {
|
|
82
|
+
onSuccess: function onSuccess() {
|
|
83
|
+
return window.location.reload();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
var getBrowserTimeZone = function getBrowserTimeZone() {
|
|
89
|
+
return dayjs__default["default"].tz.guess();
|
|
90
|
+
};
|
|
91
|
+
var getUserTimeZone = function getUserTimeZone() {
|
|
92
|
+
var _globalProps$user;
|
|
93
|
+
return (_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.timeZone;
|
|
94
|
+
};
|
|
95
|
+
var checkIfTwoTimeZonesAreSame = function checkIfTwoTimeZonesAreSame(timeZone1, timeZone2) {
|
|
96
|
+
return dayjs__default["default"]().tz(timeZone1).format("Z") === dayjs__default["default"]().tz(timeZone2).format("Z");
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
100
|
+
var _ref$isOpen = _ref.isOpen,
|
|
101
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
102
|
+
_ref$onClose = _ref.onClose,
|
|
103
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose;
|
|
104
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
105
|
+
t = _useTranslation.t;
|
|
106
|
+
var _useState = React.useState(false),
|
|
107
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
108
|
+
isTimezoneModalOpen = _useState2[0],
|
|
109
|
+
setIsTimezoneModalOpen = _useState2[1];
|
|
110
|
+
var _useUpdateTimeZone = useUpdateTimeZone(),
|
|
111
|
+
isLoading = _useUpdateTimeZone.isLoading,
|
|
112
|
+
updateTimeZone = _useUpdateTimeZone.mutate;
|
|
113
|
+
var isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(getUserTimeZone(), getBrowserTimeZone());
|
|
114
|
+
var handleUpdateTimeZone = function handleUpdateTimeZone() {
|
|
115
|
+
var payload = {
|
|
116
|
+
timeZone: getBrowserTimeZone()
|
|
117
|
+
};
|
|
118
|
+
updateTimeZone(payload, {
|
|
119
|
+
onSuccess: function onSuccess() {
|
|
120
|
+
setIsTimezoneModalOpen(false);
|
|
121
|
+
onClose();
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
var handleCancel = function handleCancel() {
|
|
126
|
+
setIsTimezoneModalOpen(false);
|
|
127
|
+
onClose();
|
|
128
|
+
};
|
|
129
|
+
React.useEffect(function () {
|
|
130
|
+
if (process.env.RAILS_ENV !== "heroku") {
|
|
131
|
+
setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
|
|
132
|
+
}
|
|
133
|
+
}, []);
|
|
134
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
|
|
135
|
+
closeOnOutsideClick: false,
|
|
136
|
+
isOpen: isTimezoneModalOpen || isOpen,
|
|
137
|
+
size: "large",
|
|
138
|
+
onClose: handleCancel
|
|
139
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
140
|
+
style: "h2",
|
|
141
|
+
weight: "normal"
|
|
142
|
+
}, t("neetoMolecules.alert.timezone.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
143
|
+
className: "flex flex-col space-y-4"
|
|
144
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
145
|
+
component: "span",
|
|
146
|
+
style: "body2"
|
|
147
|
+
}, t("neetoMolecules.alert.timezone.message", {
|
|
148
|
+
entity: globalProps.appName
|
|
149
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
150
|
+
component: "span",
|
|
151
|
+
style: "h4"
|
|
152
|
+
}, t("neetoMolecules.alert.timezone.userTimezone", {
|
|
153
|
+
entity: getUserTimeZone()
|
|
154
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
155
|
+
component: "span",
|
|
156
|
+
style: "h4"
|
|
157
|
+
}, t("neetoMolecules.alert.timezone.browserTimezone", {
|
|
158
|
+
entity: getBrowserTimeZone()
|
|
159
|
+
})))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
|
|
160
|
+
className: "space-x-2"
|
|
161
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
162
|
+
"data-testid": "update-timezone-button",
|
|
163
|
+
disabled: isLoading,
|
|
164
|
+
label: t("neetoMolecules.alert.timezone.updateProfile"),
|
|
165
|
+
loading: isLoading,
|
|
166
|
+
style: "primary",
|
|
167
|
+
onClick: handleUpdateTimeZone
|
|
168
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
169
|
+
label: t("neetoMolecules.common.actions.cancel"),
|
|
170
|
+
style: "text",
|
|
171
|
+
onClick: handleCancel
|
|
172
|
+
})));
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
module.exports = TimezoneMismatchModal;
|
|
176
|
+
//# sourceMappingURL=TimezoneMismatchModal.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimezoneMismatchModal.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation(timeZoneApi.updateTimeZone, {\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React, { useEffect, useState } from \"react\";\n\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = () => {} }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isLoading, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (process.env.RAILS_ENV !== \"heroku\") {\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n {t(\"neetoMolecules.alert.timezone.userTimezone\", {\n entity: getUserTimeZone(),\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n {t(\"neetoMolecules.alert.timezone.browserTimezone\", {\n entity: getBrowserTimeZone(),\n })}\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isLoading}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isLoading}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isLoading","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","React","createElement","Modal","closeOnOutsideClick","size","Header","Typography","style","weight","Body","className","component","entity","appName","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { Modal, Typography, Button } from '@bigbinary/neetoui';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { useMutation } from 'react-query';
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import dayjs from 'dayjs';
|
|
7
|
+
import { globalProps as globalProps$1 } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
8
|
+
|
|
9
|
+
function _arrayWithHoles(arr) {
|
|
10
|
+
if (Array.isArray(arr)) return arr;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function _iterableToArrayLimit(arr, i) {
|
|
14
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
15
|
+
if (null != _i) {
|
|
16
|
+
var _s,
|
|
17
|
+
_e,
|
|
18
|
+
_x,
|
|
19
|
+
_r,
|
|
20
|
+
_arr = [],
|
|
21
|
+
_n = !0,
|
|
22
|
+
_d = !1;
|
|
23
|
+
try {
|
|
24
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
25
|
+
if (Object(_i) !== _i) return;
|
|
26
|
+
_n = !1;
|
|
27
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
28
|
+
} catch (err) {
|
|
29
|
+
_d = !0, _e = err;
|
|
30
|
+
} finally {
|
|
31
|
+
try {
|
|
32
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
33
|
+
} finally {
|
|
34
|
+
if (_d) throw _e;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return _arr;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function _arrayLikeToArray(arr, len) {
|
|
42
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
43
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
44
|
+
return arr2;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
48
|
+
if (!o) return;
|
|
49
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
50
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
51
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
52
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
53
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _nonIterableRest() {
|
|
57
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _slicedToArray(arr, i) {
|
|
61
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var timeZoneUrl = "api/v1/time_zone";
|
|
65
|
+
var updateTimeZone = function updateTimeZone(payload) {
|
|
66
|
+
return axios.patch(timeZoneUrl, payload);
|
|
67
|
+
};
|
|
68
|
+
var timeZoneApi = {
|
|
69
|
+
updateTimeZone: updateTimeZone
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var useUpdateTimeZone = function useUpdateTimeZone() {
|
|
73
|
+
return useMutation(timeZoneApi.updateTimeZone, {
|
|
74
|
+
onSuccess: function onSuccess() {
|
|
75
|
+
return window.location.reload();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var getBrowserTimeZone = function getBrowserTimeZone() {
|
|
81
|
+
return dayjs.tz.guess();
|
|
82
|
+
};
|
|
83
|
+
var getUserTimeZone = function getUserTimeZone() {
|
|
84
|
+
var _globalProps$user;
|
|
85
|
+
return (_globalProps$user = globalProps$1.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.timeZone;
|
|
86
|
+
};
|
|
87
|
+
var checkIfTwoTimeZonesAreSame = function checkIfTwoTimeZonesAreSame(timeZone1, timeZone2) {
|
|
88
|
+
return dayjs().tz(timeZone1).format("Z") === dayjs().tz(timeZone2).format("Z");
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
92
|
+
var _ref$isOpen = _ref.isOpen,
|
|
93
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
94
|
+
_ref$onClose = _ref.onClose,
|
|
95
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose;
|
|
96
|
+
var _useTranslation = useTranslation(),
|
|
97
|
+
t = _useTranslation.t;
|
|
98
|
+
var _useState = useState(false),
|
|
99
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
100
|
+
isTimezoneModalOpen = _useState2[0],
|
|
101
|
+
setIsTimezoneModalOpen = _useState2[1];
|
|
102
|
+
var _useUpdateTimeZone = useUpdateTimeZone(),
|
|
103
|
+
isLoading = _useUpdateTimeZone.isLoading,
|
|
104
|
+
updateTimeZone = _useUpdateTimeZone.mutate;
|
|
105
|
+
var isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(getUserTimeZone(), getBrowserTimeZone());
|
|
106
|
+
var handleUpdateTimeZone = function handleUpdateTimeZone() {
|
|
107
|
+
var payload = {
|
|
108
|
+
timeZone: getBrowserTimeZone()
|
|
109
|
+
};
|
|
110
|
+
updateTimeZone(payload, {
|
|
111
|
+
onSuccess: function onSuccess() {
|
|
112
|
+
setIsTimezoneModalOpen(false);
|
|
113
|
+
onClose();
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
var handleCancel = function handleCancel() {
|
|
118
|
+
setIsTimezoneModalOpen(false);
|
|
119
|
+
onClose();
|
|
120
|
+
};
|
|
121
|
+
useEffect(function () {
|
|
122
|
+
if (process.env.RAILS_ENV !== "heroku") {
|
|
123
|
+
setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
|
|
124
|
+
}
|
|
125
|
+
}, []);
|
|
126
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
127
|
+
closeOnOutsideClick: false,
|
|
128
|
+
isOpen: isTimezoneModalOpen || isOpen,
|
|
129
|
+
size: "large",
|
|
130
|
+
onClose: handleCancel
|
|
131
|
+
}, /*#__PURE__*/React.createElement(Modal.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
132
|
+
style: "h2",
|
|
133
|
+
weight: "normal"
|
|
134
|
+
}, t("neetoMolecules.alert.timezone.title"))), /*#__PURE__*/React.createElement(Modal.Body, null, /*#__PURE__*/React.createElement("span", {
|
|
135
|
+
className: "flex flex-col space-y-4"
|
|
136
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
137
|
+
component: "span",
|
|
138
|
+
style: "body2"
|
|
139
|
+
}, t("neetoMolecules.alert.timezone.message", {
|
|
140
|
+
entity: globalProps.appName
|
|
141
|
+
})), /*#__PURE__*/React.createElement(Typography, {
|
|
142
|
+
component: "span",
|
|
143
|
+
style: "h4"
|
|
144
|
+
}, t("neetoMolecules.alert.timezone.userTimezone", {
|
|
145
|
+
entity: getUserTimeZone()
|
|
146
|
+
})), /*#__PURE__*/React.createElement(Typography, {
|
|
147
|
+
component: "span",
|
|
148
|
+
style: "h4"
|
|
149
|
+
}, t("neetoMolecules.alert.timezone.browserTimezone", {
|
|
150
|
+
entity: getBrowserTimeZone()
|
|
151
|
+
})))), /*#__PURE__*/React.createElement(Modal.Footer, {
|
|
152
|
+
className: "space-x-2"
|
|
153
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
154
|
+
"data-testid": "update-timezone-button",
|
|
155
|
+
disabled: isLoading,
|
|
156
|
+
label: t("neetoMolecules.alert.timezone.updateProfile"),
|
|
157
|
+
loading: isLoading,
|
|
158
|
+
style: "primary",
|
|
159
|
+
onClick: handleUpdateTimeZone
|
|
160
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
161
|
+
label: t("neetoMolecules.common.actions.cancel"),
|
|
162
|
+
style: "text",
|
|
163
|
+
onClick: handleCancel
|
|
164
|
+
})));
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export { TimezoneMismatchModal as default };
|
|
168
|
+
//# sourceMappingURL=TimezoneMismatchModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation(timeZoneApi.updateTimeZone, {\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React, { useEffect, useState } from \"react\";\n\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = () => {} }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isLoading, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (process.env.RAILS_ENV !== \"heroku\") {\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n {t(\"neetoMolecules.alert.timezone.userTimezone\", {\n entity: getUserTimeZone(),\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n {t(\"neetoMolecules.alert.timezone.browserTimezone\", {\n entity: getBrowserTimeZone(),\n })}\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isLoading}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isLoading}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","onSuccess","window","location","reload","getBrowserTimeZone","dayjs","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isLoading","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","React","createElement","Modal","closeOnOutsideClick","size","Header","Typography","style","weight","Body","className","component","entity","appName","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
|