@lokalise/harmony 1.31.1 → 1.32.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.
Files changed (204) hide show
  1. package/dist/harmony100.cjs +18 -14
  2. package/dist/harmony100.cjs.map +1 -1
  3. package/dist/harmony100.mjs +18 -14
  4. package/dist/harmony100.mjs.map +1 -1
  5. package/dist/harmony101.cjs +14 -21
  6. package/dist/harmony101.cjs.map +1 -1
  7. package/dist/harmony101.mjs +13 -20
  8. package/dist/harmony101.mjs.map +1 -1
  9. package/dist/harmony102.cjs +21 -6
  10. package/dist/harmony102.cjs.map +1 -1
  11. package/dist/harmony102.mjs +20 -5
  12. package/dist/harmony102.mjs.map +1 -1
  13. package/dist/harmony103.cjs +5 -131
  14. package/dist/harmony103.cjs.map +1 -1
  15. package/dist/harmony103.mjs +5 -131
  16. package/dist/harmony103.mjs.map +1 -1
  17. package/dist/harmony104.cjs +132 -12
  18. package/dist/harmony104.cjs.map +1 -1
  19. package/dist/harmony104.mjs +131 -11
  20. package/dist/harmony104.mjs.map +1 -1
  21. package/dist/harmony105.cjs +13 -6
  22. package/dist/harmony105.cjs.map +1 -1
  23. package/dist/harmony105.mjs +12 -5
  24. package/dist/harmony105.mjs.map +1 -1
  25. package/dist/harmony106.cjs +5 -40
  26. package/dist/harmony106.cjs.map +1 -1
  27. package/dist/harmony106.mjs +5 -40
  28. package/dist/harmony106.mjs.map +1 -1
  29. package/dist/harmony107.cjs +33 -53
  30. package/dist/harmony107.cjs.map +1 -1
  31. package/dist/harmony107.mjs +34 -54
  32. package/dist/harmony107.mjs.map +1 -1
  33. package/dist/harmony108.cjs +59 -6
  34. package/dist/harmony108.cjs.map +1 -1
  35. package/dist/harmony108.mjs +59 -6
  36. package/dist/harmony108.mjs.map +1 -1
  37. package/dist/harmony109.cjs +6 -98
  38. package/dist/harmony109.cjs.map +1 -1
  39. package/dist/harmony109.mjs +6 -81
  40. package/dist/harmony109.mjs.map +1 -1
  41. package/dist/harmony111.cjs +1 -1
  42. package/dist/harmony111.mjs +1 -1
  43. package/dist/harmony112.cjs +1 -1
  44. package/dist/harmony112.mjs +1 -1
  45. package/dist/harmony114.cjs +5 -5
  46. package/dist/harmony114.mjs +5 -5
  47. package/dist/harmony118.cjs +1 -1
  48. package/dist/harmony118.mjs +1 -1
  49. package/dist/harmony119.cjs +2 -2
  50. package/dist/harmony119.mjs +2 -2
  51. package/dist/harmony121.cjs +13 -7
  52. package/dist/harmony121.cjs.map +1 -1
  53. package/dist/harmony121.mjs +13 -7
  54. package/dist/harmony121.mjs.map +1 -1
  55. package/dist/harmony122.cjs +15 -57
  56. package/dist/harmony122.cjs.map +1 -1
  57. package/dist/harmony122.mjs +15 -57
  58. package/dist/harmony122.mjs.map +1 -1
  59. package/dist/harmony123.cjs +15 -59
  60. package/dist/harmony123.cjs.map +1 -1
  61. package/dist/harmony123.mjs +15 -59
  62. package/dist/harmony123.mjs.map +1 -1
  63. package/dist/harmony124.cjs +7 -18
  64. package/dist/harmony124.cjs.map +1 -1
  65. package/dist/harmony124.mjs +6 -17
  66. package/dist/harmony124.mjs.map +1 -1
  67. package/dist/harmony125.cjs +57 -13
  68. package/dist/harmony125.cjs.map +1 -1
  69. package/dist/harmony125.mjs +57 -13
  70. package/dist/harmony125.mjs.map +1 -1
  71. package/dist/harmony126.cjs +59 -14
  72. package/dist/harmony126.cjs.map +1 -1
  73. package/dist/harmony126.mjs +59 -14
  74. package/dist/harmony126.mjs.map +1 -1
  75. package/dist/harmony127.cjs +19 -17
  76. package/dist/harmony127.cjs.map +1 -1
  77. package/dist/harmony127.mjs +18 -16
  78. package/dist/harmony127.mjs.map +1 -1
  79. package/dist/harmony128.cjs +1 -1
  80. package/dist/harmony128.mjs +1 -1
  81. package/dist/harmony130.cjs +3 -3
  82. package/dist/harmony130.mjs +3 -3
  83. package/dist/harmony132.cjs +6 -46
  84. package/dist/harmony132.cjs.map +1 -1
  85. package/dist/harmony132.mjs +6 -46
  86. package/dist/harmony132.mjs.map +1 -1
  87. package/dist/harmony133.cjs +13 -13
  88. package/dist/harmony133.cjs.map +1 -1
  89. package/dist/harmony133.mjs +12 -12
  90. package/dist/harmony133.mjs.map +1 -1
  91. package/dist/harmony134.cjs +31 -11
  92. package/dist/harmony134.cjs.map +1 -1
  93. package/dist/harmony134.mjs +31 -11
  94. package/dist/harmony134.mjs.map +1 -1
  95. package/dist/harmony135.cjs +10 -28
  96. package/dist/harmony135.cjs.map +1 -1
  97. package/dist/harmony135.mjs +10 -28
  98. package/dist/harmony135.mjs.map +1 -1
  99. package/dist/harmony136.cjs +46 -14
  100. package/dist/harmony136.cjs.map +1 -1
  101. package/dist/harmony136.mjs +46 -14
  102. package/dist/harmony136.mjs.map +1 -1
  103. package/dist/harmony137.cjs +13 -7
  104. package/dist/harmony137.cjs.map +1 -1
  105. package/dist/harmony137.mjs +12 -6
  106. package/dist/harmony137.mjs.map +1 -1
  107. package/dist/harmony16.cjs +1 -1
  108. package/dist/harmony16.mjs +1 -1
  109. package/dist/harmony23.cjs +1 -1
  110. package/dist/harmony23.mjs +1 -1
  111. package/dist/harmony24.cjs +1 -1
  112. package/dist/harmony24.mjs +1 -1
  113. package/dist/harmony59.cjs +24 -3
  114. package/dist/harmony59.cjs.map +1 -1
  115. package/dist/harmony59.mjs +25 -4
  116. package/dist/harmony59.mjs.map +1 -1
  117. package/dist/harmony68.cjs +1 -1
  118. package/dist/harmony68.mjs +1 -1
  119. package/dist/harmony70.cjs +1 -1
  120. package/dist/harmony70.mjs +1 -1
  121. package/dist/harmony71.cjs +1 -1
  122. package/dist/harmony71.mjs +1 -1
  123. package/dist/harmony72.cjs +1 -1
  124. package/dist/harmony72.mjs +1 -1
  125. package/dist/harmony73.cjs +2 -2
  126. package/dist/harmony73.mjs +2 -2
  127. package/dist/harmony74.cjs +2 -2
  128. package/dist/harmony74.mjs +2 -2
  129. package/dist/harmony75.cjs +2 -2
  130. package/dist/harmony75.mjs +2 -2
  131. package/dist/harmony76.cjs +2 -2
  132. package/dist/harmony76.mjs +2 -2
  133. package/dist/harmony77.cjs +3 -3
  134. package/dist/harmony77.mjs +3 -3
  135. package/dist/harmony78.cjs +6 -6
  136. package/dist/harmony78.mjs +6 -6
  137. package/dist/harmony81.cjs +2 -2
  138. package/dist/harmony81.mjs +2 -2
  139. package/dist/harmony83.cjs +2 -2
  140. package/dist/harmony83.mjs +2 -2
  141. package/dist/harmony84.cjs +12 -6
  142. package/dist/harmony84.cjs.map +1 -1
  143. package/dist/harmony84.mjs +11 -5
  144. package/dist/harmony84.mjs.map +1 -1
  145. package/dist/harmony85.cjs +9 -6
  146. package/dist/harmony85.cjs.map +1 -1
  147. package/dist/harmony85.mjs +9 -6
  148. package/dist/harmony85.mjs.map +1 -1
  149. package/dist/harmony86.cjs +12 -10
  150. package/dist/harmony86.cjs.map +1 -1
  151. package/dist/harmony86.mjs +11 -9
  152. package/dist/harmony86.mjs.map +1 -1
  153. package/dist/harmony87.cjs +21 -57
  154. package/dist/harmony87.cjs.map +1 -1
  155. package/dist/harmony87.mjs +20 -56
  156. package/dist/harmony87.mjs.map +1 -1
  157. package/dist/harmony88.cjs +6 -42
  158. package/dist/harmony88.cjs.map +1 -1
  159. package/dist/harmony88.mjs +5 -41
  160. package/dist/harmony88.mjs.map +1 -1
  161. package/dist/harmony89.cjs +10 -6
  162. package/dist/harmony89.cjs.map +1 -1
  163. package/dist/harmony89.mjs +9 -5
  164. package/dist/harmony89.mjs.map +1 -1
  165. package/dist/harmony90.cjs +6 -6
  166. package/dist/harmony90.mjs +6 -6
  167. package/dist/harmony91.cjs +57 -24
  168. package/dist/harmony91.cjs.map +1 -1
  169. package/dist/harmony91.mjs +56 -23
  170. package/dist/harmony91.mjs.map +1 -1
  171. package/dist/harmony92.cjs +42 -6
  172. package/dist/harmony92.cjs.map +1 -1
  173. package/dist/harmony92.mjs +41 -5
  174. package/dist/harmony92.mjs.map +1 -1
  175. package/dist/harmony93.cjs +5 -21
  176. package/dist/harmony93.cjs.map +1 -1
  177. package/dist/harmony93.mjs +5 -21
  178. package/dist/harmony93.mjs.map +1 -1
  179. package/dist/harmony94.cjs +4 -7
  180. package/dist/harmony94.cjs.map +1 -1
  181. package/dist/harmony94.mjs +4 -7
  182. package/dist/harmony94.mjs.map +1 -1
  183. package/dist/harmony95.cjs +25 -12
  184. package/dist/harmony95.cjs.map +1 -1
  185. package/dist/harmony95.mjs +24 -11
  186. package/dist/harmony95.mjs.map +1 -1
  187. package/dist/harmony96.cjs +5 -20
  188. package/dist/harmony96.cjs.map +1 -1
  189. package/dist/harmony96.mjs +5 -20
  190. package/dist/harmony96.mjs.map +1 -1
  191. package/dist/harmony97.cjs +18 -9
  192. package/dist/harmony97.cjs.map +1 -1
  193. package/dist/harmony97.mjs +19 -10
  194. package/dist/harmony97.mjs.map +1 -1
  195. package/dist/harmony98.cjs +9 -9
  196. package/dist/harmony98.mjs +9 -9
  197. package/dist/harmony99.cjs +99 -18
  198. package/dist/harmony99.cjs.map +1 -1
  199. package/dist/harmony99.mjs +82 -18
  200. package/dist/harmony99.mjs.map +1 -1
  201. package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +5 -4
  202. package/dist/types/src/features/publicApi/projects.d.ts +25 -20
  203. package/dist/types/src/features/publicApi/types/projectTypes.d.ts +25 -20
  204. package/package.json +1 -1
