@lokalise/harmony 1.37.0 → 1.37.1-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 +10 -6
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +9 -5
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +22 -14
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +24 -16
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +14 -12
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +13 -11
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +34 -96
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +34 -79
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +12 -12
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +12 -12
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +22 -18
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +22 -18
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +35 -21
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +34 -20
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +21 -6
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +20 -5
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +19 -130
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +19 -130
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +3 -9
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +3 -9
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +16 -6
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +15 -5
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +6 -41
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +5 -40
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +6 -61
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +5 -60
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +9 -7
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +8 -6
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +3 -3
- package/dist/harmony114.mjs +3 -3
- package/dist/harmony115.cjs +9 -5
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +9 -5
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +24 -5
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +24 -5
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +7 -97
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +6 -96
- package/dist/harmony117.mjs.map +1 -1
- package/dist/harmony118.cjs +13 -14
- package/dist/harmony118.cjs.map +1 -1
- package/dist/harmony118.mjs +12 -13
- package/dist/harmony118.mjs.map +1 -1
- package/dist/harmony119.cjs +7 -15
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +6 -14
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +94 -34
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +94 -34
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +11 -26
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +11 -26
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +12 -60
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +12 -60
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +36 -88
- package/dist/harmony123.cjs.map +1 -1
- package/dist/harmony123.mjs +36 -88
- package/dist/harmony123.mjs.map +1 -1
- package/dist/harmony124.cjs +29 -19
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +28 -18
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +1 -1
- package/dist/harmony125.mjs +1 -1
- package/dist/harmony126.cjs +1 -1
- package/dist/harmony126.mjs +1 -1
- package/dist/harmony127.cjs +2 -2
- package/dist/harmony127.mjs +2 -2
- package/dist/harmony128.cjs +11 -7
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +11 -7
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +15 -56
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +15 -56
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony13.cjs +1 -1
- package/dist/harmony13.mjs +1 -1
- package/dist/harmony130.cjs +20 -59
- package/dist/harmony130.cjs.map +1 -1
- package/dist/harmony130.mjs +20 -59
- package/dist/harmony130.mjs.map +1 -1
- package/dist/harmony131.cjs +13 -19
- package/dist/harmony131.cjs.map +1 -1
- package/dist/harmony131.mjs +12 -18
- package/dist/harmony131.mjs.map +1 -1
- package/dist/harmony132.cjs +5 -10
- package/dist/harmony132.cjs.map +1 -1
- package/dist/harmony132.mjs +5 -10
- package/dist/harmony132.mjs.map +1 -1
- package/dist/harmony133.cjs +11 -15
- package/dist/harmony133.cjs.map +1 -1
- package/dist/harmony133.mjs +11 -15
- package/dist/harmony133.mjs.map +1 -1
- package/dist/harmony134.cjs +28 -17
- package/dist/harmony134.cjs.map +1 -1
- package/dist/harmony134.mjs +28 -17
- package/dist/harmony134.mjs.map +1 -1
- package/dist/harmony135.cjs +12 -10
- package/dist/harmony135.cjs.map +1 -1
- package/dist/harmony135.mjs +12 -10
- package/dist/harmony135.mjs.map +1 -1
- package/dist/harmony16.cjs +1 -1
- package/dist/harmony16.mjs +1 -1
- package/dist/harmony23.cjs +1 -1
- package/dist/harmony23.mjs +1 -1
- package/dist/harmony24.cjs +1 -1
- package/dist/harmony24.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/harmony72.cjs +1 -1
- package/dist/harmony72.mjs +1 -1
- package/dist/harmony73.cjs +51 -6
- package/dist/harmony73.cjs.map +1 -1
- package/dist/harmony73.mjs +50 -5
- package/dist/harmony73.mjs.map +1 -1
- package/dist/harmony74.cjs +38 -8
- package/dist/harmony74.cjs.map +1 -1
- package/dist/harmony74.mjs +39 -9
- package/dist/harmony74.mjs.map +1 -1
- package/dist/harmony75.cjs +9 -18
- package/dist/harmony75.cjs.map +1 -1
- package/dist/harmony75.mjs +8 -17
- package/dist/harmony75.mjs.map +1 -1
- package/dist/harmony76.cjs +6 -21
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +8 -23
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +28 -4
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +28 -4
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony78.cjs +3 -32
- package/dist/harmony78.cjs.map +1 -1
- package/dist/harmony78.mjs +3 -32
- package/dist/harmony78.mjs.map +1 -1
- package/dist/harmony79.cjs +30 -29
- package/dist/harmony79.cjs.map +1 -1
- package/dist/harmony79.mjs +31 -30
- package/dist/harmony79.mjs.map +1 -1
- package/dist/harmony80.cjs +25 -17
- package/dist/harmony80.cjs.map +1 -1
- package/dist/harmony80.mjs +25 -17
- package/dist/harmony80.mjs.map +1 -1
- package/dist/harmony81.cjs +3 -31
- package/dist/harmony81.cjs.map +1 -1
- package/dist/harmony81.mjs +3 -31
- package/dist/harmony81.mjs.map +1 -1
- package/dist/harmony82.cjs +12 -53
- package/dist/harmony82.cjs.map +1 -1
- package/dist/harmony82.mjs +14 -55
- package/dist/harmony82.mjs.map +1 -1
- package/dist/harmony83.cjs +75 -9
- package/dist/harmony83.cjs.map +1 -1
- package/dist/harmony83.mjs +74 -8
- package/dist/harmony83.mjs.map +1 -1
- package/dist/harmony84.cjs +11 -7
- package/dist/harmony84.cjs.map +1 -1
- package/dist/harmony84.mjs +12 -8
- package/dist/harmony84.mjs.map +1 -1
- package/dist/harmony85.cjs +29 -28
- package/dist/harmony85.cjs.map +1 -1
- package/dist/harmony85.mjs +29 -28
- package/dist/harmony85.mjs.map +1 -1
- package/dist/harmony86.cjs +9 -3
- package/dist/harmony86.cjs.map +1 -1
- package/dist/harmony86.mjs +9 -3
- package/dist/harmony86.mjs.map +1 -1
- package/dist/harmony87.cjs +42 -28
- package/dist/harmony87.cjs.map +1 -1
- package/dist/harmony87.mjs +44 -30
- package/dist/harmony87.mjs.map +1 -1
- package/dist/harmony88.cjs +9 -12
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +8 -11
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +12 -13
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +11 -12
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +22 -12
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +21 -11
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +12 -21
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +11 -20
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +9 -3
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +9 -3
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +99 -9
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +81 -8
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +14 -9
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +13 -8
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +20 -57
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +20 -57
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +9 -42
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +8 -41
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +14 -5
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +14 -5
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +17 -9
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +16 -8
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +21 -24
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +20 -23
- 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/useCreateProjectMutation.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/useListProjectsQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListTeamUsersQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +1 -1
- package/dist/types/src/features/publicApi/permissionTemplates.d.ts +4 -4
- package/dist/types/src/features/publicApi/projects.d.ts +18 -18
- 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 +18 -18
- 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/harmony136.cjs +0 -9
- package/dist/harmony136.cjs.map +0 -1
- package/dist/harmony136.mjs +0 -9
- package/dist/harmony136.mjs.map +0 -1
- package/dist/harmony137.cjs +0 -15
- package/dist/harmony137.cjs.map +0 -1
- package/dist/harmony137.mjs +0 -15
- package/dist/harmony137.mjs.map +0 -1
- package/dist/harmony138.cjs +0 -35
- package/dist/harmony138.cjs.map +0 -1
- package/dist/harmony138.mjs +0 -35
- package/dist/harmony138.mjs.map +0 -1
- package/dist/harmony139.cjs +0 -17
- package/dist/harmony139.cjs.map +0 -1
- package/dist/harmony139.mjs +0 -17
- package/dist/harmony139.mjs.map +0 -1
- package/dist/harmony140.cjs +0 -49
- package/dist/harmony140.cjs.map +0 -1
- package/dist/harmony140.mjs +0 -49
- package/dist/harmony140.mjs.map +0 -1
- package/dist/harmony141.cjs +0 -15
- package/dist/harmony141.cjs.map +0 -1
- package/dist/harmony141.mjs +0 -15
- package/dist/harmony141.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/harmony97.cjs
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony84.cjs");
|
5
|
+
const louis = require("@lokalise/louis");
|
6
|
+
const permissions = require("./harmony85.cjs");
|
7
|
+
const BillingMenuItem = () => {
|
8
|
+
const {
|
9
|
+
data: { jwt }
|
10
|
+
} = useSidebar.useSidebar();
|
11
|
+
if (!permissions.canChangeBilling(jwt.result)) {
|
12
|
+
return null;
|
13
|
+
}
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/team#billing", children: "Billing" });
|
15
|
+
};
|
16
|
+
exports.BillingMenuItem = BillingMenuItem;
|
8
17
|
//# sourceMappingURL=harmony97.cjs.map
|
package/dist/harmony97.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony97.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony97.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canChangeBilling(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":["useSidebar","canChangeBilling","jsx","MenuItem"],"mappings":";;;;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,iBAAiB,IAAI,MAAM,GAAG;AAC3B,WAAA;AAAA,EAAA;AAGR,SAAQC,2BAAAA,IAAAC,MAAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;;"}
|
package/dist/harmony97.mjs
CHANGED
@@ -1,8 +1,17 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony84.mjs";
|
3
|
+
import { MenuItem } from "@lokalise/louis";
|
4
|
+
import { canChangeBilling } from "./harmony85.mjs";
|
5
|
+
const BillingMenuItem = () => {
|
6
|
+
const {
|
7
|
+
data: { jwt }
|
8
|
+
} = useSidebar();
|
9
|
+
if (!canChangeBilling(jwt.result)) {
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
return /* @__PURE__ */ jsx(MenuItem, { href: "/team#billing", children: "Billing" });
|
13
|
+
};
|
4
14
|
export {
|
5
|
-
|
6
|
-
useProfileMenu
|
15
|
+
BillingMenuItem
|
7
16
|
};
|
8
17
|
//# sourceMappingURL=harmony97.mjs.map
|
package/dist/harmony97.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony97.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/
|
1
|
+
{"version":3,"file":"harmony97.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuItem } from '@lokalise/louis'\nimport { canChangeBilling } from '@utils/user/permissions'\n\n/**\n * A menu item component for navigating to the billing section.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <BillingMenuItem />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const BillingMenuItem = () => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canChangeBilling(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn <MenuItem href=\"/team#billing\">Billing</MenuItem>\n}\n"],"names":[],"mappings":";;;;AAiBO,MAAM,kBAAkB,MAAM;AAC9B,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,iBAAiB,IAAI,MAAM,GAAG;AAC3B,WAAA;AAAA,EAAA;AAGR,SAAQ,oBAAA,UAAA,EAAS,MAAK,iBAAgB,UAAO,WAAA;AAC9C;"}
|
package/dist/harmony98.cjs
CHANGED
@@ -1,12 +1,20 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony84.cjs");
|
5
|
+
const louis = require("@lokalise/louis");
|
6
|
+
const permissions = require("./harmony85.cjs");
|
7
|
+
const CreateNewTeam = ({ onCreateTeam }) => {
|
8
|
+
const {
|
9
|
+
data: { jwt }
|
10
|
+
} = useSidebar.useSidebar();
|
11
|
+
if (!permissions.canCreateTeam(jwt.result)) {
|
12
|
+
return null;
|
13
|
+
}
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
15
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
|
16
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
|
17
|
+
] });
|
8
18
|
};
|
9
|
-
exports.
|
10
|
-
exports.default = styles;
|
11
|
-
exports.profileEmail = profileEmail;
|
19
|
+
exports.CreateNewTeam = CreateNewTeam;
|
12
20
|
//# sourceMappingURL=harmony98.cjs.map
|
package/dist/harmony98.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony98.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony98.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","MenuDivider"],"mappings":";;;;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,cAAc,IAAI,MAAM,GAAG;AACxB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAACC,2BAAA,IAAAC,MAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,mCAC/CC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
|
package/dist/harmony98.mjs
CHANGED
@@ -1,12 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony84.mjs";
|
3
|
+
import { MenuItem, MenuDivider } from "@lokalise/louis";
|
4
|
+
import { canCreateTeam } from "./harmony85.mjs";
|
5
|
+
const CreateNewTeam = ({ onCreateTeam }) => {
|
6
|
+
const {
|
7
|
+
data: { jwt }
|
8
|
+
} = useSidebar();
|
9
|
+
if (!canCreateTeam(jwt.result)) {
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
13
|
+
/* @__PURE__ */ jsx(MenuItem, { onClick: onCreateTeam, children: "Create new team" }),
|
14
|
+
/* @__PURE__ */ jsx(MenuDivider, {})
|
15
|
+
] });
|
6
16
|
};
|
7
17
|
export {
|
8
|
-
|
9
|
-
styles as default,
|
10
|
-
profileEmail
|
18
|
+
CreateNewTeam
|
11
19
|
};
|
12
20
|
//# sourceMappingURL=harmony98.mjs.map
|
package/dist/harmony98.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony98.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony98.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\n\ntype CreateNewTeamProps = {\n\tonCreateTeam: () => void\n}\n\n/**\n * A menu item component for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeam onCreateTeam={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeam = ({ onCreateTeam }: CreateNewTeamProps) => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onCreateTeam}>Create new team</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;AAqBO,MAAM,gBAAgB,CAAC,EAAE,mBAAuC;AAChE,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,cAAc,IAAI,MAAM,GAAG;AACxB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAC,oBAAA,UAAA,EAAS,SAAS,cAAc,UAAe,mBAAA;AAAA,wBAC/C,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
|
package/dist/harmony99.cjs
CHANGED
@@ -1,27 +1,24 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
const
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const useSidebar = require("./harmony84.cjs");
|
5
|
+
const louis = require("@lokalise/louis");
|
6
|
+
const permissions = require("./harmony85.cjs");
|
7
|
+
const CreateNewTeamPlaceholder_module = require("./harmony113.cjs");
|
8
|
+
const CreateNewTeamPlaceholder = ({ onClick }) => {
|
9
|
+
const {
|
10
|
+
data: { jwt }
|
11
|
+
} = useSidebar.useSidebar();
|
12
|
+
if (!permissions.canCreateTeam(jwt.result)) {
|
13
|
+
return null;
|
14
|
+
}
|
15
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
16
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
17
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.mainLabel, children: "Create new team" }),
|
18
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: CreateNewTeamPlaceholder_module.default.subLabel, children: "Switch to Expert to create a new team" })
|
19
|
+
] }) }),
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {})
|
21
|
+
] });
|
18
22
|
};
|
19
|
-
exports.
|
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;
|
23
|
+
exports.CreateNewTeamPlaceholder = CreateNewTeamPlaceholder;
|
27
24
|
//# sourceMappingURL=harmony99.cjs.map
|
package/dist/harmony99.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony99.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony99.cjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":["useSidebar","canCreateTeam","jsxs","Fragment","jsx","MenuItem","styles","MenuDivider"],"mappings":";;;;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACTA,sBAAW;AAEf,MAAI,CAACC,YAAA,cAAc,IAAI,MAAM,GAAG;AACxB,WAAA;AAAA,EAAA;AAGR,SAEEC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAAC,2BAAAA,IAACC,kBAAS,SAAkB,eAAY,uCACvC,UAACH,2BAAAA,KAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAAE,2BAAA,IAAC,QAAK,EAAA,WAAWE,gCAAO,QAAA,WAAW,UAAe,mBAAA;AAAA,MACjDF,2BAAA,IAAA,QAAA,EAAK,WAAWE,gCAAA,QAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,mCACCC,MAAY,aAAA,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;;"}
|
package/dist/harmony99.mjs
CHANGED
@@ -1,27 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
const
|
7
|
-
const
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
2
|
+
import { useSidebar } from "./harmony84.mjs";
|
3
|
+
import { MenuItem, MenuDivider } from "@lokalise/louis";
|
4
|
+
import { canCreateTeam } from "./harmony85.mjs";
|
5
|
+
import styles from "./harmony113.mjs";
|
6
|
+
const CreateNewTeamPlaceholder = ({ onClick }) => {
|
7
|
+
const {
|
8
|
+
data: { jwt }
|
9
|
+
} = useSidebar();
|
10
|
+
if (!canCreateTeam(jwt.result)) {
|
11
|
+
return null;
|
12
|
+
}
|
13
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
14
|
+
/* @__PURE__ */ jsx(MenuItem, { onClick, "data-testid": "sidebar-create-new-team-placeholder", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
15
|
+
/* @__PURE__ */ jsx("span", { className: styles.mainLabel, children: "Create new team" }),
|
16
|
+
/* @__PURE__ */ jsx("span", { className: styles.subLabel, children: "Switch to Expert to create a new team" })
|
17
|
+
] }) }),
|
18
|
+
/* @__PURE__ */ jsx(MenuDivider, {})
|
19
|
+
] });
|
16
20
|
};
|
17
21
|
export {
|
18
|
-
|
19
|
-
defaultProfileImage,
|
20
|
-
membership,
|
21
|
-
planWrapper,
|
22
|
-
profileImage,
|
23
|
-
teamDetails,
|
24
|
-
teamName,
|
25
|
-
wrapper
|
22
|
+
CreateNewTeamPlaceholder
|
26
23
|
};
|
27
24
|
//# sourceMappingURL=harmony99.mjs.map
|
package/dist/harmony99.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony99.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"harmony99.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder.tsx"],"sourcesContent":["import { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport { MenuDivider, MenuItem } from '@lokalise/louis'\nimport { canCreateTeam } from '@utils/user/permissions'\nimport styles from './CreateNewTeamPlaceholder.module.css'\n\ntype CreateNewTeamPlaceholderProps = {\n\tonClick: () => void\n}\n\n/**\n * A placeholder menu item for creating a new team.\n * Checks the user's permissions using the Sidebar context and renders\n * nothing if the user does not have access.\n *\n * @example\n * ```\n * <CreateNewTeamPlaceholder onClick={handleCreateTeam} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\nexport const CreateNewTeamPlaceholder = ({ onClick }: CreateNewTeamPlaceholderProps) => {\n\tconst {\n\t\tdata: { jwt },\n\t} = useSidebar()\n\n\tif (!canCreateTeam(jwt.result)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={onClick} data-testid=\"sidebar-create-new-team-placeholder\">\n\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t<span className={styles.mainLabel}>Create new team</span>\n\t\t\t\t\t<span className={styles.subLabel}>Switch to Expert to create a new team</span>\n\t\t\t\t</div>\n\t\t\t</MenuItem>\n\t\t\t<MenuDivider />\n\t\t</>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAsBO,MAAM,2BAA2B,CAAC,EAAE,cAA6C;AACjF,QAAA;AAAA,IACL,MAAM,EAAE,IAAI;AAAA,MACT,WAAW;AAEf,MAAI,CAAC,cAAc,IAAI,MAAM,GAAG;AACxB,WAAA;AAAA,EAAA;AAGR,SAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,YAAS,SAAkB,eAAY,uCACvC,UAAC,qBAAA,OAAA,EAAI,WAAU,iBACd,UAAA;AAAA,MAAA,oBAAC,QAAK,EAAA,WAAW,OAAO,WAAW,UAAe,mBAAA;AAAA,MACjD,oBAAA,QAAA,EAAK,WAAW,OAAO,UAAU,UAAqC,wCAAA,CAAA;AAAA,IAAA,EAAA,CACxE,EACD,CAAA;AAAA,wBACC,aAAY,CAAA,CAAA;AAAA,EAAA,GACd;AAEF;"}
|
@@ -1,53 +1,19 @@
|
|
1
|
-
import { HTMLProps
|
1
|
+
import { HTMLProps } from 'react';
|
2
|
+
import { SidebarContentProps } from './SidebarContent/SidebarContent';
|
3
|
+
import { SidebarConfig } from './types';
|
2
4
|
type SidebarProps = HTMLProps<HTMLElement> & {
|
3
|
-
|
5
|
+
config: SidebarConfig;
|
6
|
+
children?: SidebarContentProps['children'];
|
4
7
|
};
|
5
8
|
/**
|
6
|
-
* Sidebar
|
9
|
+
* The main Sidebar component. Wraps children with SidebarProvider and renders SidebarContent.
|
10
|
+
*
|
11
|
+
* @example
|
12
|
+
* ```
|
13
|
+
* <Sidebar config={sidebarConfig}>
|
14
|
+
* <YourAppContent />
|
15
|
+
* </Sidebar>
|
16
|
+
* ```
|
7
17
|
*/
|
8
|
-
declare const Sidebar: {
|
9
|
-
|
10
|
-
Top: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
11
|
-
Bottom: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
12
|
-
Avatar: ({ src, href, ariaLabel, alt, }: {
|
13
|
-
src: string;
|
14
|
-
href?: string;
|
15
|
-
ariaLabel?: string;
|
16
|
-
alt?: string;
|
17
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
18
|
-
IconLink: ({ label, to, icon: Icon }: {
|
19
|
-
to: string;
|
20
|
-
label: string;
|
21
|
-
icon: import('react').FC<import('@lokalise/louis').SvgIconProps>;
|
22
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
23
|
-
Menu: ({ children, icon: Icon }: {
|
24
|
-
icon: import('react').FC<import('@lokalise/louis').SvgIconProps>;
|
25
|
-
} & {
|
26
|
-
children?: ReactNode | undefined;
|
27
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
28
|
-
ProfileMenu: ({ config, children }: {
|
29
|
-
config: import('./Widgets/ProfileMenu/types').SidebarProfileMenuConfig;
|
30
|
-
children: import('./Widgets/ProfileMenu/ProfileMenuContent').ProfileMenuContentProps["children"];
|
31
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
32
|
-
TeamSwitch: ({ onSwitchTeam }: {
|
33
|
-
onSwitchTeam: (team: import('./types').SidebarTeam) => void;
|
34
|
-
}) => import("react/jsx-runtime").JSX.Element | null;
|
35
|
-
TeamMenuItem: ({ team, onClick, hidePlanLabel }: {
|
36
|
-
team?: import('./types').SidebarTeam;
|
37
|
-
onClick?: (team: import('./types').SidebarTeam) => void;
|
38
|
-
hidePlanLabel?: boolean;
|
39
|
-
}) => import("react/jsx-runtime").JSX.Element | null;
|
40
|
-
UpgradeMenuItem: ({ upgradeOptionHref }: {
|
41
|
-
upgradeOptionHref: string;
|
42
|
-
}) => import("react/jsx-runtime").JSX.Element | null;
|
43
|
-
ProfileSettingsMenuItem: ({ href, onClick, userEmail, hideBottomDivider, }: {
|
44
|
-
href: string;
|
45
|
-
userEmail: string;
|
46
|
-
onClick?: () => void;
|
47
|
-
hideBottomDivider?: boolean;
|
48
|
-
}) => import("react/jsx-runtime").JSX.Element | null;
|
49
|
-
Tasks: (props: {
|
50
|
-
config: import('./Widgets/Tasks/types').SidebarTasksConfig;
|
51
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
52
|
-
};
|
53
|
-
export { Sidebar };
|
18
|
+
export declare const Sidebar: ({ config, children, ...navProps }: SidebarProps) => import("react/jsx-runtime").JSX.Element;
|
19
|
+
export {};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { SidebarWidgetsConfig, SidebarContextProps } from '../types';
|
2
|
+
import { HTMLProps, ReactNode } from 'react';
|
3
|
+
export type SidebarContentProps = HTMLProps<HTMLElement> & {
|
4
|
+
widgetsConfig: SidebarWidgetsConfig;
|
5
|
+
children?: ((props: SidebarContextProps) => ReactNode) | ReactNode;
|
6
|
+
};
|
7
|
+
export declare const SidebarContent: ({ widgetsConfig, children, ...navProps }: SidebarContentProps) => import("react/jsx-runtime").JSX.Element;
|
@@ -11,6 +11,11 @@ type AvatarProps = {
|
|
11
11
|
/**
|
12
12
|
* Display company main avatar / logo in the top section of the Sidebar.
|
13
13
|
* Used as the main branding element and home navigation link.
|
14
|
+
*
|
15
|
+
* @example
|
16
|
+
* ```
|
17
|
+
* <Avatar src="/logo.png" href="/" ariaLabel="Home" alt="" />
|
18
|
+
* ```
|
14
19
|
*/
|
15
20
|
export declare const Avatar: ({ src, href, ariaLabel, alt, }: AvatarProps) => import("react/jsx-runtime").JSX.Element;
|
16
21
|
export {};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { HelpMenuConfig } from '../../types';
|
2
|
+
/**
|
3
|
+
* Help menu component that provides links to tutorials, documentation, support, and more.
|
4
|
+
*
|
5
|
+
* @example
|
6
|
+
* ```
|
7
|
+
* <HelpMenu
|
8
|
+
* contactSupport={{ onClick: handleContactSupport }}
|
9
|
+
* keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}
|
10
|
+
* />
|
11
|
+
* ```
|
12
|
+
*/
|
13
|
+
export declare const HelpMenu: ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => import("react/jsx-runtime").JSX.Element;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { SvgIconProps } from '@lokalise/louis';
|
2
|
-
import { FC, PropsWithChildren } from 'react';
|
2
|
+
import { ButtonHTMLAttributes, FC, PropsWithChildren } from 'react';
|
3
3
|
type MenuProps = PropsWithChildren<{
|
4
4
|
/** Icon component from @lokalise/louis to display in the menu button */
|
5
5
|
icon: FC<SvgIconProps>;
|
6
|
+
buttonProps?: Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'>;
|
6
7
|
}>;
|
7
8
|
/**
|
8
9
|
* A dropdown menu component that displays an icon button which reveals a menu list when clicked.
|
@@ -20,5 +21,5 @@ type MenuProps = PropsWithChildren<{
|
|
20
21
|
* </Menu>
|
21
22
|
* ```
|
22
23
|
*/
|
23
|
-
export declare const Menu: ({ children, icon: Icon }: MenuProps) => import("react/jsx-runtime").JSX.Element;
|
24
|
+
export declare const Menu: ({ children, icon: Icon, buttonProps }: MenuProps) => import("react/jsx-runtime").JSX.Element;
|
24
25
|
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem.d.ts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* A menu item component for navigating to the billing section.
|
3
|
+
* Checks the user's permissions using the Sidebar context and renders
|
4
|
+
* nothing if the user does not have access.
|
5
|
+
*
|
6
|
+
* @example
|
7
|
+
* ```
|
8
|
+
* <BillingMenuItem />
|
9
|
+
* ```
|
10
|
+
*
|
11
|
+
* @note This component must be used within a Sidebar Context.
|
12
|
+
*/
|
13
|
+
export declare const BillingMenuItem: () => import("react/jsx-runtime").JSX.Element | null;
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.d.ts
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
type CreateNewTeamProps = {
|
2
|
+
onCreateTeam: () => void;
|
3
|
+
};
|
4
|
+
/**
|
5
|
+
* A menu item component for creating a new team.
|
6
|
+
* Checks the user's permissions using the Sidebar context and renders
|
7
|
+
* nothing if the user does not have access.
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* ```
|
11
|
+
* <CreateNewTeam onCreateTeam={handleCreateTeam} />
|
12
|
+
* ```
|
13
|
+
*
|
14
|
+
* @note This component must be used within a Sidebar Context.
|
15
|
+
*/
|
16
|
+
export declare const CreateNewTeam: ({ onCreateTeam }: CreateNewTeamProps) => import("react/jsx-runtime").JSX.Element | null;
|
17
|
+
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam.test.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
type CreateNewTeamPlaceholderProps = {
|
2
|
+
onClick: () => void;
|
3
|
+
};
|
4
|
+
/**
|
5
|
+
* A placeholder menu item for creating a new team.
|
6
|
+
* Checks the user's permissions using the Sidebar context and renders
|
7
|
+
* nothing if the user does not have access.
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* ```
|
11
|
+
* <CreateNewTeamPlaceholder onClick={handleCreateTeam} />
|
12
|
+
* ```
|
13
|
+
*
|
14
|
+
* @note This component must be used within a Sidebar Context.
|
15
|
+
*/
|
16
|
+
export declare const CreateNewTeamPlaceholder: ({ onClick }: CreateNewTeamPlaceholderProps) => import("react/jsx-runtime").JSX.Element | null;
|
17
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle.d.ts
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
type DarkModeToggleProps = {
|
2
|
+
onToggle: () => void;
|
3
|
+
isDarkMode: boolean;
|
4
|
+
};
|
5
|
+
/**
|
6
|
+
* A menu item component for toggling dark mode.
|
7
|
+
* Displays a switch and label, and calls the provided onToggle handler when clicked.
|
8
|
+
*
|
9
|
+
* @example
|
10
|
+
* ```
|
11
|
+
* <DarkModeToggle
|
12
|
+
* isDarkMode={isDarkMode}
|
13
|
+
* onToggle={handleToggleDarkMode}
|
14
|
+
* />
|
15
|
+
* ```
|
16
|
+
*/
|
17
|
+
export declare const DarkModeToggle: ({ onToggle, isDarkMode }: DarkModeToggleProps) => import("react/jsx-runtime").JSX.Element;
|
18
|
+
export {};
|
@@ -1,30 +1,17 @@
|
|
1
|
-
import {
|
2
|
-
import { SidebarProfileMenuConfig } from './types';
|
3
|
-
type ProfileMenuProps = {
|
4
|
-
/** Configuration object containing team and user settings */
|
5
|
-
config: SidebarProfileMenuConfig;
|
6
|
-
/** Render function for the menu content */
|
7
|
-
children: ProfileMenuContentProps['children'];
|
8
|
-
};
|
1
|
+
import { ProfileMenuConfig } from '../../types';
|
9
2
|
/**
|
10
|
-
*
|
11
|
-
*
|
12
|
-
*
|
13
|
-
* The component uses a render prop pattern to provide context values to its children,
|
14
|
-
* allowing flexible composition of menu items based on user permissions and team status.
|
3
|
+
* The main profile menu component, displaying team and user actions.
|
4
|
+
* Renders optional menu items based on the provided config and user permissions.
|
15
5
|
*
|
16
6
|
* @example
|
17
|
-
* ```tsx
|
18
|
-
* <ProfileMenu config={profileMenuConfig}>
|
19
|
-
* {({ allowTeamCreation, showBillingButton }) => (
|
20
|
-
* <>
|
21
|
-
* <TeamSwitch onSwitchTeam={handleTeamSwitch} />
|
22
|
-
* {allowTeamCreation && <MenuItem>Create new team</MenuItem>}
|
23
|
-
* {showBillingButton && <MenuItem href="/billing">Billing</MenuItem>}
|
24
|
-
* </>
|
25
|
-
* )}
|
26
|
-
* </ProfileMenu>
|
27
7
|
* ```
|
8
|
+
* <ProfileMenu config={...} />
|
9
|
+
* ```
|
10
|
+
*
|
11
|
+
* @note This component must be used within a Sidebar Context.
|
28
12
|
*/
|
29
|
-
|
13
|
+
type ProfileMenuProps = {
|
14
|
+
config: ProfileMenuConfig;
|
15
|
+
};
|
16
|
+
export declare const ProfileMenu: ({ config }: ProfileMenuProps) => import("react/jsx-runtime").JSX.Element;
|
30
17
|
export {};
|
@@ -2,14 +2,12 @@ import { StoryObj } from '@storybook/react';
|
|
2
2
|
import { ProfileMenu } from './ProfileMenu';
|
3
3
|
declare const meta: {
|
4
4
|
title: string;
|
5
|
-
component: ({ config
|
6
|
-
config: import('
|
7
|
-
children: import('./ProfileMenuContent').ProfileMenuContentProps["children"];
|
5
|
+
component: ({ config }: {
|
6
|
+
config: import('../../types').ProfileMenuConfig;
|
8
7
|
}) => import("react/jsx-runtime").JSX.Element;
|
9
8
|
tags: string[];
|
10
9
|
decorators: ((Story: import('@storybook/core/csf').PartialStoryFn<import('@storybook/react').ReactRenderer, {
|
11
|
-
config: import('
|
12
|
-
children: import('./ProfileMenuContent').ProfileMenuContentProps["children"];
|
10
|
+
config: import('../../types').ProfileMenuConfig;
|
13
11
|
}>) => import("react/jsx-runtime").JSX.Element)[];
|
14
12
|
parameters: {
|
15
13
|
layout: string;
|
@@ -1,42 +1,17 @@
|
|
1
|
-
type ProfileSettingsMenuItemProps = {
|
2
|
-
/** URL to the profile settings page */
|
3
|
-
href: string;
|
4
|
-
/** User's email address to display below "Profile Settings" */
|
5
|
-
userEmail: string;
|
6
|
-
/** Optional callback function for tracking or additional actions */
|
7
|
-
onClick?: () => void;
|
8
|
-
/** Whether to hide the divider that appears below this menu item */
|
9
|
-
hideBottomDivider?: boolean;
|
10
|
-
};
|
11
1
|
/**
|
12
|
-
* A menu item component
|
13
|
-
*
|
14
|
-
*
|
15
|
-
* - Displays "Profile Settings" with the user's email address below
|
16
|
-
* - Conditionally renders based on team status
|
17
|
-
* - Includes an optional divider below the item
|
18
|
-
* - Will not render if:
|
19
|
-
* - Team is suspended
|
20
|
-
* - Team's trial period has ended
|
2
|
+
* A menu item component for navigating to the profile settings page.
|
3
|
+
* Checks the user's permissions using the Sidebar context and renders
|
4
|
+
* nothing if the user does not have access.
|
21
5
|
*
|
22
6
|
* @example
|
23
|
-
* ```
|
24
|
-
* <ProfileSettingsMenuItem
|
25
|
-
* href="/settings/profile"
|
26
|
-
* userEmail="user@example.com"
|
27
|
-
* onClick={() => trackSettingsClick()}
|
28
|
-
* />
|
29
|
-
*
|
30
|
-
* // Without bottom divider
|
31
|
-
* <ProfileSettingsMenuItem
|
32
|
-
* href="/settings/profile"
|
33
|
-
* userEmail="user@example.com"
|
34
|
-
* hideBottomDivider
|
35
|
-
* />
|
7
|
+
* ```
|
8
|
+
* <ProfileSettingsMenuItem onClick={() => { }} />
|
36
9
|
* ```
|
37
10
|
*
|
38
|
-
* @note This component must be used within a
|
39
|
-
* as it requires access to the ProfileMenu context for team status information.
|
11
|
+
* @note This component must be used within a Sidebar Context.
|
40
12
|
*/
|
41
|
-
|
13
|
+
type ProfileSettingsMenuItem = {
|
14
|
+
onClick?: () => void;
|
15
|
+
};
|
16
|
+
export declare const ProfileSettingsMenuItem: ({ onClick }: ProfileSettingsMenuItem) => import("react/jsx-runtime").JSX.Element | null;
|
42
17
|
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem.d.ts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* A menu item component for navigating to the provider dashboard.
|
3
|
+
* It checks the current user's permissions using the Sidebar context
|
4
|
+
* and renders nothing if the user does not have access.
|
5
|
+
*
|
6
|
+
* @example
|
7
|
+
* ```
|
8
|
+
* <ProviderMenuItem />
|
9
|
+
* ```
|
10
|
+
*
|
11
|
+
* @note This component must be used within a Sidebar Context.
|
12
|
+
*/
|
13
|
+
export declare const ProviderMenuItem: () => import("react/jsx-runtime").JSX.Element | null;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts
CHANGED
@@ -28,9 +28,7 @@ type TeamMenuItemProps = {
|
|
28
28
|
* />
|
29
29
|
* ```
|
30
30
|
*
|
31
|
-
* @note This component must be used within a
|
32
|
-
* as it requires access to the ProfileMenu context for current team
|
33
|
-
* and plan information.
|
31
|
+
* @note This component must be used within a Sidebar Context.
|
34
32
|
*/
|
35
33
|
export declare const TeamMenuItem: ({ team, onClick, hidePlanLabel }: TeamMenuItemProps) => import("react/jsx-runtime").JSX.Element | null;
|
36
34
|
export {};
|
package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.test.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|