@camunda/camunda-composite-components 0.2.11-rc.2 → 0.2.11

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.
@@ -1,8 +1,9 @@
1
1
  import React, { FC, PropsWithChildren } from "react";
2
2
  export type C3HelpCenterContextValue = {
3
- openHelpCenter: () => void;
3
+ openHelpCenter: (showTabId?: string) => void;
4
4
  setIsHelpCenterOpen: (isOpen: boolean) => void;
5
5
  isHelpCenterOpen: boolean;
6
+ showTabId?: string | null;
6
7
  };
7
8
  export declare const C3HelpCenterContext: React.Context<C3HelpCenterContextValue>;
8
9
  export declare const C3HelpCenterProvider: FC<PropsWithChildren>;
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  export const C3HelpCenterContext = React.createContext({
3
3
  openHelpCenter: () => undefined,
4
4
  setIsHelpCenterOpen: () => undefined,
@@ -6,14 +6,23 @@ export const C3HelpCenterContext = React.createContext({
6
6
  });
7
7
  export const C3HelpCenterProvider = ({ children }) => {
8
8
  const [isHelpCenterOpen, setIsHelpCenterOpen] = useState(false);
9
- const openHelpCenter = () => {
10
- if (!isHelpCenterOpen)
9
+ const [activeTabId, setActiveTabId] = useState(null);
10
+ const openHelpCenter = (showTabId) => {
11
+ if (!isHelpCenterOpen) {
11
12
  setIsHelpCenterOpen(true);
13
+ }
14
+ if (showTabId)
15
+ setActiveTabId(showTabId);
12
16
  };
17
+ useEffect(() => {
18
+ if (!isHelpCenterOpen)
19
+ setActiveTabId(null);
20
+ }, [isHelpCenterOpen]);
13
21
  return (React.createElement(C3HelpCenterContext.Provider, { value: {
14
22
  openHelpCenter,
15
23
  setIsHelpCenterOpen,
16
24
  isHelpCenterOpen,
25
+ showTabId: activeTabId,
17
26
  } }, children));
18
27
  };
19
28
  export const useC3HelpCenter = () => React.useContext(C3HelpCenterContext);
@@ -1,12 +1,13 @@
1
1
  import { Button, Link, Loading, ModalBody, ModalFooter, ModalHeader, SideNav, SideNavItems, SideNavMenuItem, Stack, } from "@carbon/react";
2
2
  import { Undo } from "@carbon/react/icons";
3
- import React, { useState } from "react";
3
+ import React, { useEffect, useState } from "react";
4
4
  import { Feedback } from "./tabs/feedback";
5
5
  import { TabContent } from "./tabs/tabContent";
6
6
  import { getTiles } from "../../api/help-center";
7
7
  import { useC3UserConfiguration } from "../c3-user-configuration/c3-user-configuration-provider";
8
8
  import { body01, headings } from "../styles";
9
9
  import styled from "styled-components";
10
+ import { useC3HelpCenter } from "./c3-help-center-provider";
10
11
  export const StyledModalHeader = styled(ModalHeader) `
11
12
  ${headings}
12
13
  `;
@@ -23,6 +24,7 @@ export const HelpCenter = ({ configuration, organization, persona, email, audien
23
24
  const { tabs } = configuration;
24
25
  const firstTab = tabs[0].id;
25
26
  const { userToken: token } = useC3UserConfiguration() || {};
27
+ const { showTabId } = useC3HelpCenter();
26
28
  const [activeTab, setActiveTab] = useState(firstTab);
27
29
  const [tabTiles, setTabTiles] = useState({});
28
30
  const [isLoadingTiles, setIsLoadingTiles] = useState(false);
@@ -52,9 +54,14 @@ export const HelpCenter = ({ configuration, organization, persona, email, audien
52
54
  setIsLoadingTiles(false);
53
55
  })();
54
56
  }, [token, persona, audience, organization, clusters, tabs]);
55
- React.useEffect(() => {
57
+ useEffect(() => {
56
58
  setActiveTab(initialTab ?? firstTab);
57
59
  }, [initialTab]);
60
+ useEffect(() => {
61
+ if (showTabId) {
62
+ setActiveTab(showTabId);
63
+ }
64
+ }, [showTabId]);
58
65
  if (activeTab === "feedback") {
59
66
  header = "Share your feedback";
60
67
  content = (React.createElement(Feedback, { audience: audience, theme: theme, mixpanelTrack: mixpanelTrack, setHeader: (head) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/camunda-composite-components",
3
- "version": "0.2.11-rc.2",
3
+ "version": "0.2.11",
4
4
  "scripts": {
5
5
  "clean": "rimraf lib/",
6
6
  "build": "yarn clean && tsc",