@@ -1,60 +1,24 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Menu, MenuList, UserIcon } from "@lokalise/louis";
3
- import { clsx } from "./harmony66.mjs";
4
- import { UpgradeIcon } from "./harmony93.mjs";
5
- import styles from "./harmony101.mjs";
6
- import { useProfileMenu } from "./harmony89.mjs";
7
- const ProfileMenuContent = ({ children }) => {
8
- const {
9
- currentTeam,
10
- otherTeams,
11
- showUpgradeCta,
12
- showBillingButton,
13
- allowTeamCreation,
14
- isProviderAlpha,
15
- canAccessTeamSettings,
16
- isEndOfTrialActive,
17
- isTeamSuspended,
18
- isFullyAuthenticated
19
- } = useProfileMenu();
20
- return /* @__PURE__ */ jsx(
21
- Menu,
22
- {
23
- menuButton: () => /* @__PURE__ */ jsxs("button", { className: styles.profileButton, "aria-label": "Profile menu", type: "button", children: [
24
- (currentTeam == null ? void 0 : currentTeam.logoUrl) ? /* @__PURE__ */ jsx(
25
- "img",
26
- {
27
- src: currentTeam.logoUrl,
28
- className: clsx(styles.profileImage, {
29
- [styles.profileImageHighlight]: showUpgradeCta
30
- }),
31
- alt: "Team Logo"
32
- }
33
- ) : /* @__PURE__ */ jsx(
34
- "div",
35
- {
36
- className: clsx(styles.userIconWrapper, "flex-row", "align-center", "items-center", {
37
- [styles.profileImageHighlight]: showUpgradeCta
38
- }),
39
- children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" })
40
- }
41
- ),
42
- showUpgradeCta && /* @__PURE__ */ jsx(UpgradeIcon, { className: styles.profileImageUpgradeIcon })
43
- ] }),
44
- children: /* @__PURE__ */ jsx(MenuList, { placement: "right-end", className: styles.menuContainer, children: children({
45
- allowTeamCreation,
46
- otherTeams,
47
- canAccessTeamSettings,
48
- isEndOfTrialActive,
49
- isTeamSuspended,
50
- showBillingButton,
51
- isProviderAlpha,
52
- isFullyAuthenticated
53
- }) })
54
- }
55
- );
1
+ const badge = "_badge_1pc1v_1";
2
+ const tag = "_tag_1pc1v_15";
3
+ const withNavLinkStyle = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21";
4
+ const disabled = "_disabled_1pc1v_57";
5
+ const projectNavigationItem = "_projectNavigationItem_1pc1v_61";
6
+ const projectNavigationItemDisabled = "_projectNavigationItemDisabled_1pc1v_67";
7
+ const classes = {
8
+ badge,
9
+ tag,
10
+ withNavLinkStyle,
11
+ disabled,
12
+ projectNavigationItem,
13
+ projectNavigationItemDisabled
56
14
  };
57
15
  export {
58
- ProfileMenuContent
16
+ badge,
17
+ classes as default,
18
+ disabled,
19
+ projectNavigationItem,
20
+ projectNavigationItemDisabled,
21
+ tag,
22
+ withNavLinkStyle
59
23
  };
60
24
  //# sourceMappingURL=harmony87.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony87.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.tsx"],"sourcesContent":["import { Menu, MenuList, UserIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { ReactNode } from 'react'\nimport { UpgradeIcon } from '../../UpgradeIcon/UpgradeIcon'\nimport styles from './ProfileMenuContent.module.css'\nimport { useProfileMenu } from './ProfileMenuContext'\nimport type { SidebarProfileMenuRenderProps } from './types'\n\nexport type ProfileMenuContentProps = {\n\tchildren: (props: SidebarProfileMenuRenderProps) => ReactNode\n}\n\nexport const ProfileMenuContent = ({ children }: ProfileMenuContentProps) => {\n\tconst {\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t\tisProviderAlpha,\n\t\tcanAccessTeamSettings,\n\t\tisEndOfTrialActive,\n\t\tisTeamSuspended,\n\t\tisFullyAuthenticated,\n\t} = useProfileMenu()\n\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={() => (\n\t\t\t\t<button className={styles.profileButton} aria-label=\"Profile menu\" type=\"button\">\n\t\t\t\t\t{currentTeam?.logoUrl ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={currentTeam.logoUrl}\n\t\t\t\t\t\t\tclassName={clsx(styles.profileImage, {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\talt=\"Team Logo\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={clsx(styles.userIconWrapper, 'flex-row', 'align-center', 'items-center', {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UserIcon size={'25px'} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showUpgradeCta && <UpgradeIcon className={styles.profileImageUpgradeIcon} />}\n\t\t\t\t</button>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-end\" className={styles.menuContainer}>\n\t\t\t\t{children({\n\t\t\t\t\tallowTeamCreation,\n\t\t\t\t\totherTeams,\n\t\t\t\t\tcanAccessTeamSettings,\n\t\t\t\t\tisEndOfTrialActive,\n\t\t\t\t\tisTeamSuspended,\n\t\t\t\t\tshowBillingButton,\n\t\t\t\t\tisProviderAlpha,\n\t\t\t\t\tisFullyAuthenticated,\n\t\t\t\t})}\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":[],"mappings":";;;;;;AAYO,MAAM,qBAAqB,CAAC,EAAE,eAAwC;AACtE,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,eAAe;AAGlB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,MACX,qBAAC,UAAO,EAAA,WAAW,OAAO,eAAe,cAAW,gBAAe,MAAK,UACtE,UAAA;AAAA,SAAA,2CAAa,WACb;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAK,YAAY;AAAA,YACjB,WAAW,KAAK,OAAO,cAAc;AAAA,cACpC,CAAC,OAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YACD,KAAI;AAAA,UAAA;AAAA,QAAA,IAGL;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,KAAK,OAAO,iBAAiB,YAAY,gBAAgB,gBAAgB;AAAA,cACnF,CAAC,OAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YAED,UAAA,oBAAC,UAAS,EAAA,MAAM,OAAQ,CAAA;AAAA,UAAA;AAAA,QACzB;AAAA,QAEA,kBAAkB,oBAAC,aAAY,EAAA,WAAW,OAAO,wBAAyB,CAAA;AAAA,MAAA,GAC5E;AAAA,MAGD,8BAAC,UAAS,EAAA,WAAU,aAAY,WAAW,OAAO,eAChD,UAAS,SAAA;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA,EACF,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
1
+ {"version":3,"file":"harmony87.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,45 +1,9 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const plan = require("./harmony8.cjs");
5
- const types = require("./harmony102.cjs");
6
- const ProfileMenuContext = require("./harmony89.cjs");
7
- const billingRoles = [
8
- types.SidebarTeamRoles.biller,
9
- types.SidebarTeamRoles.owner,
10
- types.SidebarTeamRoles.admin
11
- ];
12
- const teamSettingsRoles = [
13
- types.SidebarTeamRoles.biller,
14
- types.SidebarTeamRoles.owner,
15
- types.SidebarTeamRoles.admin
16
- ];
17
- const upgradeCtaRoles = [
18
- types.SidebarTeamRoles.biller,
19
- types.SidebarTeamRoles.owner
20
- ];
21
- const ProfileMenuProvider = ({ children, config }) => {
22
- const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
23
- const currentTeam = teams.find((t) => t.id === currentTeamId);
24
- const otherTeams = teams.filter((t) => t.id !== currentTeamId);
25
- const canChangeBilling = billingRoles.includes(userTeamRole);
26
- const canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole);
27
- const isOnFreeOrTrialPlan = plan.isFreePlan(planId) || plan.isTrialPlan(planId);
28
- const showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole);
29
- const showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling;
30
- const allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive;
31
- const providerValue = {
32
- ...config,
33
- currentTeam,
34
- otherTeams,
35
- canChangeBilling,
36
- canAccessTeamSettings,
37
- isOnFreeOrTrialPlan,
38
- showUpgradeCta,
39
- showBillingButton,
40
- allowTeamCreation
41
- };
42
- return /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContext.ProfileMenuContext.Provider, { value: providerValue, children });
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const logoLink = "_logoLink_1baxb_1";
4
+ const styles = {
5
+ logoLink
43
6
  };
