@bigbinary/neeto-integrations-frontend 3.1.6 → 3.1.8

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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/app/javascript/src/translations/en.json +3 -2
  3. package/dist/Connect.js +14 -13
  4. package/dist/Connect.js.map +1 -1
  5. package/dist/Daily.js +2 -1
  6. package/dist/Daily.js.map +1 -1
  7. package/dist/DailyForm.js +2 -1
  8. package/dist/DailyForm.js.map +1 -1
  9. package/dist/Demo.js +10 -17
  10. package/dist/Demo.js.map +1 -1
  11. package/dist/Finish.js +11 -10
  12. package/dist/Finish.js.map +1 -1
  13. package/dist/{Form-BxWddtY4.js → Form-CPYZSV18.js} +12 -14
  14. package/dist/Form-CPYZSV18.js.map +1 -0
  15. package/dist/{Form-CYcwyCez.js → Form-DY3ljixO.js} +12 -14
  16. package/dist/Form-DY3ljixO.js.map +1 -0
  17. package/dist/GoogleCalendar.js +1 -0
  18. package/dist/GoogleCalendar.js.map +1 -1
  19. package/dist/Manage.js +62 -60
  20. package/dist/Manage.js.map +1 -1
  21. package/dist/Twilio.js +17 -18
  22. package/dist/Twilio.js.map +1 -1
  23. package/dist/ZapierForm.js +49 -42
  24. package/dist/ZapierForm.js.map +1 -1
  25. package/dist/cjs/Connect.js +14 -13
  26. package/dist/cjs/Connect.js.map +1 -1
  27. package/dist/cjs/Daily.js +2 -1
  28. package/dist/cjs/Daily.js.map +1 -1
  29. package/dist/cjs/DailyForm.js +2 -1
  30. package/dist/cjs/DailyForm.js.map +1 -1
  31. package/dist/cjs/Demo.js +10 -17
  32. package/dist/cjs/Demo.js.map +1 -1
  33. package/dist/cjs/Finish.js +11 -10
  34. package/dist/cjs/Finish.js.map +1 -1
  35. package/dist/cjs/GoogleCalendar.js +1 -0
  36. package/dist/cjs/GoogleCalendar.js.map +1 -1
  37. package/dist/cjs/Manage.js +62 -60
  38. package/dist/cjs/Manage.js.map +1 -1
  39. package/dist/cjs/Twilio.js +16 -17
  40. package/dist/cjs/Twilio.js.map +1 -1
  41. package/dist/cjs/ZapierForm.js +49 -42
  42. package/dist/cjs/ZapierForm.js.map +1 -1
  43. package/dist/cjs/index.js +2 -1
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/index.js +2 -1
  46. package/dist/index.js.map +1 -1
  47. package/package.json +16 -15
  48. package/dist/Form-BxWddtY4.js.map +0 -1
  49. package/dist/Form-CYcwyCez.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Finish.js","sources":["../../app/javascript/src/assets/images/success.svg","../../app/javascript/src/components/Steps/Finish.jsx"],"sourcesContent":["<svg width=\"72\" height=\"72\" viewBox=\"0 0 72 72\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"72\" height=\"72\" fill=\"url(#pattern0)\"/>\n<defs>\n<pattern id=\"pattern0\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_6922_13911\" transform=\"scale(0.00290698)\"/>\n</pattern>\n<image id=\"image0_6922_13911\" width=\"344\" height=\"344\" xlink:href=\"data:image/png;base64,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WkH/ssvowWQz/YBFlR9ZwAICIBBXAqH1YL0OD+gniPJkO18J3kBp9lTfTfSi+yrepx+Li6hNPxZpEACBeBIIrcB6MXogzynR+Y4q6k0zkpIv/0/E5X8eVtgFArElEMoQgU/hAbz4L7ZfEzQcBEojEEoP1sPwAES1tPMKuUAABJhAKAXW5fAARBVfDRAAASMEQhcicCk8AFE1cjqhEBAAgWwCofNgDYYHIKrZZwLWQQAEjBMIncA6DA9AVI2fQigQBEAgF4FQhQjkMurTXkEbuDGVuRrUzXaIajdQsAkEQMB9AqHyYNvK6Tz+RShEXCGq7p87qAEEQKAHAqES2B7CAxDVHjobu0EABLwlEJoQQY7wAETV2/MFtYEACBRBIDQebFZ4AKJaRAfjUBAAAf8IhEZgyaKUSNO4suG0RE0F6B8y1AwCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAC7hD4/8l256QQPdLRAAAAAElFTkSuQmCC\"/>\n</defs>\n</svg>\n","import { isNotEmpty, noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport SuccessIcon from \"assets/images/success\";\n\nconst Finish = withT(\n ({\n t,\n onClick = noop,\n title = \"\",\n buttonProps = {},\n secondaryButtonProps = {},\n children,\n }) => (\n <div className=\"mx-auto w-full max-w-3xl\">\n <SuccessIcon />\n <Typography className=\"mb-6 mt-4\" style=\"h2\" weight=\"semibold\">\n {title}\n </Typography>\n {children}\n <div className=\"flex w-full items-center gap-x-2\">\n <Button\n {...{ onClick }}\n label={t(\"neetoIntegrations.common.continue\")}\n {...buttonProps}\n />\n {isNotEmpty(secondaryButtonProps) && (\n <Button style=\"secondary\" {...secondaryButtonProps} />\n )}\n </div>\n </div>\n )\n);\n\nFinish.prototypes = {\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n onClick: PropTypes.func,\n /**\n * To show the title of the Finish component\n */\n title: PropTypes.string,\n /**\n * To specify props for primary button\n */\n buttonProps: PropTypes.object,\n /**\n * To specify props for secondary button\n */\n secondaryButtonProps: PropTypes.object,\n};\n\nexport default Finish;\n"],"names":["React","Finish","withT","_ref","t","_ref$onClick","onClick","noop","_ref$title","title","_ref$buttonProps","buttonProps","_ref$secondaryButtonP","secondaryButtonProps","children","_jsxs","className","_jsx","SuccessIcon","Typography","style","weight","Button","_objectSpread","label","isNotEmpty","prototypes","PropTypes","func","string","object"],"mappings":"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"}
1
+ {"version":3,"file":"Finish.js","sources":["../../app/javascript/src/assets/images/success.svg","../../app/javascript/src/components/Steps/Finish.jsx"],"sourcesContent":["<svg width=\"72\" height=\"72\" viewBox=\"0 0 72 72\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"72\" height=\"72\" fill=\"url(#pattern0)\"/>\n<defs>\n<pattern id=\"pattern0\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_6922_13911\" transform=\"scale(0.00290698)\"/>\n</pattern>\n<image id=\"image0_6922_13911\" width=\"344\" height=\"344\" xlink:href=\"data:image/png;base64,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WkH/ssvowWQz/YBFlR9ZwAICIBBXAqH1YL0OD+gniPJkO18J3kBp9lTfTfSi+yrepx+Li6hNPxZpEACBeBIIrcB6MXogzynR+Y4q6k0zkpIv/0/E5X8eVtgFArElEMoQgU/hAbz4L7ZfEzQcBEojEEoP1sPwAES1tPMKuUAABJhAKAXW5fAARBVfDRAAASMEQhcicCk8AFE1cjqhEBAAgWwCofNgDYYHIKrZZwLWQQAEjBMIncA6DA9AVI2fQigQBEAgF4FQhQjkMurTXkEbuDGVuRrUzXaIajdQsAkEQMB9AqHyYNvK6Tz+RShEXCGq7p87qAEEQKAHAqES2B7CAxDVHjobu0EABLwlEJoQQY7wAETV2/MFtYEACBRBIDQebFZ4AKJaRAfjUBAAAf8IhEZgyaKUSNO4suG0RE0F6B8y1AwCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAC7hD4/8l256QQPdLRAAAAAElFTkSuQmCC\"/>\n</defs>\n</svg>\n","import { isNotEmpty, noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport SuccessIcon from \"assets/images/success\";\n\nconst Finish = withT(\n ({\n t,\n onClick = noop,\n title = \"\",\n buttonProps = {},\n secondaryButtonProps = {},\n children,\n }) => (\n <CardLayout\n actionBlock={\n <div className=\"flex w-full flex-wrap items-center gap-2\">\n <Button\n {...{ onClick }}\n label={t(\"neetoIntegrations.common.continue\")}\n {...buttonProps}\n />\n {isNotEmpty(secondaryButtonProps) && (\n <Button style=\"secondary\" {...secondaryButtonProps} />\n )}\n </div>\n }\n >\n <SuccessIcon />\n <Typography className=\"mb-6 mt-4\" style=\"h2\" weight=\"semibold\">\n {title}\n </Typography>\n {children}\n </CardLayout>\n )\n);\n\nFinish.prototypes = {\n /**\n * To specify whether the integration modal should be opened or closed.\n */\n onClick: PropTypes.func,\n /**\n * To show the title of the Finish component\n */\n title: PropTypes.string,\n /**\n * To specify props for primary button\n */\n buttonProps: PropTypes.object,\n /**\n * To specify props for secondary button\n */\n secondaryButtonProps: PropTypes.object,\n};\n\nexport default Finish;\n"],"names":["React","Finish","withT","_ref","t","_ref$onClick","onClick","noop","_ref$title","title","_ref$buttonProps","buttonProps","_ref$secondaryButtonP","secondaryButtonProps","children","_jsxs","CardLayout","actionBlock","className","_jsx","Button","_objectSpread","label","isNotEmpty","style","SuccessIcon","Typography","weight","prototypes","PropTypes","func","string","object"],"mappings":"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"}
@@ -19,6 +19,7 @@ var jsxRuntime = require('react/jsx-runtime');
19
19
  require('@bigbinary/neetoui/Modal');
