@pega/react-sdk-components 0.25.8 → 0.25.11

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 (93) hide show
  1. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
  2. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +2 -1
  3. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -1
  4. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +18 -16
  5. package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -1
  6. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +1 -1
  7. package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
  8. package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
  9. package/lib/components/infra/Assignment/Assignment.js +6 -2
  10. package/lib/components/infra/Assignment/Assignment.js.map +1 -1
  11. package/lib/components/infra/Assignment/useValidationBanner.d.ts +7 -0
  12. package/lib/components/infra/Assignment/useValidationBanner.d.ts.map +1 -0
  13. package/lib/components/infra/Assignment/useValidationBanner.js +26 -0
  14. package/lib/components/infra/Assignment/useValidationBanner.js.map +1 -0
  15. package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
  16. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +4 -5
  17. package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
  18. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts +4 -0
  19. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
  20. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +1 -1
  21. package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
  22. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts +4 -0
  23. package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
  24. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +4 -7
  25. package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
  26. package/lib/components/infra/DeferLoad/DeferLoad.d.ts +1 -0
  27. package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
  28. package/lib/components/infra/DeferLoad/DeferLoad.js +24 -9
  29. package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
  30. package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
  31. package/lib/components/infra/NavBar/NavBar.js +6 -0
  32. package/lib/components/infra/NavBar/NavBar.js.map +1 -1
  33. package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
  34. package/lib/components/infra/Reference/Reference.js +4 -0
  35. package/lib/components/infra/Reference/Reference.js.map +1 -1
  36. package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
  37. package/lib/components/infra/RootContainer/RootContainer.js +4 -5
  38. package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
  39. package/lib/components/infra/View/View.d.ts.map +1 -1
  40. package/lib/components/infra/View/View.js +5 -6
  41. package/lib/components/infra/View/View.js.map +1 -1
  42. package/lib/components/template/AppShell/AppShell.css +0 -4
  43. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts +1 -0
  44. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
  45. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -3
  46. package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
  47. package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts +4 -0
  48. package/lib/components/template/HierarchicalForm/HierarchicalForm.d.ts.map +1 -0
  49. package/lib/components/template/HierarchicalForm/HierarchicalForm.js +16 -0
  50. package/lib/components/template/HierarchicalForm/HierarchicalForm.js.map +1 -0
  51. package/lib/components/template/HierarchicalForm/hooks.d.ts +15 -0
  52. package/lib/components/template/HierarchicalForm/hooks.d.ts.map +1 -0
  53. package/lib/components/template/HierarchicalForm/hooks.js +163 -0
  54. package/lib/components/template/HierarchicalForm/hooks.js.map +1 -0
  55. package/lib/components/template/HierarchicalForm/index.d.ts +2 -0
  56. package/lib/components/template/HierarchicalForm/index.d.ts.map +1 -0
  57. package/lib/components/template/HierarchicalForm/index.js +2 -0
  58. package/lib/components/template/HierarchicalForm/index.js.map +1 -0
  59. package/lib/components/template/ListView/ListView.d.ts +1 -0
  60. package/lib/components/template/ListView/ListView.d.ts.map +1 -1
  61. package/lib/components/template/ListView/ListView.js +56 -9
  62. package/lib/components/template/ListView/ListView.js.map +1 -1
  63. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts +3 -1
  64. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
  65. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js +13 -1
  66. package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
  67. package/lib/components/template/ObjectPage/index.d.ts +2 -0
  68. package/lib/components/template/ObjectPage/index.d.ts.map +1 -0
  69. package/lib/components/template/ObjectPage/index.js +2 -0
  70. package/lib/components/template/ObjectPage/index.js.map +1 -0
  71. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.d.ts.map +1 -1
  72. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js +13 -2
  73. package/lib/components/template/SelfServiceCaseView/SelfServiceCaseView.js.map +1 -1
  74. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
  75. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +8 -6
  76. package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
  77. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts +17 -0
  78. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.d.ts.map +1 -0
  79. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js +94 -0
  80. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.js.map +1 -0
  81. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts +2 -0
  82. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.d.ts.map +1 -0
  83. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js +2 -0
  84. package/lib/components/template/SimpleTable/SimpleTableSelectReadonly/index.js.map +1 -0
  85. package/lib/hooks/useFocusFirstField.d.ts +3 -3
  86. package/lib/hooks/useFocusFirstField.d.ts.map +1 -1
  87. package/lib/hooks/useFocusFirstField.js +19 -12
  88. package/lib/hooks/useFocusFirstField.js.map +1 -1
  89. package/lib/sdk-pega-component-map.d.ts +6 -0
  90. package/lib/sdk-pega-component-map.d.ts.map +1 -1
  91. package/lib/sdk-pega-component-map.js +6 -0
  92. package/lib/sdk-pega-component-map.js.map +1 -1
  93. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, type PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: any[];\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n const rootView = useRef(null);\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (prevRootConfig === null || !PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {\n rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig)) as any;\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView.current}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"RootContainer.js","sourceRoot":"","sources":["../../../../src/components/infra/RootContainer/RootContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Children, createElement, type PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { Box, CircularProgress } from '@mui/material';\n\nimport createPConnectComponent from '../../../bridge/react_pconnect';\nimport StoreContext from '../../../bridge/Context/StoreContext';\nimport { LazyMap as LazyComponentMap } from '../../../components_map';\nimport { isEmptyObject } from '../../helpers/common-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface RootContainerProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n renderingMode?: string;\n routingInfo: { type: string; accessedOrder: any[]; items: any };\n skeleton: any;\n httpMessages: any[];\n}\n\n/**\n * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.\n * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.\n */\n\nconst renderingModes = ['portal', 'view'];\n\nfunction usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nfunction getItemView(routingInfo, renderingMode) {\n const viewConfigs: any = [];\n if (routingInfo && renderingModes.includes(renderingMode)) {\n const { accessedOrder, items }: { accessedOrder: any; items: any } = routingInfo;\n if (accessedOrder && items) {\n const key = accessedOrder[accessedOrder.length - 1];\n if (items[key] && items[key].view && !isEmptyObject(items[key].view)) {\n viewConfigs.push(items[key]);\n }\n }\n }\n return viewConfigs;\n}\n\nexport default function RootContainer(props: PropsWithChildren<RootContainerProps>) {\n const { getPConnect, renderingMode = '', children, skeleton, httpMessages = [], routingInfo } = props;\n\n const { displayOnlyFA } = useContext<any>(StoreContext);\n\n const pConn = getPConnect();\n\n const options = { context: 'app' };\n const rootView = useRef(null);\n\n const [componentName, setComponentName] = useState('');\n\n useEffect(() => {\n // debugging/investigation help\n // console.log(`componentName change: ${componentName} triggering a re-render`);\n }, [componentName]);\n\n // debugging/investigation help\n // console.log(`RootContainer props.routingInfo: ${JSON.stringify(routingInfo)}`);\n\n let hasBanner = false;\n let banners: any = null;\n const localizedVal = PCore.getLocaleUtils().getLocaleValue;\n const localeCategory = 'Messages';\n\n const messages = httpMessages ? httpMessages.map(msg => localizedVal(msg.message, localeCategory)) : httpMessages;\n\n hasBanner = messages && messages.length > 0;\n banners = hasBanner && <div>{localizedVal(`RootContainer: trying to emit Banner with ${messages}`, localeCategory)}</div>;\n\n const MemoizedModalViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'ModalViewContainer',\n config: {\n name: 'modal'\n }\n },\n options\n })\n );\n }, []);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const MemoizedPreviewViewContainer = useMemo(() => {\n return createElement(\n createPConnectComponent(),\n PCore.createPConnect({\n meta: {\n type: 'PreviewViewContainer',\n config: {\n name: 'preview'\n }\n },\n options\n })\n );\n }, []);\n\n //\n function getNoPortalContent() {\n let noPortalContent: any;\n\n switch (componentName) {\n case 'View':\n noPortalContent = <div>{localizedVal('getNoPortalContent: RootContainer wants to render View in noPortal mode', localeCategory)}</div>;\n break;\n\n case 'ViewContainer': {\n const configProps = pConn.getConfigProps();\n const viewContConfig = {\n meta: {\n type: 'ViewContainer',\n config: configProps\n },\n options\n };\n const theViewCont: any = PCore.createPConnect(viewContConfig);\n // Add in displayOnlyFA if prop is on RootContainer\n if (displayOnlyFA) {\n theViewCont.displayOnlyFA = true;\n }\n\n const theViewContainerAsReact = createElement(createPConnectComponent(), theViewCont);\n\n noPortalContent = theViewContainerAsReact;\n break;\n }\n\n default:\n noPortalContent = (\n <div>{localizedVal('getNoPortalContent: RootContainer wants to render NO componentName in noPortal mode', localeCategory)}</div>\n );\n break;\n }\n\n return noPortalContent;\n }\n\n let rootViewConfig: any = null;\n\n useEffect(() => {\n const { containers } = PCore.getStore().getState();\n const items = Object.keys(containers).filter(item => item.includes('root'));\n (PCore.getContainerUtils().getContainerAPI() as any).addContainerItems(items);\n }, [routingInfo]);\n\n const items: any = getItemView(routingInfo, renderingMode);\n\n if (items.length > 0) {\n rootViewConfig = {\n meta: items[0].view,\n options: {\n context: items[0].context\n }\n };\n }\n const prevRootConfig = usePrevious(rootViewConfig);\n\n if (renderingModes.includes(renderingMode) && messages && routingInfo && routingInfo?.accessedOrder.length === 0) {\n return <div id='root-container'>{banners}</div>;\n }\n\n if (items.length > 0) {\n const itemView = items[0].view;\n const currentRootConfig = {\n meta: itemView,\n options: {\n context: items[0].context\n }\n };\n\n if (prevRootConfig === null || !PCore.isDeepEqual(currentRootConfig, prevRootConfig)) {\n rootView.current = createElement(createPConnectComponent(), PCore.createPConnect(currentRootConfig)) as any;\n }\n\n // debugging/investigation help\n // console.log(`rootView.props.getPConnect().getComponentName(): ${rootView.props.getPConnect().getComponentName()}`);\n\n return (\n <div id='ModalManager'>\n {rootView.current}\n {MemoizedModalViewContainer}\n <div id='MemoizedPreviewViewContainer' />\n <div id='ReAuthMessageModal' />\n </div>\n );\n }\n if (renderingMode === 'noPortal') {\n console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);\n\n const theChildren = pConn.getChildren() as any[];\n if (theChildren && theChildren.length === 1) {\n const localPConn = theChildren[0].getPConnect();\n const localCompName = localPConn.getComponentName();\n if (componentName !== localCompName) {\n setComponentName(localCompName);\n }\n }\n\n return getNoPortalContent();\n }\n if (children && Children.count(children) > 0) {\n return (\n <>\n <div>{localizedVal('RootContainer: Has children. Trying to show ModalManager with children, etc.', localeCategory)}</div>\n {children}\n {MemoizedModalViewContainer}\n </>\n );\n }\n if (skeleton) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const LoadingComponent = LazyComponentMap[skeleton];\n\n return (\n <div id='root-container'>\n {/* <div>RootContainer: Trying to show skeleton</div> */}\n <Box textAlign='center'>\n <CircularProgress />\n </Box>\n </div>\n );\n }\n return (\n <div id='root-container'>\n <div>{localizedVal('RootContainer: Should be ModalManager, etc.', localeCategory)}</div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAuBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,YAAY,CAAC;AAEpB,UAAU,SAAU,SAAQ,UAAU;IAEpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAsBD,iBAAwB,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC,uDAsH/D;kBAtHuB,IAAI;;;eAAJ,IAAI"}
