@bigbinary/neeto-molecules 5.2.30 → 5.2.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/{ConfigureView-Bq_aqEgi.js → ConfigureView-D-2SQf3j.js} +2 -1
  2. package/dist/ConfigureView-D-2SQf3j.js.map +1 -0
  3. package/dist/cjs/{ConfigureView-Dk4x1_mS.js → ConfigureView-CNWEfiae.js} +2 -1
  4. package/dist/cjs/ConfigureView-CNWEfiae.js.map +1 -0
  5. package/dist/cjs/v2/ConfigurePageSidebar.js +4 -1
  6. package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
  7. package/dist/cjs/v2/FinderModal.js +2 -2
  8. package/dist/cjs/v2/FinderModal.js.map +1 -1
  9. package/dist/cjs/v2/KeyboardShortcuts.js +1 -0
  10. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  11. package/dist/cjs/v2/MoreDropdown.js +1 -0
  12. package/dist/cjs/v2/MoreDropdown.js.map +1 -1
  13. package/dist/cjs/v2/ProductEmbed.js +3 -0
  14. package/dist/cjs/v2/ProductEmbed.js.map +1 -1
  15. package/dist/cjs/v2/Schedule.js +38 -45
  16. package/dist/cjs/v2/Schedule.js.map +1 -1
  17. package/dist/cjs/v2/Search.js +1 -0
  18. package/dist/cjs/v2/Search.js.map +1 -1
  19. package/dist/cjs/v2/ShareViaLink.js +2 -0
  20. package/dist/cjs/v2/ShareViaLink.js.map +1 -1
  21. package/dist/cjs/v2/Sidebar.js +6 -1
  22. package/dist/cjs/v2/Sidebar.js.map +1 -1
  23. package/dist/v2/ConfigurePageSidebar.js +4 -1
  24. package/dist/v2/ConfigurePageSidebar.js.map +1 -1
  25. package/dist/v2/FinderModal.js +2 -2
  26. package/dist/v2/FinderModal.js.map +1 -1
  27. package/dist/v2/KeyboardShortcuts.js +1 -0
  28. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  29. package/dist/v2/MoreDropdown.js +1 -0
  30. package/dist/v2/MoreDropdown.js.map +1 -1
  31. package/dist/v2/ProductEmbed.js +3 -0
  32. package/dist/v2/ProductEmbed.js.map +1 -1
  33. package/dist/v2/Schedule.js +37 -44
  34. package/dist/v2/Schedule.js.map +1 -1
  35. package/dist/v2/Search.js +1 -0
  36. package/dist/v2/Search.js.map +1 -1
  37. package/dist/v2/ShareViaLink.js +2 -0
  38. package/dist/v2/ShareViaLink.js.map +1 -1
  39. package/dist/v2/Sidebar.js +6 -1
  40. package/dist/v2/Sidebar.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/ConfigureView-Bq_aqEgi.js.map +0 -1
  43. package/dist/cjs/ConfigureView-Dk4x1_mS.js.map +0 -1
@@ -189,6 +189,7 @@ var ConfigureView = function ConfigureView(_ref) {
189
189
  children: subItem.label
190
190
  })
