@bigbinary/neeto-molecules 4.1.67 → 4.1.69
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/AuditLogs.js +1 -0
- package/dist/AuditLogs.js.map +1 -1
- package/dist/{ConfigureView-CLhj1NR4.js → ConfigureView-DOotR_-0.js} +10 -31
- package/dist/ConfigureView-DOotR_-0.js.map +1 -0
- package/dist/cjs/AuditLogs.js +1 -0
- package/dist/cjs/AuditLogs.js.map +1 -1
- package/dist/cjs/{ConfigureView-DuStircF.js → ConfigureView-DtQRvPmE.js} +8 -29
- package/dist/cjs/ConfigureView-DtQRvPmE.js.map +1 -0
- package/dist/cjs/v2/AuditLogs.js +24 -26
- package/dist/cjs/v2/AuditLogs.js.map +1 -1
- package/dist/cjs/v2/ConfigurePageSidebar.js +1 -2
- package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/v2/Container.js +8 -1
- package/dist/cjs/v2/Container.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +294 -181
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/HelpPopover.js +15 -9
- package/dist/cjs/v2/HelpPopover.js.map +1 -1
- package/dist/cjs/v2/Search.js +9 -19
- package/dist/cjs/v2/Search.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +84 -51
- package/dist/cjs/v2/Sidebar.js.map +1 -1
- package/dist/v2/AuditLogs.js +24 -26
- package/dist/v2/AuditLogs.js.map +1 -1
- package/dist/v2/ConfigurePageSidebar.js +1 -2
- package/dist/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/v2/Container.js +8 -1
- package/dist/v2/Container.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +296 -183
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/HelpPopover.js +16 -10
- package/dist/v2/HelpPopover.js.map +1 -1
- package/dist/v2/Search.js +11 -21
- package/dist/v2/Search.js.map +1 -1
- package/dist/v2/Sidebar.js +85 -52
- package/dist/v2/Sidebar.js.map +1 -1
- package/package.json +3 -3
- package/src/translations/ar.json +37 -36
- package/src/translations/bg.json +37 -36
- package/src/translations/ca.json +37 -36
- package/src/translations/cs.json +37 -36
- package/src/translations/da.json +37 -36
- package/src/translations/de.json +37 -36
- package/src/translations/en.json +36 -35
- package/src/translations/es-MX.json +37 -36
- package/src/translations/es.json +37 -36
- package/src/translations/et.json +37 -36
- package/src/translations/fi.json +37 -36
- package/src/translations/fil.json +37 -36
- package/src/translations/fr.json +37 -36
- package/src/translations/he.json +37 -36
- package/src/translations/hi.json +37 -36
- package/src/translations/hr.json +37 -36
- package/src/translations/hu.json +37 -36
- package/src/translations/id.json +37 -36
- package/src/translations/it.json +37 -36
- package/src/translations/ja.json +37 -36
- package/src/translations/ko.json +37 -36
- package/src/translations/nl.json +37 -36
- package/src/translations/pl.json +37 -36
- package/src/translations/pt-BR.json +37 -36
- package/src/translations/pt.json +37 -36
- package/src/translations/ro.json +37 -36
- package/src/translations/ru.json +37 -36
- package/src/translations/sk.json +37 -36
- package/src/translations/sl.json +37 -36
- package/src/translations/sv.json +37 -36
- package/src/translations/th.json +37 -36
- package/src/translations/tr.json +37 -36
- package/src/translations/uk.json +37 -36
- package/src/translations/vi.json +37 -36
- package/src/translations/zh-CN.json +37 -36
- package/src/translations/zh-TW.json +37 -36
- package/dist/ConfigureView-CLhj1NR4.js.map +0 -1
- package/dist/cjs/ConfigureView-DuStircF.js.map +0 -1
package/dist/v2/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/v2/components/Sidebar/Components/Header.jsx","../../src/v2/components/Sidebar/Components/AddAction.jsx","../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../src/v2/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"block w-full\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n tag,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isKeyboardShortcutsPaneOpen) {\n setIsSidebarCollapsed(true);\n } else if (window.innerWidth > 768) {\n setIsSidebarCollapsed(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed may not be stable across renders\n }, [isKeyboardShortcutsPaneOpen]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n // Drag-to-resize via SidebarRail: intercept mousedown to start drag,\n // update --sidebar-width directly on DOM for instant feedback,\n // persist to localStorage on mouseup.\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable]\n );\n\n // Prevent SidebarRail's built-in toggle when user dragged to resize\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n // In RTL, dragging right shrinks, dragging left expands\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n `${sidebarWidth / 16}rem`\n );\n }, [sidebarWidth]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(configureNavLink.to);\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger className=\"absolute end-2 top-3\" />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {isExpandable && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {isSidebarCollapsed && (\n <SidebarTrigger className=\"fixed start-2 top-3 z-50\" />\n )}\n </SidebarProvider>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage5","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage6","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","history","useHistory","sidebarSide","useEffect","innerWidth","currentLink","findLast","handleRailMouseDown","useCallback","current","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarProvider","open","onOpenChange","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/v2/components/Sidebar/Components/Header.jsx","../../src/v2/components/Sidebar/Components/AddAction.jsx","../../src/v2/components/Sidebar/Components/PinIcon.jsx","../../src/v2/components/Sidebar/Components/UnpinIcon.jsx","../../src/v2/components/Sidebar/Components/MoreDropdown.jsx","../../src/v2/components/Sidebar/Components/NavLinks.jsx","../../src/v2/components/Sidebar/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nimport { DEFAULT_HOME_PATH, SPECIAL_APP_NAMES } from \"../constants\";\n\nconst Header = ({ customLogo, clearSettingsNav }) => {\n const productName = globalProps.appName.substr(5);\n const normalizedName = (productName || \"\").trim().toLowerCase();\n const specialCase = SPECIAL_APP_NAMES[normalizedName];\n const logoName = specialCase\n ? `Neeto${specialCase}`\n : `Neeto${capitalize(normalizedName)}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n const isOnboarded = globalProps.user.isOnboarded !== false;\n\n return (\n <div className=\"px-4 py-3\" data-testid=\"sidebar-info\">\n <Link\n to={DEFAULT_HOME_PATH}\n className={classnames(\"mt-2 block w-full py-2\", {\n \"cursor-pointer\": isOnboarded,\n \"pointer-events-none\": !isOnboarded,\n })}\n onClick={clearSettingsNav}\n >\n {globalProps.sidebarTitle ? (\n <span className=\"text-sidebar-foreground text-xl leading-9 font-bold\">\n {globalProps.sidebarTitle}\n </span>\n ) : (\n <LogoComponent className=\"h-9 w-auto max-w-full\" />\n )}\n </Link>\n </div>\n );\n};\n\nexport default memo(Header);\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Plus } from \"lucide-react\";\n\nconst AddAction = ({ actions }) => (\n <DropdownMenu\n dropdownProps={{ align: \"end\", side: \"bottom\" }}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-sidebar-ring absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden focus-visible:ring-2 md:opacity-0 md:group-focus-within/menu-item:opacity-100 md:group-hover/menu-item:opacity-100\"\n data-testid=\"add-dropdown-trigger\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <Plus />\n </button>\n }\n >\n {actions.map(action => (\n <DropdownMenu.MenuItem\n key={action.key}\n onClick={() => {\n action.onClick?.();\n }}\n >\n {action.label}\n </DropdownMenu.MenuItem>\n ))}\n </DropdownMenu>\n);\n\nexport default AddAction;\n","const PinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40zm-286 80h252l-46-46v-314H400v314zm126 0\" />\n </svg>\n);\n\nexport default PinIcon;\n","const UnpinIcon = ({ size, otherProps }) => (\n <svg\n fill=\"currentColor\"\n height={size}\n viewBox=\"0 -960 960 960\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n {...otherProps}\n >\n <path d=\"m640-480 80 80v80H520v240l-40 40-40-40v-240H240v-80l80-80v-280h-40v-80h400v80h-40z\" />\n </svg>\n);\n\nexport default UnpinIcon;\n","import { Badge, Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { SidebarMenuItem } from \"@bigbinary/neeto-atoms/primitives\";\nimport { Ellipsis } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport PinIcon from \"./PinIcon\";\nimport UnpinIcon from \"./UnpinIcon\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst MoreDropdown = ({ moreNavLinks, isNavLinkPinned, handleTogglePin }) => {\n const { t } = useTranslation();\n const isRTL = document.documentElement.dir === \"rtl\";\n\n return (\n <SidebarMenuItem>\n <DropdownMenu\n closeOnSelect={false}\n position={isRTL ? \"left-start\" : \"right-start\"}\n customTarget={\n <button\n className=\"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex w-full items-center gap-2 rounded-md p-2 text-sm outline-hidden\"\n data-testid=\"more-nav-links-dropdown-button\"\n >\n <Ellipsis />\n <span className=\"truncate\">{t(\"neetoMolecules.sidebar.more\")}</span>\n </button>\n }\n dropdownProps={{\n className: \"z-[99999] p-0\",\n \"data-testid\": \"more-nav-links-dropdown-menu\",\n }}\n >\n {moreNavLinks.filter(filterByPermissions).map((navLink, index) => {\n const { label, icon, key: navLinkKey, to, onClick, tag } = navLink;\n const IconSVG = icon;\n const isPinned = isNavLinkPinned(navLink);\n\n return (\n <DropdownMenu.MenuItem\n data-testid={label}\n key={navLinkKey || index}\n onSelect={e => e.preventDefault()}\n >\n <CheckPointNavLinks\n {...{ onClick, to }}\n className=\"flex w-full cursor-pointer items-center justify-between gap-2 px-2 py-1\"\n >\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {icon && <IconSVG className=\"flex-shrink-0\" size={20} />}\n <span className=\"flex min-w-0 flex-grow items-center gap-2\">\n {label}\n {tag && <Badge {...tag} />}\n </span>\n </span>\n <Tooltip\n position=\"right\"\n content={\n isPinned\n ? t(\"neetoMolecules.sidebar.unpin\")\n : t(\"neetoMolecules.sidebar.pin\")\n }\n >\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"pin-button\"\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={event => handleTogglePin(navLink, event)}\n >\n {isPinned ? (\n <UnpinIcon otherProps={{}} size={16} />\n ) : (\n <PinIcon otherProps={{}} size={16} />\n )}\n </Button>\n </Tooltip>\n </CheckPointNavLinks>\n </DropdownMenu.MenuItem>\n );\n })}\n </DropdownMenu>\n </SidebarMenuItem>\n );\n};\n\nexport default MoreDropdown;\n","import { Fragment, useState } from \"react\";\n\nimport { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronRight } from \"lucide-react\";\nimport { isNot, hyphenate, isNotEmpty, isPresent } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { append, is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport AddAction from \"./AddAction\";\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport MoreDropdown from \"./MoreDropdown\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { PINNED_MORE_NAV_LINKS_KEY } from \"../constants\";\nimport { filterByPermissions } from \"../utils\";\n\nconst renderCount = count => (count > 999 ? \"999+\" : count);\n\nconst NavLinks = ({\n navLinks,\n moreNavLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [expandedNavLinkKeys, setExpandedNavLinkKeys] = useState([]);\n const [pinnedNavLinks, setPinnedNavLinks] = useLocalStorage(\n PINNED_MORE_NAV_LINKS_KEY,\n []\n );\n\n const handleNavLinkClick = ({ event, isActive, navLink }) => {\n const isExpandable =\n isPresent(navLink.items) || isPresent(navLink.component);\n if (!isExpandable) {\n setExpandedNavLinkKeys([]);\n\n return;\n }\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n const navLinkKey = navLink.key || navLink.to;\n if (isActive()) {\n const isExpanded = expandedNavLinkKeys.includes(navLinkKey);\n setExpandedNavLinkKeys(isExpanded ? [] : [navLinkKey]);\n navLink.resetPath !== true && event.preventDefault();\n\n return;\n }\n\n setExpandedNavLinkKeys([navLinkKey]);\n };\n\n const handleTogglePin = (navLink, event) => {\n event.preventDefault();\n event.stopPropagation();\n const navLinkKey = navLink.key || navLink.to;\n const isPinned = pinnedNavLinks.includes(navLinkKey);\n\n if (isPinned) {\n setPinnedNavLinks(pinnedNavLinks.filter(isNot(navLinkKey)));\n } else {\n setPinnedNavLinks([...pinnedNavLinks, navLinkKey]);\n }\n };\n\n const isNavLinkPinned = navLink => {\n if (!navLink) return false;\n const navLinkKey = navLink.key || navLink.to;\n\n return pinnedNavLinks.includes(navLinkKey);\n };\n\n const pinnedItems = moreNavLinks ? moreNavLinks.filter(isNavLinkPinned) : [];\n\n const activeMoreNavLink = moreNavLinks\n ? moreNavLinks.find(\n navLink =>\n navLink &&\n (location.pathname + location.search).startsWith(navLink.to)\n )\n : null;\n\n const additionalItems = [...pinnedItems];\n\n if (activeMoreNavLink && !isNavLinkPinned(activeMoreNavLink)) {\n additionalItems.push(activeMoreNavLink);\n }\n\n const combinedNavLinks = [...navLinks, ...additionalItems];\n\n return (\n <SidebarGroup>\n <SidebarGroupContent>\n <SidebarMenu className=\"gap-1\">\n {combinedNavLinks\n .filter(filterByPermissions)\n .map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n count = null,\n component: Component,\n onClick,\n addActions = [],\n tag,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isExpandable = items || Component;\n const navLinkKey = navLink.key || navLink.to;\n const isMenuExpanded =\n expandedNavLinkKeys.includes(navLinkKey) &&\n !isCountsLoadingDeprecated;\n\n const handleCaretClick = event => {\n event.preventDefault();\n event.stopPropagation();\n setExpandedNavLinkKeys(keys =>\n keys.includes(navLinkKey)\n ? keys.filter(isNot(navLinkKey))\n : append(navLinkKey, keys)\n );\n };\n\n return (\n <Fragment key={navLink.key || index}>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"h-10\"\n isActive={isActive()}\n >\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"font-medium\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event => {\n handleNavLinkClick({ event, isActive, navLink });\n onClick?.(event);\n }}\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span className=\"relative\" data-testid={label}>\n <IconSVG />\n {isPresent(count) && !isCountsLoading && (\n <span className=\"bg-destructive text-destructive-foreground absolute -end-1.5 -top-1.5 flex h-4 min-w-4 items-center justify-center rounded-full px-0.5 text-[10px]\">\n {renderCount(count)}\n </span>\n )}\n </span>\n )}\n <span className=\"flex-grow truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n {isExpandable && !isConfigureNavLink && (\n <span\n className=\"ms-auto shrink-0 transition-transform duration-200\"\n role=\"button\"\n tabIndex={-1}\n style={{\n transform: isMenuExpanded\n ? \"rotate(90deg)\"\n : \"rotate(0deg)\",\n }}\n onClick={handleCaretClick}\n >\n <ChevronRight className=\"rtl:rotate-180\" />\n </span>\n )}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n {isNotEmpty(addActions) && (\n <AddAction actions={addActions} />\n )}\n </SidebarMenuItem>\n {isExpandable && !isConfigureNavLink && isMenuExpanded && (\n <>\n {items && (\n <SidebarMenuSub>\n {items\n .filter(filterByPermissions)\n .map((subItem, subIndex) => (\n <SubLinkItem\n key={subIndex}\n {...{ ...subItem, isCountsLoading }}\n href={subItem.href}\n isActive={subItem.isActive}\n isSectionHeader={isPresent(subItem.item)}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n )}\n {Component && <Component {...{ navLink }} />}\n </>\n )}\n </Fragment>\n );\n })}\n {isNotEmpty(moreNavLinks) && (\n <MoreDropdown\n {...{ handleTogglePin, isNavLinkPinned, moreNavLinks }}\n />\n )}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default NavLinks;\n","import { useCallback, useEffect, useMemo, useRef } from \"react\";\n\nimport {\n Sidebar as SidebarComponent,\n SidebarContent,\n SidebarHeader,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n useSidebar,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport useKeyboardShortcutsPaneState from \"v2/components/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState\";\n\nimport ConfigureView from \"./Components/ConfigureView\";\nimport Header from \"./Components/Header\";\nimport NavLinks from \"./Components/NavLinks\";\nimport {\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n SIDEBAR_WIDTH_KEY,\n MIN_SIDEBAR_WIDTH,\n MAX_SIDEBAR_WIDTH,\n DEFAULT_SIDEBAR_WIDTH,\n} from \"./constants\";\nimport \"./sidebar.css\";\nimport {\n getActiveConfigurePageLink,\n getSidebarStateLocalStorageKey,\n} from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n moreNavLinks = [],\n customLogo,\n isCountsLoading = false,\n showWorkspaceName = false,\n isExpandable = true,\n}) => {\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const [sidebarWidthRaw, setSidebarWidth] = useLocalStorage(\n SIDEBAR_WIDTH_KEY,\n DEFAULT_SIDEBAR_WIDTH\n );\n\n const sidebarWidth =\n typeof sidebarWidthRaw === \"string\"\n ? parseInt(sidebarWidthRaw, 10) || DEFAULT_SIDEBAR_WIDTH\n : sidebarWidthRaw || DEFAULT_SIDEBAR_WIDTH;\n\n return (\n <SidebarProvider\n className=\"!w-auto\"\n open={!isSidebarCollapsed}\n style={{ \"--sidebar-width\": `${sidebarWidth / 16}rem` }}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <SidebarBody\n {...{\n customLogo,\n isCountsLoading,\n isExpandable,\n isSidebarCollapsed,\n moreNavLinks,\n navLinks,\n setIsSidebarCollapsed,\n setSidebarWidth,\n showWorkspaceName,\n sidebarWidth,\n }}\n />\n </SidebarProvider>\n );\n};\n\nconst SidebarBody = ({\n navLinks,\n moreNavLinks,\n customLogo,\n isCountsLoading,\n showWorkspaceName,\n isExpandable,\n isSidebarCollapsed,\n setIsSidebarCollapsed,\n sidebarWidth,\n setSidebarWidth,\n}) => {\n const { isMobile, setOpenMobile, openMobile } = useSidebar();\n const [isKeyboardShortcutsPaneOpen] = useKeyboardShortcutsPaneState();\n\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const isDraggingRef = useRef(false);\n const hasDraggedRef = useRef(false);\n const startXRef = useRef(null);\n const startWidthRef = useRef(null);\n const isInitialMountRef = useRef(true);\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isRTL = document.documentElement.dir === \"rtl\";\n const sidebarSide = isRTL ? \"right\" : \"left\";\n\n useEffect(() => {\n if (isInitialMountRef.current) {\n isInitialMountRef.current = false;\n\n return;\n }\n\n if (isMobile) {\n if (isKeyboardShortcutsPaneOpen) setOpenMobile(false);\n\n return;\n }\n\n if (isKeyboardShortcutsPaneOpen) setIsSidebarCollapsed(true);\n else setIsSidebarCollapsed(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- setIsSidebarCollapsed / setOpenMobile may not be stable across renders\n }, [isKeyboardShortcutsPaneOpen, isMobile]);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- mount-only: sets initial selected route from current URL\n }, []);\n\n const handleRailMouseDown = useCallback(\n e => {\n if (!isExpandable || isMobile) return;\n\n isDraggingRef.current = true;\n hasDraggedRef.current = false;\n startXRef.current = e.clientX;\n startWidthRef.current = sidebarWidth;\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.dataset.resizing = \"true\";\n\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n e.preventDefault();\n },\n [sidebarWidth, isExpandable, isMobile]\n );\n\n const handleRailClick = useCallback(e => {\n if (!hasDraggedRef.current) return;\n e.preventDefault();\n e.stopPropagation();\n hasDraggedRef.current = false;\n }, []);\n\n useEffect(() => {\n if (!isExpandable || isMobile) return undefined;\n\n const onMouseMove = e => {\n if (!isDraggingRef.current) return;\n\n hasDraggedRef.current = true;\n const dx = e.clientX - startXRef.current;\n const rtl = document.documentElement.dir === \"rtl\";\n let newWidth = startWidthRef.current + (rtl ? -dx : dx);\n newWidth = Math.max(\n MIN_SIDEBAR_WIDTH,\n Math.min(newWidth, MAX_SIDEBAR_WIDTH)\n );\n\n const widthRem = `${newWidth / 16}rem`;\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) wrapper.style.setProperty(\"--sidebar-width\", widthRem);\n\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n widthRem\n );\n };\n\n const onMouseUp = e => {\n if (!isDraggingRef.current) return;\n\n const dx = e.clientX - startXRef.current;\n const rtlUp = document.documentElement.dir === \"rtl\";\n let finalWidth = startWidthRef.current + (rtlUp ? -dx : dx);\n finalWidth = Math.round(\n Math.max(MIN_SIDEBAR_WIDTH, Math.min(finalWidth, MAX_SIDEBAR_WIDTH))\n );\n setSidebarWidth(finalWidth);\n\n const wrapper = document.querySelector(\"[data-slot='sidebar-wrapper']\");\n if (wrapper) delete wrapper.dataset.resizing;\n\n isDraggingRef.current = false;\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n\n return () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n }, [isExpandable, isMobile, setSidebarWidth]);\n\n useEffect(() => {\n document.documentElement.style.setProperty(\n \"--nv-sidebar-width\",\n isMobile ? \"0rem\" : `${sidebarWidth / 16}rem`\n );\n }, [sidebarWidth, isMobile]);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const configureNavLink = getActiveConfigurePageLink({ navLinks, location });\n if (configureNavLink?.to) {\n history.push(configureNavLink.to);\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <>\n <SidebarComponent collapsible=\"offcanvas\" side={sidebarSide}>\n <SidebarHeader className=\"nm-sidebar-shadcn-header relative p-0\">\n <Header\n {...{ customLogo }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n <SidebarTrigger\n className=\"absolute end-2 top-3\"\n title={t(\"neetoMolecules.sidebar.hideMenu\")}\n />\n {showWorkspaceName && (\n <div className=\"border-sidebar-border border-b px-4 py-2\">\n <h5 className=\"text-sidebar-foreground mb-1 text-sm font-semibold\">\n {t(\"neetoMolecules.sidebar.myWorkspace\")}\n </h5>\n <span className=\"text-sidebar-foreground/70 truncate text-xs\">\n {globalProps.organization.name}\n </span>\n </div>\n )}\n </SidebarHeader>\n <SidebarContent>\n {isSelectedNavLinkVisible ? (\n <ConfigureView {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <NavLinks\n {...{\n isCountsLoading,\n moreNavLinks,\n navLinks,\n setSelectedNavLinkRoute,\n }}\n />\n )}\n </SidebarContent>\n {!isMobile && isExpandable && !isSidebarCollapsed && (\n <SidebarRail\n onClickCapture={handleRailClick}\n onMouseDown={handleRailMouseDown}\n />\n )}\n </SidebarComponent>\n {((isMobile && !openMobile) || (!isMobile && isSidebarCollapsed)) && (\n <SidebarTrigger\n className=\"bg-background hover:bg-accent fixed start-2 top-2 z-50 size-9 rounded-full border shadow-sm\"\n title={t(\"neetoMolecules.sidebar.showMenu\")}\n />\n )}\n </>\n );\n};\n\nSidebar.propTypes = {\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n addActions: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n })\n ),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n moreNavLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n count: PropTypes.number,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n tag: PropTypes.object,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n href: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n tag: PropTypes.object,\n })\n ),\n })\n ),\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isCountsLoading: PropTypes.bool,\n showWorkspaceName: PropTypes.bool,\n isExpandable: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","productName","globalProps","appName","substr","normalizedName","trim","toLowerCase","specialCase","SPECIAL_APP_NAMES","logoName","concat","capitalize","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","isOnboarded","user","_jsx","className","children","Link","to","DEFAULT_HOME_PATH","classnames","onClick","sidebarTitle","memo","AddAction","actions","DropdownMenu","dropdownProps","align","side","customTarget","e","preventDefault","stopPropagation","Plus","map","action","MenuItem","_action$onClick","call","label","key","PinIcon","size","otherProps","_objectSpread","fill","height","viewBox","width","xmlns","d","UnpinIcon","MoreDropdown","moreNavLinks","isNavLinkPinned","handleTogglePin","_useTranslation","useTranslation","t","isRTL","document","documentElement","dir","SidebarMenuItem","closeOnSelect","position","_jsxs","Ellipsis","filter","filterByPermissions","navLink","index","icon","navLinkKey","tag","IconSVG","isPinned","onSelect","CheckPointNavLinks","Badge","Tooltip","content","Button","variant","event","renderCount","count","NavLinks","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","expandedNavLinkKeys","setExpandedNavLinkKeys","_useLocalStorage","useLocalStorage","PINNED_MORE_NAV_LINKS_KEY","_useLocalStorage2","pinnedNavLinks","setPinnedNavLinks","handleNavLinkClick","_ref2","isActive","isExpandable","isPresent","items","component","isConfigureNavLink","isNotEmpty","isExpanded","includes","resetPath","isNot","_toConsumableArray","pinnedItems","activeMoreNavLink","find","pathname","search","startsWith","additionalItems","push","combinedNavLinks","SidebarGroup","SidebarGroupContent","SidebarMenu","_navLink$isCountsLoad","_navLink$count","Component","_navLink$addActions","addActions","_objectWithoutProperties","_excluded","url","URL","window","href","is","Function","isMenuExpanded","handleCaretClick","keys","append","Fragment","SidebarMenuButton","asChild","activeClassName","hyphenate","role","tabIndex","style","transform","ChevronRight","_Fragment","SidebarMenuSub","subItem","subIndex","_subItem$to","SubLinkItem","isSectionHeader","item","path","Sidebar","_ref$moreNavLinks","_ref$isCountsLoading","_ref$showWorkspaceNam","showWorkspaceName","_ref$isExpandable","getSidebarStateLocalStorageKey","isSidebarCollapsed","setIsSidebarCollapsed","_useLocalStorage3","SIDEBAR_WIDTH_KEY","DEFAULT_SIDEBAR_WIDTH","_useLocalStorage4","sidebarWidthRaw","setSidebarWidth","sidebarWidth","parseInt","SidebarProvider","open","onOpenChange","SidebarBody","_useSidebar","useSidebar","isMobile","setOpenMobile","openMobile","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isKeyboardShortcutsPaneOpen","_useLocalStorage5","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage6","selectedNavLinkRoute","isDraggingRef","useRef","hasDraggedRef","startXRef","startWidthRef","isInitialMountRef","history","useHistory","sidebarSide","useEffect","current","currentLink","findLast","_ref3","handleRailMouseDown","useCallback","clientX","wrapper","querySelector","dataset","resizing","body","cursor","userSelect","handleRailClick","undefined","onMouseMove","dx","rtl","newWidth","Math","max","MIN_SIDEBAR_WIDTH","min","MAX_SIDEBAR_WIDTH","widthRem","setProperty","onMouseUp","rtlUp","finalWidth","round","addEventListener","removeEventListener","handleGoBack","configureNavLink","getActiveConfigurePageLink","activeLink","useMemo","link","isSelectedNavLinkVisible","SidebarComponent","collapsible","SidebarHeader","SidebarTrigger","title","organization","name","SidebarContent","ConfigureView","SidebarRail","onClickCapture","onMouseDown"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.69",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@babel/runtime": "7.26.10",
|
|
59
59
|
"@bigbinary/babel-preset-neeto": "^1.0.14",
|
|
60
60
|
"@bigbinary/eslint-plugin-neeto": "1.9.0",
|
|
61
|
-
"@bigbinary/neeto-atoms": "1.0.
|
|
61
|
+
"@bigbinary/neeto-atoms": "1.0.50",
|
|
62
62
|
"@bigbinary/neeto-audit-frontend": "2.4.3",
|
|
63
63
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
64
64
|
"@bigbinary/neeto-commons-frontend": "4.13.120",
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
"peerDependencies": {
|
|
236
236
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
237
237
|
"@babel/runtime": "7.26.0",
|
|
238
|
-
"@bigbinary/neeto-atoms": "1.0.
|
|
238
|
+
"@bigbinary/neeto-atoms": "1.0.50",
|
|
239
239
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
240
240
|
"@bigbinary/neeto-commons-frontend": "4.13.120",
|
|
241
241
|
"@bigbinary/neeto-editor": "1.47.99",
|
package/src/translations/ar.json
CHANGED
|
@@ -302,7 +302,8 @@
|
|
|
302
302
|
"productSwitcher": {
|
|
303
303
|
"noApps": "لا توجد تطبيقات.",
|
|
304
304
|
"chooseNeetoProduct": "اختر منتج نيتو الخاص بك",
|
|
305
|
-
"searchProducts": "بحث عن المنتجات"
|
|
305
|
+
"searchProducts": "بحث عن المنتجات",
|
|
306
|
+
"title": "مبدل المنتجات"
|
|
306
307
|
},
|
|
307
308
|
"alert": {
|
|
308
309
|
"timezone": {
|
|
@@ -522,37 +523,37 @@
|
|
|
522
523
|
}
|
|
523
524
|
},
|
|
524
525
|
"text": {
|
|
525
|
-
"invitedUsers": "{{performedBy, anyCase}} <Semibold>أضاف</Semibold> <Code>{{emailList}}</Code> إلى {{productSuffix, anyCase}}.",
|
|
526
|
-
"invitedUsersFailed": "{{performedBy, anyCase}} <Semibold>حاول</Semibold> دعوة مستخدم {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
527
|
-
"userSignedUp": "{{userIdentifier}} <Semibold>سجل</Semibold> في {{productSuffix, anyCase}}.",
|
|
528
|
-
"updatedUser": "{{performedBy, anyCase}} <Semibold
|
|
529
|
-
"bulkUpdateUsers": "{{performedBy, anyCase}} <Semibold>{{message}}</Semibold>: <Code>{{emailList}}</Code>
|
|
530
|
-
"bulkUpdateUsersFailed": "{{performedBy, anyCase}} <Semibold>{{message}}</Semibold> في {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
531
|
-
"updatedUserProfile": "{{performedBy, anyCase}} <Semibold
|
|
532
|
-
"createdRole": "{{performedBy, anyCase}} <Semibold>أنشأ</Semibold> <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
526
|
+
"invitedUsers": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أضاف</Semibold> <Code>{{emailList}}</Code> إلى {{productSuffix, anyCase}}.",
|
|
527
|
+
"invitedUsersFailed": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>حاول</Semibold> دعوة مستخدم {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
528
|
+
"userSignedUp": "<Bold>{{userIdentifier}}</Bold> <Semibold>سجل</Semibold> في {{productSuffix, anyCase}}.",
|
|
529
|
+
"updatedUser": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير</Semibold> <Code>{{affectedUser}}'s</Code> <ChangedFields></ChangedFields> في {{productSuffix, anyCase}}.",
|
|
530
|
+
"bulkUpdateUsers": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>{{message}}</Semibold>: <Code>{{emailList}}</Code> في {{productSuffix, anyCase}}.",
|
|
531
|
+
"bulkUpdateUsersFailed": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>{{message}}</Semibold> في {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
532
|
+
"updatedUserProfile": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير</Semibold> <ChangedFields></ChangedFields> في {{productSuffix, anyCase}}.",
|
|
533
|
+
"createdRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أنشأ</Semibold> <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
533
534
|
"updatedRole_other": "{{performedBy, anyCase}} <Semibold>حدث</Semibold> <Code>{{roleName}}</Code> دورًا مع <Code>{{addedPermissionsText}}</Code> الأذونات في {{productSuffix, anyCase}}",
|
|
534
535
|
"updatedRole_one": "{{performedBy, anyCase}} <Semibold>حدث</Semibold> <Code>{{roleName}}</Code> دورًا مع <Code>{{addedPermissionsText}}</Code> الإذن في {{productSuffix, anyCase}}",
|
|
535
|
-
"deletedRole": "{{performedBy, anyCase}} <Semibold>حذف</Semibold> <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
536
|
-
"performedAction": "{{performedBy, anyCase}} <Semibold
|
|
536
|
+
"deletedRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>حذف</Semibold> <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
537
|
+
"performedAction": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>نفذ</Semibold> إجراء على {{productSuffix, anyCase}}.",
|
|
537
538
|
"updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold> من <Code>{{from, anyCase}}</Code> إلى <Code>{{to, anyCase}}</Code>",
|
|
538
539
|
"updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold> إلى <Code>{{to, anyCase}}</Code>",
|
|
539
540
|
"connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>تم الاتصال بـ Google Calendar</Semibold> باستخدام <Code>{{emailAddress}}</Code>.",
|
|
540
541
|
"disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>تم فصل الاتصال بـ Google Calendar</Semibold> لـ <Code>{{emailAddress}}</Code>.",
|
|
541
|
-
"connectedStripeAccount": "{{performedBy, anyCase}} <Semibold
|
|
542
|
-
"disconnectedStripeAccount": "{{performedBy, anyCase}} <Semibold
|
|
543
|
-
"connectedZoomAccount": "{{performedBy, anyCase}} <Semibold
|
|
544
|
-
"disconnectedZoomAccount": "{{performedBy, anyCase}} <Semibold
|
|
545
|
-
"connectedCustomDomain": "{{performedBy, anyCase}} <Semibold
|
|
542
|
+
"connectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل بدمج Stripe</Semibold> مع معرف الحساب: <Code>{{stripeAccountId}}</Code> في {{productSuffix, anyCase}}.",
|
|
543
|
+
"disconnectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل بدمج Stripe</Semibold> في {{productSuffix, anyCase}}.",
|
|
544
|
+
"connectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل بدمج Zoom</Semibold> مع معرف الحساب: <Code>{{zoomAccountId}}</Code> في {{productSuffix, anyCase}}.",
|
|
545
|
+
"disconnectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل بدمج Zoom</Semibold> في {{productSuffix, anyCase}}.",
|
|
546
|
+
"connectedCustomDomain": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل بالنطاق المخصص:</Semibold> <Code>{{hostname}}</Code> في {{productSuffix, anyCase}}.",
|
|
546
547
|
"updatedFields": "<Semibold>{{field}}</Semibold>",
|
|
547
|
-
"updatedRole": "{{performedBy, anyCase}} <Semibold
|
|
548
|
-
"updatedRoleName": "{{performedBy, anyCase}} <Semibold>أعاد تسمية</Semibold> <Code>{{name.from}}</Code>
|
|
549
|
-
"addedRolePermission": "{{performedBy, anyCase}} <Semibold>أضاف</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) إلى <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
550
|
-
"removedRolePermission": "{{performedBy, anyCase}} <Semibold>أزال</Semibold> <Code>{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) من <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
551
|
-
"modifiedRolePermission": "{{performedBy, anyCase}} <Semibold>أضاف</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) و <Semibold>أزال</Semibold> <Code>{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) من <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
552
|
-
"createdApiKey": "{{performedBy, anyCase}} <Semibold>أنشأ</Semibold> مفتاح API مع التسمية <Semibold>{{label, anyCase}}</Semibold>
|
|
553
|
-
"deletedApiKey": "{{performedBy, anyCase}} <Semibold>حذف</Semibold> مفتاح API مع التسمية <Semibold>{{label, anyCase}}</Semibold>
|
|
554
|
-
"updatedApiKey": "{{performedBy, anyCase}} <Semibold
|
|
555
|
-
"removedUser": "{{performedBy, anyCase}} <Semibold>أزال</Semibold> <Code>{{affectedUser}}</Code> من {{productSuffix, anyCase}}.",
|
|
548
|
+
"updatedRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>حدّث</Semibold> <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
549
|
+
"updatedRoleName": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أعاد تسمية</Semibold> <Code>{{name.from}}</Code> دور إلى <Code>{{name.to}}</Code> في {{productSuffix, anyCase}}.",
|
|
550
|
+
"addedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أضاف</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) إلى <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
551
|
+
"removedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أزال</Semibold> <Code>{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) من <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
552
|
+
"modifiedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أضاف</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) و <Semibold>أزال</Semibold> <Code>{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) من <Code>{{roleName}}</Code> دور في {{productSuffix, anyCase}}.",
|
|
553
|
+
"createdApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أنشأ</Semibold> مفتاح API مع التسمية <Semibold>{{label, anyCase}}</Semibold> في {{productSuffix, anyCase}}.",
|
|
554
|
+
"deletedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>حذف</Semibold> مفتاح API مع التسمية <Semibold>{{label, anyCase}}</Semibold> في {{productSuffix, anyCase}}.",
|
|
555
|
+
"updatedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>حدّث</Semibold> مفتاح API مع التسمية <Semibold>{{label, anyCase}}</Semibold> في {{productSuffix, anyCase}}.",
|
|
556
|
+
"removedUser": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>أزال</Semibold> <Code>{{affectedUser}}</Code> من {{productSuffix, anyCase}}.",
|
|
556
557
|
"googleDisconnectedGoogleCalendar": "جوجل <Semibold>فصل تقويم جوجل</Semibold> لـ <Code>{{emailAddress}}</Code> (متصل بواسطة {{performedBy, anyCase}}).",
|
|
557
558
|
"connectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>متصل بجوجل ميت</Semibold> باستخدام <Code>{{emailAddress}}</Code>.",
|
|
558
559
|
"disconnectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>فصل جوجل ميت</Semibold> لـ <Code>{{emailAddress}}</Code>.",
|
|
@@ -566,16 +567,16 @@
|
|
|
566
567
|
"disconnectedTeams": "{{performedBy, anyCase}} <Semibold>فصل Microsoft Teams</Semibold>.",
|
|
567
568
|
"connectedZoom": "{{performedBy, anyCase}} <Semibold>متصل بـ Zoom</Semibold> باستخدام <Code>{{emailAddress}}</Code>.",
|
|
568
569
|
"disconnectedZoom": "{{performedBy, anyCase}} <Semibold>فصل Zoom</Semibold> لـ <Code>{{emailAddress}}</Code>.",
|
|
569
|
-
"integrationConnected": "{{performedBy, anyCase}} <Semibold
|
|
570
|
-
"integrationConnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
571
|
-
"integrationConnectedOnBehalf": "{{performedBy, anyCase}} <Semibold
|
|
572
|
-
"integrationConnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
573
|
-
"integrationDisconnected": "{{performedBy, anyCase}} <Semibold
|
|
574
|
-
"integrationDisconnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
575
|
-
"integrationDisconnectedOnBehalf": "{{performedBy, anyCase}} <Semibold
|
|
576
|
-
"integrationDisconnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
577
|
-
"integrationDisconnectedByProvider": "{{integrationName}} <Semibold
|
|
578
|
-
"integrationDisconnectedByProviderWithoutDetail": "{{integrationName}} <Semibold
|
|
570
|
+
"integrationConnected": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل {{integrationName}}</Semibold> باستخدام <Code>{{detail}}</Code>.",
|
|
571
|
+
"integrationConnectedWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل {{integrationName}}</Semibold>.",
|
|
572
|
+
"integrationConnectedOnBehalf": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل {{integrationName}}</Semibold> نيابة عن <Code>{{integrationOwner}}</Code> باستخدام <Code>{{detail}}</Code>.",
|
|
573
|
+
"integrationConnectedOnBehalfWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>متصل {{integrationName}}</Semibold> نيابة عن <Code>{{integrationOwner}}</Code>.",
|
|
574
|
+
"integrationDisconnected": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل {{integrationName}}</Semibold> لـ <Code>{{detail}}</Code>.",
|
|
575
|
+
"integrationDisconnectedWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل {{integrationName}}</Semibold>.",
|
|
576
|
+
"integrationDisconnectedOnBehalf": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل {{integrationName}}</Semibold> نيابة عن <Code>{{integrationOwner}}</Code> (<Code>{{detail}}</Code>).",
|
|
577
|
+
"integrationDisconnectedOnBehalfWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>غير متصل {{integrationName}}</Semibold> نيابة عن <Code>{{integrationOwner}}</Code>.",
|
|
578
|
+
"integrationDisconnectedByProvider": "<Bold>{{integrationName}}</Bold> <Semibold>غير متصل</Semibold> لـ <Code>{{detail}}</Code> (متصل بواسطة {{performedBy, anyCase}}).",
|
|
579
|
+
"integrationDisconnectedByProviderWithoutDetail": "<Bold>{{integrationName}}</Bold> <Semibold>غير متصل</Semibold> (متصل بواسطة {{performedBy, anyCase}})."
|
|
579
580
|
}
|
|
580
581
|
},
|
|
581
582
|
"ipRestriction": {
|
|
@@ -989,4 +990,4 @@
|
|
|
989
990
|
"cancel": "إلغاء"
|
|
990
991
|
}
|
|
991
992
|
}
|
|
992
|
-
}
|
|
993
|
+
}
|
package/src/translations/bg.json
CHANGED
|
@@ -540,37 +540,37 @@
|
|
|
540
540
|
"noData": "Няма налични журнали за одит за показване.",
|
|
541
541
|
"noError": "Детайлите на грешката не са налични. Моля, проверете журналите за повече информация.",
|
|
542
542
|
"text": {
|
|
543
|
-
"invitedUsers": "{{performedBy, anyCase}} <Semibold>добави</Semibold> <Code>{{emailList}}</Code>
|
|
544
|
-
"invitedUsersFailed": "{{performedBy, anyCase}} <Semibold
|
|
545
|
-
"userSignedUp": "{{userIdentifier}} <Semibold>се
|
|
546
|
-
"updatedUser": "{{performedBy, anyCase}} <Semibold>промени</Semibold> <Code>{{affectedUser}}'s</Code> <ChangedFields></ChangedFields>
|
|
547
|
-
"bulkUpdateUsers": "{{performedBy, anyCase}} <Semibold>{{message}}</Semibold>: <Code>{{emailList}}</Code> на {{productSuffix, anyCase}}.",
|
|
548
|
-
"bulkUpdateUsersFailed": "{{performedBy, anyCase}} <Semibold>{{message}}</Semibold>
|
|
549
|
-
"updatedUserProfile": "{{performedBy, anyCase}} <Semibold>промени</Semibold> <ChangedFields></ChangedFields> в {{productSuffix, anyCase}}.",
|
|
550
|
-
"createdRole": "{{performedBy, anyCase}} <Semibold>създаде</Semibold> <Code>{{roleName}}</Code> роля
|
|
543
|
+
"invitedUsers": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>добави</Semibold> <Code>{{emailList}}</Code> към {{productSuffix, anyCase}}.",
|
|
544
|
+
"invitedUsersFailed": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>опита</Semibold> да поканя потребител {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
545
|
+
"userSignedUp": "<Bold>{{userIdentifier}}</Bold> <Semibold>се записа</Semibold> в {{productSuffix, anyCase}}.",
|
|
546
|
+
"updatedUser": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>промени</Semibold> <Code>{{affectedUser}}'s</Code> <ChangedFields></ChangedFields> в {{productSuffix, anyCase}}.",
|
|
547
|
+
"bulkUpdateUsers": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>{{message}}</Semibold>: <Code>{{emailList}}</Code> на {{productSuffix, anyCase}}.",
|
|
548
|
+
"bulkUpdateUsersFailed": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>{{message}}</Semibold> в {{productSuffix, anyCase}}{{errorMessage}}.",
|
|
549
|
+
"updatedUserProfile": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>промени</Semibold> <ChangedFields></ChangedFields> в {{productSuffix, anyCase}}.",
|
|
550
|
+
"createdRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>създаде</Semibold> <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
551
551
|
"updatedRole_other": "{{performedBy, anyCase}} <Semibold>актуализира</Semibold> <Code>{{roleName}}</Code> роля с <Code>{{addedPermissionsText}}</Code> права на {{productSuffix, anyCase}}",
|
|
552
552
|
"updatedRole_one": "{{performedBy, anyCase}} <Semibold>актуализира</Semibold> <Code>{{roleName}}</Code> роля с <Code>{{addedPermissionsText}}</Code> право на {{productSuffix, anyCase}}",
|
|
553
|
-
"deletedRole": "{{performedBy, anyCase}} <Semibold>изтри</Semibold> <Code>{{roleName}}</Code> роля
|
|
554
|
-
"performedAction": "{{performedBy, anyCase}} <Semibold
|
|
553
|
+
"deletedRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изтри</Semibold> <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
554
|
+
"performedAction": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изпълни</Semibold> действие на {{productSuffix, anyCase}}.",
|
|
555
555
|
"updatedFieldsWithPreviousValue": "<Semibold>{{field}}</Semibold> от <Code>{{from, anyCase}}</Code> на <Code>{{to, anyCase}}</Code>",
|
|
556
556
|
"updatedFieldsWithNewValue": "<Semibold>{{field}}</Semibold> на <Code>{{to, anyCase}}</Code>",
|
|
557
557
|
"connectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>свързан Google Calendar</Semibold> с <Code>{{emailAddress}}</Code>.",
|
|
558
558
|
"disconnectedGoogleCalender": "{{performedBy, anyCase}} <Semibold>развръзал Google Calendar</Semibold> за <Code>{{emailAddress}}</Code>.",
|
|
559
|
-
"connectedStripeAccount": "{{performedBy, anyCase}} <Semibold
|
|
560
|
-
"disconnectedStripeAccount": "{{performedBy, anyCase}} <Semibold>изключи интеграцията
|
|
561
|
-
"connectedZoomAccount": "{{performedBy, anyCase}} <Semibold
|
|
562
|
-
"disconnectedZoomAccount": "{{performedBy, anyCase}} <Semibold>изключи интеграцията
|
|
563
|
-
"connectedCustomDomain": "{{performedBy, anyCase}} <Semibold
|
|
559
|
+
"connectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан с интеграция Stripe</Semibold> с ID на акаунт: <Code>{{stripeAccountId}}</Code> на {{productSuffix, anyCase}}.",
|
|
560
|
+
"disconnectedStripeAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключи интеграцията Stripe</Semibold> на {{productSuffix, anyCase}}.",
|
|
561
|
+
"connectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан с интеграция Zoom</Semibold> с ID на акаунт: <Code>{{zoomAccountId}}</Code> на {{productSuffix, anyCase}}.",
|
|
562
|
+
"disconnectedZoomAccount": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключи интеграцията Zoom</Semibold> на {{productSuffix, anyCase}}.",
|
|
563
|
+
"connectedCustomDomain": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан с персонализиран домейн:</Semibold> <Code>{{hostname}}</Code> на {{productSuffix, anyCase}}.",
|
|
564
564
|
"updatedFields": "<Semibold>{{field}}</Semibold>",
|
|
565
|
-
"updatedRole": "{{performedBy, anyCase}} <Semibold>актуализира</Semibold> <Code>{{roleName}}</Code> роля
|
|
566
|
-
"updatedRoleName": "{{performedBy, anyCase}} <Semibold>преименува</Semibold> <Code>{{name.from}}</Code> роля на <Code>{{name.to}}</Code>
|
|
567
|
-
"addedRolePermission": "{{performedBy, anyCase}} <Semibold>добави</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} })
|
|
568
|
-
"removedRolePermission": "{{performedBy, anyCase}} <Semibold
|
|
569
|
-
"modifiedRolePermission": "{{performedBy, anyCase}} <Semibold>добави</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) и <Semibold
|
|
570
|
-
"createdApiKey": "{{performedBy, anyCase}} <Semibold>създаде</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
571
|
-
"deletedApiKey": "{{performedBy, anyCase}} <Semibold>изтри</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
572
|
-
"updatedApiKey": "{{performedBy, anyCase}} <Semibold>актуализира</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
573
|
-
"removedUser": "{{performedBy, anyCase}} <Semibold
|
|
565
|
+
"updatedRole": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>актуализира</Semibold> <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
566
|
+
"updatedRoleName": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>преименува</Semibold> <Code>{{name.from}}</Code> роля на <Code>{{name.to}}</Code> в {{productSuffix, anyCase}}.",
|
|
567
|
+
"addedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>добави</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) към <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
568
|
+
"removedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изтри</Semibold> <Code>{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) от <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
569
|
+
"modifiedRolePermission": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>добави</Semibold> <Code>{{addedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{addedPermissionsCount}} }) и <Semibold>изтри</Semibold> {{__XL OPEN_Code}}{{removedPermissionsText}}</Code> $t(neetoMolecules.common.permission, {\"count\": {{removedPermissionsCount}} }) от <Code>{{roleName}}</Code> роля в {{productSuffix, anyCase}}.",
|
|
570
|
+
"createdApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>създаде</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
571
|
+
"deletedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изтри</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
572
|
+
"updatedApiKey": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>актуализира</Semibold> API ключ с етикет <Semibold>{{label, anyCase}}</Semibold> на {{productSuffix, anyCase}}.",
|
|
573
|
+
"removedUser": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изтри</Semibold> <Code>{{affectedUser}}</Code> от {{productSuffix, anyCase}}.",
|
|
574
574
|
"googleDisconnectedGoogleCalendar": "Google <Semibold>прекъснат Google Calendar</Semibold> за <Code>{{emailAddress}}</Code> (прекъснат от {{performedBy, anyCase}}).",
|
|
575
575
|
"connectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>свързан Google Meet</Semibold> с <Code>{{emailAddress}}</Code>.",
|
|
576
576
|
"disconnectedGoogleMeet": "{{performedBy, anyCase}} <Semibold>прекъснат Google Meet</Semibold> за <Code>{{emailAddress}}</Code>.",
|
|
@@ -584,16 +584,16 @@
|
|
|
584
584
|
"disconnectedTeams": "{{performedBy, anyCase}} <Semibold>прекъснат Microsoft Teams</Semibold>.",
|
|
585
585
|
"connectedZoom": "{{performedBy, anyCase}} <Semibold>свързан Zoom</Semibold> с <Code>{{emailAddress}}</Code>.",
|
|
586
586
|
"disconnectedZoom": "{{performedBy, anyCase}} <Semibold>прекъснат Zoom</Semibold> за <Code>{{emailAddress}}</Code>.",
|
|
587
|
-
"integrationConnected": "{{performedBy, anyCase}} <Semibold
|
|
588
|
-
"integrationConnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
589
|
-
"integrationConnectedOnBehalf": "{{performedBy, anyCase}} <Semibold
|
|
590
|
-
"integrationConnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
591
|
-
"integrationDisconnected": "{{performedBy, anyCase}} <Semibold
|
|
592
|
-
"integrationDisconnectedWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
593
|
-
"integrationDisconnectedOnBehalf": "{{performedBy, anyCase}} <Semibold
|
|
594
|
-
"integrationDisconnectedOnBehalfWithoutDetail": "{{performedBy, anyCase}} <Semibold
|
|
595
|
-
"integrationDisconnectedByProvider": "{{integrationName}} <Semibold
|
|
596
|
-
"integrationDisconnectedByProviderWithoutDetail": "{{integrationName}} <Semibold
|
|
587
|
+
"integrationConnected": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан</Semibold> с {{integrationName}} чрез <Code>{{detail}}</Code>.",
|
|
588
|
+
"integrationConnectedWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан</Semibold> с {{integrationName}}.",
|
|
589
|
+
"integrationConnectedOnBehalf": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан</Semibold> с {{integrationName}} от името на <Code>{{integrationOwner}}</Code> чрез <Code>{{detail}}</Code>.",
|
|
590
|
+
"integrationConnectedOnBehalfWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>свързан</Semibold> с {{integrationName}} от името на <Code>{{integrationOwner}}</Code>.",
|
|
591
|
+
"integrationDisconnected": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключен</Semibold> {{integrationName}} за <Code>{{detail}}</Code>.",
|
|
592
|
+
"integrationDisconnectedWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключен</Semibold> {{integrationName}}.",
|
|
593
|
+
"integrationDisconnectedOnBehalf": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключен</Semibold> {{integrationName}} за <Code>{{integrationOwner}}</Code> (<Code>{{detail}}</Code>).",
|
|
594
|
+
"integrationDisconnectedOnBehalfWithoutDetail": "<Bold>{{performedBy, anyCase}}</Bold> <Semibold>изключен</Semibold> {{integrationName}} за <Code>{{integrationOwner}}</Code>.",
|
|
595
|
+
"integrationDisconnectedByProvider": "<Bold>{{integrationName}}</Bold> <Semibold>изключен</Semibold> за <Code>{{detail}}</Code> (свързан от {{performedBy, anyCase}}).",
|
|
596
|
+
"integrationDisconnectedByProviderWithoutDetail": "<Bold>{{integrationName}}</Bold> <Semibold>изключен</Semibold> (свързан от {{performedBy, anyCase}})."
|
|
597
597
|
}
|
|
598
598
|
},
|
|
599
599
|
"ipRestriction": {
|
|
@@ -706,7 +706,8 @@
|
|
|
706
706
|
"productSwitcher": {
|
|
707
707
|
"noApps": "Няма намерени приложения.",
|
|
708
708
|
"chooseNeetoProduct": "Изберете вашия продукт Neeto",
|
|
709
|
-
"searchProducts": "Търсене на продукти"
|
|
709
|
+
"searchProducts": "Търсене на продукти",
|
|
710
|
+
"title": "Сменяч на продукти"
|
|
710
711
|
},
|
|
711
712
|
"alert": {
|
|
712
713
|
"timezone": {
|
|
@@ -989,4 +990,4 @@
|
|
|
989
990
|
"plural": "Форми"
|
|
990
991
|
}
|
|
991
992
|
}
|
|
992
|
-
}
|
|
993
|
+
}
|