udp-react-enterprise-component-library 26.0.1 → 26.1.0-beta.0

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 (51) hide show
  1. package/dist/UI/utilityDisplay/UtilitySideBar.d.ts.map +1 -1
  2. package/dist/UI/utilityDisplay/UtilitySideBar.js +7 -1
  3. package/dist/UI/utilityDisplay/UtilitySideBar.js.map +1 -1
  4. package/dist/UI/utilityDisplay/UtilitySideBar.mjs +8 -2
  5. package/dist/UI/utilityDisplay/UtilitySideBar.mjs.map +1 -1
  6. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts +1 -1
  7. package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.d.ts.map +1 -1
  8. package/dist/providers/QueryProvider.d.ts +8 -0
  9. package/dist/providers/QueryProvider.d.ts.map +1 -0
  10. package/dist/providers/QueryProvider.js +17 -0
  11. package/dist/providers/QueryProvider.js.map +1 -0
  12. package/dist/providers/QueryProvider.mjs +17 -0
  13. package/dist/providers/QueryProvider.mjs.map +1 -0
  14. package/dist/providers/UdpAppProvider.d.ts +8 -0
  15. package/dist/providers/UdpAppProvider.d.ts.map +1 -1
  16. package/dist/providers/UdpAppProvider.js +3 -2
  17. package/dist/providers/UdpAppProvider.js.map +1 -1
  18. package/dist/providers/UdpAppProvider.mjs +4 -3
  19. package/dist/providers/UdpAppProvider.mjs.map +1 -1
  20. package/dist/udp/utilities/useDateStringColumnDef.d.ts +1 -1
  21. package/dist/utilities/apiClient.d.ts +2 -0
  22. package/dist/utilities/apiClient.d.ts.map +1 -0
  23. package/dist/utilities/apiClient.js +9 -0
  24. package/dist/utilities/apiClient.js.map +1 -0
  25. package/dist/utilities/apiClient.mjs +17 -0
  26. package/dist/utilities/apiClient.mjs.map +1 -0
  27. package/dist/utilities/auth/UserProvider.d.ts.map +1 -1
  28. package/dist/utilities/auth/UserProvider.js +5 -2
  29. package/dist/utilities/auth/UserProvider.js.map +1 -1
  30. package/dist/utilities/auth/UserProvider.mjs +5 -2
  31. package/dist/utilities/auth/UserProvider.mjs.map +1 -1
  32. package/dist/utilities/index.d.ts +3 -0
  33. package/dist/utilities/index.d.ts.map +1 -1
  34. package/dist/utilities/index.js +3 -0
  35. package/dist/utilities/index.js.map +1 -1
  36. package/dist/utilities/tenant/TenantProvider.d.ts.map +1 -1
  37. package/dist/utilities/tenant/TenantProvider.js +7 -3
  38. package/dist/utilities/tenant/TenantProvider.js.map +1 -1
  39. package/dist/utilities/tenant/TenantProvider.mjs +3 -3
  40. package/dist/utilities/tenant/TenantProvider.mjs.map +1 -1
  41. package/dist/utilities/useApiMutation.d.ts +3 -0
  42. package/dist/utilities/useApiMutation.d.ts.map +1 -0
  43. package/dist/utilities/useApiMutation.js +9 -0
  44. package/dist/utilities/useApiMutation.js.map +1 -0
  45. package/dist/utilities/useApiQuery.d.ts +15 -0
  46. package/dist/utilities/useApiQuery.d.ts.map +1 -0
  47. package/dist/utilities/useApiQuery.js +28 -0
  48. package/dist/utilities/useApiQuery.js.map +1 -0
  49. package/dist/utilities/useApiQuery.mjs +26 -0
  50. package/dist/utilities/useApiQuery.mjs.map +1 -0
  51. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"UtilitySideBar.d.ts","sourceRoot":"","sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAkFhE,eAAO,MAAM,cAAc,mCA8F1B,CAAC"}
1
+ {"version":3,"file":"UtilitySideBar.d.ts","sourceRoot":"","sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAwFhE,eAAO,MAAM,cAAc,mCAgG1B,CAAC"}
@@ -63,6 +63,12 @@ const useStyles = makeStyles((theme) => ({
63
63
  cursor: 'col-resize'
64
64
  }
65
65
  },
66
+ contentWrapper: {
67
+ display: 'flex',
68
+ flexDirection: 'column',
69
+ height: '100%',
70
+ minHeight: 0
71
+ },
66
72
  utilityContent: {
67
73
  flex: 1,
68
74
  minHeight: 0,
@@ -95,6 +101,6 @@ export const UtilitySideBar = (props) => {
95
101
  setExpanded(utilitySidebarToggleOverride);
96
102
  }
97
103
  }, [utilitySidebarToggleOverride]);
98
- return (React.createElement(ResizableBox, { className: classes.resizableBox, width: expanded ? width : _collapsedWidth, resizeHandles: resizable && expanded ? ['e'] : [], axis: "x", minConstraints: expanded ? [EXPANDED_WIDTH] : [_collapsedWidth], maxConstraints: [MAX_WIDTH], onResize: onResize, handle: expanded && React.createElement("div", { className: classes.handle }) }, React.createElement("div", { className: classes.root, style: { width: expanded ? width : _collapsedWidth, height: '100%' } }, React.createElement("div", { className: classes.cardWrapper }, React.createElement(AmbientCard, { fullWidth: true, cardHeight: "100%", cardContentHeight: "100%", removePadding: true, lastChildBottomPadding: 12, removeTopLayoutUnit: removeTopLayoutUnit || sidebarHidden }, React.createElement("div", { className: classes.header }, expanded && (React.createElement("div", { className: classes.headerContent }, React.createElement("div", { className: classes.title }, React.createElement(Typography, { variant: "h6" }, " ", title, " ")))), React.createElement("div", { className: classes.headerToggle }, React.createElement(SidebarCollapseButton, { id: 'udpRecord-UtilitySideBar', udprecordid: 'udpRecord-UtilitySideBar', expanded: expanded, onClick: handleToggleClick }))), !isUsingChildren && React.createElement(UtilityBarInportTarget, null), isUsingChildren && (React.createElement("div", { className: classes.utilityContent }, children)))))));
104
+ return (React.createElement(ResizableBox, { className: classes.resizableBox, width: expanded ? width : _collapsedWidth, resizeHandles: resizable && expanded ? ['e'] : [], axis: "x", minConstraints: expanded ? [EXPANDED_WIDTH] : [_collapsedWidth], maxConstraints: [MAX_WIDTH], onResize: onResize, handle: expanded && React.createElement("div", { className: classes.handle }) }, React.createElement("div", { className: classes.root, style: { width: expanded ? width : _collapsedWidth, height: '100%' } }, React.createElement("div", { className: classes.cardWrapper }, React.createElement(AmbientCard, { fullWidth: true, cardHeight: "100%", cardContentHeight: "100%", removePadding: true, lastChildBottomPadding: 12, removeTopLayoutUnit: removeTopLayoutUnit || sidebarHidden }, React.createElement("div", { className: classes.contentWrapper }, React.createElement("div", { className: classes.header }, expanded && (React.createElement("div", { className: classes.headerContent }, React.createElement("div", { className: classes.title }, React.createElement(Typography, { variant: "h6" }, " ", title, " ")))), React.createElement("div", { className: classes.headerToggle }, React.createElement(SidebarCollapseButton, { id: 'udpRecord-UtilitySideBar', udprecordid: 'udpRecord-UtilitySideBar', expanded: expanded, onClick: handleToggleClick }))), !isUsingChildren && React.createElement(UtilityBarInportTarget, null), isUsingChildren && (React.createElement("div", { className: classes.utilityContent }, children))))))));
99
105
  };
100
106
  //# sourceMappingURL=UtilitySideBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtilitySideBar.js","sourceRoot":"","sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UtilitySideBar.js","sourceRoot":"","sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"names":[],"mappings":"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"}
@@ -60,6 +60,12 @@ const useStyles = makeStyles((theme) => ({
60
60
  position: "absolute",
61
61
  "&:hover": { cursor: "col-resize" }
62
62
  },
63
+ contentWrapper: {
64
+ display: "flex",
65
+ flexDirection: "column",
66
+ height: "100%",
67
+ minHeight: 0
68
+ },
63
69
  utilityContent: {
64
70
  flex: 1,
65
71
  minHeight: 0,
@@ -111,12 +117,12 @@ const UtilitySideBar = (props) => {
111
117
  removePadding: true,
112
118
  lastChildBottomPadding: 12,
113
119
  removeTopLayoutUnit: removeTopLayoutUnit || sidebarHidden
114
- }, /* @__PURE__ */ React.createElement("div", { className: classes.header }, expanded && /* @__PURE__ */ React.createElement("div", { className: classes.headerContent }, /* @__PURE__ */ React.createElement("div", { className: classes.title }, /* @__PURE__ */ React.createElement(Typography, { variant: "h6" }, " ", title, " "))), /* @__PURE__ */ React.createElement("div", { className: classes.headerToggle }, /* @__PURE__ */ React.createElement(SidebarCollapseButton, {
120
+ }, /* @__PURE__ */ React.createElement("div", { className: classes.contentWrapper }, /* @__PURE__ */ React.createElement("div", { className: classes.header }, expanded && /* @__PURE__ */ React.createElement("div", { className: classes.headerContent }, /* @__PURE__ */ React.createElement("div", { className: classes.title }, /* @__PURE__ */ React.createElement(Typography, { variant: "h6" }, " ", title, " "))), /* @__PURE__ */ React.createElement("div", { className: classes.headerToggle }, /* @__PURE__ */ React.createElement(SidebarCollapseButton, {
115
121
  id: "udpRecord-UtilitySideBar",
116
122
  udprecordid: "udpRecord-UtilitySideBar",
117
123
  expanded,
118
124
  onClick: handleToggleClick
119
- }))), !isUsingChildren && /* @__PURE__ */ React.createElement(UtilityBarInportTarget, null), isUsingChildren && /* @__PURE__ */ React.createElement("div", { className: classes.utilityContent }, children)))));
125
+ }))), !isUsingChildren && /* @__PURE__ */ React.createElement(UtilityBarInportTarget, null), isUsingChildren && /* @__PURE__ */ React.createElement("div", { className: classes.utilityContent }, children))))));
120
126
  };
121
127
  //#endregion
122
128
  export { UtilitySideBar };
