@apvee/spfx-react-toolkit 1.2.1 → 2.0.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.
- package/lib/core/atoms.internal.js +1 -1
- package/lib/core/atoms.internal.js.map +1 -1
- package/lib/core/context.internal.js +2 -2
- package/lib/core/context.internal.js.map +1 -1
- package/lib/core/provider-base.internal.js +29 -29
- package/lib/core/provider-base.internal.js.map +1 -1
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.d.ts +14 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.d.ts.map +1 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js +20 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js.map +1 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.manifest.json +17 -0
- package/lib/extensions/spFxReactToolkitTest/loc/en-us.js +5 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAppCatalogUrl.internal.d.ts +26 -0
- package/lib/hooks/useAppCatalogUrl.internal.d.ts.map +1 -0
- package/lib/hooks/useAppCatalogUrl.internal.js +72 -0
- package/lib/hooks/useAppCatalogUrl.internal.js.map +1 -0
- package/lib/hooks/useAsyncInvoke.internal.js +27 -75
- package/lib/hooks/useAsyncInvoke.internal.js.map +1 -1
- package/lib/hooks/useSPFxAadHttpClient.d.ts +46 -0
- package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxAadHttpClient.js +65 -20
- package/lib/hooks/useSPFxAadHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxContainerInfo.js +5 -5
- package/lib/hooks/useSPFxContainerInfo.js.map +1 -1
- package/lib/hooks/useSPFxContainerSize.js +9 -10
- package/lib/hooks/useSPFxContainerSize.js.map +1 -1
- package/lib/hooks/useSPFxCorrelationInfo.js +6 -7
- package/lib/hooks/useSPFxCorrelationInfo.js.map +1 -1
- package/lib/hooks/useSPFxCrossSitePermissions.js +48 -58
- package/lib/hooks/useSPFxCrossSitePermissions.js.map +1 -1
- package/lib/hooks/useSPFxDisplayMode.js +8 -8
- package/lib/hooks/useSPFxDisplayMode.js.map +1 -1
- package/lib/hooks/useSPFxEnvironmentInfo.js +17 -18
- package/lib/hooks/useSPFxEnvironmentInfo.js.map +1 -1
- package/lib/hooks/useSPFxFluent9ThemeInfo.js +4 -4
- package/lib/hooks/useSPFxFluent9ThemeInfo.js.map +1 -1
- package/lib/hooks/useSPFxHttpClient.d.ts +18 -2
- package/lib/hooks/useSPFxHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxHttpClient.js +19 -9
- package/lib/hooks/useSPFxHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxHubSiteInfo.js +21 -24
- package/lib/hooks/useSPFxHubSiteInfo.js.map +1 -1
- package/lib/hooks/useSPFxInstanceInfo.js +2 -2
- package/lib/hooks/useSPFxInstanceInfo.js.map +1 -1
- package/lib/hooks/useSPFxListInfo.js +8 -9
- package/lib/hooks/useSPFxListInfo.js.map +1 -1
- package/lib/hooks/useSPFxLocaleInfo.js +10 -10
- package/lib/hooks/useSPFxLocaleInfo.js.map +1 -1
- package/lib/hooks/useSPFxLogger.js +26 -26
- package/lib/hooks/useSPFxLogger.js.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.d.ts +50 -3
- package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.js +68 -15
- package/lib/hooks/useSPFxMSGraphClient.js.map +1 -1
- package/lib/hooks/useSPFxOneDriveAppData.d.ts +0 -1
- package/lib/hooks/useSPFxOneDriveAppData.d.ts.map +1 -1
- package/lib/hooks/useSPFxOneDriveAppData.js +420 -230
- package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -1
- package/lib/hooks/useSPFxPageContext.js +2 -2
- package/lib/hooks/useSPFxPageContext.js.map +1 -1
- package/lib/hooks/useSPFxPageType.js +19 -20
- package/lib/hooks/useSPFxPageType.js.map +1 -1
- package/lib/hooks/useSPFxPerformance.js +33 -87
- package/lib/hooks/useSPFxPerformance.js.map +1 -1
- package/lib/hooks/useSPFxPermissions.js +14 -15
- package/lib/hooks/useSPFxPermissions.js.map +1 -1
- package/lib/hooks/useSPFxPnP.js +62 -119
- package/lib/hooks/useSPFxPnP.js.map +1 -1
- package/lib/hooks/useSPFxPnPContext.js +22 -25
- package/lib/hooks/useSPFxPnPContext.js.map +1 -1
- package/lib/hooks/useSPFxPnPList.js +307 -451
- package/lib/hooks/useSPFxPnPList.js.map +1 -1
- package/lib/hooks/useSPFxPnPSearch.js +262 -353
- package/lib/hooks/useSPFxPnPSearch.js.map +1 -1
- package/lib/hooks/useSPFxProperties.js +12 -20
- package/lib/hooks/useSPFxProperties.js.map +1 -1
- package/lib/hooks/useSPFxSPHttpClient.d.ts +18 -2
- package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxSPHttpClient.js +28 -18
- package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxServiceScope.js +6 -6
- package/lib/hooks/useSPFxServiceScope.js.map +1 -1
- package/lib/hooks/useSPFxSiteInfo.js +7 -8
- package/lib/hooks/useSPFxSiteInfo.js.map +1 -1
- package/lib/hooks/useSPFxStorage.js +22 -22
- package/lib/hooks/useSPFxStorage.js.map +1 -1
- package/lib/hooks/useSPFxTeams.js +37 -92
- package/lib/hooks/useSPFxTeams.js.map +1 -1
- package/lib/hooks/useSPFxTenantKeyValueStore.d.ts +252 -0
- package/lib/hooks/useSPFxTenantKeyValueStore.d.ts.map +1 -0
- package/lib/hooks/useSPFxTenantKeyValueStore.js +572 -0
- package/lib/hooks/useSPFxTenantKeyValueStore.js.map +1 -0
- package/lib/hooks/useSPFxTenantProperty.d.ts +23 -244
- package/lib/hooks/useSPFxTenantProperty.d.ts.map +1 -1
- package/lib/hooks/useSPFxTenantProperty.js +85 -559
- package/lib/hooks/useSPFxTenantProperty.js.map +1 -1
- package/lib/hooks/useSPFxUserInfo.js +3 -4
- package/lib/hooks/useSPFxUserInfo.js.map +1 -1
- package/lib/hooks/useSPFxUserPhoto.js +76 -123
- package/lib/hooks/useSPFxUserPhoto.js.map +1 -1
- package/lib/utils/resize-observer.internal.js +6 -7
- package/lib/utils/resize-observer.internal.js.map +1 -1
- package/lib/utils/theme-subscription.internal.js +8 -8
- package/lib/utils/theme-subscription.internal.js.map +1 -1
- package/lib/utils/type-guards.internal.js +6 -6
- package/lib/utils/type-guards.internal.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js +12 -37
- package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +279 -342
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +26 -86
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +53 -113
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +49 -121
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +44 -103
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +15 -15
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +18 -66
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +9 -9
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +37 -86
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +6 -9
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +3 -6
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -1
- package/package.json +8 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// useSPFxAadHttpClient.ts
|
|
2
2
|
// Hook to access Azure AD-secured APIs with state management
|
|
3
|
-
import { useMemo, useState, useEffect } from 'react';
|
|
3
|
+
import { useMemo, useState, useEffect, useRef } from 'react';
|
|
4
4
|
import { useSPFxServiceScope } from './useSPFxServiceScope';
|
|
5
5
|
import { AadHttpClientFactory } from '@microsoft/sp-http';
|
|
6
6
|
import { useAsyncInvoke } from './useAsyncInvoke.internal';
|
|
@@ -193,41 +193,86 @@ import { useAsyncInvoke } from './useAsyncInvoke.internal';
|
|
|
193
193
|
* ```
|
|
194
194
|
*/
|
|
195
195
|
export function useSPFxAadHttpClient(initialResourceUrl) {
|
|
196
|
-
|
|
196
|
+
const { consume } = useSPFxServiceScope();
|
|
197
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
198
|
+
// STATE
|
|
199
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
200
|
+
const [resourceUrl, setResourceUrl] = useState(initialResourceUrl);
|
|
201
|
+
const [client, setClient] = useState(undefined);
|
|
202
|
+
const [isInitializing, setIsInitializing] = useState(!!initialResourceUrl);
|
|
203
|
+
const [initError, setInitError] = useState(undefined);
|
|
204
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
205
|
+
// REFS (for cleanup and preventing memory leaks)
|
|
206
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
207
|
+
// Track component mounted state to prevent memory leaks
|
|
208
|
+
const isMountedRef = useRef(true);
|
|
209
|
+
// Cleanup on unmount
|
|
210
|
+
useEffect(() => {
|
|
211
|
+
return () => {
|
|
212
|
+
isMountedRef.current = false;
|
|
213
|
+
};
|
|
214
|
+
}, []);
|
|
215
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
216
|
+
// FACTORY (lazy consume from ServiceScope)
|
|
217
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
197
218
|
// Lazy consume AadHttpClientFactory from ServiceScope (cached by useMemo)
|
|
198
|
-
|
|
219
|
+
const factory = useMemo(() => {
|
|
199
220
|
return consume(AadHttpClientFactory.serviceKey);
|
|
200
221
|
}, [consume]);
|
|
201
|
-
//
|
|
202
|
-
|
|
203
|
-
|
|
222
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
223
|
+
// INITIALIZATION EFFECT
|
|
224
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
204
225
|
// Initialize client when resourceUrl changes
|
|
205
|
-
useEffect(
|
|
206
|
-
// Reset client immediately when resourceUrl changes
|
|
226
|
+
useEffect(() => {
|
|
227
|
+
// Reset client and error immediately when resourceUrl changes
|
|
207
228
|
setClient(undefined);
|
|
229
|
+
setInitError(undefined);
|
|
208
230
|
if (!resourceUrl) {
|
|
231
|
+
setIsInitializing(false);
|
|
209
232
|
return;
|
|
210
233
|
}
|
|
234
|
+
setIsInitializing(true);
|
|
211
235
|
// Get AadHttpClient for the specified resource
|
|
212
236
|
factory
|
|
213
237
|
.getClient(resourceUrl)
|
|
214
|
-
.then(
|
|
215
|
-
|
|
238
|
+
.then((aadClient) => {
|
|
239
|
+
// Only update state if still mounted
|
|
240
|
+
if (isMountedRef.current) {
|
|
241
|
+
setClient(aadClient);
|
|
242
|
+
setIsInitializing(false);
|
|
243
|
+
}
|
|
216
244
|
})
|
|
217
|
-
.catch(
|
|
218
|
-
|
|
245
|
+
.catch((err) => {
|
|
246
|
+
// Only update state if still mounted
|
|
247
|
+
if (isMountedRef.current) {
|
|
248
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
249
|
+
setInitError(error);
|
|
250
|
+
setIsInitializing(false);
|
|
251
|
+
console.error('Failed to initialize AadHttpClient:', error);
|
|
252
|
+
}
|
|
219
253
|
});
|
|
220
254
|
}, [resourceUrl, factory]);
|
|
255
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
256
|
+
// ASYNC INVOKE PATTERN
|
|
257
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
221
258
|
// Use shared async invocation pattern
|
|
222
|
-
|
|
259
|
+
const { invoke, isLoading, error, clearError } = useAsyncInvoke(client, 'AadHttpClient not initialized. Set resourceUrl and wait for client initialization, or check initError.');
|
|
260
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
261
|
+
// COMPUTED STATE & RETURN
|
|
262
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
263
|
+
// Computed: ready when client is available and no errors
|
|
264
|
+
const isReady = client !== undefined && !isInitializing && !initError;
|
|
223
265
|
return {
|
|
224
|
-
client
|
|
225
|
-
invoke
|
|
226
|
-
isLoading
|
|
227
|
-
error
|
|
228
|
-
clearError
|
|
229
|
-
setResourceUrl
|
|
230
|
-
resourceUrl
|
|
266
|
+
client,
|
|
267
|
+
invoke,
|
|
268
|
+
isLoading,
|
|
269
|
+
error,
|
|
270
|
+
clearError,
|
|
271
|
+
setResourceUrl,
|
|
272
|
+
resourceUrl,
|
|
273
|
+
isInitializing,
|
|
274
|
+
initError,
|
|
275
|
+
isReady,
|
|
231
276
|
};
|
|
232
277
|
}
|
|
233
278
|
//# sourceMappingURL=useSPFxAadHttpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxAadHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxAadHttpClient.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,6DAA6D;AAE7D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxAadHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxAadHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,14 +36,14 @@ import { useResizeObserver } from '../utils/resize-observer.internal';
|
|
|
36
36
|
*/
|
|
37
37
|
export function useSPFxContainerInfo() {
|
|
38
38
|
// Read container element and size directly from atoms
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const element = useAtomValue(spfxAtoms.containerEl);
|
|
40
|
+
const size = useAtomValue(spfxAtoms.containerSize);
|
|
41
41
|
// Setup ResizeObserver with atom setter
|
|
42
|
-
|
|
42
|
+
const setSize = useSetAtom(spfxAtoms.containerSize);
|
|
43
43
|
useResizeObserver(element, setSize);
|
|
44
44
|
return {
|
|
45
|
-
element
|
|
46
|
-
size
|
|
45
|
+
element,
|
|
46
|
+
size,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=useSPFxContainerInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxContainerInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxContainerInfo.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,4CAA4C;AAE5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AActE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB;IAClC,sDAAsD;IACtD,
|
|
1
|
+
{"version":3,"file":"useSPFxContainerInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxContainerInfo.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,4CAA4C;AAE5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AActE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB;IAClC,sDAAsD;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAEnD,wCAAwC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACpD,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO;QACL,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { useSPFxContainerInfo } from './useSPFxContainerInfo';
|
|
|
15
15
|
*
|
|
16
16
|
* @see https://developer.microsoft.com/en-us/fluentui#/styles/web/responsive
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const CONTAINER_SIZE_BREAKPOINTS = {
|
|
19
19
|
small: 480, // Fluent UI 9: Small → Medium (320-479 → 480+)
|
|
20
20
|
medium: 640, // Fluent UI 9: Medium → Large (480-639 → 640+)
|
|
21
21
|
large: 1024, // Fluent UI 9: Large → XLarge (640-1023 → 1024+)
|
|
@@ -128,22 +128,21 @@ function getContainerSize(width) {
|
|
|
128
128
|
* ```
|
|
129
129
|
*/
|
|
130
130
|
export function useSPFxContainerSize() {
|
|
131
|
-
|
|
132
|
-
return useMemo(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
var size = getContainerSize(width);
|
|
131
|
+
const { size: containerSize } = useSPFxContainerInfo();
|
|
132
|
+
return useMemo(() => {
|
|
133
|
+
const width = containerSize?.width ?? 0;
|
|
134
|
+
const height = containerSize?.height ?? 0;
|
|
135
|
+
const size = getContainerSize(width);
|
|
137
136
|
return {
|
|
138
|
-
size
|
|
137
|
+
size,
|
|
139
138
|
isSmall: size === 'small',
|
|
140
139
|
isMedium: size === 'medium',
|
|
141
140
|
isLarge: size === 'large',
|
|
142
141
|
isXLarge: size === 'xLarge',
|
|
143
142
|
isXXLarge: size === 'xxLarge',
|
|
144
143
|
isXXXLarge: size === 'xxxLarge',
|
|
145
|
-
width
|
|
146
|
-
height
|
|
144
|
+
width,
|
|
145
|
+
height,
|
|
147
146
|
};
|
|
148
147
|
}, [containerSize]);
|
|
149
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxContainerSize.js","sourceRoot":"","sources":["../../src/hooks/useSPFxContainerSize.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,wEAAwE;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuD9D;;;;;;;;;;;;GAYG;AACH,
|
|
1
|
+
{"version":3,"file":"useSPFxContainerSize.js","sourceRoot":"","sources":["../../src/hooks/useSPFxContainerSize.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,wEAAwE;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuD9D;;;;;;;;;;;;GAYG;AACH,MAAM,0BAA0B,GAAG;IACjC,KAAK,EAAE,GAAG,EAAM,+CAA+C;IAC/D,MAAM,EAAE,GAAG,EAAK,+CAA+C;IAC/D,KAAK,EAAE,IAAI,EAAK,iDAAiD;IACjE,MAAM,EAAE,IAAI,EAAI,oDAAoD;IACpE,OAAO,EAAE,IAAI,EAAG,sDAAsD;IACtE,QAAQ,EAAE,QAAQ,EAAE,0CAA0C;CACtD,CAAC;AAEX;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,KAAK,GAAG,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,CAAK,UAAU;IAChC,CAAC;IACD,IAAI,KAAK,GAAG,0BAA0B,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,CAAI,YAAY;IAClC,CAAC;IACD,IAAI,KAAK,GAAG,0BAA0B,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,CAAK,aAAa;IACnC,CAAC;IACD,IAAI,KAAK,GAAG,0BAA0B,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,QAAQ,CAAC,CAAI,cAAc;IACpC,CAAC;IACD,IAAI,KAAK,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,CAAG,cAAc;IACpC,CAAC;IACD,OAAO,UAAU,CAAC,CAAI,YAAY;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAEvD,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,IAAI,KAAK,OAAO;YACzB,QAAQ,EAAE,IAAI,KAAK,QAAQ;YAC3B,OAAO,EAAE,IAAI,KAAK,OAAO;YACzB,QAAQ,EAAE,IAAI,KAAK,QAAQ;YAC3B,SAAS,EAAE,IAAI,KAAK,SAAS;YAC7B,UAAU,EAAE,IAAI,KAAK,UAAU;YAC/B,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -42,17 +42,16 @@ import { useSPFxPageContext } from './useSPFxPageContext';
|
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
44
44
|
export function useSPFxCorrelationInfo() {
|
|
45
|
-
|
|
46
|
-
var pageContext = useSPFxPageContext();
|
|
45
|
+
const pageContext = useSPFxPageContext();
|
|
47
46
|
// correlationId is in pageContext.site (SPSite type - public API)
|
|
48
|
-
|
|
47
|
+
const correlationId = pageContext.site?.correlationId?.toString();
|
|
49
48
|
// tenantId is in pageContext.aadInfo (AzureActiveDirectoryInfo - internal type)
|
|
50
49
|
// Casting required because AzureActiveDirectoryInfo is not exposed in public types
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const aadInfo = pageContext.aadInfo;
|
|
51
|
+
const tenantId = aadInfo?.tenantId?.toString();
|
|
53
52
|
return {
|
|
54
|
-
correlationId
|
|
55
|
-
tenantId
|
|
53
|
+
correlationId,
|
|
54
|
+
tenantId,
|
|
56
55
|
};
|
|
57
56
|
}
|
|
58
57
|
//# sourceMappingURL=useSPFxCorrelationInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxCorrelationInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxCorrelationInfo.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,gDAAgD;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,sBAAsB
|
|
1
|
+
{"version":3,"file":"useSPFxCorrelationInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxCorrelationInfo.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,gDAAgD;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,kEAAkE;IAClE,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IAElE,gFAAgF;IAChF,mFAAmF;IACnF,MAAM,OAAO,GAAG,WAAW,CAAC,OACuB,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAE/C,OAAO;QACL,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -31,18 +31,18 @@ import { useSPFxSPHttpClient } from './useSPFxSPHttpClient';
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
export function useSPFxCrossSitePermissions(siteUrl, options) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
const { invoke } = useSPFxSPHttpClient();
|
|
35
|
+
const [sitePermissions, setSitePermissions] = useState();
|
|
36
|
+
const [webPermissions, setWebPermissions] = useState();
|
|
37
|
+
const [listPermissions, setListPermissions] = useState();
|
|
38
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
39
|
+
const [error, setError] = useState();
|
|
40
40
|
// Helper: Convert EffectiveBasePermissions to SPPermission
|
|
41
|
-
|
|
41
|
+
const convertToSPPermission = useCallback((data) => {
|
|
42
42
|
return new SPPermission(data);
|
|
43
43
|
}, []);
|
|
44
44
|
// Fetch permissions when inputs change
|
|
45
|
-
useEffect(
|
|
45
|
+
useEffect(() => {
|
|
46
46
|
// Skip fetch if siteUrl is not provided or empty
|
|
47
47
|
if (!siteUrl || siteUrl.trim() === '') {
|
|
48
48
|
// Reset to idle state (no loading, no error)
|
|
@@ -55,78 +55,68 @@ export function useSPFxCrossSitePermissions(siteUrl, options) {
|
|
|
55
55
|
}
|
|
56
56
|
setIsLoading(true);
|
|
57
57
|
setError(undefined);
|
|
58
|
-
|
|
58
|
+
const targetWebUrl = options?.webUrl || siteUrl;
|
|
59
59
|
// Fetch site permissions
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
});
|
|
69
|
-
});
|
|
60
|
+
const fetchSitePermissions = invoke(client => client.get(`${siteUrl}/_api/site/effectivebasepermissions`, SPHttpClient.configurations.v1)
|
|
61
|
+
.then(res => res.json())
|
|
62
|
+
.then((data) => {
|
|
63
|
+
if (data.EffectiveBasePermissions) {
|
|
64
|
+
return convertToSPPermission(data.EffectiveBasePermissions);
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}));
|
|
70
68
|
// Fetch web permissions
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
const fetchWebPermissions = invoke(client => client.get(`${targetWebUrl}/_api/web/effectivebasepermissions`, SPHttpClient.configurations.v1)
|
|
70
|
+
.then(res => res.json())
|
|
71
|
+
.then((data) => {
|
|
72
|
+
if (data.EffectiveBasePermissions) {
|
|
73
|
+
return convertToSPPermission(data.EffectiveBasePermissions);
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}));
|
|
77
|
+
// Fetch list permissions if listId provided
|
|
78
|
+
const fetchListPermissions = options?.listId
|
|
79
|
+
? invoke(client => client.get(`${targetWebUrl}/_api/web/lists(guid'${options.listId}')/effectivebasepermissions`, SPHttpClient.configurations.v1)
|
|
80
|
+
.then(res => res.json())
|
|
81
|
+
.then((data) => {
|
|
75
82
|
if (data.EffectiveBasePermissions) {
|
|
76
83
|
return convertToSPPermission(data.EffectiveBasePermissions);
|
|
77
84
|
}
|
|
78
85
|
return undefined;
|
|
79
|
-
})
|
|
80
|
-
});
|
|
81
|
-
// Fetch list permissions if listId provided
|
|
82
|
-
var fetchListPermissions = (options === null || options === void 0 ? void 0 : options.listId)
|
|
83
|
-
? invoke(function (client) {
|
|
84
|
-
return client.get("".concat(targetWebUrl, "/_api/web/lists(guid'").concat(options.listId, "')/effectivebasepermissions"), SPHttpClient.configurations.v1)
|
|
85
|
-
.then(function (res) { return res.json(); })
|
|
86
|
-
.then(function (data) {
|
|
87
|
-
if (data.EffectiveBasePermissions) {
|
|
88
|
-
return convertToSPPermission(data.EffectiveBasePermissions);
|
|
89
|
-
}
|
|
90
|
-
return undefined;
|
|
91
|
-
});
|
|
92
|
-
})
|
|
86
|
+
}))
|
|
93
87
|
: Promise.resolve(undefined);
|
|
94
88
|
// Execute all fetches in parallel
|
|
95
89
|
Promise.all([fetchSitePermissions, fetchWebPermissions, fetchListPermissions])
|
|
96
|
-
.then(
|
|
97
|
-
var site = _a[0], web = _a[1], list = _a[2];
|
|
90
|
+
.then(([site, web, list]) => {
|
|
98
91
|
setSitePermissions(site);
|
|
99
92
|
setWebPermissions(web);
|
|
100
93
|
setListPermissions(list);
|
|
101
94
|
setIsLoading(false);
|
|
102
95
|
})
|
|
103
|
-
.catch(
|
|
96
|
+
.catch(err => {
|
|
104
97
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
105
98
|
setIsLoading(false);
|
|
106
99
|
});
|
|
107
|
-
}, [siteUrl, options
|
|
100
|
+
}, [siteUrl, options?.webUrl, options?.listId, invoke, convertToSPPermission]);
|
|
108
101
|
// Helper methods
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
return (_a = webPermissions === null || webPermissions === void 0 ? void 0 : webPermissions.hasPermission(permission)) !== null && _a !== void 0 ? _a : false;
|
|
102
|
+
const hasWebPermission = useCallback((permission) => {
|
|
103
|
+
return webPermissions?.hasPermission(permission) ?? false;
|
|
112
104
|
}, [webPermissions]);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return (_a = sitePermissions === null || sitePermissions === void 0 ? void 0 : sitePermissions.hasPermission(permission)) !== null && _a !== void 0 ? _a : false;
|
|
105
|
+
const hasSitePermission = useCallback((permission) => {
|
|
106
|
+
return sitePermissions?.hasPermission(permission) ?? false;
|
|
116
107
|
}, [sitePermissions]);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return (_a = listPermissions === null || listPermissions === void 0 ? void 0 : listPermissions.hasPermission(permission)) !== null && _a !== void 0 ? _a : false;
|
|
108
|
+
const hasListPermission = useCallback((permission) => {
|
|
109
|
+
return listPermissions?.hasPermission(permission) ?? false;
|
|
120
110
|
}, [listPermissions]);
|
|
121
111
|
return {
|
|
122
|
-
sitePermissions
|
|
123
|
-
webPermissions
|
|
124
|
-
listPermissions
|
|
125
|
-
hasWebPermission
|
|
126
|
-
hasSitePermission
|
|
127
|
-
hasListPermission
|
|
128
|
-
isLoading
|
|
129
|
-
error
|
|
112
|
+
sitePermissions,
|
|
113
|
+
webPermissions,
|
|
114
|
+
listPermissions,
|
|
115
|
+
hasWebPermission,
|
|
116
|
+
hasSitePermission,
|
|
117
|
+
hasListPermission,
|
|
118
|
+
isLoading,
|
|
119
|
+
error,
|
|
130
120
|
};
|
|
131
121
|
}
|
|
132
122
|
//# sourceMappingURL=useSPFxCrossSitePermissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxCrossSitePermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxCrossSitePermissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AA8D5D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAChB,OAAyC;
|
|
1
|
+
{"version":3,"file":"useSPFxCrossSitePermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxCrossSitePermissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,15 +38,15 @@ import { spfxAtoms } from './../core/atoms.internal';
|
|
|
38
38
|
*/
|
|
39
39
|
export function useSPFxDisplayMode() {
|
|
40
40
|
// Read current mode directly from atom (readonly)
|
|
41
|
-
|
|
41
|
+
const modeValue = useAtomValue(spfxAtoms.displayMode);
|
|
42
42
|
// Default to Read mode if not set
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
const mode = modeValue ?? DisplayMode.Read;
|
|
44
|
+
const isEdit = mode === DisplayMode.Edit;
|
|
45
|
+
const isRead = mode === DisplayMode.Read;
|
|
46
46
|
return {
|
|
47
|
-
mode
|
|
48
|
-
isEdit
|
|
49
|
-
isRead
|
|
47
|
+
mode,
|
|
48
|
+
isEdit,
|
|
49
|
+
isRead,
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -67,7 +67,7 @@ export function useSPFxDisplayMode() {
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
export function useSPFxIsEdit() {
|
|
70
|
-
|
|
70
|
+
const { isEdit } = useSPFxDisplayMode();
|
|
71
71
|
return isEdit;
|
|
72
72
|
}
|
|
73
73
|
//# sourceMappingURL=useSPFxDisplayMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxDisplayMode.js","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,0CAA0C;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,kBAAkB;IAChC,kDAAkD;IAClD,
|
|
1
|
+
{"version":3,"file":"useSPFxDisplayMode.js","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,0CAA0C;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,kBAAkB;IAChC,kDAAkD;IAClD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtD,kCAAkC;IAClC,MAAM,IAAI,GAAG,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IAEzC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -38,27 +38,26 @@ import { useSPFxPageContext } from './useSPFxPageContext';
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
export function useSPFxEnvironmentInfo() {
|
|
41
|
-
|
|
42
|
-
var pageContext = useSPFxPageContext();
|
|
41
|
+
const pageContext = useSPFxPageContext();
|
|
43
42
|
// Get legacy page context for environment detection
|
|
44
|
-
|
|
43
|
+
const legacy = pageContext.legacyPageContext;
|
|
45
44
|
// Check for SDK contexts (Teams, Office, Outlook)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const sdks = pageContext.sdks;
|
|
46
|
+
const isTeams = sdks?.microsoftTeams !== undefined;
|
|
47
|
+
const isOffice = sdks?.office !== undefined;
|
|
48
|
+
const isOutlook = sdks?.outlook !== undefined;
|
|
50
49
|
// Check for local workbench
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
const webUrl = pageContext.web.absoluteUrl.toLowerCase();
|
|
51
|
+
const isLocal = webUrl.indexOf('localhost') !== -1 ||
|
|
53
52
|
webUrl.indexOf('127.0.0.1') !== -1;
|
|
54
53
|
// Check for workbench (local or hosted)
|
|
55
|
-
|
|
54
|
+
const isWorkbench = isLocal ||
|
|
56
55
|
webUrl.indexOf('workbench.aspx') !== -1 ||
|
|
57
56
|
webUrl.indexOf('_layouts/15/workbench.aspx') !== -1;
|
|
58
57
|
// Check for SharePoint On-Premises
|
|
59
|
-
|
|
58
|
+
const isOnPrem = legacy?.isOnPremises ?? false;
|
|
60
59
|
// Determine environment type (priority order: Local > Teams > Outlook > Office > OnPrem > SharePoint)
|
|
61
|
-
|
|
60
|
+
let type;
|
|
62
61
|
if (isLocal) {
|
|
63
62
|
type = 'Local';
|
|
64
63
|
}
|
|
@@ -78,14 +77,14 @@ export function useSPFxEnvironmentInfo() {
|
|
|
78
77
|
type = 'SharePoint';
|
|
79
78
|
}
|
|
80
79
|
return {
|
|
81
|
-
type
|
|
82
|
-
isLocal
|
|
83
|
-
isWorkbench
|
|
80
|
+
type,
|
|
81
|
+
isLocal,
|
|
82
|
+
isWorkbench,
|
|
84
83
|
isSharePoint: type === 'SharePoint',
|
|
85
84
|
isSharePointOnPrem: type === 'SharePointOnPrem',
|
|
86
|
-
isTeams
|
|
87
|
-
isOffice
|
|
88
|
-
isOutlook
|
|
85
|
+
isTeams,
|
|
86
|
+
isOffice,
|
|
87
|
+
isOutlook,
|
|
89
88
|
};
|
|
90
89
|
}
|
|
91
90
|
//# sourceMappingURL=useSPFxEnvironmentInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxEnvironmentInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxEnvironmentInfo.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,8CAA8C;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0C1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,sBAAsB
|
|
1
|
+
{"version":3,"file":"useSPFxEnvironmentInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxEnvironmentInfo.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,8CAA8C;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0C1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,oDAAoD;IACpD,MAAM,MAAM,GAAI,WAMd,CAAC,iBAAiB,CAAC;IAErB,kDAAkD;IAClD,MAAM,IAAI,GAAI,WAMZ,CAAC,IAAI,CAAC;IAER,MAAM,OAAO,GAAG,IAAI,EAAE,cAAc,KAAK,SAAS,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC;IAE9C,4BAA4B;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnD,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO;QACP,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IAExE,mCAAmC;IACnC,MAAM,QAAQ,GAAG,MAAM,EAAE,YAAY,IAAI,KAAK,CAAC;IAE/C,sGAAsG;IACtG,IAAI,IAAyB,CAAC;IAC9B,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,IAAI,GAAG,OAAO,CAAC;IACjB,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,IAAI,GAAG,kBAAkB,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO;QACP,WAAW;QACX,YAAY,EAAE,IAAI,KAAK,YAAY;QACnC,kBAAkB,EAAE,IAAI,KAAK,kBAAkB;QAC/C,OAAO;QACP,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -97,9 +97,9 @@ import { useSPFxTeams } from './useSPFxTeams';
|
|
|
97
97
|
* ```
|
|
98
98
|
*/
|
|
99
99
|
export function useSPFxFluent9ThemeInfo() {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
const teamsInfo = useSPFxTeams();
|
|
101
|
+
const spfxTheme = useSPFxThemeInfo();
|
|
102
|
+
const theme = useMemo(() => {
|
|
103
103
|
// Priority 1: Teams theme (native Teams themes for better integration)
|
|
104
104
|
if (teamsInfo.supported && teamsInfo.theme) {
|
|
105
105
|
return getTeamsFluentTheme(teamsInfo.theme);
|
|
@@ -113,7 +113,7 @@ export function useSPFxFluent9ThemeInfo() {
|
|
|
113
113
|
return webLightTheme;
|
|
114
114
|
}, [teamsInfo.supported, teamsInfo.theme, spfxTheme]);
|
|
115
115
|
return {
|
|
116
|
-
theme
|
|
116
|
+
theme,
|
|
117
117
|
isTeams: teamsInfo.supported,
|
|
118
118
|
teamsTheme: teamsInfo.theme
|
|
119
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxFluent9ThemeInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxFluent9ThemeInfo.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,6DAA6D;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,MAAM,UAAU,uBAAuB;IACrC,
|
|
1
|
+
{"version":3,"file":"useSPFxFluent9ThemeInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxFluent9ThemeInfo.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,6DAA6D;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,uEAAuE;QACvE,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,gDAAgD;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,8DAA8D;YAC9D,OAAO,aAAa,CAAC,SAAgB,CAAC,CAAC;QACzC,CAAC;QAED,8CAA8C;QAC9C,OAAO,aAAa,CAAC;IACvB,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,SAAS;QAC5B,UAAU,EAAE,SAAS,CAAC,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,cAAsB;IACjD,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,sBAAsB,CAAC;QAChC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -6,15 +6,16 @@ export interface SPFxHttpClientInfo {
|
|
|
6
6
|
/**
|
|
7
7
|
* Native HttpClient from SPFx.
|
|
8
8
|
* Provides access to generic HTTP endpoints (non-SharePoint).
|
|
9
|
-
*
|
|
9
|
+
* Will be undefined if ServiceScope is not available.
|
|
10
10
|
*/
|
|
11
|
-
readonly client: HttpClient;
|
|
11
|
+
readonly client: HttpClient | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Invoke HTTP API call with automatic state management.
|
|
14
14
|
* Tracks loading state and captures errors automatically.
|
|
15
15
|
*
|
|
16
16
|
* @param fn - Function that receives HttpClient and returns a promise
|
|
17
17
|
* @returns Promise with the result
|
|
18
|
+
* @throws Error if client is not available
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
20
21
|
* ```tsx
|
|
@@ -39,6 +40,21 @@ export interface SPFxHttpClientInfo {
|
|
|
39
40
|
readonly error: Error | undefined;
|
|
40
41
|
/** Clear the current error */
|
|
41
42
|
readonly clearError: () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Computed state: true when client is ready for use.
|
|
45
|
+
* Equivalent to: client !== undefined
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```tsx
|
|
49
|
+
* const { isReady, invoke } = useSPFxHttpClient();
|
|
50
|
+
*
|
|
51
|
+
* if (!isReady) return <Spinner label="Waiting for HttpClient..." />;
|
|
52
|
+
*
|
|
53
|
+
* // Safe to use invoke
|
|
54
|
+
* const data = await invoke(c => c.get(...).then(r => r.json()));
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
readonly isReady: boolean;
|
|
42
58
|
}
|
|
43
59
|
/**
|
|
44
60
|
* Hook to access generic HTTP client with built-in state management
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAExC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3E;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAEhC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwLG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CA+BtD"}
|