191
191
  }), /*#__PURE__*/jsx(SidebarMenuSub, {
192
+ "data-testid": "sidebar-sub-link-wrapper",
192
193
  children: subItem.items.filter(filterByPermissions).map(function (nestedItem, nestedIndex) {
193
194
  var _nestedItem$to;
194
195
  return /*#__PURE__*/jsx(SubLinkItem, _objectSpread(_objectSpread({}, _objectSpread({}, nestedItem)), {}, {
@@ -233,4 +234,4 @@ var ConfigureView = function ConfigureView(_ref) {
233
234
  };
234
235
 
235
236
  export { ConfigureView as C, DEFAULT_HOME_PATH as D, MIN_SIDEBAR_WIDTH as M, PINNED_MORE_NAV_LINKS_KEY as P, SPECIAL_APP_NAMES as S, CheckPointNavLinks as a, SubLinkItem as b, SIDEBAR_WIDTH_KEY as c, DEFAULT_SIDEBAR_WIDTH as d, SELECTED_NAV_LINK_ROUTE_STORAGE_KEY as e, filterByPermissions as f, getSidebarStateLocalStorageKey as g, getActiveConfigurePageLink as h, MAX_SIDEBAR_WIDTH as i };
236
- //# sourceMappingURL=ConfigureView-Bq_aqEgi.js.map
237
+ //# sourceMappingURL=ConfigureView-D-2SQf3j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigureView-D-2SQf3j.js","sources":["../src/v2/components/Sidebar/Components/CheckPointNavLink.jsx","../src/v2/components/Sidebar/constants.js","../src/v2/components/Sidebar/utils.js","../src/v2/components/Sidebar/Components/SubLinkItem.jsx","../src/v2/components/Sidebar/Components/ConfigureView.jsx"],"sourcesContent":["import { useNavigationCheckpoints } from \"neetocommons/v2/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({\n checkpointKey,\n to,\n href,\n children,\n ...others\n}) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const LinkElement = href ? \"a\" : NavLink;\n const linkProps = href\n ? { href, key: href, ...others }\n : { to: checkpoint || to, key: to, ...others };\n\n return <LinkElement {...linkProps}>{children}</LinkElement>;\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n\nexport const DEFAULT_HOME_PATH = \"/admin\";\n\nexport const SIDEBAR_WIDTH_KEY = \"neeto-molecules-sidebar-width\";\nexport const MIN_SIDEBAR_WIDTH = 12.5 * 16;\nexport const MAX_SIDEBAR_WIDTH = 20 * 16;\nexport const DEFAULT_SIDEBAR_WIDTH = 15 * 16;\n\nexport const PINNED_MORE_NAV_LINKS_KEY = \"pinnedMoreNavLinks\";\n\nexport const SPECIAL_APP_NAMES = { bugwatch: \"BugWatch\" };\n","import { isPresent, isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n\nexport const getActiveConfigurePageLink = ({ navLinks, location }) =>\n navLinks.find(link => {\n const [linkPathname] = link.to?.split(\"?\") || [];\n\n return (\n isPresent(link.isConfigureNavLink) &&\n link.isConfigureNavLink &&\n location.pathname.startsWith(linkPathname)\n );\n });\n","import { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters/v2\";\nimport { is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../constants\";\nimport { isSubRouteActive } from \"../utils\";\n\nconst SubLinkItem = ({\n to,\n href,\n onClick,\n label,\n className,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-testid\": dataTestid,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n tag,\n}) => {\n const location = useLocation();\n\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataTestidPrefix = dataTestid || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <SidebarMenuSubItem>\n <SidebarMenuSubButton\n asChild\n className={classnames(\"py-1.5\", className)}\n isActive={isSubLinkActive()}\n size=\"md\"\n >\n <CheckPointNavLinks\n {...{ href, onClick, to }}\n activeClassName=\"active\"\n data-testid={`${dataTestidPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <span\n className=\"flex min-w-0 flex-grow items-center gap-2\"\n data-testid={`${dataTestidPrefix}-sub-link-label`}\n >\n <span className=\"truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n </span>\n <span\n className=\"text-sidebar-foreground/70 flex-shrink-0 text-xs\"\n data-testid={`${dataTestidPrefix}-sub-link-count`}\n >\n {isCountsLoading ? (\n <div className=\"bg-sidebar-accent h-4 w-4 animate-pulse rounded\" />\n ) : (\n renderCount(count)\n )}\n </span>\n </CheckPointNavLinks>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n};\n\nexport default SubLinkItem;\n","import { Fragment } from \"react\";\n\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronLeft } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/v2/utils/general\";\nimport { omit } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst ConfigureView = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n showBackButton = true,\n isConfigureSidebar: _isConfigureSidebar,\n}) => {\n const { label, items, ...otherProps } = navLink;\n\n const renderItems = itemList => (\n <SidebarMenu className=\"gap-1\">\n {itemList.filter(filterByPermissions).map((subItem, subIndex) => (\n <Fragment key={subIndex}>\n {isPresent(subItem.items) ? (\n <SidebarMenuItem>\n <SidebarMenuButton asChild className=\"font-medium\">\n <CheckPointNavLinks\n href={subItem.href}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n >\n {subItem.label}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n <SidebarMenuSub data-testid=\"sidebar-sub-link-wrapper\">\n {subItem.items\n .filter(filterByPermissions)\n .map((nestedItem, nestedIndex) => (\n <SubLinkItem\n key={nestedIndex}\n {...{ ...nestedItem }}\n href={nestedItem.href}\n isActive={nestedItem.isActive}\n to={nestedItem.to ?? nestedItem.path}\n onClick={nestedItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n </SidebarMenuItem>\n ) : (\n <SubLinkItem\n {...{ ...subItem }}\n href={subItem.href}\n isActive={subItem.isActive}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n )}\n </Fragment>\n ))}\n </SidebarMenu>\n );\n\n return (\n <SidebarGroup data-testid=\"configure-nav-container\">\n {showBackButton ? (\n <SidebarMenuButton\n className=\"mb-4 text-base font-semibold [&>svg]:size-5\"\n data-testid={`${hyphenize(label)}-go-back-button`}\n onClick={handleGoBack}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n <ChevronLeft className=\"rtl:scale-x-[-1]\" />\n <span>{label}</span>\n </SidebarMenuButton>\n ) : (\n <div\n className=\"mb-4 px-2 text-base font-semibold\"\n data-testid={`${hyphenize(label)}-heading`}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n {label}\n </div>\n )}\n <SidebarGroupContent>{items && renderItems(items)}</SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default ConfigureView;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","href","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","LinkElement","NavLink","linkProps","_objectSpread","key","_jsx","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","DEFAULT_HOME_PATH","SIDEBAR_WIDTH_KEY","MIN_SIDEBAR_WIDTH","MAX_SIDEBAR_WIDTH","DEFAULT_SIDEBAR_WIDTH","PINNED_MORE_NAV_LINKS_KEY","SPECIAL_APP_NAMES","bugwatch","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","getActiveConfigurePageLink","_ref2","navLinks","find","link","_link$to","_ref3","split","_ref4","_slicedToArray","linkPathname","isPresent","isConfigureNavLink","startsWith","SubLinkItem","onClick","label","className","_ref$type","type","count","isSectionHeader","isCountsLoading","dataTestid","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","tag","useLocation","Segments","isIndependent","dataTestidPrefix","hyphenate","renderCount","isSubLinkActive","Function","SidebarMenuSubItem","SidebarMenuSubButton","asChild","classnames","size","_jsxs","activeClassName","Badge","ConfigureView","_ref$navLink","navLink","items","handleGoBack","_ref$showBackButton","showBackButton","isConfigureSidebar","otherProps","renderItems","itemList","SidebarMenu","filter","map","subItem","subIndex","_subItem$to","_subItem$to2","Fragment","SidebarMenuItem","SidebarMenuButton","path","SidebarMenuSub","nestedItem","nestedIndex","_nestedItem$to","SidebarGroup","hyphenize","omit","ChevronLeft","SidebarGroupContent"],"mappings":"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"}
@@ -191,6 +191,7 @@ var ConfigureView = function ConfigureView(_ref) {
191
191
  children: subItem.label
192
192
  })
193
193
  }), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuSub, {
194
+ "data-testid": "sidebar-sub-link-wrapper",
194
195
  children: subItem.items.filter(filterByPermissions).map(function (nestedItem, nestedIndex) {
195
196
  var _nestedItem$to;
196
197
  return /*#__PURE__*/jsxRuntime.jsx(SubLinkItem, _objectSpread(_objectSpread({}, _objectSpread({}, nestedItem)), {}, {
@@ -248,4 +249,4 @@ exports.SubLinkItem = SubLinkItem;
248
249
  exports.filterByPermissions = filterByPermissions;
249
250
  exports.getActiveConfigurePageLink = getActiveConfigurePageLink;
250
251
  exports.getSidebarStateLocalStorageKey = getSidebarStateLocalStorageKey;
251
- //# sourceMappingURL=ConfigureView-Dk4x1_mS.js.map
252
+ //# sourceMappingURL=ConfigureView-CNWEfiae.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigureView-CNWEfiae.js","sources":["../../src/v2/components/Sidebar/Components/CheckPointNavLink.jsx","../../src/v2/components/Sidebar/constants.js","../../src/v2/components/Sidebar/utils.js","../../src/v2/components/Sidebar/Components/SubLinkItem.jsx","../../src/v2/components/Sidebar/Components/ConfigureView.jsx"],"sourcesContent":["import { useNavigationCheckpoints } from \"neetocommons/v2/react-utils/useRegisterNavigationCheckpoint\";\nimport { NavLink } from \"react-router-dom\";\n\nconst CheckPointNavLinks = ({\n checkpointKey,\n to,\n href,\n children,\n ...others\n}) => {\n const { [checkpointKey]: checkpoint } =\n useNavigationCheckpoints(checkpointKey);\n\n const LinkElement = href ? \"a\" : NavLink;\n const linkProps = href\n ? { href, key: href, ...others }\n : { to: checkpoint || to, key: to, ...others };\n\n return <LinkElement {...linkProps}>{children}</LinkElement>;\n};\n\nexport default CheckPointNavLinks;\n","export const SUB_LINK_TYPES = {\n SYSTEM_VIEW: \"system_view\",\n SEGMENTS: \"segments\",\n};\n\nexport const SELECTED_NAV_LINK_ROUTE_STORAGE_KEY = \"selectedNavLinkRoute\";\n\nexport const DEFAULT_HOME_PATH = \"/admin\";\n\nexport const SIDEBAR_WIDTH_KEY = \"neeto-molecules-sidebar-width\";\nexport const MIN_SIDEBAR_WIDTH = 12.5 * 16;\nexport const MAX_SIDEBAR_WIDTH = 20 * 16;\nexport const DEFAULT_SIDEBAR_WIDTH = 15 * 16;\n\nexport const PINNED_MORE_NAV_LINKS_KEY = \"pinnedMoreNavLinks\";\n\nexport const SPECIAL_APP_NAMES = { bugwatch: \"BugWatch\" };\n","import { isPresent, isNotEmpty } from \"neetocist\";\nimport { __, all, curry, equals, includes, is } from \"ramda\";\n\nexport const isSubRouteActive = (subRoute, location) => {\n const currentBrowserUrl = new URL(\n location.pathname + location.search + location.hash,\n window.location.origin\n );\n const targetUrl = new URL(subRoute, window.location.origin);\n\n const targetSearchParams = targetUrl.searchParams;\n const targetSearchKeys = Array.from(targetSearchParams.keys());\n\n return (\n all(\n key =>\n currentBrowserUrl.searchParams.get(key) === targetSearchParams.get(key),\n targetSearchKeys\n ) && equals(currentBrowserUrl.pathname, targetUrl.pathname)\n );\n};\n\nexport const getSidebarStateLocalStorageKey = () => {\n const user = globalProps.user?.email || globalProps.user?.phoneNumber;\n\n return `sidebarState-${user}`;\n};\n\nexport const filterByPermissions = curry(({ permissions }) => {\n if (permissions && isNotEmpty(permissions)) {\n return is(Array, permissions)\n ? permissions.some(includes(__, globalProps.permissions))\n : globalProps.permissions.includes(permissions);\n }\n\n return true;\n});\n\nexport const getActiveConfigurePageLink = ({ navLinks, location }) =>\n navLinks.find(link => {\n const [linkPathname] = link.to?.split(\"?\") || [];\n\n return (\n isPresent(link.isConfigureNavLink) &&\n link.isConfigureNavLink &&\n location.pathname.startsWith(linkPathname)\n );\n });\n","import { Badge } from \"@bigbinary/neeto-atoms\";\nimport {\n SidebarMenuSubItem,\n SidebarMenuSubButton,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Segments } from \"neetofilters/v2\";\nimport { is } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\n\nimport { SUB_LINK_TYPES } from \"../constants\";\nimport { isSubRouteActive } from \"../utils\";\n\nconst SubLinkItem = ({\n to,\n href,\n onClick,\n label,\n className,\n type = SUB_LINK_TYPES.SYSTEM_VIEW,\n count,\n isSectionHeader,\n isCountsLoading,\n \"data-testid\": dataTestid,\n entity = \"\",\n columns = [],\n baseUrl,\n isActive,\n tag,\n}) => {\n const location = useLocation();\n\n if (type === SUB_LINK_TYPES.SEGMENTS) {\n return <Segments {...{ baseUrl, columns, entity }} isIndependent={false} />;\n }\n\n const dataTestidPrefix = dataTestid || hyphenate(label);\n\n const renderCount = count => (count > 999 ? \"999+\" : count);\n\n const isSubLinkActive = () =>\n !isSectionHeader &&\n (is(Function, isActive) ? isActive() : isSubRouteActive(to, location));\n\n return (\n <SidebarMenuSubItem>\n <SidebarMenuSubButton\n asChild\n className={classnames(\"py-1.5\", className)}\n isActive={isSubLinkActive()}\n size=\"md\"\n >\n <CheckPointNavLinks\n {...{ href, onClick, to }}\n activeClassName=\"active\"\n data-testid={`${dataTestidPrefix}-sub-link`}\n isActive={isSubLinkActive}\n >\n <span\n className=\"flex min-w-0 flex-grow items-center gap-2\"\n data-testid={`${dataTestidPrefix}-sub-link-label`}\n >\n <span className=\"truncate\">{label}</span>\n {tag && <Badge {...tag} />}\n </span>\n <span\n className=\"text-sidebar-foreground/70 flex-shrink-0 text-xs\"\n data-testid={`${dataTestidPrefix}-sub-link-count`}\n >\n {isCountsLoading ? (\n <div className=\"bg-sidebar-accent h-4 w-4 animate-pulse rounded\" />\n ) : (\n renderCount(count)\n )}\n </span>\n </CheckPointNavLinks>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n};\n\nexport default SubLinkItem;\n","import { Fragment } from \"react\";\n\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { ChevronLeft } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/v2/utils/general\";\nimport { omit } from \"ramda\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport SubLinkItem from \"./SubLinkItem\";\n\nimport { filterByPermissions } from \"../utils\";\n\nconst ConfigureView = ({\n navLink = { label: \"\", items: [], isConfigureNavLink: false },\n handleGoBack,\n showBackButton = true,\n isConfigureSidebar: _isConfigureSidebar,\n}) => {\n const { label, items, ...otherProps } = navLink;\n\n const renderItems = itemList => (\n <SidebarMenu className=\"gap-1\">\n {itemList.filter(filterByPermissions).map((subItem, subIndex) => (\n <Fragment key={subIndex}>\n {isPresent(subItem.items) ? (\n <SidebarMenuItem>\n <SidebarMenuButton asChild className=\"font-medium\">\n <CheckPointNavLinks\n href={subItem.href}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n >\n {subItem.label}\n </CheckPointNavLinks>\n </SidebarMenuButton>\n <SidebarMenuSub data-testid=\"sidebar-sub-link-wrapper\">\n {subItem.items\n .filter(filterByPermissions)\n .map((nestedItem, nestedIndex) => (\n <SubLinkItem\n key={nestedIndex}\n {...{ ...nestedItem }}\n href={nestedItem.href}\n isActive={nestedItem.isActive}\n to={nestedItem.to ?? nestedItem.path}\n onClick={nestedItem.onClick}\n />\n ))}\n </SidebarMenuSub>\n </SidebarMenuItem>\n ) : (\n <SubLinkItem\n {...{ ...subItem }}\n href={subItem.href}\n isActive={subItem.isActive}\n to={subItem.to ?? subItem.path}\n onClick={subItem.onClick}\n />\n )}\n </Fragment>\n ))}\n </SidebarMenu>\n );\n\n return (\n <SidebarGroup data-testid=\"configure-nav-container\">\n {showBackButton ? (\n <SidebarMenuButton\n className=\"mb-4 text-base font-semibold [&>svg]:size-5\"\n data-testid={`${hyphenize(label)}-go-back-button`}\n onClick={handleGoBack}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n <ChevronLeft className=\"rtl:scale-x-[-1]\" />\n <span>{label}</span>\n </SidebarMenuButton>\n ) : (\n <div\n className=\"mb-4 px-2 text-base font-semibold\"\n data-testid={`${hyphenize(label)}-heading`}\n {...{ ...omit([\"icon\", \"isConfigureNavLink\"], otherProps) }}\n >\n {label}\n </div>\n )}\n <SidebarGroupContent>{items && renderItems(items)}</SidebarGroupContent>\n </SidebarGroup>\n );\n};\n\nexport default ConfigureView;\n"],"names":["CheckPointNavLinks","_ref","checkpointKey","to","href","children","others","_objectWithoutProperties","_excluded","_useNavigationCheckpo","useNavigationCheckpoints","checkpoint","LinkElement","NavLink","linkProps","_objectSpread","key","_jsx","SUB_LINK_TYPES","SYSTEM_VIEW","SEGMENTS","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","DEFAULT_HOME_PATH","SIDEBAR_WIDTH_KEY","MIN_SIDEBAR_WIDTH","MAX_SIDEBAR_WIDTH","DEFAULT_SIDEBAR_WIDTH","PINNED_MORE_NAV_LINKS_KEY","SPECIAL_APP_NAMES","bugwatch","isSubRouteActive","subRoute","location","currentBrowserUrl","URL","pathname","search","hash","window","origin","targetUrl","targetSearchParams","searchParams","targetSearchKeys","Array","from","keys","all","get","equals","getSidebarStateLocalStorageKey","_globalProps$user","_globalProps$user2","user","globalProps","email","phoneNumber","concat","filterByPermissions","curry","permissions","isNotEmpty","is","some","includes","__","getActiveConfigurePageLink","_ref2","navLinks","find","link","_link$to","_ref3","split","_ref4","_slicedToArray","linkPathname","isPresent","isConfigureNavLink","startsWith","SubLinkItem","onClick","label","className","_ref$type","type","count","isSectionHeader","isCountsLoading","dataTestid","_ref$entity","entity","_ref$columns","columns","baseUrl","isActive","tag","useLocation","Segments","isIndependent","dataTestidPrefix","hyphenate","renderCount","isSubLinkActive","Function","SidebarMenuSubItem","SidebarMenuSubButton","asChild","classnames","size","_jsxs","activeClassName","Badge","ConfigureView","_ref$navLink","navLink","items","handleGoBack","_ref$showBackButton","showBackButton","isConfigureSidebar","otherProps","renderItems","itemList","SidebarMenu","filter","map","subItem","subIndex","_subItem$to","_subItem$to2","Fragment","SidebarMenuItem","SidebarMenuButton","path","SidebarMenuSub","nestedItem","nestedIndex","_nestedItem$to","SidebarGroup","hyphenize","omit","ChevronLeft","SidebarGroupContent"],"mappings":"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"}
@@ -6,7 +6,7 @@ var primitives = require('@bigbinary/neeto-atoms/primitives');
6
6
  var classnames = require('classnames');
7
7
  var reactRouterDom = require('react-router-dom');
8
8
  require('./configure-page-sidebar.js');
9
- var ConfigureView = require('../ConfigureView-Dk4x1_mS.js');
9
+ var ConfigureView = require('../ConfigureView-CNWEfiae.js');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
  require('../inject-css-B6qYtOJe.js');
12
12
  require('@babel/runtime/helpers/defineProperty');
@@ -37,6 +37,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
37
37
  history.push(configurePageRoute);
38
38
  };
39
39
  return /*#__PURE__*/jsxRuntime.jsxs(primitives.SidebarProvider, {
40
+ "data-testid": "configure-page-sidebar-container",
40
41
  open: !isSidebarCollapsed,
41
42
  className: classnames("!w-auto", {
42
43
  "neeto-configure-page-sidebar--embedded": isEmbedded
@@ -46,6 +47,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
46
47
  },
47
48
  children: [/*#__PURE__*/jsxRuntime.jsx(primitives.Sidebar, {
48
49
  collapsible: "offcanvas",
50
+ "data-testid": "configure-page-sidebar",
49
51
  side: document.documentElement.dir === "rtl" ? "right" : "left",
50
52
  children: /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarContent, {
51
53
  children: /*#__PURE__*/jsxRuntime.jsx(ConfigureView.ConfigureView, {
@@ -59,6 +61,7 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
59
61
  })
60
62
  })
61
63
  }), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
64
+ "data-testid": "configure-page-neeto-molecules-sidebar-toggler",
62
65
  className: classnames({
63
66
  "bg-background hover:bg-accent size-9 rounded-full border shadow-sm": isSidebarCollapsed
64
67
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurePageSidebar.js","sources":["../../../src/v2/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarProvider,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nimport \"./configure-page-sidebar.css\";\nimport ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\n isEmbedded = false,\n showBackButton = true,\n}) => {\n const history = useHistory();\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n\n const handleConfigureLinkClick = () => {\n history.push(configurePageRoute);\n };\n\n return (\n <SidebarProvider\n open={!isSidebarCollapsed}\n className={classnames(\"!w-auto\", {\n \"neeto-configure-page-sidebar--embedded\": isEmbedded,\n })}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <Sidebar\n collapsible=\"offcanvas\"\n side={document.documentElement.dir === \"rtl\" ? \"right\" : \"left\"}\n >\n <SidebarContent>\n <ConfigureView\n {...{ showBackButton }}\n isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </SidebarContent>\n </Sidebar>\n <SidebarTrigger\n className={classnames({\n \"bg-background hover:bg-accent size-9 rounded-full border shadow-sm\":\n isSidebarCollapsed,\n })}\n />\n </SidebarProvider>\n );\n};\n\nConfigurePageSidebar.propTypes = {\n configurePageRoute: PropTypes.string,\n label: PropTypes.string,\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, to: PropTypes.string })\n ),\n })\n ),\n // Renders the sidebar inline within the page (flows as a flex item, collapse\n // reclaims space, trigger docks alongside the content) instead of the default\n // fixed full-height overlay. Use when the sidebar is nested inside a page that\n // already has its own header/sidebar.\n isEmbedded: PropTypes.bool,\n // Show the back chevron on the title that navigates to configurePageRoute.\n showBackButton: PropTypes.bool,\n};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","_ref$isEmbedded","isEmbedded","_ref$showBackButton","showBackButton","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","open","className","classnames","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAMpB;AAAA,EAAA,IALJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACKC,KAAK,GAAAF,IAAA,CAAfG,QAAQ;IACRC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAAAC,eAAA,GAAAL,IAAA,CAClBM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,mBAAA,GAAAP,IAAA,CAClBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAME,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrCR,IAAAA,OAAO,CAACS,IAAI,CAACd,kBAAkB,CAAC;EAClC,CAAC;EAED,oBACEe,eAAA,CAACC,0BAAe,EAAA;IACdC,IAAI,EAAE,CAACN,kBAAmB;AAC1BO,IAAAA,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAE;AAC/B,MAAA,wCAAwC,EAAEjB;AAC5C,KAAC,CAAE;AACHkB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEH,IAAI,EAAA;AAAA,MAAA,OAAIL,qBAAqB,CAAC,CAACK,IAAI,CAAC;IAAA,CAAC;IAAAI,QAAA,EAAA,cAEnDC,cAAA,CAACC,kBAAO,EAAA;AACNC,MAAAA,WAAW,EAAC,WAAW;MACvBC,IAAI,EAAEC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK,GAAG,OAAO,GAAG,MAAO;MAAAP,QAAA,eAEhEC,cAAA,CAACO,yBAAc,EAAA;QAAAR,QAAA,eACbC,cAAA,CAACQ,2BAAa,EAAA;AACN1B,UAAAA,cAAc,EAAdA,cAAc;UACpB2B,kBAAkB,EAAA,IAAA;AAClBC,UAAAA,YAAY,EAAEnB,wBAAyB;AACvCoB,UAAAA,OAAO,EAAE;AAAEpC,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,KAAK,EAALA;AAAM;SACzB;OACa;AAAC,KACV,CAAC,eACVwB,cAAA,CAACY,yBAAc,EAAA;MACbhB,SAAS,EAAEC,UAAU,CAAC;AACpB,QAAA,oEAAoE,EAClER;OACH;AAAE,KACJ,CAAC;AAAA,GACa,CAAC;AAEtB;;;;"}
1
+ {"version":3,"file":"ConfigurePageSidebar.js","sources":["../../../src/v2/components/ConfigurePageSidebar.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarProvider,\n SidebarTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nimport \"./configure-page-sidebar.css\";\nimport ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\n isEmbedded = false,\n showBackButton = true,\n}) => {\n const history = useHistory();\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n\n const handleConfigureLinkClick = () => {\n history.push(configurePageRoute);\n };\n\n return (\n <SidebarProvider\n data-testid=\"configure-page-sidebar-container\"\n open={!isSidebarCollapsed}\n className={classnames(\"!w-auto\", {\n \"neeto-configure-page-sidebar--embedded\": isEmbedded,\n })}\n onOpenChange={open => setIsSidebarCollapsed(!open)}\n >\n <Sidebar\n collapsible=\"offcanvas\"\n data-testid=\"configure-page-sidebar\"\n side={document.documentElement.dir === \"rtl\" ? \"right\" : \"left\"}\n >\n <SidebarContent>\n <ConfigureView\n {...{ showBackButton }}\n isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </SidebarContent>\n </Sidebar>\n <SidebarTrigger\n data-testid=\"configure-page-neeto-molecules-sidebar-toggler\"\n className={classnames({\n \"bg-background hover:bg-accent size-9 rounded-full border shadow-sm\":\n isSidebarCollapsed,\n })}\n />\n </SidebarProvider>\n );\n};\n\nConfigurePageSidebar.propTypes = {\n configurePageRoute: PropTypes.string,\n label: PropTypes.string,\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({ label: PropTypes.string, to: PropTypes.string })\n ),\n })\n ),\n // Renders the sidebar inline within the page (flows as a flex item, collapse\n // reclaims space, trigger docks alongside the content) instead of the default\n // fixed full-height overlay. Use when the sidebar is nested inside a page that\n // already has its own header/sidebar.\n isEmbedded: PropTypes.bool,\n // Show the back chevron on the title that navigates to configurePageRoute.\n showBackButton: PropTypes.bool,\n};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","_ref$isEmbedded","isEmbedded","_ref$showBackButton","showBackButton","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","open","className","classnames","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAMpB;AAAA,EAAA,IALJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACKC,KAAK,GAAAF,IAAA,CAAfG,QAAQ;IACRC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;IAAAC,eAAA,GAAAL,IAAA,CAClBM,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,mBAAA,GAAAP,IAAA,CAClBQ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAME,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;AACrCR,IAAAA,OAAO,CAACS,IAAI,CAACd,kBAAkB,CAAC;EAClC,CAAC;EAED,oBACEe,eAAA,CAACC,0BAAe,EAAA;AACd,IAAA,aAAA,EAAY,kCAAkC;IAC9CC,IAAI,EAAE,CAACN,kBAAmB;AAC1BO,IAAAA,SAAS,EAAEC,UAAU,CAAC,SAAS,EAAE;AAC/B,MAAA,wCAAwC,EAAEjB;AAC5C,KAAC,CAAE;AACHkB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAEH,IAAI,EAAA;AAAA,MAAA,OAAIL,qBAAqB,CAAC,CAACK,IAAI,CAAC;IAAA,CAAC;IAAAI,QAAA,EAAA,cAEnDC,cAAA,CAACC,kBAAO,EAAA;AACNC,MAAAA,WAAW,EAAC,WAAW;AACvB,MAAA,aAAA,EAAY,wBAAwB;MACpCC,IAAI,EAAEC,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK,GAAG,OAAO,GAAG,MAAO;MAAAP,QAAA,eAEhEC,cAAA,CAACO,yBAAc,EAAA;QAAAR,QAAA,eACbC,cAAA,CAACQ,2BAAa,EAAA;AACN1B,UAAAA,cAAc,EAAdA,cAAc;UACpB2B,kBAAkB,EAAA,IAAA;AAClBC,UAAAA,YAAY,EAAEnB,wBAAyB;AACvCoB,UAAAA,OAAO,EAAE;AAAEpC,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,KAAK,EAALA;AAAM;SACzB;OACa;AAAC,KACV,CAAC,eACVwB,cAAA,CAACY,yBAAc,EAAA;AACb,MAAA,aAAA,EAAY,gDAAgD;MAC5DhB,SAAS,EAAEC,UAAU,CAAC;AACpB,QAAA,oEAAoE,EAClER;OACH;AAAE,KACJ,CAAC;AAAA,GACa,CAAC;AAEtB;;;;"}
@@ -267,11 +267,11 @@ var FinderModal = function FinderModal(_ref2) {
267
267
  }), onLoadMore && hasMore && /*#__PURE__*/jsxRuntime.jsx("div", {
268
268
  "aria-hidden": "true",
269
269
  className: "h-px w-full",
270
- "data-testid": "nm-finder-modal-sentinel",
270
+ "data-testid": "neeto-molecules-finder-modal-sentinel",
271
271
  ref: setSentinelEl
272
272
  }), isFetchingMore && /*#__PURE__*/jsxRuntime.jsx("div", {
273
273
  className: "flex items-center justify-center py-3",
274
- "data-testid": "nm-finder-modal-loading-more",
274
+ "data-testid": "neeto-molecules-finder-modal-loading-more",
275
275
  children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Spinner, {
276
276
  size: "small"
277
277
  })
@@ -1 +1 @@
1
- {"version":3,"file":"FinderModal.js","sources":["../../../src/v2/components/FinderModal/Footer.jsx","../../../src/v2/components/FinderModal/utils.jsx","../../../src/v2/components/FinderModal/index.jsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <ChevronUp className=\"text-muted-foreground\" key=\"up\" size={12} />,\n <ChevronDown className=\"text-muted-foreground\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <div className=\"border-border bg-muted/40 nm-finder-modal__footer border-t px-4 py-2.5\">\n <div className=\"text-muted-foreground flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n {keys.map((key, keyIndex) => (\n <kbd\n className=\"border-border bg-background text-foreground inline-flex h-4 min-w-4 items-center justify-center rounded border px-1 font-sans text-[10px] leading-none\"\n key={keyIndex}\n >\n {key}\n </kbd>\n ))}\n <span>{label}</span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ModalFooter;\n","import React from \"react\";\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <mark className=\"rounded-sm bg-yellow-200 text-yellow-900\" key={index}>\n {part}\n </mark>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n","import { Fragment, useEffect, useRef, useState } from \"react\";\n\nimport { Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { Search } from \"lucide-react\";\nimport { humanize, isNotEmpty, noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ModalFooter from \"./Footer\";\nimport { filterAndHighlightContent, highlightMatch, htmlToText } from \"./utils\";\n\nconst toRelativePath = url => {\n const { pathname, search } = new URL(url);\n\n return `${pathname}${search}`;\n};\n\nconst navigateToItem = ({ history, onClose, relativePath }) => {\n onClose?.();\n const currentPath = `${history.location.pathname}${history.location.search}`;\n if (currentPath !== relativePath) {\n history.push(relativePath);\n }\n};\n\nconst handleAnchorClick = event => {\n const isModified =\n event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0;\n if (isModified) {\n // Let the browser open the href natively (new tab, new window, etc.);\n // don't let cmdk's bubble handler also navigate the current tab.\n event.stopPropagation();\n\n return;\n }\n // Suppress the default browser navigation so cmdk's onSelect (fired via\n // the bubbled click) drives the SPA push exactly once.\n event.preventDefault();\n};\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data = {},\n isFetching,\n isOpen,\n searchTerm = \"\",\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n onLoadMore,\n hasMore = false,\n isFetchingMore = false,\n ...props\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [sentinelEl, setSentinelEl] = useState(null);\n const onLoadMoreRef = useRef(onLoadMore || noop);\n\n const categories = Object.keys(data).filter(key => isNotEmpty(data[key]));\n const isDataEmpty = isEmpty(categories);\n\n const handleOpenChange = open => {\n if (!open) onClose?.();\n };\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore || noop;\n }, [onLoadMore]);\n\n const isPaginationEnabled = Boolean(onLoadMore);\n\n useEffect(() => {\n if (!sentinelEl || !isPaginationEnabled || !hasMore || isFetchingMore) {\n return undefined;\n }\n\n const root = sentinelEl.closest(\".nm-finder-modal__body\");\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) onLoadMoreRef.current();\n },\n { root, rootMargin: \"120px\" }\n );\n observer.observe(sentinelEl);\n\n return () => observer.disconnect();\n }, [sentinelEl, isPaginationEnabled, hasMore, isFetchingMore]);\n\n return (\n <CommandDialog\n {...props}\n className=\"nm-finder-modal !top-1/4 !max-w-[calc(100%-2rem)] sm:!max-w-xl\"\n open={isOpen}\n title={t(\"neetoMolecules.common.actions.search\")}\n onOpenChange={handleOpenChange}\n >\n <Command className=\"!p-0\" shouldFilter={false}>\n <div className=\"border-border flex items-center gap-2 border-b px-3 py-2 [&_[data-slot=command-input-wrapper]]:!p-0\">\n <div className=\"min-w-0 flex-1\">\n <CommandInput\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n value={searchTerm}\n onValueChange={setSearchTerm}\n />\n </div>\n {isFetching && <Spinner size=\"small\" />}\n {enableAdvancedSearch && (\n <button\n className=\"border-border bg-background text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 shrink-0 items-center gap-2 rounded-md border px-2 text-xs whitespace-nowrap transition-colors\"\n type=\"button\"\n onClick={onGoToAdvanced}\n >\n <span>{t(\"neetoMolecules.finderModal.advancedSearch\")}</span>\n <kbd className=\"border-border bg-muted inline-flex h-4 items-center rounded border px-1 font-sans text-[10px] leading-none\">\n ⌘⏎\n </kbd>\n </button>\n )}\n </div>\n <CommandList className=\"nm-finder-modal__body max-h-[min(24rem,55vh)] min-h-[min(12rem,40vh)] p-2\">\n {isDataEmpty && !isFetching && (\n <CommandEmpty className=\"!py-8\">\n <Empty\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n icon={Search}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </CommandEmpty>\n )}\n {categories.map((category, index) => (\n <Fragment key={category}>\n <CommandGroup heading={humanize(category)}>\n {data[category].map(item => {\n const name = htmlToText(item.name);\n const body = htmlToText(item.body);\n const filteredBody = filterAndHighlightContent(\n body,\n searchTerm\n );\n\n const relativePath = toRelativePath(item.url);\n\n return (\n <CommandItem\n className=\"!p-0\"\n key={`${category}-${item.id}`}\n value={`${category}-${item.id}`}\n onSelect={() =>\n navigateToItem({ history, onClose, relativePath })\n }\n >\n <a\n className=\"flex min-w-0 flex-1 flex-col gap-1.5 px-3 py-2.5 no-underline outline-none\"\n href={relativePath}\n onClick={handleAnchorClick}\n >\n {name && (\n <span className=\"text-foreground line-clamp-1 text-sm font-medium\">\n {highlightMatch(name, searchTerm)}\n </span>\n )}\n {body && (\n <span className=\"text-muted-foreground line-clamp-1 text-xs\">\n {filteredBody || body}\n </span>\n )}\n </a>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {index < categories.length - 1 && (\n <CommandSeparator className=\"my-1\" />\n )}\n </Fragment>\n ))}\n {onLoadMore && hasMore && (\n <div\n aria-hidden=\"true\"\n className=\"h-px w-full\"\n data-testid=\"nm-finder-modal-sentinel\"\n ref={setSentinelEl}\n />\n )}\n {isFetchingMore && (\n <div\n className=\"flex items-center justify-center py-3\"\n data-testid=\"nm-finder-modal-loading-more\"\n >\n <Spinner size=\"small\" />\n </div>\n )}\n </CommandList>\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Command>\n </CommandDialog>\n );\n};\n\nFinderModal.propTypes = {\n enableAdvancedSearch: PropTypes.bool,\n data: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n isFetching: PropTypes.bool,\n isOpen: PropTypes.bool,\n searchTerm: PropTypes.string,\n setSearchTerm: PropTypes.func,\n onClose: PropTypes.func,\n onGoToAdvanced: PropTypes.func,\n onLoadMore: PropTypes.func,\n hasMore: PropTypes.bool,\n isFetchingMore: PropTypes.bool,\n};\n\nexport default FinderModal;\n"],"names":["ModalFooter","_ref","enableAdvancedSearch","_useTranslation","useTranslation","t","shortcuts","label","keys","isVisible","_jsx","ChevronUp","className","size","ChevronDown","children","filter","prop","map","_ref2","index","_jsxs","key","keyIndex","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","part","toLowerCase","filterAndHighlightContent","bodyContent","line","trim","includes","React","Fragment","toRelativePath","url","_URL","URL","pathname","search","navigateToItem","history","onClose","relativePath","currentPath","location","push","handleAnchorClick","event","isModified","metaKey","ctrlKey","shiftKey","button","stopPropagation","preventDefault","FinderModal","_ref2$enableAdvancedS","_ref2$data","data","isFetching","isOpen","_ref2$searchTerm","setSearchTerm","_ref2$onGoToAdvanced","onGoToAdvanced","noop","onLoadMore","_ref2$hasMore","hasMore","_ref2$isFetchingMore","isFetchingMore","props","_objectWithoutProperties","_excluded","useHistory","_useState","useState","_useState2","_slicedToArray","sentinelEl","setSentinelEl","onLoadMoreRef","useRef","categories","Object","isNotEmpty","isDataEmpty","isEmpty","handleOpenChange","open","useHotkeys","mode","enabled","useEffect","current","isPaginationEnabled","Boolean","undefined","root","closest","observer","IntersectionObserver","_ref3","_ref4","entry","isIntersecting","rootMargin","observe","disconnect","CommandDialog","_objectSpread","title","onOpenChange","Command","shouldFilter","CommandInput","placeholder","value","onValueChange","Spinner","type","onClick","CommandList","CommandEmpty","Empty","description","icon","Search","category","CommandGroup","heading","humanize","item","name","body","filteredBody","CommandItem","id","onSelect","href","length","CommandSeparator","ref"],"mappings":"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"}
1
+ {"version":3,"file":"FinderModal.js","sources":["../../../src/v2/components/FinderModal/Footer.jsx","../../../src/v2/components/FinderModal/utils.jsx","../../../src/v2/components/FinderModal/index.jsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ModalFooter = ({ enableAdvancedSearch }) => {\n const { t } = useTranslation();\n\n const shortcuts = [\n {\n label: t(\"neetoMolecules.finderModal.advancedSearch\"),\n keys: [\"Cmd/Ctrl\", \"Return\"],\n isVisible: enableAdvancedSearch,\n },\n {\n label: t(\"neetoMolecules.common.actions.open\"),\n keys: [\"Return\"],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.move\"),\n keys: [\n <ChevronUp className=\"text-muted-foreground\" key=\"up\" size={12} />,\n <ChevronDown className=\"text-muted-foreground\" key=\"down\" size={12} />,\n ],\n isVisible: true,\n },\n {\n label: t(\"neetoMolecules.common.actions.close\"),\n keys: [\"Esc\"],\n isVisible: true,\n },\n ];\n\n return (\n <div className=\"border-border bg-muted/40 nm-finder-modal__footer border-t px-4 py-2.5\">\n <div className=\"text-muted-foreground flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs\">\n {shortcuts.filter(prop(\"isVisible\")).map(({ label, keys }, index) => (\n <div className=\"flex items-center gap-1\" key={index}>\n {keys.map((key, keyIndex) => (\n <kbd\n className=\"border-border bg-background text-foreground inline-flex h-4 min-w-4 items-center justify-center rounded border px-1 font-sans text-[10px] leading-none\"\n key={keyIndex}\n >\n {key}\n </kbd>\n ))}\n <span>{label}</span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default ModalFooter;\n","import React from \"react\";\n\nexport const htmlToText = html => {\n if (!html) return null;\n\n const tmp = document.createElement(\"div\");\n tmp.innerHTML = html;\n\n return tmp.textContent || tmp.innerText || \"\";\n};\n\nexport const highlightMatch = (text, searchTerm) => {\n if (!searchTerm) return text;\n\n const regex = new RegExp(`(${searchTerm})`, \"gi\");\n\n return text.split(regex).map((part, index) =>\n part?.toLowerCase() === searchTerm.toLowerCase() ? (\n <mark className=\"rounded-sm bg-yellow-200 text-yellow-900\" key={index}>\n {part}\n </mark>\n ) : (\n part\n )\n );\n};\n\nexport const filterAndHighlightContent = (bodyContent, searchTerm) => {\n if (!searchTerm) return bodyContent;\n\n if (!bodyContent) return null;\n\n return bodyContent\n .split(/(.{1,130}(?:\\s|$))/g)\n .filter(line => line.trim())\n .filter(line => line.toLowerCase().includes(searchTerm.toLowerCase()))\n .map((line, index) => (\n <React.Fragment key={index}>\n {highlightMatch(line, searchTerm)}\n <br />\n </React.Fragment>\n ));\n};\n","import { Fragment, useEffect, useRef, useState } from \"react\";\n\nimport { Empty, Spinner } from \"@bigbinary/neeto-atoms\";\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { Search } from \"lucide-react\";\nimport { humanize, isNotEmpty, noop } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ModalFooter from \"./Footer\";\nimport { filterAndHighlightContent, highlightMatch, htmlToText } from \"./utils\";\n\nconst toRelativePath = url => {\n const { pathname, search } = new URL(url);\n\n return `${pathname}${search}`;\n};\n\nconst navigateToItem = ({ history, onClose, relativePath }) => {\n onClose?.();\n const currentPath = `${history.location.pathname}${history.location.search}`;\n if (currentPath !== relativePath) {\n history.push(relativePath);\n }\n};\n\nconst handleAnchorClick = event => {\n const isModified =\n event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0;\n if (isModified) {\n // Let the browser open the href natively (new tab, new window, etc.);\n // don't let cmdk's bubble handler also navigate the current tab.\n event.stopPropagation();\n\n return;\n }\n // Suppress the default browser navigation so cmdk's onSelect (fired via\n // the bubbled click) drives the SPA push exactly once.\n event.preventDefault();\n};\n\nconst FinderModal = ({\n enableAdvancedSearch = true,\n data = {},\n isFetching,\n isOpen,\n searchTerm = \"\",\n setSearchTerm,\n onClose,\n onGoToAdvanced = noop,\n onLoadMore,\n hasMore = false,\n isFetchingMore = false,\n ...props\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [sentinelEl, setSentinelEl] = useState(null);\n const onLoadMoreRef = useRef(onLoadMore || noop);\n\n const categories = Object.keys(data).filter(key => isNotEmpty(data[key]));\n const isDataEmpty = isEmpty(categories);\n\n const handleOpenChange = open => {\n if (!open) onClose?.();\n };\n\n useHotkeys([\"ctrl+enter\", \"command+enter\"], onGoToAdvanced, {\n mode: \"global\",\n enabled: isOpen && enableAdvancedSearch,\n });\n\n useEffect(() => {\n onLoadMoreRef.current = onLoadMore || noop;\n }, [onLoadMore]);\n\n const isPaginationEnabled = Boolean(onLoadMore);\n\n useEffect(() => {\n if (!sentinelEl || !isPaginationEnabled || !hasMore || isFetchingMore) {\n return undefined;\n }\n\n const root = sentinelEl.closest(\".nm-finder-modal__body\");\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) onLoadMoreRef.current();\n },\n { root, rootMargin: \"120px\" }\n );\n observer.observe(sentinelEl);\n\n return () => observer.disconnect();\n }, [sentinelEl, isPaginationEnabled, hasMore, isFetchingMore]);\n\n return (\n <CommandDialog\n {...props}\n className=\"nm-finder-modal !top-1/4 !max-w-[calc(100%-2rem)] sm:!max-w-xl\"\n open={isOpen}\n title={t(\"neetoMolecules.common.actions.search\")}\n onOpenChange={handleOpenChange}\n >\n <Command className=\"!p-0\" shouldFilter={false}>\n <div className=\"border-border flex items-center gap-2 border-b px-3 py-2 [&_[data-slot=command-input-wrapper]]:!p-0\">\n <div className=\"min-w-0 flex-1\">\n <CommandInput\n placeholder={t(\"neetoMolecules.common.actions.search\")}\n value={searchTerm}\n onValueChange={setSearchTerm}\n />\n </div>\n {isFetching && <Spinner size=\"small\" />}\n {enableAdvancedSearch && (\n <button\n className=\"border-border bg-background text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 shrink-0 items-center gap-2 rounded-md border px-2 text-xs whitespace-nowrap transition-colors\"\n type=\"button\"\n onClick={onGoToAdvanced}\n >\n <span>{t(\"neetoMolecules.finderModal.advancedSearch\")}</span>\n <kbd className=\"border-border bg-muted inline-flex h-4 items-center rounded border px-1 font-sans text-[10px] leading-none\">\n ⌘⏎\n </kbd>\n </button>\n )}\n </div>\n <CommandList className=\"nm-finder-modal__body max-h-[min(24rem,55vh)] min-h-[min(12rem,40vh)] p-2\">\n {isDataEmpty && !isFetching && (\n <CommandEmpty className=\"!py-8\">\n <Empty\n description={t(\"neetoMolecules.finderModal.noDataDesc\")}\n icon={Search}\n title={t(\"neetoMolecules.finderModal.noDataTitle\")}\n />\n </CommandEmpty>\n )}\n {categories.map((category, index) => (\n <Fragment key={category}>\n <CommandGroup heading={humanize(category)}>\n {data[category].map(item => {\n const name = htmlToText(item.name);\n const body = htmlToText(item.body);\n const filteredBody = filterAndHighlightContent(\n body,\n searchTerm\n );\n\n const relativePath = toRelativePath(item.url);\n\n return (\n <CommandItem\n className=\"!p-0\"\n key={`${category}-${item.id}`}\n value={`${category}-${item.id}`}\n onSelect={() =>\n navigateToItem({ history, onClose, relativePath })\n }\n >\n <a\n className=\"flex min-w-0 flex-1 flex-col gap-1.5 px-3 py-2.5 no-underline outline-none\"\n href={relativePath}\n onClick={handleAnchorClick}\n >\n {name && (\n <span className=\"text-foreground line-clamp-1 text-sm font-medium\">\n {highlightMatch(name, searchTerm)}\n </span>\n )}\n {body && (\n <span className=\"text-muted-foreground line-clamp-1 text-xs\">\n {filteredBody || body}\n </span>\n )}\n </a>\n </CommandItem>\n );\n })}\n </CommandGroup>\n {index < categories.length - 1 && (\n <CommandSeparator className=\"my-1\" />\n )}\n </Fragment>\n ))}\n {onLoadMore && hasMore && (\n <div\n aria-hidden=\"true\"\n className=\"h-px w-full\"\n data-testid=\"neeto-molecules-finder-modal-sentinel\"\n ref={setSentinelEl}\n />\n )}\n {isFetchingMore && (\n <div\n className=\"flex items-center justify-center py-3\"\n data-testid=\"neeto-molecules-finder-modal-loading-more\"\n >\n <Spinner size=\"small\" />\n </div>\n )}\n </CommandList>\n <ModalFooter {...{ enableAdvancedSearch }} />\n </Command>\n </CommandDialog>\n );\n};\n\nFinderModal.propTypes = {\n enableAdvancedSearch: PropTypes.bool,\n data: PropTypes.objectOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n url: PropTypes.string,\n body: PropTypes.string,\n name: PropTypes.string,\n })\n )\n ),\n isFetching: PropTypes.bool,\n isOpen: PropTypes.bool,\n searchTerm: PropTypes.string,\n setSearchTerm: PropTypes.func,\n onClose: PropTypes.func,\n onGoToAdvanced: PropTypes.func,\n onLoadMore: PropTypes.func,\n hasMore: PropTypes.bool,\n isFetchingMore: PropTypes.bool,\n};\n\nexport default FinderModal;\n"],"names":["ModalFooter","_ref","enableAdvancedSearch","_useTranslation","useTranslation","t","shortcuts","label","keys","isVisible","_jsx","ChevronUp","className","size","ChevronDown","children","filter","prop","map","_ref2","index","_jsxs","key","keyIndex","htmlToText","html","tmp","document","createElement","innerHTML","textContent","innerText","highlightMatch","text","searchTerm","regex","RegExp","concat","split","part","toLowerCase","filterAndHighlightContent","bodyContent","line","trim","includes","React","Fragment","toRelativePath","url","_URL","URL","pathname","search","navigateToItem","history","onClose","relativePath","currentPath","location","push","handleAnchorClick","event","isModified","metaKey","ctrlKey","shiftKey","button","stopPropagation","preventDefault","FinderModal","_ref2$enableAdvancedS","_ref2$data","data","isFetching","isOpen","_ref2$searchTerm","setSearchTerm","_ref2$onGoToAdvanced","onGoToAdvanced","noop","onLoadMore","_ref2$hasMore","hasMore","_ref2$isFetchingMore","isFetchingMore","props","_objectWithoutProperties","_excluded","useHistory","_useState","useState","_useState2","_slicedToArray","sentinelEl","setSentinelEl","onLoadMoreRef","useRef","categories","Object","isNotEmpty","isDataEmpty","isEmpty","handleOpenChange","open","useHotkeys","mode","enabled","useEffect","current","isPaginationEnabled","Boolean","undefined","root","closest","observer","IntersectionObserver","_ref3","_ref4","entry","isIntersecting","rootMargin","observe","disconnect","CommandDialog","_objectSpread","title","onOpenChange","Command","shouldFilter","CommandInput","placeholder","value","onValueChange","Spinner","type","onClick","CommandList","CommandEmpty","Empty","description","icon","Search","category","CommandGroup","heading","humanize","item","name","body","filteredBody","CommandItem","id","onSelect","href","length","CommandSeparator","ref"],"mappings":"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"}
@@ -164,6 +164,7 @@ var HotKey$1 = function HotKey(_ref3) {
164
164
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
165
165
  as: "span",
166
166
  className: "min-w-0 flex-grow break-words",
167
+ "data-testid": "hotkey-description",
167
168
  children: description
168
169
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
169
170
  className: "flex flex-shrink-0 items-center gap-1",
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcuts.js","sources":["../../../src/v2/components/KeyboardShortcuts/Pane/constants.js","../../../src/v2/components/KeyboardShortcuts/Pane/utils.js","../../../src/v2/components/KeyboardShortcuts/Pane/HotKey.jsx","../../../src/v2/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../../src/v2/components/KeyboardShortcuts/Pane/index.jsx","../../../src/v2/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"\\u2318\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"macOS\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"\\u2318\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport { toPairs } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isOSX = result.os.name?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"command+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n openProductSwitcher: {\n sequence: \"command+u\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, forwardRef, Fragment } from \"react\";\n\nimport { Kbd, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst KbdWithRef = forwardRef(({ children, ...props }, ref) => (\n <span {...{ ref, ...props }}>\n <Kbd>{children}</Kbd>\n </span>\n));\nKbdWithRef.displayName = \"KbdWithRef\";\n\nconst KbdKey = ({ keyName, tooltipProps }) => {\n if (tooltipProps) {\n return (\n <Tooltip content={tooltipProps.content} position=\"top\">\n <KbdWithRef>{keyName}</KbdWithRef>\n </Tooltip>\n );\n }\n\n return <Kbd>{keyName}</Kbd>;\n};\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-testid=\"hotkey-item\"\n >\n <Typography as=\"span\" className=\"min-w-0 flex-grow break-words\">\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <KbdKey\n {...{ keyName }}\n tooltipProps={getTooltipProps(keyName)}\n />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <KbdKey keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography className=\"uppercase\" variant=\"caption\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button asChild className=\"mb-3\" variant=\"link\">\n <a href={fullShortcutsLink} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\")}\n </a>\n </Button>\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = false;\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\n\n return (\n <div\n data-testid=\"keyboard-shortcuts-pane\"\n style={{ zIndex: \"var(--nv-pane-z-index, 100000)\" }}\n className={classnames(\n \"border-border bg-background transition-width ms-auto h-dvh shrink-0 grow-0 overflow-hidden border-l duration-300 ease-in-out rtl:border-r rtl:border-l-0\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"end-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"border-border my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography\n as=\"h4\"\n data-testid=\"keyboard-shortcuts-pane-title\"\n variant=\"h6\"\n >\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-testid=\"keyboard-shortcuts-pane-close-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_result$os$name","parser","UAParser","navigator","userAgent","result","getResult","isOSX","os","name","includes","shortenHotKey","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","getTooltipProps","key","position","content","followCursor","KbdWithRef","forwardRef","ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Kbd","displayName","KbdKey","tooltipProps","Tooltip","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","className","_jsxs","Typography","as","idx","Fragment","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","variant","weight","_ref3$","_createElement","Button","asChild","href","rel","target","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","mode","enabled","style","zIndex","classnames","absolute","icon","X","size","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcuts.js","sources":["../../../src/v2/components/KeyboardShortcuts/Pane/constants.js","../../../src/v2/components/KeyboardShortcuts/Pane/utils.js","../../../src/v2/components/KeyboardShortcuts/Pane/HotKey.jsx","../../../src/v2/components/KeyboardShortcuts/Pane/HotKeyList.jsx","../../../src/v2/components/KeyboardShortcuts/Pane/index.jsx","../../../src/v2/components/KeyboardShortcuts/index.js"],"sourcesContent":["export const KEY_SHORTFORM_MAP = {\n command: \"\\u2318\",\n escape: \"esc\",\n control: \"ctrl\",\n option: \"opt\",\n return: \"enter\",\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"macOS\", windows: \"Windows\" };\n\nexport const FULL_SHORTCUTS_LINK_PROP_NAME = \"fullShortcutsLink\";\n\nexport const TOOLTIP_CONTENT = {\n \"\\u2318\": \"command\",\n esc: \"escape\",\n ctrl: \"control\",\n opt: \"option\",\n backspace: \"delete\",\n};\n","import i18next from \"i18next\";\nimport { toPairs } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n KEY_SHORTFORM_MAP,\n MAC_TO_WINDOWS_KEYS_MAP,\n OS,\n TOOLTIP_CONTENT,\n} from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const parser = new UAParser(navigator.userAgent);\n const result = parser.getResult();\n const isOSX = result.os.name?.includes(OS.mac);\n if (isOSX) return hotkey;\n\n return convertHotKeyToWindows(hotkey);\n};\n\nexport const shortenHotKey = hotkey => {\n let result = hotkey;\n Object.entries(KEY_SHORTFORM_MAP).forEach(([longform, shortform]) => {\n result = result.replaceAll(longform, shortform);\n });\n\n return result;\n};\n\nexport const getGlobalShortcuts = () => ({\n [i18next.t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")]: {\n openKeyboardShortcutsPane: {\n sequence: \"command+/\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane\"\n ),\n },\n close: {\n sequence: \"esc\",\n description: i18next.t(\"neetoMolecules.keyboardShortcuts.global.close\"),\n },\n submitForm: {\n sequence: \"command+return\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.submitForm\"\n ),\n },\n openProductSwitcher: {\n sequence: \"command+u\",\n description: i18next.t(\n \"neetoMolecules.keyboardShortcuts.global.openProductSwitcher\"\n ),\n },\n },\n});\n\nexport const getTooltipProps = key => {\n if (TOOLTIP_CONTENT[key]) {\n return {\n position: \"top\",\n content: TOOLTIP_CONTENT[key],\n followCursor: \"horizontal\",\n };\n }\n\n return null;\n};\n","import { memo, forwardRef, Fragment } from \"react\";\n\nimport { Kbd, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\n\nimport {\n convertHotkeyToUsersPlatform,\n shortenHotKey,\n getTooltipProps,\n} from \"./utils\";\n\nconst KbdWithRef = forwardRef(({ children, ...props }, ref) => (\n <span {...{ ref, ...props }}>\n <Kbd>{children}</Kbd>\n </span>\n));\nKbdWithRef.displayName = \"KbdWithRef\";\n\nconst KbdKey = ({ keyName, tooltipProps }) => {\n if (tooltipProps) {\n return (\n <Tooltip content={tooltipProps.content} position=\"top\">\n <KbdWithRef>{keyName}</KbdWithRef>\n </Tooltip>\n );\n }\n\n return <Kbd>{keyName}</Kbd>;\n};\n\nconst HotKey = ({ description, sequence }) => {\n const hotkey = shortenHotKey(convertHotkeyToUsersPlatform(sequence));\n const isSequentialHotkey = hotkey.includes(\" \");\n const isSimultaneousHotkey = hotkey.includes(\"+\");\n const isSingleKeyHotkey = !isSequentialHotkey && !isSimultaneousHotkey;\n let sequences = [];\n\n if (isSingleKeyHotkey) {\n sequences = [hotkey];\n } else if (isSequentialHotkey) {\n sequences = hotkey.split(\" \");\n } else if (isSimultaneousHotkey) {\n sequences = hotkey.split(\"+\");\n }\n\n return (\n <div className=\"my-3 w-full\">\n <div\n className=\"flex items-center justify-between gap-3\"\n data-testid=\"hotkey-item\"\n >\n <Typography\n as=\"span\"\n className=\"min-w-0 flex-grow break-words\"\n data-testid=\"hotkey-description\"\n >\n {description}\n </Typography>\n <div className=\"flex flex-shrink-0 items-center gap-1\">\n {sequences.map((keyName, idx) => (\n <Fragment key={idx}>\n <KbdKey\n {...{ keyName }}\n tooltipProps={getTooltipProps(keyName)}\n />\n {isSequentialHotkey && idx + 1 !== sequences.length && (\n <KbdKey keyName=\"then\" />\n )}\n </Fragment>\n ))}\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(HotKey);\n","import { memo } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport { FULL_SHORTCUTS_LINK_PROP_NAME } from \"./constants\";\nimport HotKey from \"./HotKey\";\n\nconst HotKeyList = withT(({ t, hotkeys }) =>\n Object.keys(hotkeys).map(categoryName => {\n const categoryValues = hotkeys[categoryName];\n const fullShortcutsLink = categoryValues[FULL_SHORTCUTS_LINK_PROP_NAME];\n\n return (\n <div className=\"mt-4 px-4\" key={categoryName}>\n <Typography className=\"uppercase\" variant=\"caption\" weight=\"bold\">\n {categoryName}\n </Typography>\n {Object.entries(categoryValues).map(\n ([, { sequence, description }]) =>\n sequence && <HotKey {...{ description, sequence }} key={sequence} />\n )}\n {fullShortcutsLink && (\n <Button asChild className=\"mb-3\" variant=\"link\">\n <a href={fullShortcutsLink} rel=\"noreferrer\" target=\"_blank\">\n {t(\"neetoMolecules.keyboardShortcuts.viewFullListOfShortcuts\")}\n </a>\n </Button>\n )}\n </div>\n );\n })\n);\n\nexport default memo(HotKeyList);\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport useHotkeys from \"neetohotkeys\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HotKeyList from \"./HotKeyList\";\nimport { getGlobalShortcuts } from \"./utils\";\n\nimport useKeyboardShortcutsPaneState from \"../hooks/useKeyboardShortcutsPaneState\";\n\nconst KeyboardShortcutsPane = ({ productShortcuts = {} }) => {\n const [isOpen, setIsOpen] = useKeyboardShortcutsPaneState();\n const hasOverlays = false;\n // eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\n const GLOBAL_SHORTCUTS = getGlobalShortcuts();\n const { t } = useTranslation();\n\n const shortcuts =\n GLOBAL_SHORTCUTS[t(\"neetoMolecules.keyboardShortcuts.global.categoryName\")];\n\n useHotkeys(\n shortcuts.openKeyboardShortcutsPane.sequence,\n () => setIsOpen(prevIsOpen => !prevIsOpen),\n { mode: \"global\" }\n );\n\n useHotkeys(shortcuts.close.sequence, () => setIsOpen(false), {\n mode: \"global\",\n enabled: isOpen,\n });\n\n return (\n <div\n data-testid=\"keyboard-shortcuts-pane\"\n style={{ zIndex: \"var(--nv-pane-z-index, 100000)\" }}\n className={classnames(\n \"border-border bg-background transition-width ms-auto h-dvh shrink-0 grow-0 overflow-hidden border-l duration-300 ease-in-out rtl:border-r rtl:border-l-0\",\n {\n \"w-80\": isOpen,\n \"w-0\": !isOpen,\n absolute: hasOverlays,\n \"end-0\": hasOverlays,\n }\n )}\n >\n <div className=\"h-full w-80 overflow-y-auto\">\n <div className=\"border-border my-2 flex items-center justify-between border-b px-4 pb-2\">\n <Typography\n as=\"h4\"\n data-testid=\"keyboard-shortcuts-pane-title\"\n variant=\"h6\"\n >\n {t(\"neetoMolecules.keyboardShortcuts.title\")}\n </Typography>\n <Button\n data-testid=\"keyboard-shortcuts-pane-close-button\"\n icon={X}\n size=\"icon\"\n variant=\"ghost\"\n onClick={() => setIsOpen(false)}\n />\n </div>\n <HotKeyList hotkeys={GLOBAL_SHORTCUTS} />\n <HotKeyList hotkeys={productShortcuts} />\n </div>\n </div>\n );\n};\n\nKeyboardShortcutsPane.propTypes = {\n /**\n * Used to pass in the product specific keyboard shortcuts.\n */\n productShortcuts: PropTypes.object,\n};\n\nexport default KeyboardShortcutsPane;\n","import useKeyboardShortcutsPaneState from \"./hooks/useKeyboardShortcutsPaneState\";\nimport KeyboardShortcutsPane from \"./Pane\";\nimport { getGlobalShortcuts } from \"./Pane/utils\";\n\nconst KeyboardShortcuts = {\n Pane: KeyboardShortcutsPane,\n usePaneState: useKeyboardShortcutsPaneState,\n GLOBAL_SHORTCUTS: getGlobalShortcuts(),\n};\n\nexport default KeyboardShortcuts;\n"],"names":["KEY_SHORTFORM_MAP","command","escape","control","option","MAC_TO_WINDOWS_KEYS_MAP","OS","mac","FULL_SHORTCUTS_LINK_PROP_NAME","TOOLTIP_CONTENT","esc","ctrl","opt","backspace","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","toPairs","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_result$os$name","parser","UAParser","navigator","userAgent","result","getResult","isOSX","os","name","includes","shortenHotKey","Object","entries","_ref3","_ref4","longform","shortform","getGlobalShortcuts","_defineProperty","i18next","t","openKeyboardShortcutsPane","sequence","description","close","submitForm","openProductSwitcher","getTooltipProps","key","position","content","followCursor","KbdWithRef","forwardRef","ref","children","props","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Kbd","displayName","KbdKey","tooltipProps","Tooltip","HotKey","isSequentialHotkey","isSimultaneousHotkey","isSingleKeyHotkey","sequences","split","className","_jsxs","Typography","as","idx","Fragment","length","memo","HotKeyList","withT","hotkeys","keys","categoryName","categoryValues","fullShortcutsLink","variant","weight","_ref3$","_createElement","Button","asChild","href","rel","target","KeyboardShortcutsPane","_ref$productShortcuts","productShortcuts","_useKeyboardShortcuts","useKeyboardShortcutsPaneState","_useKeyboardShortcuts2","isOpen","setIsOpen","hasOverlays","GLOBAL_SHORTCUTS","_useTranslation","useTranslation","shortcuts","useHotkeys","prevIsOpen","mode","enabled","style","zIndex","classnames","absolute","icon","X","size","onClick","KeyboardShortcuts","Pane","usePaneState"],"mappings":"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"}
@@ -152,6 +152,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
152
152
  "aria-label": t("neetoMolecules.moreDropdown.buttonAriaLabel"),
153
153
  className: triggerClassName,
154
154
  "data-dropdown-button-style": "more-dropdown",
155
+ "data-testid": "nui-dropdown-icon",
155
156
  disabled: isDropdownDisabled,
156
157
  icon: TargetIcon,
157
158
  size: buttonSize
@@ -1 +1 @@
1
- {"version":3,"file":"MoreDropdown.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.mjs","../../../src/v2/components/MoreDropdown/constants.js","../../../src/v2/components/MoreDropdown/Submenu.jsx","../../../src/v2/components/MoreDropdown/MenuItem.jsx","../../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.mjs.map\n","const MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = { disabled: true, position: \"bottom\" };\n\nconst BUTTON_VARIANTS = [\n \"default\",\n \"secondary\",\n \"destructive\",\n \"destructive-soft\",\n \"outline\",\n \"ghost\",\n \"link\",\n];\n\nconst BUTTON_SIZES = [\n \"default\",\n \"xs\",\n \"sm\",\n \"lg\",\n \"icon\",\n \"icon-xs\",\n \"icon-sm\",\n \"icon-lg\",\n];\n\nconst DROPDOWN_POSITIONS = [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"top-start\",\n \"top-end\",\n \"bottom-start\",\n \"bottom-end\",\n \"left-start\",\n \"left-end\",\n \"right-start\",\n \"right-end\",\n \"auto\",\n];\n\nexport {\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n BUTTON_VARIANTS,\n BUTTON_SIZES,\n DROPDOWN_POSITIONS,\n};\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenu.SubMenu\n {...{ label }}\n triggerProps={{ \"aria-haspopup\": \"menu\" }}\n contentProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n }),\n }}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenu.SubMenu>\n));\n\nexport default Submenu;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenu.Divider role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenu.MenuItem {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZES,\n BUTTON_VARIANTS,\n DEFAULT_TOOLTIP_PROPS,\n DROPDOWN_POSITIONS,\n MENU_ITEM_TYPES,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n size: buttonSize = \"icon\",\n tooltipProps: customTooltipProps,\n variant = \"ghost\",\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const { className: contentClassName, ...restDropdownProps } = dropdownProps;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n const triggerClassName = classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n });\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip\n content={tooltipProps.content}\n position={tooltipProps.position || \"bottom\"}\n >\n <span>\n <Button\n {...{ variant }}\n disabled\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n }\n dropdownProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.menuAriaLabel\"),\n className: contentClassName,\n }}\n {...restDropdownProps}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n /**\n * Props forwarded to the trigger Button (atom). Accepts every Button prop;\n * the listed keys are the most relevant.\n */\n dropdownButtonProps: PropTypes.shape({\n variant: PropTypes.oneOf(BUTTON_VARIANTS),\n size: PropTypes.oneOf(BUTTON_SIZES),\n label: PropTypes.string,\n isRounded: PropTypes.bool,\n disabled: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n disabled: PropTypes.bool,\n }),\n }),\n /** Render `EllipsisVertical` instead of `Ellipsis` for the trigger icon. */\n isVertical: PropTypes.bool,\n /** Disable the entire dropdown (trigger + menu). */\n isDisabled: PropTypes.bool,\n /**\n * Props forwarded to the underlying atom `DropdownMenu`.\n */\n dropdownProps: PropTypes.shape({\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n closeOnEsc: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n }),\n /** Rendered above the dynamic `menuItems` inside the dropdown menu. */\n menuTopChildren: PropTypes.node,\n /** Rendered below the dynamic `menuItems` inside the dropdown menu. */\n menuBottomChildren: PropTypes.node,\n /**\n * Each entry accepts every `DropdownMenu.MenuItem` prop (`prefix`, `suffix`,\n * `variant`, `isDisabled`, `to`, `href`, …) plus the wrapper-only fields below.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n menuItems: PropTypes.array,\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["createLucideIcon","DEFAULT_TOOLTIP_PROPS","disabled","position","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsx","DropdownMenu","SubMenu","triggerProps","contentProps","children","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","Divider","role","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","_dropdownButtonProps$2","variant","buttonProps","mergeRight","TargetIcon","EllipsisVertical","Ellipsis","contentClassName","className","restDropdownProps","_excluded2","isDropdownDisabled","triggerClassName","classnames","Tooltip","content","Button","icon","_jsxs","customTarget","_excluded3"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"MoreDropdown.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/ellipsis-vertical.mjs","../../../src/v2/components/MoreDropdown/constants.js","../../../src/v2/components/MoreDropdown/Submenu.jsx","../../../src/v2/components/MoreDropdown/MenuItem.jsx","../../../src/v2/components/MoreDropdown/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"12\", cy: \"5\", r: \"1\", key: \"gxeob9\" }],\n [\"circle\", { cx: \"12\", cy: \"19\", r: \"1\", key: \"lyex9k\" }]\n];\nconst EllipsisVertical = createLucideIcon(\"ellipsis-vertical\", __iconNode);\n\nexport { __iconNode, EllipsisVertical as default };\n//# sourceMappingURL=ellipsis-vertical.mjs.map\n","const MENU_ITEM_TYPES = { menuItem: \"menuItem\", divider: \"divider\" };\n\nconst DEFAULT_TOOLTIP_PROPS = { disabled: true, position: \"bottom\" };\n\nconst BUTTON_VARIANTS = [\n \"default\",\n \"secondary\",\n \"destructive\",\n \"destructive-soft\",\n \"outline\",\n \"ghost\",\n \"link\",\n];\n\nconst BUTTON_SIZES = [\n \"default\",\n \"xs\",\n \"sm\",\n \"lg\",\n \"icon\",\n \"icon-xs\",\n \"icon-sm\",\n \"icon-lg\",\n];\n\nconst DROPDOWN_POSITIONS = [\n \"top\",\n \"right\",\n \"bottom\",\n \"left\",\n \"top-start\",\n \"top-end\",\n \"bottom-start\",\n \"bottom-end\",\n \"left-start\",\n \"left-end\",\n \"right-start\",\n \"right-end\",\n \"auto\",\n];\n\nexport {\n MENU_ITEM_TYPES,\n DEFAULT_TOOLTIP_PROPS,\n BUTTON_VARIANTS,\n BUTTON_SIZES,\n DROPDOWN_POSITIONS,\n};\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst Submenu = withT(({ t, label, menuItems = [] }) => (\n <DropdownMenu.SubMenu\n {...{ label }}\n triggerProps={{ \"aria-haspopup\": \"menu\" }}\n contentProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.submenuAriaLabel\", {\n label,\n }),\n }}\n >\n {menuItems.map(({ isVisible = true, key, ...itemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(itemProps.label || \"menu-item\")}\n {...itemProps}\n />\n );\n })}\n </DropdownMenu.SubMenu>\n));\n\nexport default Submenu;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nimport Submenu from \"./Submenu\";\n\nconst MenuItem = ({\n onClick,\n label,\n type = \"menuItem\",\n hasSubItems = false,\n menuItems,\n dropdownProps,\n ...menuItemProps\n}) => {\n if (type === \"divider\") return <DropdownMenu.Divider role=\"separator\" />;\n\n if (hasSubItems) {\n return (\n <Submenu {...{ dropdownProps, label, menuItems, ...menuItemProps }} />\n );\n }\n\n return (\n <DropdownMenu.MenuItem {...{ onClick }} role=\"menuitem\" {...menuItemProps}>\n {label}\n </DropdownMenu.MenuItem>\n );\n};\n\nexport default MenuItem;\n","import { Button, DropdownMenu, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Ellipsis, EllipsisVertical } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_SIZES,\n BUTTON_VARIANTS,\n DEFAULT_TOOLTIP_PROPS,\n DROPDOWN_POSITIONS,\n MENU_ITEM_TYPES,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const {\n isRounded: isRoundedButton,\n size: buttonSize = \"icon\",\n tooltipProps: customTooltipProps,\n variant = \"ghost\",\n ...buttonProps\n } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(DEFAULT_TOOLTIP_PROPS, customTooltipProps);\n\n const TargetIcon = isVertical ? EllipsisVertical : Ellipsis;\n\n const { className: contentClassName, ...restDropdownProps } = dropdownProps;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n\n const triggerClassName = classnames(\"shrink-0\", {\n \"rounded-full\": isRoundedButton,\n });\n\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip\n content={tooltipProps.content}\n position={tooltipProps.position || \"bottom\"}\n >\n <span>\n <Button\n {...{ variant }}\n disabled\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"more-dropdown-button\"\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <DropdownMenu\n customTarget={\n <Button\n {...{ variant }}\n aria-haspopup=\"menu\"\n aria-label={t(\"neetoMolecules.moreDropdown.buttonAriaLabel\")}\n className={triggerClassName}\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-icon\"\n disabled={isDropdownDisabled}\n icon={TargetIcon}\n size={buttonSize}\n {...buttonProps}\n />\n }\n dropdownProps={{\n \"aria-label\": t(\"neetoMolecules.moreDropdown.menuAriaLabel\"),\n className: contentClassName,\n }}\n {...restDropdownProps}\n >\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label || \"menu-item\")}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </DropdownMenu>\n );\n};\n\nMoreDropdown.propTypes = {\n /**\n * Props forwarded to the trigger Button (atom). Accepts every Button prop;\n * the listed keys are the most relevant.\n */\n dropdownButtonProps: PropTypes.shape({\n variant: PropTypes.oneOf(BUTTON_VARIANTS),\n size: PropTypes.oneOf(BUTTON_SIZES),\n label: PropTypes.string,\n isRounded: PropTypes.bool,\n disabled: PropTypes.bool,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n disabled: PropTypes.bool,\n }),\n }),\n /** Render `EllipsisVertical` instead of `Ellipsis` for the trigger icon. */\n isVertical: PropTypes.bool,\n /** Disable the entire dropdown (trigger + menu). */\n isDisabled: PropTypes.bool,\n /**\n * Props forwarded to the underlying atom `DropdownMenu`.\n */\n dropdownProps: PropTypes.shape({\n position: PropTypes.oneOf(DROPDOWN_POSITIONS),\n closeOnEsc: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n isOpen: PropTypes.bool,\n onClose: PropTypes.func,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n }),\n /** Rendered above the dynamic `menuItems` inside the dropdown menu. */\n menuTopChildren: PropTypes.node,\n /** Rendered below the dynamic `menuItems` inside the dropdown menu. */\n menuBottomChildren: PropTypes.node,\n /**\n * Each entry accepts every `DropdownMenu.MenuItem` prop (`prefix`, `suffix`,\n * `variant`, `isDisabled`, `to`, `href`, …) plus the wrapper-only fields below.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n menuItems: PropTypes.array,\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["createLucideIcon","DEFAULT_TOOLTIP_PROPS","disabled","position","Submenu","withT","_ref","t","label","_ref$menuItems","menuItems","_jsx","DropdownMenu","SubMenu","triggerProps","contentProps","children","map","_ref2","_ref2$isVisible","isVisible","key","itemProps","_objectWithoutProperties","_excluded","MenuItem","_objectSpread","hyphenate","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","dropdownProps","menuItemProps","Divider","role","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_useTranslation","useTranslation","isRoundedButton","isRounded","_dropdownButtonProps$","size","buttonSize","customTooltipProps","tooltipProps","_dropdownButtonProps$2","variant","buttonProps","mergeRight","TargetIcon","EllipsisVertical","Ellipsis","contentClassName","className","restDropdownProps","_excluded2","isDropdownDisabled","triggerClassName","classnames","Tooltip","content","Button","icon","_jsxs","customTarget","_excluded3"],"mappings":"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","x_google_ignoreList":[0]}
@@ -656,6 +656,9 @@ var Inline$1 = function Inline(_ref) {
656
656
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Input, {
657
657
  "data-testid": "inline-element-id-input-field",
658
658
  label: t("neetoMolecules.productEmbed.inline.elementId"),
659
+ labelProps: {
660
+ "data-testid": "inline-element-id-input-label"
661
+ },
659
662
  value: elementSelector,
660
663
  error: !elementSelector && t("neetoMolecules.productEmbed.inline.elementIdError"),
661
664
  onChange: function onChange(e) {