@@ -4,12 +4,11 @@ import { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';
4
4
  import { getAllFields } from '../../helpers/template-utils';
5
5
  // Need to import any templates that we might render
6
6
  import './View.css';
7
- //
8
- // WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
9
- // Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
10
- // is totally at your own risk.
11
- //
12
- const FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];
7
+ /**
8
+ * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.
9
+ * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.
10
+ */
11
+ const FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide', 'HierarchicalForm'];
13
12
  const NO_HEADER_TEMPLATES = [
14
13
  'SubTabs',
15
14
  'SimpleTable',
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\n}\n\n//\n// WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with\n// Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and\n// is totally at your own risk.\n//\n\nconst FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs',\n 'ListView'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../../../../src/components/infra/View/View.tsx"],"names":[],"mappings":"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","sourcesContent":["import { type PropsWithChildren, useEffect } from 'react';\n\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport { getAllFields } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\n// Need to import any templates that we might render\n\nimport './View.css';\n\ninterface ViewProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n template?: string;\n label?: string;\n showLabel: boolean;\n mode?: string;\n title?: string;\n visibility?: boolean;\n name?: string;\n bInForm?: boolean;\n type?: any;\n}\n\n/**\n * WARNING: This file is part of the infrastructure component responsible for working with Redux and managing the creation and update of Redux containers and PConnect.\n * You may override Material components within this component if needed, but do not modify any container-related logic. Changing this logic can lead to unexpected behavior.\n */\n\nconst FORMTEMPLATES = ['OneColumn', 'TwoColumn', 'DefaultForm', 'WideNarrow', 'NarrowWide', 'HierarchicalForm'];\nconst NO_HEADER_TEMPLATES = [\n 'SubTabs',\n 'SimpleTable',\n 'Details',\n 'DetailsTwoColumn',\n 'DetailsThreeColumn',\n 'NarrowWideDetails',\n 'WideNarrowDetails',\n 'Confirmation',\n 'DynamicTabs',\n 'DetailsSubTabs',\n 'ListView'\n];\n\nexport default function View(props: PropsWithChildren<ViewProps>) {\n const { children, template, getPConnect, mode, visibility, name: pageName, type, title } = props;\n let { label = '', showLabel = false } = props;\n const { PAGE_TYPES: { PAGE, LANDINGPAGE, LISTPAGE } = {}, MODAL } = PCore.getConstants();\n\n // Get the inherited props from the parent to determine label settings. For 8.6, this is only for embedded data form views\n // Putting this logic here instead of copy/paste in every Form template index.js\n\n const inheritedProps: any = getPConnect().getInheritedProps(); // try to remove any when getInheritedProps typedefs are fixed\n label = inheritedProps.label || label;\n showLabel = inheritedProps.showLabel || showLabel;\n const localeUtils = PCore.getLocaleUtils();\n\n const isEmbeddedDataView = mode === 'editable'; // would be better to check the reference child for `context` attribute if possible\n if (isEmbeddedDataView && showLabel === undefined) {\n showLabel = true;\n }\n\n useEffect(() => {\n // Get the localized application label\n let applicationLabel = PCore.getEnvironmentInfo().getApplicationLabel();\n applicationLabel = localeUtils.getLocaleValue(`${applicationLabel}`, '', '');\n const caseInfo = getPConnect().getCaseInfo();\n const isAssignmentInCreateStage = caseInfo && caseInfo.isAssignmentInCreateStage();\n const isRenderingInModal = getPConnect().getContainerName().includes(MODAL);\n const isRenderingInPreviewPanel = getPConnect().getContainerName().includes('preview');\n\n /* If assignment is in create stage and rendering in modal don't update the title.\n Title will be updated on completion of create stage and when the assignment is rendered inline to the page.\n */\n const canUpdateTitle =\n !isRenderingInPreviewPanel &&\n (type === PAGE || type === LANDINGPAGE || type === LISTPAGE) &&\n !(isRenderingInModal && isAssignmentInCreateStage) &&\n PCore.getEnvironmentInfo().getRenderingMode() === 'FULL_PORTAL';\n // Incase of home route title is same as applicationLabel so setting to empty to just show applicationLabel\n let titleVar = title === applicationLabel ? '' : title;\n\n if (canUpdateTitle) {\n if (caseInfo) {\n const name = caseInfo.getName();\n const id = caseInfo.getBusinessID();\n titleVar = name && id ? `${name} (${id})` : titleVar;\n }\n document.title = titleVar ? `${titleVar} - ${applicationLabel}` : applicationLabel;\n }\n }, [type, title, getPConnect, PAGE, LANDINGPAGE, LISTPAGE]);\n\n const key = `${getPConnect().getContextName()}_${getPConnect().getPageReference()}_${pageName}`;\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n if (visibility === false) {\n return '';\n }\n\n // As long as the template is defined in the dependencies of the view\n // it will be loaded, otherwise fall back to single column\n // JA - React SDK not using LazyComponentMap yet\n if (template /* && LazyComponentMap[template] */) {\n // const ViewTemplate = LazyComponentMap[template];\n const ViewTemplate: any = getComponentFromMap(template);\n\n if (template === 'ListView') {\n // special case for ListView - add in a prop\n const bInForm = true;\n props = { ...props, bInForm };\n }\n\n // for debugging/investigation\n // console.log(`View rendering template: ${template}`);\n\n // spreading because all props should go to the template\n let RenderedTemplate = (\n <ViewTemplate key={key} {...props}>\n {children}\n </ViewTemplate>\n );\n\n if (FORMTEMPLATES.includes(template) && showLabel) {\n // Original:\n // RenderedTemplate = (\n // <FieldGroup name={label} style={{ marginBlockStart: \"1rem\" }}>\n // {RenderedTemplate}\n // </FieldGroup>\n // );\n RenderedTemplate = (\n <div\n data-name='RenderedTemplate'\n data-template-type={template}\n /* name */ id='label'\n style={{ marginBlockStart: '1rem' }}\n className='grid-column'\n >\n {RenderedTemplate}\n </div>\n );\n }\n\n return (\n <div className='grid-column'>\n {showLabel && !NO_HEADER_TEMPLATES.includes(template) && (\n <div className='template-title-container'>\n <span>{label}</span>\n </div>\n )}\n {RenderedTemplate}\n </div>\n );\n }\n\n // debugging/investigation help\n // console.log(`View about to render React.Fragment for children: ${children}`);\n\n if (children) {\n return <>{children}</>;\n }\n\n return null;\n}\n\n// Adapted from Constellation DX Component to add in additional props for some templates\nView.additionalProps = (state, getPConnect) => {\n const thePConn = getPConnect();\n const { template } = thePConn.getConfigProps();\n\n let propObj = {};\n let allFields = {};\n\n switch (template) {\n case 'CaseSummary':\n allFields = getAllFields(thePConn);\n // eslint-disable-next-line no-case-declarations\n const unresFields = {\n primaryFields: allFields[0],\n secondaryFields: allFields[1]\n };\n propObj = thePConn.resolveConfigProps(unresFields);\n break;\n\n case 'Details':\n allFields = getAllFields(thePConn);\n propObj = { fields: allFields[0] };\n break;\n\n default:\n break;\n }\n\n return propObj;\n};\n"]}
@@ -33,7 +33,3 @@
33
33
  .progress-spinner {
34
34
  text-align: center;
35
35
  }
