udp-react-enterprise-component-library 25.18.1-beta.22 → 25.18.1-beta.24

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 (35) hide show
  1. package/dist/{MenuPage-B4ZN_tQt.js → MenuPage-D-GljLi1.js} +21 -4
  2. package/dist/MenuPage-D-GljLi1.js.map +1 -0
  3. package/dist/{MenuPage-HFTfG0b-.js → MenuPage-DZl_yJC2.js} +1 -1
  4. package/dist/{UdpFormsBuilderPage-h5Q62J02.js → UdpFormsBuilderPage-C2M1ha_P.js} +4 -3
  5. package/dist/UdpFormsBuilderPage-C2M1ha_P.js.map +1 -0
  6. package/dist/{UdpFormsListPage-D6eyoogV.js → UdpFormsListPage-kZnZP2Hi.js} +5 -2
  7. package/dist/{UdpFormsListPage-D6eyoogV.js.map → UdpFormsListPage-kZnZP2Hi.js.map} +1 -1
  8. package/dist/{UdpFormsSubmissionGrid-mPVNbJ97.js → UdpFormsSubmissionGrid-bDwM_jk1.js} +2 -2
  9. package/dist/{UdpFormsSubmissionGrid-mPVNbJ97.js.map → UdpFormsSubmissionGrid-bDwM_jk1.js.map} +1 -1
  10. package/dist/{UdpPages-DXB-xgq5.js → UdpPages-BHCz4sn1.js} +3 -3
  11. package/dist/{UdpPages-DXB-xgq5.js.map → UdpPages-BHCz4sn1.js.map} +1 -1
  12. package/dist/{UdpRoutes-Bbd0O-Yg.js → UdpRoutes-f3JxaT47.js} +2 -2
  13. package/dist/{UdpRoutes-Bbd0O-Yg.js.map → UdpRoutes-f3JxaT47.js.map} +1 -1
  14. package/dist/index.js +7 -7
  15. package/dist/menuPage/index.js +2 -2
  16. package/dist/{menuPage-Df5ucoQW.js → menuPage-DPvDtKpN.js} +7 -5
  17. package/dist/menuPage-DPvDtKpN.js.map +1 -0
  18. package/dist/routes/index.js +1 -1
  19. package/dist/types/src/menuPage/CustomMenuPage.d.ts +3 -1
  20. package/dist/types/src/menuPage/CustomMenuPage.d.ts.map +1 -1
  21. package/dist/types/src/menuPage/MenuPage.d.ts.map +1 -1
  22. package/dist/types/src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.d.ts +1 -1
  23. package/dist/types/src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.d.ts.map +1 -1
  24. package/dist/types/src/udp/pages/UdpFormsListPage/UdpFormsListPage.d.ts.map +1 -1
  25. package/dist/types/tsconfig.tsbuildinfo +1 -1
  26. package/dist/udp/pages/UdpFormsBuilderPage/index.js +1 -1
  27. package/dist/udp/pages/UdpFormsListPage/index.js +1 -1
  28. package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +3 -3
  29. package/dist/udp/pages/UdpPages/index.js +3 -3
  30. package/dist/udp/pages/index.js +3 -3
  31. package/export-map.json +1 -1
  32. package/package.json +2 -2
  33. package/dist/MenuPage-B4ZN_tQt.js.map +0 -1
  34. package/dist/UdpFormsBuilderPage-h5Q62J02.js.map +0 -1
  35. package/dist/menuPage-Df5ucoQW.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import "../../../useUser-wpHGo6jU.js";
2
2
  import "../../../tenantContext-Bu-2lTI5.js";
3
3
  import "../../../useTenant-MqKOZve_.js";
4
- import { n as UdpFormsBuilderPage_default } from "../../../UdpFormsBuilderPage-h5Q62J02.js";
4
+ import { n as UdpFormsBuilderPage_default } from "../../../UdpFormsBuilderPage-C2M1ha_P.js";
5
5
 
6
6
  export { UdpFormsBuilderPage_default as default };
@@ -1,6 +1,6 @@
1
1
  import "../../../useUser-wpHGo6jU.js";
2
2
  import "../../../tenantContext-Bu-2lTI5.js";
3
3
  import "../../../useTenant-MqKOZve_.js";
