@bigbinary/neeto-molecules 5.1.4 → 5.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ConfigureView-CG1M2-3b.js → ConfigureView-CohhUNxy.js} +7 -4
- package/dist/ConfigureView-CohhUNxy.js.map +1 -0
- package/dist/InlineInput.js +1 -0
- package/dist/InlineInput.js.map +1 -1
- package/dist/cjs/{ConfigureView-BVRHqVpb.js → ConfigureView-CCjMYBjp.js} +7 -4
- package/dist/cjs/ConfigureView-CCjMYBjp.js.map +1 -0
- package/dist/cjs/InlineInput.js +1 -0
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/v2/ConfigurePageSidebar.js +7 -3
- package/dist/cjs/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +8 -1
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/InlineInput.js +4 -3
- package/dist/cjs/v2/InlineInput.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +1 -1
- package/dist/v2/ConfigurePageSidebar.js +7 -3
- package/dist/v2/ConfigurePageSidebar.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +8 -1
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/InlineInput.js +4 -3
- package/dist/v2/InlineInput.js.map +1 -1
- package/dist/v2/Sidebar.js +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +2 -1
- package/dist/ConfigureView-CG1M2-3b.js.map +0 -1
- package/dist/cjs/ConfigureView-BVRHqVpb.js.map +0 -1
|
@@ -126,9 +126,9 @@ var SubLinkItem = function SubLinkItem(_ref) {
|
|
|
126
126
|
return /*#__PURE__*/jsx(SidebarMenuSubItem, {
|
|
127
127
|
children: /*#__PURE__*/jsx(SidebarMenuSubButton, {
|
|
128
128
|
asChild: true,
|
|
129
|
+
className: classnames("py-1.5", className),
|
|
129
130
|
isActive: isSubLinkActive(),
|
|
130
131
|
size: "md",
|
|
131
|
-
className: classnames("h-auto overflow-visible py-1.5 whitespace-normal", className),
|
|
132
132
|
children: /*#__PURE__*/jsxs(CheckPointNavLinks, {
|
|
133
133
|
href: href,
|
|
134
134
|
onClick: onClick,
|
|
@@ -137,9 +137,12 @@ var SubLinkItem = function SubLinkItem(_ref) {
|
|
|
137
137
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link"),
|
|
138
138
|
isActive: isSubLinkActive,
|
|
139
139
|
children: [/*#__PURE__*/jsxs("span", {
|
|
140
|
-
className: "flex flex-grow items-center gap-2",
|
|
140
|
+
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
141
141
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link-label"),
|
|
142
|
-
children: [
|
|
142
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
143
|
+
className: "truncate",
|
|
144
|
+
children: label
|
|
145
|
+
}), tag && /*#__PURE__*/jsx(Badge, _objectSpread$1({}, tag))]
|
|
143
146
|
}), /*#__PURE__*/jsx("span", {
|
|
144
147
|
className: "text-sidebar-foreground/70 flex-shrink-0 text-xs",
|
|
145
148
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link-count"),
|
|
@@ -221,4 +224,4 @@ var ConfigureView = function ConfigureView(_ref) {
|
|
|
221
224
|
};
|
|
222
225
|
|
|
223
226
|
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 };
|
|
224
|
-
//# sourceMappingURL=ConfigureView-
|
|
227
|
+
//# sourceMappingURL=ConfigureView-CohhUNxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigureView-CohhUNxy.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 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>\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 <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 />\n <span>{label}</span>\n </SidebarMenuButton>\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","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":";;;;;;;;;;;;;;;;;;;AAGA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAMlB;AAAA,EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;AACLC,IAAAA,MAAM,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,WAAA,CAAA;AAET,EAAA,IAAAC,qBAAA,GACEC,wBAAwB,CAACR,aAAa,CAAC;IADhBS,UAAU,GAAAF,qBAAA,CAA1BP,aAAa,CAAA;AAGtB,EAAA,IAAMU,WAAW,GAAGR,IAAI,GAAG,GAAG,GAAGS,OAAO;AACxC,EAAA,IAAMC,SAAS,GAAGV,IAAI,GAAAW,eAAA,CAAA;AAChBX,IAAAA,IAAI,EAAJA,IAAI;AAAEY,IAAAA,GAAG,EAAEZ;GAAI,EAAKE,MAAM,IAAAS,eAAA,CAAA;IAC1BZ,EAAE,EAAEQ,UAAU,IAAIR,EAAE;AAAEa,IAAAA,GAAG,EAAEb;AAAE,GAAA,EAAKG,MAAM,CAAE;EAEhD,oBAAOW,GAAA,CAACL,WAAW,EAAAG,eAAA,CAAAA,eAAA,KAAKD,SAAS,CAAA,EAAA,EAAA,EAAA;AAAAT,IAAAA,QAAA,EAAGA;AAAQ,GAAA,CAAc,CAAC;AAC7D;;ACnBO,IAAMa,cAAc,GAAG;AAC5BC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAMC,mCAAmC,GAAG;AAE5C,IAAMC,iBAAiB,GAAG;AAE1B,IAAMC,iBAAiB,GAAG;AAC1B,IAAMC,iBAAiB,GAAG,IAAI,GAAG;AACjC,IAAMC,iBAAiB,GAAG,EAAE,GAAG;AAC/B,IAAMC,qBAAqB,GAAG,EAAE,GAAG;AAEnC,IAAMC,yBAAyB,GAAG;AAElC,IAAMC,iBAAiB,GAAG;AAAEC,EAAAA,QAAQ,EAAE;AAAW;;ACbjD,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,QAAQ,EAAEC,QAAQ,EAAK;EACtD,IAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAC/BF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACK,IAAI,EACnDC,MAAM,CAACN,QAAQ,CAACO,MAClB,CAAC;AACD,EAAA,IAAMC,SAAS,GAAG,IAAIN,GAAG,CAACH,QAAQ,EAAEO,MAAM,CAACN,QAAQ,CAACO,MAAM,CAAC;AAE3D,EAAA,IAAME,kBAAkB,GAAGD,SAAS,CAACE,YAAY;EACjD,IAAMC,gBAAgB,GAAGC,KAAK,CAACC,IAAI,CAACJ,kBAAkB,CAACK,IAAI,EAAE,CAAC;EAE9D,OACEC,GAAG,CACD,UAAA/B,GAAG,EAAA;AAAA,IAAA,OACDiB,iBAAiB,CAACS,YAAY,CAACM,GAAG,CAAChC,GAAG,CAAC,KAAKyB,kBAAkB,CAACO,GAAG,CAAChC,GAAG,CAAC;AAAA,EAAA,CAAA,EACzE2B,gBACF,CAAC,IAAIM,MAAM,CAAChB,iBAAiB,CAACE,QAAQ,EAAEK,SAAS,CAACL,QAAQ,CAAC;AAE/D,CAAC;IAEYe,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAAS;EAAA,IAAAC,iBAAA,EAAAC,kBAAA;EAClD,IAAMC,IAAI,GAAG,CAAA,CAAAF,iBAAA,GAAAG,WAAW,CAACD,IAAI,MAAA,IAAA,IAAAF,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBI,KAAK,MAAA,CAAAH,kBAAA,GAAIE,WAAW,CAACD,IAAI,MAAA,IAAA,IAAAD,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,kBAAA,CAAkBI,WAAW,CAAA;EAErE,OAAA,eAAA,CAAAC,MAAA,CAAuBJ,IAAI,CAAA;AAC7B;IAEaK,mBAAmB,GAAGC,KAAK,CAAC,UAAA1D,IAAA,EAAqB;AAAA,EAAA,IAAlB2D,WAAW,GAAA3D,IAAA,CAAX2D,WAAW;AACrD,EAAA,IAAIA,WAAW,IAAIC,UAAU,CAACD,WAAW,CAAC,EAAE;AAC1C,IAAA,OAAOE,EAAE,CAAClB,KAAK,EAAEgB,WAAW,CAAC,GACzBA,WAAW,CAACG,IAAI,CAACC,QAAQ,CAACC,EAAE,EAAEX,WAAW,CAACM,WAAW,CAAC,CAAC,GACvDN,WAAW,CAACM,WAAW,CAACI,QAAQ,CAACJ,WAAW,CAAC;AACnD,EAAA;AAEA,EAAA,OAAO,IAAI;AACb,CAAC;IAEYM,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEpC,QAAQ,GAAAmC,KAAA,CAARnC,QAAQ;AAAA,EAAA,OAC7DoC,QAAQ,CAACC,IAAI,CAAC,UAAAC,IAAI,EAAI;AAAA,IAAA,IAAAC,QAAA;AACpB,IAAA,IAAAC,KAAA,GAAuB,CAAA,CAAAD,QAAA,GAAAD,IAAI,CAACnE,EAAE,MAAA,IAAA,IAAAoE,QAAA,KAAA,MAAA,GAAA,MAAA,GAAPA,QAAA,CAASE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE;MAAAC,KAAA,GAAAC,cAAA,CAAAH,KAAA,EAAA,CAAA,CAAA;AAAzCI,MAAAA,YAAY,GAAAF,KAAA,CAAA,CAAA,CAAA;AAEnB,IAAA,OACEG,SAAS,CAACP,IAAI,CAACQ,kBAAkB,CAAC,IAClCR,IAAI,CAACQ,kBAAkB,IACvB9C,QAAQ,CAACG,QAAQ,CAAC4C,UAAU,CAACH,YAAY,CAAC;AAE9C,EAAA,CAAC,CAAC;AAAA;;;;AC/BJ,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAA/E,IAAA,EAgBX;AAAA,EAAA,IAfJE,EAAE,GAAAF,IAAA,CAAFE,EAAE;IACFC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJ6E,OAAO,GAAAhF,IAAA,CAAPgF,OAAO;IACPC,KAAK,GAAAjF,IAAA,CAALiF,KAAK;IACLC,SAAS,GAAAlF,IAAA,CAATkF,SAAS;IAAAC,SAAA,GAAAnF,IAAA,CACToF,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAGlE,cAAc,CAACC,WAAW,GAAAiE,SAAA;IACjCE,KAAK,GAAArF,IAAA,CAALqF,KAAK;IACLC,eAAe,GAAAtF,IAAA,CAAfsF,eAAe;IACfC,eAAe,GAAAvF,IAAA,CAAfuF,eAAe;IACAC,UAAU,GAAAxF,IAAA,CAAzB,aAAa,CAAA;IAAAyF,WAAA,GAAAzF,IAAA,CACb0F,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAE,YAAA,GAAA3F,IAAA,CACX4F,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IACZE,OAAO,GAAA7F,IAAA,CAAP6F,OAAO;IACPC,QAAQ,GAAA9F,IAAA,CAAR8F,QAAQ;IACRC,GAAG,GAAA/F,IAAA,CAAH+F,GAAG;AAEH,EAAA,IAAMhE,QAAQ,GAAGiE,WAAW,EAAE;AAE9B,EAAA,IAAIZ,IAAI,KAAKnE,cAAc,CAACE,QAAQ,EAAE;IACpC,oBAAOH,GAAA,CAACiF,QAAQ,EAAA;AAAOJ,MAAAA,OAAO,EAAPA,OAAO;AAAED,MAAAA,OAAO,EAAPA,OAAO;AAAEF,MAAAA,MAAM,EAANA,MAAM;AAAIQ,MAAAA,aAAa,EAAE;AAAM,KAAE,CAAC;AAC7E,EAAA;AAEA,EAAA,IAAMC,gBAAgB,GAAGX,UAAU,IAAIY,SAAS,CAACnB,KAAK,CAAC;AAEvD,EAAA,IAAMoB,WAAW,GAAG,SAAdA,WAAWA,CAAGhB,KAAK,EAAA;AAAA,IAAA,OAAKA,KAAK,GAAG,GAAG,GAAG,MAAM,GAAGA,KAAK;EAAA,CAAC;AAE3D,EAAA,IAAMiB,eAAe,GAAG,SAAlBA,eAAeA,GAAA;IAAA,OACnB,CAAChB,eAAe,KACfzB,EAAE,CAAC0C,QAAQ,EAAET,QAAQ,CAAC,GAAGA,QAAQ,EAAE,GAAGjE,gBAAgB,CAAC3B,EAAE,EAAE6B,QAAQ,CAAC,CAAC;AAAA,EAAA,CAAA;EAExE,oBACEf,GAAA,CAACwF,kBAAkB,EAAA;IAAApG,QAAA,eACjBY,GAAA,CAACyF,oBAAoB,EAAA;MACnBC,OAAO,EAAA,IAAA;AACPxB,MAAAA,SAAS,EAAEyB,UAAU,CAAC,QAAQ,EAAEzB,SAAS,CAAE;MAC3CY,QAAQ,EAAEQ,eAAe,EAAG;AAC5BM,MAAAA,IAAI,EAAC,IAAI;MAAAxG,QAAA,eAETyG,IAAA,CAAC9G,kBAAkB,EAAA;AACXI,QAAAA,IAAI,EAAJA,IAAI;AAAE6E,QAAAA,OAAO,EAAPA,OAAO;AAAE9E,QAAAA,EAAE,EAAFA,EAAE;AACvB4G,QAAAA,eAAe,EAAC,QAAQ;QACxB,aAAA,EAAA,EAAA,CAAAtD,MAAA,CAAgB2C,gBAAgB,EAAA,WAAA,CAAY;AAC5CL,QAAAA,QAAQ,EAAEQ,eAAgB;AAAAlG,QAAAA,QAAA,gBAE1ByG,IAAA,CAAA,MAAA,EAAA;AACE3B,UAAAA,SAAS,EAAC,2CAA2C;UACrD,aAAA,EAAA,EAAA,CAAA1B,MAAA,CAAgB2C,gBAAgB,EAAA,iBAAA,CAAkB;AAAA/F,UAAAA,QAAA,gBAElDY,GAAA,CAAA,MAAA,EAAA;AAAMkE,YAAAA,SAAS,EAAC,UAAU;AAAA9E,YAAAA,QAAA,EAAE6E;AAAK,WAAO,CAAC,EACxCc,GAAG,iBAAI/E,GAAA,CAAC+F,KAAK,EAAAjG,eAAA,CAAA,EAAA,EAAKiF,GAAG,CAAG,CAAC;SACtB,CAAC,eACP/E,GAAA,CAAA,MAAA,EAAA;AACEkE,UAAAA,SAAS,EAAC,kDAAkD;UAC5D,aAAA,EAAA,EAAA,CAAA1B,MAAA,CAAgB2C,gBAAgB,EAAA,iBAAA,CAAkB;UAAA/F,QAAA,EAEjDmF,eAAe,gBACdvE,GAAA,CAAA,KAAA,EAAA;AAAKkE,YAAAA,SAAS,EAAC;AAAiD,WAAE,CAAC,GAEnEmB,WAAW,CAAChB,KAAK;AAClB,SACG,CAAC;OACW;KACA;AAAC,GACL,CAAC;AAEzB;;;;;AC9DA,IAAM2B,aAAa,GAAG,SAAhBA,aAAaA,CAAAhH,IAAA,EAIb;AAAA,EAAA,IAAAiH,YAAA,GAAAjH,IAAA,CAHJkH,OAAO;IAAPA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG;AAAEhC,MAAAA,KAAK,EAAE,EAAE;AAAEkC,MAAAA,KAAK,EAAE,EAAE;AAAEtC,MAAAA,kBAAkB,EAAE;AAAM,KAAC,GAAAoC,YAAA;IAC7DG,YAAY,GAAApH,IAAA,CAAZoH,YAAY;IAC2BpH,IAAA,CAAvCqH;AAEA,EAAA,IAAQpC,KAAK,GAA2BiC,OAAO,CAAvCjC,KAAK;IAAEkC,KAAK,GAAoBD,OAAO,CAAhCC,KAAK;AAAKG,IAAAA,UAAU,GAAAhH,wBAAA,CAAK4G,OAAO,EAAA3G,SAAA,CAAA;AAE/C,EAAA,IAAMgH,WAAW,GAAG,SAAdA,WAAWA,CAAGC,QAAQ,EAAA;IAAA,oBAC1BxG,GAAA,CAACyG,WAAW,EAAA;AAACvC,MAAAA,SAAS,EAAC,OAAO;AAAA9E,MAAAA,QAAA,EAC3BoH,QAAQ,CAACE,MAAM,CAACjE,mBAAmB,CAAC,CAACkE,GAAG,CAAC,UAACC,OAAO,EAAEC,QAAQ,EAAA;QAAA,IAAAC,WAAA,EAAAC,YAAA;QAAA,oBAC1D/G,GAAA,CAACgH,QAAQ,EAAA;UAAA5H,QAAA,EACNwE,SAAS,CAACgD,OAAO,CAACT,KAAK,CAAC,gBACvBN,IAAA,CAACoB,eAAe,EAAA;YAAA7H,QAAA,EAAA,cACdY,GAAA,CAACkH,iBAAiB,EAAA;cAACxB,OAAO,EAAA,IAAA;AAACxB,cAAAA,SAAS,EAAC,aAAa;cAAA9E,QAAA,eAChDY,GAAA,CAACjB,kBAAkB,EAAA;gBACjBI,IAAI,EAAEyH,OAAO,CAACzH,IAAK;AACnBD,gBAAAA,EAAE,EAAA,CAAA4H,WAAA,GAAEF,OAAO,CAAC1H,EAAE,MAAA,IAAA,IAAA4H,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAIF,OAAO,CAACO,IAAK;gBAC/BnD,OAAO,EAAE4C,OAAO,CAAC5C,OAAQ;gBAAA5E,QAAA,EAExBwH,OAAO,CAAC3C;eACS;AAAC,aACJ,CAAC,eACpBjE,GAAA,CAACoH,cAAc,EAAA;AAAAhI,cAAAA,QAAA,EACZwH,OAAO,CAACT,KAAK,CACXO,MAAM,CAACjE,mBAAmB,CAAC,CAC3BkE,GAAG,CAAC,UAACU,UAAU,EAAEC,WAAW,EAAA;AAAA,gBAAA,IAAAC,cAAA;gBAAA,oBAC3BvH,GAAA,CAAC+D,WAAW,EAAAjE,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA,EAAA,EAEDuH,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;kBACnBlI,IAAI,EAAEkI,UAAU,CAAClI,IAAK;kBACtB2F,QAAQ,EAAEuC,UAAU,CAACvC,QAAS;AAC9B5F,kBAAAA,EAAE,EAAA,CAAAqI,cAAA,GAAEF,UAAU,CAACnI,EAAE,MAAA,IAAA,IAAAqI,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAIF,UAAU,CAACF,IAAK;kBACrCnD,OAAO,EAAEqD,UAAU,CAACrD;AAAQ,iBAAA,CAAA,EALvBsD,WAMN,CAAC;cAAA,CACH;AAAC,aACU,CAAC;AAAA,WACF,CAAC,gBAElBtH,GAAA,CAAC+D,WAAW,EAAAjE,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA,EAAA,EACD8G,OAAO,CAAA,CAAA,EAAA,EAAA,EAAA;YAChBzH,IAAI,EAAEyH,OAAO,CAACzH,IAAK;YACnB2F,QAAQ,EAAE8B,OAAO,CAAC9B,QAAS;AAC3B5F,YAAAA,EAAE,EAAA,CAAA6H,YAAA,GAAEH,OAAO,CAAC1H,EAAE,MAAA,IAAA,IAAA6H,YAAA,KAAA,MAAA,GAAAA,YAAA,GAAIH,OAAO,CAACO,IAAK;YAC/BnD,OAAO,EAAE4C,OAAO,CAAC5C;WAAQ,CAC1B;AACF,SAAA,EAnCY6C,QAoCL,CAAC;MAAA,CACZ;AAAC,KACS,CAAC;EAAA,CACf;EAED,oBACEhB,IAAA,CAAC2B,YAAY,EAAA;AAAC,IAAA,aAAA,EAAY,yBAAyB;AAAApI,IAAAA,QAAA,gBACjDyG,IAAA,CAACqB,iBAAiB,EAAApH,aAAA,CAAAA,aAAA,CAAA;AAChBoE,MAAAA,SAAS,EAAC,6CAA6C;AACvD,MAAA,aAAA,EAAA,EAAA,CAAA1B,MAAA,CAAgBiF,SAAS,CAACxD,KAAK,CAAC,EAAA,iBAAA,CAAkB;AAClDD,MAAAA,OAAO,EAAEoC;KAAa,EAAAtG,aAAA,CAAA,EAAA,EACb4H,IAAI,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAEpB,UAAU,CAAC,CAAA,CAAA,EAAA,EAAA,EAAA;AAAAlH,MAAAA,QAAA,gBAEzDY,GAAA,CAAC2H,WAAW,EAAA,EAAE,CAAC,eACf3H,GAAA,CAAA,MAAA,EAAA;AAAAZ,QAAAA,QAAA,EAAO6E;AAAK,OAAO,CAAC;AAAA,KAAA,CACH,CAAC,eACpBjE,GAAA,CAAC4H,mBAAmB,EAAA;AAAAxI,MAAAA,QAAA,EAAE+G,KAAK,IAAII,WAAW,CAACJ,KAAK;AAAC,KAAsB,CAAC;AAAA,GAC5D,CAAC;AAEnB;;;;"}
|
package/dist/InlineInput.js
CHANGED
|
@@ -154,6 +154,7 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
154
154
|
ref: inputWrapperRef,
|
|
155
155
|
children: /*#__PURE__*/jsx(Input, _objectSpread$1(_objectSpread$1({
|
|
156
156
|
size: size,
|
|
157
|
+
autoFocus: true,
|
|
157
158
|
disableTrimOnBlur: true,
|
|
158
159
|
"aria-label": t("neetoMolecules.inlineInput.editableField"),
|
|
159
160
|
className: "neeto-molecules-autosave-input",
|
package/dist/InlineInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","_inputRef$current","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n autoFocus\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","_inputRef$current","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","autoFocus","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
@@ -128,9 +128,9 @@ var SubLinkItem = function SubLinkItem(_ref) {
|
|
|
128
128
|
return /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuSubItem, {
|
|
129
129
|
children: /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarMenuSubButton, {
|
|
130
130
|
asChild: true,
|
|
131
|
+
className: classnames("py-1.5", className),
|
|
131
132
|
isActive: isSubLinkActive(),
|
|
132
133
|
size: "md",
|
|
133
|
-
className: classnames("h-auto overflow-visible py-1.5 whitespace-normal", className),
|
|
134
134
|
children: /*#__PURE__*/jsxRuntime.jsxs(CheckPointNavLinks, {
|
|
135
135
|
href: href,
|
|
136
136
|
onClick: onClick,
|
|
@@ -139,9 +139,12 @@ var SubLinkItem = function SubLinkItem(_ref) {
|
|
|
139
139
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link"),
|
|
140
140
|
isActive: isSubLinkActive,
|
|
141
141
|
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
142
|
-
className: "flex flex-grow items-center gap-2",
|
|
142
|
+
className: "flex min-w-0 flex-grow items-center gap-2",
|
|
143
143
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link-label"),
|
|
144
|
-
children: [
|
|
144
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
145
|
+
className: "truncate",
|
|
146
|
+
children: label
|
|
147
|
+
}), tag && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, _objectSpread$1({}, tag))]
|
|
145
148
|
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
146
149
|
className: "text-sidebar-foreground/70 flex-shrink-0 text-xs",
|
|
147
150
|
"data-testid": "".concat(dataTestidPrefix, "-sub-link-count"),
|
|
@@ -236,4 +239,4 @@ exports.SubLinkItem = SubLinkItem;
|
|
|
236
239
|
exports.filterByPermissions = filterByPermissions;
|
|
237
240
|
exports.getActiveConfigurePageLink = getActiveConfigurePageLink;
|
|
238
241
|
exports.getSidebarStateLocalStorageKey = getSidebarStateLocalStorageKey;
|
|
239
|
-
//# sourceMappingURL=ConfigureView-
|
|
242
|
+
//# sourceMappingURL=ConfigureView-CCjMYBjp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigureView-CCjMYBjp.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 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>\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 <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 />\n <span>{label}</span>\n </SidebarMenuButton>\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","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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"}
|
package/dist/cjs/InlineInput.js
CHANGED
|
@@ -156,6 +156,7 @@ var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
156
156
|
ref: inputWrapperRef,
|
|
157
157
|
children: /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$1(_objectSpread$1({
|
|
158
158
|
size: size,
|
|
159
|
+
autoFocus: true,
|
|
159
160
|
disableTrimOnBlur: true,
|
|
160
161
|
"aria-label": t("neetoMolecules.inlineInput.editableField"),
|
|
161
162
|
className: "neeto-molecules-autosave-input",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","_inputRef$current","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const wasSubmittingRef = useRef(isSubmitting);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => {\n if (wasSubmittingRef.current && !isSubmitting) {\n inputRef.current?.focus();\n }\n wasSubmittingRef.current = isSubmitting;\n }, [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n autoFocus\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","wasSubmittingRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","_inputRef$current","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","autoFocus","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var primitives = require('@bigbinary/neeto-atoms/primitives');
|
|
6
|
+
var classnames = require('classnames');
|
|
6
7
|
var reactRouterDom = require('react-router-dom');
|
|
7
|
-
var ConfigureView = require('../ConfigureView-
|
|
8
|
+
var ConfigureView = require('../ConfigureView-CCjMYBjp.js');
|
|
8
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
10
|
require('@babel/runtime/helpers/defineProperty');
|
|
10
11
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -13,7 +14,6 @@ require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
|
13
14
|
require('ramda');
|
|
14
15
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/useRegisterNavigationCheckpoint');
|
|
15
16
|
require('@bigbinary/neeto-atoms');
|
|
16
|
-
require('classnames');
|
|
17
17
|
require('@bigbinary/neeto-filters-frontend/v2/Segments');
|
|
18
18
|
require('../chevron-left-DWN80ILn.js');
|
|
19
19
|
require('../createLucideIcon-DBDhE7kE.js');
|
|
@@ -49,7 +49,11 @@ var ConfigurePageSidebar = function ConfigurePageSidebar(_ref) {
|
|
|
49
49
|
}
|
|
50
50
|
})
|
|
51
51
|
})
|
|
52
|
-
}), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
52
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.SidebarTrigger, {
|
|
53
|
+
className: classnames({
|
|
54
|
+
"bg-background hover:bg-accent size-9 rounded-full border shadow-sm": isSidebarCollapsed
|
|
55
|
+
})
|
|
56
|
+
})]
|
|
53
57
|
});
|
|
54
58
|
};
|
|
55
59
|
|
|
@@ -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 PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\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 className=\"!w-auto\"\n open={!isSidebarCollapsed}\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 isConfigureSidebar\n handleGoBack={handleConfigureLinkClick}\n navLink={{ label, items }}\n />\n </SidebarContent>\n </Sidebar>\n <SidebarTrigger />\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};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","className","open","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger"],"mappings":";;;;;;;;;;;;;;;;;;;;
|
|
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 ConfigureView from \"./Sidebar/Components/ConfigureView\";\n\nconst ConfigurePageSidebar = ({\n label,\n navLinks: items,\n configurePageRoute,\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 className=\"!w-auto\"\n open={!isSidebarCollapsed}\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 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};\n\nexport default ConfigurePageSidebar;\n"],"names":["ConfigurePageSidebar","_ref","label","items","navLinks","configurePageRoute","history","useHistory","_useState","useState","_useState2","_slicedToArray","isSidebarCollapsed","setIsSidebarCollapsed","handleConfigureLinkClick","push","_jsxs","SidebarProvider","className","open","onOpenChange","children","_jsx","Sidebar","collapsible","side","document","documentElement","dir","SidebarContent","ConfigureView","isConfigureSidebar","handleGoBack","navLink","SidebarTrigger","classnames"],"mappings":";;;;;;;;;;;;;;;;;;;;AAcA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAIpB;AAAA,EAAA,IAHJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACKC,KAAK,GAAAF,IAAA,CAAfG,QAAQ;IACRC,kBAAkB,GAAAJ,IAAA,CAAlBI,kBAAkB;AAElB,EAAA,IAAMC,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,CAACV,kBAAkB,CAAC;EAClC,CAAC;EAED,oBACEW,eAAA,CAACC,0BAAe,EAAA;AACdC,IAAAA,SAAS,EAAC,SAAS;IACnBC,IAAI,EAAE,CAACP,kBAAmB;AAC1BQ,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAED,IAAI,EAAA;AAAA,MAAA,OAAIN,qBAAqB,CAAC,CAACM,IAAI,CAAC;IAAA,CAAC;IAAAE,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;UACZC,kBAAkB,EAAA,IAAA;AAClBC,UAAAA,YAAY,EAAElB,wBAAyB;AACvCmB,UAAAA,OAAO,EAAE;AAAE/B,YAAAA,KAAK,EAALA,KAAK;AAAEC,YAAAA,KAAK,EAALA;AAAM;SACzB;OACa;AAAC,KACV,CAAC,eACVmB,cAAA,CAACY,yBAAc,EAAA;MACbhB,SAAS,EAAEiB,UAAU,CAAC;AACpB,QAAA,oEAAoE,EAClEvB;OACH;AAAE,KACJ,CAAC;AAAA,GACa,CAAC;AAEtB;;;;"}
|
|
@@ -535,6 +535,7 @@ var Modal = reactUtils.withT(function (_ref) {
|
|
|
535
535
|
});
|
|
536
536
|
|
|
537
537
|
var MY_ORGANIZATION_URL = "/auth/organization/edit";
|
|
538
|
+
var BILLING_URL = "/auth/admin_billing";
|
|
538
539
|
var DELETE_WORKSPACE_URL = "/auth/organization/delete";
|
|
539
540
|
var ENGAGE_WIDGET_TRIGGER_ID = "neetoengage-trigger";
|
|
540
541
|
var DEFAULT_MENU_LINK_PROPS = {
|
|
@@ -1184,7 +1185,7 @@ var TriggerContent = reactUtils.withT(function (_ref) {
|
|
|
1184
1185
|
});
|
|
1185
1186
|
|
|
1186
1187
|
var WorkspaceItems = reactUtils.withT(function (_ref) {
|
|
1187
|
-
var _globalProps$organiza;
|
|
1188
|
+
var _globalProps$organiza, _globalProps$organiza2;
|
|
1188
1189
|
var t = _ref.t;
|
|
1189
1190
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1190
1191
|
children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
@@ -1193,7 +1194,13 @@ var WorkspaceItems = reactUtils.withT(function (_ref) {
|
|
|
1193
1194
|
rel: "noreferrer",
|
|
1194
1195
|
target: "_blank",
|
|
1195
1196
|
children: t("neetoMolecules.sidebar.workspaceMenu.settings")
|
|
1197
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
1198
|
+
"data-testid": "profile-organization-billing-button",
|
|
1199
|
+
href: BILLING_URL,
|
|
1200
|
+
children: t("neetoMolecules.sidebar.workspaceMenu.billing")
|
|
1196
1201
|
}), ((_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain) && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1202
|
+
className: "border-border my-1 border-t"
|
|
1203
|
+
}), ((_globalProps$organiza2 = initializers.globalProps.organization) === null || _globalProps$organiza2 === void 0 ? void 0 : _globalProps$organiza2.subdomain) && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1197
1204
|
className: "px-2.5 py-2",
|
|
1198
1205
|
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1199
1206
|
className: "flex flex-col gap-0.5 text-start",
|