@lokalise/harmony 1.40.3-exp-epic2x.1 → 1.40.3-exp-epic2x.2
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/harmony100.cjs +10 -8
- package/dist/harmony100.cjs.map +1 -1
- package/dist/harmony100.mjs +11 -9
- package/dist/harmony100.mjs.map +1 -1
- package/dist/harmony101.cjs +21 -47
- package/dist/harmony101.cjs.map +1 -1
- package/dist/harmony101.mjs +20 -46
- package/dist/harmony101.mjs.map +1 -1
- package/dist/harmony102.cjs +99 -9
- package/dist/harmony102.cjs.map +1 -1
- package/dist/harmony102.mjs +81 -8
- package/dist/harmony102.mjs.map +1 -1
- package/dist/harmony103.cjs +11 -96
- package/dist/harmony103.cjs.map +1 -1
- package/dist/harmony103.mjs +11 -79
- package/dist/harmony103.mjs.map +1 -1
- package/dist/harmony104.cjs +20 -14
- package/dist/harmony104.cjs.map +1 -1
- package/dist/harmony104.mjs +20 -14
- package/dist/harmony104.mjs.map +1 -1
- package/dist/harmony105.cjs +87 -20
- package/dist/harmony105.cjs.map +1 -1
- package/dist/harmony105.mjs +87 -20
- package/dist/harmony105.mjs.map +1 -1
- package/dist/harmony106.cjs +31 -10
- package/dist/harmony106.cjs.map +1 -1
- package/dist/harmony106.mjs +30 -9
- package/dist/harmony106.mjs.map +1 -1
- package/dist/harmony107.cjs +9 -14
- package/dist/harmony107.cjs.map +1 -1
- package/dist/harmony107.mjs +8 -13
- package/dist/harmony107.mjs.map +1 -1
- package/dist/harmony108.cjs +7 -12
- package/dist/harmony108.cjs.map +1 -1
- package/dist/harmony108.mjs +9 -14
- package/dist/harmony108.mjs.map +1 -1
- package/dist/harmony109.cjs +6 -12
- package/dist/harmony109.cjs.map +1 -1
- package/dist/harmony109.mjs +6 -12
- package/dist/harmony109.mjs.map +1 -1
- package/dist/harmony110.cjs +16 -7
- package/dist/harmony110.cjs.map +1 -1
- package/dist/harmony110.mjs +18 -9
- package/dist/harmony110.mjs.map +1 -1
- package/dist/harmony111.cjs +7 -26
- package/dist/harmony111.cjs.map +1 -1
- package/dist/harmony111.mjs +8 -27
- package/dist/harmony111.mjs.map +1 -1
- package/dist/harmony112.cjs +22 -9
- package/dist/harmony112.cjs.map +1 -1
- package/dist/harmony112.mjs +23 -10
- package/dist/harmony112.mjs.map +1 -1
- package/dist/harmony113.cjs +7 -32
- package/dist/harmony113.cjs.map +1 -1
- package/dist/harmony113.mjs +9 -34
- package/dist/harmony113.mjs.map +1 -1
- package/dist/harmony114.cjs +31 -7
- package/dist/harmony114.cjs.map +1 -1
- package/dist/harmony114.mjs +33 -9
- package/dist/harmony114.mjs.map +1 -1
- package/dist/harmony115.cjs +8 -18
- package/dist/harmony115.cjs.map +1 -1
- package/dist/harmony115.mjs +8 -18
- package/dist/harmony115.mjs.map +1 -1
- package/dist/harmony116.cjs +13 -26
- package/dist/harmony116.cjs.map +1 -1
- package/dist/harmony116.mjs +14 -27
- package/dist/harmony116.mjs.map +1 -1
- package/dist/harmony117.cjs +36 -21
- package/dist/harmony117.cjs.map +1 -1
- package/dist/harmony117.mjs +35 -20
- 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 +21 -6
- package/dist/harmony119.cjs.map +1 -1
- package/dist/harmony119.mjs +20 -5
- package/dist/harmony119.mjs.map +1 -1
- package/dist/harmony120.cjs +3 -12
- package/dist/harmony120.cjs.map +1 -1
- package/dist/harmony120.mjs +3 -12
- package/dist/harmony120.mjs.map +1 -1
- package/dist/harmony121.cjs +15 -87
- package/dist/harmony121.cjs.map +1 -1
- package/dist/harmony121.mjs +14 -86
- package/dist/harmony121.mjs.map +1 -1
- package/dist/harmony122.cjs +6 -31
- package/dist/harmony122.cjs.map +1 -1
- package/dist/harmony122.mjs +5 -30
- package/dist/harmony122.mjs.map +1 -1
- package/dist/harmony123.cjs +5 -5
- package/dist/harmony123.mjs +5 -5
- package/dist/harmony124.cjs +97 -6
- package/dist/harmony124.cjs.map +1 -1
- package/dist/harmony124.mjs +96 -5
- package/dist/harmony124.mjs.map +1 -1
- package/dist/harmony125.cjs +11 -94
- package/dist/harmony125.cjs.map +1 -1
- package/dist/harmony125.mjs +11 -94
- package/dist/harmony125.mjs.map +1 -1
- package/dist/harmony126.cjs +13 -12
- package/dist/harmony126.cjs.map +1 -1
- package/dist/harmony126.mjs +13 -12
- package/dist/harmony126.mjs.map +1 -1
- package/dist/harmony127.cjs +35 -13
- package/dist/harmony127.cjs.map +1 -1
- package/dist/harmony127.mjs +35 -13
- package/dist/harmony127.mjs.map +1 -1
- package/dist/harmony128.cjs +24 -32
- package/dist/harmony128.cjs.map +1 -1
- package/dist/harmony128.mjs +24 -32
- package/dist/harmony128.mjs.map +1 -1
- package/dist/harmony129.cjs +10 -28
- package/dist/harmony129.cjs.map +1 -1
- package/dist/harmony129.mjs +10 -28
- package/dist/harmony129.mjs.map +1 -1
- package/dist/harmony137.cjs +13 -10
- package/dist/harmony137.cjs.map +1 -1
- package/dist/harmony137.mjs +13 -10
- package/dist/harmony137.mjs.map +1 -1
- package/dist/harmony138.cjs +14 -12
- package/dist/harmony138.cjs.map +1 -1
- package/dist/harmony138.mjs +14 -12
- package/dist/harmony138.mjs.map +1 -1
- package/dist/harmony139.cjs +14 -13
- package/dist/harmony139.cjs.map +1 -1
- package/dist/harmony139.mjs +14 -13
- package/dist/harmony139.mjs.map +1 -1
- package/dist/harmony14.cjs +1 -1
- package/dist/harmony14.mjs +1 -1
- package/dist/harmony140.cjs +10 -15
- package/dist/harmony140.cjs.map +1 -1
- package/dist/harmony140.mjs +10 -15
- package/dist/harmony140.mjs.map +1 -1
- package/dist/harmony141.cjs +15 -10
- package/dist/harmony141.cjs.map +1 -1
- package/dist/harmony141.mjs +15 -10
- package/dist/harmony141.mjs.map +1 -1
- package/dist/harmony142.cjs +18 -13
- package/dist/harmony142.cjs.map +1 -1
- package/dist/harmony142.mjs +18 -13
- package/dist/harmony142.mjs.map +1 -1
- package/dist/harmony143.cjs +10 -19
- package/dist/harmony143.cjs.map +1 -1
- package/dist/harmony143.mjs +10 -19
- package/dist/harmony143.mjs.map +1 -1
- package/dist/harmony144.cjs +5 -11
- package/dist/harmony144.cjs.map +1 -1
- package/dist/harmony144.mjs +5 -11
- package/dist/harmony144.mjs.map +1 -1
- package/dist/harmony145.cjs +11 -5
- package/dist/harmony145.cjs.map +1 -1
- package/dist/harmony145.mjs +11 -5
- package/dist/harmony145.mjs.map +1 -1
- package/dist/harmony146.cjs +31 -11
- package/dist/harmony146.cjs.map +1 -1
- package/dist/harmony146.mjs +31 -11
- package/dist/harmony146.mjs.map +1 -1
- package/dist/harmony147.cjs +10 -28
- package/dist/harmony147.cjs.map +1 -1
- package/dist/harmony147.mjs +10 -28
- package/dist/harmony147.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 +1 -11
- package/dist/harmony4.cjs.map +1 -1
- package/dist/harmony4.mjs +1 -11
- package/dist/harmony4.mjs.map +1 -1
- package/dist/harmony75.cjs +1 -1
- package/dist/harmony75.mjs +1 -1
- package/dist/harmony76.cjs +28 -40
- package/dist/harmony76.cjs.map +1 -1
- package/dist/harmony76.mjs +28 -40
- package/dist/harmony76.mjs.map +1 -1
- package/dist/harmony77.cjs +8 -10
- package/dist/harmony77.cjs.map +1 -1
- package/dist/harmony77.mjs +8 -10
- package/dist/harmony77.mjs.map +1 -1
- package/dist/harmony80.cjs +2 -2
- package/dist/harmony80.mjs +2 -2
- package/dist/harmony82.cjs +2 -2
- package/dist/harmony82.mjs +2 -2
- package/dist/harmony84.cjs +2 -2
- package/dist/harmony84.mjs +2 -2
- package/dist/harmony88.cjs +165 -11
- package/dist/harmony88.cjs.map +1 -1
- package/dist/harmony88.mjs +165 -11
- package/dist/harmony88.mjs.map +1 -1
- package/dist/harmony89.cjs +44 -12
- package/dist/harmony89.cjs.map +1 -1
- package/dist/harmony89.mjs +43 -11
- package/dist/harmony89.mjs.map +1 -1
- package/dist/harmony90.cjs +10 -9
- package/dist/harmony90.cjs.map +1 -1
- package/dist/harmony90.mjs +12 -11
- package/dist/harmony90.mjs.map +1 -1
- package/dist/harmony91.cjs +11 -20
- package/dist/harmony91.cjs.map +1 -1
- package/dist/harmony91.mjs +11 -20
- package/dist/harmony91.mjs.map +1 -1
- package/dist/harmony92.cjs +2 -165
- package/dist/harmony92.cjs.map +1 -1
- package/dist/harmony92.mjs +3 -166
- package/dist/harmony92.mjs.map +1 -1
- package/dist/harmony93.cjs +16 -42
- package/dist/harmony93.cjs.map +1 -1
- package/dist/harmony93.mjs +16 -42
- package/dist/harmony93.mjs.map +1 -1
- package/dist/harmony94.cjs +74 -25
- package/dist/harmony94.cjs.map +1 -1
- package/dist/harmony94.mjs +74 -25
- package/dist/harmony94.mjs.map +1 -1
- package/dist/harmony95.cjs +11 -2
- package/dist/harmony95.cjs.map +1 -1
- package/dist/harmony95.mjs +12 -3
- package/dist/harmony95.mjs.map +1 -1
- package/dist/harmony96.cjs +30 -18
- package/dist/harmony96.cjs.map +1 -1
- package/dist/harmony96.mjs +30 -18
- package/dist/harmony96.mjs.map +1 -1
- package/dist/harmony97.cjs +8 -74
- package/dist/harmony97.cjs.map +1 -1
- package/dist/harmony97.mjs +9 -75
- package/dist/harmony97.mjs.map +1 -1
- package/dist/harmony98.cjs +46 -11
- package/dist/harmony98.cjs.map +1 -1
- package/dist/harmony98.mjs +46 -11
- package/dist/harmony98.mjs.map +1 -1
- package/dist/harmony99.cjs +10 -31
- package/dist/harmony99.cjs.map +1 -1
- package/dist/harmony99.mjs +9 -30
- package/dist/harmony99.mjs.map +1 -1
- package/dist/types/src/components/Sidebar/SidebarProvider.d.ts +1 -1
- package/dist/types/src/components/Sidebar/hooks/useSidebarDataLoader.d.ts +2 -2
- package/dist/types/src/components/Sidebar/types.d.ts +14 -16
- package/dist/types/src/features/publicApi/hooks/useGetProjectPermissionMetaQuery.d.ts +1 -1
- package/dist/types/src/features/publicApi/hooks/useListPermissionTemplates.d.ts +1 -1
- package/dist/types/src/features/publicApi/permissionTemplates.d.ts +4 -4
- package/dist/types/src/features/publicApi/projects.d.ts +4 -4
- package/dist/types/src/features/publicApi/types/permissionTemplateTypes.d.ts +6 -6
- package/dist/types/src/features/publicApi/types/projectTypes.d.ts +6 -6
- package/dist/types/tests/mocks/sidebar/sidebar.d.ts +8 -13
- package/package.json +1 -1
- package/dist/harmony148.cjs +0 -17
- package/dist/harmony148.cjs.map +0 -1
- package/dist/harmony148.mjs +0 -17
- package/dist/harmony148.mjs.map +0 -1
package/dist/harmony94.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony94.mjs","sources":["../src/components/Sidebar/
|
1
|
+
{"version":3,"file":"harmony94.mjs","sources":["../src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.tsx"],"sourcesContent":["import { BillingMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/BillingMenuItem/BillingMenuItem'\nimport { CreateNewTeam } from '@components/Sidebar/Widgets/ProfileMenu/CreateNewTeam/CreateNewTeam'\nimport { CreateNewTeamPlaceholder } from '@components/Sidebar/Widgets/ProfileMenu/CreateNewTeamPlaceholder/CreateNewTeamPlaceholder'\nimport { DarkModeToggle } from '@components/Sidebar/Widgets/ProfileMenu/DarkModeToggle/DarkModeToggle'\nimport { ProfileSettingsMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem'\nimport { ProviderMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/ProviderMenuItem/ProviderMenuItem'\nimport { TeamMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem'\nimport { TeamSettingsMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/TeamSettingsMenuItem/TeamSettingsMenuItem'\nimport { TeamSwitch } from '@components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch'\nimport { UpgradeMenuItem } from '@components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem'\nimport { useSidebar } from '@components/Sidebar/hooks/useSidebar'\nimport type { ProfileMenuConfig } from '@components/Sidebar/types'\nimport { Menu, MenuDivider, MenuItem, MenuList, UserIcon } from '@lokalise/louis'\nimport { canAccessProfileSettings, canUpgradePlan } from '@utils/user/permissions'\nimport clsx from 'clsx'\nimport styles from './ProfileMenu.module.css'\nimport { UpgradeIcon } from './UpgradeIcon/UpgradeIcon'\n\n/**\n * The main profile menu component, displaying team and user actions.\n * Renders optional menu items based on the provided config and user permissions.\n *\n * @example\n * ```\n * <ProfileMenu config={...} />\n * ```\n *\n * @note This component must be used within a Sidebar Context.\n */\n\ntype ProfileMenuProps = {\n\tconfig: ProfileMenuConfig\n}\n\nexport const ProfileMenu = ({ config }: ProfileMenuProps) => {\n\tconst {\n\t\tjwt,\n\t\tdata: { currentTeam },\n\t} = useSidebar()\n\n\tconst {\n\t\tdarkModeToggle,\n\t\tteamSwitch,\n\t\tcreateTeam,\n\t\tcreateTeamPlaceholder,\n\t\tupgradeMenuItem,\n\t\tprofileSettings,\n\t} = config\n\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={() => (\n\t\t\t\t<button className={styles.profileButton} aria-label=\"Profile menu\" type=\"button\">\n\t\t\t\t\t{currentTeam.result?.logoUrl ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={currentTeam.result.logoUrl}\n\t\t\t\t\t\t\tclassName={clsx(styles.profileImage, {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: canUpgradePlan(jwt.result),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\talt=\"Team Logo\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={clsx(styles.userIconWrapper, 'flex-row', 'align-center', 'items-center', {\n\t\t\t\t\t\t\t\t[styles.profileImageHighlight]: canUpgradePlan(jwt.result),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UserIcon size=\"25px\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{canUpgradePlan(jwt.result) && <UpgradeIcon className={styles.profileImageUpgradeIcon} />}\n\t\t\t\t</button>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-end\" className={styles.menuContainer}>\n\t\t\t\t{teamSwitch && <TeamSwitch onSwitchTeam={teamSwitch.onSwitchTeam} />}\n\t\t\t\t{createTeam && <CreateNewTeam onCreateTeam={createTeam.onCreateTeam} />}\n\t\t\t\t{createTeamPlaceholder && (\n\t\t\t\t\t<CreateNewTeamPlaceholder onClick={createTeamPlaceholder.onClick} />\n\t\t\t\t)}\n\t\t\t\t<TeamMenuItem />\n\t\t\t\t{upgradeMenuItem && <UpgradeMenuItem href={upgradeMenuItem.href} />}\n\t\t\t\t<BillingMenuItem />\n\t\t\t\t<TeamSettingsMenuItem />\n\t\t\t\t<ProviderMenuItem />\n\t\t\t\t<MenuDivider />\n\n\t\t\t\t{profileSettings && <ProfileSettingsMenuItem />}\n\t\t\t\t{darkModeToggle && <DarkModeToggle {...darkModeToggle} />}\n\t\t\t\t{((profileSettings && canAccessProfileSettings(jwt.result)) || darkModeToggle) && (\n\t\t\t\t\t<MenuDivider />\n\t\t\t\t)}\n\n\t\t\t\t<MenuItem href=\"/login?action=logout\">Logout</MenuItem>\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAkCO,MAAM,cAAc,CAAC,EAAE,aAA+B;AACtD,QAAA;AAAA,IACL;AAAA,IACA,MAAM,EAAE,YAAY;AAAA,MACjB,WAAW;AAET,QAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG;AAGH,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,YAAY,MACX;;AAAA,oCAAC,UAAO,EAAA,WAAW,OAAO,eAAe,cAAW,gBAAe,MAAK,UACtE,UAAA;AAAA,YAAA,iBAAY,WAAZ,mBAAoB,WACpB;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,KAAK,YAAY,OAAO;AAAA,cACxB,WAAW,KAAK,OAAO,cAAc;AAAA,gBACpC,CAAC,OAAO,qBAAqB,GAAG,eAAe,IAAI,MAAM;AAAA,cAAA,CACzD;AAAA,cACD,KAAI;AAAA,YAAA;AAAA,UAAA,IAGL;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,WAAW,KAAK,OAAO,iBAAiB,YAAY,gBAAgB,gBAAgB;AAAA,gBACnF,CAAC,OAAO,qBAAqB,GAAG,eAAe,IAAI,MAAM;AAAA,cAAA,CACzD;AAAA,cAED,UAAA,oBAAC,UAAS,EAAA,MAAK,OAAO,CAAA;AAAA,YAAA;AAAA,UACvB;AAAA,UAEA,eAAe,IAAI,MAAM,yBAAM,aAAY,EAAA,WAAW,OAAO,wBAAyB,CAAA;AAAA,QAAA,GACxF;AAAA;AAAA,MAGD,+BAAC,UAAS,EAAA,WAAU,aAAY,WAAW,OAAO,eAChD,UAAA;AAAA,QAAA,cAAe,oBAAA,YAAA,EAAW,cAAc,WAAW,cAAc;AAAA,QACjE,cAAc,oBAAC,eAAc,EAAA,cAAc,WAAW,cAAc;AAAA,QACpE,yBACA,oBAAC,0BAAyB,EAAA,SAAS,sBAAsB,SAAS;AAAA,4BAElE,cAAa,EAAA;AAAA,QACb,mBAAmB,oBAAC,iBAAgB,EAAA,MAAM,gBAAgB,MAAM;AAAA,4BAChE,iBAAgB,EAAA;AAAA,4BAChB,sBAAqB,EAAA;AAAA,4BACrB,kBAAiB,EAAA;AAAA,4BACjB,aAAY,EAAA;AAAA,QAEZ,uCAAoB,yBAAwB,EAAA;AAAA,QAC5C,kBAAkB,oBAAC,gBAAgB,EAAA,GAAG,eAAgB,CAAA;AAAA,SACpD,mBAAmB,yBAAyB,IAAI,MAAM,KAAM,uCAC7D,aAAY,EAAA;AAAA,QAGb,oBAAA,UAAA,EAAS,MAAK,wBAAuB,UAAM,SAAA,CAAA;AAAA,MAAA,EAC7C,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;"}
|
package/dist/harmony95.cjs
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const SidebarContext = require("./harmony92.cjs");
|
3
4
|
const React = require("react");
|
4
|
-
const
|
5
|
-
|
5
|
+
const useSidebar = () => {
|
6
|
+
const context = React.useContext(SidebarContext.SidebarContext);
|
7
|
+
if (!context) {
|
8
|
+
throw new Error(
|
9
|
+
"You are using useSidebar hook outside its context. Please review your code implementation"
|
10
|
+
);
|
11
|
+
}
|
12
|
+
return context;
|
13
|
+
};
|
14
|
+
exports.useSidebar = useSidebar;
|
6
15
|
//# sourceMappingURL=harmony95.cjs.map
|
package/dist/harmony95.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony95.cjs","sources":["../src/components/Sidebar/
|
1
|
+
{"version":3,"file":"harmony95.cjs","sources":["../src/components/Sidebar/hooks/useSidebar.ts"],"sourcesContent":["import { SidebarContext } from '@components/Sidebar/SidebarContext'\nimport { useContext } from 'react'\n\nexport const useSidebar = () => {\n\tconst context = useContext(SidebarContext)\n\n\tif (!context) {\n\t\tthrow new Error(\n\t\t\t'You are using useSidebar hook outside its context. Please review your code implementation',\n\t\t)\n\t}\n\n\treturn context\n}\n"],"names":["useContext","SidebarContext"],"mappings":";;;;AAGO,MAAM,aAAa,MAAM;AACzB,QAAA,UAAUA,iBAAWC,6BAAc;AAEzC,MAAI,CAAC,SAAS;AACb,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EAAA;AAGM,SAAA;AACR;;"}
|
package/dist/harmony95.mjs
CHANGED
@@ -1,6 +1,15 @@
|
|
1
|
-
import {
|
2
|
-
|
1
|
+
import { SidebarContext } from "./harmony92.mjs";
|
2
|
+
import { useContext } from "react";
|
3
|
+
const useSidebar = () => {
|
4
|
+
const context = useContext(SidebarContext);
|
5
|
+
if (!context) {
|
6
|
+
throw new Error(
|
7
|
+
"You are using useSidebar hook outside its context. Please review your code implementation"
|
8
|
+
);
|
9
|
+
}
|
10
|
+
return context;
|
11
|
+
};
|
3
12
|
export {
|
4
|
-
|
13
|
+
useSidebar
|
5
14
|
};
|
6
15
|
//# sourceMappingURL=harmony95.mjs.map
|
package/dist/harmony95.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony95.mjs","sources":["../src/components/Sidebar/
|
1
|
+
{"version":3,"file":"harmony95.mjs","sources":["../src/components/Sidebar/hooks/useSidebar.ts"],"sourcesContent":["import { SidebarContext } from '@components/Sidebar/SidebarContext'\nimport { useContext } from 'react'\n\nexport const useSidebar = () => {\n\tconst context = useContext(SidebarContext)\n\n\tif (!context) {\n\t\tthrow new Error(\n\t\t\t'You are using useSidebar hook outside its context. Please review your code implementation',\n\t\t)\n\t}\n\n\treturn context\n}\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,MAAM;AACzB,QAAA,UAAU,WAAW,cAAc;AAEzC,MAAI,CAAC,SAAS;AACb,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EAAA;AAGM,SAAA;AACR;"}
|
package/dist/harmony96.cjs
CHANGED
@@ -1,21 +1,33 @@
|
|
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
|
-
|
18
|
-
)
|
19
|
-
|
20
|
-
|
3
|
+
const plan = require("./harmony9.cjs");
|
4
|
+
const withJwtCheck = (checkFn) => (jwtPayload) => !!jwtPayload && checkFn(jwtPayload);
|
5
|
+
const canAccessReporting = withJwtCheck(
|
6
|
+
(jwt) => ["admin", "owner"].includes(jwt.userTeamRole)
|
7
|
+
);
|
8
|
+
const canAccessTeamSettings = withJwtCheck(
|
9
|
+
(jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated
|
10
|
+
);
|
11
|
+
const canCreateTeam = withJwtCheck(
|
12
|
+
(jwt) => ["admin", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
|
13
|
+
);
|
14
|
+
const canUpgradePlan = withJwtCheck(
|
15
|
+
(jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && (plan.isFreePlan(jwt.planId) || plan.isTrialPlan(jwt.planId))
|
16
|
+
);
|
17
|
+
const canChangeBilling = withJwtCheck(
|
18
|
+
(jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isTeamSuspended && !jwt.isEndOfTrialActive
|
19
|
+
);
|
20
|
+
const canAccessProviderDashboard = withJwtCheck(
|
21
|
+
(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated
|
22
|
+
);
|
23
|
+
const canAccessProfileSettings = withJwtCheck(
|
24
|
+
(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended
|
25
|
+
);
|
26
|
+
exports.canAccessProfileSettings = canAccessProfileSettings;
|
27
|
+
exports.canAccessProviderDashboard = canAccessProviderDashboard;
|
28
|
+
exports.canAccessReporting = canAccessReporting;
|
29
|
+
exports.canAccessTeamSettings = canAccessTeamSettings;
|
30
|
+
exports.canChangeBilling = canChangeBilling;
|
31
|
+
exports.canCreateTeam = canCreateTeam;
|
32
|
+
exports.canUpgradePlan = canUpgradePlan;
|
21
33
|
//# sourceMappingURL=harmony96.cjs.map
|
package/dist/harmony96.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony96.cjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony96.cjs","sources":["../src/utils/user/permissions.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { isFreePlan, isTrialPlan } from '@utils'\n\ntype JwtCheckFn = (jwt: JwtTokenPayload) => boolean\n\nconst withJwtCheck =\n\t(checkFn: JwtCheckFn) =>\n\t(jwtPayload: JwtTokenPayload | null | undefined): boolean =>\n\t\t!!jwtPayload && checkFn(jwtPayload)\n\nexport const canAccessStyleGuide = withJwtCheck((jwt) =>\n\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessReporting = withJwtCheck((jwt) =>\n\t['admin', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessTeamSettings = withJwtCheck(\n\t(jwt) => ['admin', 'biller', 'owner'].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated,\n)\n\nexport const canCreateTeam = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canUpgradePlan = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t(isFreePlan(jwt.planId) || isTrialPlan(jwt.planId)),\n)\n\nexport const canChangeBilling = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isTeamSuspended &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canAccessProviderDashboard = withJwtCheck(\n\t(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated,\n)\n\nexport const canAccessProfileSettings = withJwtCheck(\n\t(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended,\n)\n"],"names":["isFreePlan","isTrialPlan"],"mappings":";;;AAKA,MAAM,eACL,CAAC,YACD,CAAC,eACA,CAAC,CAAC,cAAc,QAAQ,UAAU;AAM7B,MAAM,qBAAqB;AAAA,EAAa,CAAC,QAC/C,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY;AAC7C;AAEO,MAAM,wBAAwB;AAAA,EACpC,CAAC,QAAQ,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY,KAAK,IAAI;AACzE;AAEO,MAAM,gBAAgB;AAAA,EAC5B,CAAC,QACA,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY,KAC5C,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,iBAAiB;AAAA,EAC7B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,yBACHA,KAAAA,WAAW,IAAI,MAAM,KAAKC,KAAA,YAAY,IAAI,MAAM;AACnD;AAEO,MAAM,mBAAmB;AAAA,EAC/B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI,mBACL,CAAC,IAAI;AACP;AAEO,MAAM,6BAA6B;AAAA,EACzC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,IAAI;AAC7D;AAEO,MAAM,2BAA2B;AAAA,EACvC,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI;AAC1C;;;;;;;;"}
|
package/dist/harmony96.mjs
CHANGED
@@ -1,21 +1,33 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
)
|
17
|
-
|
1
|
+
import { isFreePlan, isTrialPlan } from "./harmony9.mjs";
|
2
|
+
const withJwtCheck = (checkFn) => (jwtPayload) => !!jwtPayload && checkFn(jwtPayload);
|
3
|
+
const canAccessReporting = withJwtCheck(
|
4
|
+
(jwt) => ["admin", "owner"].includes(jwt.userTeamRole)
|
5
|
+
);
|
6
|
+
const canAccessTeamSettings = withJwtCheck(
|
7
|
+
(jwt) => ["admin", "biller", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated
|
8
|
+
);
|
9
|
+
const canCreateTeam = withJwtCheck(
|
10
|
+
(jwt) => ["admin", "owner"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isEndOfTrialActive
|
11
|
+
);
|
12
|
+
const canUpgradePlan = withJwtCheck(
|
13
|
+
(jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && (isFreePlan(jwt.planId) || isTrialPlan(jwt.planId))
|
14
|
+
);
|
15
|
+
const canChangeBilling = withJwtCheck(
|
16
|
+
(jwt) => ["admin", "owner", "biller"].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated && !jwt.isTeamSuspended && !jwt.isEndOfTrialActive
|
17
|
+
);
|
18
|
+
const canAccessProviderDashboard = withJwtCheck(
|
19
|
+
(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated
|
20
|
+
);
|
21
|
+
const canAccessProfileSettings = withJwtCheck(
|
22
|
+
(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended
|
23
|
+
);
|
18
24
|
export {
|
19
|
-
|
25
|
+
canAccessProfileSettings,
|
26
|
+
canAccessProviderDashboard,
|
27
|
+
canAccessReporting,
|
28
|
+
canAccessTeamSettings,
|
29
|
+
canChangeBilling,
|
30
|
+
canCreateTeam,
|
31
|
+
canUpgradePlan
|
20
32
|
};
|
21
33
|
//# sourceMappingURL=harmony96.mjs.map
|
package/dist/harmony96.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony96.mjs","sources":["../src/
|
1
|
+
{"version":3,"file":"harmony96.mjs","sources":["../src/utils/user/permissions.ts"],"sourcesContent":["import type { JwtTokenPayload } from '@features/auth/core/types/jwtTokenPayload'\nimport { isFreePlan, isTrialPlan } from '@utils'\n\ntype JwtCheckFn = (jwt: JwtTokenPayload) => boolean\n\nconst withJwtCheck =\n\t(checkFn: JwtCheckFn) =>\n\t(jwtPayload: JwtTokenPayload | null | undefined): boolean =>\n\t\t!!jwtPayload && checkFn(jwtPayload)\n\nexport const canAccessStyleGuide = withJwtCheck((jwt) =>\n\t['admin', 'biller', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessReporting = withJwtCheck((jwt) =>\n\t['admin', 'owner'].includes(jwt.userTeamRole),\n)\n\nexport const canAccessTeamSettings = withJwtCheck(\n\t(jwt) => ['admin', 'biller', 'owner'].includes(jwt.userTeamRole) && jwt.isFullyAuthenticated,\n)\n\nexport const canCreateTeam = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canUpgradePlan = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t(isFreePlan(jwt.planId) || isTrialPlan(jwt.planId)),\n)\n\nexport const canChangeBilling = withJwtCheck(\n\t(jwt) =>\n\t\t['admin', 'owner', 'biller'].includes(jwt.userTeamRole) &&\n\t\tjwt.isFullyAuthenticated &&\n\t\t!jwt.isTeamSuspended &&\n\t\t!jwt.isEndOfTrialActive,\n)\n\nexport const canAccessProviderDashboard = withJwtCheck(\n\t(jwt) => jwt.isProviderAlpha && !jwt.isTeamSuspended && jwt.isFullyAuthenticated,\n)\n\nexport const canAccessProfileSettings = withJwtCheck(\n\t(jwt) => !jwt.isEndOfTrialActive && !jwt.isTeamSuspended,\n)\n"],"names":[],"mappings":";AAKA,MAAM,eACL,CAAC,YACD,CAAC,eACA,CAAC,CAAC,cAAc,QAAQ,UAAU;AAM7B,MAAM,qBAAqB;AAAA,EAAa,CAAC,QAC/C,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY;AAC7C;AAEO,MAAM,wBAAwB;AAAA,EACpC,CAAC,QAAQ,CAAC,SAAS,UAAU,OAAO,EAAE,SAAS,IAAI,YAAY,KAAK,IAAI;AACzE;AAEO,MAAM,gBAAgB;AAAA,EAC5B,CAAC,QACA,CAAC,SAAS,OAAO,EAAE,SAAS,IAAI,YAAY,KAC5C,IAAI,wBACJ,CAAC,IAAI;AACP;AAEO,MAAM,iBAAiB;AAAA,EAC7B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,yBACH,WAAW,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM;AACnD;AAEO,MAAM,mBAAmB;AAAA,EAC/B,CAAC,QACA,CAAC,SAAS,SAAS,QAAQ,EAAE,SAAS,IAAI,YAAY,KACtD,IAAI,wBACJ,CAAC,IAAI,mBACL,CAAC,IAAI;AACP;AAEO,MAAM,6BAA6B;AAAA,EACzC,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,mBAAmB,IAAI;AAC7D;AAEO,MAAM,2BAA2B;AAAA,EACvC,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI;AAC1C;"}
|
package/dist/harmony97.cjs
CHANGED
@@ -1,78 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
4
|
-
const
|
5
|
-
const
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
const TeamSwitch = require("./harmony115.cjs");
|
13
|
-
const UpgradeMenuItem = require("./harmony116.cjs");
|
14
|
-
const useSidebar = require("./harmony98.cjs");
|
15
|
-
const louis = require("@lokalise/louis");
|
16
|
-
const permissions = require("./harmony99.cjs");
|
17
|
-
const clsx = require("./harmony73.cjs");
|
18
|
-
const ProfileMenu_module = require("./harmony117.cjs");
|
19
|
-
const UpgradeIcon = require("./harmony118.cjs");
|
20
|
-
const ProfileMenu = ({ config }) => {
|
21
|
-
const {
|
22
|
-
data: { currentTeam, jwt }
|
23
|
-
} = useSidebar.useSidebar();
|
24
|
-
const {
|
25
|
-
darkModeToggle,
|
26
|
-
teamSwitch,
|
27
|
-
createTeam,
|
28
|
-
createTeamPlaceholder,
|
29
|
-
upgradeMenuItem,
|
30
|
-
profileSettings
|
31
|
-
} = config;
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
33
|
-
louis.Menu,
|
34
|
-
{
|
35
|
-
menuButton: () => {
|
36
|
-
var _a;
|
37
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("button", { className: ProfileMenu_module.default.profileButton, "aria-label": "Profile menu", type: "button", children: [
|
38
|
-
((_a = currentTeam.result) == null ? void 0 : _a.logoUrl) ? /* @__PURE__ */ jsxRuntime.jsx(
|
39
|
-
"img",
|
40
|
-
{
|
41
|
-
src: currentTeam.result.logoUrl,
|
42
|
-
className: clsx.clsx(ProfileMenu_module.default.profileImage, {
|
43
|
-
[ProfileMenu_module.default.profileImageHighlight]: permissions.canUpgradePlan(jwt.result)
|
44
|
-
}),
|
45
|
-
alt: "Team Logo"
|
46
|
-
}
|
47
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
48
|
-
"div",
|
49
|
-
{
|
50
|
-
className: clsx.clsx(ProfileMenu_module.default.userIconWrapper, "flex-row", "align-center", "items-center", {
|
51
|
-
[ProfileMenu_module.default.profileImageHighlight]: permissions.canUpgradePlan(jwt.result)
|
52
|
-
}),
|
53
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(louis.UserIcon, { size: "25px" })
|
54
|
-
}
|
55
|
-
),
|
56
|
-
permissions.canUpgradePlan(jwt.result) && /* @__PURE__ */ jsxRuntime.jsx(UpgradeIcon.UpgradeIcon, { className: ProfileMenu_module.default.profileImageUpgradeIcon })
|
57
|
-
] });
|
58
|
-
},
|
59
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(louis.MenuList, { placement: "right-end", className: ProfileMenu_module.default.menuContainer, children: [
|
60
|
-
teamSwitch && /* @__PURE__ */ jsxRuntime.jsx(TeamSwitch.TeamSwitch, { onSwitchTeam: teamSwitch.onSwitchTeam }),
|
61
|
-
createTeam && /* @__PURE__ */ jsxRuntime.jsx(CreateNewTeam.CreateNewTeam, { onCreateTeam: createTeam.onCreateTeam }),
|
62
|
-
createTeamPlaceholder && /* @__PURE__ */ jsxRuntime.jsx(CreateNewTeamPlaceholder.CreateNewTeamPlaceholder, { onClick: createTeamPlaceholder.onClick }),
|
63
|
-
/* @__PURE__ */ jsxRuntime.jsx(TeamMenuItem.TeamMenuItem, {}),
|
64
|
-
upgradeMenuItem && /* @__PURE__ */ jsxRuntime.jsx(UpgradeMenuItem.UpgradeMenuItem, { href: upgradeMenuItem.href }),
|
65
|
-
/* @__PURE__ */ jsxRuntime.jsx(BillingMenuItem.BillingMenuItem, {}),
|
66
|
-
/* @__PURE__ */ jsxRuntime.jsx(TeamSettingsMenuItem.TeamSettingsMenuItem, {}),
|
67
|
-
/* @__PURE__ */ jsxRuntime.jsx(ProviderMenuItem.ProviderMenuItem, {}),
|
68
|
-
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
|
69
|
-
profileSettings && /* @__PURE__ */ jsxRuntime.jsx(ProfileSettingsMenuItem.ProfileSettingsMenuItem, {}),
|
70
|
-
darkModeToggle && /* @__PURE__ */ jsxRuntime.jsx(DarkModeToggle.DarkModeToggle, { ...darkModeToggle }),
|
71
|
-
(profileSettings && permissions.canAccessProfileSettings(jwt.result) || darkModeToggle) && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
|
72
|
-
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "/login?action=logout", children: "Logout" })
|
73
|
-
] })
|
74
|
-
}
|
75
|
-
);
|
76
|
-
};
|
77
|
-
exports.ProfileMenu = ProfileMenu;
|
4
|
+
const Avatar_module = require("./harmony120.cjs");
|
5
|
+
const Avatar = ({
|
6
|
+
src,
|
7
|
+
href = "/",
|
8
|
+
ariaLabel = "Lokalise App Home",
|
9
|
+
alt = "Lokalise Logo"
|
10
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx("a", { className: Avatar_module.default.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt }) });
|
11
|
+
exports.Avatar = Avatar;
|
78
12
|
//# sourceMappingURL=harmony97.cjs.map
|
package/dist/harmony97.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony97.cjs","sources":["../src/components/Sidebar/Widgets/
|
1
|
+
{"version":3,"file":"harmony97.cjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n *\n * @example\n * ```\n * <Avatar src=\"/logo.png\" href=\"/\" ariaLabel=\"Home\" alt=\"\" />\n * ```\n */\n\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":["jsx","styles"],"mappings":";;;;AAuBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACEA,2BAAAA,IAAA,KAAA,EAAE,WAAWC,cAAA,QAAO,UAAU,MAAY,cAAY,WACtD,UAACD,2BAAAA,IAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;;"}
|
package/dist/harmony97.mjs
CHANGED
@@ -1,78 +1,12 @@
|
|
1
|
-
import { jsx
|
2
|
-
import
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
import { TeamSettingsMenuItem } from "./harmony114.mjs";
|
10
|
-
import { TeamSwitch } from "./harmony115.mjs";
|
11
|
-
import { UpgradeMenuItem } from "./harmony116.mjs";
|
12
|
-
import { useSidebar } from "./harmony98.mjs";
|
13
|
-
import { Menu, MenuList, MenuDivider, MenuItem, UserIcon } from "@lokalise/louis";
|
14
|
-
import { canAccessProfileSettings, canUpgradePlan } from "./harmony99.mjs";
|
15
|
-
import { clsx } from "./harmony73.mjs";
|
16
|
-
import styles from "./harmony117.mjs";
|
17
|
-
import { UpgradeIcon } from "./harmony118.mjs";
|
18
|
-
const ProfileMenu = ({ config }) => {
|
19
|
-
const {
|
20
|
-
data: { currentTeam, jwt }
|
21
|
-
} = useSidebar();
|
22
|
-
const {
|
23
|
-
darkModeToggle,
|
24
|
-
teamSwitch,
|
25
|
-
createTeam,
|
26
|
-
createTeamPlaceholder,
|
27
|
-
upgradeMenuItem,
|
28
|
-
profileSettings
|
29
|
-
} = config;
|
30
|
-
return /* @__PURE__ */ jsx(
|
31
|
-
Menu,
|
32
|
-
{
|
33
|
-
menuButton: () => {
|
34
|
-
var _a;
|
35
|
-
return /* @__PURE__ */ jsxs("button", { className: styles.profileButton, "aria-label": "Profile menu", type: "button", children: [
|
36
|
-
((_a = currentTeam.result) == null ? void 0 : _a.logoUrl) ? /* @__PURE__ */ jsx(
|
37
|
-
"img",
|
38
|
-
{
|
39
|
-
src: currentTeam.result.logoUrl,
|
40
|
-
className: clsx(styles.profileImage, {
|
41
|
-
[styles.profileImageHighlight]: canUpgradePlan(jwt.result)
|
42
|
-
}),
|
43
|
-
alt: "Team Logo"
|
44
|
-
}
|
45
|
-
) : /* @__PURE__ */ jsx(
|
46
|
-
"div",
|
47
|
-
{
|
48
|
-
className: clsx(styles.userIconWrapper, "flex-row", "align-center", "items-center", {
|
49
|
-
[styles.profileImageHighlight]: canUpgradePlan(jwt.result)
|
50
|
-
}),
|
51
|
-
children: /* @__PURE__ */ jsx(UserIcon, { size: "25px" })
|
52
|
-
}
|
53
|
-
),
|
54
|
-
canUpgradePlan(jwt.result) && /* @__PURE__ */ jsx(UpgradeIcon, { className: styles.profileImageUpgradeIcon })
|
55
|
-
] });
|
56
|
-
},
|
57
|
-
children: /* @__PURE__ */ jsxs(MenuList, { placement: "right-end", className: styles.menuContainer, children: [
|
58
|
-
teamSwitch && /* @__PURE__ */ jsx(TeamSwitch, { onSwitchTeam: teamSwitch.onSwitchTeam }),
|
59
|
-
createTeam && /* @__PURE__ */ jsx(CreateNewTeam, { onCreateTeam: createTeam.onCreateTeam }),
|
60
|
-
createTeamPlaceholder && /* @__PURE__ */ jsx(CreateNewTeamPlaceholder, { onClick: createTeamPlaceholder.onClick }),
|
61
|
-
/* @__PURE__ */ jsx(TeamMenuItem, {}),
|
62
|
-
upgradeMenuItem && /* @__PURE__ */ jsx(UpgradeMenuItem, { href: upgradeMenuItem.href }),
|
63
|
-
/* @__PURE__ */ jsx(BillingMenuItem, {}),
|
64
|
-
/* @__PURE__ */ jsx(TeamSettingsMenuItem, {}),
|
65
|
-
/* @__PURE__ */ jsx(ProviderMenuItem, {}),
|
66
|
-
/* @__PURE__ */ jsx(MenuDivider, {}),
|
67
|
-
profileSettings && /* @__PURE__ */ jsx(ProfileSettingsMenuItem, {}),
|
68
|
-
darkModeToggle && /* @__PURE__ */ jsx(DarkModeToggle, { ...darkModeToggle }),
|
69
|
-
(profileSettings && canAccessProfileSettings(jwt.result) || darkModeToggle) && /* @__PURE__ */ jsx(MenuDivider, {}),
|
70
|
-
/* @__PURE__ */ jsx(MenuItem, { href: "/login?action=logout", children: "Logout" })
|
71
|
-
] })
|
72
|
-
}
|
73
|
-
);
|
74
|
-
};
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
2
|
+
import styles from "./harmony120.mjs";
|
3
|
+
const Avatar = ({
|
4
|
+
src,
|
5
|
+
href = "/",
|
6
|
+
ariaLabel = "Lokalise App Home",
|
7
|
+
alt = "Lokalise Logo"
|
8
|
+
}) => /* @__PURE__ */ jsx("a", { className: styles.logoLink, href, "aria-label": ariaLabel, children: /* @__PURE__ */ jsx("img", { src, alt }) });
|
75
9
|
export {
|
76
|
-
|
10
|
+
Avatar
|
77
11
|
};
|
78
12
|
//# sourceMappingURL=harmony97.mjs.map
|
package/dist/harmony97.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony97.mjs","sources":["../src/components/Sidebar/Widgets/
|
1
|
+
{"version":3,"file":"harmony97.mjs","sources":["../src/components/Sidebar/Widgets/Avatar/Avatar.tsx"],"sourcesContent":["import styles from './Avatar.module.css'\n\ntype AvatarProps = {\n\t/** URL of the avatar/logo image */\n\tsrc: string\n\t/** Link destination when avatar is clicked. Defaults to '/' */\n\thref?: string\n\t/** Accessibility label for the avatar link. Defaults to 'Home' */\n\tariaLabel?: string\n\t/** Alt text for the avatar image. Defaults to 'Lokalise' */\n\talt?: string\n}\n\n/**\n * Display company main avatar / logo in the top section of the Sidebar.\n * Used as the main branding element and home navigation link.\n *\n * @example\n * ```\n * <Avatar src=\"/logo.png\" href=\"/\" ariaLabel=\"Home\" alt=\"\" />\n * ```\n */\n\nexport const Avatar = ({\n\tsrc,\n\thref = '/',\n\tariaLabel = 'Lokalise App Home',\n\talt = 'Lokalise Logo',\n}: AvatarProps) => (\n\t<a className={styles.logoLink} href={href} aria-label={ariaLabel}>\n\t\t<img src={src} alt={alt} />\n\t</a>\n)\n"],"names":[],"mappings":";;AAuBO,MAAM,SAAS,CAAC;AAAA,EACtB;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACP,MACE,oBAAA,KAAA,EAAE,WAAW,OAAO,UAAU,MAAY,cAAY,WACtD,UAAC,oBAAA,OAAA,EAAI,KAAU,IAAA,CAAU,EAC1B,CAAA;"}
|
package/dist/harmony98.cjs
CHANGED
@@ -1,15 +1,50 @@
|
|
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
|
-
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const louis = require("@lokalise/louis");
|
5
|
+
const clsx = require("./harmony73.cjs");
|
6
|
+
const HelpMenu_module = require("./harmony121.cjs");
|
7
|
+
const HelpMenu = ({ contactSupport, keyboardShortcuts }) => {
|
8
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
9
|
+
louis.Menu,
|
10
|
+
{
|
11
|
+
menuButton: ({ opened }) => /* @__PURE__ */ jsxRuntime.jsx(louis.Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsxRuntime.jsx(
|
12
|
+
"button",
|
13
|
+
{
|
14
|
+
type: "button",
|
15
|
+
className: clsx.clsx(HelpMenu_module.default.dropdownButton, {
|
16
|
+
[HelpMenu_module.default.dropdownButtonActive]: opened
|
17
|
+
}),
|
18
|
+
"data-testid": "sidebar-help-menu-button",
|
19
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(louis.HelpCenterIcon, { size: "25px" })
|
20
|
+
}
|
21
|
+
) }),
|
22
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(louis.MenuList, { placement: "right-start", children: [
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/category/tutorials/", target: "_blank", children: "Tutorials" }),
|
24
|
+
contactSupport && /* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { onClick: contactSupport.onClick, children: "Contact support" }),
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://docs.lokalise.com/en/", target: "_blank", children: "Documentation" }),
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
|
27
|
+
keyboardShortcuts && /* @__PURE__ */ jsxRuntime.jsxs(louis.MenuItem, { className: HelpMenu_module.default.shortcutMenu, onClick: keyboardShortcuts.onClick, children: [
|
28
|
+
"Keyboard shortcuts",
|
29
|
+
" ",
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: HelpMenu_module.default.shortcutLabel, children: keyboardShortcuts.label })
|
31
|
+
] }),
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
33
|
+
louis.MenuItem,
|
34
|
+
{
|
35
|
+
href: "https://developers.lokalise.com/reference/lokalise-rest-api",
|
36
|
+
target: "_blank",
|
37
|
+
children: "API reference"
|
38
|
+
}
|
39
|
+
),
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://github.com/lokalise/lokalise-cli-2-go", target: "_blank", children: "CLI tool" }),
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuDivider, {}),
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/category/product-updates/", target: "_blank", children: "What’s new" }),
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/blog/", target: "_blank", children: "Blog" }),
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(louis.MenuItem, { href: "https://lokalise.com/product/apps", target: "_blank", children: "Apps" })
|
45
|
+
] })
|
46
|
+
}
|
47
|
+
);
|
13
48
|
};
|
14
|
-
exports.
|
49
|
+
exports.HelpMenu = HelpMenu;
|
15
50
|
//# sourceMappingURL=harmony98.cjs.map
|
package/dist/harmony98.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"harmony98.cjs","sources":["../src/components/Sidebar/
|
1
|
+
{"version":3,"file":"harmony98.cjs","sources":["../src/components/Sidebar/Widgets/HelpMenu/HelpMenu.tsx"],"sourcesContent":["import type { HelpMenuConfig } from '@components/Sidebar/types'\nimport { HelpCenterIcon, Menu, MenuDivider, MenuItem, MenuList, Tooltip } from '@lokalise/louis'\nimport clsx from 'clsx'\nimport styles from './HelpMenu.module.css'\n\n/**\n * Help menu component that provides links to tutorials, documentation, support, and more.\n *\n * @example\n * ```\n * <HelpMenu\n * contactSupport={{ onClick: handleContactSupport }}\n * keyboardShortcuts={{ onClick: handleShowShortcuts, label: '⌘K' }}\n * />\n * ```\n */\n\nexport const HelpMenu = ({ contactSupport, keyboardShortcuts }: HelpMenuConfig) => {\n\treturn (\n\t\t<Menu\n\t\t\tmenuButton={({ opened }) => (\n\t\t\t\t<Tooltip placement=\"right\" tooltip=\"Help\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={clsx(styles.dropdownButton, {\n\t\t\t\t\t\t\t[styles.dropdownButtonActive]: opened,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"sidebar-help-menu-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HelpCenterIcon size=\"25px\" />\n\t\t\t\t\t</button>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t>\n\t\t\t<MenuList placement=\"right-start\">\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/tutorials/\" target=\"_blank\">\n\t\t\t\t\tTutorials\n\t\t\t\t</MenuItem>\n\t\t\t\t{contactSupport && <MenuItem onClick={contactSupport.onClick}>Contact support</MenuItem>}\n\t\t\t\t<MenuItem href=\"https://docs.lokalise.com/en/\" target=\"_blank\">\n\t\t\t\t\tDocumentation\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t{keyboardShortcuts && (\n\t\t\t\t\t<MenuItem className={styles.shortcutMenu} onClick={keyboardShortcuts.onClick}>\n\t\t\t\t\t\tKeyboard shortcuts{' '}\n\t\t\t\t\t\t<span className={styles.shortcutLabel}>{keyboardShortcuts.label}</span>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t)}\n\t\t\t\t<MenuItem\n\t\t\t\t\thref=\"https://developers.lokalise.com/reference/lokalise-rest-api\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t>\n\t\t\t\t\tAPI reference\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://github.com/lokalise/lokalise-cli-2-go\" target=\"_blank\">\n\t\t\t\t\tCLI tool\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuDivider />\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/category/product-updates/\" target=\"_blank\">\n\t\t\t\t\tWhat’s new\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/blog/\" target=\"_blank\">\n\t\t\t\t\tBlog\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem href=\"https://lokalise.com/product/apps\" target=\"_blank\">\n\t\t\t\t\tApps\n\t\t\t\t</MenuItem>\n\t\t\t</MenuList>\n\t\t</Menu>\n\t)\n}\n"],"names":["jsx","Menu","Tooltip","clsx","styles","HelpCenterIcon","jsxs","MenuList","MenuItem","MenuDivider"],"mappings":";;;;;;AAiBO,MAAM,WAAW,CAAC,EAAE,gBAAgB,wBAAwC;AAEjF,SAAAA,2BAAA;AAAA,IAACC,MAAA;AAAA,IAAA;AAAA,MACA,YAAY,CAAC,EAAE,OAAO,qCACpBC,MAAQ,SAAA,EAAA,WAAU,SAAQ,SAAQ,QAClC,UAAAF,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAWG,KAAAA,KAAKC,gBAAA,QAAO,gBAAgB;AAAA,YACtC,CAACA,gBAAAA,QAAO,oBAAoB,GAAG;AAAA,UAAA,CAC/B;AAAA,UACD,eAAY;AAAA,UAEZ,UAAAJ,2BAAAA,IAACK,MAAAA,gBAAe,EAAA,MAAK,OAAO,CAAA;AAAA,QAAA;AAAA,MAAA,GAE9B;AAAA,MAGD,UAAAC,2BAAA,KAACC,MAAS,UAAA,EAAA,WAAU,eACnB,UAAA;AAAA,QAAAP,+BAACQ,MAAAA,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,aAAA;AAAA,QACC,kBAAmBR,2BAAAA,IAAAQ,MAAAA,UAAA,EAAS,SAAS,eAAe,SAAS,UAAe,mBAAA;AAAA,uCAC5EA,MAAAA,UAAS,EAAA,MAAK,iCAAgC,QAAO,UAAS,UAE/D,iBAAA;AAAA,uCACCC,MAAY,aAAA,EAAA;AAAA,QACZ,qDACCD,gBAAS,EAAA,WAAWJ,gBAAAA,QAAO,cAAc,SAAS,kBAAkB,SAAS,UAAA;AAAA,UAAA;AAAA,UAC1D;AAAA,yCAClB,QAAK,EAAA,WAAWA,gBAAAA,QAAO,eAAgB,4BAAkB,MAAM,CAAA;AAAA,QAAA,GACjE;AAAA,QAEDJ,2BAAA;AAAA,UAACQ,MAAA;AAAA,UAAA;AAAA,YACA,MAAK;AAAA,YACL,QAAO;AAAA,YACP,UAAA;AAAA,UAAA;AAAA,QAED;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,iDAAgD,QAAO,UAAS,UAE/E,YAAA;AAAA,uCACCC,MAAY,aAAA,EAAA;AAAA,uCACZD,MAAAA,UAAS,EAAA,MAAK,uDAAsD,QAAO,UAAS,UAErF,cAAA;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,8BAA6B,QAAO,UAAS,UAE5D,QAAA;AAAA,uCACCA,MAAAA,UAAS,EAAA,MAAK,qCAAoC,QAAO,UAAS,UAEnE,OAAA,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA;AAAA,EACD;AAEF;;"}
|
package/dist/harmony98.mjs
CHANGED
@@ -1,15 +1,50 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
2
|
+
import { Menu, MenuList, MenuItem, MenuDivider, Tooltip, HelpCenterIcon } from "@lokalise/louis";
|
3
|
+
import { clsx } from "./harmony73.mjs";
|
4
|
+
import styles from "./harmony121.mjs";
|
5
|
+
const HelpMenu = ({ contactSupport, keyboardShortcuts }) => {
|
6
|
+
return /* @__PURE__ */ jsx(
|
7
|
+
Menu,
|
8
|
+
{
|
9
|
+
menuButton: ({ opened }) => /* @__PURE__ */ jsx(Tooltip, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ jsx(
|
10
|
+
"button",
|
11
|
+
{
|
12
|
+
type: "button",
|
13
|
+
className: clsx(styles.dropdownButton, {
|
14
|
+
[styles.dropdownButtonActive]: opened
|
15
|
+
}),
|
16
|
+
"data-testid": "sidebar-help-menu-button",
|
17
|
+
children: /* @__PURE__ */ jsx(HelpCenterIcon, { size: "25px" })
|
18
|
+
}
|
19
|
+
) }),
|
20
|
+
children: /* @__PURE__ */ jsxs(MenuList, { placement: "right-start", children: [
|
21
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/tutorials/", target: "_blank", children: "Tutorials" }),
|
22
|
+
contactSupport && /* @__PURE__ */ jsx(MenuItem, { onClick: contactSupport.onClick, children: "Contact support" }),
|
23
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://docs.lokalise.com/en/", target: "_blank", children: "Documentation" }),
|
24
|
+
/* @__PURE__ */ jsx(MenuDivider, {}),
|
25
|
+
keyboardShortcuts && /* @__PURE__ */ jsxs(MenuItem, { className: styles.shortcutMenu, onClick: keyboardShortcuts.onClick, children: [
|
26
|
+
"Keyboard shortcuts",
|
27
|
+
" ",
|
28
|
+
/* @__PURE__ */ jsx("span", { className: styles.shortcutLabel, children: keyboardShortcuts.label })
|
29
|
+
] }),
|
30
|
+
/* @__PURE__ */ jsx(
|
31
|
+
MenuItem,
|
32
|
+
{
|
33
|
+
href: "https://developers.lokalise.com/reference/lokalise-rest-api",
|
34
|
+
target: "_blank",
|
35
|
+
children: "API reference"
|
36
|
+
}
|
37
|
+
),
|
38
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://github.com/lokalise/lokalise-cli-2-go", target: "_blank", children: "CLI tool" }),
|
39
|
+
/* @__PURE__ */ jsx(MenuDivider, {}),
|
40
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/category/product-updates/", target: "_blank", children: "What’s new" }),
|
41
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/blog/", target: "_blank", children: "Blog" }),
|
42
|
+
/* @__PURE__ */ jsx(MenuItem, { href: "https://lokalise.com/product/apps", target: "_blank", children: "Apps" })
|
43
|
+
] })
|
44
|
+
}
|
45
|
+
);
|
11
46
|
};
|
12
47
|
export {
|
13
|
-
|
48
|
+
HelpMenu
|
14
49
|
};
|
15
50
|
//# sourceMappingURL=harmony98.mjs.map
|