@stack-spot/portal-layout 2.8.0 → 2.9.0

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 (43) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/Contact/show-contact-modal.d.ts +5 -2
  3. package/dist/components/Contact/show-contact-modal.d.ts.map +1 -1
  4. package/dist/components/Contact/show-contact-modal.js +15 -15
  5. package/dist/components/Contact/show-contact-modal.js.map +1 -1
  6. package/dist/components/PortalSwitcher.d.ts.map +1 -1
  7. package/dist/components/PortalSwitcher.js +3 -22
  8. package/dist/components/PortalSwitcher.js.map +1 -1
  9. package/dist/components/Rate/hook.d.ts +2 -1
  10. package/dist/components/Rate/hook.d.ts.map +1 -1
  11. package/dist/components/Rate/hook.js +7 -19
  12. package/dist/components/Rate/hook.js.map +1 -1
  13. package/dist/components/Rate/on-nps-submit.js +1 -1
  14. package/dist/components/Rate/on-nps-submit.js.map +1 -1
  15. package/dist/components/menu/MenuSections.d.ts.map +1 -1
  16. package/dist/components/menu/MenuSections.js +24 -3
  17. package/dist/components/menu/MenuSections.js.map +1 -1
  18. package/dist/components/menu/types.d.ts +25 -0
  19. package/dist/components/menu/types.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/layout.css +48 -0
  25. package/dist/svg/StarFillWithGradient.d.ts +6 -0
  26. package/dist/svg/StarFillWithGradient.d.ts.map +1 -0
  27. package/dist/svg/StarFillWithGradient.js +4 -0
  28. package/dist/svg/StarFillWithGradient.js.map +1 -0
  29. package/package.json +1 -1
  30. package/src/components/Contact/show-contact-modal.tsx +15 -18
  31. package/src/components/PortalSwitcher.tsx +3 -28
  32. package/src/components/Rate/hook.tsx +7 -20
  33. package/src/components/Rate/on-nps-submit.ts +1 -1
  34. package/src/components/menu/MenuSections.tsx +47 -12
  35. package/src/components/menu/types.ts +25 -0
  36. package/src/index.ts +1 -2
  37. package/src/layout.css +48 -0
  38. package/src/svg/StarFillWithGradient.tsx +14 -0
  39. package/dist/components/Contact/ContactPopover.d.ts +0 -2
  40. package/dist/components/Contact/ContactPopover.d.ts.map +0 -1
  41. package/dist/components/Contact/ContactPopover.js +0 -44
  42. package/dist/components/Contact/ContactPopover.js.map +0 -1
  43. package/src/components/Contact/ContactPopover.tsx +0 -63
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.9.0](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.8.0...portal-layout@v2.9.0) (2024-09-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * new nps experience ([06d9072](https://github.com/stack-spot/portal-commons/commit/06d90729bfd348439b0308835f007db1370d10b5))
9
+
3
10
  ## [2.8.0](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.7.0...portal-layout@v2.8.0) (2024-08-30)
4
11
 
5
12
 
@@ -3,9 +3,12 @@ interface Props {
3
3
  tenant: string;
4
4
  portal: 'EDP' | 'AI';
5
5
  formIdentifier: string;
6
- serviceNowUrl: string;
7
6
  }
8
- export declare const showContactUsModal: ({ title, ...props }: Props & {
7
+ export declare const showRateUsModal: ({ title, ...props }: Props & {
8
+ title: string;
9
+ }) => void;
10
+ export declare const showContactUsModal: ({ title, serviceNowUrl }: {
11
+ serviceNowUrl: string;
9
12
  title: string;
10
13
  }) => void;
11
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"show-contact-modal.d.ts","sourceRoot":"","sources":["../../../src/components/Contact/show-contact-modal.tsx"],"names":[],"mappings":"AAuCA,UAAU,KAAK;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAC,MAAM,CAAC;CACtB;AAuBD,eAAO,MAAM,kBAAkB,wBAAyB,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,SAMhF,CAAA"}
1
+ {"version":3,"file":"show-contact-modal.d.ts","sourceRoot":"","sources":["../../../src/components/Contact/show-contact-modal.tsx"],"names":[],"mappings":"AAuCA,UAAU,KAAK;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAYD,eAAO,MAAM,eAAe,wBAAyB,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,SAO7E,CAAA;AAED,eAAO,MAAM,kBAAkB,6BAA6B;IAAE,aAAa,EAAC,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,SAMlG,CAAA"}
@@ -1,32 +1,32 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Button, Flex, IconBox, Text } from '@citric/core';
3
- import { ArrowRight, ExternalLink } from '@citric/icons';
3
+ import { ExternalLink } from '@citric/icons';
4
4
  import { Card } from '@citric/ui';
5
- import { useTranslate } from '@stack-spot/portal-translate';
6
5
  import { useAnchorTag } from '@stack-spot/portal-components/anchor';
6
+ import { useTranslate } from '@stack-spot/portal-translate';
7
7
  import { overlay } from '../../LayoutOverlayManager.js';
8
8
  import { RateComponent } from '../Rate/index.js';
9
9
  const CardItem = ({ title, description, hasMargin = false, buttonText, url, icon, onClick }) => {
10
10
  const Link = useAnchorTag();
11
11
  return _jsx(Card, { sx: { p: '7', bg: 'light.500', w: '100%' }, children: _jsxs(Flex, { flexDirection: "column", children: [_jsx(Text, { appearance: "h5", mb: "3", children: title }), _jsx(Text, { appearance: "microtext1", colorScheme: "light.700", mb: "8", children: description }), _jsx(Box, { mt: hasMargin ? 5 : 0, children: _jsx(Link, { onClick: onClick, href: url, target: "_blank", children: _jsxs(Button, { size: "md", colorScheme: "inverse", children: [buttonText, _jsx(IconBox, { sx: { ml: 2 }, colorIcon: "inverse.contrastText", children: icon })] }) }) })] }) });
12
12
  };
13
- const ContactUsComponent = ({ serviceNowUrl, ...props }) => {
13
+ const ContactUsComponent = ({ serviceNowUrl }) => {
14
14
  const t = useTranslate(dictionary);
15
- const onClickContactUs = () => {
16
- const { formIdentifier, sub, tenant, portal } = props;
17
- overlay.showModal({
18
- title: t.rateUs,
19
- children: _jsx(RateComponent, { tfLive: formIdentifier, userId: sub, orgId: tenant, portal: portal }),
20
- size: 'large',
21
- });
22
- };
23
- return _jsxs(Flex, { sx: { gap: '8px' }, w: 12, mb: 10, flexWrap: "nowrap", children: [_jsx(CardItem, { title: t.rateUs, description: t.rateUsDescription, buttonText: t.rateUsButton, onClick: onClickContactUs, icon: _jsx(ArrowRight, {}), hasMargin: true }), _jsx(CardItem, { title: t.support, description: t.supportDescription, buttonText: t.supportButton, url: serviceNowUrl, icon: _jsx(ExternalLink, {}) })] });
15
+ return _jsx(Flex, { sx: { gap: '8px' }, w: 12, mb: 10, flexWrap: "nowrap", children: _jsx(CardItem, { title: t.support, description: t.supportDescription, buttonText: t.supportButton, url: serviceNowUrl, icon: _jsx(ExternalLink, {}) }) });
16
+ };
17
+ export const showRateUsModal = ({ title, ...props }) => {
18
+ const { formIdentifier, sub, tenant, portal } = props;
19
+ overlay.showModal({
20
+ title: title,
21
+ children: _jsx(RateComponent, { tfLive: formIdentifier, userId: sub, orgId: tenant, portal: portal }),
22
+ size: 'large',
23
+ });
24
24
  };
25
- export const showContactUsModal = ({ title, ...props }) => {
25
+ export const showContactUsModal = ({ title, serviceNowUrl }) => {
26
26
  overlay.showModal({
27
27
  title,
28
- children: _jsx(ContactUsComponent, { ...props }),
29
- size: 'medium',
28
+ children: _jsx(ContactUsComponent, { serviceNowUrl: serviceNowUrl }),
29
+ size: 'small',
30
30
  });
31
31
  };
32
32
  const dictionary = {
@@ -1 +1 @@
1
- {"version":3,"file":"show-contact-modal.js","sourceRoot":"","sources":["../../../src/components/Contact/show-contact-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"show-contact-modal.js","sourceRoot":"","sources":["../../../src/components/Contact/show-contact-modal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PortalSwitcher.d.ts","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAUxC,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AA0DD;;;;GAIG;AACH,eAAO,MAAM,cAAc,gBAAsB,mBAAmB,4CA6CnE,CAAA;AAuBD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,YAkBrC,CAAA"}
1
+ {"version":3,"file":"PortalSwitcher.d.ts","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAUxC,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AA0DD;;;;GAIG;AACH,eAAO,MAAM,cAAc,gBAAsB,mBAAmB,4CAyCnE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,YAkBrC,CAAA"}
@@ -47,7 +47,6 @@ const PortalSwitcherBox = styled(Flex) `
47
47
  }
48
48
 
49
49
  .action {
50
- padding: 16px;
51
50
  background-color: ${theme.color.light['400']};
52
51
  border-width: 1px;
53
52
  border-style: solid;
@@ -59,7 +58,8 @@ const PortalSwitcherBox = styled(Flex) `
59
58
  }
60
59
 
61
60
  a {
62
- height: auto;
61
+ padding: 16px;
62
+ height: 24px;
63
63
  transition: unset;
64
64
  align-items: flex-start;
65
65
  }
@@ -76,7 +76,6 @@ const PORTAL_SWITCHER_ID = 'PortalSwitcher';
76
76
  */
77
77
  export const PortalSwitcher = ({ portals = [] }) => {
78
78
  const [visible, setVisible] = useState(false);
79
- const t = useTranslate(translations);
80
79
  const currentPortal = portals?.find(portal => location.href.startsWith(portal.url));
81
80
  usePortalSwitcherTourStep();
82
81
  return _jsxs(PortalSwitcherBox, { children: [currentPortal ?
@@ -86,7 +85,7 @@ export const PortalSwitcher = ({ portals = [] }) => {
86
85
  _jsx(Logo, {}), _jsx(SelectionList, { id: PORTAL_SWITCHER_ID, items: portals?.map(portal => ({
87
86
  label: {
88
87
  id: portal.acronym,
89
- element: _jsxs(Flex, { flexDirection: "column", children: [Logos[portal.acronym], _jsx(Text, { appearance: "microtext1", mt: 3, colorScheme: "light.700", children: t[portal.acronym] })] }),
88
+ element: _jsx(Flex, { w: "250px", children: Logos[portal.acronym] }),
90
89
  },
91
90
  target: '_self',
92
91
  href: portal.url,
@@ -95,24 +94,6 @@ export const PortalSwitcher = ({ portals = [] }) => {
95
94
  iconRight: portal.acronym !== currentPortal?.acronym ? _jsx(ArrowRight, {}) : undefined,
96
95
  })), visible: visible, maxHeight: "21rem", onHide: () => setVisible(false) })] });
97
96
  };
98
- const translations = {
99
- en: {
100
- EDP: 'Efficient and secure solutions from code to production deployment.',
101
- AI: 'Speed up coding with efficient suggestions and high-quality results.',
102
- HUB: 'Discover AI Stacks, knowledge sources, and quick commands, all in one streamlined hub.',
103
- CS: 'Setup your business in the cloud with reliable services from Stackspot.',
104
- portalSwitcher: 'Portal switcher',
105
- selected: 'selected',
106
- },
107
- pt: {
108
- EDP: 'Soluções eficientes e seguras do código até a implantação em produção.',
109
- AI: 'Acelere o desenvolvimento com sugestões eficientes e resultados de alta qualidade.',
110
- HUB: 'Descubra AI Stacks, knowledge sources e quick commands, tudo em um hub simplificado.',
111
- CS: 'Coloque seu negócio na nuvem com os serviços de cloud confiáveis da Stackspot',
112
- portalSwitcher: 'Seletor de portais',
113
- selected: 'selecionado',
114
- },
115
- };
116
97
  /**
117
98
  * Tutorial: a React hook for retrieving the React Tour step that explains how the portal switcher works. The portal switcher is a component
118
99
  * at the top left corner of the layout (header) that allows the user to switch between the different Stackspot portals.
@@ -1 +1 @@
1
- {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export declare function useRatingEffect(onOpenModal?: () => void): void;
1
+ export declare function isLessThan30Days(date1: Date, date2: Date): boolean;
2
+ export declare function useRatingEffect(): void;
2
3
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AA2BA,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,QAsBvD"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,WAaxD;AAED,wBAAgB,eAAe,SAS9B"}
@@ -7,33 +7,21 @@ const loadScript = () => new Promise((resolve, reject) => {
7
7
  script.onerror = (error) => reject(error);
8
8
  document.body.appendChild(script);
9
9
  });
10
- // Function to check if the difference between two dates is greater than 24 hours
11
- function isMoreThan24Hours(date1, date2) {
10
+ // Function to check if the difference between two dates is greater than 30 days
11
+ export function isLessThan30Days(date1, date2) {
12
12
  // Get the timestamps of the dates
13
13
  const timestamp1 = date1.getTime();
14
14
  const timestamp2 = date2.getTime();
15
15
  // Calculate the difference in milliseconds
16
16
  const differenceInMilliseconds = Math.abs(timestamp2 - timestamp1);
17
- // Convert milliseconds to hours
18
- const differenceInHours = differenceInMilliseconds / (1000 * 60 * 60);
19
- // Check if the difference is equal or greater than 24 hours
20
- return differenceInHours >= 24;
17
+ // Convert milliseconds to days
18
+ const differenceInDays = differenceInMilliseconds / (1000 * 60 * 60 * 24);
19
+ // Check if the difference is fewer than 30 days
20
+ return differenceInDays < 30;
21
21
  }
22
- export function useRatingEffect(onOpenModal) {
23
- const verifyShowModal = () => {
24
- const rateNpsItem = localStorage.getItem('rateNps');
25
- const viewNpsItem = localStorage.getItem('viewNpsItem');
26
- const shouldShow = viewNpsItem ? isMoreThan24Hours(new Date(+viewNpsItem), new Date(Date.now())) : true;
27
- setTimeout(() => {
28
- if (!rateNpsItem && shouldShow) {
29
- onOpenModal?.();
30
- localStorage.setItem('viewNpsItem', Date.now().toString());
31
- }
32
- }, 3000);
33
- };
22
+ export function useRatingEffect() {
34
23
  const handleInit = async () => {
35
24
  await loadScript();
36
- verifyShowModal();
37
25
  };
38
26
  useEffectOnce(() => {
39
27
  handleInit();
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,KAAW,EAAE,KAAW;IACjD,kCAAkC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAElC,2CAA2C;IAC3C,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA;IAElE,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IAErE,4DAA4D;IAC5D,OAAO,iBAAiB,IAAI,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAwB;IACtD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAEvG,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC;gBAC/B,WAAW,EAAE,EAAE,CAAA;gBACf,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,UAAU,EAAE,CAAA;QAClB,eAAe,EAAE,CAAA;IACnB,CAAC,CAAA;IAED,aAAa,CAAC,GAAG,EAAE;QACjB,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/components/Rate/hook.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE7D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAA;IAChE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAA;IAC/B,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAAW,EAAE,KAAW;IACvD,kCAAkC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IAElC,2CAA2C;IAC3C,MAAM,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA;IAElE,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,wBAAwB,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IAEzE,gDAAgD;IAChD,OAAO,gBAAgB,GAAG,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe;IAE7B,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,UAAU,EAAE,CAAA;IACpB,CAAC,CAAA;IAED,aAAa,CAAC,GAAG,EAAE;QACjB,UAAU,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  function onNpsSubmit() {
2
- localStorage.setItem('rateNps', 'true');
2
+ localStorage.setItem('RATED_US_IN', Date.now().toString());
3
3
  }
4
4
  window.onNpsSubmit = onNpsSubmit;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"on-nps-submit.js","sourceRoot":"","sources":["../../../src/components/Rate/on-nps-submit.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW;IAClB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACzC,CAAC;AAWD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"on-nps-submit.js","sourceRoot":"","sources":["../../../src/components/Rate/on-nps-submit.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW;IAClB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC5D,CAAC;AAWD,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSections.d.ts","sourceRoot":"","sources":["../../../src/components/menu/MenuSections.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAe,MAAM,SAAS,CAAA;AAwChD;;GAEG;AACH,wBAAgB,sBAAsB,SAOrC;AA8ID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,2BAAiC,SAAS,4CA+GlE,CAAA"}
1
+ {"version":3,"file":"MenuSections.d.ts","sourceRoot":"","sources":["../../../src/components/menu/MenuSections.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAe,MAAM,SAAS,CAAA;AAwChD;;GAEG;AACH,wBAAgB,sBAAsB,SAOrC;AA8ID;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,2BAAiC,SAAS,4CAsGlE,CAAA"}
@@ -4,8 +4,10 @@ import { ChevronRight, Cog, Collapse, Expand, Support } from '@citric/icons';
4
4
  import { useKeyboardControls } from '@stack-spot/portal-components';
5
5
  import { useAnchorTag } from '@stack-spot/portal-components/anchor';
6
6
  import { interpolate, useTranslate } from '@stack-spot/portal-translate';
7
- import { useCallback, useMemo, useState } from 'react';
7
+ import { useCallback, useEffect, useMemo, useState } from 'react';
8
8
  import { elementIds, getLayoutElements } from '../../elements.js';
9
+ import { StarFillWithGradient } from '../../svg/StarFillWithGradient.js';
10
+ import { isLessThan30Days } from '../Rate/hook.js';
9
11
  import { MenuContent } from './MenuContent.js';
10
12
  /**
11
13
  * Amount of time to wait before hiding the menu overlay once the mouse leaves its area.
@@ -210,10 +212,25 @@ export const MenuSections = ({ sections = [], ...props }) => {
210
212
  ? _jsx(OverlayRenderer, { content: props.content, customContent: props.customContent }, 'contentKey' in props ? props.contentKey : undefined)
211
213
  : _jsx(OverlayRenderer, { content: sections[currentOverlay].content, customContent: sections[currentOverlay].customContent }, currentOverlay);
212
214
  }
213
- return (_jsxs(_Fragment, { children: [_jsx("ul", { role: "menu", children: sectionItems }), _jsxs(Flex, { mb: 7, alignItems: "center", children: [(props.contactUs?.show) &&
214
- _jsxs("button", { role: "menuitem", className: "toggle sections-footer", onClick: props.contactUs?.onClick, ...(props.contactUs.active ? { 'aria-current': 'page' } : undefined), children: [_jsx(IconBox, { "aria-label": t.contactIcon, children: _jsx(Support, {}) }), _jsx(Text, { appearance: "microtext1", ml: 8, sx: { marginTop: '3px' }, className: "collapse", colorScheme: "light.contrastText", children: t.contactUs })] }), _jsxs("button", { role: "menuitem", className: "toggle sections-footer", onClick: () => toggleMenu(!!props.content || !!props.customContent), title: t.toggle, tabIndex: -1, children: [_jsxs(IconBox, { children: [_jsx(Expand, { className: "expand" }), _jsx(Collapse, { className: "collapse" })] }), _jsx(Text, { appearance: "microtext1", ml: 8, className: "collapse", colorScheme: "light.contrastText", children: t.hide })] }), (props.settings?.show) &&
215
+ return (_jsxs(_Fragment, { children: [_jsx("ul", { role: "menu", children: sectionItems }), _jsxs(Flex, { mb: 7, alignItems: "center", children: [_jsx(RateAndContactUsItem, { ...props }), _jsxs("button", { role: "menuitem", className: "toggle sections-footer", onClick: () => toggleMenu(!!props.content || !!props.customContent), title: t.toggle, tabIndex: -1, children: [_jsxs(IconBox, { children: [_jsx(Expand, { className: "expand" }), _jsx(Collapse, { className: "collapse" })] }), _jsx(Text, { appearance: "microtext1", ml: 8, className: "collapse", colorScheme: "light.contrastText", children: t.hide })] }), (props.settings?.show) &&
215
216
  _jsxs(Link, { href: props.settings?.href, onClick: props.settings?.onClick, className: "sections-footer toggle", ...(props.settings.active ? { 'aria-current': 'page' } : undefined), children: [_jsx(IconBox, { "aria-label": t.settingsIcon, children: _jsx(Cog, {}) }), _jsx(Text, { appearance: "microtext1", ml: 8, className: "collapse", children: t.settings })] })] }), _jsx("div", { id: MENU_OVERLAY_ID, onMouseEnter: showOverlay, onMouseLeave: hideOverlay, ref: overlayRef, children: renderMenuOverlay() })] }));
216
217
  };
218
+ const RateAndContactUsItem = ({ ...props }) => {
219
+ const t = useTranslate(dictionary);
220
+ const alreadyAnswered = localStorage.getItem('RATED_US_IN');
221
+ const hasAnsweredLess30Days = alreadyAnswered ? isLessThan30Days(new Date(+alreadyAnswered), new Date(Date.now())) : false;
222
+ //This effect is only used to remove from local storage unused keys from
223
+ //previous rate us and contact us versions. We do not want to fill the users storage
224
+ //with things that are not used anymore.
225
+ useEffect(() => {
226
+ localStorage.removeItem('CONTACT_POPOVER');
227
+ localStorage.removeItem('RATE_POPOVER');
228
+ localStorage.removeItem('viewNpsItem');
229
+ }, []);
230
+ return _jsxs(_Fragment, { children: [(props.rateUs?.show && !hasAnsweredLess30Days) &&
231
+ _jsxs("button", { role: "menuitem", className: "toggle sections-footer", onClick: props.rateUs?.onClick, ...(props.rateUs.active ? { 'aria-current': 'page' } : undefined), children: [_jsx(IconBox, { "aria-label": t.rateUsIcon, sx: { paddingTop: '2px' }, children: _jsx(StarFillWithGradient, { id: "svg-icon", className: "gradient-svg rotate-icon" }) }), _jsx(Text, { appearance: "microtext1", ml: 8, sx: { marginTop: '3px' }, className: "collapse gradient grow-shrink", colorScheme: "light.contrastText", children: t.rateUs })] }), (props.contactUs?.show) &&
232
+ _jsxs("button", { role: "menuitem", className: "toggle sections-footer", onClick: props.contactUs?.onClick, ...(props.contactUs.active ? { 'aria-current': 'page' } : undefined), children: [_jsx(IconBox, { "aria-label": t.contactIcon, children: _jsx(Support, {}) }), _jsx(Text, { appearance: "microtext1", ml: 8, sx: { marginTop: '3px' }, className: "collapse", colorScheme: "light.contrastText", children: t.contactUs })] })] });
233
+ };
217
234
  const dictionary = {
218
235
  en: {
219
236
  toggle: 'Show or hide the menu',
@@ -223,6 +240,8 @@ const dictionary = {
223
240
  hide: 'Hide',
224
241
  contactUs: 'Contact us',
225
242
  contactIcon: 'Contact icon',
243
+ rateUs: 'Rate us',
244
+ rateUsIcon: 'Rate us icon',
226
245
  },
227
246
  pt: {
228
247
  toggle: 'Visualizar ou esconder o menu',
@@ -232,6 +251,8 @@ const dictionary = {
232
251
  hide: 'Esconder',
233
252
  contactUs: 'Fale conosco',
234
253
  contactIcon: 'Ícone de contato',
254
+ rateUs: 'Avalie-nos',
255
+ rateUsIcon: 'Avalie-nos icon',
235
256
  },
236
257
  };
237
258
  //# sourceMappingURL=MenuSections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSections.js","sourceRoot":"","sources":["../../../src/components/menu/MenuSections.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuSections.js","sourceRoot":"","sources":["../../../src/components/menu/MenuSections.tsx"],"names":[],"mappings":"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"}
@@ -173,6 +173,31 @@ interface BaseMenuProps {
173
173
  /**
174
174
  * Options for the rate button.
175
175
  */
176
+ rateUs?: {
177
+ /**
178
+ * Whether or not to show the rate button.
179
+ */
180
+ show?: boolean;
181
+ /**
182
+ * A function to call when the button is clicked.
183
+ */
184
+ onClick?: () => void;
185
+ /**
186
+ * A url to go to when the button is clicked.
187
+ */
188
+ href?: string;
189
+ /**
190
+ * Whether or not this button represents the page currently active.
191
+ */
192
+ active?: boolean;
193
+ /**
194
+ * A css class to pass to the button.
195
+ */
196
+ className?: string;
197
+ };
198
+ /**
199
+ * Options for the contact us button.
200
+ */
176
201
  contactUs?: {
177
202
  /**
178
203
  * Whether or not to show the rate button.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/menu/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/menu/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Backdrop } from './components/Backdrop.js';
2
- export { ContactPopover } from './components/Contact/ContactPopover.js';
3
- export { showContactUsModal } from './components/Contact/show-contact-modal.js';
2
+ export { showContactUsModal, showRateUsModal } from './components/Contact/show-contact-modal.js';
4
3
  export { Dialog } from './components/Dialog.js';
5
4
  export { Header, HeaderProps } from './components/Header.js';
6
5
  export { ActionItem, MenuContent, MenuGroup, Title } from './components/menu/MenuContent.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Backdrop } from './components/Backdrop.js';
2
- export { ContactPopover } from './components/Contact/ContactPopover.js';
3
- export { showContactUsModal } from './components/Contact/show-contact-modal.js';
2
+ export { showContactUsModal, showRateUsModal } from './components/Contact/show-contact-modal.js';
4
3
  export { Dialog } from './components/Dialog.js';
5
4
  export { Header } from './components/Header.js';
6
5
  export { ActionItem, MenuContent, MenuGroup, Title } from './components/menu/MenuContent.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/dist/layout.css CHANGED
@@ -192,6 +192,54 @@ body {
192
192
  z-index: 2;
193
193
  }
194
194
 
195
+ .gradient-svg {
196
+ width: 100px;
197
+ height: 100px;
198
+ }
199
+
200
+ .gradient-svg path {
201
+ fill: url(#gradient);
202
+ }
203
+
204
+ #menuSections .toggle .gradient {
205
+ background: linear-gradient(to right, #FF9900, #FF6633);
206
+ -webkit-background-clip: text;
207
+ background-clip: text;
208
+ -webkit-text-fill-color: transparent;
209
+ font-weight: 500;
210
+ line-height: 16px;
211
+ }
212
+
213
+ @keyframes rotate {
214
+ from {
215
+ transform: rotate(0deg);
216
+ }
217
+ to {
218
+ transform: rotate(360deg);
219
+ }
220
+ }
221
+
222
+ .rotate-icon {
223
+ animation: rotate 2s linear forwards;
224
+ animation-delay: 2s;
225
+ }
226
+
227
+ @keyframes growShrink {
228
+ 0% {
229
+ transform: scale(1);
230
+ }
231
+ 50% {
232
+ transform: scale(1.2);
233
+ }
234
+ 100% {
235
+ transform: scale(1);
236
+ }
237
+ }
238
+
239
+ .grow-shrink {
240
+ animation: growShrink 2s ease-in-out forwards;
241
+ }
242
+
195
243
  #menuSections > ul li a:before {
196
244
  content: '';
197
245
  position: absolute;
@@ -0,0 +1,6 @@
1
+ export declare const StarFillWithGradient: ({ className, id, style }: {
2
+ className?: string;
3
+ id?: string;
4
+ style?: React.CSSProperties;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=StarFillWithGradient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StarFillWithGradient.d.ts","sourceRoot":"","sources":["../../src/svg/StarFillWithGradient.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,6BAA8B;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,aAAa,CAAA;CAAE,4CAU9H,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable max-len */
3
+ export const StarFillWithGradient = ({ className, id, style }) => (_jsxs("svg", { viewBox: "0 0 512 512", className: className, id: id, style: style, width: "16", height: "16", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [_jsx("stop", { offset: "0%", style: { 'stopColor': '#FF9900', 'stopOpacity': 1 } }), _jsx("stop", { offset: "100%", style: { 'stopColor': '#FF6633', 'stopOpacity': 1 } })] }) }), _jsx("path", { d: "M226.885 21.9523C231.432 9.88404 242.98 1.91992 255.85 1.91992C268.719 1.91992 280.268 9.88408 284.814 21.9523C284.863 22.0812 284.91 22.2105 284.956 22.3403L335.667 165.876L478.048 165.876H478.049C490.986 165.876 502.581 173.922 507.079 186.08C511.579 198.245 508.006 211.912 498.152 220.324C498.075 220.39 497.997 220.456 497.918 220.521L377.676 320.039L428.087 471.216L428.091 471.226C432.349 484.019 427.824 498.078 416.935 505.998C406.055 513.912 391.305 513.892 380.445 505.949L380.435 505.941L255.825 414.67L131.151 505.944L131.075 506C131.045 506.021 131.016 506.042 130.987 506.063C120.124 513.848 105.488 513.783 94.6943 505.902C83.8927 498.015 79.374 484.073 83.5272 471.34C83.5408 471.299 83.5545 471.257 83.5683 471.216L133.979 320.041L13.7166 220.522C13.6378 220.457 13.5595 220.391 13.4817 220.324C3.62771 211.912 0.054518 198.245 4.55486 186.08C9.05287 173.922 20.6475 165.876 33.5842 165.876H33.5857L175.992 165.876L226.745 22.3356C226.791 22.2074 226.837 22.0796 226.885 21.9523Z" })] }));
4
+ //# sourceMappingURL=StarFillWithGradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StarFillWithGradient.js","sourceRoot":"","sources":["../../src/svg/StarFillWithGradient.tsx"],"names":[],"mappings":";AAAA,4BAA4B;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAoE,EAAE,EAAE,CAAC,CAClI,eAAK,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAG,KAAK,EAAC,4BAA4B,aACjI,yBACE,0BAAgB,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,EAAC,EAAE,EAAC,MAAM,aAC/D,eAAM,MAAM,EAAC,IAAI,EAAC,KAAK,EAAE,EAAE,WAAW,EAAC,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EACvE,eAAM,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,WAAW,EAAC,SAAS,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,IAC1D,GACZ,EACP,eAAM,CAAC,EAAC,u+BAAu+B,GAAG,IAC9+B,CACP,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-layout",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,9 +1,9 @@
1
1
  import { Box, Button, Flex, IconBox, Text } from '@citric/core'
2
- import { ArrowRight, ExternalLink } from '@citric/icons'
2
+ import { ExternalLink } from '@citric/icons'
3
3
  import { Card } from '@citric/ui'
4
+ import { useAnchorTag } from '@stack-spot/portal-components/anchor'
4
5
  import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
5
6
  import { ReactElement } from 'react'
6
- import { useAnchorTag } from '@stack-spot/portal-components/anchor'
7
7
  import { overlay } from '../../LayoutOverlayManager'
8
8
  import { RateComponent } from '../Rate'
9
9
 
@@ -42,35 +42,32 @@ interface Props {
42
42
  tenant: string,
43
43
  portal: 'EDP' | 'AI',
44
44
  formIdentifier: string,
45
- serviceNowUrl:string,
46
45
  }
47
46
 
48
- const ContactUsComponent = ({ serviceNowUrl, ...props }: Props) => {
47
+ const ContactUsComponent = ({ serviceNowUrl }: {serviceNowUrl:string}) => {
49
48
  const t = useTranslate(dictionary)
50
49
 
51
- const onClickContactUs = () => {
52
- const { formIdentifier, sub, tenant, portal } = props
53
- overlay.showModal({
54
- title: t.rateUs,
55
- children: <RateComponent tfLive={formIdentifier} userId={sub} orgId={tenant} portal={portal} />,
56
- size: 'large',
57
- })
58
- }
59
-
60
50
  return <Flex sx={{ gap: '8px' }} w={12} mb={10} flexWrap="nowrap">
61
- <CardItem title={t.rateUs} description={t.rateUsDescription} buttonText={t.rateUsButton} onClick={onClickContactUs}
62
- icon={<ArrowRight />} hasMargin={true}/>
63
51
  <CardItem title={t.support} description={t.supportDescription} buttonText={t.supportButton} url={serviceNowUrl}
64
52
  icon={<ExternalLink />} />
65
53
  </Flex>
66
54
  }
67
55
 
68
56
 
69
- export const showContactUsModal = ({ title, ...props }: Props & { title: string }) => {
57
+ export const showRateUsModal = ({ title, ...props }: Props & { title: string }) => {
58
+ const { formIdentifier, sub, tenant, portal } = props
59
+ overlay.showModal({
60
+ title: title,
61
+ children: <RateComponent tfLive={formIdentifier} userId={sub} orgId={tenant} portal={portal} />,
62
+ size: 'large',
63
+ })
64
+ }
65
+
66
+ export const showContactUsModal = ({ title, serviceNowUrl }:{ serviceNowUrl:string, title: string }) => {
70
67
  overlay.showModal({
71
68
  title,
72
- children: <ContactUsComponent {...props} />,
73
- size: 'medium',
69
+ children: <ContactUsComponent serviceNowUrl={serviceNowUrl} />,
70
+ size: 'small',
74
71
  })
75
72
  }
76
73
 
@@ -67,7 +67,6 @@ const PortalSwitcherBox = styled(Flex)`
67
67
  }
68
68
 
69
69
  .action {
70
- padding: 16px;
71
70
  background-color: ${theme.color.light['400']};
72
71
  border-width: 1px;
73
72
  border-style: solid;
@@ -79,7 +78,8 @@ const PortalSwitcherBox = styled(Flex)`
79
78
  }
80
79
 
81
80
  a {
82
- height: auto;
81
+ padding: 16px;
82
+ height: 24px;
83
83
  transition: unset;
84
84
  align-items: flex-start;
85
85
  }
@@ -97,7 +97,6 @@ const PORTAL_SWITCHER_ID = 'PortalSwitcher'
97
97
  */
98
98
  export const PortalSwitcher = ({ portals = [] }: PortalSwitcherProps) => {
99
99
  const [visible, setVisible] = useState<boolean>(false)
100
- const t = useTranslate(translations)
101
100
  const currentPortal = portals?.find(portal => location.href.startsWith(portal.url))
102
101
  usePortalSwitcherTourStep()
103
102
 
@@ -125,10 +124,7 @@ export const PortalSwitcher = ({ portals = [] }: PortalSwitcherProps) => {
125
124
  items={portals?.map(portal => ({
126
125
  label: {
127
126
  id: portal.acronym,
128
- element: <Flex flexDirection="column">
129
- {Logos[portal.acronym]}
130
- <Text appearance="microtext1" mt={3} colorScheme="light.700">{t[portal.acronym]}</Text>
131
- </Flex>,
127
+ element: <Flex w="250px">{Logos[portal.acronym]}</Flex>,
132
128
  },
133
129
  target: '_self',
134
130
  href: portal.url,
@@ -142,27 +138,6 @@ export const PortalSwitcher = ({ portals = [] }: PortalSwitcherProps) => {
142
138
  </PortalSwitcherBox >
143
139
  }
144
140
 
145
-
146
- const translations = {
147
- en: {
148
- EDP: 'Efficient and secure solutions from code to production deployment.',
149
- AI: 'Speed up coding with efficient suggestions and high-quality results.',
150
- HUB: 'Discover AI Stacks, knowledge sources, and quick commands, all in one streamlined hub.',
151
- CS: 'Setup your business in the cloud with reliable services from Stackspot.',
152
- portalSwitcher: 'Portal switcher',
153
- selected: 'selected',
154
- },
155
- pt: {
156
- EDP: 'Soluções eficientes e seguras do código até a implantação em produção.',
157
- AI: 'Acelere o desenvolvimento com sugestões eficientes e resultados de alta qualidade.',
158
- HUB: 'Descubra AI Stacks, knowledge sources e quick commands, tudo em um hub simplificado.',
159
- CS: 'Coloque seu negócio na nuvem com os serviços de cloud confiáveis da Stackspot',
160
- portalSwitcher: 'Seletor de portais',
161
- selected: 'selecionado',
162
- },
163
- }
164
-
165
-
166
141
  /**
167
142
  * Tutorial: a React hook for retrieving the React Tour step that explains how the portal switcher works. The portal switcher is a component
168
143
  * at the top left corner of the layout (header) that allows the user to switch between the different Stackspot portals.
@@ -9,8 +9,8 @@ const loadScript = () => new Promise<void>((resolve, reject) => {
9
9
  document.body.appendChild(script)
10
10
  })
11
11
 
12
- // Function to check if the difference between two dates is greater than 24 hours
13
- function isMoreThan24Hours(date1: Date, date2: Date) {
12
+ // Function to check if the difference between two dates is greater than 30 days
13
+ export function isLessThan30Days(date1: Date, date2: Date) {
14
14
  // Get the timestamps of the dates
15
15
  const timestamp1 = date1.getTime()
16
16
  const timestamp2 = date2.getTime()
@@ -18,30 +18,17 @@ function isMoreThan24Hours(date1: Date, date2: Date) {
18
18
  // Calculate the difference in milliseconds
19
19
  const differenceInMilliseconds = Math.abs(timestamp2 - timestamp1)
20
20
 
21
- // Convert milliseconds to hours
22
- const differenceInHours = differenceInMilliseconds / (1000 * 60 * 60)
21
+ // Convert milliseconds to days
22
+ const differenceInDays = differenceInMilliseconds / (1000 * 60 * 60 * 24)
23
23
 
24
- // Check if the difference is equal or greater than 24 hours
25
- return differenceInHours >= 24
24
+ // Check if the difference is fewer than 30 days
25
+ return differenceInDays < 30
26
26
  }
27
27
 
28
- export function useRatingEffect(onOpenModal?: () => void) {
29
- const verifyShowModal = () => {
30
- const rateNpsItem = localStorage.getItem('rateNps')
31
- const viewNpsItem = localStorage.getItem('viewNpsItem')
32
- const shouldShow = viewNpsItem ? isMoreThan24Hours(new Date(+viewNpsItem), new Date(Date.now())) : true
33
-
34
- setTimeout(() => {
35
- if (!rateNpsItem && shouldShow) {
36
- onOpenModal?.()
37
- localStorage.setItem('viewNpsItem', Date.now().toString())
38
- }
39
- }, 3000)
40
- }
28
+ export function useRatingEffect() {
41
29
 
42
30
  const handleInit = async () => {
43
31
  await loadScript()
44
- verifyShowModal()
45
32
  }
46
33
 
47
34
  useEffectOnce(() => {
@@ -1,5 +1,5 @@
1
1
  function onNpsSubmit(): void {
2
- localStorage.setItem('rateNps', 'true')
2
+ localStorage.setItem('RATED_US_IN', Date.now().toString())
3
3
  }
4
4
 
5
5
  export {}
@@ -3,8 +3,10 @@ import { ChevronRight, Cog, Collapse, Expand, Support } from '@citric/icons'
3
3
  import { useKeyboardControls } from '@stack-spot/portal-components'
4
4
  import { useAnchorTag } from '@stack-spot/portal-components/anchor'
5
5
  import { Dictionary, interpolate, useTranslate } from '@stack-spot/portal-translate'
6
- import { useCallback, useMemo, useState } from 'react'
6
+ import { useCallback, useEffect, useMemo, useState } from 'react'
7
7
  import { elementIds, getLayoutElements } from '../../elements'
8
+ import { StarFillWithGradient } from '../../svg/StarFillWithGradient'
9
+ import { isLessThan30Days } from '../Rate/hook'
8
10
  import { MenuContent } from './MenuContent'
9
11
  import { MenuProps, MenuSection } from './types'
10
12
 
@@ -288,16 +290,7 @@ export const MenuSections = ({ sections = [], ...props }: MenuProps) => {
288
290
  <ul role="menu">{sectionItems}</ul>
289
291
 
290
292
  <Flex mb={7} alignItems="center">
291
- {(props.contactUs?.show) &&
292
- <button role="menuitem" className="toggle sections-footer" onClick={props.contactUs?.onClick}
293
- {...(props.contactUs.active ? { 'aria-current': 'page' } : undefined)}>
294
- <IconBox aria-label={t.contactIcon}>
295
- <Support />
296
- </IconBox>
297
- <Text appearance="microtext1" ml={8} sx={{ marginTop: '3px' }}
298
- className="collapse" colorScheme="light.contrastText">{t.contactUs}</Text>
299
- </button>
300
- }
293
+ <RateAndContactUsItem {...props} />
301
294
  <button role="menuitem" className="toggle sections-footer" onClick={() => toggleMenu(!!props.content || !!props.customContent)}
302
295
  title={t.toggle} tabIndex={-1}>
303
296
  <IconBox>
@@ -313,7 +306,7 @@ export const MenuSections = ({ sections = [], ...props }: MenuProps) => {
313
306
  <IconBox aria-label={t.settingsIcon}>
314
307
  <Cog />
315
308
  </IconBox>
316
- <Text appearance="microtext1" ml={8} className="collapse">{t.settings}</Text>
309
+ <Text appearance="microtext1" ml={8} className="collapse">{t.settings}</Text>
317
310
  </Link>
318
311
  }
319
312
  </Flex>
@@ -325,6 +318,44 @@ export const MenuSections = ({ sections = [], ...props }: MenuProps) => {
325
318
  )
326
319
  }
327
320
 
321
+ const RateAndContactUsItem = ({ ...props }: Omit<MenuProps, 'sections'>) => {
322
+ const t = useTranslate(dictionary)
323
+ const alreadyAnswered = localStorage.getItem('RATED_US_IN')
324
+ const hasAnsweredLess30Days = alreadyAnswered ? isLessThan30Days(new Date(+alreadyAnswered), new Date(Date.now())) : false
325
+
326
+ //This effect is only used to remove from local storage unused keys from
327
+ //previous rate us and contact us versions. We do not want to fill the users storage
328
+ //with things that are not used anymore.
329
+ useEffect(() => {
330
+ localStorage.removeItem('CONTACT_POPOVER')
331
+ localStorage.removeItem('RATE_POPOVER')
332
+ localStorage.removeItem('viewNpsItem')
333
+ }, [])
334
+
335
+ return <>
336
+ {(props.rateUs?.show && !hasAnsweredLess30Days) &&
337
+ <button role="menuitem" className="toggle sections-footer" onClick={props.rateUs?.onClick}
338
+ {...(props.rateUs.active ? { 'aria-current': 'page' } : undefined)}>
339
+ <IconBox aria-label={t.rateUsIcon} sx={{ paddingTop: '2px' }}>
340
+ <StarFillWithGradient id="svg-icon" className="gradient-svg rotate-icon" />
341
+ </IconBox>
342
+ <Text appearance="microtext1" ml={8} sx={{ marginTop: '3px' }}
343
+ className="collapse gradient grow-shrink" colorScheme="light.contrastText">{t.rateUs}</Text>
344
+ </button>
345
+ }
346
+ {(props.contactUs?.show) &&
347
+ <button role="menuitem" className="toggle sections-footer" onClick={props.contactUs?.onClick}
348
+ {...(props.contactUs.active ? { 'aria-current': 'page' } : undefined)}>
349
+ <IconBox aria-label={t.contactIcon}>
350
+ <Support />
351
+ </IconBox>
352
+ <Text appearance="microtext1" ml={8} sx={{ marginTop: '3px' }}
353
+ className="collapse" colorScheme="light.contrastText">{t.contactUs}</Text>
354
+ </button>
355
+ }
356
+ </>
357
+ }
358
+
328
359
  const dictionary = {
329
360
  en: {
330
361
  toggle: 'Show or hide the menu',
@@ -334,6 +365,8 @@ const dictionary = {
334
365
  hide: 'Hide',
335
366
  contactUs: 'Contact us',
336
367
  contactIcon: 'Contact icon',
368
+ rateUs: 'Rate us',
369
+ rateUsIcon: 'Rate us icon',
337
370
  },
338
371
  pt: {
339
372
  toggle: 'Visualizar ou esconder o menu',
@@ -343,5 +376,7 @@ const dictionary = {
343
376
  hide: 'Esconder',
344
377
  contactUs: 'Fale conosco',
345
378
  contactIcon: 'Ícone de contato',
379
+ rateUs: 'Avalie-nos',
380
+ rateUsIcon: 'Avalie-nos icon',
346
381
  },
347
382
  } satisfies Dictionary
@@ -182,6 +182,31 @@ interface BaseMenuProps {
182
182
  /**
183
183
  * Options for the rate button.
184
184
  */
185
+ rateUs?: {
186
+ /**
187
+ * Whether or not to show the rate button.
188
+ */
189
+ show?: boolean,
190
+ /**
191
+ * A function to call when the button is clicked.
192
+ */
193
+ onClick?: () => void,
194
+ /**
195
+ * A url to go to when the button is clicked.
196
+ */
197
+ href?: string,
198
+ /**
199
+ * Whether or not this button represents the page currently active.
200
+ */
201
+ active?: boolean,
202
+ /**
203
+ * A css class to pass to the button.
204
+ */
205
+ className?: string,
206
+ },
207
+ /**
208
+ * Options for the contact us button.
209
+ */
185
210
  contactUs?: {
186
211
  /**
187
212
  * Whether or not to show the rate button.
package/src/index.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { Backdrop } from './components/Backdrop'
2
- export { ContactPopover } from './components/Contact/ContactPopover'
3
- export { showContactUsModal } from './components/Contact/show-contact-modal'
2
+ export { showContactUsModal, showRateUsModal } from './components/Contact/show-contact-modal'
4
3
  export { Dialog } from './components/Dialog'
5
4
  export { Header, HeaderProps } from './components/Header'
6
5
  export { ActionItem, MenuContent, MenuGroup, Title } from './components/menu/MenuContent'
package/src/layout.css CHANGED
@@ -192,6 +192,54 @@ body {
192
192
  z-index: 2;
193
193
  }
194
194
 
195
+ .gradient-svg {
196
+ width: 100px;
197
+ height: 100px;
198
+ }
199
+
200
+ .gradient-svg path {
201
+ fill: url(#gradient);
202
+ }
203
+
204
+ #menuSections .toggle .gradient {
205
+ background: linear-gradient(to right, #FF9900, #FF6633);
206
+ -webkit-background-clip: text;
207
+ background-clip: text;
208
+ -webkit-text-fill-color: transparent;
209
+ font-weight: 500;
210
+ line-height: 16px;
211
+ }
212
+
213
+ @keyframes rotate {
214
+ from {
215
+ transform: rotate(0deg);
216
+ }
217
+ to {
218
+ transform: rotate(360deg);
219
+ }
220
+ }
221
+
222
+ .rotate-icon {
223
+ animation: rotate 2s linear forwards;
224
+ animation-delay: 2s;
225
+ }
226
+
227
+ @keyframes growShrink {
228
+ 0% {
229
+ transform: scale(1);
230
+ }
231
+ 50% {
232
+ transform: scale(1.2);
233
+ }
234
+ 100% {
235
+ transform: scale(1);
236
+ }
237
+ }
238
+
239
+ .grow-shrink {
240
+ animation: growShrink 2s ease-in-out forwards;
241
+ }
242
+
195
243
  #menuSections > ul li a:before {
196
244
  content: '';
197
245
  position: absolute;
@@ -0,0 +1,14 @@
1
+ /* eslint-disable max-len */
2
+
3
+ export const StarFillWithGradient = ({ className, id, style }: { className?: string, id?: string, style?: React.CSSProperties }) => (
4
+ <svg viewBox="0 0 512 512" className={className} id={id} style={style} width="16" height="16" xmlns="http://www.w3.org/2000/svg">
5
+ <defs>
6
+ <linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
7
+ <stop offset="0%" style={{ 'stopColor':'#FF9900', 'stopOpacity': 1 }}/>
8
+ <stop offset="100%" style={{ 'stopColor':'#FF6633', 'stopOpacity': 1 }}/>
9
+ </linearGradient>
10
+ </defs>
11
+ <path d="M226.885 21.9523C231.432 9.88404 242.98 1.91992 255.85 1.91992C268.719 1.91992 280.268 9.88408 284.814 21.9523C284.863 22.0812 284.91 22.2105 284.956 22.3403L335.667 165.876L478.048 165.876H478.049C490.986 165.876 502.581 173.922 507.079 186.08C511.579 198.245 508.006 211.912 498.152 220.324C498.075 220.39 497.997 220.456 497.918 220.521L377.676 320.039L428.087 471.216L428.091 471.226C432.349 484.019 427.824 498.078 416.935 505.998C406.055 513.912 391.305 513.892 380.445 505.949L380.435 505.941L255.825 414.67L131.151 505.944L131.075 506C131.045 506.021 131.016 506.042 130.987 506.063C120.124 513.848 105.488 513.783 94.6943 505.902C83.8927 498.015 79.374 484.073 83.5272 471.34C83.5408 471.299 83.5545 471.257 83.5683 471.216L133.979 320.041L13.7166 220.522C13.6378 220.457 13.5595 220.391 13.4817 220.324C3.62771 211.912 0.054518 198.245 4.55486 186.08C9.05287 173.922 20.6475 165.876 33.5842 165.876H33.5857L175.992 165.876L226.745 22.3356C226.791 22.2074 226.837 22.0796 226.885 21.9523Z" />
12
+ </svg>
13
+ )
14
+
@@ -1,2 +0,0 @@
1
- export declare const ContactPopover: () => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=ContactPopover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContactPopover.d.ts","sourceRoot":"","sources":["../../../src/components/Contact/ContactPopover.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,+CA0C1B,CAAA"}
@@ -1,44 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { Box, Text } from '@citric/core';
3
- import { Popover } from '@citric/ui';
4
- import { useTranslate } from '@stack-spot/portal-translate';
5
- import { useEffect, useState } from 'react';
6
- import { useTour } from '../tour/index.js';
7
- const CONTACT_POPOVER = 'CONTACT_POPOVER';
8
- export const ContactPopover = () => {
9
- const t = useTranslate(dictionary);
10
- const { isOpen } = useTour();
11
- const [visible, setVisible] = useState(false);
12
- useEffect(() => {
13
- if (!isOpen) {
14
- const rateInStorage = localStorage.getItem(CONTACT_POPOVER);
15
- setVisible(!rateInStorage);
16
- }
17
- else {
18
- localStorage.removeItem(CONTACT_POPOVER);
19
- setVisible(false);
20
- }
21
- }, [isOpen]);
22
- return _jsx(Popover, { position: "right", sx: {
23
- p: 3,
24
- left: 'calc(var(--menu-sections-width) + 16px)',
25
- bottom: 'calc(var(--menu-item-height) - 64px)',
26
- top: 'auto',
27
- maxHeight: '130px',
28
- zIndex: '3',
29
- '* button:disabled ': { pointerEvents: 'all' },
30
- }, defaultVisible: visible, content: _jsx(Box, { px: 5, py: 3, children: _jsx(Text, { appearance: "microtext1", colorScheme: "inverse.contrastText", children: t.popoverContent }) }), title: t.contactUs, containerSx: { position: 'unset' }, onClose: () => {
31
- visible && localStorage.setItem(CONTACT_POPOVER, '1');
32
- }, children: _jsx(_Fragment, {}) });
33
- };
34
- const dictionary = {
35
- en: {
36
- contactUs: 'Contact us',
37
- popoverContent: 'Here you can help us improve by rating StackSpot or request assistance from our support team.',
38
- },
39
- pt: {
40
- contactUs: 'Fale conosco',
41
- popoverContent: 'Aqui você pode nos ajudar a melhorar avaliando o StackSpot ou solicitando assistência de nossa equipe de suporte.',
42
- },
43
- };
44
- //# sourceMappingURL=ContactPopover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContactPopover.js","sourceRoot":"","sources":["../../../src/components/Contact/ContactPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAU,IAAI,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IAC5B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YAC3D,UAAU,CAAC,CAAC,aAAa,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;YACxC,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,KAAC,OAAO,IACb,QAAQ,EAAC,OAAO,EAChB,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE,yCAAyC;YAC/C,MAAM,EAAE,sCAAsC;YAC9C,GAAG,EAAE,MAAM;YACX,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,GAAG;YACX,oBAAoB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;SACrC,EACX,cAAc,EAAE,OAAO,EACvB,OAAO,EACL,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,sBAAsB,YAC7D,CAAC,CAAC,cAAc,GACZ,GACH,EAER,KAAK,EAAE,CAAC,CAAC,SAAS,EAClB,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAClC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC,YAED,mBAAK,GACG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,SAAS,EAAE,YAAY;QACvB,cAAc,EAAE,+FAA+F;KAChH;IACD,EAAE,EAAE;QACF,SAAS,EAAE,cAAc;QACzB,cAAc,EAAE,mHAAmH;KACpI;CACmB,CAAA"}
@@ -1,63 +0,0 @@
1
- import { Box, Styles, Text } from '@citric/core'
2
- import { Popover } from '@citric/ui'
3
- import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
4
- import { useEffect, useState } from 'react'
5
- import { useTour } from '../tour'
6
-
7
- const CONTACT_POPOVER = 'CONTACT_POPOVER'
8
-
9
- export const ContactPopover = () => {
10
- const t = useTranslate(dictionary)
11
- const { isOpen } = useTour()
12
- const [visible, setVisible] = useState(false)
13
-
14
- useEffect(() => {
15
- if (!isOpen) {
16
- const rateInStorage = localStorage.getItem(CONTACT_POPOVER)
17
- setVisible(!rateInStorage)
18
- } else {
19
- localStorage.removeItem(CONTACT_POPOVER)
20
- setVisible(false)
21
- }
22
- }, [isOpen])
23
-
24
- return <Popover
25
- position="right"
26
- sx={{
27
- p: 3,
28
- left: 'calc(var(--menu-sections-width) + 16px)',
29
- bottom: 'calc(var(--menu-item-height) - 64px)',
30
- top: 'auto',
31
- maxHeight: '130px',
32
- zIndex: '3',
33
- '* button:disabled ': { pointerEvents: 'all' },
34
- } as Styles}
35
- defaultVisible={visible}
36
- content={
37
- <Box px={5} py={3}>
38
- <Text appearance="microtext1" colorScheme="inverse.contrastText">
39
- {t.popoverContent}
40
- </Text>
41
- </Box>
42
- }
43
- title={t.contactUs}
44
- containerSx={{ position: 'unset' }}
45
- onClose={() => {
46
- visible && localStorage.setItem(CONTACT_POPOVER, '1')
47
- }}
48
- >
49
- <></>
50
- </Popover>
51
- }
52
-
53
- const dictionary = {
54
- en: {
55
- contactUs: 'Contact us',
56
- popoverContent: 'Here you can help us improve by rating StackSpot or request assistance from our support team.',
57
- },
58
- pt: {
59
- contactUs: 'Fale conosco',
60
- popoverContent: 'Aqui você pode nos ajudar a melhorar avaliando o StackSpot ou solicitando assistência de nossa equipe de suporte.',
61
- },
62
- } satisfies Dictionary
63
-