4
- import { n as UdpFormsListPage_default } from "../../../UdpFormsListPage-D6eyoogV.js";
4
+ import { n as UdpFormsListPage_default } from "../../../UdpFormsListPage-kZnZP2Hi.js";
5
5
 
6
6
  export { UdpFormsListPage_default as default };
@@ -90,11 +90,11 @@ import "../../../TrimForAvatar-Co2o_WKF.js";
90
90
  import "../../../stringUtils-B2JFmevx.js";
91
91
  import "../../../utilities-BLu3F9sJ.js";
92
92
  import "../../../BaseTreeMenu-DitVfbeZ.js";
93
- import "../../../MenuPage-B4ZN_tQt.js";
94
- import "../../../menuPage-Df5ucoQW.js";
93
+ import "../../../MenuPage-D-GljLi1.js";
94
+ import "../../../menuPage-DPvDtKpN.js";
95
95
  import "../../../enums-Edm9Kwqq.js";
96
96
  import "../../../StatusCellRenderer-DK3MexwY.js";
97
97
  import "../../../renderers-BI4w5Al3.js";
98
- import { t as UdpFormsSubmissionGrid } from "../../../UdpFormsSubmissionGrid-mPVNbJ97.js";
98
+ import { t as UdpFormsSubmissionGrid } from "../../../UdpFormsSubmissionGrid-bDwM_jk1.js";
99
99
 
100
100
  export { UdpFormsSubmissionGrid };
@@ -199,8 +199,8 @@ import "../../../auth-BEf5rt4s.js";
199
199
  import "../../../TenantProvider-rYWrO7y7.js";
200
200
  import "../../../PasswordResetRedirect-Ddfq7Gxu.js";
201
201
  import "../../../UdpPrivateForm-CamStDVL.js";
202
- import "../../../UdpFormsListPage-D6eyoogV.js";
203
- import "../../../UdpFormsBuilderPage-h5Q62J02.js";
202
+ import "../../../UdpFormsListPage-kZnZP2Hi.js";
203
+ import "../../../UdpFormsBuilderPage-C2M1ha_P.js";
204
204
  import "../../../AmbientAutoComplete-PIhfakyF.js";
205
205
  import "../../../formatBytes-Cq2rh3hB.js";
206
206
  import "../../../DragDropFileUpload-TFHchivz.js";
@@ -219,6 +219,6 @@ import "../../../ClientSideUdpGrid-D--quAtb.js";
219
219
  import "../../../virtualActions-BrXVKweh.js";
220
220
  import "../../../useUpdateSearchParams-sZqx_zVu.js";
221
221
  import "../../../UdpAuditEvents-C15mWgaI.js";
222
- import { t as UdpPages } from "../../../UdpPages-DXB-xgq5.js";
222
+ import { t as UdpPages } from "../../../UdpPages-BHCz4sn1.js";
223
223
 
224
224
  export { UdpPages };
@@ -199,8 +199,8 @@ import "../../auth-BEf5rt4s.js";
199
199
  import "../../TenantProvider-rYWrO7y7.js";
200
200
  import "../../PasswordResetRedirect-Ddfq7Gxu.js";
201
201
  import "../../UdpPrivateForm-CamStDVL.js";
202
- import "../../UdpFormsListPage-D6eyoogV.js";
203
- import "../../UdpFormsBuilderPage-h5Q62J02.js";
202
+ import "../../UdpFormsListPage-kZnZP2Hi.js";
203
+ import "../../UdpFormsBuilderPage-C2M1ha_P.js";
204
204
  import "../../AmbientAutoComplete-PIhfakyF.js";
205
205
  import "../../formatBytes-Cq2rh3hB.js";
206
206
  import "../../DragDropFileUpload-TFHchivz.js";
@@ -219,6 +219,6 @@ import "../../ClientSideUdpGrid-D--quAtb.js";
219
219
  import "../../virtualActions-BrXVKweh.js";
220
220
  import "../../useUpdateSearchParams-sZqx_zVu.js";
221
221
  import "../../UdpAuditEvents-C15mWgaI.js";
222
- import { t as UdpPages } from "../../UdpPages-DXB-xgq5.js";
222
+ import { t as UdpPages } from "../../UdpPages-BHCz4sn1.js";
223
223
 
224
224
  export { UdpPages };
package/export-map.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "generated": "2025-11-27T20:33:00.156Z",
2
+ "generated": "2025-11-28T23:07:06.064Z",
3
3
  "library": "udp-react-enterprise-component-library",