44
- exports.ProfileMenuProvider = ProfileMenuProvider;
7
+ exports.default = styles;
8
+ exports.logoLink = logoLink;
45
9
  //# sourceMappingURL=harmony88.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony88.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst teamSettingsRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst upgradeCtaRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta =\n\t\tisFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole)\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":["SidebarTeamRoles","isFreePlan","isTrialPlan","ProfileMenuContext"],"mappings":";;;;;;AAUA,MAAM,eAA+C;AAAA,EACpDA,MAAAA,iBAAiB;AAAA,EACjBA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEA,MAAM,oBAAoD;AAAA,EACzDA,MAAAA,iBAAiB;AAAA,EACjBA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEA,MAAM,kBAAkD;AAAA,EACvDA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,kBAAkB,SAAS,YAAY;AAErE,QAAM,sBAAsBC,KAAA,WAAW,MAAM,KAAKC,KAAAA,YAAY,MAAM;AAEpE,QAAM,iBACL,wBAAwB,uBAAuB,gBAAgB,SAAS,YAAY;AAE/E,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,mBAAAA,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;;"}
1
+ {"version":3,"file":"harmony88.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,45 +1,9 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { isFreePlan, isTrialPlan } from "./harmony8.mjs";
3
- import { SidebarTeamRoles } from "./harmony102.mjs";
4
- import { ProfileMenuContext } from "./harmony89.mjs";
5
- const billingRoles = [
6
- SidebarTeamRoles.biller,
7
- SidebarTeamRoles.owner,
8
- SidebarTeamRoles.admin
9
- ];
10
- const teamSettingsRoles = [
11
- SidebarTeamRoles.biller,
12
- SidebarTeamRoles.owner,
13
- SidebarTeamRoles.admin
14
- ];
15
- const upgradeCtaRoles = [
16
- SidebarTeamRoles.biller,
17
- SidebarTeamRoles.owner
18
- ];
19
- const ProfileMenuProvider = ({ children, config }) => {
20
- const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
21
- const currentTeam = teams.find((t) => t.id === currentTeamId);
22
- const otherTeams = teams.filter((t) => t.id !== currentTeamId);
23
- const canChangeBilling = billingRoles.includes(userTeamRole);
24
- const canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole);
25
- const isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId);
26
- const showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole);
27
- const showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling;
28
- const allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive;
29
- const providerValue = {
30
- ...config,
31
- currentTeam,
32
- otherTeams,
33
- canChangeBilling,
34
- canAccessTeamSettings,
35
- isOnFreeOrTrialPlan,
36
- showUpgradeCta,
37
- showBillingButton,
38
- allowTeamCreation
39
- };
40
- return /* @__PURE__ */ jsx(ProfileMenuContext.Provider, { value: providerValue, children });
1
+ const logoLink = "_logoLink_1baxb_1";
2
+ const styles = {
3
+ logoLink
41
4
  };