20
20
  require('classnames');
21
21
  require('@bigbinary/neeto-commons-frontend/react-utils');
22
+ require('@bigbinary/neeto-molecules/CardLayout');
22
23
  require('../index-dxk7jTL7.js');
23
24
 
24
25
  var INTEGRATION_STEPS = [{
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleCalendar.js","sources":["../../app/javascript/src/components/Integrations/GoogleCalender/constants.js","../../app/javascript/src/components/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 { isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { GoogleCalendar as GoogleCalendarIcon, Google } from \"neetoicons/misc\";\nimport { Typography, Callout, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport IntegrationsModal from \"components/Modal\";\nimport Finish from \"components/Steps/Finish\";\n\nimport { INTEGRATION_STEPS, STEPS } from \"./constants\";\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\" style=\"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-border-gray-300 neeto-ui-rounded-md my-4 overflow-hidden 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","style","Callout","Trans","components","bold","i18nKey","values","selectCheckbox","src","Button","icon","Google","onClick","Finish","title"],"mappings":"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"}
1
+ {"version":3,"file":"GoogleCalendar.js","sources":["../../app/javascript/src/components/Integrations/GoogleCalender/constants.js","../../app/javascript/src/components/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 { isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { GoogleCalendar as GoogleCalendarIcon, Google } from \"neetoicons/misc\";\nimport { Typography, Callout, Button } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport IntegrationsModal from \"components/Modal\";\nimport Finish from \"components/Steps/Finish\";\n\nimport { INTEGRATION_STEPS, STEPS } from \"./constants\";\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\" style=\"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-border-gray-300 neeto-ui-rounded-md my-4 overflow-hidden 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","style","Callout","Trans","components","bold","i18nKey","values","selectCheckbox","src","Button","icon","Google","onClick","Finish","title"],"mappings":"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"}
@@ -69,52 +69,55 @@ var Manage = reactUtils.withT(function (_ref) {
69
69
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
70
70
  className: "mx-auto w-full max-w-3xl",
71
71
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
72
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6",
73
- children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
74
- className: "neeto-ui-text-gray-600",
75
- size: 48
76
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
77
- className: "space-y-2",
78
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
79
- className: "flex items-center space-x-4",
80
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
81
- className: "neeto-ui-text-gray-800 mb-0.5",
82
- style: "h2",
83
- weight: "semibold",
84
- children: title
85
- }), isConnected && /*#__PURE__*/jsxRuntime.jsx("div", {
86
- className: "neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
87
- children: /*#__PURE__*/jsxRuntime.jsx(Check, {
88
- size: 24
72
+ className: "neeto-ui-border-gray-300 neeto-ui-rounded-lg my-6 w-full border",
73
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
74
+ className: "space-y-4 p-4",
75
+ children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
76
+ className: "neeto-ui-text-gray-600",
77
+ size: 48
78
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
79
+ className: "space-y-2",
80
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
81
+ className: "flex items-center space-x-4",
82
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
83
+ className: "neeto-ui-text-gray-800 mb-0.5",
84
+ style: "h2",
85
+ weight: "semibold",
86
+ children: title
87
+ }), isConnected && /*#__PURE__*/jsxRuntime.jsx("div", {
88
+ className: "neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1",
89
+ children: /*#__PURE__*/jsxRuntime.jsx(Check, {
90
+ size: 24
91
+ })
92
+ })]
93
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
94
+ style: "body1",
95
+ weight: "normal",
96
+ className: classnames("neeto-ui-text-gray-800", {
97
+ "break-all": isConnected
98
+ }),
99
+ children: description
100
+ }), helpDocUrl && /*#__PURE__*/jsxRuntime.jsx(Typography, {
101
+ className: "neeto-ui-text-gray-800",
102
+ style: "body2",
103
+ weight: "normal",
104
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
105
+ i18nKey: "neetoIntegrations.common.helpDocUrl",
106
+ components: {
107
+ helpLink: /*#__PURE__*/jsxRuntime.jsx(Button, {
108
+ href: helpDocUrl,
109
+ style: "link",
110
+ target: "_blank"
111
+ })
112
+ },
113
+ values: {
114
+ integration: integrationName || neetoCist.humanize(integration)
115
+ }
89
116
  })
90
117
  })]
91
- }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
92
- style: "body1",
93
- weight: "normal",
94
- className: classnames("neeto-ui-text-gray-800", {
95
- "break-all": isConnected
96
- }),
97
- children: description
98
- }), helpDocUrl && /*#__PURE__*/jsxRuntime.jsx(Typography, {
99
- className: "neeto-ui-text-gray-800",
100
- style: "body2",
101
- weight: "normal",
102
- children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
103
- i18nKey: "neetoIntegrations.common.helpDocUrl",
104
- components: {
105
- helpLink: /*#__PURE__*/jsxRuntime.jsx(Button, {
106
- href: helpDocUrl,
107
- style: "link",
108
- target: "_blank"
109
- })
110
- },
111
- values: {
112
- integration: integrationName || neetoCist.humanize(integration)
113
- }
114
- })
115
118
  })]
116
119
  }), isConnected ? /*#__PURE__*/jsxRuntime.jsxs("div", {
117
- className: "space-x-2",
120
+ className: "neeto-ui-bg-gray-50 neeto-ui-rounded-lg sticky bottom-0 w-full space-y-2 rounded-t-none p-4 md:space-x-2",
118
121
  children: [(managePath || manageUrl) && /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread({
119
122
  "data-cy": "manage-button",
120
123
  href: manageUrl,
@@ -133,24 +136,23 @@ var Manage = reactUtils.withT(function (_ref) {
133
136
  return setIsDisconnectAlertOpen(true);
134
137
  }
135
138
  }, secondaryButtonProps))]
136
- }) : /*#__PURE__*/jsxRuntime.jsx("div", {
137
- children: /*#__PURE__*/jsxRuntime.jsx(Tooltip, _objectSpread(_objectSpread({
138
- disabled: !isConnectDisabled
139
- }, connectTooltipProps), {}, {
140
- children: /*#__PURE__*/jsxRuntime.jsx("span", {
141
- children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread({
142
- "data-cy": "connect-button",
143
- disabled: isConnectDisabled,
144
- href: connectUrl,
145
- to: connectPath,
146
- label: t("neetoIntegrations.common.connectIntegration", {
147
- integration: integrationName || neetoCist.humanize(integration)
148
- }),
149
- onClick: onConnect
150
- }, buttonProps))
151
- })
152
- }))
153
- })]
139
+ }) : /*#__PURE__*/jsxRuntime.jsx(Tooltip, _objectSpread(_objectSpread({
140
+ disabled: !isConnectDisabled
141
+ }, connectTooltipProps), {}, {
142
+ children: (connectPath || connectUrl || onConnect) && /*#__PURE__*/jsxRuntime.jsx("div", {
143
+ className: "neeto-ui-bg-gray-50 neeto-ui-rounded-lg sticky bottom-0 w-full rounded-t-none p-4",
144
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread({
145
+ "data-cy": "connect-button",
146
+ disabled: isConnectDisabled,
147
+ href: connectUrl,
148
+ to: connectPath,
149
+ label: t("neetoIntegrations.common.connectIntegration", {
150
+ integration: integrationName || neetoCist.humanize(integration)
151
+ }),
152
+ onClick: onConnect
153
+ }, buttonProps))
154
+ })
155
+ }))]
154
156
  })
