@lokalise/harmony 1.40.2 → 1.40.3-exp-epic2x.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.
- package/dist/harmony.css +110 -317
- package/dist/harmony100.cjs +8 -11
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +8 -11
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +47 -12
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +46 -11
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +6 -3
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +6 -3
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +99 -9
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +81 -8
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +14 -9
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +13 -8
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +20 -57
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +20 -57
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +9 -42
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +8 -41
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +14 -5
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +14 -5
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +17 -9
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +16 -8
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +21 -24
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +20 -23
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +10 -6
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +9 -5
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +22 -14
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +24 -16
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +14 -12
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +13 -11
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +35 -12
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +35 -12
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +14 -18
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +14 -18
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +19 -96
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +19 -79
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +33 -85
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +33 -85
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +22 -31
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +21 -30
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +21 -21
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +20 -20
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +6 -6
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +5 -5
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +15 -132
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +14 -131
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +87 -12
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +86 -11
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +30 -5
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +30 -5
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +6 -41
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +5 -40
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +6 -61
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +5 -60
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +96 -7
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +96 -7
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +14 -7
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +13 -6
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +15 -6
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +14 -5
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +37 -6
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +36 -5
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +28 -10
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +28 -10
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony130.cjs +10 -63
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +9 -62
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +6 -88
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +5 -87
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +6 -15
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +6 -15
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +25 -97
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +24 -96
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +7 -14
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +6 -13
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +13 -15
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +12 -14
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony136.cjs +7 -37
- package/dist/harmony136.cjs.map +1 -1
- package/dist/harmony136.mjs +6 -36
- package/dist/harmony136.mjs.map +1 -1
- package/dist/harmony137.cjs +10 -28
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +10 -28
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +1 -1
- package/dist/harmony138.mjs +1 -1
- package/dist/harmony139.cjs +1 -1
- package/dist/harmony139.mjs +1 -1
- package/dist/harmony14.cjs +1 -1
- package/dist/harmony14.mjs +1 -1
- package/dist/harmony140.cjs +2 -2
- package/dist/harmony140.mjs +2 -2
- package/dist/harmony141.cjs +11 -7
- package/dist/harmony141.cjs.map +1 -1
- package/dist/harmony141.mjs +11 -7
- package/dist/harmony141.mjs.map +1 -1
- package/dist/harmony142.cjs +15 -56
- package/dist/harmony142.cjs.map +1 -1
- package/dist/harmony142.mjs +15 -56
- package/dist/harmony142.mjs.map +1 -1
- package/dist/harmony143.cjs +20 -59
- package/dist/harmony143.cjs.map +1 -1
- package/dist/harmony143.mjs +20 -59
- package/dist/harmony143.mjs.map +1 -1
- package/dist/harmony144.cjs +13 -19
- package/dist/harmony144.cjs.map +1 -1
- package/dist/harmony144.mjs +12 -18
- package/dist/harmony144.mjs.map +1 -1
- package/dist/harmony145.cjs +5 -10
- package/dist/harmony145.cjs.map +1 -1
- package/dist/harmony145.mjs +5 -10
- package/dist/harmony145.mjs.map +1 -1
- package/dist/harmony146.cjs +11 -15
- package/dist/harmony146.cjs.map +1 -1
- package/dist/harmony146.mjs +11 -15
- package/dist/harmony146.mjs.map +1 -1
- package/dist/harmony147.cjs +28 -17
- package/dist/harmony147.cjs.map +1 -1
- package/dist/harmony147.mjs +28 -17
- package/dist/harmony147.mjs.map +1 -1
- package/dist/harmony148.cjs +12 -10
- package/dist/harmony148.cjs.map +1 -1
- package/dist/harmony148.mjs +12 -10
- package/dist/harmony148.mjs.map +1 -1
- package/dist/harmony17.cjs +1 -1
- package/dist/harmony17.mjs +1 -1
- package/dist/harmony25.cjs +1 -1
- package/dist/harmony25.mjs +1 -1
- package/dist/harmony26.cjs +1 -1
- package/dist/harmony26.mjs +1 -1
- package/dist/harmony4.cjs +15 -24
- package/dist/harmony4.cjs.map +1 -1
- package/dist/harmony4.mjs +15 -24
- package/dist/harmony4.mjs.map +1 -1
- package/dist/harmony5.cjs +1 -1
- package/dist/harmony5.mjs +1 -1
- package/dist/harmony6.cjs +3 -3
- package/dist/harmony6.mjs +3 -3
- package/dist/harmony7.cjs +1 -1
- package/dist/harmony7.mjs +1 -1
- package/dist/harmony75.cjs +1 -1
- package/dist/harmony75.mjs +1 -1
- package/dist/harmony76.cjs +51 -6
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +50 -5
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +38 -8
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +38 -8
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony78.cjs +9 -18
- package/dist/harmony78.cjs.map +1 -1
- package/dist/harmony78.mjs +8 -17
- package/dist/harmony78.mjs.map +1 -1
- package/dist/harmony79.cjs +6 -21
- package/dist/harmony79.cjs.map +1 -1
- package/dist/harmony79.mjs +8 -23
- package/dist/harmony79.mjs.map +1 -1
- package/dist/harmony8.cjs +5 -5
- package/dist/harmony8.mjs +5 -5
- package/dist/harmony80.cjs +28 -4
- package/dist/harmony80.cjs.map +1 -1
- package/dist/harmony80.mjs +28 -4
- package/dist/harmony80.mjs.map +1 -1
- package/dist/harmony81.cjs +3 -32
- package/dist/harmony81.cjs.map +1 -1
- package/dist/harmony81.mjs +3 -32
- package/dist/harmony81.mjs.map +1 -1
- package/dist/harmony82.cjs +30 -29
- package/dist/harmony82.cjs.map +1 -1
- package/dist/harmony82.mjs +31 -30
- package/dist/harmony82.mjs.map +1 -1
- package/dist/harmony83.cjs +43 -19
- package/dist/harmony83.cjs.map +1 -1
- package/dist/harmony83.mjs +43 -19
- package/dist/harmony83.mjs.map +1 -1
- package/dist/harmony84.cjs +27 -29
- package/dist/harmony84.cjs.map +1 -1
- package/dist/harmony84.mjs +27 -29
- package/dist/harmony84.mjs.map +1 -1
- package/dist/harmony85.cjs +64 -57
- package/dist/harmony85.cjs.map +1 -1
- package/dist/harmony85.mjs +64 -57
- package/dist/harmony85.mjs.map +1 -1
- package/dist/harmony86.cjs +15 -9
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +14 -8
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +3 -8
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +3 -8
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +10 -27
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +11 -28
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +13 -4
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +12 -3
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +9 -31
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +10 -32
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +22 -44
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +21 -43
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +160 -23
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +160 -23
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +41 -63
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +41 -63
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +25 -13
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +26 -14
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +3 -3
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +3 -3
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +16 -9
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +18 -11
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +75 -21
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +74 -20
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +9 -163
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +10 -164
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +30 -44
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +30 -44
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/components/Sidebar/Sidebar.d.ts +15 -49
- package/dist/types/src/components/Sidebar/SidebarContent/SidebarContent.d.ts +7 -0
- package/dist/types/src/components/Sidebar/SidebarContext.d.ts +3 -0
- package/dist/types/src/components/Sidebar/SidebarProvider.d.ts +3 -0
- package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +5 -0
- package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.d.ts +13 -0
- package/dist/types/src/components/Sidebar/Widgets/HelpMenu/HelpMenu.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/IconLink/IconLink.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/Menu/Menu.d.ts +3 -2
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.d.ts +13 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.d.ts +17 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.d.ts +17 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.d.ts +18 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.d.ts +11 -24
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.stories.d.ts +3 -5
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.d.ts +10 -35
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.d.ts +13 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts +1 -3
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.d.ts +13 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.d.ts +5 -7
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.d.ts +6 -9
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.test.d.ts +1 -0
- package/dist/types/src/components/Sidebar/Widgets/Tasks/utils/content.d.ts +4 -0
- package/dist/types/src/components/Sidebar/hooks/useSidebar.d.ts +1 -0
- package/dist/types/src/components/Sidebar/hooks/useSidebarDataLoader.d.ts +5 -0
- package/dist/types/src/components/Sidebar/types.d.ts +72 -0
- package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +16 -10
- package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +15 -11
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedSessionPayload.d.ts +7 -5
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +2 -2
- package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/permissionTemplates.d.ts +4 -4
- package/dist/types/src/features/publicApi/projects.d.ts +8 -8
- package/dist/types/src/features/publicApi/teamUsers.d.ts +8 -8
- package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +6 -6
- package/dist/types/src/features/publicApi/types/permissionTypes.d.ts +2 -2
- package/dist/types/src/features/publicApi/types/projectTypes.d.ts +12 -12
- package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +10 -10
- package/dist/types/src/utils/user/permissions.d.ts +9 -0
- package/dist/types/src/utils/user/permissions.test.d.ts +1 -0
- package/dist/types/tests/mocks/sidebar/sidebar.d.ts +19 -0
- package/dist/types/tests/utils/sidebar.d.ts +4 -0
- package/package.json +1 -1
- package/dist/harmony149.cjs +0 -9
- package/dist/harmony149.cjs.map +0 -1
- package/dist/harmony149.mjs +0 -9
- package/dist/harmony149.mjs.map +0 -1
- package/dist/harmony150.cjs +0 -15
- package/dist/harmony150.cjs.map +0 -1
- package/dist/harmony150.mjs +0 -15
- package/dist/harmony150.mjs.map +0 -1
- package/dist/harmony151.cjs +0 -35
- package/dist/harmony151.cjs.map +0 -1
- package/dist/harmony151.mjs +0 -35
- package/dist/harmony151.mjs.map +0 -1
- package/dist/harmony152.cjs +0 -17
- package/dist/harmony152.cjs.map +0 -1
- package/dist/harmony152.mjs +0 -17
- package/dist/harmony152.mjs.map +0 -1
- package/dist/harmony153.cjs +0 -49
- package/dist/harmony153.cjs.map +0 -1
- package/dist/harmony153.mjs +0 -49
- package/dist/harmony153.mjs.map +0 -1
- package/dist/harmony154.cjs +0 -15
- package/dist/harmony154.cjs.map +0 -1
- package/dist/harmony154.mjs +0 -15
- package/dist/harmony154.mjs.map +0 -1
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.d.ts +0 -6
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.d.ts +0 -3
- package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.d.ts +0 -7
- package/dist/types/src/components/Sidebar/utils/index.d.ts +0 -4
- /package/dist/types/src/components/Sidebar/Widgets/{ProfileMenu/ProfileMenu.test.d.ts → Avatar/Avatar.test.d.ts} +0 -0
- /package/dist/types/src/components/Sidebar/{UpgradeIcon → Widgets/ProfileMenu/UpgradeIcon}/UpgradeIcon.d.ts +0 -0
package/dist/harmony112.mjs
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony98.mjs";
|
3
|
+
import { MenuItem } from "@lokalise/louis";
|
4
|
+
import { canAccessProviderDashboard } from "./harmony99.mjs";
|
5
|
+
const ProviderMenuItem = () => {
|
6
|
+
const {
|
7
|
+
data: { jwt }
|
8
|
+
} = useSidebar();
|
9
|
+
if (!canAccessProviderDashboard(jwt.result)) {
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
return /* @__PURE__ */ jsx(MenuItem, { href: "/provider", children: "Provider dashboard" });
|
8
13
|
};
|
9
14
|
export {
|
10
|
-
|
11
|
-
styles as default,
|
12
|
-
planCta,
|
13
|
-
upgradeIconWrapper
|
15
|
+
ProviderMenuItem
|
14
16
|
};
|
15
17
|
//# sourceMappingURL=harmony112.mjs.map
|
package/dist/harmony112.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony112.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony112.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessProviderDashboard } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the provider dashboard.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <ProviderMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const ProviderMenuItem = () => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canAccessProviderDashboard(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/provider\">Provider dashboard</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,mBAAmB,MAAM;AAC/B,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,2BAA2B,IAAI,MAAM,GAAG;AACrC,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,aAAY,UAAkB,sBAAA;AACrD;"}
|
package/dist/harmony113.cjs
CHANGED
@@ -1,17 +1,40 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __defProp = Object.defineProperty;
|
3
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
5
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
6
|
-
const
|
7
|
-
const
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony98.cjs");
|
5
|
+
const louis = require("@lokalise/louis");
|
6
|
+
const plan = require("./harmony9.cjs");
|
7
|
+
const TeamMenuItem_module = require("./harmony133.cjs");
|
8
|
+
const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
|
9
|
+
var _a;
|
10
|
+
const {
|
11
|
+
data: { currentTeam, jwt }
|
12
|
+
} = useSidebar.useSidebar();
|
13
|
+
const contextTeam = team || currentTeam.result;
|
14
|
+
if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
|
15
|
+
return null;
|
12
16
|
}
|
17
|
+
const planId = jwt.result.planId;
|
18
|
+
const planLabel = plan.isFreePlan(planId) ? "Free" : plan.isTrialPlan(planId) ? "Trial" : void 0;
|
19
|
+
const WrapperNode = onClick ? louis.MenuItem : "div";
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
21
|
+
WrapperNode,
|
22
|
+
{
|
23
|
+
"data-testid": "sidebar-team-menu-item",
|
24
|
+
className: TeamMenuItem_module.default.wrapper,
|
25
|
+
...onClick && { onClick: () => onClick(contextTeam) },
|
26
|
+
children: [
|
27
|
+
contextTeam.logoUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { className: TeamMenuItem_module.default.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${TeamMenuItem_module.default.defaultProfileImage}`, children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" }) }),
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.teamDetails, children: [
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TeamMenuItem_module.default.planWrapper, children: [
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { title: contextTeam.name, className: TeamMenuItem_module.default.teamName, children: contextTeam.name }),
|
31
|
+
planLabel && !hidePlanLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.teamName, children: planLabel })
|
32
|
+
] }),
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: TeamMenuItem_module.default.membership, children: contextTeam.role })
|
34
|
+
] })
|
35
|
+
]
|
36
|
+
}
|
37
|
+
);
|
13
38
|
};
|
14
|
-
|
15
|
-
let NewJwtIssuedEvent = _NewJwtIssuedEvent;
|
16
|
-
exports.NewJwtIssuedEvent = NewJwtIssuedEvent;
|
39
|
+
exports.TeamMenuItem = TeamMenuItem;
|
17
40
|
//# sourceMappingURL=harmony113.cjs.map
|
package/dist/harmony113.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony113.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony113.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tdata: { currentTeam, jwt },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":["useSidebar","isFreePlan","isTrialPlan","MenuItem","jsxs","styles","jsx","UserIcon"],"mappings":";;;;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL,MAAM,EAAE,aAAa,IAAI;AAAA,MACtBA,sBAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAYC,gBAAW,MAAM,IAAI,SAASC,iBAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAUC,MAAAA,WAAW;AAGxC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAWC,oBAAO,QAAA;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,yCACX,OAAI,EAAA,WAAWA,oBAAAA,QAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9EC,+BAAA,QAAA,EAAK,WAAW,GAAGD,oBAAO,QAAA,mBAAmB,IAC7C,UAACC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEAH,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,UAACD,2BAAA,KAAA,OAAA,EAAI,WAAWC,oBAAAA,QAAO,aACtB,UAAA;AAAA,YAACC,2BAAAA,IAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAWD,oBAAAA,QAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiBC,2BAAAA,IAAC,UAAK,WAAWD,4BAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,yCACC,QAAK,EAAA,WAAWA,oBAAAA,QAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
|
package/dist/harmony113.mjs
CHANGED
@@ -1,17 +1,40 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
}
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony98.mjs";
|
3
|
+
import { MenuItem, UserIcon } from "@lokalise/louis";
|
4
|
+
import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
|
5
|
+
import styles from "./harmony133.mjs";
|
6
|
+
const TeamMenuItem = ({ team, onClick, hidePlanLabel }) => {
|
7
|
+
var _a;
|
8
|
+
const {
|
9
|
+
data: { currentTeam, jwt }
|
10
|
+
} = useSidebar();
|
11
|
+
const contextTeam = team || currentTeam.result;
|
12
|
+
if (!contextTeam || typeof ((_a = jwt.result) == null ? void 0 : _a.planId) !== "number" || !Number.isFinite(jwt.result.planId)) {
|
13
|
+
return null;
|
10
14
|
}
|
15
|
+
const planId = jwt.result.planId;
|
16
|
+
const planLabel = isFreePlan(planId) ? "Free" : isTrialPlan(planId) ? "Trial" : void 0;
|
17
|
+
const WrapperNode = onClick ? MenuItem : "div";
|
18
|
+
return /* @__PURE__ */ jsxs(
|
19
|
+
WrapperNode,
|
20
|
+
{
|
21
|
+
"data-testid": "sidebar-team-menu-item",
|
22
|
+
className: styles.wrapper,
|
23
|
+
...onClick && { onClick: () => onClick(contextTeam) },
|
24
|
+
children: [
|
25
|
+
contextTeam.logoUrl ? /* @__PURE__ */ jsx("img", { className: styles.profileImage, src: contextTeam.logoUrl, alt: "Team logo" }) : /* @__PURE__ */ jsx("span", { className: `${styles.defaultProfileImage}`, children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" }) }),
|
26
|
+
/* @__PURE__ */ jsxs("div", { className: styles.teamDetails, children: [
|
27
|
+
/* @__PURE__ */ jsxs("div", { className: styles.planWrapper, children: [
|
28
|
+
/* @__PURE__ */ jsx("span", { title: contextTeam.name, className: styles.teamName, children: contextTeam.name }),
|
29
|
+
planLabel && !hidePlanLabel && /* @__PURE__ */ jsx("span", { className: styles.teamName, children: planLabel })
|
30
|
+
] }),
|
31
|
+
/* @__PURE__ */ jsx("span", { className: styles.membership, children: contextTeam.role })
|
32
|
+
] })
|
33
|
+
]
|
34
|
+
}
|
35
|
+
);
|
11
36
|
};
|
12
|
-
__publicField(_NewJwtIssuedEvent, "eventName", "new-jwt-issued");
|
13
|
-
let NewJwtIssuedEvent = _NewJwtIssuedEvent;
|
14
37
|
export {
|
15
|
-
|
38
|
+
TeamMenuItem
|
16
39
|
};
|
17
40
|
//# sourceMappingURL=harmony113.mjs.map
|
package/dist/harmony113.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony113.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony113.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem, UserIcon } from '@lokalise/louis'\nimport { isFreePlan, isTrialPlan } from '@utils'\nimport type { SidebarTeam } from '../../../types'\nimport styles from './TeamMenuItem.module.css'\n\ntype TeamMenuItemProps = {\n\t/** Team to display. If not provided, uses the current team from context */\n\tteam?: SidebarTeam\n\t/** Callback for when the team item is clicked. If provided, renders as a clickable MenuItem */\n\tonClick?: (team: SidebarTeam) => void\n\t/** Whether to hide the plan label (Free/Trial). Useful when displaying multiple teams */\n\thidePlanLabel?: boolean\n}\n\n/**\n * A component that displays team information in a menu item format.\n * Renders team logo (or default user icon), team name, role, and plan label.\n *\n * The component can be used in two modes:\n * 1. As a static display of the current team (when no onClick handler is provided)\n * 2. As a clickable menu item for team switching (when onClick handler is provided)\n *\n * @example\n * ```tsx\n * // Static current team display\n * <TeamMenuItem />\n *\n * // Clickable team item for switching\n * <TeamMenuItem\n * team={someTeam}\n * onClick={(team) => handleTeamSwitch(team)}\n * hidePlanLabel\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamMenuItem = ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => {\n\tconst {\n\t\tdata: { currentTeam, jwt },\n\t} = useSidebar()\n\n\tconst contextTeam = team || currentTeam.result\n\n\tif (\n\t\t!contextTeam ||\n\t\ttypeof jwt.result?.planId !== 'number' ||\n\t\t!Number.isFinite(jwt.result.planId)\n\t) {\n\t\treturn null\n\t}\n\n\tconst planId = jwt.result.planId\n\n\tconst planLabel = isFreePlan(planId) ? 'Free' : isTrialPlan(planId) ? 'Trial' : undefined\n\n\tconst WrapperNode = onClick ? MenuItem : 'div'\n\n\treturn (\n\t\t<WrapperNode\n\t\t\tdata-testid=\"sidebar-team-menu-item\"\n\t\t\tclassName={styles.wrapper}\n\t\t\t{...(onClick && { onClick: () => onClick(contextTeam) })}\n\t\t>\n\t\t\t{contextTeam.logoUrl ? (\n\t\t\t\t<img className={styles.profileImage} src={contextTeam.logoUrl} alt=\"Team logo\" />\n\t\t\t) : (\n\t\t\t\t<span className={`${styles.defaultProfileImage}`}>\n\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div className={styles.teamDetails}>\n\t\t\t\t<div className={styles.planWrapper}>\n\t\t\t\t\t<span title={contextTeam.name} className={styles.teamName}>\n\t\t\t\t\t\t{contextTeam.name}\n\t\t\t\t\t</span>\n\t\t\t\t\t{planLabel && !hidePlanLabel && <span className={styles.teamName}>{planLabel}</span>}\n\t\t\t\t</div>\n\t\t\t\t<span className={styles.membership}>{contextTeam.role}</span>\n\t\t\t</div>\n\t\t</WrapperNode>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAuCO,MAAM,eAAe,CAAC,EAAE,MAAM,SAAS,oBAAuC;;AAC9E,QAAA;AAAA,IACL,MAAM,EAAE,aAAa,IAAI;AAAA,MACtB,WAAW;AAET,QAAA,cAAc,QAAQ,YAAY;AAExC,MACC,CAAC,eACD,SAAO,SAAI,WAAJ,mBAAY,YAAW,YAC9B,CAAC,OAAO,SAAS,IAAI,OAAO,MAAM,GACjC;AACM,WAAA;AAAA,EAAA;AAGF,QAAA,SAAS,IAAI,OAAO;AAEpB,QAAA,YAAY,WAAW,MAAM,IAAI,SAAS,YAAY,MAAM,IAAI,UAAU;AAE1E,QAAA,cAAc,UAAU,WAAW;AAGxC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,OAAO;AAAA,MACjB,GAAI,WAAW,EAAE,SAAS,MAAM,QAAQ,WAAW,EAAE;AAAA,MAErD,UAAA;AAAA,QAAY,YAAA,8BACX,OAAI,EAAA,WAAW,OAAO,cAAc,KAAK,YAAY,SAAS,KAAI,YAAA,CAAY,IAE9E,oBAAA,QAAA,EAAK,WAAW,GAAG,OAAO,mBAAmB,IAC7C,UAAC,oBAAA,UAAA,EAAS,MAAK,OAAA,CAAO,EACvB,CAAA;AAAA,QAEA,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,UAAC,qBAAA,OAAA,EAAI,WAAW,OAAO,aACtB,UAAA;AAAA,YAAC,oBAAA,QAAA,EAAK,OAAO,YAAY,MAAM,WAAW,OAAO,UAC/C,sBAAY,KACd,CAAA;AAAA,YACC,aAAa,CAAC,iBAAiB,oBAAC,UAAK,WAAW,OAAO,UAAW,UAAU,UAAA,CAAA;AAAA,UAAA,GAC9E;AAAA,8BACC,QAAK,EAAA,WAAW,OAAO,YAAa,sBAAY,KAAK,CAAA;AAAA,QAAA,EACvD,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
|
package/dist/harmony114.cjs
CHANGED
@@ -1,21 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
isFullyAuthenticated: zod.z.boolean(),
|
18
|
-
exp: zod.z.number()
|
19
|
-
});
|
20
|
-
exports.JWT_TOKEN_PAYLOAD_SCHEMA = JWT_TOKEN_PAYLOAD_SCHEMA;
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony98.cjs");
|
5
|
+
const louis = require("@lokalise/louis");
|
6
|
+
const permissions = require("./harmony99.cjs");
|
7
|
+
const TeamSettingsMenuItem = () => {
|
8
|
+
const {
|
9
|
+
data: { jwt }
|
10
|
+
} = useSidebar.useSidebar();
|
11
|
+
if (!permissions.canAccessTeamSettings(jwt.result)) {
|
12
|
+
return null;
|
13
|
+
}
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team", children: "Team settings" });
|
15
|
+
};
|
16
|
+
exports.TeamSettingsMenuItem = TeamSettingsMenuItem;
|
21
17
|
//# sourceMappingURL=harmony114.cjs.map
|
package/dist/harmony114.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony114.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony114.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":["useSidebar","canAccessTeamSettings","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,sBAAsB,IAAI,MAAM,GAAG;AAChC,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;;"}
|
package/dist/harmony114.mjs
CHANGED
@@ -1,21 +1,17 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
isProviderAlpha: z.boolean(),
|
15
|
-
isFullyAuthenticated: z.boolean(),
|
16
|
-
exp: z.number()
|
17
|
-
});
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony98.mjs";
|
3
|
+
import { MenuItem } from "@lokalise/louis";
|
4
|
+
import { canAccessTeamSettings } from "./harmony99.mjs";
|
5
|
+
const TeamSettingsMenuItem = () => {
|
6
|
+
const {
|
7
|
+
data: { jwt }
|
8
|
+
} = useSidebar();
|
9
|
+
if (!canAccessTeamSettings(jwt.result)) {
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
return /* @__PURE__ */ jsx(MenuItem, { href: "/team", children: "Team settings" });
|
13
|
+
};
|
18
14
|
export {
|
19
|
-
|
15
|
+
TeamSettingsMenuItem
|
20
16
|
};
|
21
17
|
//# sourceMappingURL=harmony114.mjs.map
|
package/dist/harmony114.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony114.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony114.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canAccessTeamSettings } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the team settings page.\n * It checks the current user's permissions using the Sidebar context\n * and renders nothing if the user does not have access.\n *\n * @example\n * ```\n * <TeamSettingsMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const TeamSettingsMenuItem = () => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canAccessTeamSettings(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team\">Team settings</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,uBAAuB,MAAM;AACnC,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,sBAAsB,IAAI,MAAM,GAAG;AAChC,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,SAAQ,UAAa,iBAAA;AAC5C;"}
|
package/dist/harmony115.cjs
CHANGED
@@ -1,102 +1,25 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
get: () => e[k]
|
15
|
-
});
|
16
|
-
}
|
17
|
-
}
|
18
|
-
}
|
19
|
-
n.default = e;
|
20
|
-
return Object.freeze(n);
|
21
|
-
}
|
22
|
-
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
23
|
-
const patchResizeCallback = (resizeCallback, refreshMode, refreshRate, refreshOptions) => {
|
24
|
-
switch (refreshMode) {
|
25
|
-
case "debounce":
|
26
|
-
return debounce.default(resizeCallback, refreshRate, refreshOptions);
|
27
|
-
case "throttle":
|
28
|
-
return throttle.default(resizeCallback, refreshRate, refreshOptions);
|
29
|
-
default:
|
30
|
-
return resizeCallback;
|
31
|
-
}
|
32
|
-
};
|
33
|
-
const useCallbackRef = (
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
35
|
-
(callback) => {
|
36
|
-
const callbackRef = React__namespace.useRef(callback);
|
37
|
-
React__namespace.useEffect(() => {
|
38
|
-
callbackRef.current = callback;
|
39
|
-
});
|
40
|
-
return React__namespace.useMemo(() => (...args) => {
|
41
|
-
var _a;
|
42
|
-
return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
|
43
|
-
}, []);
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony98.cjs");
|
5
|
+
const TeamMenuItem = require("./harmony113.cjs");
|
6
|
+
const TeamSwitch_module = require("./harmony134.cjs");
|
7
|
+
const TeamSwitch = ({ onSwitchTeam }) => {
|
8
|
+
var _a, _b;
|
9
|
+
const {
|
10
|
+
data: { otherTeams }
|
11
|
+
} = useSidebar.useSidebar();
|
12
|
+
if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
|
13
|
+
return null;
|
44
14
|
}
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
setTimeout(() => {
|
52
|
-
if (targetRef.current !== refElement) {
|
53
|
-
setRefElement(targetRef.current);
|
54
|
-
}
|
55
|
-
}, 0);
|
15
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
16
|
+
"div",
|
17
|
+
{
|
18
|
+
"data-testid": "sidebar-team-switch",
|
19
|
+
className: `flex-col items-stretch ${TeamSwitch_module.default.teamsContainer}`,
|
20
|
+
children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
|
56
21
|
}
|
57
|
-
|
58
|
-
if (node !== refElement) {
|
59
|
-
setRefElement(node);
|
60
|
-
}
|
61
|
-
}, {
|
62
|
-
get(target, prop) {
|
63
|
-
if (prop === "current") {
|
64
|
-
return refElement;
|
65
|
-
}
|
66
|
-
return target[prop];
|
67
|
-
},
|
68
|
-
set(target, prop, value) {
|
69
|
-
if (prop === "current") {
|
70
|
-
setRefElement(value);
|
71
|
-
} else {
|
72
|
-
target[prop] = value;
|
73
|
-
}
|
74
|
-
return true;
|
75
|
-
}
|
76
|
-
}), [refElement]);
|
77
|
-
return { refProxy, refElement, setRefElement };
|
78
|
-
}
|
79
|
-
);
|
80
|
-
const getDimensions = (entry, box) => {
|
81
|
-
if (box === "border-box") {
|
82
|
-
return {
|
83
|
-
width: entry.borderBoxSize[0].inlineSize,
|
84
|
-
height: entry.borderBoxSize[0].blockSize
|
85
|
-
};
|
86
|
-
}
|
87
|
-
if (box === "content-box") {
|
88
|
-
return {
|
89
|
-
width: entry.contentBoxSize[0].inlineSize,
|
90
|
-
height: entry.contentBoxSize[0].blockSize
|
91
|
-
};
|
92
|
-
}
|
93
|
-
return {
|
94
|
-
width: entry.contentRect.width,
|
95
|
-
height: entry.contentRect.height
|
96
|
-
};
|
22
|
+
);
|
97
23
|
};
|
98
|
-
exports.
|
99
|
-
exports.patchResizeCallback = patchResizeCallback;
|
100
|
-
exports.useCallbackRef = useCallbackRef;
|
101
|
-
exports.useRefProxy = useRefProxy;
|
24
|
+
exports.TeamSwitch = TeamSwitch;
|
102
25
|
//# sourceMappingURL=harmony115.cjs.map
|
package/dist/harmony115.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony115.cjs","sources":["../
|
1
|
+
{"version":3,"file":"harmony115.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":["useSidebar","jsx","styles","TeamMenuItem"],"mappings":";;;;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChBA,sBAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0BC,kBAAA,QAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvBD,2BAAAA,IAAAE,aAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;;"}
|
package/dist/harmony115.mjs
CHANGED
@@ -1,85 +1,25 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony98.mjs";
|
3
|
+
import { TeamMenuItem } from "./harmony113.mjs";
|
4
|
+
import styles from "./harmony134.mjs";
|
5
|
+
const TeamSwitch = ({ onSwitchTeam }) => {
|
6
|
+
var _a, _b;
|
7
|
+
const {
|
8
|
+
data: { otherTeams }
|
9
|
+
} = useSidebar();
|
10
|
+
if (((_a = otherTeams.result) == null ? void 0 : _a.length) === 0) {
|
11
|
+
return null;
|
12
12
|
}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
callbackRef.current = callback;
|
20
|
-
});
|
21
|
-
return React.useMemo(() => (...args) => {
|
22
|
-
var _a;
|
23
|
-
return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef, ...args);
|
24
|
-
}, []);
|
25
|
-
}
|
26
|
-
);
|
27
|
-
const useRefProxy = (
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
29
|
-
(targetRef) => {
|
30
|
-
const [refElement, setRefElement] = React.useState((targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null);
|
31
|
-
if (targetRef) {
|
32
|
-
setTimeout(() => {
|
33
|
-
if (targetRef.current !== refElement) {
|
34
|
-
setRefElement(targetRef.current);
|
35
|
-
}
|
36
|
-
}, 0);
|
13
|
+
return /* @__PURE__ */ jsx(
|
14
|
+
"div",
|
15
|
+
{
|
16
|
+
"data-testid": "sidebar-team-switch",
|
17
|
+
className: `flex-col items-stretch ${styles.teamsContainer}`,
|
18
|
+
children: (_b = otherTeams.result) == null ? void 0 : _b.map((team) => /* @__PURE__ */ jsx(TeamMenuItem, { team, onClick: onSwitchTeam, hidePlanLabel: true }, team.id))
|
37
19
|
}
|
38
|
-
|
39
|
-
if (node !== refElement) {
|
40
|
-
setRefElement(node);
|
41
|
-
}
|
42
|
-
}, {
|
43
|
-
get(target, prop) {
|
44
|
-
if (prop === "current") {
|
45
|
-
return refElement;
|
46
|
-
}
|
47
|
-
return target[prop];
|
48
|
-
},
|
49
|
-
set(target, prop, value) {
|
50
|
-
if (prop === "current") {
|
51
|
-
setRefElement(value);
|
52
|
-
} else {
|
53
|
-
target[prop] = value;
|
54
|
-
}
|
55
|
-
return true;
|
56
|
-
}
|
57
|
-
}), [refElement]);
|
58
|
-
return { refProxy, refElement, setRefElement };
|
59
|
-
}
|
60
|
-
);
|
61
|
-
const getDimensions = (entry, box) => {
|
62
|
-
if (box === "border-box") {
|
63
|
-
return {
|
64
|
-
width: entry.borderBoxSize[0].inlineSize,
|
65
|
-
height: entry.borderBoxSize[0].blockSize
|
66
|
-
};
|
67
|
-
}
|
68
|
-
if (box === "content-box") {
|
69
|
-
return {
|
70
|
-
width: entry.contentBoxSize[0].inlineSize,
|
71
|
-
height: entry.contentBoxSize[0].blockSize
|
72
|
-
};
|
73
|
-
}
|
74
|
-
return {
|
75
|
-
width: entry.contentRect.width,
|
76
|
-
height: entry.contentRect.height
|
77
|
-
};
|
20
|
+
);
|
78
21
|
};
|
79
22
|
export {
|
80
|
-
|
81
|
-
patchResizeCallback,
|
82
|
-
useCallbackRef,
|
83
|
-
useRefProxy
|
23
|
+
TeamSwitch
|
84
24
|
};
|
85
25
|
//# sourceMappingURL=harmony115.mjs.map
|
package/dist/harmony115.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony115.mjs","sources":["../
|
1
|
+
{"version":3,"file":"harmony115.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { SidebarTeam } from '@components/Sidebar/types'\nimport { TeamMenuItem } from '../TeamMenuItem/TeamMenuItem'\nimport styles from './TeamSwitch.module.css'\n\n/**\n * A component that displays a list of available teams for switching.\n * It automatically excludes the current team from the list and renders\n * nothing if there are no other teams available.\n *\n * Uses the Sidebar context to access the list of other teams and\n * renders each team as a TeamMenuItem with click functionality.\n *\n * @example\n * ```tsx\n * <TeamSwitch\n * onSwitchTeam={(team) => {\n * console.log(`Switching to team: ${team.name}`);\n * // Handle team switch logic\n * }}\n * />\n * ```\n *\n * @note This component must be used within a Sidebar Context\n */\n\ntype TeamSwitchProps = {\n\tonSwitchTeam: (team: SidebarTeam) => void\n}\n\nexport const TeamSwitch = ({ onSwitchTeam }: TeamSwitchProps) => {\n\tconst {\n\t\tdata: { otherTeams },\n\t} = useSidebar()\n\n\tif (otherTeams.result?.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"sidebar-team-switch\"\n\t\t\tclassName={`flex-col items-stretch ${styles.teamsContainer}`}\n\t\t>\n\t\t\t{otherTeams.result?.map((team) => (\n\t\t\t\t<TeamMenuItem team={team} key={team.id} onClick={onSwitchTeam} hidePlanLabel />\n\t\t\t))}\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;;;AA8BO,MAAM,aAAa,CAAC,EAAE,mBAAoC;;AAC1D,QAAA;AAAA,IACL,MAAM,EAAE,WAAW;AAAA,MAChB,WAAW;AAEX,QAAA,gBAAW,WAAX,mBAAmB,YAAW,GAAG;AAC7B,WAAA;AAAA,EAAA;AAIP,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,eAAY;AAAA,MACZ,WAAW,0BAA0B,OAAO,cAAc;AAAA,MAEzD,WAAW,gBAAA,WAAA,mBAAQ,IAAI,CAAC,SACvB,oBAAA,cAAA,EAAa,MAA0B,SAAS,cAAc,eAAa,KAA7C,GAAA,KAAK,EAAyC;AAAA,IAC7E;AAAA,EACF;AAEF;"}
|