4
4
  "totalExports": 789,
5
5
  "description": "Map of exported items to their module paths for tree-shaking",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-react-enterprise-component-library",
3
- "version": "25.18.1-beta.22",
3
+ "version": "25.18.1-beta.24",
4
4
  "description": "React-based UI component library implementing Fluent UI design for Univerus internal projects",
5
5
  "author": "Univerus",
6
6
  "license": "MIT",
@@ -153,7 +153,7 @@
153
153
  "warning": "^4.0.3",
154
154
  "xlsx": "^0.18.5",
155
155
  "zustand": "^4.3.7",
156
- "udp-react-stencil-component-library": "25.18.1-beta.18"
156
+ "udp-react-stencil-component-library": "25.18.1-beta.19"
157
157
  },
158
158
  "publishConfig": {
159
159
  "tag": "beta"
@@ -1 +0,0 @@
1
- {"version":3,"file":"MenuPage-B4ZN_tQt.js","names":[],"sources":["../src/menuPage/MenuPage.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useHistory, useLocation, Prompt } from 'react-router-dom';\nimport { useAxiosGet } from '../utilities/useAxiosGet';\nimport { UtilitySideBar } from '../UI/utilityDisplay/UtilitySideBar';\nimport { makeStyles } from '@material-ui/core';\nimport { PageContainer } from '../page/PageContainer';\nimport { transformMenuPageTree } from '../utilities/tree/TreeUtilities';\nimport { BaseTreeMenu } from '../treeMenu/BaseTreeMenu';\nimport { TreeViewModeEnums } from '../enums/unitySystemEnums';\nimport { DndProvider } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\nimport { useUser } from '../utilities/auth/useUser';\nimport { useShellStore } from '../stores/shellStore';\nimport { NodeLoader } from '../UI/feedback/NodeLoader';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../shell/ui/useBuildEnvironment';\nimport { useSetLocationState } from '../hooks/useSetLocationState';\nimport { useTranslation } from 'react-i18next';\nimport { ConfigService } from '../configService';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flex: 1,\n minHeight: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'grid',\n gridTemplateAreas: ['sidebar content'].map((line) => `\"${line}\"`).join(' '),\n gridTemplateColumns: 'auto 1fr',\n gridTemplateRows: 'auto 1fr'\n },\n sidebar: {\n gridArea: 'sidebar',\n marginRight: theme.spacing(1)\n },\n content: {\n gridArea: 'content',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n zIndex: 1,\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n overflowY: 'auto'\n },\n menuContent: {\n marginTop: theme.spacing(1),\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 116}px)`,\n overflowX: 'hidden'\n },\n loader: {\n marginRight: theme.spacing(1),\n marginLeft: theme.spacing(1)\n },\n loadingContent: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n }\n}));\n\nconst MenuPage = (props) => {\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const history = useHistory();\n const location = useLocation();\n const user = useUser();\n const { t } = useTranslation();\n const setLocationState = useSetLocationState();\n // Allow callers to provide an innerMenu directly (CustomMenuPage wrapper)\n const {\n innerMenuOverride,\n mainContent,\n menuTitle,\n allowMissingPageParam = false\n } = props;\n\n const [menuItemsList, setMenuItemsList] = useState([]); // holds a list of trees\n const [selectedNode, setSelectedNode] = useState(null);\n const [sidebarExpanded, setSidebarExpanded] = useState(true);\n const [hasUnsavedChanges, setHasUnsavedChanges] = useState(false);\n // Just the menuInstanceId for an inner menu\n const innerMenuId = location.pathname.replace('/menupage/', '');\n\n const prevInnerMenuId = useRef(innerMenuId);\n\n const [{ data: fetchedInnerMenu, loading: menuLoading }] = useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `menus/${innerMenuId}`,\n {},\n !innerMenuId,\n false\n );\n\n const innerMenu = innerMenuOverride ?? fetchedInnerMenu;\n\n const { setSubHeaderActionHasChildren, setNavigationExpanded } =\n useShellStore();\n\n const [{ data: pageData, loading: pageLoading, error: pageError }] =\n useAxiosGet(\n ConfigService.tenantV1ApiUrl,\n `page/${selectedNode?.properties?.page?.id}`,\n {},\n !selectedNode?.properties?.page?.id,\n false\n );\n\n const handleSelectedNode = useCallback(\n (node, menuIndex) => {\n if (allowMissingPageParam) {\n const firstNode = menuItemsList?.[0];\n if (firstNode && String(node?.id) === String(firstNode.id)) {\n // If there is an existing query string, normalize back to the base path\n if (location.search) {\n history.replace({\n pathname: location.pathname,\n search: ''\n });\n }\n setSelectedNode(node);\n setHasUnsavedChanges(false);\n return;\n }\n }\n\n const searchParams = new URLSearchParams(location.search);\n searchParams.set('page', node.id);\n\n history.push({\n pathname: location.pathname,\n search: searchParams.toString()\n });\n setSelectedNode(node);\n setHasUnsavedChanges(false);\n },\n [history, location, allowMissingPageParam, menuItemsList]\n );\n\n const handleDropNode = useCallback(\n (sourceNode, targetNode, sourceNodeMenuIndex, targetNodeMenuIndex) => {\n // TODO: Implement if we need to for next Phase\n },\n []\n );\n\n const handleSidebarExpandClick = useCallback(() => {\n setSidebarExpanded((expanded) => !expanded);\n }, []);\n\n const findNodeById = useCallback((node, id) => {\n if (!node) return null;\n if (node.id.toString() === id) return node;\n if (node.children) {\n for (const child of node.children) {\n const found = findNodeById(child, id);\n if (found) return found;\n }\n }\n return null;\n }, []);\n\n useEffect(() => {\n const searchParams = new URLSearchParams(location.search);\n const pageId = searchParams.get('page');\n if (pageId && menuItemsList.length > 0) {\n // Search all root menu trees for the node\n let node = null;\n for (const tree of menuItemsList) {\n node = findNodeById(tree, pageId);\n if (node) break;\n }\n if (node && node.id !== selectedNode?.id) {\n setSelectedNode(node);\n setHasUnsavedChanges(false);\n }\n }\n }, [location.search, menuItemsList, findNodeById, selectedNode]);\n\n useEffect(() => {\n const mainPageIdChanged = prevInnerMenuId.current !== innerMenuId;\n\n if (innerMenu) {\n const list = [];\n innerMenu.menuItemInstanceStructureViews.forEach((menuInstance) => {\n const updatedMenu = transformMenuPageTree(menuInstance);\n if (updatedMenu) {\n list.push(updatedMenu);\n }\n });\n setMenuItemsList(list);\n\n // Find the node matching the current page param\n const searchParams = new URLSearchParams(location.search);\n const pageId = searchParams.get('page');\n let nodeToSelect = null;\n\n if (pageId && list.length > 0) {\n // Try to find the node with this id\n for (const tree of list) {\n nodeToSelect = findNodeById(tree, pageId);\n if (nodeToSelect) break;\n }\n }\n\n // If we found a node, select it. If not, select the first node.\n if (nodeToSelect) {\n setSelectedNode(nodeToSelect);\n setHasUnsavedChanges(false);\n setNavigationExpanded(false);\n } else if (list.length > 0) {\n const firstNode = list[0];\n if (allowMissingPageParam) {\n // Do not modify URL when missing page param; select first node only.\n setSelectedNode(firstNode);\n setHasUnsavedChanges(false);\n setNavigationExpanded(false);\n } else {\n // No valid page param, select first node and update URL\n searchParams.set('page', firstNode.id);\n history.replace({\n pathname: location.pathname,\n search: searchParams.toString()\n });\n setSelectedNode(firstNode);\n setHasUnsavedChanges(false);\n setNavigationExpanded(false);\n }\n }\n }\n prevInnerMenuId.current = innerMenuId;\n }, [\n innerMenu,\n setNavigationExpanded,\n history,\n location,\n innerMenuId,\n findNodeById,\n allowMissingPageParam\n ]);\n\n useEffect(() => {\n setSubHeaderActionHasChildren(false);\n }, [setSubHeaderActionHasChildren]);\n\n // Setting location state label so that if this page was saved to favorites\n // we can determine the bread crumb\n useEffect(() => {\n if (innerMenu) {\n setLocationState({ label: t(innerMenu?.name) });\n }\n }, [setLocationState, t, innerMenu]);\n\n return (\n <DndProvider backend={HTML5Backend}>\n <Prompt\n when={hasUnsavedChanges}\n message='You have unsaved changes. Are you sure you want to leave this page?'\n />\n <div className={classes.root}>\n <div className={classes.sidebar}>\n <UtilitySideBar\n title={innerMenu?.name || menuTitle}\n isUsingChildren={true}\n resizable={true}\n removePadding={true}\n removeTopLayoutUnit={true}\n onUtilitySidebarToggleExpandClick={handleSidebarExpandClick}\n collapsedWidth={64}\n >\n <div className={classes.menuContent} key={innerMenuId}>\n {menuItemsList?.length > 0 &&\n !menuLoading &&\n menuItemsList.map((menuItems, index) => (\n <div key={menuItems.id} className={classes.nodeContainer}>\n <BaseTreeMenu\n menuItems={menuItems}\n onSelectNode={handleSelectedNode}\n onDropNode={handleDropNode}\n menuIndex={index}\n selectedNodeId={selectedNode?.id}\n selectedNodeParentId={selectedNode?.parentId}\n sidebarExpanded={sidebarExpanded}\n treeViewMode={TreeViewModeEnums.Classic}\n />\n </div>\n ))}\n {menuLoading && (\n <div className={classes.loader}>\n <NodeLoader loading={menuLoading} />\n </div>\n )}\n </div>\n </UtilitySideBar>\n </div>\n <div className={classes.content}>\n {mainContent ? (\n typeof mainContent === 'function'\n ? mainContent({ selectedNode, menuItemsList })\n : mainContent\n ) : (\n selectedNode?.properties?.page?.id && (\n <PageContainer\n user={user}\n key={selectedNode?.id}\n pageData={pageData}\n pageLoading={pageLoading}\n widgetParams={{\n pageId: pageData?.pageId,\n entityName: selectedNode?.properties?.page?.entity?.entityName,\n pbiReportCode: selectedNode?.properties?.page?.pbiReportCode,\n requiredFieldsMap:\n selectedNode?.properties?.page?.requiredFieldMapping,\n udpTagId: selectedNode?.properties?.page?.udpTagId,\n queryId: selectedNode?.properties?.page?.queryId,\n inquiryTreeId: selectedNode?.properties?.page?.inquiryTreeId,\n setHasUnsavedChanges: setHasUnsavedChanges\n }}\n disableMargins={true}\n fromMenu={true}\n />\n )\n )}\n </div>\n </div>\n </DndProvider>\n );\n};\n\nexport default MenuPage;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UdpFormsBuilderPage-h5Q62J02.js","names":[],"sources":["../src/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.jsx","../src/udp/pages/UdpFormsBuilderPage/index.ts"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useLocation, useHistory } from 'react-router-dom';\nimport { UdpFormsBuilder } from 'udp-react-stencil-component-library';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\nimport { useSnackbar } from 'notistack';\n\nconst UdpFormsBuilderPage = () => {\n const user = useUser();\n const tenant = useTenant();\n const location = useLocation(); // detects changes in the URL\n const history = useHistory();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n // Store search params in state so re-render happens when they change\n const [searchParams, setSearchParams] = useState(() => new URLSearchParams(location.search));\n\n // Recompute search params on location change\n useEffect(() => {\n setSearchParams(new URLSearchParams(location.search));\n }, [location.search]);\n\n // Extract values from searchParams\n const formId = searchParams.get('udpf_formId');\n const version = searchParams.get('udpf_version');\n const callbackUrl = searchParams.get('udpf_callback_url');\n\n return (\n <div>\n <UdpFormsBuilder\n formId={formId} // optional for loading exisiting forms\n version={version} // optional for loading specific version of existing forms\n history={history} // required\n getUserCallback={() => user} // required\n getTenantCallback={() => tenant} // required\n enqueueSnackbar={enqueueSnackbar} // required\n closeSnackbar={closeSnackbar} // required\n />\n </div>\n );\n};\n\nexport default UdpFormsBuilderPage;","export {default} from './UdpFormsBuilderPage';\nexport * from './UdpFormsBuilderPage';\n"],"mappings":";;;;;;;;;AAOA,MAAM,4BAA4B;CAChC,MAAM,OAAO,SAAS;CACtB,MAAM,SAAS,WAAW;CAC1B,MAAM,WAAW,aAAa;CAC9B,MAAM,UAAU,YAAY;CAC5B,MAAM,EAAE,iBAAiB,kBAAkB,aAAa;CAGxD,MAAM,CAAC,cAAc,mBAAmB,eAAe,IAAI,gBAAgB,SAAS,OAAO,CAAC;AAG5F,iBAAgB;AACd,kBAAgB,IAAI,gBAAgB,SAAS,OAAO,CAAC;IACpD,CAAC,SAAS,OAAO,CAAC;CAGrB,MAAM,SAAS,aAAa,IAAI,cAAc;CAC9C,MAAM,UAAU,aAAa,IAAI,eAAe;AAC5B,cAAa,IAAI,oBAAoB;AAEzD,QACE,oCAAC,aACC,oCAAC;EACS;EACC;EACA;EACT,uBAAuB;EACvB,yBAAyB;EACR;EACF;GACf,CACE;;AAIV,kCAAe"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"menuPage-Df5ucoQW.js","names":["MenuPage"],"sources":["../src/menuPage/CustomMenuPage.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuPage from './MenuPage';\nimport { makeStyles, Typography } from '@material-ui/core';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n flexGrow: 1,\n padding: theme.spacing(1),\n },\n}));\n\n\nfunction buildInnerMenuFromItems(items = [], menuTitle, idPrefix = 'custom', showItemCount = false, itemCountAccessor = null) {\n const idMap = {};\n const views = (items || []).map((item, idx) => {\n const itemKey = item.id ?? item.ID ?? item.groupID ?? idx;\n const menuStructureId = `${idPrefix}-${itemKey}`;\n\n // compute optional count using accessor\n let itemCount = null;\n if (showItemCount && typeof itemCountAccessor === 'function') {\n try {\n const cnt = itemCountAccessor(item);\n if (cnt !== undefined && cnt !== null) {\n itemCount = cnt;\n }\n } catch (e) {\n }\n }\n\n idMap[menuStructureId] = item;\n item.__menuStructureId = menuStructureId;\n item.__itemKey = itemKey;\n\n const parametersObj = { FluentIcon: 'PageListIcon', PageId: '', defaultDisplay: 'expanded' };\n if (itemCount !== null && itemCount !== undefined) {\n parametersObj.itemCount = itemCount;\n }\n\n return {\n menuStructureId,\n menuItemInstance: {\n menuItemInstanceId: `${idPrefix}-item-${itemKey}`,\n clusterId: null,\n menuItemId: null,\n name: item.name ?? '',\n parameters: JSON.stringify(parametersObj),\n isActive: true,\n roleIds: [],\n groupIds: [],\n tenantSsoId: null,\n parentMenuItemInstanceId: null,\n items: null,\n },\n title: item.name ?? '',\n order: idx,\n parentId: null,\n unsubscribed: false,\n menuItemInstanceStructures: [],\n };\n });\n\n const innerMenu = {\n // set the inner menu name only when client provided a menuTitle; leave blank when not provided\n name: menuTitle ? menuTitle : '',\n menuItemInstanceStructureViews: views,\n };\n\n return { innerMenu, idMap };\n}\n\nconst CustomMenuPage = ({\n items = [],\n className = '',\n menuTitle,\n mainContent: clientMainContent,\n idPrefix = 'custom',\n showItemCount = false,\n itemCountAccessor = null,\n allowMissingPageParam = false,\n}) => {\n const classes = useStyles();\n\n const { innerMenu, idMap } = buildInnerMenuFromItems(items, menuTitle, idPrefix, showItemCount, itemCountAccessor);\n\n // Expect client application to provide mainContent. If not provided, render an empty container.\n const clientContent = clientMainContent\n ? ({ selectedNode, menuItemsList }) =>\n clientMainContent({ selectedNode, menuItemsList, idMap, items, classes, className })\n : ({ selectedNode, menuItemsList }) => <div className={`${classes.root} ${className}`} />;\n\n const composedMainContent = ({ selectedNode, menuItemsList }) => (\n <div className={`${classes.root} ${className}`}>\n {clientContent({ selectedNode, menuItemsList })}\n </div>\n );\n\n return (\n <MenuPage\n innerMenuOverride={innerMenu}\n mainContent={composedMainContent}\n menuTitle={menuTitle}\n allowMissingPageParam={allowMissingPageParam}\n />\n );\n};\n\nCustomMenuPage.propTypes = {\n items: PropTypes.array,\n className: PropTypes.string,\n menuTitle: PropTypes.string,\n mainContent: PropTypes.func,\n idPrefix: PropTypes.string,\n showItemCount: PropTypes.bool,\n itemCountAccessor: PropTypes.func,\n allowMissingPageParam: PropTypes.bool,\n};\n\nexport default CustomMenuPage;\n"],"mappings":";;;;;;AAKA,MAAM,YAAY,YAAW,WAAU,EACrC,MAAM;CACJ,UAAU;CACV,SAAS,MAAM,QAAQ,EAAE;CAC1B,EACF,EAAE;AAGH,SAAS,wBAAwB,QAAQ,EAAE,EAAE,WAAW,WAAW,UAAU,gBAAgB,OAAO,oBAAoB,MAAM;CAC5H,MAAM,QAAQ,EAAE;CAChB,MAAM,SAAS,SAAS,EAAE,EAAE,KAAK,MAAM,QAAQ;EAC7C,MAAM,UAAU,KAAK,MAAM,KAAK,MAAM,KAAK,WAAW;EACtD,MAAM,kBAAkB,GAAG,SAAS,GAAG;EAGvC,IAAI,YAAY;AAChB,MAAI,iBAAiB,OAAO,sBAAsB,WAChD,KAAI;GACF,MAAM,MAAM,kBAAkB,KAAK;AACnC,OAAI,QAAQ,UAAa,QAAQ,KAC/B,aAAY;WAEP,GAAG;AAId,QAAM,mBAAmB;AACzB,OAAK,oBAAoB;AACzB,OAAK,YAAY;EAEjB,MAAM,gBAAgB;GAAE,YAAY;GAAgB,QAAQ;GAAI,gBAAgB;GAAY;AAC5F,MAAI,cAAc,QAAQ,cAAc,OACtC,eAAc,YAAY;AAG5B,SAAO;GACL;GACA,kBAAkB;IAChB,oBAAoB,GAAG,SAAS,QAAQ;IACxC,WAAW;IACX,YAAY;IACZ,MAAM,KAAK,QAAQ;IACnB,YAAY,KAAK,UAAU,cAAc;IACzC,UAAU;IACV,SAAS,EAAE;IACX,UAAU,EAAE;IACZ,aAAa;IACb,0BAA0B;IAC1B,OAAO;IACR;GACD,OAAO,KAAK,QAAQ;GACpB,OAAO;GACP,UAAU;GACV,cAAc;GACd,4BAA4B,EAAE;GAC/B;GACD;AAQF,QAAO;EAAE,WANS;GAEhB,MAAM,YAAY,YAAY;GAC9B,gCAAgC;GACjC;EAEmB;EAAO;;AAG7B,MAAM,kBAAkB,EACtB,QAAQ,EAAE,EACV,YAAY,IACZ,WACA,aAAa,mBACb,WAAW,UACX,gBAAgB,OAChB,oBAAoB,MACpB,wBAAwB,YACpB;CACJ,MAAM,UAAU,WAAW;CAE3B,MAAM,EAAE,WAAW,UAAU,wBAAwB,OAAO,WAAW,UAAU,eAAe,kBAAkB;CAGlH,MAAM,gBAAgB,qBACjB,EAAE,cAAc,oBACf,kBAAkB;EAAE;EAAc;EAAe;EAAO;EAAO;EAAS;EAAW,CAAC,IACrF,EAAE,cAAc,oBAAoB,oCAAC,SAAI,WAAW,GAAG,QAAQ,KAAK,GAAG,cAAe;CAE3F,MAAM,uBAAuB,EAAE,cAAc,oBAC3C,oCAAC,SAAI,WAAW,GAAG,QAAQ,KAAK,GAAG,eAChC,cAAc;EAAE;EAAc;EAAe,CAAC,CAC3C;AAGR,QACE,oCAACA;EACC,mBAAmB;EACnB,aAAa;EACF;EACY;GACvB;;AAIN,eAAe,YAAY;CACzB,OAAO,UAAU;CACjB,WAAW,UAAU;CACrB,WAAW,UAAU;CACrB,aAAa,UAAU;CACvB,UAAU,UAAU;CACpB,eAAe,UAAU;CACzB,mBAAmB,UAAU;CAC7B,uBAAuB,UAAU;CAClC;AAED,6BAAe"}