@@ -1 +1 @@
1
- {"version":3,"file":"UtilitySideBar.mjs","names":[],"sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { SidebarCollapseButton } from '../../shell/ui/SidebarCollapseButton';\nimport { UtilityBarInportTarget } from '../../utilities/utilityBar/UtilityBarInport';\nimport { ResizableBox } from 'react-resizable';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../../shell/ui/useBuildEnvironment';\n\nconst EXPANDED_WIDTH = 288;\nconst COLLAPSED_WIDTH = 78;\nconst MAX_WIDTH = 700;\n\nconst useStyles = makeStyles((theme) => ({\n resizableBox: {\n position: 'relative',\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'flex',\n flexDirection: 'column',\n minHeight: 0\n },\n root: {\n paddingTop: (props) =>\n props.removePadding || props.sidebarHidden ? 0 : 40,\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n minHeight: 0\n },\n cardWrapper: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n },\n headerToggle: {\n // marginTop: 200\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%'\n },\n headerContent: {\n display: (props) => (props.hideTitleBar ? 'none' : 'flex'),\n width: '100%',\n paddingLeft: 12\n },\n title: {\n flex: 1,\n width: '100%',\n paddingTop: 7\n },\n expandedWidth: {\n width: 288\n },\n handle: {\n top: 0,\n right: theme.spacing(-0.75),\n width: theme.spacing(0.75),\n zIndex: 10000,\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'inline-block',\n position: 'absolute',\n '&:hover': {\n cursor: 'col-resize'\n }\n },\n utilityContent: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n }\n}));\n\nexport const UtilitySideBar = (props) => {\n const {\n onUtilitySidebarToggleExpandClick,\n resizable,\n title,\n utilitySidebarToggleOverride,\n isUsingChildren = false,\n removeTopLayoutUnit = false,\n collapsedWidth,\n children,\n sidebarHidden,\n handleResize = null\n } = props;\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const [expanded, setExpanded] = useState(true);\n const [width, setWidth] = useState(EXPANDED_WIDTH);\n const _collapsedWidth = collapsedWidth ?? COLLAPSED_WIDTH;\n\n const onResize = (event, { element, size, handle }) => {\n setWidth(size.width);\n if (handleResize) {\n handleResize(size.width);\n }\n };\n\n const handleToggleClick = useCallback(() => {\n if (onUtilitySidebarToggleExpandClick) {\n onUtilitySidebarToggleExpandClick();\n }\n setExpanded((expanded) => !expanded);\n }, [onUtilitySidebarToggleExpandClick]);\n\n useEffect(() => {\n if (typeof utilitySidebarToggleOverride === 'boolean') {\n setExpanded(utilitySidebarToggleOverride);\n }\n }, [utilitySidebarToggleOverride]);\n\n return (\n <ResizableBox\n className={classes.resizableBox}\n width={expanded ? width : _collapsedWidth}\n resizeHandles={resizable && expanded ? ['e'] : []}\n axis='x'\n minConstraints={expanded ? [EXPANDED_WIDTH] : [_collapsedWidth]}\n maxConstraints={[MAX_WIDTH]}\n onResize={onResize}\n handle={expanded && <div className={classes.handle} />}\n >\n <div\n className={classes.root}\n style={{ width: expanded ? width : _collapsedWidth, height: '100%' }}\n >\n <div className={classes.cardWrapper}>\n <AmbientCard\n fullWidth\n cardHeight='100%'\n cardContentHeight='100%'\n removePadding\n lastChildBottomPadding={12}\n removeTopLayoutUnit={removeTopLayoutUnit || sidebarHidden}\n >\n <div className={classes.header}>\n {expanded && (\n <div className={classes.headerContent}>\n <div className={classes.title}>\n <Typography variant='h6'> {title} </Typography>\n </div>\n {/* space for subheader */}\n </div>\n )}\n\n <div className={classes.headerToggle}>\n <SidebarCollapseButton\n id={'udpRecord-UtilitySideBar'}\n udprecordid={'udpRecord-UtilitySideBar'}\n expanded={expanded}\n onClick={handleToggleClick}\n />\n </div>\n </div>\n {!isUsingChildren && <UtilityBarInportTarget />}\n {isUsingChildren && (\n <div className={classes.utilityContent}>{children}</div>\n )}\n </AmbientCard>\n </div>\n </div>\n </ResizableBox>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"UtilitySideBar.mjs","names":[],"sources":["../../../src/UI/utilityDisplay/UtilitySideBar.jsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { makeStyles, Typography } from '@material-ui/core';\nimport { AmbientCard } from '../surfaces/cards/AmbientCard';\nimport { SidebarCollapseButton } from '../../shell/ui/SidebarCollapseButton';\nimport { UtilityBarInportTarget } from '../../utilities/utilityBar/UtilityBarInport';\nimport { ResizableBox } from 'react-resizable';\nimport {\n APP_RIBBON_SPACE,\n useBuildEnvironment\n} from '../../shell/ui/useBuildEnvironment';\n\nconst EXPANDED_WIDTH = 288;\nconst COLLAPSED_WIDTH = 78;\nconst MAX_WIDTH = 700;\n\nconst useStyles = makeStyles((theme) => ({\n resizableBox: {\n position: 'relative',\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'flex',\n flexDirection: 'column',\n minHeight: 0\n },\n root: {\n paddingTop: (props) =>\n props.removePadding || props.sidebarHidden ? 0 : 40,\n overflow: 'hidden',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n minHeight: 0\n },\n cardWrapper: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n },\n headerToggle: {\n // marginTop: 200\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%'\n },\n headerContent: {\n display: (props) => (props.hideTitleBar ? 'none' : 'flex'),\n width: '100%',\n paddingLeft: 12\n },\n title: {\n flex: 1,\n width: '100%',\n paddingTop: 7\n },\n expandedWidth: {\n width: 288\n },\n handle: {\n top: 0,\n right: theme.spacing(-0.75),\n width: theme.spacing(0.75),\n zIndex: 10000,\n height: ({ appRibbonSpace }) => `calc(100vh - ${appRibbonSpace + 56}px)`,\n display: 'inline-block',\n position: 'absolute',\n '&:hover': {\n cursor: 'col-resize'\n }\n },\n contentWrapper: {\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n minHeight: 0\n },\n utilityContent: {\n flex: 1,\n minHeight: 0,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n }\n}));\n\nexport const UtilitySideBar = (props) => {\n const {\n onUtilitySidebarToggleExpandClick,\n resizable,\n title,\n utilitySidebarToggleOverride,\n isUsingChildren = false,\n removeTopLayoutUnit = false,\n collapsedWidth,\n children,\n sidebarHidden,\n handleResize = null\n } = props;\n const buildEnv = useBuildEnvironment();\n const classes = useStyles({\n ...props,\n appRibbonSpace: buildEnv ? APP_RIBBON_SPACE : 0\n });\n const [expanded, setExpanded] = useState(true);\n const [width, setWidth] = useState(EXPANDED_WIDTH);\n const _collapsedWidth = collapsedWidth ?? COLLAPSED_WIDTH;\n\n const onResize = (event, { element, size, handle }) => {\n setWidth(size.width);\n if (handleResize) {\n handleResize(size.width);\n }\n };\n\n const handleToggleClick = useCallback(() => {\n if (onUtilitySidebarToggleExpandClick) {\n onUtilitySidebarToggleExpandClick();\n }\n setExpanded((expanded) => !expanded);\n }, [onUtilitySidebarToggleExpandClick]);\n\n useEffect(() => {\n if (typeof utilitySidebarToggleOverride === 'boolean') {\n setExpanded(utilitySidebarToggleOverride);\n }\n }, [utilitySidebarToggleOverride]);\n\n return (\n <ResizableBox\n className={classes.resizableBox}\n width={expanded ? width : _collapsedWidth}\n resizeHandles={resizable && expanded ? ['e'] : []}\n axis='x'\n minConstraints={expanded ? [EXPANDED_WIDTH] : [_collapsedWidth]}\n maxConstraints={[MAX_WIDTH]}\n onResize={onResize}\n handle={expanded && <div className={classes.handle} />}\n >\n <div\n className={classes.root}\n style={{ width: expanded ? width : _collapsedWidth, height: '100%' }}\n >\n <div className={classes.cardWrapper}>\n <AmbientCard\n fullWidth\n cardHeight='100%'\n cardContentHeight='100%'\n removePadding\n lastChildBottomPadding={12}\n removeTopLayoutUnit={removeTopLayoutUnit || sidebarHidden}\n >\n <div className={classes.contentWrapper}>\n <div className={classes.header}>\n {expanded && (\n <div className={classes.headerContent}>\n <div className={classes.title}>\n <Typography variant='h6'> {title} </Typography>\n </div>\n {/* space for subheader */}\n </div>\n )}\n\n <div className={classes.headerToggle}>\n <SidebarCollapseButton\n id={'udpRecord-UtilitySideBar'}\n udprecordid={'udpRecord-UtilitySideBar'}\n expanded={expanded}\n onClick={handleToggleClick}\n />\n </div>\n </div>\n {!isUsingChildren && <UtilityBarInportTarget />}\n {isUsingChildren && (\n <div className={classes.utilityContent}>{children}</div>\n )}\n </div>\n </AmbientCard>\n </div>\n </div>\n </ResizableBox>\n );\n};\n"],"mappings":"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"}
@@ -5,7 +5,6 @@ export declare const TableColumnDefs: (actionList: any) => ({
5
5
  wrapText: boolean;
6
6
  autoHeight: boolean;
7
7
  sortable: boolean;
8
- filter?: undefined;
9
8
  pinned?: undefined;
10
9
  cellRenderer?: undefined;
11
10
  // minWidth: 50,
@@ -14,6 +13,7 @@ export declare const TableColumnDefs: (actionList: any) => ({
14
13
  maxWidth?: undefined;
15
14
  suppressMenu?: undefined;
16
15
  cellStyle?: undefined;
16
+ filter?: undefined;
17
17
  } | {
18
18
  field?: undefined;
19
19
  wrapText?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/maintenanceEngine/tableBrowser/TableColumnDefs.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;;;;IAsBtB,gBAAgB;;;;;;;;;;;;;;IAAhB,gBAAgB;;;;;;;;;;;;;IAarB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC"}
1
+ {"version":3,"file":"TableColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/maintenanceEngine/tableBrowser/TableColumnDefs.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;;;;;;IAsBtB,gBAAgB;;;;;;;;;;;;;;;IAAhB,gBAAgB;;;;;;;;;;;;;IAarB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;CAOnC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface QueryProviderProps {
3
+ children: ReactNode;
4
+ /** When true, renders the React Query DevTools panel. Defaults to false. */
5
+ showDevTools?: boolean;
6
+ }
7
+ export declare const QueryProvider: React.FC<QueryProviderProps>;
8
+ //# sourceMappingURL=QueryProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryProvider.d.ts","sourceRoot":"","sources":["../../src/providers/QueryProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAezC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAOtD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
3
+ import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
4
+ const queryClient = new QueryClient({
5
+ defaultOptions: {
6
+ queries: {
7
+ staleTime: 5 * 60_000,
8
+ gcTime: 10 * 60_000,
9
+ retry: 1,
10
+ refetchOnWindowFocus: false,
11
+ },
12
+ },
13
+ });
14
+ export const QueryProvider = ({ children, showDevTools = false }) => {
15
+ return (React.createElement(QueryClientProvider, { client: queryClient }, children, showDevTools && React.createElement(ReactQueryDevtools, { initialIsOpen: false })));
16
+ };
17
+ //# sourceMappingURL=QueryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryProvider.js","sourceRoot":"","sources":["../../src/providers/QueryProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,CAAC,GAAG,MAAM;YACrB,MAAM,EAAE,EAAE,GAAG,MAAM;YACnB,KAAK,EAAE,CAAC;YACR,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC;IACjG,OAAO,CACL,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,IACrC,QAAQ,EACR,YAAY,IAAI,oBAAC,kBAAkB,IAAC,aAAa,EAAE,KAAK,GAAI,CACzC,CACvB,CAAC;AAAA,CACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
3
+ import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
4
+ //#region src/providers/QueryProvider.tsx
5
+ const queryClient = new QueryClient({ defaultOptions: { queries: {
6
+ staleTime: 5 * 6e4,
7
+ gcTime: 10 * 6e4,
8
+ retry: 1,
9
+ refetchOnWindowFocus: false
10
+ } } });
11
+ const QueryProvider = ({ children, showDevTools = false }) => {
12
+ return /* @__PURE__ */ React.createElement(QueryClientProvider, { client: queryClient }, children, showDevTools && /* @__PURE__ */ React.createElement(ReactQueryDevtools, { initialIsOpen: false }));
13
+ };
14
+ //#endregion
15
+ export { QueryProvider };
16
+
17
+ //# sourceMappingURL=QueryProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryProvider.mjs","names":[],"sources":["../../src/providers/QueryProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60_000,\n gcTime: 10 * 60_000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport interface QueryProviderProps {\n children: ReactNode;\n /** When true, renders the React Query DevTools panel. Defaults to false. */\n showDevTools?: boolean;\n}\n\nexport const QueryProvider: React.FC<QueryProviderProps> = ({ children, showDevTools = false }) => {\n return (\n <QueryClientProvider client={queryClient}>\n {children}\n {showDevTools && <ReactQueryDevtools initialIsOpen={false} />}\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;AAIA,MAAM,cAAc,IAAI,YAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW,IAAI;CACf,QAAQ,KAAK;CACb,OAAO;CACP,sBAAsB;CACvB,EACF,EACF,CAAC;AAQF,MAAa,iBAA+C,EAAE,UAAU,eAAe,YAAY;AACjG,QACE,sBAAA,cAAC,qBAAD,EAAqB,QAAQ,aAGP,EAFnB,UACA,gBAAgB,sBAAA,cAAC,oBAAD,EAAoB,eAAe,OAAS,CAAA,CACzC"}
@@ -1,6 +1,10 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { SnackbarProviderProps } from 'notistack';
3
3
  import type { InitializeI18nOptions } from '../utilities/i18n/initializeI18n';
4
+ export interface UdpDevToolsOptions {
5
+ /** Show the React Query DevTools panel. Defaults to false. */
6
+ query?: boolean;
7
+ }
4
8
  export interface UdpAppProviderProps {
5
9
  children: ReactNode;
6
10
  /**
@@ -17,6 +21,10 @@ export interface UdpAppProviderProps {
17
21
  * Optional configuration overrides for the shared i18n instance.
18
22
  */
19
23
  i18nOptions?: InitializeI18nOptions;
24
+ /**
25
+ * Enable developer tools for debugging. All options default to false.
26
+ */
27
+ devTools?: UdpDevToolsOptions;
20
28
  }
21
29
  /**
22
30
  * Bundles the core UDP providers (theme, snackbar, auth) and ensures the shared
@@ -1 +1 @@
1
- {"version":3,"file":"UdpAppProvider.d.ts","sourceRoot":"","sources":["../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAIpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAK9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsBxD,CAAC"}
1
+ {"version":3,"file":"UdpAppProvider.d.ts","sourceRoot":"","sources":["../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAIpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAM9E,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyBxD,CAAC"}
@@ -6,17 +6,18 @@ import { initializeUnityI18n } from '../utilities/i18n/initializeI18n';
6
6
  import { storeInitialPath } from '../utilities/redirect';
7
7
  import { storeInitialTenant } from '../utilities/storage';
8
8
  import { BrowserRouter } from 'react-router-dom';
9
+ import { QueryProvider } from './QueryProvider';
9
10
  /**
10
11
  * Bundles the core UDP providers (theme, snackbar, auth) and ensures the shared
11
12
  * i18n instance is initialised exactly once. Intended to be rendered beneath a
12
13
  * react-router <Router /> so the auth provider has access to history.
13
14
  */
14
- export const UdpAppProvider = ({ children, snackbarProps, authProps, i18nOptions, }) => {
15
+ export const UdpAppProvider = ({ children, snackbarProps, authProps, i18nOptions, devTools, }) => {
15
16
  useEffect(() => {
16
17
  initializeUnityI18n(i18nOptions);
17
18
  }, [i18nOptions]);
18
19
  storeInitialPath();
19
20
  storeInitialTenant();
20
- return (React.createElement(ThemeProvider, null, React.createElement(AuthProvider, Object.assign({}, authProps), React.createElement(BrowserRouter, null, React.createElement(SnackbarProvider, Object.assign({ maxSnack: 3 }, snackbarProps), children)))));
21
+ return (React.createElement(ThemeProvider, null, React.createElement(QueryProvider, { showDevTools: devTools === null || devTools === void 0 ? void 0 : devTools.query }, React.createElement(AuthProvider, Object.assign({}, authProps), React.createElement(BrowserRouter, null, React.createElement(SnackbarProvider, Object.assign({ maxSnack: 3 }, snackbarProps), children))))));
21
22
  };
22
23
  //# sourceMappingURL=UdpAppProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UdpAppProvider.js","sourceRoot":"","sources":["../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAyB,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,QAAQ,EACR,aAAa,EACb,SAAS,EACT,WAAW,GACZ,EAAE,EAAE,CAAC;IACJ,SAAS,CAAC,GAAG,EAAE,CAAC;QACd,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAAA,CAClC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,OAAO,CACL,oBAAC,aAAa,QACZ,oBAAC,YAAY,oBAAK,SAAS,GACzB,oBAAC,aAAa,QACZ,oBAAC,gBAAgB,kBAAC,QAAQ,EAAE,CAAC,IAAM,aAAa,GAC7C,QAAQ,CACQ,CACL,CACH,CACD,CACjB,CAAC;AAAA,CACH,CAAC"}
1
+ {"version":3,"file":"UdpAppProvider.js","sourceRoot":"","sources":["../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAyB,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6BhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,QAAQ,EACR,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAQ,GACT,EAAE,EAAE,CAAC;IACJ,SAAS,CAAC,GAAG,EAAE,CAAC;QACd,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAAA,CAClC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,OAAO,CACL,oBAAC,aAAa,QACZ,oBAAC,aAAa,IAAC,YAAY,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,IAC1C,oBAAC,YAAY,oBAAK,SAAS,GACzB,oBAAC,aAAa,QACZ,oBAAC,gBAAgB,kBAAC,QAAQ,EAAE,CAAC,IAAM,aAAa,GAC7C,QAAQ,CACQ,CACL,CACH,CACD,CACF,CACjB,CAAC;AAAA,CACH,CAAC"}
@@ -3,6 +3,7 @@ import { ThemeProvider } from "../utilities/theme/theme.mjs";
3
3
  import { storeInitialPath } from "../utilities/redirect/LocalRedirectUrlStorage.mjs";
4
4
  import { AuthProvider } from "../utilities/auth/AuthProvider.mjs";
5
5
  import { initializeUnityI18n } from "../utilities/i18n/initializeI18n.mjs";
6
+ import { QueryProvider } from "./QueryProvider.mjs";
6
7
  import React, { useEffect } from "react";
7
8
  import { SnackbarProvider } from "notistack";
8
9
  import { BrowserRouter } from "react-router-dom";
@@ -12,16 +13,16 @@ import { BrowserRouter } from "react-router-dom";
12
13
  * i18n instance is initialised exactly once. Intended to be rendered beneath a
13
14
  * react-router <Router /> so the auth provider has access to history.
14
15
  */
15
- const UdpAppProvider = ({ children, snackbarProps, authProps, i18nOptions }) => {
16
+ const UdpAppProvider = ({ children, snackbarProps, authProps, i18nOptions, devTools }) => {
16
17
  useEffect(() => {
17
18
  initializeUnityI18n(i18nOptions);
18
19
  }, [i18nOptions]);
19
20
  storeInitialPath();
20
21
  storeInitialTenant();
21
- return /* @__PURE__ */ React.createElement(ThemeProvider, null, /* @__PURE__ */ React.createElement(AuthProvider, authProps, /* @__PURE__ */ React.createElement(BrowserRouter, null, /* @__PURE__ */ React.createElement(SnackbarProvider, {
22
+ return /* @__PURE__ */ React.createElement(ThemeProvider, null, /* @__PURE__ */ React.createElement(QueryProvider, { showDevTools: devTools?.query }, /* @__PURE__ */ React.createElement(AuthProvider, authProps, /* @__PURE__ */ React.createElement(BrowserRouter, null, /* @__PURE__ */ React.createElement(SnackbarProvider, {
22
23
  maxSnack: 3,
23
24
  ...snackbarProps
24
- }, children))));
25
+ }, children)))));
25
26
  };
26
27
  //#endregion
27
28
  export { UdpAppProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"UdpAppProvider.mjs","names":[],"sources":["../../src/providers/UdpAppProvider.tsx"],"sourcesContent":["import React, { ReactNode, useEffect } from 'react';\nimport { SnackbarProvider, SnackbarProviderProps } from 'notistack';\nimport { ThemeProvider } from '../utilities/theme';\nimport { AuthProvider } from '../utilities/auth/AuthProvider';\nimport { initializeUnityI18n } from '../utilities/i18n/initializeI18n';\nimport type { InitializeI18nOptions } from '../utilities/i18n/initializeI18n';\nimport { storeInitialPath } from '../utilities/redirect';\nimport { storeInitialTenant } from '../utilities/storage';\nimport { BrowserRouter } from 'react-router-dom';\n\nexport interface UdpAppProviderProps {\n children: ReactNode;\n /**\n * Props forwarded to the SnackbarProvider from notistack.\n */\n snackbarProps?: SnackbarProviderProps;\n /**\n * Props forwarded to the AuthProviderWrapper.\n */\n authProps?: {\n doNotWaitForTenant?: boolean;\n };\n /**\n * Optional configuration overrides for the shared i18n instance.\n */\n i18nOptions?: InitializeI18nOptions;\n}\n\n/**\n * Bundles the core UDP providers (theme, snackbar, auth) and ensures the shared\n * i18n instance is initialised exactly once. Intended to be rendered beneath a\n * react-router <Router /> so the auth provider has access to history.\n */\nexport const UdpAppProvider: React.FC<UdpAppProviderProps> = ({\n children,\n snackbarProps,\n authProps,\n i18nOptions,\n}) => {\n useEffect(() => {\n initializeUnityI18n(i18nOptions);\n }, [i18nOptions]);\n storeInitialPath();\n storeInitialTenant();\n return (\n <ThemeProvider>\n <AuthProvider {...authProps}>\n <BrowserRouter>\n <SnackbarProvider maxSnack={3} {...snackbarProps}>\n {children}\n </SnackbarProvider>\n </BrowserRouter>\n </AuthProvider>\n </ThemeProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAa,kBAAiD,EAC5D,UACA,eACA,WACA,kBACI;AACJ,iBAAgB;AACd,sBAAoB,YAAY;IAC/B,CAAC,YAAY,CAAC;AACjB,mBAAkB;AAClB,qBAAoB;AACpB,QACE,sBAAA,cAAC,eAAA,MACC,sBAAA,cAAC,cAAiB,WAChB,sBAAA,cAAC,eAAA,MACC,sBAAA,cAAC,kBAAD;EAAkB,UAAU;EAAG,GAAI;EAEhB,EADhB,SACgB,CACL,CACH,CACD"}
1
+ {"version":3,"file":"UdpAppProvider.mjs","names":[],"sources":["../../src/providers/UdpAppProvider.tsx"],"sourcesContent":["import React, { ReactNode, useEffect } from 'react';\nimport { SnackbarProvider, SnackbarProviderProps } from 'notistack';\nimport { ThemeProvider } from '../utilities/theme';\nimport { AuthProvider } from '../utilities/auth/AuthProvider';\nimport { initializeUnityI18n } from '../utilities/i18n/initializeI18n';\nimport type { InitializeI18nOptions } from '../utilities/i18n/initializeI18n';\nimport { storeInitialPath } from '../utilities/redirect';\nimport { storeInitialTenant } from '../utilities/storage';\nimport { BrowserRouter } from 'react-router-dom';\nimport { QueryProvider } from './QueryProvider';\n\nexport interface UdpDevToolsOptions {\n /** Show the React Query DevTools panel. Defaults to false. */\n query?: boolean;\n}\n\nexport interface UdpAppProviderProps {\n children: ReactNode;\n /**\n * Props forwarded to the SnackbarProvider from notistack.\n */\n snackbarProps?: SnackbarProviderProps;\n /**\n * Props forwarded to the AuthProviderWrapper.\n */\n authProps?: {\n doNotWaitForTenant?: boolean;\n };\n /**\n * Optional configuration overrides for the shared i18n instance.\n */\n i18nOptions?: InitializeI18nOptions;\n /**\n * Enable developer tools for debugging. All options default to false.\n */\n devTools?: UdpDevToolsOptions;\n}\n\n/**\n * Bundles the core UDP providers (theme, snackbar, auth) and ensures the shared\n * i18n instance is initialised exactly once. Intended to be rendered beneath a\n * react-router <Router /> so the auth provider has access to history.\n */\nexport const UdpAppProvider: React.FC<UdpAppProviderProps> = ({\n children,\n snackbarProps,\n authProps,\n i18nOptions,\n devTools,\n}) => {\n useEffect(() => {\n initializeUnityI18n(i18nOptions);\n }, [i18nOptions]);\n storeInitialPath();\n storeInitialTenant();\n return (\n <ThemeProvider>\n <QueryProvider showDevTools={devTools?.query}>\n <AuthProvider {...authProps}>\n <BrowserRouter>\n <SnackbarProvider maxSnack={3} {...snackbarProps}>\n {children}\n </SnackbarProvider>\n </BrowserRouter>\n </AuthProvider>\n </QueryProvider>\n </ThemeProvider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;AA2CA,MAAa,kBAAiD,EAC5D,UACA,eACA,WACA,aACA,eACI;AACJ,iBAAgB;AACd,sBAAoB,YAAY;IAC/B,CAAC,YAAY,CAAC;AACjB,mBAAkB;AAClB,qBAAoB;AACpB,QACE,sBAAA,cAAC,eAAA,MACC,sBAAA,cAAC,eAAD,EAAe,cAAc,UAAU,OAQvB,EAPd,sBAAA,cAAC,cAAiB,WAChB,sBAAA,cAAC,eAAA,MACC,sBAAA,cAAC,kBAAD;EAAkB,UAAU;EAAG,GAAI;EAEhB,EADhB,SACgB,CACL,CACH,CACD,CACF"}
@@ -1,8 +1,8 @@
1
1
  import { GridExcelStyleEnums } from '../../enums/unitySystemEnums';
2
2
  export declare const useDateStringColumnDef: (includeTime?: boolean, timeZone?: any, includeTimeZoneOffset?: boolean) => {
3
- filter?: undefined;
4
3
  valueFormatter?: undefined;
5
4
  cellClass?: undefined;
5
+ filter?: undefined;
6
6
  filterParams?: undefined;
7
7
  } | {
8
8
  valueFormatter: (params: any) => string;
@@ -0,0 +1,2 @@
1
+ export declare const apiGet: <T = unknown>(baseURL: string, url: string, config?: Record<string, unknown>) => Promise<T>;
2
+ //# sourceMappingURL=apiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../src/utilities/apiClient.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,GAAU,CAAC,yFAY7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import Axios from 'axios';
2
+ import { getAccessToken, getMergedConfig } from './apiHelpers';
3
+ export const apiGet = async (baseURL, url, config = {}) => {
4
+ const accessToken = await getAccessToken();
5
+ const mergedConfig = getMergedConfig(accessToken, Object.assign({ method: 'get' }, config));
6
+ const response = await Axios(Object.assign({ url: `${baseURL}/${url}` }, mergedConfig));
7
+ return response.data;
8
+ };
9
+ //# sourceMappingURL=apiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/utilities/apiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,OAAe,EACf,GAAW,EACX,MAAM,GAA4B,EAAE,EACxB,EAAE,CAAC;IACf,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,kBAC9C,MAAM,EAAE,KAAK,IACV,MAAM,EACa,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,iBAAG,GAAG,EAAE,GAAG,OAAO,IAAI,GAAG,EAAE,IAAK,YAAY,EAAG,CAAC;IAC5E,OAAO,QAAQ,CAAC,IAAS,CAAC;AAAA,CAC3B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { getAccessToken, getMergedConfig } from "./apiHelpers.mjs";
2
+ import Axios from "axios";
3
+ //#region src/utilities/apiClient.ts
4
+ const apiGet = async (baseURL, url, config = {}) => {
5
+ const mergedConfig = getMergedConfig(await getAccessToken(), {
6
+ method: "get",
7
+ ...config
8
+ });
9
+ return (await Axios({
10
+ url: `${baseURL}/${url}`,
11
+ ...mergedConfig
12
+ })).data;
13
+ };
14
+ //#endregion
15
+ export { apiGet };
16
+
17
+ //# sourceMappingURL=apiClient.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.mjs","names":[],"sources":["../../src/utilities/apiClient.ts"],"sourcesContent":["import Axios, { AxiosRequestConfig } from 'axios';\nimport { getAccessToken, getMergedConfig } from './apiHelpers';\n\nexport const apiGet = async <T = unknown>(\n baseURL: string,\n url: string,\n config: Record<string, unknown> = {}\n): Promise<T> => {\n const accessToken = await getAccessToken();\n const mergedConfig = getMergedConfig(accessToken, {\n method: 'get',\n ...config,\n }) as AxiosRequestConfig;\n const response = await Axios({ url: `${baseURL}/${url}`, ...mergedConfig });\n return response.data as T;\n};\n"],"mappings":";;;AAGA,MAAa,SAAS,OACpB,SACA,KACA,SAAkC,EAAE,KACrB;CAEf,MAAM,eAAe,gBADD,MAAM,gBAAgB,EACQ;EAChD,QAAQ;EACR,GAAG;EACJ,CAAC;AAEF,SADiB,MAAM,MAAM;EAAE,KAAK,GAAG,QAAQ,GAAG;EAAO,GAAG;EAAc,CAAC,EAC3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../../src/utilities/auth/UserProvider.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,QAAA,MAAM,YAAY,mCAsFjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../../src/utilities/auth/UserProvider.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAczE,QAAA,MAAM,YAAY,mCAwFjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -4,7 +4,7 @@ import { User } from './user';
4
4
  import { LoadingIndicator } from '../../UI/loading/LoadingIndicator';
5
5
  import { useAccount } from '@azure/msal-react';
6
6
  import { storeTenant, getStoredTenant } from '../storage/UnitySessionStorage';
7
- import { useAxiosGet } from '../useAxiosGet';
7
+ import { useApiQuery } from '../useApiQuery';
8
8
  import { TenantProvider } from '../tenant/TenantProvider';
9
9
  import { ConfigService } from '../../configService';
10
10
  import { getSignInAuthProvider } from './signInAuthProvider';
@@ -27,7 +27,10 @@ const UserProvider = (props) => {
27
27
  const unityUserUrl = activeTenantId
28
28
  ? `user/unityuser?tenantId=${encodeURIComponent(activeTenantId)}`
29
29
  : 'user/unityuser';
30
- const [{ data: userInfo, error: userError, loading: userInfoLoading }] = useAxiosGet(ConfigService.securityV2ApiUrl, unityUserUrl, {}, !activeAccount, false);
30
+ const { data: userInfo, error: userError, isLoading: userInfoLoading } = useApiQuery(ConfigService.securityV2ApiUrl, unityUserUrl, {}, {
31
+ enabled: !!activeAccount,
32
+ staleTime: 0,
33
+ });
31
34
  const user = useMemo(() => (userInfo ? new User(userInfo) : null), [userInfo]);
32
35
  const isErrorModalOpen = Boolean(userError);
33
36
  const errorMessage = userError ? 'Unable to get user details. Please try again.' : '';
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.js","sourceRoot":"","sources":["../../../src/utilities/auth/UserProvider.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserProvider.js","sourceRoot":"","sources":["../../../src/utilities/auth/UserProvider.jsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ConfigService } from "../../configService/index.mjs";
2
2
  import { getSignInAuthProvider } from "./signInAuthProvider.mjs";
3
3
  import { UserContext, UserDispatchContext } from "./internal.mjs";
4
4
  import { getStoredTenant, storeTenant } from "../storage/UnitySessionStorage.mjs";
5
- import { useAxiosGet } from "../useAxiosGet.mjs";
5
+ import { useApiQuery } from "../useApiQuery.mjs";
6
6
  import { LoadingIndicator } from "../../UI/loading/LoadingIndicator/LoadingIndicator.mjs";
7
7
  import { UdpDialog } from "../../UI/fluent-web-components/UdpDialog.mjs";
8
8
  import { TenantProvider } from "../tenant/TenantProvider.mjs";
@@ -23,7 +23,10 @@ const UserProvider = (props) => {
23
23
  return unityTenantId || null;
24
24
  });
25
25
  const unityUserUrl = activeTenantId ? `user/unityuser?tenantId=${encodeURIComponent(activeTenantId)}` : "user/unityuser";
26
- const [{ data: userInfo, error: userError, loading: userInfoLoading }] = useAxiosGet(ConfigService.securityV2ApiUrl, unityUserUrl, {}, !activeAccount, false);
26
+ const { data: userInfo, error: userError, isLoading: userInfoLoading } = useApiQuery(ConfigService.securityV2ApiUrl, unityUserUrl, {}, {
27
+ enabled: !!activeAccount,
28
+ staleTime: 0
29
+ });
27
30
  const user = useMemo(() => userInfo ? new User(userInfo) : null, [userInfo]);
28
31
  const isErrorModalOpen = Boolean(userError);
29
32
  const errorMessage = userError ? "Unable to get user details. Please try again." : "";
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.mjs","names":[],"sources":["../../../src/utilities/auth/UserProvider.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport { UserContext, UserDispatchContext } from './internal';\nimport { User } from './user';\nimport { LoadingIndicator } from '../../UI/loading/LoadingIndicator';\nimport { useAccount } from '@azure/msal-react';\nimport { storeTenant, getStoredTenant } from '../storage/UnitySessionStorage';\nimport { useAxiosGet } from '../useAxiosGet';\nimport { TenantProvider } from '../tenant/TenantProvider';\nimport { ConfigService } from '../../configService';\nimport { getSignInAuthProvider } from './signInAuthProvider';\nimport { UdpDialog } from '../../UI/fluent-web-components/UdpDialog';\nimport { UdpText } from '../../UI/fluent-web-components/UdpText';\nimport { UdpButton } from '../../UI/fluent-web-components/UdpButton';\n\nconst UserProvider = (props) => {\n const {\n children,\n isWhiteListed,\n doNotWaitForTenant = false,\n unityTenantId\n } = props;\n\n const activeAccount = useAccount();\n\n const [activeTenantId, setActiveTenantId] = useState(() => {\n const params = new URLSearchParams(window.location.search);\n const urlTenant = params.get('tenantId');\n if (urlTenant) return urlTenant;\n\n const storedTenant = getStoredTenant();\n if (storedTenant) return storedTenant;\n\n return unityTenantId || null;\n });\n\n const unityUserUrl = activeTenantId\n ? `user/unityuser?tenantId=${encodeURIComponent(activeTenantId)}`\n : 'user/unityuser';\n\n const [{ data: userInfo, error: userError, loading: userInfoLoading }] = useAxiosGet(\n ConfigService.securityV2ApiUrl,\n unityUserUrl,\n {},\n !activeAccount,\n false\n );\n\n const user = useMemo(() => (userInfo ? new User(userInfo) : null), [userInfo]);\n\n const isErrorModalOpen = Boolean(userError);\n const errorMessage = userError ? 'Unable to get user details. Please try again.' : '';\n\n useEffect(() => {\n if (user?.userId) sessionStorage.setItem('user-id', user.userId);\n\n if (user?.currentTenantId && !activeTenantId) {\n storeTenant(user.currentTenantId);\n setActiveTenantId(user.currentTenantId);\n }\n }, [user, activeTenantId]);\n\n const changeTenant = useCallback((newTenantId) => {\n if (!newTenantId) return;\n storeTenant(newTenantId);\n setActiveTenantId(newTenantId);\n }, []);\n\n const loadingValue = Boolean(activeAccount) && (userInfoLoading || (!user && !userError));\n const shouldBlockForUser = loadingValue && !isWhiteListed;\n\n if (isErrorModalOpen) {\n return (\n <UdpDialog open showHeaderCloseButton={false}>\n <UdpText variant='subtitle2'>\n {errorMessage ? errorMessage : 'An unexpected error has ocurred.'}\n </UdpText>\n <UdpButton\n slot='action'\n appearance='primary'\n onClick={() => {\n getSignInAuthProvider().logoutRedirect();\n }}\n >\n Logout\n </UdpButton>\n </UdpDialog>\n );\n }\n\n if (!doNotWaitForTenant && shouldBlockForUser) {\n return <LoadingIndicator />;\n }\n\n return (\n <UserContext.Provider value={user}>\n <UserDispatchContext.Provider value={{ changeTenant }}>\n <TenantProvider>{children}</TenantProvider>\n </UserDispatchContext.Provider>\n </UserContext.Provider>\n );\n};\n\nexport default UserProvider;\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,gBAAgB,UAAU;CAC9B,MAAM,EACJ,UACA,eACA,qBAAqB,OACrB,kBACE;CAEJ,MAAM,gBAAgB,YAAY;CAElC,MAAM,CAAC,gBAAgB,qBAAqB,eAAe;EAEzD,MAAM,YADS,IAAI,gBAAgB,OAAO,SAAS,OAAO,CACjC,IAAI,WAAW;AACxC,MAAI,UAAW,QAAO;EAEtB,MAAM,eAAe,iBAAiB;AACtC,MAAI,aAAc,QAAO;AAEzB,SAAO,iBAAiB;GACxB;CAEF,MAAM,eAAe,iBACjB,2BAA2B,mBAAmB,eAAe,KAC7D;CAEJ,MAAM,CAAC,EAAE,MAAM,UAAU,OAAO,WAAW,SAAS,qBAAqB,YACvE,cAAc,kBACd,cACA,EAAE,EACF,CAAC,eACD,MACD;CAED,MAAM,OAAO,cAAe,WAAW,IAAI,KAAK,SAAS,GAAG,MAAO,CAAC,SAAS,CAAC;CAE9E,MAAM,mBAAmB,QAAQ,UAAU;CAC3C,MAAM,eAAe,YAAY,kDAAkD;AAEnF,iBAAgB;AACd,MAAI,MAAM,OAAQ,gBAAe,QAAQ,WAAW,KAAK,OAAO;AAEhE,MAAI,MAAM,mBAAmB,CAAC,gBAAgB;AAC5C,eAAY,KAAK,gBAAgB;AACjC,qBAAkB,KAAK,gBAAgB;;IAExC,CAAC,MAAM,eAAe,CAAC;CAE1B,MAAM,eAAe,aAAa,gBAAgB;AAChD,MAAI,CAAC,YAAa;AAClB,cAAY,YAAY;AACxB,oBAAkB,YAAY;IAC7B,EAAE,CAAC;CAGN,MAAM,qBADe,QAAQ,cAAc,KAAK,mBAAoB,CAAC,QAAQ,CAAC,cACnC,CAAC;AAE5C,KAAI,iBACF,QACE,sBAAA,cAAC,WAAD;EAAW,MAAA;EAAK,uBAAuB;EAa3B,EAZV,sBAAA,cAAC,SAAD,EAAS,SAAQ,aAEP,EADP,eAAe,eAAe,mCACvB,EACV,sBAAA,cAAC,WAAD;EACE,MAAK;EACL,YAAW;EACX,eAAe;AACb,0BAAuB,CAAC,gBAAgB;;EAIhC,EAFX,SAEW,CACF;AAIhB,KAAI,CAAC,sBAAsB,mBACzB,QAAO,sBAAA,cAAC,kBAAA,KAAmB;AAG7B,QACE,sBAAA,cAAC,YAAY,UAAb,EAAsB,OAAO,MAIN,EAHrB,sBAAA,cAAC,oBAAoB,UAArB,EAA8B,OAAO,EAAE,cAAc,EAEtB,EAD7B,sBAAA,cAAC,gBAAA,MAAgB,SAA0B,CACd,CACV"}
1
+ {"version":3,"file":"UserProvider.mjs","names":[],"sources":["../../../src/utilities/auth/UserProvider.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useMemo } from 'react';\nimport { UserContext, UserDispatchContext } from './internal';\nimport { User } from './user';\nimport { LoadingIndicator } from '../../UI/loading/LoadingIndicator';\nimport { useAccount } from '@azure/msal-react';\nimport { storeTenant, getStoredTenant } from '../storage/UnitySessionStorage';\nimport { useApiQuery } from '../useApiQuery';\nimport { TenantProvider } from '../tenant/TenantProvider';\nimport { ConfigService } from '../../configService';\nimport { getSignInAuthProvider } from './signInAuthProvider';\nimport { UdpDialog } from '../../UI/fluent-web-components/UdpDialog';\nimport { UdpText } from '../../UI/fluent-web-components/UdpText';\nimport { UdpButton } from '../../UI/fluent-web-components/UdpButton';\n\nconst UserProvider = (props) => {\n const {\n children,\n isWhiteListed,\n doNotWaitForTenant = false,\n unityTenantId\n } = props;\n\n const activeAccount = useAccount();\n\n const [activeTenantId, setActiveTenantId] = useState(() => {\n const params = new URLSearchParams(window.location.search);\n const urlTenant = params.get('tenantId');\n if (urlTenant) return urlTenant;\n\n const storedTenant = getStoredTenant();\n if (storedTenant) return storedTenant;\n\n return unityTenantId || null;\n });\n\n const unityUserUrl = activeTenantId\n ? `user/unityuser?tenantId=${encodeURIComponent(activeTenantId)}`\n : 'user/unityuser';\n\n const { data: userInfo, error: userError, isLoading: userInfoLoading } = useApiQuery(\n ConfigService.securityV2ApiUrl,\n unityUserUrl,\n {},\n {\n enabled: !!activeAccount,\n staleTime: 0,\n }\n );\n\n const user = useMemo(() => (userInfo ? new User(userInfo) : null), [userInfo]);\n\n const isErrorModalOpen = Boolean(userError);\n const errorMessage = userError ? 'Unable to get user details. Please try again.' : '';\n\n useEffect(() => {\n if (user?.userId) sessionStorage.setItem('user-id', user.userId);\n\n if (user?.currentTenantId && !activeTenantId) {\n storeTenant(user.currentTenantId);\n setActiveTenantId(user.currentTenantId);\n }\n }, [user, activeTenantId]);\n\n const changeTenant = useCallback((newTenantId) => {\n if (!newTenantId) return;\n storeTenant(newTenantId);\n setActiveTenantId(newTenantId);\n }, []);\n\n const loadingValue = Boolean(activeAccount) && (userInfoLoading || (!user && !userError));\n const shouldBlockForUser = loadingValue && !isWhiteListed;\n\n if (isErrorModalOpen) {\n return (\n <UdpDialog open showHeaderCloseButton={false}>\n <UdpText variant='subtitle2'>\n {errorMessage ? errorMessage : 'An unexpected error has ocurred.'}\n </UdpText>\n <UdpButton\n slot='action'\n appearance='primary'\n onClick={() => {\n getSignInAuthProvider().logoutRedirect();\n }}\n >\n Logout\n </UdpButton>\n </UdpDialog>\n );\n }\n\n if (!doNotWaitForTenant && shouldBlockForUser) {\n return <LoadingIndicator />;\n }\n\n return (\n <UserContext.Provider value={user}>\n <UserDispatchContext.Provider value={{ changeTenant }}>\n <TenantProvider>{children}</TenantProvider>\n </UserDispatchContext.Provider>\n </UserContext.Provider>\n );\n};\n\nexport default UserProvider;\n"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,gBAAgB,UAAU;CAC9B,MAAM,EACJ,UACA,eACA,qBAAqB,OACrB,kBACE;CAEJ,MAAM,gBAAgB,YAAY;CAElC,MAAM,CAAC,gBAAgB,qBAAqB,eAAe;EAEzD,MAAM,YADS,IAAI,gBAAgB,OAAO,SAAS,OAAO,CACjC,IAAI,WAAW;AACxC,MAAI,UAAW,QAAO;EAEtB,MAAM,eAAe,iBAAiB;AACtC,MAAI,aAAc,QAAO;AAEzB,SAAO,iBAAiB;GACxB;CAEF,MAAM,eAAe,iBACjB,2BAA2B,mBAAmB,eAAe,KAC7D;CAEJ,MAAM,EAAE,MAAM,UAAU,OAAO,WAAW,WAAW,oBAAoB,YACvE,cAAc,kBACd,cACA,EAAE,EACF;EACE,SAAS,CAAC,CAAC;EACX,WAAW;EACZ,CACF;CAED,MAAM,OAAO,cAAe,WAAW,IAAI,KAAK,SAAS,GAAG,MAAO,CAAC,SAAS,CAAC;CAE9E,MAAM,mBAAmB,QAAQ,UAAU;CAC3C,MAAM,eAAe,YAAY,kDAAkD;AAEnF,iBAAgB;AACd,MAAI,MAAM,OAAQ,gBAAe,QAAQ,WAAW,KAAK,OAAO;AAEhE,MAAI,MAAM,mBAAmB,CAAC,gBAAgB;AAC5C,eAAY,KAAK,gBAAgB;AACjC,qBAAkB,KAAK,gBAAgB;;IAExC,CAAC,MAAM,eAAe,CAAC;CAE1B,MAAM,eAAe,aAAa,gBAAgB;AAChD,MAAI,CAAC,YAAa;AAClB,cAAY,YAAY;AACxB,oBAAkB,YAAY;IAC7B,EAAE,CAAC;CAGN,MAAM,qBADe,QAAQ,cAAc,KAAK,mBAAoB,CAAC,QAAQ,CAAC,cACnC,CAAC;AAE5C,KAAI,iBACF,QACE,sBAAA,cAAC,WAAD;EAAW,MAAA;EAAK,uBAAuB;EAa3B,EAZV,sBAAA,cAAC,SAAD,EAAS,SAAQ,aAEP,EADP,eAAe,eAAe,mCACvB,EACV,sBAAA,cAAC,WAAD;EACE,MAAK;EACL,YAAW;EACX,eAAe;AACb,0BAAuB,CAAC,gBAAgB;;EAIhC,EAFX,SAEW,CACF;AAIhB,KAAI,CAAC,sBAAsB,mBACzB,QAAO,sBAAA,cAAC,kBAAA,KAAmB;AAG7B,QACE,sBAAA,cAAC,YAAY,UAAb,EAAsB,OAAO,MAIN,EAHrB,sBAAA,cAAC,oBAAoB,UAArB,EAA8B,OAAO,EAAE,cAAc,EAEtB,EAD7B,sBAAA,cAAC,gBAAA,MAAgB,SAA0B,CACd,CACV"}
@@ -12,4 +12,7 @@ export * from './useAxiosMutate';
12
12
  export * from './useGravatar';
13
13
  export * from './CustomNavigationClient';
14
14
  export * from './isValueSelected';
15
+ export * from './apiClient';
16
+ export * from './useApiQuery';
17
+ export * from './useApiMutation';
15
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,2CAA2C;AAE3C,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,2CAA2C;AAE3C,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -12,4 +12,7 @@ export * from './useAxiosMutate';
12
12
  export * from './useGravatar';
13
13
  export * from './CustomNavigationClient';
14
14
  export * from './isValueSelected';
15
+ export * from './apiClient';
16
+ export * from './useApiQuery';
17
+ export * from './useApiMutation';
15
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,2CAA2C;AAE3C,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,2CAA2C;AAE3C,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TenantProvider.d.ts","sourceRoot":"","sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAmD3E,eAAO,MAAM,cAAc;;uBAsG1B,CAAC"}
1
+ {"version":3,"file":"TenantProvider.d.ts","sourceRoot":"","sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAmD3E,eAAO,MAAM,cAAc;;uBA0G1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React, { useCallback, useMemo, useEffect, useContext } from 'react';
2
2
  import { useUser } from '../auth/useUser';
3
3
  import { UserDispatchContext } from '../auth/internal';
4
- import { useAxiosGet } from '../useAxiosGet';
4
+ import { useApiQuery } from '../useApiQuery';
5
5
  import { TenantContext } from './tenantContext';
6
6
  import { ConfigService } from '../../configService';
7
7
  import { UdpDialog } from '../../UI/fluent-web-components/UdpDialog';
@@ -48,8 +48,12 @@ export const TenantProvider = ({ children }) => {
48
48
  const user = useUser();
49
49
  const activeAccount = useAccount();
50
50
  const { changeTenant } = useContext(UserDispatchContext);
51
- const [{ data: tenants, loading: tenantsLoading }, refresh] = useAxiosGet(ConfigService.securityV2ApiUrl, `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, !(activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.idTokenClaims));
52
- const [{ data: selectedProduct, loading: productsLoading }] = useAxiosGet(ConfigService.tenantV2ApiUrl, `product/${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, !(activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.idToken));
51
+ const { data: tenants, isLoading: tenantsLoading, refetch: refresh } = useApiQuery(ConfigService.securityV2ApiUrl, `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, {
52
+ enabled: !!(activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.idTokenClaims),
53
+ });
54
+ const { data: selectedProduct, isLoading: productsLoading } = useApiQuery(ConfigService.tenantV2ApiUrl, `product/${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, {
55
+ enabled: !!(activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.idToken),
56
+ });
53
57
  const hasTenantsData = Array.isArray(tenants);
54
58
  const userHasLoaded = user && user.statusCode !== undefined;
55
59
  const activeTenant = (user === null || user === void 0 ? void 0 : user.currentTenantId) && hasTenantsData
@@ -1 +1 @@
1
- {"version":3,"file":"TenantProvider.js","sourceRoot":"","sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE3E,SAAS,CAAC,GAAG,EAAE,CAAC;;QACd,IAAI,EAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAA;YAAE,OAAO;QAEpC,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;QACxD,MAAM,KAAK,SAAG,YAAY,CAAC,KAAK,mCAAI,IAAI,CAAC;QACzC,MAAM,IAAI,SAAG,YAAY,CAAC,UAAU,mCAAI,IAAI,CAAC;QAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAE3C,IACE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,YAAY,CAAC,QAAQ;YAC3C,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,UAAU;YAClC,OAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,IAAI,CAAC,KAAK,IAAI;YAChC,OAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,IAAI,CAAC,KAAK,KAAK,EAClC,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC;YACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,IAAI;YACJ,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IAAA,CACJ,EAAE;QACD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ;QACtB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU;QACxB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU;QACxB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK;QACnB,gBAAgB;KACjB,CAAC,CAAC;AAAA,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;;IAC9C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IAEnC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEzD,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,GAAG,WAAW,CACvE,aAAa,CAAC,gBAAgB,EAC9B,0BAA0B,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,EACjE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAC1B,EAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAA,CAC9B,CAAC;IAEF,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,GAAG,WAAW,CACvE,aAAa,CAAC,cAAc,EAC5B,WAAW,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAClD,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAC1B,EAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAA,CACxB,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;IAE5D,MAAM,YAAY,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,cAAc;QAC1D,CAAC,OAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,eAAe,CAAC,mCAAI,IAAI,CAClE,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,eAAe,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,MAAK,eAAe,CAAC,OAAO,CAAC;IAE7E,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,MAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAA,EAAE,CAAC;QAC9D,gBAAgB,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAM,EAAE,EAAE,CAAC;QACV,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC/B,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAClC,WAAW,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI;QAC5B,mBAAmB,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI;QACpC,YAAY;QACZ,eAAe;QACf,OAAO;KACR,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvD,uEAAqE;IACrE,uCAAuC;IACvC,MAAM,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CACzD,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,CACtE,CAAC;IAEF,IAAI,wBAAwB,EAAE,CAAC;QAC7B,OAAO,oBAAC,gBAAgB,OAAG,CAAC;IAC9B,CAAC;IAED,MAAM,kBAAkB,GAAG,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC;IAEnF,MAAM,oBAAoB,GAAG,cAAc;QACzC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,CAAA,CAAC;QAC3D,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,8BAA8B,GAClC,aAAa;QACb,cAAc;QACd,CAAC,kBAAkB;QACnB,CAAC,oBAAoB,CAAC;IAExB,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CACL,oBAAC,SAAS,IACR,IAAI,EAAE,IAAI,EACV,WAAW,EAAC,WAAW,EACvB,IAAI,EAAC,OAAO,EACZ,qBAAqB,EAAE,KAAK,uGAGlB,CACb,CAAC;IACJ,CAAC;IAGD,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IACzC,oBAAC,YAAY,QACX,oBAAC,kBAAkB,IACnB,IAAI,EAAE,8BAA8B,EACpC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,GACzC,EACC,CAAC,8BAA8B,IAAI,QAAQ,CAC/B,CACQ,CAC1B,CAAC;AAAA,CACH,CAAC"}
1
+ {"version":3,"file":"TenantProvider.js","sourceRoot":"","sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { useTenantStore } from "../../stores/tenantStore.mjs";
4
4
  import { UserDispatchContext } from "../auth/internal.mjs";
5
5
  import { useUser } from "../auth/useUser.mjs";
6
6
  import { storeTenant } from "../storage/UnitySessionStorage.mjs";
7
- import { useAxiosGet } from "../useAxiosGet.mjs";
7
+ import { useApiQuery } from "../useApiQuery.mjs";
8
8
  import { MenuProvider } from "../menus/MenuProvider.mjs";
9
9
  import { LoadingIndicator } from "../../UI/loading/LoadingIndicator/LoadingIndicator.mjs";
10
10
  import { TenantContext } from "./tenantContext.mjs";
@@ -41,8 +41,8 @@ const TenantProvider = ({ children }) => {
41
41
  const user = useUser();
42
42
  const activeAccount = useAccount();
43
43
  const { changeTenant } = useContext(UserDispatchContext);
44
- const [{ data: tenants, loading: tenantsLoading }, refresh] = useAxiosGet(ConfigService.securityV2ApiUrl, `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, !activeAccount?.idTokenClaims);
45
- const [{ data: selectedProduct, loading: productsLoading }] = useAxiosGet(ConfigService.tenantV2ApiUrl, `product/${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, !activeAccount?.idToken);
44
+ const { data: tenants, isLoading: tenantsLoading, refetch: refresh } = useApiQuery(ConfigService.securityV2ApiUrl, `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, { enabled: !!activeAccount?.idTokenClaims });
45
+ const { data: selectedProduct, isLoading: productsLoading } = useApiQuery(ConfigService.tenantV2ApiUrl, `product/${ConfigService.config.UNITY_PRODUCT_ID}`, { skipTenantHeader: true }, { enabled: !!activeAccount?.idToken });
46
46
  const hasTenantsData = Array.isArray(tenants);
47
47
  const userHasLoaded = user && user.statusCode !== void 0;
48
48
  const activeTenant = user?.currentTenantId && hasTenantsData ? tenants.find((t) => t.tenantId === user.currentTenantId) ?? null : null;
@@ -1 +1 @@
1
- {"version":3,"file":"TenantProvider.mjs","names":[],"sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useContext } from 'react';\nimport { useUser } from '../auth/useUser';\nimport { UserDispatchContext } from '../auth/internal';\nimport { useAxiosGet } from '../useAxiosGet';\nimport { TenantContext } from './tenantContext';\nimport { ConfigService } from '../../configService';\nimport { UdpDialog } from '../../UI/fluent-web-components/UdpDialog';\nimport { useAccount } from '@azure/msal-react';\nimport { MenuProvider } from '../menus/MenuProvider';\nimport { TenantAccessDialog } from './TenantAccessDialog';\nimport { storeTenant } from '../storage/UnitySessionStorage';\nimport { TenantTypeEnums } from '../../enums/unitySystemEnums';\nimport { useTenantStore } from '../../stores/tenantStore';\nimport { useProductsStore } from '../../stores/productsStore';\nimport { LoadingIndicator } from '../../UI/loading/LoadingIndicator';\n\nconst useTenantStoreSync = (activeTenant) => {\n const setCurrentTenant = useTenantStore((state) => state.setCurrentTenant);\n\n useEffect(() => {\n if (!activeTenant?.tenantId) return;\n\n const current = useTenantStore.getState().currentTenant;\n const theme = activeTenant.theme ?? null;\n const name = activeTenant.tenantName ?? null;\n const tenantType = activeTenant.tenantType;\n\n if (\n current?.tenantId === activeTenant.tenantId &&\n current?.tenantType === tenantType &&\n (current?.name ?? null) === name &&\n (current?.theme ?? null) === theme\n ) {\n return;\n }\n\n setCurrentTenant({\n tenantId: activeTenant.tenantId,\n name,\n tenantType,\n theme,\n });\n }, [\n activeTenant?.tenantId,\n activeTenant?.tenantName,\n activeTenant?.tenantType,\n activeTenant?.theme,\n setCurrentTenant\n ]);\n};\n\nexport const TenantProvider = ({ children }) => {\n const user = useUser();\n const activeAccount = useAccount();\n\n const { changeTenant } = useContext(UserDispatchContext);\n\n const [{ data: tenants, loading: tenantsLoading }, refresh] = useAxiosGet(\n ConfigService.securityV2ApiUrl,\n `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`,\n { skipTenantHeader: true },\n !activeAccount?.idTokenClaims\n );\n\n const [{ data: selectedProduct, loading: productsLoading }] = useAxiosGet(\n ConfigService.tenantV2ApiUrl,\n `product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n { skipTenantHeader: true },\n !activeAccount?.idToken\n );\n\n const hasTenantsData = Array.isArray(tenants);\n const userHasLoaded = user && user.statusCode !== undefined;\n\n const activeTenant = user?.currentTenantId && hasTenantsData\n ? tenants.find((t) => t.tenantId === user.currentTenantId) ?? null\n : null;\n\n const isProductTenant = activeTenant?.tenantType === TenantTypeEnums.Product;\n\n useTenantStoreSync(activeTenant);\n\n if (selectedProduct?.isUnityDefault && activeTenant?.tenantId) {\n useProductsStore.getState().fetchProducts(activeTenant.tenantId);\n }\n\n const handleTenantChange = useCallback(\n (tenant) => {\n if (!tenant) return;\n storeTenant(tenant.tenantId);\n changeTenant(tenant.tenantId);\n },\n [changeTenant]\n );\n\n // Hook moved BEFORE any early returns\n const contextValue = useMemo(() => ({\n tenantsList: tenants ?? null,\n filteredTenantsList: tenants ?? null,\n activeTenant,\n isProductTenant,\n refresh,\n }), [tenants, activeTenant, isProductTenant, refresh]);\n\n // Only block rendering on initial load — not on background refetches\n // when we already have data to display\n const shouldBlockForTenantData = Boolean(activeAccount) && (\n (tenantsLoading && !tenants) || (productsLoading && !selectedProduct)\n );\n\n if (shouldBlockForTenantData) {\n return <LoadingIndicator />;\n }\n\n const noTenantsAvailable = hasTenantsData && tenants.length === 0 && userHasLoaded;\n\n const currentTenantAllowed = hasTenantsData\n ? tenants.some((t) => t.tenantId === user?.currentTenantId)\n : false;\n\n const shouldShowTenantMismatchDialog =\n userHasLoaded &&\n hasTenantsData &&\n !noTenantsAvailable &&\n !currentTenantAllowed;\n\n if (noTenantsAvailable) {\n return (\n <UdpDialog\n open={true}\n dialogTitle='No Access'\n type='alert'\n showHeaderCloseButton={false}\n >\n Your user does not have access to any tenants for this product. Please contact your support team.\n </UdpDialog>\n );\n }\n\n\n return (\n <TenantContext.Provider value={contextValue}>\n <MenuProvider>\n <TenantAccessDialog\n open={shouldShowTenantMismatchDialog}\n tenants={tenants}\n onTenantChange={handleTenantChange}\n productName={selectedProduct?.productName}\n />\n {!shouldShowTenantMismatchDialog && children}\n </MenuProvider>\n </TenantContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAM,sBAAsB,iBAAiB;CAC3C,MAAM,mBAAmB,gBAAgB,UAAU,MAAM,iBAAiB;AAE1E,iBAAgB;AACd,MAAI,CAAC,cAAc,SAAU;EAE7B,MAAM,UAAU,eAAe,UAAU,CAAC;EAC1C,MAAM,QAAQ,aAAa,SAAS;EACpC,MAAM,OAAO,aAAa,cAAc;EACxC,MAAM,aAAa,aAAa;AAEhC,MACE,SAAS,aAAa,aAAa,YACnC,SAAS,eAAe,eACvB,SAAS,QAAQ,UAAU,SAC3B,SAAS,SAAS,UAAU,MAE7B;AAGF,mBAAiB;GACf,UAAU,aAAa;GACvB;GACA;GACA;GACD,CAAC;IACD;EACD,cAAc;EACd,cAAc;EACd,cAAc;EACd,cAAc;EACd;EACD,CAAC;;AAGJ,MAAa,kBAAkB,EAAE,eAAe;CAC9C,MAAM,OAAO,SAAS;CACtB,MAAM,gBAAgB,YAAY;CAElC,MAAM,EAAE,iBAAiB,WAAW,oBAAoB;CAExD,MAAM,CAAC,EAAE,MAAM,SAAS,SAAS,kBAAkB,WAAW,YAC5D,cAAc,kBACd,0BAA0B,cAAc,OAAO,oBAC/C,EAAE,kBAAkB,MAAM,EAC1B,CAAC,eAAe,cACjB;CAED,MAAM,CAAC,EAAE,MAAM,iBAAiB,SAAS,qBAAqB,YAC5D,cAAc,gBACd,WAAW,cAAc,OAAO,oBAChC,EAAE,kBAAkB,MAAM,EAC1B,CAAC,eAAe,QACjB;CAED,MAAM,iBAAiB,MAAM,QAAQ,QAAQ;CAC7C,MAAM,gBAAgB,QAAQ,KAAK,eAAe,KAAA;CAElD,MAAM,eAAe,MAAM,mBAAmB,iBAC1C,QAAQ,MAAM,MAAM,EAAE,aAAa,KAAK,gBAAgB,IAAI,OAC5D;CAEJ,MAAM,kBAAkB,cAAc,eAAe,gBAAgB;AAErE,oBAAmB,aAAa;AAEhC,KAAI,iBAAiB,kBAAkB,cAAc,SACnD,kBAAiB,UAAU,CAAC,cAAc,aAAa,SAAS;CAGlE,MAAM,qBAAqB,aACxB,WAAW;AACV,MAAI,CAAC,OAAQ;AACb,cAAY,OAAO,SAAS;AAC5B,eAAa,OAAO,SAAS;IAE/B,CAAC,aAAa,CACf;CAGD,MAAM,eAAe,eAAe;EAClC,aAAa,WAAW;EACxB,qBAAqB,WAAW;EAChC;EACA;EACA;EACD,GAAG;EAAC;EAAS;EAAc;EAAiB;EAAQ,CAAC;AAQtD,KAJiC,QAAQ,cAAc,KACpD,kBAAkB,CAAC,WAAa,mBAAmB,CAAC,iBAIrD,QAAO,sBAAA,cAAC,kBAAA,KAAmB;CAG7B,MAAM,qBAAqB,kBAAkB,QAAQ,WAAW,KAAK;CAErE,MAAM,uBAAuB,iBACzB,QAAQ,MAAM,MAAM,EAAE,aAAa,MAAM,gBAAgB,GACzD;CAEJ,MAAM,iCACJ,iBACA,kBACA,CAAC,sBACD,CAAC;AAEH,KAAI,mBACF,QACE,sBAAA,cAAC,WAAD;EACE,MAAM;EACN,aAAY;EACZ,MAAK;EACL,uBAAuB;EAGb,EAFX,oGAEW;AAKhB,QACE,sBAAA,cAAC,cAAc,UAAf,EAAwB,OAAO,cAUN,EATvB,sBAAA,cAAC,cAAA,MACC,sBAAA,cAAC,oBAAD;EACA,MAAM;EACG;EACT,gBAAgB;EAChB,aAAa,iBAAiB;EAC9B,CAAA,EACC,CAAC,kCAAkC,SACvB,CACQ"}
1
+ {"version":3,"file":"TenantProvider.mjs","names":[],"sources":["../../../src/utilities/tenant/TenantProvider.jsx"],"sourcesContent":["import React, { useCallback, useMemo, useEffect, useContext } from 'react';\nimport { useUser } from '../auth/useUser';\nimport { UserDispatchContext } from '../auth/internal';\nimport { useApiQuery } from '../useApiQuery';\nimport { TenantContext } from './tenantContext';\nimport { ConfigService } from '../../configService';\nimport { UdpDialog } from '../../UI/fluent-web-components/UdpDialog';\nimport { useAccount } from '@azure/msal-react';\nimport { MenuProvider } from '../menus/MenuProvider';\nimport { TenantAccessDialog } from './TenantAccessDialog';\nimport { storeTenant } from '../storage/UnitySessionStorage';\nimport { TenantTypeEnums } from '../../enums/unitySystemEnums';\nimport { useTenantStore } from '../../stores/tenantStore';\nimport { useProductsStore } from '../../stores/productsStore';\nimport { LoadingIndicator } from '../../UI/loading/LoadingIndicator';\n\nconst useTenantStoreSync = (activeTenant) => {\n const setCurrentTenant = useTenantStore((state) => state.setCurrentTenant);\n\n useEffect(() => {\n if (!activeTenant?.tenantId) return;\n\n const current = useTenantStore.getState().currentTenant;\n const theme = activeTenant.theme ?? null;\n const name = activeTenant.tenantName ?? null;\n const tenantType = activeTenant.tenantType;\n\n if (\n current?.tenantId === activeTenant.tenantId &&\n current?.tenantType === tenantType &&\n (current?.name ?? null) === name &&\n (current?.theme ?? null) === theme\n ) {\n return;\n }\n\n setCurrentTenant({\n tenantId: activeTenant.tenantId,\n name,\n tenantType,\n theme,\n });\n }, [\n activeTenant?.tenantId,\n activeTenant?.tenantName,\n activeTenant?.tenantType,\n activeTenant?.theme,\n setCurrentTenant\n ]);\n};\n\nexport const TenantProvider = ({ children }) => {\n const user = useUser();\n const activeAccount = useAccount();\n\n const { changeTenant } = useContext(UserDispatchContext);\n\n const { data: tenants, isLoading: tenantsLoading, refetch: refresh } = useApiQuery(\n ConfigService.securityV2ApiUrl,\n `user/tenants?productId=${ConfigService.config.UNITY_PRODUCT_ID}`,\n { skipTenantHeader: true },\n {\n enabled: !!activeAccount?.idTokenClaims,\n }\n );\n\n const { data: selectedProduct, isLoading: productsLoading } = useApiQuery(\n ConfigService.tenantV2ApiUrl,\n `product/${ConfigService.config.UNITY_PRODUCT_ID}`,\n { skipTenantHeader: true },\n {\n enabled: !!activeAccount?.idToken,\n }\n );\n\n const hasTenantsData = Array.isArray(tenants);\n const userHasLoaded = user && user.statusCode !== undefined;\n\n const activeTenant = user?.currentTenantId && hasTenantsData\n ? tenants.find((t) => t.tenantId === user.currentTenantId) ?? null\n : null;\n\n const isProductTenant = activeTenant?.tenantType === TenantTypeEnums.Product;\n\n useTenantStoreSync(activeTenant);\n\n if (selectedProduct?.isUnityDefault && activeTenant?.tenantId) {\n useProductsStore.getState().fetchProducts(activeTenant.tenantId);\n }\n\n const handleTenantChange = useCallback(\n (tenant) => {\n if (!tenant) return;\n storeTenant(tenant.tenantId);\n changeTenant(tenant.tenantId);\n },\n [changeTenant]\n );\n\n // Hook moved BEFORE any early returns\n const contextValue = useMemo(() => ({\n tenantsList: tenants ?? null,\n filteredTenantsList: tenants ?? null,\n activeTenant,\n isProductTenant,\n refresh,\n }), [tenants, activeTenant, isProductTenant, refresh]);\n\n // Only block rendering on initial load — not on background refetches\n // when we already have data to display\n const shouldBlockForTenantData = Boolean(activeAccount) && (\n (tenantsLoading && !tenants) || (productsLoading && !selectedProduct)\n );\n\n if (shouldBlockForTenantData) {\n return <LoadingIndicator />;\n }\n\n const noTenantsAvailable = hasTenantsData && tenants.length === 0 && userHasLoaded;\n\n const currentTenantAllowed = hasTenantsData\n ? tenants.some((t) => t.tenantId === user?.currentTenantId)\n : false;\n\n const shouldShowTenantMismatchDialog =\n userHasLoaded &&\n hasTenantsData &&\n !noTenantsAvailable &&\n !currentTenantAllowed;\n\n if (noTenantsAvailable) {\n return (\n <UdpDialog\n open={true}\n dialogTitle='No Access'\n type='alert'\n showHeaderCloseButton={false}\n >\n Your user does not have access to any tenants for this product. Please contact your support team.\n </UdpDialog>\n );\n }\n\n\n return (\n <TenantContext.Provider value={contextValue}>\n <MenuProvider>\n <TenantAccessDialog\n open={shouldShowTenantMismatchDialog}\n tenants={tenants}\n onTenantChange={handleTenantChange}\n productName={selectedProduct?.productName}\n />\n {!shouldShowTenantMismatchDialog && children}\n </MenuProvider>\n </TenantContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAM,sBAAsB,iBAAiB;CAC3C,MAAM,mBAAmB,gBAAgB,UAAU,MAAM,iBAAiB;AAE1E,iBAAgB;AACd,MAAI,CAAC,cAAc,SAAU;EAE7B,MAAM,UAAU,eAAe,UAAU,CAAC;EAC1C,MAAM,QAAQ,aAAa,SAAS;EACpC,MAAM,OAAO,aAAa,cAAc;EACxC,MAAM,aAAa,aAAa;AAEhC,MACE,SAAS,aAAa,aAAa,YACnC,SAAS,eAAe,eACvB,SAAS,QAAQ,UAAU,SAC3B,SAAS,SAAS,UAAU,MAE7B;AAGF,mBAAiB;GACf,UAAU,aAAa;GACvB;GACA;GACA;GACD,CAAC;IACD;EACD,cAAc;EACd,cAAc;EACd,cAAc;EACd,cAAc;EACd;EACD,CAAC;;AAGJ,MAAa,kBAAkB,EAAE,eAAe;CAC9C,MAAM,OAAO,SAAS;CACtB,MAAM,gBAAgB,YAAY;CAElC,MAAM,EAAE,iBAAiB,WAAW,oBAAoB;CAExD,MAAM,EAAE,MAAM,SAAS,WAAW,gBAAgB,SAAS,YAAY,YACrE,cAAc,kBACd,0BAA0B,cAAc,OAAO,oBAC/C,EAAE,kBAAkB,MAAM,EAC1B,EACE,SAAS,CAAC,CAAC,eAAe,eAC3B,CACF;CAED,MAAM,EAAE,MAAM,iBAAiB,WAAW,oBAAoB,YAC5D,cAAc,gBACd,WAAW,cAAc,OAAO,oBAChC,EAAE,kBAAkB,MAAM,EAC1B,EACE,SAAS,CAAC,CAAC,eAAe,SAC3B,CACF;CAED,MAAM,iBAAiB,MAAM,QAAQ,QAAQ;CAC7C,MAAM,gBAAgB,QAAQ,KAAK,eAAe,KAAA;CAElD,MAAM,eAAe,MAAM,mBAAmB,iBAC1C,QAAQ,MAAM,MAAM,EAAE,aAAa,KAAK,gBAAgB,IAAI,OAC5D;CAEJ,MAAM,kBAAkB,cAAc,eAAe,gBAAgB;AAErE,oBAAmB,aAAa;AAEhC,KAAI,iBAAiB,kBAAkB,cAAc,SACnD,kBAAiB,UAAU,CAAC,cAAc,aAAa,SAAS;CAGlE,MAAM,qBAAqB,aACxB,WAAW;AACV,MAAI,CAAC,OAAQ;AACb,cAAY,OAAO,SAAS;AAC5B,eAAa,OAAO,SAAS;IAE/B,CAAC,aAAa,CACf;CAGD,MAAM,eAAe,eAAe;EAClC,aAAa,WAAW;EACxB,qBAAqB,WAAW;EAChC;EACA;EACA;EACD,GAAG;EAAC;EAAS;EAAc;EAAiB;EAAQ,CAAC;AAQtD,KAJiC,QAAQ,cAAc,KACpD,kBAAkB,CAAC,WAAa,mBAAmB,CAAC,iBAIrD,QAAO,sBAAA,cAAC,kBAAA,KAAmB;CAG7B,MAAM,qBAAqB,kBAAkB,QAAQ,WAAW,KAAK;CAErE,MAAM,uBAAuB,iBACzB,QAAQ,MAAM,MAAM,EAAE,aAAa,MAAM,gBAAgB,GACzD;CAEJ,MAAM,iCACJ,iBACA,kBACA,CAAC,sBACD,CAAC;AAEH,KAAI,mBACF,QACE,sBAAA,cAAC,WAAD;EACE,MAAM;EACN,aAAY;EACZ,MAAK;EACL,uBAAuB;EAGb,EAFX,oGAEW;AAKhB,QACE,sBAAA,cAAC,cAAc,UAAf,EAAwB,OAAO,cAUN,EATvB,sBAAA,cAAC,cAAA,MACC,sBAAA,cAAC,oBAAD;EACA,MAAM;EACG;EACT,gBAAgB;EAChB,aAAa,iBAAiB;EAC9B,CAAA,EACC,CAAC,kCAAkC,SACvB,CACQ"}
@@ -0,0 +1,3 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ export declare function useApiMutation<TData = unknown, TVariables = unknown>(baseURL: string, url: string, config?: Record<string, unknown>, options?: UseMutationOptions<TData, Error, TVariables>): import("@tanstack/react-query").UseMutationResult<TData, Error, TVariables, unknown>;
3
+ //# sourceMappingURL=useApiMutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiMutation.d.ts","sourceRoot":"","sources":["../../src/utilities/useApiMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,cAAc,CAAC,KAAK,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO,EAClE,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,wFASvD"}
@@ -0,0 +1,9 @@
1
+ import { useMutation } from '@tanstack/react-query';
2
+ import { apiMutate } from './useAxiosMutate';
3
+ export function useApiMutation(baseURL, url, config = {}, options) {
4
+ return useMutation(Object.assign({ mutationFn: async (variables) => {
5
+ const response = await apiMutate(baseURL, url, config, variables);
6
+ return response.data;
7
+ } }, options));
8
+ }
9
+ //# sourceMappingURL=useApiMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiMutation.js","sourceRoot":"","sources":["../../src/utilities/useApiMutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,GAAW,EACX,MAAM,GAA4B,EAAE,EACpC,OAAsD,EACtD;IACA,OAAO,WAAW,iBAChB,UAAU,EAAE,KAAK,EAAE,SAAqB,EAAE,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAClE,OAAO,QAAQ,CAAC,IAAa,CAAC;QAAA,CAC/B,IACE,OAAO,EACV,CAAC;AAAA,CACJ"}
@@ -0,0 +1,15 @@
1
+ import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
+ /**
3
+ * Idiomatic TanStack Query wrapper around apiGet.
4
+ */
5
+ export declare function useApiQuery<T = unknown>(baseURL: string, url: string, config?: Record<string, unknown>, options?: Omit<UseQueryOptions<T, Error>, 'queryKey' | 'queryFn'>): UseQueryResult<T>;
6
+ /**
7
+ * Drop-in replacement for useAxiosGet.
8
+ * Returns the same `[{ data, loading, error }, refetch]` tuple shape.
9
+ */
10
+ export declare function useApiQueryLegacy<T = unknown>(baseURL: string, url: string, config?: Record<string, unknown>, isManual?: boolean, useCache?: boolean): [{
11
+ data: T | undefined;
12
+ loading: boolean;
13
+ error: Error | null;
14
+ }, () => void];
15
+ //# sourceMappingURL=useApiQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiQuery.d.ts","sourceRoot":"","sources":["../../src/utilities/useApiQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIlF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EACrC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAChE,cAAc,CAAC,CAAC,CAAC,CAQnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,GAAE,OAAc,GACvB,CAAC;IAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,EAAE,MAAM,IAAI,CAAC,CAwB9E"}
@@ -0,0 +1,28 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useMemo } from 'react';
3
+ import { apiGet } from './apiClient';
4
+ /**
5
+ * Idiomatic TanStack Query wrapper around apiGet.
6
+ */
7
+ export function useApiQuery(baseURL, url, config = {}, options) {
8
+ const queryKey = useMemo(() => [baseURL, url, config], [baseURL, url, config]);
9
+ return useQuery(Object.assign({ queryKey, queryFn: () => apiGet(baseURL, url, config) }, options));
10
+ }
11
+ /**
12
+ * Drop-in replacement for useAxiosGet.
13
+ * Returns the same `[{ data, loading, error }, refetch]` tuple shape.
14
+ */
15
+ export function useApiQueryLegacy(baseURL, url, config = {}, isManual, useCache = true) {
16
+ const queryKey = useMemo(() => [baseURL, url, config], [baseURL, url, config]);
17
+ const result = useQuery(Object.assign({ queryKey, queryFn: () => apiGet(baseURL, url, config), enabled: !isManual }, (useCache === false ? { staleTime: 0 } : {})));
18
+ const legacyState = useMemo(() => ({
19
+ data: result.data,
20
+ loading: result.isLoading,
21
+ error: result.error,
22
+ }), [result.data, result.isLoading, result.error]);
23
+ const refetch = () => {
24
+ void result.refetch();
25
+ };
26
+ return [legacyState, refetch];
27
+ }
28
+ //# sourceMappingURL=useApiQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiQuery.js","sourceRoot":"","sources":["../../src/utilities/useApiQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmC,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,GAAW,EACX,MAAM,GAA4B,EAAE,EACpC,OAAiE,EAC9C;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/E,OAAO,QAAQ,iBACb,QAAQ,EACR,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAI,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAC3C,OAAO,EACV,CAAC;AAAA,CACJ;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,GAAW,EACX,MAAM,GAA4B,EAAE,EACpC,QAAkB,EAClB,QAAQ,GAAY,IAAI,EACsD;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,QAAQ,iBACrB,QAAQ,EACR,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAI,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAC9C,OAAO,EAAE,CAAC,QAAQ,IACf,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,SAAS;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,EACF,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAC9C,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;IAAA,CACvB,CAAC;IAEF,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAAA,CAC/B"}
@@ -0,0 +1,26 @@
1
+ import { apiGet } from "./apiClient.mjs";
2
+ import { useMemo } from "react";
3
+ import { useQuery } from "@tanstack/react-query";
4
+ //#region src/utilities/useApiQuery.ts
5
+ /**
6
+ * Idiomatic TanStack Query wrapper around apiGet.
7
+ */
8
+ function useApiQuery(baseURL, url, config = {}, options) {
9
+ return useQuery({
10
+ queryKey: useMemo(() => [
11
+ baseURL,
12
+ url,
13
+ config
14
+ ], [
15
+ baseURL,
16
+ url,
17
+ config
18
+ ]),
19
+ queryFn: () => apiGet(baseURL, url, config),
20
+ ...options
21
+ });
22
+ }
23
+ //#endregion
24
+ export { useApiQuery };
25
+
26
+ //# sourceMappingURL=useApiQuery.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiQuery.mjs","names":[],"sources":["../../src/utilities/useApiQuery.ts"],"sourcesContent":["import { useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { apiGet } from './apiClient';\n\n/**\n * Idiomatic TanStack Query wrapper around apiGet.\n */\nexport function useApiQuery<T = unknown>(\n baseURL: string,\n url: string,\n config: Record<string, unknown> = {},\n options?: Omit<UseQueryOptions<T, Error>, 'queryKey' | 'queryFn'>\n): UseQueryResult<T> {\n const queryKey = useMemo(() => [baseURL, url, config], [baseURL, url, config]);\n\n return useQuery<T, Error>({\n queryKey,\n queryFn: () => apiGet<T>(baseURL, url, config),\n ...options,\n });\n}\n\n/**\n * Drop-in replacement for useAxiosGet.\n * Returns the same `[{ data, loading, error }, refetch]` tuple shape.\n */\nexport function useApiQueryLegacy<T = unknown>(\n baseURL: string,\n url: string,\n config: Record<string, unknown> = {},\n isManual?: boolean,\n useCache: boolean = true\n): [{ data: T | undefined; loading: boolean; error: Error | null }, () => void] {\n const queryKey = useMemo(() => [baseURL, url, config], [baseURL, url, config]);\n\n const result = useQuery<T, Error>({\n queryKey,\n queryFn: () => apiGet<T>(baseURL, url, config),\n enabled: !isManual,\n ...(useCache === false ? { staleTime: 0 } : {}),\n });\n\n const legacyState = useMemo(\n () => ({\n data: result.data,\n loading: result.isLoading,\n error: result.error,\n }),\n [result.data, result.isLoading, result.error]\n );\n\n const refetch = () => {\n void result.refetch();\n };\n\n return [legacyState, refetch];\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,YACd,SACA,KACA,SAAkC,EAAE,EACpC,SACmB;AAGnB,QAAO,SAAmB;EACxB,UAHe,cAAc;GAAC;GAAS;GAAK;GAAO,EAAE;GAAC;GAAS;GAAK;GAAO,CAAC;EAI5E,eAAe,OAAU,SAAS,KAAK,OAAO;EAC9C,GAAG;EACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-react-enterprise-component-library",
3
- "version": "26.0.1",
3
+ "version": "26.1.0-beta.0",
4
4
  "description": "React-based UI component library implementing Fluent UI design for Univerus internal projects",
5
5
  "author": "Univerus",
6
6
  "license": "MIT",
@@ -219,6 +219,7 @@
219
219
  "./page/PageHeader": "./dist/page/PageHeader.mjs",
220
220
  "./page/PageSectionHeader": "./dist/page/PageSectionHeader.mjs",
221
221
  "./page/PageSectionSpacer": "./dist/page/PageSectionSpacer.mjs",
222
+ "./providers/QueryProvider": "./dist/providers/QueryProvider.mjs",
222
223
  "./providers/UdpAppProvider": "./dist/providers/UdpAppProvider.mjs",
223
224
  "./reminders/CompleteReminderSwitch": "./dist/reminders/CompleteReminderSwitch.mjs",
224
225
  "./reminders/RemindersCard": "./dist/reminders/RemindersCard.mjs",
@@ -771,6 +772,7 @@
771
772
  "./utilities/aggrid/datasources/SearchServiceDatasource": "./dist/utilities/aggrid/datasources/SearchServiceDatasource.mjs",
772
773
  "./utilities/aggrid/GridFunctions": "./dist/utilities/aggrid/GridFunctions.mjs",
773
774
  "./utilities/aggrid/SplitButton": "./dist/utilities/aggrid/SplitButton.mjs",
775
+ "./utilities/apiClient": "./dist/utilities/apiClient.mjs",
774
776
  "./utilities/apiHelpers": "./dist/utilities/apiHelpers.mjs",
775
777
  "./utilities/auth/AadCallback": "./dist/utilities/auth/AadCallback.mjs",
776
778
  "./utilities/auth/authActions": "./dist/utilities/auth/authActions.mjs",
@@ -884,6 +886,7 @@
884
886
  "./utilities/uploader/FileUpload": "./dist/utilities/uploader/FileUpload.mjs",
885
887
  "./utilities/uploader/formatBytes": "./dist/utilities/uploader/formatBytes.mjs",
886
888
  "./utilities/uploader/ImagePreview": "./dist/utilities/uploader/ImagePreview.mjs",
889
+ "./utilities/useApiQuery": "./dist/utilities/useApiQuery.mjs",
887
890
  "./utilities/useAxiosGet": "./dist/utilities/useAxiosGet.mjs",
888
891
  "./utilities/useAxiosMutate": "./dist/utilities/useAxiosMutate.mjs",
889
892
  "./utilities/useDevicePixelRatio": "./dist/utilities/useDevicePixelRatio.mjs",
@@ -931,6 +934,8 @@
931
934
  "@material-ui/pickers": "^3.3.10",
932
935
  "@material-vega/core": "^0.1.0",
933
936
  "@material-vega/material-ui": "^0.2.1",
937
+ "@tanstack/react-query": "^5",
938
+ "@tanstack/react-query-devtools": "^5",
934
939
  "axios": "^0.27.2",
935
940
  "i18next": "^19.8.3",
936
941
  "notistack": "^1.0.10",