@bigbinary/neeto-integrations-frontend 2.12.3 → 2.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -183,6 +183,10 @@ Available components:
183
183
  | neetoMonitor | :white_check_mark: |
184
184
  | neetoCal | :white_check_mark: |
185
185
 
186
+ ### Instructions for development
187
+
188
+ Check the [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0) for step-by-step instructions to develop the frontend package.
189
+
186
190
  ## Instructions for Publishing
187
191
 
188
192
  Consult the [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages) guide for details on how to publish.
@@ -47,7 +47,7 @@
47
47
  "createdAt": "Created At",
48
48
  "label": "Label"
49
49
  },
50
- "newApiKeyInstruction": "Here is your Zapier API key. Make sure to copy the API key now as the API key will not be shown again. If you loose the API key then you can generate a new API key anytime.",
50
+ "newApiKeyInstruction": "Here is your Zapier API key. Make sure to copy the API key now as the API key will not be shown again. If you lose the API key then you can generate a new API key anytime.",
51
51
  "tableTitle": "Previously Generated API Keys",
52
52
  "deleteApiKey": {
53
53
  "title": "Delete API Key?",
@@ -84,7 +84,10 @@
84
84
  "apiKey": "API key",
85
85
  "helpDoc": "<externalLink>See instructions</externalLink> on getting the API key",
86
86
  "yourApiKey": "You are connected to Daily.co with the API key: <underline>{{apiKey, anyCase}}</underline>",
87
- "connect": "Connect your Daily.co account",
87
+ "connect": {
88
+ "account": "Connect your Daily.co account",
89
+ "title": "Connect Daily.co"
90
+ },
88
91
  "connected": "You are connected to Daily.co",
89
92
  "disconnect": {
90
93
  "title": "Disconnect Daily.co integration?",
package/dist/Daily.cjs.js CHANGED
@@ -7,19 +7,22 @@ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
7
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
8
8
  var reactQuery = require('react-query');
9
9
  var axios = require('axios');
10
+ var Container = require('@bigbinary/neeto-molecules/Container');
11
+ var Header = require('@bigbinary/neeto-molecules/Header');
12
+ var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
13
+ var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
14
+ var neetoui = require('@bigbinary/neetoui');
15
+ var formik = require('@bigbinary/neetoui/formik');
16
+ var reactI18next = require('react-i18next');
17
+ var classnames = require('classnames');
10
18
  require('@bigbinary/neeto-molecules/IntegrationCard');
11
19
  var DisconnectAlert = require('@bigbinary/neeto-molecules/IntegrationDisconnectAlert');
12
20
  var WalkthroughModal = require('@bigbinary/neeto-molecules/IntegrationWalkthroughModal');
13
- var classnames = require('classnames');
21
+ var neetoIcons = require('@bigbinary/neeto-icons');
14
22
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
15
23
  var misc = require('@bigbinary/neeto-icons/misc');
16
- var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
17
- var reactI18next = require('react-i18next');
18
- var neetoui = require('@bigbinary/neetoui');
19
- var formik = require('@bigbinary/neetoui/formik');
20
24
  require('ramda');
21
25
  var yup = require('yup');
22
- var neetoIcons = require('@bigbinary/neeto-icons');
23
26
 
24
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
28
 
@@ -45,10 +48,13 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
48
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
46
49
  var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
47
50
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
51
+ var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
52
+ var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
53
+ var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
54
+ var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
55
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
48
56
  var DisconnectAlert__default = /*#__PURE__*/_interopDefaultLegacy(DisconnectAlert);
49
57
  var WalkthroughModal__default = /*#__PURE__*/_interopDefaultLegacy(WalkthroughModal);
50
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
51
- var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
52
58
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
53
59
 
54
60
  function _typeof(o) {
@@ -210,6 +216,48 @@ function _extends$1() {
210
216
  return _extends$1.apply(this, arguments);
211
217
  }
212
218
 
219
+ function _objectWithoutPropertiesLoose(source, excluded) {
220
+ if (source == null) return {};
221
+ var target = {};
222
+ var sourceKeys = Object.keys(source);
223
+ var key, i;
224
+ for (i = 0; i < sourceKeys.length; i++) {
225
+ key = sourceKeys[i];
226
+ if (excluded.indexOf(key) >= 0) continue;
227
+ target[key] = source[key];
228
+ }
229
+ return target;
230
+ }
231
+
232
+ function _objectWithoutProperties(source, excluded) {
233
+ if (source == null) return {};
234
+ var target = _objectWithoutPropertiesLoose(source, excluded);
235
+ var key, i;
236
+ if (Object.getOwnPropertySymbols) {
237
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
238
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
239
+ key = sourceSymbolKeys[i];
240
+ if (excluded.indexOf(key) >= 0) continue;
241
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
242
+ target[key] = source[key];
243
+ }
244
+ }
245
+ return target;
246
+ }
247
+
248
+ var _excluded = ["className", "children"];
249
+ var ExternalLink = function ExternalLink(_ref) {
250
+ var _ref$className = _ref.className,
251
+ className = _ref$className === void 0 ? "" : _ref$className,
252
+ _ref$children = _ref.children,
253
+ children = _ref$children === void 0 ? null : _ref$children,
254
+ props = _objectWithoutProperties(_ref, _excluded);
255
+ return /*#__PURE__*/React__default["default"].createElement("a", _extends$1({
256
+ className: classnames__default["default"](["neeto-ui-text-primary-800 hover:neeto-ui-text-primary-800 visited:neeto-ui-text-primary-600 font-medium", className])
257
+ }, props), children);
258
+ };
259
+ var ExternalLink$1 = /*#__PURE__*/React__default["default"].memo(ExternalLink);
260
+
213
261
  var Manage$1 = reactUtils.withT(function (_ref) {
214
262
  var t = _ref.t,
215
263
  _ref$title = _ref.title,
@@ -260,7 +308,7 @@ var Manage$1 = reactUtils.withT(function (_ref) {
260
308
  className: "neeto-ui-border-gray-300 neeto-ui-rounded-xl mt-10 w-full space-y-4 border p-6"
261
309
  }, Icon && /*#__PURE__*/React__default["default"].createElement(Icon, {
262
310
  className: "neeto-ui-text-gray-600",
263
- size: 60
311
+ size: 48
264
312
  }), /*#__PURE__*/React__default["default"].createElement("div", {
265
313
  className: "space-y-2"
266
314
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -447,23 +495,23 @@ var Connect = reactUtils.withT(function (_ref) {
447
495
  children = _ref.children,
448
496
  secondaryButtonProps = _ref.secondaryButtonProps;
449
497
  return /*#__PURE__*/React__default["default"].createElement("div", {
450
- className: "mx-auto w-full max-w-lg"
498
+ className: "mx-auto w-full max-w-3xl"
499
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
500
+ className: "mb-6 flex flex-col gap-y-2"
451
501
  }, /*#__PURE__*/React__default["default"].createElement(Icon, {
452
502
  size: 48
453
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
454
- className: "neeto-ui-text-gray-800 mb-0.5 mt-6",
455
- style: "h2",
456
- weight: "semibold"
503
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
504
+ className: "flex flex-col gap-y-1"
505
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
506
+ style: "h2"
457
507
  }, title), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
458
- className: "neeto-ui-text-gray-700 mb-8",
459
- style: "body1",
460
- weight: "normal"
461
- }, description), children, /*#__PURE__*/React__default["default"].createElement("div", {
462
- className: "flex w-full items-start space-x-4"
508
+ style: "body2"
509
+ }, description))), children, /*#__PURE__*/React__default["default"].createElement("div", {
510
+ className: "flex w-full items-center gap-x-3"
463
511
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends$1({
464
512
  label: t("neetoIntegrations.common.connect"),
465
513
  onClick: onConnect
466
- }, buttonProps)), neetoCist.isNotEmpty(secondaryButtonProps) && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends$1({
514
+ }, buttonProps)), secondaryButtonProps && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends$1({
467
515
  style: "secondary"
468
516
  }, secondaryButtonProps))));
469
517
  });
@@ -471,23 +519,23 @@ Connect.prototypes = {
471
519
  /**
472
520
  * To specify the Icon to be shown
473
521
  */
474
- Icon: propTypesExports.PropTypes.node,
522
+ Icon: PropTypes.node,
475
523
  /**
476
524
  * To specify the title of the connect component
477
525
  */
478
- title: propTypesExports.PropTypes.string,
526
+ title: PropTypes.string,
479
527
  /**
480
528
  * To specify the description for connect component
481
529
  */
482
- description: propTypesExports.PropTypes.string,
530
+ description: PropTypes.string,
483
531
  /**
484
532
  * To specify the props for the connect button
485
533
  */
486
- buttonProps: propTypesExports.PropTypes.object,
534
+ buttonProps: PropTypes.object,
487
535
  /**
488
536
  * Handler function that is triggered when the connect button is clicked.
489
537
  */
490
- onConnect: propTypesExports.PropTypes.func
538
+ onConnect: PropTypes.func
491
539
  };
492
540
 
493
541
  ({
@@ -551,13 +599,13 @@ var Finish = reactUtils.withT(function (_ref) {
551
599
  secondaryButtonProps = _ref$secondaryButtonP === void 0 ? {} : _ref$secondaryButtonP,
552
600
  children = _ref.children;
553
601
  return /*#__PURE__*/React__default["default"].createElement("div", {
554
- className: "neeto-ui-w-full mx-auto max-w-lg"
602
+ className: "mx-auto w-full max-w-3xl"
555
603
  }, /*#__PURE__*/React__default["default"].createElement(SvgSuccess, null), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
556
- className: "neeto-ui-text-gray-800 mb-8 mt-4",
604
+ className: "mb-6 mt-4",
557
605
  style: "h2",
558
606
  weight: "semibold"
559
607
  }, title), children, /*#__PURE__*/React__default["default"].createElement("div", {
560
- className: "flex w-full items-start space-x-2"
608
+ className: "flex w-full items-center gap-x-2"
561
609
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends$1({
562
610
  onClick: onClick,
563
611
  label: t("neetoIntegrations.common.continue")
@@ -609,48 +657,6 @@ function n(n, r) {
609
657
  var css = ".intrinsic-container{height:0;overflow:hidden;position:relative}.intrinsic-container-16x9{padding-bottom:56.25%}.intrinsic-container-4x3{padding-bottom:75%}.intrinsic-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}";
610
658
  n(css,{});
611
659
 
612
- function _objectWithoutPropertiesLoose(source, excluded) {
613
- if (source == null) return {};
614
- var target = {};
615
- var sourceKeys = Object.keys(source);
616
- var key, i;
617
- for (i = 0; i < sourceKeys.length; i++) {
618
- key = sourceKeys[i];
619
- if (excluded.indexOf(key) >= 0) continue;
620
- target[key] = source[key];
621
- }
622
- return target;
623
- }
624
-
625
- function _objectWithoutProperties(source, excluded) {
626
- if (source == null) return {};
627
- var target = _objectWithoutPropertiesLoose(source, excluded);
628
- var key, i;
629
- if (Object.getOwnPropertySymbols) {
630
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
631
- for (i = 0; i < sourceSymbolKeys.length; i++) {
632
- key = sourceSymbolKeys[i];
633
- if (excluded.indexOf(key) >= 0) continue;
634
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
635
- target[key] = source[key];
636
- }
637
- }
638
- return target;
639
- }
640
-
641
- var _excluded = ["className", "children"];
642
- var ExternalLink = function ExternalLink(_ref) {
643
- var _ref$className = _ref.className,
644
- className = _ref$className === void 0 ? "" : _ref$className,
645
- _ref$children = _ref.children,
646
- children = _ref$children === void 0 ? null : _ref$children,
647
- props = _objectWithoutProperties(_ref, _excluded);
648
- return /*#__PURE__*/React__default["default"].createElement("a", _extends$1({
649
- className: classnames__default["default"](["neeto-ui-text-primary-800 hover:neeto-ui-text-primary-800 visited:neeto-ui-text-primary-600 font-medium", className])
650
- }, props), children);
651
- };
652
- var ExternalLink$1 = /*#__PURE__*/React__default["default"].memo(ExternalLink);
653
-
654
660
  var MANAGE_DAILY_CO_FORM_INITIAL_VALUES = {
655
661
  apiKey: ""
656
662
  };
@@ -663,7 +669,8 @@ var DAILY_CO_VALIDATION_SCHEMA = yup__namespace.object().shape({
663
669
  var Form = function Form(_ref) {
664
670
  var helpDocUrl = _ref.helpDocUrl,
665
671
  videoUrl = _ref.videoUrl,
666
- onConnect = _ref.onConnect;
672
+ onConnect = _ref.onConnect,
673
+ breadcrumbs = _ref.breadcrumbs;
667
674
  var _useTranslation = reactI18next.useTranslation(),
668
675
  t = _useTranslation.t;
669
676
  var _useState = React.useState(false),
@@ -683,7 +690,37 @@ var Form = function Form(_ref) {
683
690
  if (isConnecting) {
684
691
  return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
685
692
  }
686
- return /*#__PURE__*/React__default["default"].createElement("div", {
693
+ return /*#__PURE__*/React__default["default"].createElement(Container__default["default"], {
694
+ isHeaderFixed: true
695
+ }, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], {
696
+ breadcrumbs: breadcrumbs,
697
+ title: /*#__PURE__*/React__default["default"].createElement("span", {
698
+ className: "flex items-center gap-2"
699
+ }, t("neetoIntegrations.daily.connect.title"), /*#__PURE__*/React__default["default"].createElement(HelpPopover__default["default"], {
700
+ title: t("neetoIntegrations.daily.connect.title"),
701
+ description: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
702
+ i18nKey: "neetoIntegrations.daily.helpDoc",
703
+ components: {
704
+ externalLink: /*#__PURE__*/React__default["default"].createElement(ExternalLink$1, {
705
+ "data-cy": "api-key-help-doc-link",
706
+ href: helpDocUrl,
707
+ rel: "noreferrer",
708
+ target: "_blank"
709
+ })
710
+ }
711
+ }),
712
+ helpLinkProps: {
713
+ label: /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
714
+ className: "mt-8",
715
+ label: t("neetoIntegrations.daily.walkthroughText"),
716
+ style: "link",
717
+ onClick: function onClick() {
718
+ return setIsDemoModalOpen(true);
719
+ }
720
+ })
721
+ }
722
+ }))
723
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
687
724
  className: "mx-auto w-full max-w-md"
688
725
  }, /*#__PURE__*/React__default["default"].createElement(formik.Form, {
689
726
  formikProps: {
@@ -694,32 +731,14 @@ var Form = function Form(_ref) {
694
731
  }, function (_ref2) {
695
732
  var dirty = _ref2.dirty;
696
733
  return /*#__PURE__*/React__default["default"].createElement("div", {
697
- className: "mt-10 w-full space-y-5"
734
+ className: "mt-14 w-full space-y-5"
698
735
  }, /*#__PURE__*/React__default["default"].createElement("div", {
699
- className: "block"
736
+ className: "block min-h-20"
700
737
  }, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
701
738
  autoFocus: true,
702
739
  required: true,
703
740
  label: t("neetoIntegrations.daily.apiKey"),
704
- name: "apiKey",
705
- helpText: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
706
- i18nKey: "neetoIntegrations.daily.helpDoc",
707
- components: {
708
- externalLink: /*#__PURE__*/React__default["default"].createElement(ExternalLink$1, {
709
- "data-cy": "api-key-help-doc-link",
710
- href: helpDocUrl,
711
- rel: "noreferrer",
712
- target: "_blank"
713
- })
714
- }
715
- })
716
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
717
- className: "mt-8",
718
- label: t("neetoIntegrations.daily.walkthroughText"),
719
- style: "link",
720
- onClick: function onClick() {
721
- return setIsDemoModalOpen(true);
722
- }
741
+ name: "apiKey"
723
742
  })), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
724
743
  disabled: isConnecting || !dirty,
725
744
  label: t("neetoIntegrations.common.connect"),
@@ -732,7 +751,7 @@ var Form = function Form(_ref) {
732
751
  onClose: function onClose() {
733
752
  return setIsDemoModalOpen(false);
734
753
  }
735
- }));
754
+ })));
736
755
  };
737
756
  var Form$1 = reactUtils.withTitle(Form, i18next__default["default"].t("neetoIntegrations.browserTitles.integrations.dailyco"));
738
757
 
@@ -788,7 +807,7 @@ var Manage = function Manage(_ref) {
788
807
  apiKey: apiKey
789
808
  }
790
809
  }) : description,
791
- title: isConnected ? t("neetoIntegrations.daily.connected") : t("neetoIntegrations.daily.connect"),
810
+ title: isConnected ? t("neetoIntegrations.daily.connected") : t("neetoIntegrations.daily.connect.account"),
792
811
  onClose: function onClose() {
793
812
  return setIsDisconnectAlertOpen(false);
794
813
  },