42
5
  export {
43
- ProfileMenuProvider
6
+ styles as default,
7
+ logoLink
44
8
  };
45
9
  //# sourceMappingURL=harmony88.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony88.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst teamSettingsRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst upgradeCtaRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta =\n\t\tisFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole)\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":[],"mappings":";;;;AAUA,MAAM,eAA+C;AAAA,EACpD,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEA,MAAM,oBAAoD;AAAA,EACzD,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEA,MAAM,kBAAkD;AAAA,EACvD,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,kBAAkB,SAAS,YAAY;AAErE,QAAM,sBAAsB,WAAW,MAAM,KAAK,YAAY,MAAM;AAEpE,QAAM,iBACL,wBAAwB,uBAAuB,gBAAgB,SAAS,YAAY;AAE/E,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;"}
1
+ {"version":3,"file":"harmony88.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const ProfileMenuContext = React.createContext({});
5
- const useProfileMenu = () => React.useContext(ProfileMenuContext);
6
- exports.ProfileMenuContext = ProfileMenuContext;
7
- exports.useProfileMenu = useProfileMenu;
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const link = "_link_18vhx_1";
4
+ const active = "_active_18vhx_18";
5
+ const styles = {
6
+ link,
7
+ active
8
+ };
9
+ exports.active = active;
10
+ exports.default = styles;
11
+ exports.link = link;
8
12
  //# sourceMappingURL=harmony89.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony89.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarProfileMenuContextProps } from './types'\n\nexport const ProfileMenuContext = createContext({} as SidebarProfileMenuContextProps)\n\nexport const useProfileMenu = () => useContext(ProfileMenuContext)\n"],"names":["createContext","useContext"],"mappings":";;;AAGa,MAAA,qBAAqBA,MAAc,cAAA,CAAoC,CAAA;AAEvE,MAAA,iBAAiB,MAAMC,MAAAA,WAAW,kBAAkB;;;"}
1
+ {"version":3,"file":"harmony89.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,8 +1,12 @@
1
- import { useContext, createContext } from "react";
2
- const ProfileMenuContext = createContext({});
3
- const useProfileMenu = () => useContext(ProfileMenuContext);
1
+ const link = "_link_18vhx_1";
2
+ const active = "_active_18vhx_18";
3
+ const styles = {
4
+ link,
5
+ active
6
+ };
4
7
  export {
5
- ProfileMenuContext,
6
- useProfileMenu
8
+ active,
9
+ styles as default,
10
+ link
7
11
  };
8
12
  //# sourceMappingURL=harmony89.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony89.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { SidebarProfileMenuContextProps } from './types'\n\nexport const ProfileMenuContext = createContext({} as SidebarProfileMenuContextProps)\n\nexport const useProfileMenu = () => useContext(ProfileMenuContext)\n"],"names":[],"mappings":";AAGa,MAAA,qBAAqB,cAAc,CAAoC,CAAA;AAEvE,MAAA,iBAAiB,MAAM,WAAW,kBAAkB;"}
1
+ {"version":3,"file":"harmony89.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const container = "_container_q5pot_1";
4
- const profileEmail = "_profileEmail_q5pot_5";
3
+ const dropdownButton = "_dropdownButton_1naek_1";
4
+ const dropdownButtonActive = "_dropdownButtonActive_1naek_19";
5
5
  const styles = {
6
- container,
7
- profileEmail
6
+ dropdownButton,
7
+ dropdownButtonActive
8
8
  };
9
- exports.container = container;
10
9
  exports.default = styles;
11
- exports.profileEmail = profileEmail;
10
+ exports.dropdownButton = dropdownButton;
11
+ exports.dropdownButtonActive = dropdownButtonActive;
12
12
  //# sourceMappingURL=harmony90.cjs.map
@@ -1,12 +1,12 @@
1
- const container = "_container_q5pot_1";
2
- const profileEmail = "_profileEmail_q5pot_5";
1
+ const dropdownButton = "_dropdownButton_1naek_1";
2
+ const dropdownButtonActive = "_dropdownButtonActive_1naek_19";
3
3
  const styles = {
4
- container,
5
- profileEmail
4
+ dropdownButton,
5
+ dropdownButtonActive
6
6
  };
7
7
  export {
8
- container,
9
8
  styles as default,
10
- profileEmail
9
+ dropdownButton,
10
+ dropdownButtonActive
11
11
  };
12
12
  //# sourceMappingURL=harmony90.mjs.map
@@ -1,27 +1,60 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const wrapper = "_wrapper_1in7x_5";
4
- const profileImage = "_profileImage_1in7x_11";
5
- const teamDetails = "_teamDetails_1in7x_19";
6
- const planWrapper = "_planWrapper_1in7x_28";
7
- const teamName = "_teamName_1in7x_36";
8
- const membership = "_membership_1in7x_53";
9
- const defaultProfileImage = "_defaultProfileImage_1in7x_59";
10
- const styles = {
11
- wrapper,
12
- profileImage,
13
- teamDetails,
14
- planWrapper,
15
- teamName,
16
- membership,
17
- defaultProfileImage
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const louis = require("@lokalise/louis");
5
+ const clsx = require("./harmony66.cjs");
6
+ const UpgradeIcon = require("./harmony97.cjs");
7
+ const ProfileMenuContent_module = require("./harmony102.cjs");
8
+ const ProfileMenuContext = require("./harmony93.cjs");
9
+ const ProfileMenuContent = ({ children }) => {
10
+ const {
11
+ currentTeam,
12
+ otherTeams,
13
+ showUpgradeCta,
14
+ showBillingButton,
15
+ allowTeamCreation,
16
+ isProviderAlpha,
17
+ canAccessTeamSettings,
18
+ isEndOfTrialActive,
19
+ isTeamSuspended,
20
+ isFullyAuthenticated
21
+ } = ProfileMenuContext.useProfileMenu();
22
+ return /* @__PURE__ */ jsxRuntime.jsx(
23
+ louis.Menu,
24
+ {
25
+ menuButton: () => /* @__PURE__ */ jsxRuntime.jsxs("button", { className: ProfileMenuContent_module.default.profileButton, "aria-label": "Profile menu", type: "button", children: [
26
+ (currentTeam == null ? void 0 : currentTeam.logoUrl) ? /* @__PURE__ */ jsxRuntime.jsx(
27
+ "img",
28
+ {
29
+ src: currentTeam.logoUrl,
30
+ className: clsx.clsx(ProfileMenuContent_module.default.profileImage, {
31
+ [ProfileMenuContent_module.default.profileImageHighlight]: showUpgradeCta
32
+ }),
33
+ alt: "Team Logo"
34
+ }
35
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
36
+ "div",
37
+ {
38
+ className: clsx.clsx(ProfileMenuContent_module.default.userIconWrapper, "flex-row", "align-center", "items-center", {
39
+ [ProfileMenuContent_module.default.profileImageHighlight]: showUpgradeCta
40
+ }),
41
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" })
42
+ }
43
+ ),
44
+ showUpgradeCta && /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, { className: ProfileMenuContent_module.default.profileImageUpgradeIcon })
45
+ ] }),
46
+ children: /* @__PURE__ */ jsxRuntime.jsx(louis.MenuList, { placement: "right-end", className: ProfileMenuContent_module.default.menuContainer, children: children({
47
+ allowTeamCreation,
48
+ otherTeams,
49
+ canAccessTeamSettings,
50
+ isEndOfTrialActive,
51
+ isTeamSuspended,
52
+ showBillingButton,
53
+ isProviderAlpha,
54
+ isFullyAuthenticated
55
+ }) })
56
+ }
57
+ );
18
58
  };
19
- exports.default = styles;
20
- exports.defaultProfileImage = defaultProfileImage;
21
- exports.membership = membership;
22
- exports.planWrapper = planWrapper;
23
- exports.profileImage = profileImage;
24
- exports.teamDetails = teamDetails;
25
- exports.teamName = teamName;
26
- exports.wrapper = wrapper;
59
+ exports.ProfileMenuContent = ProfileMenuContent;
27
60
  //# sourceMappingURL=harmony91.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony91.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony91.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.tsx"],"sourcesContent":["import { Menu, MenuList, UserIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { ReactNode } from 'react'\nimport { UpgradeIcon } from '../../UpgradeIcon/UpgradeIcon'\nimport styles from './ProfileMenuContent.module.css'\nimport { useProfileMenu } from './ProfileMenuContext'\nimport type { SidebarProfileMenuRenderProps } from './types'\n\nexport type ProfileMenuContentProps = {\n\tchildren: (props: SidebarProfileMenuRenderProps) => ReactNode\n}\n\nexport const ProfileMenuContent = ({ children }: ProfileMenuContentProps) => {\n\tconst {\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t\tisProviderAlpha,\n\t\tcanAccessTeamSettings,\n\t\tisEndOfTrialActive,\n\t\tisTeamSuspended,\n\t\tisFullyAuthenticated,\n\t} = useProfileMenu()\n\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={() => (\n\t\t\t\t<button className={styles.profileButton} aria-label=\"Profile menu\" type=\"button\">\n\t\t\t\t\t{currentTeam?.logoUrl ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={currentTeam.logoUrl}\n\t\t\t\t\t\t\tclassName={clsx(styles.profileImage, {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\talt=\"Team Logo\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={clsx(styles.userIconWrapper, 'flex-row', 'align-center', 'items-center', {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UserIcon size={'25px'} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showUpgradeCta && <UpgradeIcon className={styles.profileImageUpgradeIcon} />}\n\t\t\t\t</button>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-end\" className={styles.menuContainer}>\n\t\t\t\t{children({\n\t\t\t\t\tallowTeamCreation,\n\t\t\t\t\totherTeams,\n\t\t\t\t\tcanAccessTeamSettings,\n\t\t\t\t\tisEndOfTrialActive,\n\t\t\t\t\tisTeamSuspended,\n\t\t\t\t\tshowBillingButton,\n\t\t\t\t\tisProviderAlpha,\n\t\t\t\t\tisFullyAuthenticated,\n\t\t\t\t})}\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":["useProfileMenu","jsx","Menu","jsxs","styles","clsx","UserIcon","UpgradeIcon","MenuList"],"mappings":";;;;;;;;AAYO,MAAM,qBAAqB,CAAC,EAAE,eAAwC;AACtE,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACGA,kCAAe;AAGlB,SAAAC,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,YAAY,MACXC,2BAAAA,KAAC,UAAO,EAAA,WAAWC,0BAAAA,QAAO,eAAe,cAAW,gBAAe,MAAK,UACtE,UAAA;AAAA,SAAA,2CAAa,WACbH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAK,YAAY;AAAA,YACjB,WAAWI,KAAAA,KAAKD,0BAAA,QAAO,cAAc;AAAA,cACpC,CAACA,0BAAAA,QAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YACD,KAAI;AAAA,UAAA;AAAA,QAAA,IAGLH,2BAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAWI,KAAK,KAAAD,0BAAA,QAAO,iBAAiB,YAAY,gBAAgB,gBAAgB;AAAA,cACnF,CAACA,0BAAAA,QAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YAED,UAAAH,2BAAAA,IAACK,MAAAA,UAAS,EAAA,MAAM,OAAQ,CAAA;AAAA,UAAA;AAAA,QACzB;AAAA,QAEA,kBAAkBL,2BAAA,IAACM,YAAY,aAAA,EAAA,WAAWH,0BAAAA,QAAO,wBAAyB,CAAA;AAAA,MAAA,GAC5E;AAAA,MAGD,yCAACI,gBAAS,EAAA,WAAU,aAAY,WAAWJ,kCAAO,eAChD,UAAS,SAAA;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA,EACF,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
@@ -1,27 +1,60 @@
1
- const wrapper = "_wrapper_1in7x_5";
2
- const profileImage = "_profileImage_1in7x_11";
3
- const teamDetails = "_teamDetails_1in7x_19";
4
- const planWrapper = "_planWrapper_1in7x_28";
5
- const teamName = "_teamName_1in7x_36";
6
- const membership = "_membership_1in7x_53";
7
- const defaultProfileImage = "_defaultProfileImage_1in7x_59";
8
- const styles = {
9
- wrapper,
10
- profileImage,
11
- teamDetails,
12
- planWrapper,
13
- teamName,
14
- membership,
15
- defaultProfileImage
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Menu, MenuList, UserIcon } from "@lokalise/louis";
3
+ import { clsx } from "./harmony66.mjs";
4
+ import { UpgradeIcon } from "./harmony97.mjs";
5
+ import styles from "./harmony102.mjs";
6
+ import { useProfileMenu } from "./harmony93.mjs";
7
+ const ProfileMenuContent = ({ children }) => {
8
+ const {
9
+ currentTeam,
10
+ otherTeams,
11
+ showUpgradeCta,
12
+ showBillingButton,
13
+ allowTeamCreation,
14
+ isProviderAlpha,
15
+ canAccessTeamSettings,
16
+ isEndOfTrialActive,
17
+ isTeamSuspended,
18
+ isFullyAuthenticated
19
+ } = useProfileMenu();
20
+ return /* @__PURE__ */ jsx(
21
+ Menu,
22
+ {
23
+ menuButton: () => /* @__PURE__ */ jsxs("button", { className: styles.profileButton, "aria-label": "Profile menu", type: "button", children: [
24
+ (currentTeam == null ? void 0 : currentTeam.logoUrl) ? /* @__PURE__ */ jsx(
25
+ "img",
26
+ {
27
+ src: currentTeam.logoUrl,
28
+ className: clsx(styles.profileImage, {
29
+ [styles.profileImageHighlight]: showUpgradeCta
30
+ }),
31
+ alt: "Team Logo"
32
+ }
33
+ ) : /* @__PURE__ */ jsx(
34
+ "div",
35
+ {
36
+ className: clsx(styles.userIconWrapper, "flex-row", "align-center", "items-center", {
37
+ [styles.profileImageHighlight]: showUpgradeCta
38
+ }),
39
+ children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" })
40
+ }
41
+ ),
42
+ showUpgradeCta && /* @__PURE__ */ jsx(UpgradeIcon, { className: styles.profileImageUpgradeIcon })
43
+ ] }),
44
+ children: /* @__PURE__ */ jsx(MenuList, { placement: "right-end", className: styles.menuContainer, children: children({
45
+ allowTeamCreation,
46
+ otherTeams,
47
+ canAccessTeamSettings,
48
+ isEndOfTrialActive,
49
+ isTeamSuspended,
50
+ showBillingButton,
51
+ isProviderAlpha,
52
+ isFullyAuthenticated
53
+ }) })
54
+ }
55
+ );
16
56
  };
17
57
  export {
18
- styles as default,
19
- defaultProfileImage,
20
- membership,
21
- planWrapper,
22
- profileImage,
23
- teamDetails,
24
- teamName,
25
- wrapper
58
+ ProfileMenuContent
26
59
  };
27
60
  //# sourceMappingURL=harmony91.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony91.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"harmony91.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.tsx"],"sourcesContent":["import { Menu, MenuList, UserIcon } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport type { ReactNode } from 'react'\nimport { UpgradeIcon } from '../../UpgradeIcon/UpgradeIcon'\nimport styles from './ProfileMenuContent.module.css'\nimport { useProfileMenu } from './ProfileMenuContext'\nimport type { SidebarProfileMenuRenderProps } from './types'\n\nexport type ProfileMenuContentProps = {\n\tchildren: (props: SidebarProfileMenuRenderProps) => ReactNode\n}\n\nexport const ProfileMenuContent = ({ children }: ProfileMenuContentProps) => {\n\tconst {\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t\tisProviderAlpha,\n\t\tcanAccessTeamSettings,\n\t\tisEndOfTrialActive,\n\t\tisTeamSuspended,\n\t\tisFullyAuthenticated,\n\t} = useProfileMenu()\n\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={() => (\n\t\t\t\t<button className={styles.profileButton} aria-label=\"Profile menu\" type=\"button\">\n\t\t\t\t\t{currentTeam?.logoUrl ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={currentTeam.logoUrl}\n\t\t\t\t\t\t\tclassName={clsx(styles.profileImage, {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\talt=\"Team Logo\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={clsx(styles.userIconWrapper, 'flex-row', 'align-center', 'items-center', {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: showUpgradeCta,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UserIcon size={'25px'} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{showUpgradeCta && <UpgradeIcon className={styles.profileImageUpgradeIcon} />}\n\t\t\t\t</button>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-end\" className={styles.menuContainer}>\n\t\t\t\t{children({\n\t\t\t\t\tallowTeamCreation,\n\t\t\t\t\totherTeams,\n\t\t\t\t\tcanAccessTeamSettings,\n\t\t\t\t\tisEndOfTrialActive,\n\t\t\t\t\tisTeamSuspended,\n\t\t\t\t\tshowBillingButton,\n\t\t\t\t\tisProviderAlpha,\n\t\t\t\t\tisFullyAuthenticated,\n\t\t\t\t})}\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":[],"mappings":";;;;;;AAYO,MAAM,qBAAqB,CAAC,EAAE,eAAwC;AACtE,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACG,eAAe;AAGlB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,MACX,qBAAC,UAAO,EAAA,WAAW,OAAO,eAAe,cAAW,gBAAe,MAAK,UACtE,UAAA;AAAA,SAAA,2CAAa,WACb;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,KAAK,YAAY;AAAA,YACjB,WAAW,KAAK,OAAO,cAAc;AAAA,cACpC,CAAC,OAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YACD,KAAI;AAAA,UAAA;AAAA,QAAA,IAGL;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,WAAW,KAAK,OAAO,iBAAiB,YAAY,gBAAgB,gBAAgB;AAAA,cACnF,CAAC,OAAO,qBAAqB,GAAG;AAAA,YAAA,CAChC;AAAA,YAED,UAAA,oBAAC,UAAS,EAAA,MAAM,OAAQ,CAAA;AAAA,UAAA;AAAA,QACzB;AAAA,QAEA,kBAAkB,oBAAC,aAAY,EAAA,WAAW,OAAO,wBAAyB,CAAA;AAAA,MAAA,GAC5E;AAAA,MAGD,8BAAC,UAAS,EAAA,WAAU,aAAY,WAAW,OAAO,eAChD,UAAS,SAAA;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA,EACF,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
@@ -1,9 +1,45 @@
1
1
  "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const teamsContainer = "_teamsContainer_1ncrr_5";
4
- const styles = {
5
- teamsContainer
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const plan = require("./harmony8.cjs");
5
+ const types = require("./harmony103.cjs");
6
+ const ProfileMenuContext = require("./harmony93.cjs");
7
+ const billingRoles = [
8
+ types.SidebarTeamRoles.biller,
9
+ types.SidebarTeamRoles.owner,
10
+ types.SidebarTeamRoles.admin
11
+ ];
12
+ const teamSettingsRoles = [
13
+ types.SidebarTeamRoles.biller,
14
+ types.SidebarTeamRoles.owner,
15
+ types.SidebarTeamRoles.admin
16
+ ];
17
+ const upgradeCtaRoles = [
18
+ types.SidebarTeamRoles.biller,
19
+ types.SidebarTeamRoles.owner
20
+ ];
21
+ const ProfileMenuProvider = ({ children, config }) => {
22
+ const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
23
+ const currentTeam = teams.find((t) => t.id === currentTeamId);
24
+ const otherTeams = teams.filter((t) => t.id !== currentTeamId);
25
+ const canChangeBilling = billingRoles.includes(userTeamRole);
26
+ const canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole);
27
+ const isOnFreeOrTrialPlan = plan.isFreePlan(planId) || plan.isTrialPlan(planId);
28
+ const showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole);
29
+ const showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling;
30
+ const allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive;
31
+ const providerValue = {
32
+ ...config,
33
+ currentTeam,
34
+ otherTeams,
35
+ canChangeBilling,
36
+ canAccessTeamSettings,
37
+ isOnFreeOrTrialPlan,
38
+ showUpgradeCta,
39
+ showBillingButton,
40
+ allowTeamCreation
41
+ };
42
+ return /* @__PURE__ */ jsxRuntime.jsx(ProfileMenuContext.ProfileMenuContext.Provider, { value: providerValue, children });
6
43
  };
7
- exports.default = styles;
8
- exports.teamsContainer = teamsContainer;
44
+ exports.ProfileMenuProvider = ProfileMenuProvider;
9
45
  //# sourceMappingURL=harmony92.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony92.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"harmony92.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst teamSettingsRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst upgradeCtaRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta =\n\t\tisFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole)\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":["SidebarTeamRoles","isFreePlan","isTrialPlan","ProfileMenuContext"],"mappings":";;;;;;AAUA,MAAM,eAA+C;AAAA,EACpDA,MAAAA,iBAAiB;AAAA,EACjBA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEA,MAAM,oBAAoD;AAAA,EACzDA,MAAAA,iBAAiB;AAAA,EACjBA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEA,MAAM,kBAAkD;AAAA,EACvDA,MAAAA,iBAAiB;AAAA,EACjBA,uBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,kBAAkB,SAAS,YAAY;AAErE,QAAM,sBAAsBC,KAAA,WAAW,MAAM,KAAKC,KAAAA,YAAY,MAAM;AAEpE,QAAM,iBACL,wBAAwB,uBAAuB,gBAAgB,SAAS,YAAY;AAE/E,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,wCAAQC,mBAAAA,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;;"}
@@ -1,9 +1,45 @@
1
- const teamsContainer = "_teamsContainer_1ncrr_5";
2
- const styles = {
3
- teamsContainer
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { isFreePlan, isTrialPlan } from "./harmony8.mjs";
3
+ import { SidebarTeamRoles } from "./harmony103.mjs";
4
+ import { ProfileMenuContext } from "./harmony93.mjs";
5
+ const billingRoles = [
6
+ SidebarTeamRoles.biller,
7
+ SidebarTeamRoles.owner,
8
+ SidebarTeamRoles.admin
9
+ ];
10
+ const teamSettingsRoles = [
11
+ SidebarTeamRoles.biller,
12
+ SidebarTeamRoles.owner,
13
+ SidebarTeamRoles.admin
14
+ ];
15
+ const upgradeCtaRoles = [
16
+ SidebarTeamRoles.biller,
17
+ SidebarTeamRoles.owner
18
+ ];
19
+ const ProfileMenuProvider = ({ children, config }) => {
20
+ const { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } = config;
21
+ const currentTeam = teams.find((t) => t.id === currentTeamId);
22
+ const otherTeams = teams.filter((t) => t.id !== currentTeamId);
23
+ const canChangeBilling = billingRoles.includes(userTeamRole);
24
+ const canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole);
25
+ const isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId);
26
+ const showUpgradeCta = isFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole);
27
+ const showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling;
28
+ const allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive;
29
+ const providerValue = {
30
+ ...config,
31
+ currentTeam,
32
+ otherTeams,
33
+ canChangeBilling,
34
+ canAccessTeamSettings,
35
+ isOnFreeOrTrialPlan,
36
+ showUpgradeCta,
37
+ showBillingButton,
38
+ allowTeamCreation
39
+ };
40
+ return /* @__PURE__ */ jsx(ProfileMenuContext.Provider, { value: providerValue, children });
4
41
  };
