@hiver/connector-admin 0.0.7 → 0.0.8-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,61 @@
1
+ import { s as styled, B as Box, M as MainAppContext, j as jsxRuntimeExports, C as CUSTOM_CONNECTORS, N as NavLink, S as Stack, a as SIDEBAR_OPTIONS, O as Outlet } from "./index-Cg0w12Ck.js";
2
+ import { useContext } from "react";
3
+ import { T as Typography } from "./Typography-B0pksnYc.js";
4
+ const BoxWrapper = styled(Box)`
5
+ box-sizing: border-box;
6
+ padding: 35px 0 35px 35px;
7
+ `;
8
+ const SideBarWrapper = styled(Box)`
9
+ padding-top: 17px;
10
+ box-sizing: border-box;
11
+ width: 178px;
12
+ border-right: 1px solid rgba(214, 221, 232, 1);
13
+ height: 100%;
14
+ `;
15
+ const CustomConnectorText = styled(Typography)`
16
+ font-size: 14px;
17
+ line-height: 24px;
18
+ `;
19
+ const NavLinkWrapper = styled(Box)`
20
+ display: flex;
21
+ flex-direction: column;
22
+ gap: 8px;
23
+ margin-top: 29px;
24
+ & a {
25
+ display: block;
26
+ height: 32px;
27
+ width: 162px;
28
+ padding: 4px 12px;
29
+ text-decoration: none;
30
+ color: #6f7c90;
31
+ font-size: 13px;
32
+ line-height: 24px;
33
+ &.active {
34
+ font-size: 14px;
35
+ background-color: rgba(246, 248, 252, 1);
36
+ border-radius: 4px;
37
+ color: #343c45;
38
+ }
39
+ }
40
+ `;
41
+ const SideBar = ({ sidebarOptions = [] }) => {
42
+ const { currentSideBar } = useContext(MainAppContext);
43
+ const renderOptions = () => /* @__PURE__ */ jsxRuntimeExports.jsx(NavLinkWrapper, { children: sidebarOptions.map(({ id, value, route }) => {
44
+ const isActive = currentSideBar === value;
45
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(NavLink, { to: route, "data-testid": id, className: isActive ? "active" : "", children: value }, id);
46
+ }) });
47
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(BoxWrapper, { "data-testid": "sideBarParent", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(SideBarWrapper, { children: [
48
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CustomConnectorText, { variant: "h3", "data-testid": "custom-connector-heading", children: CUSTOM_CONNECTORS }),
49
+ renderOptions()
50
+ ] }) });
51
+ };
52
+ const ConnectorView = () => {
53
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Stack, { direction: "row", alignItems: "stretch", sx: { minHeight: "100vh" }, children: [
54
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SideBar, { sidebarOptions: SIDEBAR_OPTIONS }),
55
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Outlet, {})
56
+ ] });
57
+ };
58
+ export {
59
+ ConnectorView
60
+ };
61
+ //# sourceMappingURL=index-Df5OkDqQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Df5OkDqQ.js","sources":["../src/components/layouts/sidebar/styles.ts","../src/components/layouts/sidebar/index.tsx","../src/app/connectors/pages/connector-view/index.tsx"],"sourcesContent":["import { Box, styled, Typography } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\n\nimport type { BoxProps, TypographyProps } from '@hiver/hiver-ui-kit';\n\nexport const BoxWrapper: StyledComponent<BoxProps> = styled(Box)`\n box-sizing: border-box;\n padding: 35px 0 35px 35px;\n`;\n\nexport const SideBarWrapper: StyledComponent<BoxProps> = styled(Box)`\n padding-top: 17px;\n box-sizing: border-box;\n width: 178px;\n border-right: 1px solid rgba(214, 221, 232, 1);\n height: 100%;\n`;\n\nexport const CustomConnectorText: StyledComponent<TypographyProps> = styled(Typography)`\n font-size: 14px;\n line-height: 24px;\n`;\n\nexport const NavLinkWrapper: StyledComponent<BoxProps> = styled(Box)`\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 29px;\n & a {\n display: block;\n height: 32px;\n width: 162px;\n padding: 4px 12px;\n text-decoration: none;\n color: #6f7c90;\n font-size: 13px;\n line-height: 24px;\n &.active {\n font-size: 14px;\n background-color: rgba(246, 248, 252, 1);\n border-radius: 4px;\n color: #343c45;\n }\n }\n`;\n","import { useContext } from 'react';\nimport { NavLink } from 'react-router-dom';\n\nimport { CUSTOM_CONNECTORS } from '@/constants/sidebar';\nimport { BoxWrapper, SideBarWrapper, CustomConnectorText, NavLinkWrapper } from './styles';\nimport type { SidebarList } from '@/types/sidebar';\nimport { MainAppContext } from '@/context';\n\ninterface ISideBarProps {\n sidebarOptions: SidebarList;\n}\n\nexport const SideBar = ({ sidebarOptions = [] }: ISideBarProps) => {\n const { currentSideBar } = useContext(MainAppContext);\n const renderOptions = () => (\n <NavLinkWrapper>\n {sidebarOptions.map(({ id, value, route }) => {\n const isActive = currentSideBar === value;\n return (\n <NavLink key={id} to={route} data-testid={id} className={isActive ? 'active' : ''}>\n {value}\n </NavLink>\n );\n })}\n </NavLinkWrapper>\n );\n\n return (\n <BoxWrapper data-testid=\"sideBarParent\">\n <SideBarWrapper>\n <CustomConnectorText variant=\"h3\" data-testid=\"custom-connector-heading\">\n {CUSTOM_CONNECTORS}\n </CustomConnectorText>\n {renderOptions()}\n </SideBarWrapper>\n </BoxWrapper>\n );\n};\n","import { FC } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Stack } from '@hiver/hiver-ui-kit';\n\nimport { SideBar } from '@/components/layouts/sidebar';\nimport { SIDEBAR_OPTIONS } from '@/constants/sidebar';\n\nexport const ConnectorView: FC = () => {\n return (\n <Stack direction=\"row\" alignItems={'stretch'} sx={{ minHeight: '100vh' }}>\n <SideBar sidebarOptions={SIDEBAR_OPTIONS} />\n <Outlet />\n </Stack>\n );\n};\n"],"names":["jsx","jsxs"],"mappings":";;;AAKa,MAAA,aAAwC,OAAO,GAAG;AAAA;AAAA;AAAA;AAKlD,MAAA,iBAA4C,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQtD,MAAA,sBAAwD,OAAO,UAAU;AAAA;AAAA;AAAA;AAKzE,MAAA,iBAA4C,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACX5D,MAAM,UAAU,CAAC,EAAE,iBAAiB,CAAA,QAAwB;AACjE,QAAM,EAAE,eAAA,IAAmB,WAAW,cAAc;AAC9C,QAAA,gBAAgB,MACpBA,sCAAC,gBACE,EAAA,UAAA,eAAe,IAAI,CAAC,EAAE,IAAI,OAAO,MAAA,MAAY;AAC5C,UAAM,WAAW,mBAAmB;AAElC,WAAAA,kCAAAA,IAAC,SAAiB,EAAA,IAAI,OAAO,eAAa,IAAI,WAAW,WAAW,WAAW,IAC5E,UAAA,MAAA,GADW,EAEd;AAAA,EAEH,CAAA,EACH,CAAA;AAGF,SACGA,kCAAA,IAAA,YAAA,EAAW,eAAY,iBACtB,iDAAC,gBACC,EAAA,UAAA;AAAA,IAAAA,sCAAC,qBAAoB,EAAA,SAAQ,MAAK,eAAY,4BAC3C,UACH,mBAAA;AAAA,IACC,cAAc;AAAA,EAAA,EACjB,CAAA,EACF,CAAA;AAEJ;AC9BO,MAAM,gBAAoB,MAAM;AAEnC,SAAAC,uCAAC,OAAM,EAAA,WAAU,OAAM,YAAY,WAAW,IAAI,EAAE,WAAW,QAAA,GAC7D,UAAA;AAAA,IAACD,kCAAAA,IAAA,SAAA,EAAQ,gBAAgB,gBAAiB,CAAA;AAAA,0CACzC,QAAO,EAAA;AAAA,EACV,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,57 @@
1
+ import { s as styled, S as Stack, K as on, j as jsxRuntimeExports, B as Box } from "./index-Cg0w12Ck.js";
2
+ import { T as Typography } from "./Typography-B0pksnYc.js";
3
+ const CUSTOM_CONNECTORS = "Custom Connectors";
4
+ const SALESFORCE_CONNECTOR = "Salesforce API connector";
5
+ const SETTINGS = "Settings";
6
+ const BREADCRUMBS_ARRAY = [CUSTOM_CONNECTORS, SALESFORCE_CONNECTOR, SETTINGS];
7
+ const BreadCrumbsWrapper = styled(Stack)`
8
+ margin-bottom: 36px;
9
+ .arrow {
10
+ border: solid ${on.palette.gray.gray3};
11
+ border-width: 0 2px 2px 0;
12
+ display: inline-block;
13
+ padding: 3px;
14
+ transform: rotate(-45deg);
15
+ -webkit-transform: rotate(-45deg);
16
+ height: 5px;
17
+ }
18
+ `;
19
+ const BreadCrumbsText = styled(Typography)`
20
+ margin-right: 4px;
21
+ &.last {
22
+ cursor: pointer;
23
+ }
24
+ `;
25
+ const ArrowWrapper = styled(Stack)`
26
+ width: 20px;
27
+ height: 20px;
28
+ margin-right: 4px;
29
+ padding-right: 6px;
30
+ `;
31
+ const BreadCrumbs = () => {
32
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(BreadCrumbsWrapper, { direction: "row", alignItems: "center", "data-testid": "breadCrumbs", children: BREADCRUMBS_ARRAY.map((item, idx) => {
33
+ const isLast = idx === BREADCRUMBS_ARRAY.length - 1;
34
+ const color = isLast ? on.palette.gray.black : on.palette.gray.gray4;
35
+ const crumbId = isLast ? "lastCrumb" : `crumb-${idx}`;
36
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Stack, { direction: "row", alignItems: "center", children: [
37
+ /* @__PURE__ */ jsxRuntimeExports.jsx(BreadCrumbsText, { className: isLast ? "last" : "", variant: "h3", color, "data-testid": crumbId, children: item }),
38
+ !isLast ? /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowWrapper, { direction: "row", alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "arrow" }) }) : null
39
+ ] }, item.replace(/\s/g, ""));
40
+ }) });
41
+ };
42
+ const AUTH_COMP = "auth component";
43
+ const Auth = () => {
44
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: AUTH_COMP });
45
+ };
46
+ const SideBarCrumbWrapper = styled(Box)`
47
+ padding: 52px;
48
+ box-sizing: border-box;
49
+ `;
50
+ const Settings = () => /* @__PURE__ */ jsxRuntimeExports.jsxs(SideBarCrumbWrapper, { children: [
51
+ /* @__PURE__ */ jsxRuntimeExports.jsx(BreadCrumbs, {}),
52
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Auth, {})
53
+ ] });
54
+ export {
55
+ Settings
56
+ };
57
+ //# sourceMappingURL=index-Dkx6PyMA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Dkx6PyMA.js","sources":["../src/constants/bread-crumbs.ts","../src/components/ui/bread-crumbs/styles.ts","../src/components/ui/bread-crumbs/index.tsx","../src/features/settings/constants/auth.ts","../src/features/settings/components/auth/auth.tsx","../src/app/connectors/pages/settings/styles.ts","../src/app/connectors/pages/settings/index.tsx"],"sourcesContent":["export const CUSTOM_CONNECTORS: string = 'Custom Connectors';\nexport const SALESFORCE_CONNECTOR: string = 'Salesforce API connector';\nexport const SETTINGS: string = 'Settings';\nexport const BREADCRUMBS_ARRAY: Array<string> = [CUSTOM_CONNECTORS, SALESFORCE_CONNECTOR, SETTINGS];\n","import { styled, Typography, Stack, theme } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\nimport type { TypographyProps, StackProps } from '@hiver/hiver-ui-kit';\n\nexport const BreadCrumbsWrapper: StyledComponent<StackProps> = styled(Stack)`\n margin-bottom: 36px;\n .arrow {\n border: solid ${theme.palette.gray.gray3};\n border-width: 0 2px 2px 0;\n display: inline-block;\n padding: 3px;\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n height: 5px;\n }\n`;\n\nexport const BreadCrumbsText: StyledComponent<TypographyProps> = styled(Typography)`\n margin-right: 4px;\n &.last {\n cursor: pointer;\n }\n`;\n\nexport const ArrowWrapper: StyledComponent<StackProps> = styled(Stack)`\n width: 20px;\n height: 20px;\n margin-right: 4px;\n padding-right: 6px;\n`;\n","import { FC } from 'react';\nimport { Stack, theme } from '@hiver/hiver-ui-kit';\n\nimport { BREADCRUMBS_ARRAY } from '@/constants/bread-crumbs';\nimport { BreadCrumbsWrapper, BreadCrumbsText, ArrowWrapper } from './styles';\n\nexport const BreadCrumbs: FC = () => {\n return (\n <BreadCrumbsWrapper direction={'row'} alignItems={'center'} data-testid=\"breadCrumbs\">\n {BREADCRUMBS_ARRAY.map((item: string, idx: number) => {\n const isLast = idx === BREADCRUMBS_ARRAY.length - 1;\n const color = isLast ? theme.palette.gray.black : theme.palette.gray.gray4;\n const crumbId = isLast ? 'lastCrumb' : `crumb-${idx}`;\n return (\n <Stack key={item.replace(/\\s/g, '')} direction={'row'} alignItems={'center'}>\n <BreadCrumbsText className={isLast ? 'last' : ''} variant={'h3'} color={color} data-testid={crumbId}>\n {item}\n </BreadCrumbsText>\n {!isLast ? (\n <ArrowWrapper direction={'row'} alignItems={'center'} justifyContent={'center'}>\n <div className=\"arrow\" />\n </ArrowWrapper>\n ) : null}\n </Stack>\n );\n })}\n </BreadCrumbsWrapper>\n );\n};\n","export const AUTH_COMP = 'auth component';\n","import { AUTH_COMP } from '../../constants/auth';\n\nexport const Auth = () => {\n return <div>{AUTH_COMP}</div>;\n};\n","import { Box, styled } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\n\nimport type { BoxProps } from '@hiver/hiver-ui-kit';\n\nexport const SideBarCrumbWrapper: StyledComponent<BoxProps> = styled(Box)`\n padding: 52px;\n box-sizing: border-box;\n`;\n","import { BreadCrumbs } from '@/components/ui/bread-crumbs';\nimport { Auth } from '@/features/settings/components/auth/auth';\n\nimport { SideBarCrumbWrapper } from './styles';\n\nexport const Settings = () => (\n <SideBarCrumbWrapper>\n <BreadCrumbs />\n <Auth />\n </SideBarCrumbWrapper>\n);\n"],"names":["theme","jsx","jsxs"],"mappings":";;AAAO,MAAM,oBAA4B;AAClC,MAAM,uBAA+B;AACrC,MAAM,WAAmB;AACzB,MAAM,oBAAmC,CAAC,mBAAmB,sBAAsB,QAAQ;ACCrF,MAAA,qBAAkD,OAAO,KAAK;AAAA;AAAA;AAAA,oBAGvDA,GAAM,QAAQ,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAU/B,MAAA,kBAAoD,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrE,MAAA,eAA4C,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AClB9D,MAAM,cAAkB,MAAM;AACnC,SACGC,kCAAAA,IAAA,oBAAA,EAAmB,WAAW,OAAO,YAAY,UAAU,eAAY,eACrE,UAAkB,kBAAA,IAAI,CAAC,MAAc,QAAgB;AAC9C,UAAA,SAAS,QAAQ,kBAAkB,SAAS;AAC5C,UAAA,QAAQ,SAASD,GAAM,QAAQ,KAAK,QAAQA,GAAM,QAAQ,KAAK;AACrE,UAAM,UAAU,SAAS,cAAc,SAAS,GAAG;AACnD,WACGE,kCAAAA,KAAA,OAAA,EAAoC,WAAW,OAAO,YAAY,UACjE,UAAA;AAAA,MAACD,kCAAAA,IAAA,iBAAA,EAAgB,WAAW,SAAS,SAAS,IAAI,SAAS,MAAM,OAAc,eAAa,SACzF,UACH,KAAA,CAAA;AAAA,MACC,CAAC,SACCA,kCAAAA,IAAA,cAAA,EAAa,WAAW,OAAO,YAAY,UAAU,gBAAgB,UACpE,UAACA,kCAAA,IAAA,OAAA,EAAI,WAAU,QAAQ,CAAA,EACzB,CAAA,IACE;AAAA,IAAA,EAAA,GARM,KAAK,QAAQ,OAAO,EAAE,CASlC;AAAA,EAEH,CAAA,EACH,CAAA;AAEJ;AC5BO,MAAM,YAAY;ACElB,MAAM,OAAO,MAAM;AACjB,SAAAA,kCAAA,IAAC,SAAK,UAAU,UAAA,CAAA;AACzB;ACCa,MAAA,sBAAiD,OAAO,GAAG;AAAA;AAAA;AAAA;ACA3D,MAAA,WAAW,MACtBC,kCAAAA,KAAC,qBACC,EAAA,UAAA;AAAA,EAAAD,kCAAA,IAAC,aAAY,EAAA;AAAA,wCACZ,MAAK,EAAA;AAAA,EACR,CAAA;"}
@@ -0,0 +1,95 @@
1
+ import { s as styled, S as Stack, I as IconButton, K as on, j as jsxRuntimeExports, $ as useLocation, T as API_STATUS, V as ROUTES, L as useNavigate } from "./index-Cg0w12Ck.js";
2
+ import { C as CustomSkeleton, a as useAppSelector, t as selectConnectors, b as selectConnectorTemplates, v as selectCurrentTemplateData, w as selectTemplateDetailsApiStatus, x as selectCurrentConnector, T as Tooltip, r as CustomConnectorCard } from "./index-cz0aBfFX.js";
3
+ import { useRef } from "react";
4
+ import { T as Typography } from "./Typography-B0pksnYc.js";
5
+ const ConfigSettingsWrapper = styled(Stack)`
6
+ margin: 43px 48px 0 52px;
7
+ position: relative;
8
+ `;
9
+ const IconBtnWrapper = styled(IconButton)`
10
+ position: absolute;
11
+ left: -30px;
12
+ img {
13
+ width: 15px;
14
+ height: 15px;
15
+ margin: 3.5px 2.5px;
16
+ }
17
+ `;
18
+ const BackArrow = "data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.86421%2015.9708C9.20287%2016.3941%209.13423%2017.0118%208.71091%2017.3505C8.28758%2017.6891%207.66987%2017.6205%207.33121%2017.1972L8.86421%2015.9708ZM2.94434%2010.1423L2.17784%2010.7555C1.89104%2010.397%201.89104%209.88757%202.17784%209.52907L2.94434%2010.1423ZM7.33121%203.08735C7.66987%202.66403%208.28758%202.59539%208.71091%202.93405C9.13423%203.27271%209.20287%203.89042%208.86421%204.31375L7.33121%203.08735ZM3.31243%2011.1852C2.77031%2011.1852%202.33084%2010.7457%202.33084%2010.2036C2.33084%209.66149%202.77031%209.22201%203.31243%209.22201L3.31243%2011.1852ZM17.0548%209.22201C17.5969%209.22201%2018.0364%209.66149%2018.0364%2010.2036C18.0364%2010.7457%2017.5969%2011.1852%2017.0548%2011.1852V9.22201ZM7.33121%2017.1972L2.17784%2010.7555L3.71083%209.52907L8.86421%2015.9708L7.33121%2017.1972ZM2.17784%209.52907L7.33121%203.08735L8.86421%204.31375L3.71083%2010.7555L2.17784%209.52907ZM3.31243%209.22201L17.0548%209.22201V11.1852L3.31243%2011.1852L3.31243%209.22201Z'%20fill='%236F7C90'/%3e%3c/svg%3e";
19
+ const APILibraryWrapper = styled(Stack)`
20
+ margin-left: 32px;
21
+ `;
22
+ const API_LIB_TITLE = "APIs in {{connector}} connector";
23
+ const API_LIB_DESCRIPTION = "Following are the list of APIs that you will find in this connector";
24
+ const SkeletonWrapper = styled(Stack)`
25
+ width: 100%;
26
+ height: 72px;
27
+ gap: 12px;
28
+ padding: 16px;
29
+ border: 1px solid ${on.palette.gray.gray6};
30
+ border-radius: 8px;
31
+ box-sizing: border-box;
32
+ `;
33
+ const ApiLibrarySkeleton = () => {
34
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Stack, { gap: "12px", children: Array(3).fill(0).map((_, idx) => {
35
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SkeletonWrapper, { children: [
36
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CustomSkeleton, { variant: "rounded", width: "40%", height: "10px", animation: "wave" }),
37
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CustomSkeleton, { variant: "rounded", width: "80%", height: "10px", animation: "wave" })
38
+ ] }, idx);
39
+ }) });
40
+ };
41
+ const APILibrary = ({ isConfigSettingsPage, currentConnector }) => {
42
+ var _a;
43
+ const { pathname } = useLocation();
44
+ const connectors = useAppSelector(selectConnectors);
45
+ const isLibraryCard = pathname === ROUTES.CARD_SETTINGS;
46
+ const connectorTemplate = useAppSelector(selectConnectorTemplates);
47
+ const currentConnectorData = useRef();
48
+ const data = useAppSelector(selectCurrentTemplateData);
49
+ const apiStatus = useAppSelector(selectTemplateDetailsApiStatus);
50
+ if (!isConfigSettingsPage) {
51
+ return null;
52
+ }
53
+ if (isConfigSettingsPage && currentConnector) {
54
+ currentConnectorData.current = isLibraryCard && (connectorTemplate == null ? void 0 : connectorTemplate[currentConnector]) ? connectorTemplate == null ? void 0 : connectorTemplate[currentConnector] : connectors == null ? void 0 : connectors[currentConnector];
55
+ }
56
+ const apiList = (data == null ? void 0 : data.apiList) ?? [];
57
+ const title = API_LIB_TITLE.replace("{{connector}}", ((_a = currentConnectorData == null ? void 0 : currentConnectorData.current) == null ? void 0 : _a.name) ?? "");
58
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(APILibraryWrapper, { children: [
59
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "h2", children: title }),
60
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body1", marginBottom: "20px", children: API_LIB_DESCRIPTION }),
61
+ apiStatus === API_STATUS.LOADING ? /* @__PURE__ */ jsxRuntimeExports.jsx(ApiLibrarySkeleton, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(Stack, { gap: "12px", children: apiList.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
62
+ Stack,
63
+ {
64
+ width: "100%",
65
+ height: "72px",
66
+ border: "1px solid #E0E0E0",
67
+ borderRadius: "5px",
68
+ padding: "12px",
69
+ gap: "10px",
70
+ children: [
71
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body1_medium", children: item.name }),
72
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Typography, { variant: "body2", children: item.description })
73
+ ]
74
+ },
75
+ item.keyName
76
+ )) })
77
+ ] });
78
+ };
79
+ const ConnectorConfig = () => {
80
+ const navigate = useNavigate();
81
+ const currentConnector = useAppSelector(selectCurrentConnector);
82
+ const handleBackClick = (e) => {
83
+ e == null ? void 0 : e.stopPropagation();
84
+ navigate(ROUTES.BASEPATH);
85
+ };
86
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(ConfigSettingsWrapper, { children: [
87
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "Back", placement: "bottom", children: /* @__PURE__ */ jsxRuntimeExports.jsx(IconBtnWrapper, { onClick: handleBackClick, children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: BackArrow }) }) }),
88
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CustomConnectorCard, { isConfigSettingsPage: true, currentConnector }),
89
+ /* @__PURE__ */ jsxRuntimeExports.jsx(APILibrary, { isConfigSettingsPage: true, currentConnector })
90
+ ] });
91
+ };
92
+ export {
93
+ ConnectorConfig
94
+ };
95
+ //# sourceMappingURL=index-G3Hgu5xC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-G3Hgu5xC.js","sources":["../src/app/connectors/pages/settings/connector-config/style.tsx","../src/assets/BackArrow.svg","../src/features/connector-library/components/api-library/styles.tsx","../src/features/connector-library/constants/api-library.ts","../src/features/connector-library/components/api-library-skeleton/styles.ts","../src/features/connector-library/components/api-library-skeleton/index.tsx","../src/features/connector-library/components/api-library/index.tsx","../src/app/connectors/pages/settings/connector-config/index.tsx"],"sourcesContent":["import { IconButton, Stack, styled } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\nimport type { IconButtonProps, StackProps } from '@hiver/hiver-ui-kit';\n\nexport const ConfigSettingsWrapper: StyledComponent<StackProps> = styled(Stack)`\n margin: 43px 48px 0 52px;\n position: relative;\n`;\n\nexport const IconBtnWrapper: StyledComponent<IconButtonProps> = styled(IconButton)`\n position: absolute;\n left: -30px;\n img {\n width: 15px;\n height: 15px;\n margin: 3.5px 2.5px;\n }\n`;\n","export default \"data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.86421%2015.9708C9.20287%2016.3941%209.13423%2017.0118%208.71091%2017.3505C8.28758%2017.6891%207.66987%2017.6205%207.33121%2017.1972L8.86421%2015.9708ZM2.94434%2010.1423L2.17784%2010.7555C1.89104%2010.397%201.89104%209.88757%202.17784%209.52907L2.94434%2010.1423ZM7.33121%203.08735C7.66987%202.66403%208.28758%202.59539%208.71091%202.93405C9.13423%203.27271%209.20287%203.89042%208.86421%204.31375L7.33121%203.08735ZM3.31243%2011.1852C2.77031%2011.1852%202.33084%2010.7457%202.33084%2010.2036C2.33084%209.66149%202.77031%209.22201%203.31243%209.22201L3.31243%2011.1852ZM17.0548%209.22201C17.5969%209.22201%2018.0364%209.66149%2018.0364%2010.2036C18.0364%2010.7457%2017.5969%2011.1852%2017.0548%2011.1852V9.22201ZM7.33121%2017.1972L2.17784%2010.7555L3.71083%209.52907L8.86421%2015.9708L7.33121%2017.1972ZM2.17784%209.52907L7.33121%203.08735L8.86421%204.31375L3.71083%2010.7555L2.17784%209.52907ZM3.31243%209.22201L17.0548%209.22201V11.1852L3.31243%2011.1852L3.31243%209.22201Z'%20fill='%236F7C90'/%3e%3c/svg%3e\"","import { Stack, StackProps, styled } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\n\nexport const APILibraryWrapper: StyledComponent<StackProps> = styled(Stack)`\n margin-left: 32px;\n`;\n","export const API_LIB_TITLE = 'APIs in {{connector}} connector';\nexport const API_LIB_DESCRIPTION = 'Following are the list of APIs that you will find in this connector';\n","import { Stack, styled, theme } from '@hiver/hiver-ui-kit';\nimport { StyledComponent } from '@emotion/styled';\n\nimport type { StackProps } from '@hiver/hiver-ui-kit';\n\nexport const SkeletonWrapper: StyledComponent<StackProps> = styled(Stack)`\n width: 100%;\n height: 72px;\n gap: 12px;\n padding: 16px;\n border: 1px solid ${theme.palette.gray.gray6};\n border-radius: 8px;\n box-sizing: border-box;\n`;\n","import { CustomSkeleton } from '@/components/ui/styled-ui-components';\nimport { SkeletonWrapper } from './styles';\nimport { Stack } from '@hiver/hiver-ui-kit';\n\nexport const ApiLibrarySkeleton = () => {\n return (\n <Stack gap={'12px'}>\n {Array(3)\n .fill(0)\n .map((_, idx) => {\n return (\n <SkeletonWrapper key={idx}>\n <CustomSkeleton variant=\"rounded\" width={'40%'} height={'10px'} animation=\"wave\" />\n <CustomSkeleton variant=\"rounded\" width={'80%'} height={'10px'} animation=\"wave\" />\n </SkeletonWrapper>\n );\n })}\n </Stack>\n );\n};\n","import { useRef } from 'react';\nimport { IConnectorStruct, IConnectorTemplate } from '../../types/connector';\nimport { Stack, Typography } from '@hiver/hiver-ui-kit';\nimport { useAppSelector } from '@/store/hooks';\nimport {\n selectConnectors,\n selectConnectorTemplates,\n selectCurrentTemplateData,\n selectTemplateDetailsApiStatus\n} from '../../store/selectors';\nimport { useLocation } from 'react-router-dom';\nimport { ROUTES } from '@/constants/router-paths';\nimport { APILibraryWrapper } from './styles';\nimport { API_LIB_DESCRIPTION, API_LIB_TITLE } from '../../constants/api-library';\nimport { API_STATUS } from '@/constants/api';\nimport { ApiLibrarySkeleton } from '../api-library-skeleton';\n\ninterface IProps {\n isConfigSettingsPage?: boolean;\n currentConnector?: string | null | undefined;\n}\n\nexport const APILibrary = ({ isConfigSettingsPage, currentConnector }: IProps) => {\n const { pathname } = useLocation();\n const connectors: { [ke: string]: IConnectorStruct } | null = useAppSelector(selectConnectors);\n const isLibraryCard = pathname === ROUTES.CARD_SETTINGS;\n const connectorTemplate: { [key: string]: IConnectorTemplate } | null = useAppSelector(selectConnectorTemplates);\n const currentConnectorData = useRef<IConnectorStruct | IConnectorTemplate | undefined>();\n const data = useAppSelector(selectCurrentTemplateData);\n const apiStatus = useAppSelector(selectTemplateDetailsApiStatus);\n\n if (!isConfigSettingsPage) {\n return null;\n }\n\n if (isConfigSettingsPage && currentConnector) {\n currentConnectorData.current =\n isLibraryCard && connectorTemplate?.[currentConnector]\n ? connectorTemplate?.[currentConnector]\n : connectors?.[currentConnector];\n }\n\n const apiList = data?.apiList ?? [];\n\n const title = API_LIB_TITLE.replace('{{connector}}', currentConnectorData?.current?.name ?? '');\n\n return (\n <APILibraryWrapper>\n <Typography variant=\"h2\">{title}</Typography>\n <Typography variant=\"body1\" marginBottom={'20px'}>\n {API_LIB_DESCRIPTION}\n </Typography>\n {apiStatus === API_STATUS.LOADING ? (\n <ApiLibrarySkeleton />\n ) : (\n <Stack gap={'12px'}>\n {apiList.map((item) => (\n <Stack\n key={item.keyName}\n width={'100%'}\n height={'72px'}\n border={'1px solid #E0E0E0'}\n borderRadius={'5px'}\n padding={'12px'}\n gap={'10px'}>\n <Typography variant=\"body1_medium\">{item.name}</Typography>\n <Typography variant=\"body2\">{item.description}</Typography>\n </Stack>\n ))}\n </Stack>\n )}\n </APILibraryWrapper>\n );\n};\n","import { MouseEvent } from 'react';\nimport { Tooltip } from '@hiver/hiver-ui-kit';\n\nimport { CustomConnectorCard } from '@/features/request-new-connector/components/custom-connector-card';\nimport { ConfigSettingsWrapper, IconBtnWrapper } from './style';\n\nimport BackArrow from '@/assets/BackArrow.svg';\n\nimport { useAppSelector } from '@/store/hooks';\nimport { selectCurrentConnector } from '@/features/connector-library/store/selectors';\nimport { useNavigate } from 'react-router-dom';\nimport { APILibrary } from '@/features/connector-library/components/api-library';\nimport { ROUTES } from '@/constants/router-paths';\n\nexport const ConnectorConfig = () => {\n const navigate = useNavigate();\n const currentConnector = useAppSelector(selectCurrentConnector);\n\n const handleBackClick = (e: MouseEvent) => {\n e?.stopPropagation();\n navigate(ROUTES.BASEPATH);\n };\n\n return (\n <ConfigSettingsWrapper>\n <Tooltip title={'Back'} placement={'bottom'}>\n <IconBtnWrapper onClick={handleBackClick}>\n <img src={BackArrow} />\n </IconBtnWrapper>\n </Tooltip>\n <CustomConnectorCard isConfigSettingsPage={true} currentConnector={currentConnector} />\n <APILibrary isConfigSettingsPage={true} currentConnector={currentConnector} />\n </ConfigSettingsWrapper>\n );\n};\n"],"names":["theme","jsx","jsxs"],"mappings":"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"}