36
-
37
- ::ng-deep snack-bar-container.snackbar-newline {
38
- white-space: pre-line;
39
- }
@@ -8,6 +8,7 @@ interface FieldGroupTemplateProps extends PConnProps {
8
8
  displayMode?: string;
9
9
  fieldHeader?: string;
10
10
  allowTableEdit: boolean;
11
+ allowActions?: any;
11
12
  }
12
13
  export default function FieldGroupTemplate(props: FieldGroupTemplateProps): import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroupTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,uBAAwB,SAAQ,UAAU;IAElD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA0FxE"}
1
+ {"version":3,"file":"FieldGroupTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,uBAAwB,SAAQ,UAAU;IAElD,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAgGxE"}
@@ -6,13 +6,17 @@ export default function FieldGroupTemplate(props) {
6
6
  // Get emitted components from map (so we can get any override that may exist)
7
7
  const FieldGroup = getComponentFromMap('FieldGroup');
8
8
  const FieldGroupList = getComponentFromMap('FieldGroupList');
9
- const { referenceList = [], renderMode, contextClass, getPConnect, lookForChildInConfig, heading = '', displayMode, fieldHeader, allowTableEdit: allowAddEdit } = props;
9
+ const { referenceList = [], renderMode, contextClass, getPConnect, lookForChildInConfig, heading = '', displayMode, fieldHeader, allowActions, allowTableEdit: allowAddEdit } = props;
10
10
  const pConn = getPConnect();
11
11
  const resolvedList = getReferenceList(pConn);
12
12
  pConn.setReferenceList(resolvedList);
13
13
  const pageReference = `${pConn.getPageReference()}${resolvedList}`;
14
14
  const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'DISPLAY_ONLY';
15
15
  const HEADING = heading ?? 'Row';
16
+ const hasAllowActions = Object.keys(allowActions ?? {}).length > 0;
17
+ const { allowAdd: actionAdd, allowDelete: actionDelete } = allowActions ?? {};
18
+ const allowAdd = hasAllowActions ? (actionAdd ?? true) : (allowAddEdit ?? true);
19
+ const allowDelete = hasAllowActions ? (actionDelete ?? true) : (allowAddEdit ?? true);
16
20
  useLayoutEffect(() => {
17
21
  if (!isReadonlyMode) {
18
22
  // @ts-expect-error - Expected 3 arguments, but got 1
@@ -45,7 +49,7 @@ export default function FieldGroupTemplate(props) {
45
49
  pConn.getListActions().deleteEntry(index);
46
50
  }
47
51
  };
48
- if (referenceList.length === 0 && allowAddEdit !== false) {
52
+ if (referenceList.length === 0 && allowAdd) {
49
53
  addFieldGroupItem();
50
54
  }
51
55
  const MemoisedChildren = useMemo(() => {
@@ -55,7 +59,7 @@ export default function FieldGroupTemplate(props) {
55
59
  children: buildView(pConn, index, lookForChildInConfig)
56
60
  }));
57
61
  }, [referenceList?.length]);
58
- return (_jsx(FieldGroupList, { items: MemoisedChildren, onAdd: allowAddEdit !== false ? addFieldGroupItem : undefined, onDelete: allowAddEdit !== false ? deleteFieldGroupItem : undefined }));
62
+ return (_jsx(FieldGroupList, { items: MemoisedChildren, onAdd: allowAdd ? addFieldGroupItem : undefined, onDelete: allowDelete ? deleteFieldGroupItem : undefined }));
59
63
  }
60
64
  pConn.setInheritedProp('displayMode', 'DISPLAY_ONLY');
61
65
  const memoisedReadOnlyList = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useLayoutEffect, useMemo } from 'react';\n\nimport { getReferenceList, buildView } from '../../helpers/field-group-utils';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface FieldGroupTemplateProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n referenceList?: any[];\n contextClass: string;\n renderMode?: string;\n heading?: string;\n lookForChildInConfig?: boolean;\n displayMode?: string;\n fieldHeader?: string;\n allowTableEdit: boolean;\n}\n\nexport default function FieldGroupTemplate(props: FieldGroupTemplateProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n const FieldGroupList = getComponentFromMap('FieldGroupList');\n\n const {\n referenceList = [],\n renderMode,\n contextClass,\n getPConnect,\n lookForChildInConfig,\n heading = '',\n displayMode,\n fieldHeader,\n allowTableEdit: allowAddEdit\n } = props;\n const pConn = getPConnect();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const pageReference = `${pConn.getPageReference()}${resolvedList}`;\n const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'DISPLAY_ONLY';\n const HEADING = heading ?? 'Row';\n\n useLayoutEffect(() => {\n if (!isReadonlyMode) {\n // @ts-expect-error - Expected 3 arguments, but got 1\n pConn.getListActions().initDefaultPageInstructions(resolvedList);\n }\n }, [referenceList?.length]);\n\n const getDynamicHeaderProp = (item, index) => {\n if (fieldHeader === 'propertyRef' && heading && item[heading.substring(1)]) {\n return item[heading.substring(1)];\n }\n return `Row ${index + 1}`;\n };\n\n const addRecord = () => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length, pageReference);\n } else {\n pConn.getListActions().insert({}, referenceList.length);\n }\n };\n\n if (!isReadonlyMode) {\n const addFieldGroupItem = () => {\n addRecord();\n };\n const deleteFieldGroupItem = index => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().deleteEntry(index, pageReference);\n } else {\n pConn.getListActions().deleteEntry(index);\n }\n };\n if (referenceList.length === 0 && allowAddEdit !== false) {\n addFieldGroupItem();\n }\n\n const MemoisedChildren = useMemo(() => {\n return referenceList.map((item, index) => ({\n id: index,\n name: fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`,\n children: buildView(pConn, index, lookForChildInConfig)\n }));\n }, [referenceList?.length]);\n\n return (\n <FieldGroupList\n items={MemoisedChildren}\n onAdd={allowAddEdit !== false ? addFieldGroupItem : undefined}\n onDelete={allowAddEdit !== false ? deleteFieldGroupItem : undefined}\n />\n );\n }\n\n pConn.setInheritedProp('displayMode', 'DISPLAY_ONLY');\n const memoisedReadOnlyList = useMemo(() => {\n return referenceList.map((item, index) => {\n const key = item[heading] || `field-group-row-${index}`;\n return (\n <FieldGroup key={key} name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}>\n {buildView(pConn, index, lookForChildInConfig)}\n </FieldGroup>\n );\n });\n }, []);\n\n return <div>{memoisedReadOnlyList}</div>;\n}\n"]}
1
+ {"version":3,"file":"FieldGroupTemplate.js","sourceRoot":"","sources":["../../../../src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAgBhF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAA8B;IACvE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAE7D,MAAM,EACJ,aAAa,GAAG,EAAE,EAClB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,OAAO,GAAG,EAAE,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,cAAc,EAAE,YAAY,EAC7B,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC7C,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,KAAK,UAAU,IAAI,WAAW,KAAK,cAAc,CAAC;IACnF,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;IAEjC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;IAC9E,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAEtF,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,qDAAqD;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5B,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,WAAW,KAAK,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,SAAS,EAAE,CAAC;QACd,CAAC,CAAC;QACF,MAAM,oBAAoB,GAAG,KAAK,CAAC,EAAE;YACnC,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;YACpC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzC,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE;gBACnG,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC;aACxD,CAAC,CAAC,CAAC;QACN,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QAE5B,OAAO,CACL,KAAC,cAAc,IACb,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAC/C,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,GACxD,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,mBAAmB,KAAK,EAAE,CAAC;YACxD,OAAO,CACL,KAAC,UAAU,IAAW,IAAI,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,YACtH,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAD/B,GAAG,CAEP,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,wBAAM,oBAAoB,GAAO,CAAC;AAC3C,CAAC","sourcesContent":["import { useLayoutEffect, useMemo } from 'react';\n\nimport { getReferenceList, buildView } from '../../helpers/field-group-utils';\nimport { getComponentFromMap } from '../../../bridge/helpers/sdk_component_map';\nimport type { PConnProps } from '../../../types/PConnProps';\n\ninterface FieldGroupTemplateProps extends PConnProps {\n // If any, enter additional props that only exist on this component\n referenceList?: any[];\n contextClass: string;\n renderMode?: string;\n heading?: string;\n lookForChildInConfig?: boolean;\n displayMode?: string;\n fieldHeader?: string;\n allowTableEdit: boolean;\n allowActions?: any;\n}\n\nexport default function FieldGroupTemplate(props: FieldGroupTemplateProps) {\n // Get emitted components from map (so we can get any override that may exist)\n const FieldGroup = getComponentFromMap('FieldGroup');\n const FieldGroupList = getComponentFromMap('FieldGroupList');\n\n const {\n referenceList = [],\n renderMode,\n contextClass,\n getPConnect,\n lookForChildInConfig,\n heading = '',\n displayMode,\n fieldHeader,\n allowActions,\n allowTableEdit: allowAddEdit\n } = props;\n const pConn = getPConnect();\n const resolvedList = getReferenceList(pConn);\n pConn.setReferenceList(resolvedList);\n const pageReference = `${pConn.getPageReference()}${resolvedList}`;\n const isReadonlyMode = renderMode === 'ReadOnly' || displayMode === 'DISPLAY_ONLY';\n const HEADING = heading ?? 'Row';\n\n const hasAllowActions = Object.keys(allowActions ?? {}).length > 0;\n const { allowAdd: actionAdd, allowDelete: actionDelete } = allowActions ?? {};\n const allowAdd = hasAllowActions ? (actionAdd ?? true) : (allowAddEdit ?? true);\n const allowDelete = hasAllowActions ? (actionDelete ?? true) : (allowAddEdit ?? true);\n\n useLayoutEffect(() => {\n if (!isReadonlyMode) {\n // @ts-expect-error - Expected 3 arguments, but got 1\n pConn.getListActions().initDefaultPageInstructions(resolvedList);\n }\n }, [referenceList?.length]);\n\n const getDynamicHeaderProp = (item, index) => {\n if (fieldHeader === 'propertyRef' && heading && item[heading.substring(1)]) {\n return item[heading.substring(1)];\n }\n return `Row ${index + 1}`;\n };\n\n const addRecord = () => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().insert({ classID: contextClass }, referenceList.length, pageReference);\n } else {\n pConn.getListActions().insert({}, referenceList.length);\n }\n };\n\n if (!isReadonlyMode) {\n const addFieldGroupItem = () => {\n addRecord();\n };\n const deleteFieldGroupItem = index => {\n if (PCore.getPCoreVersion()?.includes('8.7')) {\n pConn.getListActions().deleteEntry(index, pageReference);\n } else {\n pConn.getListActions().deleteEntry(index);\n }\n };\n if (referenceList.length === 0 && allowAdd) {\n addFieldGroupItem();\n }\n\n const MemoisedChildren = useMemo(() => {\n return referenceList.map((item, index) => ({\n id: index,\n name: fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`,\n children: buildView(pConn, index, lookForChildInConfig)\n }));\n }, [referenceList?.length]);\n\n return (\n <FieldGroupList\n items={MemoisedChildren}\n onAdd={allowAdd ? addFieldGroupItem : undefined}\n onDelete={allowDelete ? deleteFieldGroupItem : undefined}\n />\n );\n }\n\n pConn.setInheritedProp('displayMode', 'DISPLAY_ONLY');\n const memoisedReadOnlyList = useMemo(() => {\n return referenceList.map((item, index) => {\n const key = item[heading] || `field-group-row-${index}`;\n return (\n <FieldGroup key={key} name={fieldHeader === 'propertyRef' ? getDynamicHeaderProp(item, index) : `${HEADING} ${index + 1}`}>\n {buildView(pConn, index, lookForChildInConfig)}\n </FieldGroup>\n );\n });\n }, []);\n\n return <div>{memoisedReadOnlyList}</div>;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { type PropsWithChildren } from 'react';
2
+ import { type HierarchicalFormProps } from './hooks';
3
+ export default function HierarchicalForm(props: PropsWithChildren<HierarchicalFormProps>): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=HierarchicalForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchicalForm.d.ts","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/HierarchicalForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI/C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,kDAmDvF"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {} from 'react';
3
+ import { Tab, Tabs, Box, Badge, Tooltip } from '@mui/material';
4
+ import { TabContext, TabPanel } from '@mui/lab';
5
+ import { useHierarchicalForm } from './hooks';
6
+ export default function HierarchicalForm(props) {
7
+ const { currentTabId, handleTabClick, processedTabs, instructions } = useHierarchicalForm(props);
8
+ if (!currentTabId) {
9
+ return null;
10
+ }
11
+ return (_jsxs(Box, { display: 'flex', flexDirection: 'column', children: [instructions && (_jsx(Box, { mb: 2, children: _jsx("div", { dangerouslySetInnerHTML: { __html: instructions } }) })), _jsx(Box, { sx: { flexGrow: 1 }, children: _jsxs(TabContext, { value: currentTabId.toString(), children: [_jsx(Box, { sx: { borderBottom: 1, borderColor: 'divider' }, children: _jsx(Tabs, { onChange: handleTabClick, value: currentTabId.toString(), variant: 'scrollable', children: processedTabs.map((tab) => {
12
+ const tabLabel = tab.name || tab.label;
13
+ return (_jsx(Tab, { sx: { textTransform: 'none' }, label: tab.errors ? (_jsx(Tooltip, { title: `${tabLabel} has errors`, placement: 'top', children: _jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 }, children: [_jsx("span", { children: tabLabel }), _jsx(Badge, { badgeContent: tab.errors, color: 'error', sx: { '& .MuiBadge-badge': { position: 'static', transform: 'none' } } })] }) })) : (tabLabel), value: tab.id?.toString() }, tab.id));
14
+ }) }) }), processedTabs.map((tab) => (_jsx(TabPanel, { value: tab.id?.toString(), tabIndex: +tab.id, keepMounted: true, sx: { px: 0 }, children: _jsx("div", { children: tab.content ? tab.content : 'No content exists' }) }, tab.id)))] }) })] }));
15
+ }
16
+ //# sourceMappingURL=HierarchicalForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HierarchicalForm.js","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/HierarchicalForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAA8B,MAAM,SAAS,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAA+C;IACtF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEjG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,QAAQ,aACvC,YAAY,IAAI,CACf,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,cAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAI,GACtD,CACP,EACD,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YACtB,MAAC,UAAU,IAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,aACxC,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,YAClD,KAAC,IAAI,IAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAC,YAAY,YACjF,aAAa,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;oCAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;oCACvC,OAAO,CACL,KAAC,GAAG,IAEF,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAC7B,KAAK,EACH,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CACX,KAAC,OAAO,IAAC,KAAK,EAAE,GAAG,QAAQ,aAAa,EAAE,SAAS,EAAC,KAAK,YACvD,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aACxD,yBAAO,QAAQ,GAAQ,EACvB,KAAC,KAAK,IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,GAAI,IACrH,GACE,CACX,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,EAEH,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAdpB,GAAG,CAAC,EAAE,CAeX,CACH,CAAC;gCACJ,CAAC,CAAC,GACG,GACH,EACL,aAAa,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAC/B,KAAC,QAAQ,IAAc,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAC5F,wBAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAO,IAD/C,GAAG,CAAC,EAAE,CAEV,CACZ,CAAC,IACS,GACT,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { type PropsWithChildren } from 'react';\nimport { Tab, Tabs, Box, Badge, Tooltip } from '@mui/material';\nimport { TabContext, TabPanel } from '@mui/lab';\n\nimport { useHierarchicalForm, type HierarchicalFormProps } from './hooks';\n\nexport default function HierarchicalForm(props: PropsWithChildren<HierarchicalFormProps>) {\n const { currentTabId, handleTabClick, processedTabs, instructions } = useHierarchicalForm(props);\n\n if (!currentTabId) {\n return null;\n }\n\n return (\n <Box display='flex' flexDirection='column'>\n {instructions && (\n <Box mb={2}>\n <div dangerouslySetInnerHTML={{ __html: instructions }} />\n </Box>\n )}\n <Box sx={{ flexGrow: 1 }}>\n <TabContext value={currentTabId.toString()}>\n <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>\n <Tabs onChange={handleTabClick} value={currentTabId.toString()} variant='scrollable'>\n {processedTabs.map((tab: any) => {\n const tabLabel = tab.name || tab.label;\n return (\n <Tab\n key={tab.id}\n sx={{ textTransform: 'none' }}\n label={\n tab.errors ? (\n <Tooltip title={`${tabLabel} has errors`} placement='top'>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <span>{tabLabel}</span>\n <Badge badgeContent={tab.errors} color='error' sx={{ '& .MuiBadge-badge': { position: 'static', transform: 'none' } }} />\n </Box>\n </Tooltip>\n ) : (\n tabLabel\n )\n }\n value={tab.id?.toString()}\n />\n );\n })}\n </Tabs>\n </Box>\n {processedTabs.map((tab: any) => (\n <TabPanel key={tab.id} value={tab.id?.toString()} tabIndex={+tab.id} keepMounted sx={{ px: 0 }}>\n <div>{tab.content ? tab.content : 'No content exists'}</div>\n </TabPanel>\n ))}\n </TabContext>\n </Box>\n </Box>\n );\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { type PropsWithChildren, type SyntheticEvent } from 'react';
2
+ import type { PConnProps } from '../../../types/PConnProps';
3
+ export interface HierarchicalFormProps extends PConnProps {
4
+ tabsVisibility?: Record<string, boolean>;
5
+ template?: string;
6
+ instructions?: string;
7
+ lastUpdateCaseTime?: string | number;
8
+ }
9
+ export declare function useHierarchicalForm(props: PropsWithChildren<HierarchicalFormProps>): {
10
+ currentTabId: any;
11
+ handleTabClick: (event: SyntheticEvent, id: string) => void;
12
+ processedTabs: any[];
13
+ instructions: string | undefined;
14
+ };
15
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAKjI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,qBAAqB,CAAC;;4BAoGvE,cAAc,MAAM,MAAM;;;EAoGrC"}
@@ -0,0 +1,163 @@
1
+ import { useState, useEffect, useMemo, useCallback, useRef, Children } from 'react';
2
+ import useGetTabsCount from '../../../hooks/useGetTabsCount';
3
+ import { searchtabsClick as tabClick, getActiveTabId, getFirstVisibleTabId } from '../SubTabs/tabUtils';
4
+ import { getInstructions } from '../../helpers/template-utils';
5
+ const ComponentName = 'HierarchicalForm';
6
+ const getLandingPageViewName = (contextName) => {
7
+ const target = contextName.substring(0, contextName.lastIndexOf('_'));
8
+ const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(target);
9
+ const containerItemData = PCore.getContainerUtils().getContainerItemData(target, activeContainerItemID);
10
+ return containerItemData?.view?.config?.name;
11
+ };
12
+ export function useHierarchicalForm(props) {
13
+ const { children = [], getPConnect, tabsVisibility = {}, template } = props;
14
+ const [tabErrors, setTabErrors] = useState({});
15
+ const tabErrorsRef = useRef({});
16
+ const submitAttemptedRef = useRef(false);
17
+ const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;
18
+ const fullCaseId = getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);
19
+ const deferLoadedTabs = Children.toArray(children)[0];
20
+ deferLoadedTabs.props.getPConnect().setInheritedProp('template', template);
21
+ const navigationKey = useMemo(() => {
22
+ const parentNavKey = `${getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID) || getLandingPageViewName(getPConnect().getContextName())}`;
23
+ return `${parentNavKey}-${getPConnect().getMetadata()?.name}-${ComponentName}`;
24
+ }, []);
25
+ const instructions = getInstructions(getPConnect(), props.instructions);
26
+ const storedTab = PCore.getNavigationUtils().getComponentState(navigationKey)?.activeTab;
27
+ const tabsFromChildren = deferLoadedTabs.props.getPConnect().getChildren();
28
+ const firstTabId = getFirstVisibleTabId(deferLoadedTabs, undefined);
29
+ const [currentTabId, setCurrentTabId] = useState(getActiveTabId(tabsFromChildren, storedTab || firstTabId));
30
+ const [tabVisibilityStr, setTabVisibilityStr] = useState('');
31
+ const { data: tabData, refreshTabData } = useGetTabsCount(deferLoadedTabs, 'hierarchical', currentTabId, template);
32
+ const handleCaseRefresh = (message) => {
33
+ if (message.subtype === 'tab') {
34
+ refreshTabData();
35
+ }
36
+ };
37
+ useEffect(() => {
38
+ let index = 0;
39
+ let caseSubId = '';
40
+ deferLoadedTabs.props
41
+ .getPConnect()
42
+ .getChildren()
43
+ ?.forEach((child) => {
44
+ const rawConfigProps = child.getPConnect().getRawConfigProps();
45
+ if ('visibility' in rawConfigProps) {
46
+ tabsVisibility[`${index}`] = rawConfigProps.visibility;
47
+ }
48
+ index += 1;
49
+ });
50
+ getPConnect().registerAdditionalProps({ tabsVisibility });
51
+ getPConnect().registerAdditionalProps({ lastUpdateCaseTime: '@P caseInfo.lastUpdateTime' });
52
+ if (fullCaseId) {
53
+ caseSubId = PCore.getMessagingServiceManager().getCaseSubscription(fullCaseId).subscribe({ caseId: fullCaseId }, handleCaseRefresh);
54
+ }
55
+ return () => {
56
+ if (fullCaseId)
57
+ PCore.getMessagingServiceManager().getCaseSubscription(fullCaseId).unsubscribe(caseSubId);
58
+ };
59
+ }, []);
60
+ useEffect(() => {
61
+ refreshTabData();
62
+ }, [lastUpdateCaseTime]);
63
+ useEffect(() => {
64
+ const isVisibilityAvailable = Object.values(tabsVisibility).length > 0 && Object.values(tabsVisibility).every(visibility => typeof visibility === 'boolean');
65
+ if (isVisibilityAvailable) {
66
+ let str = '';
67
+ Object.keys(tabsVisibility).forEach(key => {
68
+ str += key + tabsVisibility[key];
69
+ });
70
+ setTabVisibilityStr(str);
71
+ }
72
+ }, [tabsVisibility]);
73
+ useEffect(() => {
74
+ if (tabData && tabData.length) {
75
+ const activeTabId = getActiveTabId(tabData, currentTabId);
76
+ if (activeTabId !== currentTabId) {
77
+ setCurrentTabId(activeTabId);
78
+ }
79
+ }
80
+ }, [tabVisibilityStr, tabData]);
81
+ useEffect(() => {
82
+ PCore.getNavigationUtils().setComponentState(navigationKey, { activeTab: currentTabId });
83
+ const activeTabNavKey = `${getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID)}-CaseView-ActiveTab`;
84
+ PCore.getNavigationUtils().setComponentState(activeTabNavKey, { id: currentTabId });
85
+ return () => {
86
+ if (getPConnect().getContextName()?.includes('/modal')) {
87
+ PCore.getNavigationUtils().setComponentState(navigationKey, { activeTab: firstTabId });
88
+ }
89
+ };
90
+ }, [currentTabId, children]);
91
+ const handleTabClick = useCallback((event, id) => {
92
+ tabClick(id, tabData, currentTabId, setCurrentTabId);
93
+ }, [tabData, currentTabId]);
94
+ const tabItems = useMemo(() => tabData?.filter((tab) => tab.visibility()) ?? [], [tabData, tabVisibilityStr]);
95
+ const tabsRef = useRef(tabItems);
96
+ tabsRef.current = tabItems;
97
+ const updateTabErrorsOnViewMutate = useCallback((messageObject, tab) => {
98
+ if (!messageObject.type) {
99
+ return;
100
+ }
101
+ const previousTabErrors = tabErrorsRef.current;
102
+ let currentTabState = previousTabErrors[tab.id] || {};
103
+ const { MESSAGES_TYPE_ERROR } = PCore.getConstants().MESSAGES;
104
+ if (messageObject.type !== MESSAGES_TYPE_ERROR) {
105
+ delete currentTabState[messageObject.fieldName];
106
+ currentTabState = Object.keys(currentTabState).length > 0 ? currentTabState : undefined;
107
+ }
108
+ else {
109
+ currentTabState = { ...currentTabState, [messageObject.fieldName]: messageObject.messages };
110
+ }
111
+ const newErrors = { ...previousTabErrors, [tab.id]: currentTabState };
112
+ tabErrorsRef.current = newErrors;
113
+ setTabErrors(newErrors);
114
+ }, []);
115
+ useEffect(() => {
116
+ const rawConfig = '_rawConfig';
117
+ tabItems.forEach((tab) => {
118
+ PCore.getContextTreeManager().onViewMutate(tab.getPConnect().getContextName(), tab.getPConnect().getPageReference(), tab.getPConnect()[rawConfig].config?.name, (messageObject) => updateTabErrorsOnViewMutate(messageObject, tab));
119
+ });
120
+ }, [tabItems, updateTabErrorsOnViewMutate]);
121
+ const navigateToFirstErrorTab = useCallback(() => {
122
+ const currentErrors = tabErrorsRef.current;
123
+ const firstTabWithError = tabsRef.current.find((tab) => {
124
+ const tabErrorState = currentErrors[tab.id];
125
+ return tabErrorState && Object.keys(tabErrorState).length > 0;
126
+ });
127
+ if (firstTabWithError) {
128
+ submitAttemptedRef.current = false;
129
+ setCurrentTabId(firstTabWithError.id);
130
+ }
131
+ }, []);
132
+ const highlightFirstErrorTab = useCallback(() => {
133
+ submitAttemptedRef.current = true;
134
+ navigateToFirstErrorTab();
135
+ }, [navigateToFirstErrorTab]);
136
+ useEffect(() => {
137
+ const { CURRENT_ASSIGNMENT_UPDATED } = PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS;
138
+ PCore.getPubSubUtils().subscribe(CURRENT_ASSIGNMENT_UPDATED, () => {
139
+ tabErrorsRef.current = {};
140
+ submitAttemptedRef.current = false;
141
+ setTabErrors({});
142
+ }, 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm');
143
+ PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.ERROR_ON_FINISH_ASSIGNMENT, highlightFirstErrorTab, 'ERROR_ON_FINISH_ASSIGNMENT-HierarchicalForm');
144
+ return () => {
145
+ PCore.getPubSubUtils().unsubscribe(CURRENT_ASSIGNMENT_UPDATED, 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm');
146
+ PCore.getPubSubUtils().unsubscribe(PCore.getConstants().PUB_SUB_EVENTS.ERROR_ON_FINISH_ASSIGNMENT, 'ERROR_ON_FINISH_ASSIGNMENT-HierarchicalForm');
147
+ };
148
+ }, []);
149
+ useEffect(() => {
150
+ if (submitAttemptedRef.current) {
151
+ navigateToFirstErrorTab();
152
+ }
153
+ }, [tabErrors, navigateToFirstErrorTab]);
154
+ const processedTabs = useMemo(() => {
155
+ return tabItems.map(tab => {
156
+ const errorKeys = Object.keys(tabErrors[tab.id] ?? {});
157
+ const errors = errorKeys.length > 0 ? errorKeys.reduce((sum, fieldName) => sum + tabErrors[tab.id][fieldName].length, 0) : undefined;
158
+ return { ...tab, errors };
159
+ });
160
+ }, [tabItems, tabErrors]);
161
+ return { currentTabId, handleTabClick, processedTabs, instructions };
162
+ }
163
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useMemo, useCallback, useRef, Children, type PropsWithChildren, type SyntheticEvent } from 'react';\n\nimport useGetTabsCount from '../../../hooks/useGetTabsCount';\nimport { searchtabsClick as tabClick, getActiveTabId, getFirstVisibleTabId } from '../SubTabs/tabUtils';\nimport { getInstructions } from '../../helpers/template-utils';\nimport type { PConnProps } from '../../../types/PConnProps';\n\nconst ComponentName = 'HierarchicalForm';\n\nconst getLandingPageViewName = (contextName: string) => {\n const target = contextName.substring(0, contextName.lastIndexOf('_'));\n const activeContainerItemID = PCore.getContainerUtils().getActiveContainerItemName(target);\n const containerItemData = PCore.getContainerUtils().getContainerItemData(target, activeContainerItemID);\n return containerItemData?.view?.config?.name;\n};\n\nexport interface HierarchicalFormProps extends PConnProps {\n tabsVisibility?: Record<string, boolean>;\n template?: string;\n instructions?: string;\n lastUpdateCaseTime?: string | number;\n}\n\nexport function useHierarchicalForm(props: PropsWithChildren<HierarchicalFormProps>) {\n const { children = [], getPConnect, tabsVisibility = {}, template } = props;\n const [tabErrors, setTabErrors] = useState<Record<string, any>>({});\n const tabErrorsRef = useRef<Record<string, any>>({});\n const submitAttemptedRef = useRef(false);\n const { lastUpdateCaseTime = getPConnect().getValue('caseInfo.lastUpdateTime') } = props;\n const fullCaseId = getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID);\n\n const deferLoadedTabs: any = Children.toArray(children)[0];\n deferLoadedTabs.props.getPConnect().setInheritedProp('template', template);\n\n const navigationKey = useMemo(() => {\n const parentNavKey = `${\n getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID) || getLandingPageViewName(getPConnect().getContextName())\n }`;\n return `${parentNavKey}-${getPConnect().getMetadata()?.name}-${ComponentName}`;\n }, []);\n\n const instructions = getInstructions(getPConnect(), props.instructions);\n\n const storedTab = (PCore.getNavigationUtils().getComponentState(navigationKey) as any)?.activeTab;\n\n const tabsFromChildren = deferLoadedTabs.props.getPConnect().getChildren();\n\n const firstTabId = getFirstVisibleTabId(deferLoadedTabs, undefined);\n\n const [currentTabId, setCurrentTabId] = useState(getActiveTabId(tabsFromChildren, storedTab || firstTabId));\n const [tabVisibilityStr, setTabVisibilityStr] = useState('');\n const { data: tabData, refreshTabData } = useGetTabsCount(deferLoadedTabs, 'hierarchical', currentTabId, template);\n\n const handleCaseRefresh = (message: any) => {\n if (message.subtype === 'tab') {\n refreshTabData();\n }\n };\n\n useEffect(() => {\n let index = 0;\n let caseSubId = '';\n deferLoadedTabs.props\n .getPConnect()\n .getChildren()\n ?.forEach((child: any) => {\n const rawConfigProps = child.getPConnect().getRawConfigProps();\n if ('visibility' in rawConfigProps) {\n tabsVisibility[`${index}`] = rawConfigProps.visibility;\n }\n index += 1;\n });\n\n getPConnect().registerAdditionalProps({ tabsVisibility });\n getPConnect().registerAdditionalProps({ lastUpdateCaseTime: '@P caseInfo.lastUpdateTime' });\n\n if (fullCaseId) {\n caseSubId = PCore.getMessagingServiceManager().getCaseSubscription(fullCaseId).subscribe({ caseId: fullCaseId }, handleCaseRefresh);\n }\n\n return () => {\n if (fullCaseId) PCore.getMessagingServiceManager().getCaseSubscription(fullCaseId).unsubscribe(caseSubId);\n };\n }, []);\n\n useEffect(() => {\n refreshTabData();\n }, [lastUpdateCaseTime]);\n\n useEffect(() => {\n const isVisibilityAvailable =\n Object.values(tabsVisibility).length > 0 && Object.values(tabsVisibility).every(visibility => typeof visibility === 'boolean');\n if (isVisibilityAvailable) {\n let str = '';\n Object.keys(tabsVisibility).forEach(key => {\n str += key + tabsVisibility[key];\n });\n setTabVisibilityStr(str);\n }\n }, [tabsVisibility]);\n\n useEffect(() => {\n if (tabData && tabData.length) {\n const activeTabId = getActiveTabId(tabData, currentTabId);\n if (activeTabId !== currentTabId) {\n setCurrentTabId(activeTabId);\n }\n }\n }, [tabVisibilityStr, tabData]);\n\n useEffect(() => {\n PCore.getNavigationUtils().setComponentState(navigationKey, { activeTab: currentTabId });\n const activeTabNavKey = `${getPConnect().getValue(PCore.getConstants().CASE_INFO.CASE_INFO_ID)}-CaseView-ActiveTab`;\n PCore.getNavigationUtils().setComponentState(activeTabNavKey, { id: currentTabId });\n\n return () => {\n if (getPConnect().getContextName()?.includes('/modal')) {\n PCore.getNavigationUtils().setComponentState(navigationKey, { activeTab: firstTabId });\n }\n };\n }, [currentTabId, children]);\n\n const handleTabClick = useCallback(\n (event: SyntheticEvent, id: string) => {\n tabClick(id, tabData, currentTabId, setCurrentTabId);\n },\n [tabData, currentTabId]\n );\n\n const tabItems = useMemo(() => tabData?.filter((tab: any) => tab.visibility()) ?? [], [tabData, tabVisibilityStr]);\n\n const tabsRef = useRef(tabItems);\n tabsRef.current = tabItems;\n\n const updateTabErrorsOnViewMutate = useCallback((messageObject: any, tab: any) => {\n if (!messageObject.type) {\n return;\n }\n const previousTabErrors = tabErrorsRef.current;\n let currentTabState = previousTabErrors[tab.id] || {};\n const { MESSAGES_TYPE_ERROR } = PCore.getConstants().MESSAGES;\n if (messageObject.type !== MESSAGES_TYPE_ERROR) {\n delete currentTabState[messageObject.fieldName];\n currentTabState = Object.keys(currentTabState).length > 0 ? currentTabState : undefined;\n } else {\n currentTabState = { ...currentTabState, [messageObject.fieldName]: messageObject.messages };\n }\n const newErrors = { ...previousTabErrors, [tab.id]: currentTabState };\n tabErrorsRef.current = newErrors;\n setTabErrors(newErrors);\n }, []);\n\n useEffect(() => {\n const rawConfig = '_rawConfig';\n tabItems.forEach((tab: any) => {\n PCore.getContextTreeManager().onViewMutate(\n tab.getPConnect().getContextName(),\n tab.getPConnect().getPageReference(),\n tab.getPConnect()[rawConfig].config?.name,\n (messageObject: any) => updateTabErrorsOnViewMutate(messageObject, tab)\n );\n });\n }, [tabItems, updateTabErrorsOnViewMutate]);\n\n const navigateToFirstErrorTab = useCallback(() => {\n const currentErrors = tabErrorsRef.current;\n const firstTabWithError = tabsRef.current.find((tab: any) => {\n const tabErrorState = currentErrors[tab.id];\n return tabErrorState && Object.keys(tabErrorState).length > 0;\n });\n if (firstTabWithError) {\n submitAttemptedRef.current = false;\n setCurrentTabId(firstTabWithError.id);\n }\n }, []);\n\n const highlightFirstErrorTab = useCallback(() => {\n submitAttemptedRef.current = true;\n navigateToFirstErrorTab();\n }, [navigateToFirstErrorTab]);\n\n useEffect(() => {\n const { CURRENT_ASSIGNMENT_UPDATED } = PCore.getConstants().PUB_SUB_EVENTS.CASE_EVENTS;\n PCore.getPubSubUtils().subscribe(\n CURRENT_ASSIGNMENT_UPDATED,\n () => {\n tabErrorsRef.current = {};\n submitAttemptedRef.current = false;\n setTabErrors({});\n },\n 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm'\n );\n\n PCore.getPubSubUtils().subscribe(\n PCore.getConstants().PUB_SUB_EVENTS.ERROR_ON_FINISH_ASSIGNMENT,\n highlightFirstErrorTab,\n 'ERROR_ON_FINISH_ASSIGNMENT-HierarchicalForm'\n );\n\n return () => {\n PCore.getPubSubUtils().unsubscribe(CURRENT_ASSIGNMENT_UPDATED, 'CURRENT_ASSIGNMENT_UPDATED-HierarchicalForm');\n PCore.getPubSubUtils().unsubscribe(\n PCore.getConstants().PUB_SUB_EVENTS.ERROR_ON_FINISH_ASSIGNMENT,\n 'ERROR_ON_FINISH_ASSIGNMENT-HierarchicalForm'\n );\n };\n }, []);\n\n useEffect(() => {\n if (submitAttemptedRef.current) {\n navigateToFirstErrorTab();\n }\n }, [tabErrors, navigateToFirstErrorTab]);\n\n const processedTabs = useMemo(() => {\n return tabItems.map(tab => {\n const errorKeys = Object.keys(tabErrors[tab.id] ?? {});\n const errors = errorKeys.length > 0 ? errorKeys.reduce((sum, fieldName) => sum + tabErrors[tab.id][fieldName].length, 0) : undefined;\n return { ...tab, errors };\n });\n }, [tabItems, tabErrors]);\n\n return { currentTabId, handleTabClick, processedTabs, instructions };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export { default } from './HierarchicalForm';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './HierarchicalForm';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/template/HierarchicalForm/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export { default } from './HierarchicalForm';\n"]}
@@ -15,6 +15,7 @@ interface ListViewProps extends PConnProps {
15
15
  viewName?: string;
16
16
  showRecords?: boolean;
17
17
  displayAs?: string;
18
+ localeReference?: string;
18
19
  }
19
20
  export default function ListView(props: ListViewProps): import("react/jsx-runtime").JSX.Element;
20
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAoCA,OAAO,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAwuCpD"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/components/template/ListView/ListView.tsx"],"names":[],"mappings":"AAoCA,OAAO,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,UAAU,aAAc,SAAQ,UAAU;IAExC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAcD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAiyCpD"}