155
157
  }), /*#__PURE__*/jsxRuntime.jsx(DisconnectAlert, {
156
158
  isDisconnecting: isDisconnecting,
@@ -1 +1 @@
1
- {"version":3,"file":"Manage.js","sources":["../../app/javascript/src/components/commons/Manage.jsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { humanize, noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport DisconnectAlert from \"components/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 }) => (\n <>\n <div className=\"mx-auto w-full max-w-3xl\">\n <div className=\"neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={48} />}\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-4\">\n <Typography\n className=\"neeto-ui-text-gray-800 mb-0.5\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n {isConnected && (\n <div className=\"neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1\">\n <Check size={24} />\n </div>\n )}\n </div>\n <Typography\n style=\"body1\"\n weight=\"normal\"\n className={classNames(\"neeto-ui-text-gray-800\", {\n \"break-all\": isConnected,\n })}\n >\n {description}\n </Typography>\n {helpDocUrl && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"body2\"\n weight=\"normal\"\n >\n <Trans\n i18nKey=\"neetoIntegrations.common.helpDocUrl\"\n components={{\n helpLink: (\n <Button href={helpDocUrl} style=\"link\" target=\"_blank\" />\n ),\n }}\n values={{\n integration: integrationName || humanize(integration),\n }}\n />\n </Typography>\n )}\n </div>\n {isConnected ? (\n <div className=\"space-x-2\">\n {(managePath || manageUrl) && (\n <Button\n data-cy=\"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-cy=\"disconnect-button\"\n style=\"secondary\"\n label={t(\"neetoIntegrations.common.disconnectIntegration\", {\n integration: integrationName || humanize(integration),\n })}\n onClick={() => setIsDisconnectAlertOpen(true)}\n {...secondaryButtonProps}\n />\n )}\n </div>\n ) : (\n <div>\n <Tooltip disabled={!isConnectDisabled} {...connectTooltipProps}>\n <span>\n {(connectPath || connectUrl || onConnect) && (\n <Button\n data-cy=\"connect-button\"\n disabled={isConnectDisabled}\n href={connectUrl}\n to={connectPath}\n label={t(\"neetoIntegrations.common.connectIntegration\", {\n integration: integrationName || humanize(integration),\n })}\n onClick={onConnect}\n {...buttonProps}\n />\n )}\n </span>\n </Tooltip>\n </div>\n )}\n </div>\n </div>\n <DisconnectAlert\n {...{ isDisconnecting, onClose, onDisconnect }}\n isOpen={isDisconnectAlertOpen}\n message={\n disconnectMessage ||\n t(`settings.integrations.${integration}.disconnect.message`)\n }\n title={\n disconnectTitle ||\n t(`settings.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","_jsxs","_Fragment","children","_jsx","className","size","Typography","style","weight","Check","classNames","Trans","i18nKey","components","helpLink","Button","href","target","values","humanize","_objectSpread","to","label","onClick","Tooltip","disabled","DisconnectAlert","isOpen","message","concat"],"mappings":"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"}
1
+ {"version":3,"file":"Manage.js","sources":["../../app/javascript/src/components/commons/Manage.jsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { humanize, noop } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Check } from \"neetoicons\";\nimport { Button, Tooltip, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport DisconnectAlert from \"components/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 }) => (\n <>\n <div className=\"mx-auto w-full max-w-3xl\">\n <div className=\"neeto-ui-border-gray-300 neeto-ui-rounded-lg my-6 w-full border\">\n <div className=\"space-y-4 p-4\">\n {Icon && <Icon className=\"neeto-ui-text-gray-600\" size={48} />}\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-4\">\n <Typography\n className=\"neeto-ui-text-gray-800 mb-0.5\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n {isConnected && (\n <div className=\"neeto-ui-bg-success-500 neeto-ui-text-white neeto-ui-rounded-full flex items-center justify-center p-1\">\n <Check size={24} />\n </div>\n )}\n </div>\n <Typography\n style=\"body1\"\n weight=\"normal\"\n className={classNames(\"neeto-ui-text-gray-800\", {\n \"break-all\": isConnected,\n })}\n >\n {description}\n </Typography>\n {helpDocUrl && (\n <Typography\n className=\"neeto-ui-text-gray-800\"\n style=\"body2\"\n weight=\"normal\"\n >\n <Trans\n i18nKey=\"neetoIntegrations.common.helpDocUrl\"\n components={{\n helpLink: (\n <Button\n href={helpDocUrl}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n values={{\n integration: integrationName || humanize(integration),\n }}\n />\n </Typography>\n )}\n </div>\n </div>\n {isConnected ? (\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-rounded-lg sticky bottom-0 w-full space-y-2 rounded-t-none p-4 md:space-x-2\">\n {(managePath || manageUrl) && (\n <Button\n data-cy=\"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-cy=\"disconnect-button\"\n style=\"secondary\"\n label={t(\"neetoIntegrations.common.disconnectIntegration\", {\n integration: integrationName || humanize(integration),\n })}\n onClick={() => setIsDisconnectAlertOpen(true)}\n {...secondaryButtonProps}\n />\n )}\n </div>\n ) : (\n <Tooltip disabled={!isConnectDisabled} {...connectTooltipProps}>\n {(connectPath || connectUrl || onConnect) && (\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-rounded-lg sticky bottom-0 w-full rounded-t-none p-4\">\n <Button\n data-cy=\"connect-button\"\n disabled={isConnectDisabled}\n href={connectUrl}\n to={connectPath}\n label={t(\"neetoIntegrations.common.connectIntegration\", {\n integration: integrationName || humanize(integration),\n })}\n onClick={onConnect}\n {...buttonProps}\n />\n </div>\n )}\n </Tooltip>\n )}\n </div>\n </div>\n <DisconnectAlert\n {...{ isDisconnecting, onClose, onDisconnect }}\n isOpen={isDisconnectAlertOpen}\n message={\n disconnectMessage ||\n t(`settings.integrations.${integration}.disconnect.message`)\n }\n title={\n disconnectTitle ||\n t(`settings.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","_jsxs","_Fragment","children","_jsx","className","size","Typography","style","weight","Check","classNames","Trans","i18nKey","components","helpLink","Button","href","target","values","humanize","_objectSpread","to","label","onClick","Tooltip","disabled","DisconnectAlert","isOpen","message","concat"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var React = require('react');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
+ var CardLayout = require('@bigbinary/neeto-molecules/CardLayout');
6
7
  var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
7
8
  var FormikForm = require('@bigbinary/neetoui/formik/Form');
8
9
  var ramda = require('ramda');
@@ -275,7 +276,7 @@ var Twilio = function Twilio(_ref) {
275
276
  }), values) || isLoading;
276
277
  };
277
278
  return /*#__PURE__*/jsxRuntime.jsx(FormikForm, {
278
- className: "mx-auto flex w-full max-w-md flex-col p-5",
279
+ className: "w-full",
279
280
  formikProps: {
280
281
  enableReinitialize: true,
281
282
  validationSchema: buildTwilioConfigurationValidationSchema(!!phoneNumbers),
@@ -284,26 +285,24 @@ var Twilio = function Twilio(_ref) {
284
285
  onSubmit: handleSubmit
285
286
  },
286
287
  children: function children(formikProps) {
287
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
288
- children: [/*#__PURE__*/jsxRuntime.jsx(ConfigurationForm, {
288
+ return /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
289
+ actionBlock: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
290
+ isSubmitting: isSubmitting,
291
+ cancelButtonProps: {
292
+ onClick: onClose
293
+ },
294
+ submitButtonProps: {
295
+ label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
296
+ disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
297
+ loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
298
+ }
299
+ }),
300
+ children: /*#__PURE__*/jsxRuntime.jsx(ConfigurationForm, {
289
301
  formikProps: formikProps,
290
302
  initialFocusRef: initialFocusRef,
291
303
  phoneNumberOptions: phoneNumberOptions,
292
304
  selectedPhoneNumber: selectedPhoneNumber
293
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
294
- className: "mt-8",
295
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
296
- isSubmitting: isSubmitting,
297
- cancelButtonProps: {
298
- onClick: onClose
299
- },
300
- submitButtonProps: {
301
- label: phoneNumberOptions ? t("neetoIntegrations.common.saveChanges") : t("neetoIntegrations.common.verify"),
302
- disabled: isSubmitDisabled(formikProps.values) || isSubmitting,
303
- loading: isSubmitting || isPhoneNumbersLoading && !(configuration !== null && configuration !== void 0 && configuration.twilioAuthToken)
304
- }
305
- })
306
- })]
305
+ })
307
306
  });
