@bigbinary/neeto-integrations-frontend 4.0.24 → 4.0.25
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/dist/.ready +1 -1
- package/dist/Form-Bm37EVs6.js +189 -0
- package/dist/Form-Bm37EVs6.js.map +1 -0
- package/dist/Form-DbbEVp56.js +166 -0
- package/dist/Form-DbbEVp56.js.map +1 -0
- package/dist/cjs/v2/Connect.js +86 -0
- package/dist/cjs/v2/Connect.js.map +1 -0
- package/dist/cjs/v2/Daily.js +144 -0
- package/dist/cjs/v2/Daily.js.map +1 -0
- package/dist/cjs/v2/DailyForm.js +29 -0
- package/dist/cjs/v2/DailyForm.js.map +1 -0
- package/dist/cjs/v2/Demo.js +76 -0
- package/dist/cjs/v2/Demo.js.map +1 -0
- package/dist/cjs/v2/DisconnectAlert.js +40 -0
- package/dist/cjs/v2/DisconnectAlert.js.map +1 -0
- package/dist/cjs/v2/DisconnectedIntegrationsRibbon.js +109 -0
- package/dist/cjs/v2/DisconnectedIntegrationsRibbon.js.map +1 -0
- package/dist/cjs/v2/Finish.js +96 -0
- package/dist/cjs/v2/Finish.js.map +1 -0
- package/dist/cjs/v2/GoogleCalendar.js +112 -0
- package/dist/cjs/v2/GoogleCalendar.js.map +1 -0
- package/dist/cjs/v2/Manage.js +170 -0
- package/dist/cjs/v2/Manage.js.map +1 -0
- package/dist/cjs/v2/Modal.js +87 -0
- package/dist/cjs/v2/Modal.js.map +1 -0
- package/dist/cjs/v2/Telnyx.js +237 -0
- package/dist/cjs/v2/Telnyx.js.map +1 -0
- package/dist/cjs/v2/Twilio.js +309 -0
- package/dist/cjs/v2/Twilio.js.map +1 -0
- package/dist/cjs/v2/WalkthroughModal.js +51 -0
- package/dist/cjs/v2/WalkthroughModal.js.map +1 -0
- package/dist/cjs/v2/ZapierForm.js +316 -0
- package/dist/cjs/v2/ZapierForm.js.map +1 -0
- package/dist/cjs/v2/Zoom.js +125 -0
- package/dist/cjs/v2/Zoom.js.map +1 -0
- package/dist/query-BADHOzBP.js +21 -0
- package/dist/query-BADHOzBP.js.map +1 -0
- package/dist/query-BijkeV_r.js +31 -0
- package/dist/query-BijkeV_r.js.map +1 -0
- package/dist/v2/Connect.js +84 -0
- package/dist/v2/Connect.js.map +1 -0
- package/dist/v2/Daily.js +142 -0
- package/dist/v2/Daily.js.map +1 -0
- package/dist/v2/DailyForm.js +23 -0
- package/dist/v2/DailyForm.js.map +1 -0
- package/dist/v2/Demo.js +74 -0
- package/dist/v2/Demo.js.map +1 -0
- package/dist/v2/DisconnectAlert.js +38 -0
- package/dist/v2/DisconnectAlert.js.map +1 -0
- package/dist/v2/DisconnectedIntegrationsRibbon.js +107 -0
- package/dist/v2/DisconnectedIntegrationsRibbon.js.map +1 -0
- package/dist/v2/Finish.js +75 -0
- package/dist/v2/Finish.js.map +1 -0
- package/dist/v2/GoogleCalendar.js +110 -0
- package/dist/v2/GoogleCalendar.js.map +1 -0
- package/dist/v2/Manage.js +168 -0
- package/dist/v2/Manage.js.map +1 -0
- package/dist/v2/Modal.js +85 -0
- package/dist/v2/Modal.js.map +1 -0
- package/dist/v2/Telnyx.js +216 -0
- package/dist/v2/Telnyx.js.map +1 -0
- package/dist/v2/Twilio.js +288 -0
- package/dist/v2/Twilio.js.map +1 -0
- package/dist/v2/WalkthroughModal.js +49 -0
- package/dist/v2/WalkthroughModal.js.map +1 -0
- package/dist/v2/ZapierForm.js +295 -0
- package/dist/v2/ZapierForm.js.map +1 -0
- package/dist/v2/Zoom.js +123 -0
- package/dist/v2/Zoom.js.map +1 -0
- package/package.json +19 -9
- package/typeTemplates-v2/index.d.ts +180 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
5
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
8
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
9
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
10
|
+
var GoogleCalendarIcon = require('@bigbinary/neeto-icons/misc/GoogleCalendar');
|
|
11
|
+
var Google = require('@bigbinary/neeto-icons/misc/Google');
|
|
12
|
+
var reactI18next = require('react-i18next');
|
|
13
|
+
var i18next = require('i18next');
|
|
14
|
+
var v2_Modal = require('./Modal.js');
|
|
15
|
+
var v2_Finish = require('./Finish.js');
|
|
16
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
17
|
+
require('classnames');
|
|
18
|
+
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
19
|
+
require('@bigbinary/neeto-molecules/v2/CardLayout');
|
|
20
|
+
require('../../index-dxk7jTL7.js');
|
|
21
|
+
|
|
22
|
+
var INTEGRATION_STEPS = [{
|
|
23
|
+
step: "1",
|
|
24
|
+
label: i18next.t("neetoIntegrations.common.connect"),
|
|
25
|
+
isActive: true,
|
|
26
|
+
isCompleted: false
|
|
27
|
+
}, {
|
|
28
|
+
step: "2",
|
|
29
|
+
label: i18next.t("neetoIntegrations.common.finish"),
|
|
30
|
+
isActive: false,
|
|
31
|
+
isCompleted: false
|
|
32
|
+
}];
|
|
33
|
+
var STEPS = {
|
|
34
|
+
connect: i18next.t("neetoIntegrations.common.connect"),
|
|
35
|
+
finish: i18next.t("neetoIntegrations.common.finish")
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
39
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
40
|
+
var GoogleCalendar = function GoogleCalendar(_ref) {
|
|
41
|
+
var permissionImage = _ref.permissionImage,
|
|
42
|
+
fetchAuthorizationUrl = _ref.fetchAuthorizationUrl,
|
|
43
|
+
handleClose = _ref.handleClose,
|
|
44
|
+
handleRedirect = _ref.handleRedirect;
|
|
45
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
46
|
+
t = _useTranslation.t;
|
|
47
|
+
var _useState = React.useState(INTEGRATION_STEPS),
|
|
48
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
49
|
+
steps = _useState2[0],
|
|
50
|
+
setSteps = _useState2[1];
|
|
51
|
+
var _getQueryParams = utils.getQueryParams(),
|
|
52
|
+
status = _getQueryParams.status;
|
|
53
|
+
var activeTab = neetoCist.isPresent(status) ? STEPS.finish : STEPS.connect;
|
|
54
|
+
React.useEffect(function () {
|
|
55
|
+
setSteps(function () {
|
|
56
|
+
var stepsClone = _toConsumableArray(steps);
|
|
57
|
+
stepsClone[0] = _objectSpread(_objectSpread({}, steps[0]), {}, {
|
|
58
|
+
isActive: activeTab === STEPS.connect,
|
|
59
|
+
isCompleted: activeTab !== STEPS.connect
|
|
60
|
+
});
|
|
61
|
+
stepsClone[1] = _objectSpread(_objectSpread({}, steps[1]), {}, {
|
|
62
|
+
isActive: activeTab === STEPS.finish,
|
|
63
|
+
isCompleted: activeTab === STEPS.finish
|
|
64
|
+
});
|
|
65
|
+
return stepsClone;
|
|
66
|
+
});
|
|
67
|
+
}, [activeTab]);
|
|
68
|
+
return /*#__PURE__*/jsxRuntime.jsxs(v2_Modal, {
|
|
69
|
+
steps: steps,
|
|
70
|
+
isOpen: true,
|
|
71
|
+
onClose: handleClose,
|
|
72
|
+
children: [activeTab === STEPS.connect && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
73
|
+
className: "mx-auto w-full max-w-3xl",
|
|
74
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(GoogleCalendarIcon, {
|
|
75
|
+
size: 48
|
|
76
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
77
|
+
className: "mb-4 mt-2",
|
|
78
|
+
variant: "h2",
|
|
79
|
+
children: t("neetoIntegrations.google.connect.title")
|
|
80
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
81
|
+
className: "flex w-full flex-col items-start",
|
|
82
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Callout, {
|
|
83
|
+
className: "block leading-5",
|
|
84
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
85
|
+
components: {
|
|
86
|
+
bold: /*#__PURE__*/jsxRuntime.jsx("strong", {})
|
|
87
|
+
},
|
|
88
|
+
i18nKey: "neetoIntegrations.google.connect.reminderToAcceptPermissions",
|
|
89
|
+
values: {
|
|
90
|
+
selectCheckbox: t("neetoIntegrations.google.connect.selectCheckbox")
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
}), permissionImage && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
94
|
+
className: "neeto-ui-rounded-md my-4 overflow-hidden border border-border",
|
|
95
|
+
children: /*#__PURE__*/jsxRuntime.jsx("img", {
|
|
96
|
+
src: permissionImage
|
|
97
|
+
})
|
|
98
|
+
})]
|
|
99
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
100
|
+
icon: Google,
|
|
101
|
+
label: t("neetoIntegrations.google.connect.signIn"),
|
|
102
|
+
onClick: fetchAuthorizationUrl
|
|
103
|
+
})]
|
|
104
|
+
}), activeTab === STEPS.finish && /*#__PURE__*/jsxRuntime.jsx(v2_Finish, {
|
|
105
|
+
title: t("neetoIntegrations.google.finish.title"),
|
|
106
|
+
onClick: handleRedirect
|
|
107
|
+
})]
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
module.exports = GoogleCalendar;
|
|
112
|
+
//# sourceMappingURL=GoogleCalendar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleCalendar.js","sources":["../../../app/javascript/src/components/v2/Integrations/GoogleCalender/constants.js","../../../app/javascript/src/components/v2/Integrations/GoogleCalender/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const INTEGRATION_STEPS = [\n {\n step: \"1\",\n label: t(\"neetoIntegrations.common.connect\"),\n isActive: true,\n isCompleted: false,\n },\n {\n step: \"2\",\n label: t(\"neetoIntegrations.common.finish\"),\n isActive: false,\n isCompleted: false,\n },\n];\n\nexport const STEPS = {\n connect: t(\"neetoIntegrations.common.connect\"),\n finish: t(\"neetoIntegrations.common.finish\"),\n};\n","import { useState, useEffect } from \"react\";\n\nimport { Typography, Callout, Button } from \"@bigbinary/neeto-atoms\";\nimport { isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { GoogleCalendar as GoogleCalendarIcon, Google } from \"neetoicons/misc\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { INTEGRATION_STEPS, STEPS } from \"./constants\";\n\nimport IntegrationsModal from \"../../Modal\";\nimport Finish from \"../../Steps/Finish\";\n\nconst GoogleCalendar = ({\n permissionImage,\n fetchAuthorizationUrl,\n handleClose,\n handleRedirect,\n}) => {\n const { t } = useTranslation();\n const [steps, setSteps] = useState(INTEGRATION_STEPS);\n const { status } = getQueryParams();\n\n const activeTab = isPresent(status) ? STEPS.finish : STEPS.connect;\n\n useEffect(() => {\n setSteps(() => {\n const stepsClone = [...steps];\n stepsClone[0] = {\n ...steps[0],\n isActive: activeTab === STEPS.connect,\n isCompleted: activeTab !== STEPS.connect,\n };\n\n stepsClone[1] = {\n ...steps[1],\n isActive: activeTab === STEPS.finish,\n isCompleted: activeTab === STEPS.finish,\n };\n\n return stepsClone;\n });\n }, [activeTab]);\n\n return (\n <IntegrationsModal {...{ steps }} isOpen onClose={handleClose}>\n {activeTab === STEPS.connect && (\n <div className=\"mx-auto w-full max-w-3xl\">\n <GoogleCalendarIcon size={48} />\n <Typography className=\"mb-4 mt-2\" variant=\"h2\">\n {t(\"neetoIntegrations.google.connect.title\")}\n </Typography>\n <div className=\"flex w-full flex-col items-start\">\n <Callout className=\"block leading-5\">\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoIntegrations.google.connect.reminderToAcceptPermissions\"\n values={{\n selectCheckbox: t(\n \"neetoIntegrations.google.connect.selectCheckbox\"\n ),\n }}\n />\n </Callout>\n {permissionImage && (\n <div className=\"neeto-ui-rounded-md my-4 overflow-hidden border border-border\">\n <img src={permissionImage} />\n </div>\n )}\n </div>\n <Button\n icon={Google}\n label={t(\"neetoIntegrations.google.connect.signIn\")}\n onClick={fetchAuthorizationUrl}\n />\n </div>\n )}\n {activeTab === STEPS.finish && (\n <Finish\n title={t(\"neetoIntegrations.google.finish.title\")}\n onClick={handleRedirect}\n />\n )}\n </IntegrationsModal>\n );\n};\n\nexport default GoogleCalendar;\n"],"names":["INTEGRATION_STEPS","step","label","t","isActive","isCompleted","STEPS","connect","finish","GoogleCalendar","_ref","permissionImage","fetchAuthorizationUrl","handleClose","handleRedirect","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","steps","setSteps","_getQueryParams","getQueryParams","status","activeTab","isPresent","useEffect","stepsClone","_toConsumableArray","_objectSpread","_jsxs","IntegrationsModal","isOpen","onClose","children","className","_jsx","GoogleCalendarIcon","size","Typography","variant","Callout","Trans","components","bold","i18nKey","values","selectCheckbox","src","Button","icon","Google","onClick","Finish","title"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
6
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
8
|
+
var v2_DisconnectAlert = require('./DisconnectAlert.js');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
11
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
12
|
+
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var Manage = reactUtils.withT(function (_ref) {
|
|
16
|
+
var t = _ref.t,
|
|
17
|
+
_ref$title = _ref.title,
|
|
18
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
19
|
+
_ref$description = _ref.description,
|
|
20
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
21
|
+
_ref$integration = _ref.integration,
|
|
22
|
+
integration = _ref$integration === void 0 ? "" : _ref$integration,
|
|
23
|
+
_ref$isDisconnectAler = _ref.isDisconnectAlertOpen,
|
|
24
|
+
isDisconnectAlertOpen = _ref$isDisconnectAler === void 0 ? false : _ref$isDisconnectAler,
|
|
25
|
+
_ref$setIsDisconnectA = _ref.setIsDisconnectAlertOpen,
|
|
26
|
+
setIsDisconnectAlertOpen = _ref$setIsDisconnectA === void 0 ? neetoCist.noop : _ref$setIsDisconnectA,
|
|
27
|
+
_ref$isDisconnecting = _ref.isDisconnecting,
|
|
28
|
+
isDisconnecting = _ref$isDisconnecting === void 0 ? false : _ref$isDisconnecting,
|
|
29
|
+
_ref$onConnect = _ref.onConnect,
|
|
30
|
+
onConnect = _ref$onConnect === void 0 ? undefined : _ref$onConnect,
|
|
31
|
+
_ref$onDisconnect = _ref.onDisconnect,
|
|
32
|
+
onDisconnect = _ref$onDisconnect === void 0 ? undefined : _ref$onDisconnect,
|
|
33
|
+
_ref$onClose = _ref.onClose,
|
|
34
|
+
onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
|
|
35
|
+
_ref$Icon = _ref.Icon,
|
|
36
|
+
Icon = _ref$Icon === void 0 ? null : _ref$Icon,
|
|
37
|
+
_ref$isConnected = _ref.isConnected,
|
|
38
|
+
isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
|
|
39
|
+
_ref$connectPath = _ref.connectPath,
|
|
40
|
+
connectPath = _ref$connectPath === void 0 ? "" : _ref$connectPath,
|
|
41
|
+
_ref$connectUrl = _ref.connectUrl,
|
|
42
|
+
connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
|
|
43
|
+
_ref$helpDocUrl = _ref.helpDocUrl,
|
|
44
|
+
helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
|
|
45
|
+
_ref$managePath = _ref.managePath,
|
|
46
|
+
managePath = _ref$managePath === void 0 ? "" : _ref$managePath,
|
|
47
|
+
_ref$manageUrl = _ref.manageUrl,
|
|
48
|
+
manageUrl = _ref$manageUrl === void 0 ? "" : _ref$manageUrl,
|
|
49
|
+
_ref$integrationName = _ref.integrationName,
|
|
50
|
+
integrationName = _ref$integrationName === void 0 ? "" : _ref$integrationName,
|
|
51
|
+
_ref$disconnectMessag = _ref.disconnectMessage,
|
|
52
|
+
disconnectMessage = _ref$disconnectMessag === void 0 ? "" : _ref$disconnectMessag,
|
|
53
|
+
_ref$disconnectTitle = _ref.disconnectTitle,
|
|
54
|
+
disconnectTitle = _ref$disconnectTitle === void 0 ? "" : _ref$disconnectTitle,
|
|
55
|
+
_ref$isConnectDisable = _ref.isConnectDisabled,
|
|
56
|
+
isConnectDisabled = _ref$isConnectDisable === void 0 ? false : _ref$isConnectDisable,
|
|
57
|
+
_ref$connectTooltipPr = _ref.connectTooltipProps,
|
|
58
|
+
connectTooltipProps = _ref$connectTooltipPr === void 0 ? null : _ref$connectTooltipPr,
|
|
59
|
+
_ref$buttonProps = _ref.buttonProps,
|
|
60
|
+
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
|
|
61
|
+
_ref$secondaryButtonP = _ref.secondaryButtonProps,
|
|
62
|
+
secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
|
|
63
|
+
_ref$calloutProps = _ref.calloutProps,
|
|
64
|
+
calloutProps = _ref$calloutProps === void 0 ? {} : _ref$calloutProps;
|
|
65
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
66
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
67
|
+
className: "mx-auto w-full max-w-3xl",
|
|
68
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
69
|
+
className: "neeto-ui-rounded-lg neeto-integrations__manage my-6 w-full border border-border",
|
|
70
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
71
|
+
className: "space-y-4 md:p-8 p-6",
|
|
72
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
73
|
+
className: "flex md:flex-row flex-col items-start gap-6",
|
|
74
|
+
children: [Icon && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
75
|
+
className: "neeto-ui-rounded-lg neeto-ui-shadow-sm border-border mt-0.5 flex shrink-0 items-center justify-center border p-2",
|
|
76
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
77
|
+
className: "text-muted-foreground",
|
|
78
|
+
size: 44
|
|
79
|
+
})
|
|
80
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
81
|
+
className: "flex flex-col gap-6",
|
|
82
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
83
|
+
className: "flex flex-col gap-2",
|
|
84
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
85
|
+
className: "flex items-center space-x-3",
|
|
86
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
87
|
+
className: "text-foreground mb-0.5",
|
|
88
|
+
variant: "h2",
|
|
89
|
+
weight: "semibold",
|
|
90
|
+
children: title
|
|
91
|
+
}), isConnected && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
92
|
+
className: "bg-green-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
|
|
93
|
+
children: /*#__PURE__*/jsxRuntime.jsx(lucideReact.Check, {
|
|
94
|
+
size: 20
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
97
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
98
|
+
className: "flex flex-col gap-2",
|
|
99
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
100
|
+
className: "text-foreground break-words",
|
|
101
|
+
variant: "body1",
|
|
102
|
+
weight: "normal",
|
|
103
|
+
children: description
|
|
104
|
+
}), helpDocUrl && /*#__PURE__*/jsxRuntime.jsxs("a", {
|
|
105
|
+
className: "inline-flex items-center gap-1 text-sm font-medium text-primary underline underline-offset-4",
|
|
106
|
+
"data-testid": "help-doc-link",
|
|
107
|
+
href: helpDocUrl,
|
|
108
|
+
rel: "noreferrer",
|
|
109
|
+
target: "_blank",
|
|
110
|
+
children: [t("neetoIntegrations.common.learnMore", {
|
|
111
|
+
integration: integrationName || neetoCist.humanize(integration)
|
|
112
|
+
}), /*#__PURE__*/jsxRuntime.jsx(lucideReact.ExternalLink, {
|
|
113
|
+
size: 14
|
|
114
|
+
})]
|
|
115
|
+
}), neetoCist.isNotEmpty(calloutProps) && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Callout, _objectSpread({}, calloutProps))]
|
|
116
|
+
})]
|
|
117
|
+
}), isConnected ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
118
|
+
className: "w-full flex gap-2",
|
|
119
|
+
children: [(managePath || manageUrl) && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, _objectSpread({
|
|
120
|
+
"data-testid": "manage-button",
|
|
121
|
+
href: manageUrl,
|
|
122
|
+
target: manageUrl ? "_blank" : "_self",
|
|
123
|
+
to: managePath,
|
|
124
|
+
label: t("neetoIntegrations.common.manageIntegration", {
|
|
125
|
+
integration: integrationName || neetoCist.humanize(integration)
|
|
126
|
+
})
|
|
127
|
+
}, buttonProps)), onDisconnect && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, _objectSpread({
|
|
128
|
+
"data-testid": "disconnect-button",
|
|
129
|
+
variant: "secondary",
|
|
130
|
+
label: t("neetoIntegrations.common.disconnectIntegration", {
|
|
131
|
+
integration: integrationName || neetoCist.humanize(integration)
|
|
132
|
+
}),
|
|
133
|
+
onClick: function onClick() {
|
|
134
|
+
return setIsDisconnectAlertOpen(true);
|
|
135
|
+
}
|
|
136
|
+
}, secondaryButtonProps))]
|
|
137
|
+
}) : /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Tooltip, _objectSpread(_objectSpread({
|
|
138
|
+
disabled: !isConnectDisabled
|
|
139
|
+
}, connectTooltipProps), {}, {
|
|
140
|
+
children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
141
|
+
className: "w-full",
|
|
142
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, _objectSpread({
|
|
143
|
+
"data-testid": "connect-button",
|
|
144
|
+
disabled: isConnectDisabled,
|
|
145
|
+
href: connectUrl,
|
|
146
|
+
to: connectPath,
|
|
147
|
+
label: t("neetoIntegrations.common.connectIntegration", {
|
|
148
|
+
integration: integrationName || neetoCist.humanize(integration)
|
|
149
|
+
}),
|
|
150
|
+
onClick: onConnect
|
|
151
|
+
}, buttonProps))
|
|
152
|
+
})
|
|
153
|
+
}))]
|
|
154
|
+
})]
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
}), /*#__PURE__*/jsxRuntime.jsx(v2_DisconnectAlert, {
|
|
159
|
+
isDisconnecting: isDisconnecting,
|
|
160
|
+
onClose: onClose,
|
|
161
|
+
onDisconnect: onDisconnect,
|
|
162
|
+
isOpen: isDisconnectAlertOpen,
|
|
163
|
+
message: disconnectMessage || t("adminPanel.integrations.".concat(integration, ".disconnect.message")),
|
|
164
|
+
title: disconnectTitle || t("adminPanel.integrations.".concat(integration, ".disconnect.title"))
|
|
165
|
+
})]
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
module.exports = Manage;
|
|
170
|
+
//# sourceMappingURL=Manage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Manage.js","sources":["../../../app/javascript/src/components/v2/commons/Manage.jsx"],"sourcesContent":["import { Button, Callout, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Check, ExternalLink } from \"lucide-react\";\nimport { humanize, isNotEmpty, noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport DisconnectAlert from \"../DisconnectAlert\";\n\nconst Manage = withT(\n ({\n t,\n title = \"\",\n description = \"\",\n integration = \"\",\n isDisconnectAlertOpen = false,\n setIsDisconnectAlertOpen = noop,\n isDisconnecting = false,\n onConnect = undefined,\n onDisconnect = undefined,\n onClose = noop,\n Icon = null,\n isConnected = false,\n connectPath = \"\",\n connectUrl = \"\",\n helpDocUrl = \"\",\n managePath = \"\",\n manageUrl = \"\",\n integrationName = \"\",\n disconnectMessage = \"\",\n disconnectTitle = \"\",\n isConnectDisabled = false,\n connectTooltipProps = null,\n buttonProps = {},\n secondaryButtonProps = {},\n calloutProps = {},\n }) => (\n <>\n <div className=\"mx-auto w-full max-w-3xl\">\n <div className=\"neeto-ui-rounded-lg neeto-integrations__manage my-6 w-full border border-border\">\n <div className=\"space-y-4 md:p-8 p-6\">\n <div className=\"flex md:flex-row flex-col items-start gap-6\">\n {Icon && (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-sm border-border mt-0.5 flex shrink-0 items-center justify-center border p-2\">\n <Icon className=\"text-muted-foreground\" size={44} />\n </div>\n )}\n <div className=\"flex flex-col gap-6\">\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center space-x-3\">\n <Typography\n className=\"text-foreground mb-0.5\"\n variant=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n {isConnected && (\n <div className=\"bg-green-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1\">\n <Check size={20} />\n </div>\n )}\n </div>\n <div className=\"flex flex-col gap-2\">\n <Typography\n className=\"text-foreground break-words\"\n variant=\"body1\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n {helpDocUrl && (\n <a\n className=\"inline-flex items-center gap-1 text-sm font-medium text-primary underline underline-offset-4\"\n data-testid=\"help-doc-link\"\n href={helpDocUrl}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n {t(\"neetoIntegrations.common.learnMore\", {\n integration: integrationName || humanize(integration),\n })}\n <ExternalLink size={14} />\n </a>\n )}\n {isNotEmpty(calloutProps) && <Callout {...calloutProps} />}\n </div>\n </div>\n {isConnected ? (\n <div className=\"w-full flex gap-2\">\n {(managePath || manageUrl) && (\n <Button\n data-testid=\"manage-button\"\n href={manageUrl}\n target={manageUrl ? \"_blank\" : \"_self\"}\n to={managePath}\n label={t(\"neetoIntegrations.common.manageIntegration\", {\n integration: integrationName || humanize(integration),\n })}\n {...buttonProps}\n />\n )}\n {onDisconnect && (\n <Button\n data-testid=\"disconnect-button\"\n variant=\"secondary\"\n label={t(\n \"neetoIntegrations.common.disconnectIntegration\",\n {\n integration:\n integrationName || humanize(integration),\n }\n )}\n onClick={() => setIsDisconnectAlertOpen(true)}\n {...secondaryButtonProps}\n />\n )}\n </div>\n ) : (\n <Tooltip\n disabled={!isConnectDisabled}\n {...connectTooltipProps}\n >\n {(connectPath || connectUrl || onConnect) && (\n <div className=\"w-full\">\n <Button\n data-testid=\"connect-button\"\n disabled={isConnectDisabled}\n href={connectUrl}\n to={connectPath}\n label={t(\n \"neetoIntegrations.common.connectIntegration\",\n {\n integration:\n integrationName || humanize(integration),\n }\n )}\n onClick={onConnect}\n {...buttonProps}\n />\n </div>\n )}\n </Tooltip>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n <DisconnectAlert\n {...{ isDisconnecting, onClose, onDisconnect }}\n isOpen={isDisconnectAlertOpen}\n message={\n disconnectMessage ||\n t(`adminPanel.integrations.${integration}.disconnect.message`)\n }\n title={\n disconnectTitle ||\n t(`adminPanel.integrations.${integration}.disconnect.title`)\n }\n />\n </>\n )\n);\n\nexport default Manage;\n"],"names":["Manage","withT","_ref","t","_ref$title","title","_ref$description","description","_ref$integration","integration","_ref$isDisconnectAler","isDisconnectAlertOpen","_ref$setIsDisconnectA","setIsDisconnectAlertOpen","noop","_ref$isDisconnecting","isDisconnecting","_ref$onConnect","onConnect","undefined","_ref$onDisconnect","onDisconnect","_ref$onClose","onClose","_ref$Icon","Icon","_ref$isConnected","isConnected","_ref$connectPath","connectPath","_ref$connectUrl","connectUrl","_ref$helpDocUrl","helpDocUrl","_ref$managePath","managePath","_ref$manageUrl","manageUrl","_ref$integrationName","integrationName","_ref$disconnectMessag","disconnectMessage","_ref$disconnectTitle","disconnectTitle","_ref$isConnectDisable","isConnectDisabled","_ref$connectTooltipPr","connectTooltipProps","_ref$buttonProps","buttonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$calloutProps","calloutProps","_jsxs","_Fragment","children","_jsx","className","size","Typography","variant","weight","Check","href","rel","target","humanize","ExternalLink","isNotEmpty","Callout","_objectSpread","Button","to","label","onClick","Tooltip","disabled","DisconnectAlert","isOpen","message","concat"],"mappings":";;;;;;;;;;;;;;AAOA,IAAMA,MAAM,GAAGC,gBAAK,CAClB,UAAAC,IAAA,EAAA;AAAA,EAAA,IACEC,CAAC,GAAAD,IAAA,CAADC,CAAC;IAAAC,UAAA,GAAAF,IAAA,CACDG,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IAAAE,gBAAA,GAAAJ,IAAA,CACVK,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,gBAAA,GAAAN,IAAA,CAChBO,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAAR,IAAA,CAChBS,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAV,IAAA,CAC7BW,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,qBAAA;IAAAG,oBAAA,GAAAb,IAAA,CAC/Bc,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAE,cAAA,GAAAf,IAAA,CACvBgB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAGE,SAAS,GAAAF,cAAA;IAAAG,iBAAA,GAAAlB,IAAA,CACrBmB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGD,SAAS,GAAAC,iBAAA;IAAAE,YAAA,GAAApB,IAAA,CACxBqB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAGR,cAAI,GAAAQ,YAAA;IAAAE,SAAA,GAAAtB,IAAA,CACduB,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,SAAA;IAAAE,gBAAA,GAAAxB,IAAA,CACXyB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAE,gBAAA,GAAA1B,IAAA,CACnB2B,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,eAAA,GAAA5B,IAAA,CAChB6B,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,eAAA,GAAA9B,IAAA,CACf+B,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,eAAA,GAAAhC,IAAA,CACfiC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,cAAA,GAAAlC,IAAA,CACfmC,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,oBAAA,GAAApC,IAAA,CACdqC,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAAtC,IAAA,CACpBuC,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,oBAAA,GAAAxC,IAAA,CACtByC,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAAAE,qBAAA,GAAA1C,IAAA,CACpB2C,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAA5C,IAAA,CACzB6C,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,gBAAA,GAAA9C,IAAA,CAC1B+C,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAAhD,IAAA,CAChBiD,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,iBAAA,GAAAlD,IAAA,CACzBmD,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;EAAA,oBAEjBE,eAAA,CAAAC,mBAAA,EAAA;AAAAC,IAAAA,QAAA,gBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,0BAA0B;AAAAF,MAAAA,QAAA,eACvCC,cAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,iFAAiF;AAAAF,QAAAA,QAAA,eAC9FC,cAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,sBAAsB;AAAAF,UAAAA,QAAA,eACnCF,eAAA,CAAA,KAAA,EAAA;AAAKI,YAAAA,SAAS,EAAC,6CAA6C;YAAAF,QAAA,EAAA,CACzD/B,IAAI,iBACHgC,cAAA,CAAA,KAAA,EAAA;AAAKC,cAAAA,SAAS,EAAC,kHAAkH;cAAAF,QAAA,eAC/HC,cAAA,CAAChC,IAAI,EAAA;AAACiC,gBAAAA,SAAS,EAAC,uBAAuB;AAACC,gBAAAA,IAAI,EAAE;eAAK;aAChD,CACN,eACDL,eAAA,CAAA,KAAA,EAAA;AAAKI,cAAAA,SAAS,EAAC,qBAAqB;AAAAF,cAAAA,QAAA,gBAClCF,eAAA,CAAA,KAAA,EAAA;AAAKI,gBAAAA,SAAS,EAAC,qBAAqB;AAAAF,gBAAAA,QAAA,gBAClCF,eAAA,CAAA,KAAA,EAAA;AAAKI,kBAAAA,SAAS,EAAC,6BAA6B;kBAAAF,QAAA,EAAA,cAC1CC,cAAA,CAACG,qBAAU,EAAA;AACTF,oBAAAA,SAAS,EAAC,wBAAwB;AAClCG,oBAAAA,OAAO,EAAC,IAAI;AACZC,oBAAAA,MAAM,EAAC,UAAU;AAAAN,oBAAAA,QAAA,EAEhBnD;AAAK,mBACI,CAAC,EACZsB,WAAW,iBACV8B,cAAA,CAAA,KAAA,EAAA;AAAKC,oBAAAA,SAAS,EAAC,6FAA6F;oBAAAF,QAAA,eAC1GC,cAAA,CAACM,iBAAK,EAAA;AAACJ,sBAAAA,IAAI,EAAE;qBAAK;AAAC,mBAChB,CACN;iBACE,CAAC,eACNL,eAAA,CAAA,KAAA,EAAA;AAAKI,kBAAAA,SAAS,EAAC,qBAAqB;kBAAAF,QAAA,EAAA,cAClCC,cAAA,CAACG,qBAAU,EAAA;AACTF,oBAAAA,SAAS,EAAC,6BAA6B;AACvCG,oBAAAA,OAAO,EAAC,OAAO;AACfC,oBAAAA,MAAM,EAAC,QAAQ;AAAAN,oBAAAA,QAAA,EAEdjD;AAAW,mBACF,CAAC,EACZ0B,UAAU,iBACTqB,eAAA,CAAA,GAAA,EAAA;AACEI,oBAAAA,SAAS,EAAC,8FAA8F;AACxG,oBAAA,aAAA,EAAY,eAAe;AAC3BM,oBAAAA,IAAI,EAAE/B,UAAW;AACjBgC,oBAAAA,GAAG,EAAC,YAAY;AAChBC,oBAAAA,MAAM,EAAC,QAAQ;AAAAV,oBAAAA,QAAA,EAAA,CAEdrD,CAAC,CAAC,oCAAoC,EAAE;AACvCM,sBAAAA,WAAW,EAAE8B,eAAe,IAAI4B,kBAAQ,CAAC1D,WAAW;AACtD,qBAAC,CAAC,eACFgD,cAAA,CAACW,wBAAY,EAAA;AAACT,sBAAAA,IAAI,EAAE;AAAG,qBAAE,CAAC;AAAA,mBACzB,CACJ,EACAU,oBAAU,CAAChB,YAAY,CAAC,iBAAII,cAAA,CAACa,kBAAO,EAAAC,aAAA,CAAA,EAAA,EAAKlB,YAAY,CAAG,CAAC;AAAA,iBACvD,CAAC;AAAA,eACH,CAAC,EACL1B,WAAW,gBACV2B,eAAA,CAAA,KAAA,EAAA;AAAKI,gBAAAA,SAAS,EAAC,mBAAmB;gBAAAF,QAAA,EAAA,CAC/B,CAACrB,UAAU,IAAIE,SAAS,kBACvBoB,cAAA,CAACe,iBAAM,EAAAD,aAAA,CAAA;AACL,kBAAA,aAAA,EAAY,eAAe;AAC3BP,kBAAAA,IAAI,EAAE3B,SAAU;AAChB6B,kBAAAA,MAAM,EAAE7B,SAAS,GAAG,QAAQ,GAAG,OAAQ;AACvCoC,kBAAAA,EAAE,EAAEtC,UAAW;AACfuC,kBAAAA,KAAK,EAAEvE,CAAC,CAAC,4CAA4C,EAAE;AACrDM,oBAAAA,WAAW,EAAE8B,eAAe,IAAI4B,kBAAQ,CAAC1D,WAAW;mBACrD;iBAAE,EACCwC,WAAW,CAChB,CACF,EACA5B,YAAY,iBACXoC,cAAA,CAACe,iBAAM,EAAAD,aAAA,CAAA;AACL,kBAAA,aAAA,EAAY,mBAAmB;AAC/BV,kBAAAA,OAAO,EAAC,WAAW;AACnBa,kBAAAA,KAAK,EAAEvE,CAAC,CACN,gDAAgD,EAChD;AACEM,oBAAAA,WAAW,EACT8B,eAAe,IAAI4B,kBAAQ,CAAC1D,WAAW;AAC3C,mBACF,CAAE;kBACFkE,OAAO,EAAE,SAATA,OAAOA,GAAA;oBAAA,OAAQ9D,wBAAwB,CAAC,IAAI,CAAC;AAAA,kBAAA;iBAAC,EAC1CsC,oBAAoB,CACzB,CACF;eACE,CAAC,gBAENM,cAAA,CAACmB,kBAAO,EAAAL,aAAA,CAAAA,aAAA,CAAA;AACNM,gBAAAA,QAAQ,EAAE,CAAChC;AAAkB,eAAA,EACzBE,mBAAmB,CAAA,EAAA,EAAA,EAAA;gBAAAS,QAAA,EAEtB,CAAC3B,WAAW,IAAIE,UAAU,IAAIb,SAAS,kBACtCuC,cAAA,CAAA,KAAA,EAAA;AAAKC,kBAAAA,SAAS,EAAC,QAAQ;AAAAF,kBAAAA,QAAA,eACrBC,cAAA,CAACe,iBAAM,EAAAD,aAAA,CAAA;AACL,oBAAA,aAAA,EAAY,gBAAgB;AAC5BM,oBAAAA,QAAQ,EAAEhC,iBAAkB;AAC5BmB,oBAAAA,IAAI,EAAEjC,UAAW;AACjB0C,oBAAAA,EAAE,EAAE5C,WAAY;AAChB6C,oBAAAA,KAAK,EAAEvE,CAAC,CACN,6CAA6C,EAC7C;AACEM,sBAAAA,WAAW,EACT8B,eAAe,IAAI4B,kBAAQ,CAAC1D,WAAW;AAC3C,qBACF,CAAE;AACFkE,oBAAAA,OAAO,EAAEzD;AAAU,mBAAA,EACf+B,WAAW,CAChB;iBACE;AACN,eAAA,CACM,CACV;AAAA,aACE,CAAC;WACH;SACF;OACF;AAAC,KACH,CAAC,eACNQ,cAAA,CAACqB,kBAAe,EAAA;AACR9D,MAAAA,eAAe,EAAfA,eAAe;AAAEO,MAAAA,OAAO,EAAPA,OAAO;AAAEF,MAAAA,YAAY,EAAZA,YAAY;AAC5C0D,MAAAA,MAAM,EAAEpE,qBAAsB;MAC9BqE,OAAO,EACLvC,iBAAiB,IACjBtC,CAAC,4BAAA8E,MAAA,CAA4BxE,WAAW,EAAA,qBAAA,CAAqB,CAC9D;MACDJ,KAAK,EACHsC,eAAe,IACfxC,CAAC,4BAAA8E,MAAA,CAA4BxE,WAAW,EAAA,mBAAA,CAAmB;AAC5D,KACF,CAAC;AAAA,GACF,CAAC;AAAA,CAEP;;;;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
4
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
|
+
var classnames = require('classnames');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
var Stepper = function Stepper(_ref) {
|
|
9
|
+
var _ref$steps = _ref.steps,
|
|
10
|
+
steps = _ref$steps === void 0 ? {} : _ref$steps;
|
|
11
|
+
var isActiveOrCompleted = function isActiveOrCompleted(activeStatus, completedStatus) {
|
|
12
|
+
return activeStatus || completedStatus;
|
|
13
|
+
};
|
|
14
|
+
return /*#__PURE__*/jsxRuntime.jsx("ul", {
|
|
15
|
+
className: "flex gap-4",
|
|
16
|
+
children: steps === null || steps === void 0 ? void 0 : steps.map(function (_ref2) {
|
|
17
|
+
var step = _ref2.step,
|
|
18
|
+
label = _ref2.label,
|
|
19
|
+
isActive = _ref2.isActive,
|
|
20
|
+
isCompleted = _ref2.isCompleted;
|
|
21
|
+
return /*#__PURE__*/jsxRuntime.jsxs("li", {
|
|
22
|
+
className: "flex items-center gap-4",
|
|
23
|
+
children: [step !== "1" && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
24
|
+
className: classnames("w-10 border-b", {
|
|
25
|
+
"border-foreground": isActiveOrCompleted(isActive, isCompleted),
|
|
26
|
+
"border-border": !isActiveOrCompleted(isActive, isCompleted)
|
|
27
|
+
})
|
|
28
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
29
|
+
className: "flex items-center gap-2",
|
|
30
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
31
|
+
className: classnames("neeto-ui-rounded-full flex h-6 w-6 items-center justify-center border", {
|
|
32
|
+
"bg-green-600 border-green-600 neeto-ui-text-white": isActive,
|
|
33
|
+
"bg-primary border-primary neeto-ui-text-white": isCompleted,
|
|
34
|
+
"border-border text-muted-foreground": !isActiveOrCompleted(isActive, isCompleted)
|
|
35
|
+
}),
|
|
36
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
37
|
+
asChild: true,
|
|
38
|
+
variant: "body2",
|
|
39
|
+
weight: "normal",
|
|
40
|
+
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
41
|
+
children: step
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
45
|
+
variant: "body2",
|
|
46
|
+
weight: "normal",
|
|
47
|
+
className: classnames({
|
|
48
|
+
"text-foreground": isActiveOrCompleted(isActive, isCompleted),
|
|
49
|
+
"text-muted-foreground": !isActiveOrCompleted(isActive, isCompleted)
|
|
50
|
+
}),
|
|
51
|
+
children: label
|
|
52
|
+
})]
|
|
53
|
+
})]
|
|
54
|
+
}, step);
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var Modal = function Modal(_ref) {
|
|
60
|
+
var _ref$isOpen = _ref.isOpen,
|
|
61
|
+
isOpen = _ref$isOpen === void 0 ? neetoCist.noop : _ref$isOpen,
|
|
62
|
+
_ref$onClose = _ref.onClose,
|
|
63
|
+
onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
|
|
64
|
+
_ref$steps = _ref.steps,
|
|
65
|
+
steps = _ref$steps === void 0 ? {} : _ref$steps,
|
|
66
|
+
children = _ref.children;
|
|
67
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
|
|
68
|
+
isOpen: isOpen,
|
|
69
|
+
onClose: onClose,
|
|
70
|
+
className: "flex flex-col transform-none w-screen overflow-y-auto",
|
|
71
|
+
size: "fullScreen",
|
|
72
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
|
|
73
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Stepper, {
|
|
74
|
+
steps: steps
|
|
75
|
+
})
|
|
76
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Body, {
|
|
77
|
+
className: "flex justify-center grow",
|
|
78
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
79
|
+
className: "w-full py-10",
|
|
80
|
+
children: children
|
|
81
|
+
})
|
|
82
|
+
})]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
module.exports = Modal;
|
|
87
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../app/javascript/src/components/v2/Modal/Stepper.jsx","../../../app/javascript/src/components/v2/Modal/index.jsx"],"sourcesContent":["import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Stepper = ({ steps = {} }) => {\n const isActiveOrCompleted = (activeStatus, completedStatus) =>\n activeStatus || completedStatus;\n\n return (\n <ul className=\"flex gap-4\">\n {steps?.map(({ step, label, isActive, isCompleted }) => (\n <li className=\"flex items-center gap-4\" key={step}>\n {step !== \"1\" && (\n <div\n className={classnames(\"w-10 border-b\", {\n \"border-foreground\": isActiveOrCompleted(isActive, isCompleted),\n \"border-border\": !isActiveOrCompleted(isActive, isCompleted),\n })}\n />\n )}\n <div className=\"flex items-center gap-2\">\n <div\n className={classnames(\n \"neeto-ui-rounded-full flex h-6 w-6 items-center justify-center border\",\n {\n \"bg-green-600 border-green-600 neeto-ui-text-white\": isActive,\n \"bg-primary border-primary neeto-ui-text-white\": isCompleted,\n \"border-border text-muted-foreground\": !isActiveOrCompleted(\n isActive,\n isCompleted\n ),\n }\n )}\n >\n <Typography asChild variant=\"body2\" weight=\"normal\">\n <span>{step}</span>\n </Typography>\n </div>\n <Typography\n variant=\"body2\"\n weight=\"normal\"\n className={classnames({\n \"text-foreground\": isActiveOrCompleted(isActive, isCompleted),\n \"text-muted-foreground\": !isActiveOrCompleted(\n isActive,\n isCompleted\n ),\n })}\n >\n {label}\n </Typography>\n </div>\n </li>\n ))}\n </ul>\n );\n};\n\nStepper.propTypes = { steps: PropTypes.array };\n\nexport default Stepper;\n","import { Dialog } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Stepper from \"./Stepper\";\n\nconst Modal = ({ isOpen = noop, onClose = noop, steps = {}, children }) => (\n <Dialog\n {...{ isOpen, onClose }}\n className=\"flex flex-col transform-none w-screen overflow-y-auto\"\n size=\"fullScreen\"\n >\n <Dialog.Header>\n <Stepper {...{ steps }} />\n </Dialog.Header>\n <Dialog.Body className=\"flex justify-center grow\">\n <div className=\"w-full py-10\">{children}</div>\n </Dialog.Body>\n </Dialog>\n);\n\nModal.propTypes = {\n /**\n * Handler function that is used to open the Modal\n */\n isOpen: PropTypes.bool,\n /**\n * Handler function that is triggered when the Modal's close button is invoked\n */\n onClose: PropTypes.func,\n /**\n * Denote the number of steps\n */\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n step: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n isActive: PropTypes.bool.isRequired,\n isCompleted: PropTypes.bool.isRequired,\n })\n ),\n};\n\nexport default Modal;\n"],"names":["Stepper","_ref","_ref$steps","steps","isActiveOrCompleted","activeStatus","completedStatus","_jsx","className","children","map","_ref2","step","label","isActive","isCompleted","_jsxs","classnames","Typography","asChild","variant","weight","Modal","_ref$isOpen","isOpen","noop","_ref$onClose","onClose","Dialog","size","Header","Body"],"mappings":"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"}
|