5
42
  export {
6
- styles as default,
7
- teamsContainer
43
+ ProfileMenuProvider
8
44
  };
9
45
  //# sourceMappingURL=harmony92.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"harmony92.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"harmony92.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.tsx"],"sourcesContent":["import { isFreePlan, isTrialPlan } from '@utils'\nimport type { PropsWithChildren } from 'react'\nimport { type SidebarTeamRole, SidebarTeamRoles } from '../../types'\nimport { ProfileMenuContext } from './ProfileMenuContext'\nimport type { SidebarProfileMenuConfig } from './types'\n\ntype ProfileMenuProviderProps = PropsWithChildren<{\n\tconfig: SidebarProfileMenuConfig\n}>\n\nconst billingRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst teamSettingsRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n\tSidebarTeamRoles.admin,\n]\n\nconst upgradeCtaRoles: ReadonlyArray<SidebarTeamRole> = [\n\tSidebarTeamRoles.biller,\n\tSidebarTeamRoles.owner,\n]\n\nexport const ProfileMenuProvider = ({ children, config }: ProfileMenuProviderProps) => {\n\tconst { teams, currentTeamId, planId, isEndOfTrialActive, isFullyAuthenticated, userTeamRole } =\n\t\tconfig\n\n\tconst currentTeam = teams.find((t) => t.id === currentTeamId)\n\n\tconst otherTeams = teams.filter((t) => t.id !== currentTeamId)\n\n\tconst canChangeBilling = billingRoles.includes(userTeamRole)\n\n\tconst canAccessTeamSettings = teamSettingsRoles.includes(userTeamRole)\n\n\tconst isOnFreeOrTrialPlan = isFreePlan(planId) || isTrialPlan(planId)\n\n\tconst showUpgradeCta =\n\t\tisFullyAuthenticated && isOnFreeOrTrialPlan && upgradeCtaRoles.includes(userTeamRole)\n\n\tconst showBillingButton = isFullyAuthenticated && canAccessTeamSettings && canChangeBilling\n\n\tconst allowTeamCreation = isFullyAuthenticated && !isEndOfTrialActive\n\n\tconst providerValue = {\n\t\t...config,\n\t\tcurrentTeam,\n\t\totherTeams,\n\t\tcanChangeBilling,\n\t\tcanAccessTeamSettings,\n\t\tisOnFreeOrTrialPlan,\n\t\tshowUpgradeCta,\n\t\tshowBillingButton,\n\t\tallowTeamCreation,\n\t}\n\n\treturn <ProfileMenuContext.Provider value={providerValue}>{children}</ProfileMenuContext.Provider>\n}\n"],"names":[],"mappings":";;;;AAUA,MAAM,eAA+C;AAAA,EACpD,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEA,MAAM,oBAAoD;AAAA,EACzD,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEA,MAAM,kBAAkD;AAAA,EACvD,iBAAiB;AAAA,EACjB,iBAAiB;AAClB;AAEO,MAAM,sBAAsB,CAAC,EAAE,UAAU,aAAuC;AACtF,QAAM,EAAE,OAAO,eAAe,QAAQ,oBAAoB,sBAAsB,iBAC/E;AAED,QAAM,cAAc,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,aAAa;AAE5D,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAA,mBAAmB,aAAa,SAAS,YAAY;AAErD,QAAA,wBAAwB,kBAAkB,SAAS,YAAY;AAErE,QAAM,sBAAsB,WAAW,MAAM,KAAK,YAAY,MAAM;AAEpE,QAAM,iBACL,wBAAwB,uBAAuB,gBAAgB,SAAS,YAAY;AAE/E,QAAA,oBAAoB,wBAAwB,yBAAyB;AAErE,QAAA,oBAAoB,wBAAwB,CAAC;AAEnD,QAAM,gBAAgB;AAAA,IACrB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,6BAAQ,mBAAmB,UAAnB,EAA4B,OAAO,eAAgB,UAAS;AACrE;"}