308
307
  }
309
308
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Twilio.js","sources":["../../app/javascript/src/components/Integrations/Twilio/Form.jsx","../../app/javascript/src/apis/twilio.js","../../app/javascript/src/hooks/reactQuery/useTwilioApi.js","../../app/javascript/src/components/Integrations/Twilio/hooks/useTwilio.js","../../app/javascript/src/components/Integrations/Twilio/utils.js","../../app/javascript/src/components/Integrations/Twilio/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Input, Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ConfigurationForm = ({\n phoneNumberOptions,\n selectedPhoneNumber = null,\n initialFocusRef = null,\n isUsingOverlay = false,\n formikProps = {},\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, setValues, errors, values, initialValues } =\n formikProps;\n\n useEffect(() => {\n selectedPhoneNumber &&\n setFieldValue(\"twilioPhoneNumber\", selectedPhoneNumber);\n }, [selectedPhoneNumber, initialValues]);\n\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <div className=\"flex w-full\">\n <Input\n required\n autoFocus={!isUsingOverlay}\n data-testid=\"integrations-twilio-sid\"\n label={t(\"neetoIntegrations.twilio.sid\")}\n name=\"twilioSid\"\n ref={initialFocusRef}\n />\n </div>\n <div className=\"flex w-full\">\n <Input\n required\n data-testid=\"integrations-twilio-auth-token\"\n label={t(\"neetoIntegrations.twilio.authToken\")}\n name=\"twilioAuthToken\"\n />\n </div>\n {phoneNumberOptions && (\n <div className=\"flex w-full\">\n <Select\n error={errors.twilioPhoneNumber?.value}\n label={t(\"neetoIntegrations.common.phNo\")}\n name=\"twilioPhoneNumber\"\n options={phoneNumberOptions}\n size=\"large\"\n onChange={selected =>\n setValues({ ...values, twilioPhoneNumber: selected })\n }\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default ConfigurationForm;\n","import axios from \"axios\";\n\nimport { TWILIO_CONFIGURATION_BASE_URL } from \"src/constants/urls\";\n\nconst fetchTwilioSmsConfiguration = integrable =>\n axios.get(TWILIO_CONFIGURATION_BASE_URL, { params: integrable });\n\nconst removeTwilioConfiguration = () =>\n axios.delete(TWILIO_CONFIGURATION_BASE_URL);\n\nconst getTwilioPhoneNumbers = data =>\n axios.get(`${TWILIO_CONFIGURATION_BASE_URL}/new`, {\n params: data,\n });\n\nconst createTwilioConfiguration = (payload, integrable) =>\n axios.post(TWILIO_CONFIGURATION_BASE_URL, { ...payload, ...integrable });\n\nconst twilioApi = {\n fetchTwilioSmsConfiguration,\n removeTwilioConfiguration,\n getTwilioPhoneNumbers,\n createTwilioConfiguration,\n};\n\nexport default twilioApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { keysToSnakeCase } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport twilioApi from \"apis/twilio\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchTwilioSmsConfiguration = ({ integrable }) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n queryFn: () => twilioApi.fetchTwilioSmsConfiguration(integrable),\n select: response => {\n const smsConfiguration = response.smsConfiguration;\n\n return {\n twilioSid: smsConfiguration?.twilioSid ?? \"\",\n twilioAuthToken: smsConfiguration?.twilioAuthToken ?? \"\",\n twilioPhoneNumber: smsConfiguration?.twilioPhoneNumber ?? \"\",\n };\n },\n });\n\nconst useFetchTwilioPhoneNumbers = ({ credentials, formRef }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, { credentials }],\n queryFn: () =>\n twilioApi.getTwilioPhoneNumbers(keysToSnakeCase(credentials)),\n enabled:\n !!credentials?.twilio_sid ||\n !!credentials?.twilioSid ||\n !!formRef?.current?.values?.twilioSid ||\n !!formRef?.current?.values?.twilioAuthToken,\n select: prop(\"phoneNumbers\"),\n retry: false,\n });\n\nconst useCreateTwilioConfiguration = ({ integrable }) =>\n useMutationWithInvalidation(\n payload => twilioApi.createTwilioConfiguration(payload, integrable),\n {\n keysToInvalidate: [\n [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n ],\n }\n );\n\nexport {\n useCreateTwilioConfiguration,\n useFetchTwilioPhoneNumbers,\n useFetchTwilioSmsConfiguration,\n};\n","import { noop } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\n\nimport {\n useFetchTwilioPhoneNumbers,\n useCreateTwilioConfiguration,\n useFetchTwilioSmsConfiguration,\n} from \"hooks/reactQuery/useTwilioApi\";\n\nconst useTwilio = ({ onConnect = noop, formRef = null, integrable = null }) => {\n const { data: configuration = {}, isLoading: isConfigurationLoading } =\n useFetchTwilioSmsConfiguration({ integrable });\n const [credentials, setCredentials] = useStateWithDependency(configuration);\n const { data: phoneNumbers, isLoading: isPhoneNumbersLoading } =\n useFetchTwilioPhoneNumbers({ credentials, formRef });\n\n const { mutate: saveConfiguration, isPending: isSubmitting } =\n useCreateTwilioConfiguration({ integrable });\n\n const handleSubmit = values => {\n const payload = {\n twilio_sid: values.twilioSid,\n twilio_auth_token: values.twilioAuthToken,\n twilio_phone_number_sid: values.twilioPhoneNumber?.value,\n };\n\n if (!phoneNumbers && !configuration?.twilioPhoneNumber) {\n setCredentials(payload);\n\n return;\n }\n\n saveConfiguration(payload, { onSuccess: onConnect });\n };\n\n return {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n };\n};\n\nexport default useTwilio;\n","import i18next from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const buildTwilioConfigurationValidationSchema = isTwilioPhoneRequired =>\n yup.object().shape({\n twilioSid: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.sidReq\")),\n twilioAuthToken: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.authTokenReq\")),\n twilioPhoneNumber: isTwilioPhoneRequired\n ? yup.object().shape({\n label: yup.string(),\n value: yup\n .string()\n .required(\n i18next.t(\"neetoIntegrations.twilio.validations.phNumReq\")\n ),\n })\n : null,\n });\n\nexport const buildPhoneNumberOptions = phoneNumbers =>\n phoneNumbers?.map(({ phoneNumber, sid }) => ({\n label: phoneNumber,\n value: sid,\n }));\n","import { useRef } from \"react\";\n\nimport { noop, _findBy } from \"neetocist\";\nimport { ActionBlock, Form as FormikFormWrapper } from \"neetoui/formik\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Form from \"./Form\";\nimport useTwilio from \"./hooks/useTwilio\";\nimport {\n buildPhoneNumberOptions,\n buildTwilioConfigurationValidationSchema,\n} from \"./utils\";\n\nconst Twilio = ({ integrable = null, onClose = noop, onConnect = noop }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef();\n const formRef = useRef();\n\n const {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n } = useTwilio({ onConnect, formRef, integrable });\n\n const phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);\n\n const selectedPhoneNumber = _findBy(\n { label: configuration?.twilioPhoneNumber },\n phoneNumberOptions\n );\n\n const isLoading = isPhoneNumbersLoading || isConfigurationLoading;\n\n const isSubmitDisabled = values =>\n equals(\n { ...configuration, twilioPhoneNumber: selectedPhoneNumber },\n values\n ) || isLoading;\n\n return (\n <FormikFormWrapper\n className=\"mx-auto flex w-full max-w-md flex-col p-5\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: buildTwilioConfigurationValidationSchema(\n !!phoneNumbers\n ),\n initialValues: configuration,\n innerRef: formRef,\n onSubmit: handleSubmit,\n }}\n >\n {formikProps => (\n <>\n <Form\n {...{\n formikProps,\n initialFocusRef,\n phoneNumberOptions,\n selectedPhoneNumber,\n }}\n />\n <div className=\"mt-8\">\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n label: phoneNumberOptions\n ? t(\"neetoIntegrations.common.saveChanges\")\n : t(\"neetoIntegrations.common.verify\"),\n disabled: isSubmitDisabled(formikProps.values) || isSubmitting,\n loading:\n isSubmitting ||\n (isPhoneNumbersLoading && !configuration?.twilioAuthToken),\n }}\n />\n </div>\n </>\n )}\n </FormikFormWrapper>\n );\n};\n\nexport default Twilio;\n"],"names":["ConfigurationForm","_ref","_errors$twilioPhoneNu","phoneNumberOptions","_ref$selectedPhoneNum","selectedPhoneNumber","_ref$initialFocusRef","initialFocusRef","_ref$isUsingOverlay","isUsingOverlay","_ref$formikProps","formikProps","_useTranslation","useTranslation","t","setFieldValue","setValues","errors","values","initialValues","useEffect","_jsxs","className","children","_jsx","Input","required","autoFocus","label","name","ref","Select","error","twilioPhoneNumber","value","options","size","onChange","selected","_objectSpread","fetchTwilioSmsConfiguration","integrable","axios","get","TWILIO_CONFIGURATION_BASE_URL","params","removeTwilioConfiguration","getTwilioPhoneNumbers","data","concat","createTwilioConfiguration","payload","post","twilioApi","useFetchTwilioSmsConfiguration","useQuery","queryKey","QUERY_KEYS","TWILIO_SMS_CONFIGURATION","integrableType","integrableId","queryFn","select","response","_smsConfiguration$twi","_smsConfiguration$twi2","_smsConfiguration$twi3","smsConfiguration","twilioSid","twilioAuthToken","useFetchTwilioPhoneNumbers","_ref2","_formRef$current","_formRef$current2","credentials","formRef","TWILIO_PHONE_NUMBERS","keysToSnakeCase","enabled","twilio_sid","current","prop","retry","useCreateTwilioConfiguration","_ref3","useMutationWithInvalidation","keysToInvalidate","useTwilio","_ref$onConnect","onConnect","noop","_ref$formRef","_ref$integrable","_useFetchTwilioSmsCon","_useFetchTwilioSmsCon2","configuration","isConfigurationLoading","isLoading","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","setCredentials","_useFetchTwilioPhoneN","phoneNumbers","isPhoneNumbersLoading","_useCreateTwilioConfi","saveConfiguration","mutate","isSubmitting","isPending","handleSubmit","_values$twilioPhoneNu","twilio_auth_token","twilio_phone_number_sid","onSuccess","buildTwilioConfigurationValidationSchema","isTwilioPhoneRequired","yup","object","shape","string","i18next","buildPhoneNumberOptions","map","phoneNumber","sid","Twilio","_ref$onClose","onClose","useRef","_useTwilio","_findBy","isSubmitDisabled","equals","FormikFormWrapper","enableReinitialize","validationSchema","innerRef","onSubmit","_Fragment","Form","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAMjB;AAAA,EAAA,IAAAC,qBAAA;AAAA,EAAA,IALJC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;IAAAC,qBAAA,GAAAH,IAAA,CAClBI,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,oBAAA,GAAAL,IAAA,CAC1BM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IAAAE,mBAAA,GAAAP,IAAA,CACtBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IAAAE,gBAAA,GAAAT,IAAA,CACtBU,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;AAEhB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAQC,aAAa,GACnBJ,WAAW,CADLI,aAAa;IAAEC,SAAS,GAC9BL,WAAW,CADUK,SAAS;IAAEC,MAAM,GACtCN,WAAW,CADqBM,MAAM;IAAEC,MAAM,GAC9CP,WAAW,CAD6BO,MAAM;IAAEC,aAAa,GAC7DR,WAAW,CADqCQ,aAAa;AAG/DC,EAAAA,eAAS,CAAC,YAAM;AACdf,IAAAA,mBAAmB,IACjBU,aAAa,CAAC,mBAAmB,EAAEV,mBAAmB,CAAC;AAC3D,GAAC,EAAE,CAACA,mBAAmB,EAAEc,aAAa,CAAC,CAAC;AAExC,EAAA,oBACEE,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAA8B;AAAAC,IAAAA,QAAA,gBAC3CC,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACC,KAAK,EAAA;QACJC,QAAQ,EAAA,IAAA;QACRC,SAAS,EAAE,CAAClB,cAAe;AAC3B,QAAA,aAAA,EAAY,yBAAyB;AACrCmB,QAAAA,KAAK,EAAEd,CAAC,CAAC,8BAA8B,CAAE;AACzCe,QAAAA,IAAI,EAAC,WAAW;AAChBC,QAAAA,GAAG,EAAEvB;OACN;KACE,CAAC,eACNiB,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACC,KAAK,EAAA;QACJC,QAAQ,EAAA,IAAA;AACR,QAAA,aAAA,EAAY,gCAAgC;AAC5CE,QAAAA,KAAK,EAAEd,CAAC,CAAC,oCAAoC,CAAE;AAC/Ce,QAAAA,IAAI,EAAC;OACN;AAAC,KACC,CAAC,EACL1B,kBAAkB,iBACjBqB,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,aAAa;MAAAC,QAAA,eAC1BC,cAAA,CAACO,MAAM,EAAA;QACLC,KAAK,EAAA,CAAA9B,qBAAA,GAAEe,MAAM,CAACgB,iBAAiB,MAAA,IAAA,IAAA/B,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,qBAAA,CAA0BgC,KAAM;AACvCN,QAAAA,KAAK,EAAEd,CAAC,CAAC,+BAA+B,CAAE;AAC1Ce,QAAAA,IAAI,EAAC,mBAAmB;AACxBM,QAAAA,OAAO,EAAEhC,kBAAmB;AAC5BiC,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,QAAQ,EAAA;AAAA,UAAA,OAChBtB,SAAS,CAAAuB,eAAA,CAAAA,eAAA,KAAMrB,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEe,YAAAA,iBAAiB,EAAEK;AAAQ,WAAA,CAAE,CAAC;AAAA;OAExD;AAAC,KACC,CACN;AAAA,GACE,CAAC;AAEV,CAAC;;;;ACrDD,IAAME,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAGC,UAAU,EAAA;AAAA,EAAA,OAC5CC,KAAK,CAACC,GAAG,CAACC,mCAA6B,EAAE;AAAEC,IAAAA,MAAM,EAAEJ;AAAW,GAAC,CAAC;AAAA,CAAA;AAElE,IAAMK,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAA;AAAA,EAAA,OAC7BJ,KAAK,CAAA,QAAA,CAAO,CAACE,mCAA6B,CAAC;AAAA,CAAA;AAE7C,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,IAAI,EAAA;AAAA,EAAA,OAChCN,KAAK,CAACC,GAAG,IAAAM,MAAA,CAAIL,mCAA6B,EAAQ,MAAA,CAAA,EAAA;AAChDC,IAAAA,MAAM,EAAEG;AACV,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,OAAO,EAAEV,UAAU,EAAA;AAAA,EAAA,OACpDC,KAAK,CAACU,IAAI,CAACR,mCAA6B,EAAAL,eAAA,CAAAA,eAAA,CAAOY,EAAAA,EAAAA,OAAO,CAAKV,EAAAA,UAAU,CAAE,CAAC;AAAA,CAAA;AAE1E,IAAMY,SAAS,GAAG;AAChBb,EAAAA,2BAA2B,EAA3BA,2BAA2B;AAC3BM,EAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,EAAAA,qBAAqB,EAArBA,qBAAqB;AACrBG,EAAAA,yBAAyB,EAAzBA;AACF,CAAC;;ACfD,IAAMI,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAArD,IAAA,EAAA;AAAA,EAAA,IAAMwC,UAAU,GAAAxC,IAAA,CAAVwC,UAAU;AAAA,EAAA,OAClDc,mBAAQ,CAAC;IACPC,QAAQ,EAAE,CACRC,gBAAU,CAACC,wBAAwB,EACnCjB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEkB,cAAc,EAC1BlB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEmB,YAAY,CACzB;IACDC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQR,SAAS,CAACb,2BAA2B,CAACC,UAAU,CAAC;AAAA,KAAA;AAChEqB,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEC,QAAQ,EAAI;AAAA,MAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAClB,MAAA,IAAMC,gBAAgB,GAAGJ,QAAQ,CAACI,gBAAgB;MAElD,OAAO;AACLC,QAAAA,SAAS,EAAAJ,CAAAA,qBAAA,GAAEG,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEC,SAAS,MAAAJ,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAE;AAC5CK,QAAAA,eAAe,EAAAJ,CAAAA,sBAAA,GAAEE,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAEE,eAAe,MAAAJ,IAAAA,IAAAA,sBAAA,KAAAA,KAAAA,CAAAA,GAAAA,sBAAA,GAAI,EAAE;AACxDhC,QAAAA,iBAAiB,EAAAiC,CAAAA,sBAAA,GAAEC,gBAAgB,aAAhBA,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,gBAAgB,CAAElC,iBAAiB,MAAA,IAAA,IAAAiC,sBAAA,KAAA,KAAA,CAAA,GAAAA,sBAAA,GAAI;OAC3D;AACH;AACF,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAAA;EAAA,IAAAC,gBAAA,EAAAC,iBAAA;AAAA,EAAA,IAAMC,WAAW,GAAAH,KAAA,CAAXG,WAAW;IAAEC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;AAAA,EAAA,OACxDpB,mBAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,gBAAU,CAACmB,oBAAoB,EAAE;AAAEF,MAAAA,WAAW,EAAXA;AAAY,KAAC,CAAC;IAC5Db,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OACLR,SAAS,CAACN,qBAAqB,CAAC8B,yBAAe,CAACH,WAAW,CAAC,CAAC;AAAA,KAAA;AAC/DI,IAAAA,OAAO,EACL,CAAC,EAACJ,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,IAAXA,WAAW,CAAEK,UAAU,CAAA,IACzB,CAAC,EAACL,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,IAAAA,WAAW,CAAEN,SAAS,CACxB,IAAA,CAAC,EAACO,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,IAAA,CAAAH,gBAAA,GAAPG,OAAO,CAAEK,OAAO,cAAAR,gBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,gBAAA,GAAhBA,gBAAA,CAAkBtD,MAAM,MAAA,IAAA,IAAAsD,gBAAA,KAAxBA,KAAAA,CAAAA,IAAAA,gBAAA,CAA0BJ,SAAS,KACrC,CAAC,EAACO,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAAF,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAPE,OAAO,CAAEK,OAAO,MAAAP,IAAAA,IAAAA,iBAAA,gBAAAA,iBAAA,GAAhBA,iBAAA,CAAkBvD,MAAM,MAAAuD,IAAAA,IAAAA,iBAAA,KAAxBA,KAAAA,CAAAA,IAAAA,iBAAA,CAA0BJ,eAAe,CAAA;AAC7CP,IAAAA,MAAM,EAAEmB,UAAI,CAAC,cAAc,CAAC;AAC5BC,IAAAA,KAAK,EAAE;AACT,GAAC,CAAC;AAAA,CAAA;AAEJ,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAM3C,UAAU,GAAA2C,KAAA,CAAV3C,UAAU;EAAA,OAChD4C,sCAA2B,CACzB,UAAAlC,OAAO,EAAA;AAAA,IAAA,OAAIE,SAAS,CAACH,yBAAyB,CAACC,OAAO,EAAEV,UAAU,CAAC;GACnE,EAAA;IACE6C,gBAAgB,EAAE,CAChB,CACE7B,gBAAU,CAACC,wBAAwB,EACnCjB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEkB,cAAc,EAC1BlB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEmB,YAAY,CACzB;AAEL,GACF,CAAC;AAAA,CAAA;;AC5CH,IAAM2B,SAAS,GAAG,SAAZA,SAASA,CAAAtF,IAAA,EAAgE;AAAA,EAAA,IAAAuF,cAAA,GAAAvF,IAAA,CAA1DwF,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,cAAA;IAAAG,YAAA,GAAA1F,IAAA,CAAE0E,OAAO;AAAPA,IAAAA,OAAO,GAAAgB,YAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,YAAA;IAAAC,eAAA,GAAA3F,IAAA,CAAEwC,UAAU;AAAVA,IAAAA,UAAU,GAAAmD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;EACtE,IAAAC,qBAAA,GACEvC,8BAA8B,CAAC;AAAEb,MAAAA,UAAU,EAAVA;AAAW,KAAC,CAAC;IAAAqD,sBAAA,GAAAD,qBAAA,CADxC7C,IAAI;AAAE+C,IAAAA,aAAa,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAaE,sBAAsB,GAAAH,qBAAA,CAAjCI,SAAS;AAE3C,EAAA,IAAAC,qBAAA,GAAsCC,iCAAsB,CAACJ,aAAa,CAAC;IAAAK,sBAAA,GAAAC,cAAA,CAAAH,qBAAA,EAAA,CAAA,CAAA;AAApExB,IAAAA,WAAW,GAAA0B,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,sBAAA,CAAA,CAAA,CAAA;EAClC,IAAAG,qBAAA,GACEjC,0BAA0B,CAAC;AAAEI,MAAAA,WAAW,EAAXA,WAAW;AAAEC,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADxC6B,YAAY,GAAAD,qBAAA,CAAlBvD,IAAI;IAA2ByD,qBAAqB,GAAAF,qBAAA,CAAhCN,SAAS;EAGrC,IAAAS,qBAAA,GACEvB,4BAA4B,CAAC;AAAE1C,MAAAA,UAAU,EAAVA;AAAW,KAAC,CAAC;IAD9BkE,iBAAiB,GAAAD,qBAAA,CAAzBE,MAAM;IAAgCC,YAAY,GAAAH,qBAAA,CAAvBI,SAAS;AAG5C,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAG7F,MAAM,EAAI;AAAA,IAAA,IAAA8F,qBAAA;AAC7B,IAAA,IAAM7D,OAAO,GAAG;MACd4B,UAAU,EAAE7D,MAAM,CAACkD,SAAS;MAC5B6C,iBAAiB,EAAE/F,MAAM,CAACmD,eAAe;MACzC6C,uBAAuB,EAAA,CAAAF,qBAAA,GAAE9F,MAAM,CAACe,iBAAiB,MAAA+E,IAAAA,IAAAA,qBAAA,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAA0B9E;KACpD;IAED,IAAI,CAACsE,YAAY,IAAI,EAACT,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAE9D,iBAAiB,CAAE,EAAA;MACtDqE,cAAc,CAACnD,OAAO,CAAC;AAEvB,MAAA;AACF;IAEAwD,iBAAiB,CAACxD,OAAO,EAAE;AAAEgE,MAAAA,SAAS,EAAE1B;AAAU,KAAC,CAAC;GACrD;EAED,OAAO;AACLsB,IAAAA,YAAY,EAAZA,YAAY;AACZP,IAAAA,YAAY,EAAZA,YAAY;AACZR,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBS,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBI,IAAAA,YAAY,EAAZA,YAAY;AACZd,IAAAA,aAAa,EAAbA;GACD;AACH,CAAC;;ACxCM,IAAMqB,wCAAwC,GAAG,SAA3CA,wCAAwCA,CAAGC,qBAAqB,EAAA;AAAA,EAAA,OAC3EC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBpD,IAAAA,SAAS,EAAEkD,cAAG,CACXG,MAAM,EAAE,CACR/F,QAAQ,CAACgG,OAAO,CAAC5G,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACrEuD,IAAAA,eAAe,EAAEiD,cAAG,CACjBG,MAAM,EAAE,CACR/F,QAAQ,CAACgG,OAAO,CAAC5G,CAAC,CAAC,mDAAmD,CAAC,CAAC;IAC3EmB,iBAAiB,EAAEoF,qBAAqB,GACpCC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjB5F,MAAAA,KAAK,EAAE0F,cAAG,CAACG,MAAM,EAAE;AACnBvF,MAAAA,KAAK,EAAEoF,cAAG,CACPG,MAAM,EAAE,CACR/F,QAAQ,CACPgG,OAAO,CAAC5G,CAAC,CAAC,+CAA+C,CAC3D;AACJ,KAAC,CAAC,GACF;AACN,GAAC,CAAC;AAAA,CAAA;AAEG,IAAM6G,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGnB,YAAY,EAAA;EAAA,OACjDA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEoB,GAAG,CAAC,UAAA3H,IAAA,EAAA;AAAA,IAAA,IAAG4H,WAAW,GAAA5H,IAAA,CAAX4H,WAAW;MAAEC,GAAG,GAAA7H,IAAA,CAAH6H,GAAG;IAAA,OAAQ;AAC3ClG,MAAAA,KAAK,EAAEiG,WAAW;AAClB3F,MAAAA,KAAK,EAAE4F;KACR;AAAA,GAAC,CAAC;AAAA,CAAA;;;;ACbL,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA9H,IAAA,EAAgE;AAAA,EAAA,IAAA2F,eAAA,GAAA3F,IAAA,CAA1DwC,UAAU;AAAVA,IAAAA,UAAU,GAAAmD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAoC,YAAA,GAAA/H,IAAA,CAAEgI,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGtC,KAAAA,CAAAA,GAAAA,cAAI,GAAAsC,YAAA;IAAAxC,cAAA,GAAAvF,IAAA,CAAEwF,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,cAAA;AACnE,EAAA,IAAA5E,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAMP,eAAe,GAAG2H,YAAM,EAAE;AAChC,EAAA,IAAMvD,OAAO,GAAGuD,YAAM,EAAE;EAExB,IAAAC,UAAA,GAOI5C,SAAS,CAAC;AAAEE,MAAAA,SAAS,EAATA,SAAS;AAAEd,MAAAA,OAAO,EAAPA,OAAO;AAAElC,MAAAA,UAAU,EAAVA;AAAW,KAAC,CAAC;IAN/CsE,YAAY,GAAAoB,UAAA,CAAZpB,YAAY;IACZP,YAAY,GAAA2B,UAAA,CAAZ3B,YAAY;IACZR,sBAAsB,GAAAmC,UAAA,CAAtBnC,sBAAsB;IACtBS,qBAAqB,GAAA0B,UAAA,CAArB1B,qBAAqB;IACrBI,YAAY,GAAAsB,UAAA,CAAZtB,YAAY;IACZd,aAAa,GAAAoC,UAAA,CAAbpC,aAAa;AAGf,EAAA,IAAM5F,kBAAkB,GAAGwH,uBAAuB,CAACnB,YAAY,CAAC;EAEhE,IAAMnG,mBAAmB,GAAG+H,iBAAO,CACjC;AAAExG,IAAAA,KAAK,EAAEmE,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE9D;GAAmB,EAC3C9B,kBACF,CAAC;AAED,EAAA,IAAM8F,SAAS,GAAGQ,qBAAqB,IAAIT,sBAAsB;AAEjE,EAAA,IAAMqC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGnH,MAAM,EAAA;AAAA,IAAA,OAC7BoH,YAAM,CAAA/F,aAAA,CAAAA,aAAA,KACCwD,aAAa,CAAA,EAAA,EAAA,EAAA;AAAE9D,MAAAA,iBAAiB,EAAE5B;KACvCa,CAAAA,EAAAA,MACF,CAAC,IAAI+E,SAAS;AAAA,GAAA;EAEhB,oBACEzE,cAAA,CAAC+G,UAAiB,EAAA;AAChBjH,IAAAA,SAAS,EAAC,2CAA2C;AACrDX,IAAAA,WAAW,EAAE;AACX6H,MAAAA,kBAAkB,EAAE,IAAI;AACxBC,MAAAA,gBAAgB,EAAErB,wCAAwC,CACxD,CAAC,CAACZ,YACJ,CAAC;AACDrF,MAAAA,aAAa,EAAE4E,aAAa;AAC5B2C,MAAAA,QAAQ,EAAE/D,OAAO;AACjBgE,MAAAA,QAAQ,EAAE5B;KACV;IAAAxF,QAAA,EAED,SAAAA,QAAAA,CAAAZ,WAAW,EAAA;MAAA,oBACVU,eAAA,CAAAuH,mBAAA,EAAA;QAAArH,QAAA,EAAA,cACEC,cAAA,CAACqH,iBAAI,EAAA;AAEDlI,UAAAA,WAAW,EAAXA,WAAW;AACXJ,UAAAA,eAAe,EAAfA,eAAe;AACfJ,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBE,UAAAA,mBAAmB,EAAnBA;SAEH,CAAC,eACFmB,cAAA,CAAA,KAAA,EAAA;AAAKF,UAAAA,SAAS,EAAC,MAAM;UAAAC,QAAA,eACnBC,cAAA,CAACsH,WAAW,EAAA;AACJjC,YAAAA,YAAY,EAAZA,YAAY;AAClBkC,YAAAA,iBAAiB,EAAE;AAAEC,cAAAA,OAAO,EAAEf;aAAU;AACxCgB,YAAAA,iBAAiB,EAAE;cACjBrH,KAAK,EAAEzB,kBAAkB,GACrBW,CAAC,CAAC,sCAAsC,CAAC,GACzCA,CAAC,CAAC,iCAAiC,CAAC;cACxCoI,QAAQ,EAAEb,gBAAgB,CAAC1H,WAAW,CAACO,MAAM,CAAC,IAAI2F,YAAY;AAC9DsC,cAAAA,OAAO,EACLtC,YAAY,IACXJ,qBAAqB,IAAI,EAACV,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAE1B,eAAe;AAC7D;WACD;AAAC,SACC,CAAC;AAAA,OACN,CAAC;AAAA;AACJ,GACgB,CAAC;AAExB;;;;"}
1
+ {"version":3,"file":"Twilio.js","sources":["../../app/javascript/src/components/Integrations/Twilio/Form.jsx","../../app/javascript/src/apis/twilio.js","../../app/javascript/src/hooks/reactQuery/useTwilioApi.js","../../app/javascript/src/components/Integrations/Twilio/hooks/useTwilio.js","../../app/javascript/src/components/Integrations/Twilio/utils.js","../../app/javascript/src/components/Integrations/Twilio/index.jsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Input, Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ConfigurationForm = ({\n phoneNumberOptions,\n selectedPhoneNumber = null,\n initialFocusRef = null,\n isUsingOverlay = false,\n formikProps = {},\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, setValues, errors, values, initialValues } =\n formikProps;\n\n useEffect(() => {\n selectedPhoneNumber &&\n setFieldValue(\"twilioPhoneNumber\", selectedPhoneNumber);\n }, [selectedPhoneNumber, initialValues]);\n\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <div className=\"flex w-full\">\n <Input\n required\n autoFocus={!isUsingOverlay}\n data-testid=\"integrations-twilio-sid\"\n label={t(\"neetoIntegrations.twilio.sid\")}\n name=\"twilioSid\"\n ref={initialFocusRef}\n />\n </div>\n <div className=\"flex w-full\">\n <Input\n required\n data-testid=\"integrations-twilio-auth-token\"\n label={t(\"neetoIntegrations.twilio.authToken\")}\n name=\"twilioAuthToken\"\n />\n </div>\n {phoneNumberOptions && (\n <div className=\"flex w-full\">\n <Select\n error={errors.twilioPhoneNumber?.value}\n label={t(\"neetoIntegrations.common.phNo\")}\n name=\"twilioPhoneNumber\"\n options={phoneNumberOptions}\n size=\"large\"\n onChange={selected =>\n setValues({ ...values, twilioPhoneNumber: selected })\n }\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default ConfigurationForm;\n","import axios from \"axios\";\n\nimport { TWILIO_CONFIGURATION_BASE_URL } from \"src/constants/urls\";\n\nconst fetchTwilioSmsConfiguration = integrable =>\n axios.get(TWILIO_CONFIGURATION_BASE_URL, { params: integrable });\n\nconst removeTwilioConfiguration = () =>\n axios.delete(TWILIO_CONFIGURATION_BASE_URL);\n\nconst getTwilioPhoneNumbers = data =>\n axios.get(`${TWILIO_CONFIGURATION_BASE_URL}/new`, {\n params: data,\n });\n\nconst createTwilioConfiguration = (payload, integrable) =>\n axios.post(TWILIO_CONFIGURATION_BASE_URL, { ...payload, ...integrable });\n\nconst twilioApi = {\n fetchTwilioSmsConfiguration,\n removeTwilioConfiguration,\n getTwilioPhoneNumbers,\n createTwilioConfiguration,\n};\n\nexport default twilioApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { keysToSnakeCase } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport twilioApi from \"apis/twilio\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchTwilioSmsConfiguration = ({ integrable }) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n queryFn: () => twilioApi.fetchTwilioSmsConfiguration(integrable),\n select: response => {\n const smsConfiguration = response.smsConfiguration;\n\n return {\n twilioSid: smsConfiguration?.twilioSid ?? \"\",\n twilioAuthToken: smsConfiguration?.twilioAuthToken ?? \"\",\n twilioPhoneNumber: smsConfiguration?.twilioPhoneNumber ?? \"\",\n };\n },\n });\n\nconst useFetchTwilioPhoneNumbers = ({ credentials, formRef }) =>\n useQuery({\n queryKey: [QUERY_KEYS.TWILIO_PHONE_NUMBERS, { credentials }],\n queryFn: () =>\n twilioApi.getTwilioPhoneNumbers(keysToSnakeCase(credentials)),\n enabled:\n !!credentials?.twilio_sid ||\n !!credentials?.twilioSid ||\n !!formRef?.current?.values?.twilioSid ||\n !!formRef?.current?.values?.twilioAuthToken,\n select: prop(\"phoneNumbers\"),\n retry: false,\n });\n\nconst useCreateTwilioConfiguration = ({ integrable }) =>\n useMutationWithInvalidation(\n payload => twilioApi.createTwilioConfiguration(payload, integrable),\n {\n keysToInvalidate: [\n [\n QUERY_KEYS.TWILIO_SMS_CONFIGURATION,\n integrable?.integrableType,\n integrable?.integrableId,\n ],\n ],\n }\n );\n\nexport {\n useCreateTwilioConfiguration,\n useFetchTwilioPhoneNumbers,\n useFetchTwilioSmsConfiguration,\n};\n","import { noop } from \"neetocist\";\nimport { useStateWithDependency } from \"neetocommons/react-utils\";\n\nimport {\n useFetchTwilioPhoneNumbers,\n useCreateTwilioConfiguration,\n useFetchTwilioSmsConfiguration,\n} from \"hooks/reactQuery/useTwilioApi\";\n\nconst useTwilio = ({ onConnect = noop, formRef = null, integrable = null }) => {\n const { data: configuration = {}, isLoading: isConfigurationLoading } =\n useFetchTwilioSmsConfiguration({ integrable });\n const [credentials, setCredentials] = useStateWithDependency(configuration);\n const { data: phoneNumbers, isLoading: isPhoneNumbersLoading } =\n useFetchTwilioPhoneNumbers({ credentials, formRef });\n\n const { mutate: saveConfiguration, isPending: isSubmitting } =\n useCreateTwilioConfiguration({ integrable });\n\n const handleSubmit = values => {\n const payload = {\n twilio_sid: values.twilioSid,\n twilio_auth_token: values.twilioAuthToken,\n twilio_phone_number_sid: values.twilioPhoneNumber?.value,\n };\n\n if (!phoneNumbers && !configuration?.twilioPhoneNumber) {\n setCredentials(payload);\n\n return;\n }\n\n saveConfiguration(payload, { onSuccess: onConnect });\n };\n\n return {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n };\n};\n\nexport default useTwilio;\n","import i18next from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const buildTwilioConfigurationValidationSchema = isTwilioPhoneRequired =>\n yup.object().shape({\n twilioSid: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.sidReq\")),\n twilioAuthToken: yup\n .string()\n .required(i18next.t(\"neetoIntegrations.twilio.validations.authTokenReq\")),\n twilioPhoneNumber: isTwilioPhoneRequired\n ? yup.object().shape({\n label: yup.string(),\n value: yup\n .string()\n .required(\n i18next.t(\"neetoIntegrations.twilio.validations.phNumReq\")\n ),\n })\n : null,\n });\n\nexport const buildPhoneNumberOptions = phoneNumbers =>\n phoneNumbers?.map(({ phoneNumber, sid }) => ({\n label: phoneNumber,\n value: sid,\n }));\n","import { useRef } from \"react\";\n\nimport { noop, _findBy } from \"neetocist\";\nimport CardLayout from \"neetomolecules/CardLayout\";\nimport { ActionBlock, Form as FormikFormWrapper } from \"neetoui/formik\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Form from \"./Form\";\nimport useTwilio from \"./hooks/useTwilio\";\nimport {\n buildPhoneNumberOptions,\n buildTwilioConfigurationValidationSchema,\n} from \"./utils\";\n\nconst Twilio = ({ integrable = null, onClose = noop, onConnect = noop }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef();\n const formRef = useRef();\n\n const {\n handleSubmit,\n phoneNumbers,\n isConfigurationLoading,\n isPhoneNumbersLoading,\n isSubmitting,\n configuration,\n } = useTwilio({ onConnect, formRef, integrable });\n\n const phoneNumberOptions = buildPhoneNumberOptions(phoneNumbers);\n\n const selectedPhoneNumber = _findBy(\n { label: configuration?.twilioPhoneNumber },\n phoneNumberOptions\n );\n\n const isLoading = isPhoneNumbersLoading || isConfigurationLoading;\n\n const isSubmitDisabled = values =>\n equals(\n { ...configuration, twilioPhoneNumber: selectedPhoneNumber },\n values\n ) || isLoading;\n\n return (\n <FormikFormWrapper\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: buildTwilioConfigurationValidationSchema(\n !!phoneNumbers\n ),\n initialValues: configuration,\n innerRef: formRef,\n onSubmit: handleSubmit,\n }}\n >\n {formikProps => (\n <CardLayout\n actionBlock={\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{\n label: phoneNumberOptions\n ? t(\"neetoIntegrations.common.saveChanges\")\n : t(\"neetoIntegrations.common.verify\"),\n disabled: isSubmitDisabled(formikProps.values) || isSubmitting,\n loading:\n isSubmitting ||\n (isPhoneNumbersLoading && !configuration?.twilioAuthToken),\n }}\n />\n }\n >\n <Form\n {...{\n formikProps,\n initialFocusRef,\n phoneNumberOptions,\n selectedPhoneNumber,\n }}\n />\n </CardLayout>\n )}\n </FormikFormWrapper>\n );\n};\n\nexport default Twilio;\n"],"names":["ConfigurationForm","_ref","_errors$twilioPhoneNu","phoneNumberOptions","_ref$selectedPhoneNum","selectedPhoneNumber","_ref$initialFocusRef","initialFocusRef","_ref$isUsingOverlay","isUsingOverlay","_ref$formikProps","formikProps","_useTranslation","useTranslation","t","setFieldValue","setValues","errors","values","initialValues","useEffect","_jsxs","className","children","_jsx","Input","required","autoFocus","label","name","ref","Select","error","twilioPhoneNumber","value","options","size","onChange","selected","_objectSpread","fetchTwilioSmsConfiguration","integrable","axios","get","TWILIO_CONFIGURATION_BASE_URL","params","removeTwilioConfiguration","getTwilioPhoneNumbers","data","concat","createTwilioConfiguration","payload","post","twilioApi","useFetchTwilioSmsConfiguration","useQuery","queryKey","QUERY_KEYS","TWILIO_SMS_CONFIGURATION","integrableType","integrableId","queryFn","select","response","_smsConfiguration$twi","_smsConfiguration$twi2","_smsConfiguration$twi3","smsConfiguration","twilioSid","twilioAuthToken","useFetchTwilioPhoneNumbers","_ref2","_formRef$current","_formRef$current2","credentials","formRef","TWILIO_PHONE_NUMBERS","keysToSnakeCase","enabled","twilio_sid","current","prop","retry","useCreateTwilioConfiguration","_ref3","useMutationWithInvalidation","keysToInvalidate","useTwilio","_ref$onConnect","onConnect","noop","_ref$formRef","_ref$integrable","_useFetchTwilioSmsCon","_useFetchTwilioSmsCon2","configuration","isConfigurationLoading","isLoading","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","_slicedToArray","setCredentials","_useFetchTwilioPhoneN","phoneNumbers","isPhoneNumbersLoading","_useCreateTwilioConfi","saveConfiguration","mutate","isSubmitting","isPending","handleSubmit","_values$twilioPhoneNu","twilio_auth_token","twilio_phone_number_sid","onSuccess","buildTwilioConfigurationValidationSchema","isTwilioPhoneRequired","yup","object","shape","string","i18next","buildPhoneNumberOptions","map","phoneNumber","sid","Twilio","_ref$onClose","onClose","useRef","_useTwilio","_findBy","isSubmitDisabled","equals","FormikFormWrapper","enableReinitialize","validationSchema","innerRef","onSubmit","CardLayout","actionBlock","ActionBlock","cancelButtonProps","onClick","submitButtonProps","disabled","loading","Form"],"mappings":"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"}