@apvee/spfx-react-toolkit 1.2.0 → 1.3.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/README.md +52 -7217
- package/lib/core/context.internal.d.ts +6 -1
- package/lib/core/context.internal.d.ts.map +1 -1
- package/lib/core/context.internal.js +6 -1
- package/lib/core/context.internal.js.map +1 -1
- package/lib/core/index.d.ts +21 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +21 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/provider-application-customizer.d.ts.map +1 -1
- package/lib/core/provider-application-customizer.js.map +1 -1
- package/lib/core/provider-field-customizer.d.ts.map +1 -1
- package/lib/core/provider-field-customizer.js.map +1 -1
- package/lib/core/provider-listview-commandset.d.ts.map +1 -1
- package/lib/core/provider-listview-commandset.js.map +1 -1
- package/lib/core/provider-webpart.d.ts.map +1 -1
- package/lib/core/provider-webpart.js.map +1 -1
- package/lib/core/types.d.ts +2 -0
- package/lib/core/types.d.ts.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 +41 -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 +31 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +31 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAsyncInvoke.internal.d.ts +58 -0
- package/lib/hooks/useAsyncInvoke.internal.d.ts.map +1 -0
- package/lib/hooks/useAsyncInvoke.internal.js +118 -0
- package/lib/hooks/useAsyncInvoke.internal.js.map +1 -0
- package/lib/hooks/useSPFxAadHttpClient.d.ts +46 -0
- package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxAadHttpClient.js +55 -80
- package/lib/hooks/useSPFxAadHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxContainerInfo.d.ts +2 -0
- package/lib/hooks/useSPFxContainerInfo.d.ts.map +1 -1
- package/lib/hooks/useSPFxContainerInfo.js +2 -0
- package/lib/hooks/useSPFxContainerInfo.js.map +1 -1
- package/lib/hooks/useSPFxDisplayMode.d.ts +4 -0
- package/lib/hooks/useSPFxDisplayMode.d.ts.map +1 -1
- package/lib/hooks/useSPFxDisplayMode.js +4 -0
- package/lib/hooks/useSPFxDisplayMode.js.map +1 -1
- package/lib/hooks/useSPFxHttpClient.d.ts +22 -2
- package/lib/hooks/useSPFxHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxHttpClient.js +19 -76
- package/lib/hooks/useSPFxHttpClient.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 +60 -77
- 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 +352 -101
- package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -1
- package/lib/hooks/useSPFxPermissions.d.ts +15 -3
- package/lib/hooks/useSPFxPermissions.d.ts.map +1 -1
- package/lib/hooks/useSPFxPermissions.js.map +1 -1
- package/lib/hooks/useSPFxPnPContext.d.ts +4 -0
- package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -1
- package/lib/hooks/useSPFxPnPContext.js +4 -0
- package/lib/hooks/useSPFxPnPContext.js.map +1 -1
- package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -1
- package/lib/hooks/useSPFxPnPSearch.js +61 -48
- package/lib/hooks/useSPFxPnPSearch.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 +15 -75
- package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxThemeInfo.d.ts +2 -0
- package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -1
- package/lib/hooks/useSPFxThemeInfo.js +2 -0
- package/lib/hooks/useSPFxThemeInfo.js.map +1 -1
- package/lib/index.d.ts +27 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +27 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/resize-observer.internal.d.ts +12 -2
- package/lib/utils/resize-observer.internal.d.ts.map +1 -1
- package/lib/utils/resize-observer.internal.js +12 -2
- package/lib/utils/resize-observer.internal.js.map +1 -1
- package/lib/utils/theme-subscription.internal.d.ts +12 -3
- package/lib/utils/theme-subscription.internal.d.ts.map +1 -1
- package/lib/utils/theme-subscription.internal.js +19 -3
- package/lib/utils/theme-subscription.internal.js.map +1 -1
- package/lib/utils/type-guards.internal.d.ts +78 -5
- package/lib/utils/type-guards.internal.d.ts.map +1 -1
- package/lib/utils/type-guards.internal.js +78 -5
- package/lib/utils/type-guards.internal.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +0 -4
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +30 -746
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts +7 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +131 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts +8 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +158 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts +9 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +159 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts +10 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +141 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +62 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +98 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +45 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +134 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts +13 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.js +18 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts +18 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +17 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts +16 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +14 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.js +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.js.map +1 -0
- package/package.json +14 -12
|
@@ -15,7 +15,12 @@ import type { SPFxContextValue } from './types';
|
|
|
15
15
|
export declare const SPFxContext: React.Context<SPFxContextValue | null>;
|
|
16
16
|
/**
|
|
17
17
|
* Internal hook to access SPFx context
|
|
18
|
-
*
|
|
18
|
+
*
|
|
19
|
+
* Provides access to the SPFx context value containing instanceId, spfxContext, and kind.
|
|
20
|
+
* Must be used within an SPFxProvider component tree.
|
|
21
|
+
*
|
|
22
|
+
* @returns SPFxContextValue containing instanceId, spfxContext, and kind
|
|
23
|
+
* @throws Error if used outside SPFxProvider - component must be wrapped with \<SPFxProvider\>
|
|
19
24
|
*
|
|
20
25
|
* @internal
|
|
21
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.internal.d.ts","sourceRoot":"","sources":["../../src/core/context.internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,wCAAqD,CAAC;AAM9E
|
|
1
|
+
{"version":3,"file":"context.internal.d.ts","sourceRoot":"","sources":["../../src/core/context.internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,wCAAqD,CAAC;AAM9E;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,CAWjD"}
|
|
@@ -19,7 +19,12 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Internal hook to access SPFx context
|
|
22
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* Provides access to the SPFx context value containing instanceId, spfxContext, and kind.
|
|
24
|
+
* Must be used within an SPFxProvider component tree.
|
|
25
|
+
*
|
|
26
|
+
* @returns SPFxContextValue containing instanceId, spfxContext, and kind
|
|
27
|
+
* @throws Error if used outside SPFxProvider - component must be wrapped with \<SPFxProvider\>
|
|
23
28
|
*
|
|
24
29
|
* @internal
|
|
25
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.internal.js","sourceRoot":"","sources":["../../src/core/context.internal.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd,yDAAyD;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAA0B,IAAI,CAAC,CAAC;AAE9E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAC1C,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"context.internal.js","sourceRoot":"","sources":["../../src/core/context.internal.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd,yDAAyD;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAA0B,IAAI,CAAC,CAAC;AAE9E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mDAAmD;YACnD,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/lib/core/index.d.ts
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPFx React Core
|
|
3
|
+
*
|
|
4
|
+
* Core providers and types for SPFx React integration.
|
|
5
|
+
*
|
|
6
|
+
* **Providers:**
|
|
7
|
+
* - `SPFxWebPartProvider` - Provider for WebParts
|
|
8
|
+
* - `SPFxApplicationCustomizerProvider` - Provider for Application Customizers
|
|
9
|
+
* - `SPFxListViewCommandSetProvider` - Provider for ListView Command Sets
|
|
10
|
+
* - `SPFxFieldCustomizerProvider` - Provider for Field Customizers
|
|
11
|
+
*
|
|
12
|
+
* **Types:**
|
|
13
|
+
* - `SPFxProviderProps` - Props interface for providers
|
|
14
|
+
* - `SPFxContextValue` - Context value interface
|
|
15
|
+
* - `SPFxComponent` - Union type for all SPFx components
|
|
16
|
+
* - `SPFxContextType` - Union type for all SPFx context types
|
|
17
|
+
* - `HostKind` - Component type discriminator
|
|
18
|
+
* - `ContainerSize` - Container dimensions interface
|
|
19
|
+
*
|
|
20
|
+
* @module core
|
|
21
|
+
*/
|
|
1
22
|
export * from './provider-application-customizer';
|
|
2
23
|
export * from './provider-field-customizer';
|
|
3
24
|
export * from './provider-listview-commandset';
|
package/lib/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
package/lib/core/index.js
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPFx React Core
|
|
3
|
+
*
|
|
4
|
+
* Core providers and types for SPFx React integration.
|
|
5
|
+
*
|
|
6
|
+
* **Providers:**
|
|
7
|
+
* - `SPFxWebPartProvider` - Provider for WebParts
|
|
8
|
+
* - `SPFxApplicationCustomizerProvider` - Provider for Application Customizers
|
|
9
|
+
* - `SPFxListViewCommandSetProvider` - Provider for ListView Command Sets
|
|
10
|
+
* - `SPFxFieldCustomizerProvider` - Provider for Field Customizers
|
|
11
|
+
*
|
|
12
|
+
* **Types:**
|
|
13
|
+
* - `SPFxProviderProps` - Props interface for providers
|
|
14
|
+
* - `SPFxContextValue` - Context value interface
|
|
15
|
+
* - `SPFxComponent` - Union type for all SPFx components
|
|
16
|
+
* - `SPFxContextType` - Union type for all SPFx context types
|
|
17
|
+
* - `HostKind` - Component type discriminator
|
|
18
|
+
* - `ContainerSize` - Container dimensions interface
|
|
19
|
+
*
|
|
20
|
+
* @module core
|
|
21
|
+
*/
|
|
1
22
|
export * from './provider-application-customizer';
|
|
2
23
|
export * from './provider-field-customizer';
|
|
3
24
|
export * from './provider-listview-commandset';
|
package/lib/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-application-customizer.d.ts","sourceRoot":"","sources":["../../src/core/provider-application-customizer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-application-customizer.d.ts","sourceRoot":"","sources":["../../src/core/provider-application-customizer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAIhF;;;;;GAKG;AACH,MAAM,WAAW,sCAAsC,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE;IAC5E;;OAEG;IACH,QAAQ,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,EACtE,KAAK,EAAE,sCAAsC,CAAC,MAAM,CAAC,GACpD,GAAG,CAAC,OAAO,CAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-application-customizer.js","sourceRoot":"","sources":["../../src/core/provider-application-customizer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iDAAiD;AAEjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-application-customizer.js","sourceRoot":"","sources":["../../src/core/provider-application-customizer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iDAAiD;AAEjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAAqD;IAErD,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAiC,IAAG,KAAK,CAAC,QAAQ,CAAoB,CAAC;AAClH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-field-customizer.d.ts","sourceRoot":"","sources":["../../src/core/provider-field-customizer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-field-customizer.d.ts","sourceRoot":"","sources":["../../src/core/provider-field-customizer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF;;;;;GAKG;AACH,MAAM,WAAW,gCAAgC,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE;IACtE;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,EAChE,KAAK,EAAE,gCAAgC,CAAC,MAAM,CAAC,GAC9C,GAAG,CAAC,OAAO,CAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-field-customizer.js","sourceRoot":"","sources":["../../src/core/provider-field-customizer.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2CAA2C;AAE3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-field-customizer.js","sourceRoot":"","sources":["../../src/core/provider-field-customizer.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2CAA2C;AAE3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAA+C;IAE/C,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAiC,IAAG,KAAK,CAAC,QAAQ,CAAoB,CAAC;AAClH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-listview-commandset.d.ts","sourceRoot":"","sources":["../../src/core/provider-listview-commandset.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-listview-commandset.d.ts","sourceRoot":"","sources":["../../src/core/provider-listview-commandset.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAInF;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE;IACzE;;OAEG;IACH,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,EACnE,KAAK,EAAE,mCAAmC,CAAC,MAAM,CAAC,GACjD,GAAG,CAAC,OAAO,CAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-listview-commandset.js","sourceRoot":"","sources":["../../src/core/provider-listview-commandset.tsx"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,+CAA+C;AAE/C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-listview-commandset.js","sourceRoot":"","sources":["../../src/core/provider-listview-commandset.tsx"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,+CAA+C;AAE/C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAAkD;IAElD,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAiC,IAAG,KAAK,CAAC,QAAQ,CAAoB,CAAC;AAClH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-webpart.d.ts","sourceRoot":"","sources":["../../src/core/provider-webpart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-webpart.d.ts","sourceRoot":"","sources":["../../src/core/provider-webpart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAIxE;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE;IAC9D;;OAEG;IACH,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,EACxD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,GACtC,GAAG,CAAC,OAAO,CAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-webpart.js","sourceRoot":"","sources":["../../src/core/provider-webpart.tsx"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,kCAAkC;AAElC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-webpart.js","sourceRoot":"","sources":["../../src/core/provider-webpart.tsx"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,kCAAkC;AAElC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqB5D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAuC;IAEvC,OAAO,oBAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAiC,IAAG,KAAK,CAAC,QAAQ,CAAoB,CAAC;AAClH,CAAC"}
|
package/lib/core/types.d.ts
CHANGED
|
@@ -41,6 +41,8 @@ export interface ContainerSize {
|
|
|
41
41
|
/**
|
|
42
42
|
* Props accepted by SPFxProvider (instance-based API)
|
|
43
43
|
*
|
|
44
|
+
* @template TProps - The properties type for the SPFx component (WebPart props, Extension props, etc.)
|
|
45
|
+
*
|
|
44
46
|
* @example
|
|
45
47
|
* ```tsx
|
|
46
48
|
* // In your WebPart render():
|
package/lib/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAExG;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,IAC5C,qBAAqB,CAAC,MAAM,CAAC,GAC7B,yBAAyB,CAAC,MAAM,CAAC,GACjC,sBAAsB,CAAC,MAAM,CAAC,GAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,eAAe,GAEvB,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAErC,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAEzC,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAEtC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAExG;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE,IAC5C,qBAAqB,CAAC,MAAM,CAAC,GAC7B,yBAAyB,CAAC,MAAM,CAAC,GACjC,sBAAsB,CAAC,MAAM,CAAC,GAC9B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,eAAe,GAEvB,qBAAqB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAErC,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAEzC,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAEtC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,EAAE,GAAG,EAAE;IACvD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEzC,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseApplicationCustomizer } from '@microsoft/sp-application-base';
|
|
2
|
+
/**
|
|
3
|
+
* If your command set uses the ClientSideComponentProperties JSON input,
|
|
4
|
+
* it will be deserialized into the BaseExtension.properties object.
|
|
5
|
+
* You can define an interface to describe it.
|
|
6
|
+
*/
|
|
7
|
+
export interface ISpFxReactToolkitTestApplicationCustomizerProperties {
|
|
8
|
+
testMessage: string;
|
|
9
|
+
}
|
|
10
|
+
/** A Custom Action which can be run during execution of a Client Side Application */
|
|
11
|
+
export default class SpFxReactToolkitTestApplicationCustomizer extends BaseApplicationCustomizer<ISpFxReactToolkitTestApplicationCustomizerProperties> {
|
|
12
|
+
onInit(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=SpFxReactToolkitTestApplicationCustomizer.d.ts.map
|
package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpFxReactToolkitTestApplicationCustomizer.d.ts","sourceRoot":"","sources":["../../../src/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAOxC;;;;GAIG;AACH,MAAM,WAAW,oDAAoD;IAEnE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,MAAM,CAAC,OAAO,OAAO,yCACnB,SAAQ,yBAAyB,CAAC,oDAAoD,CAAC;IAEhF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAc/B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { Log } from '@microsoft/sp-core-library';
|
|
17
|
+
import { BaseApplicationCustomizer } from '@microsoft/sp-application-base';
|
|
18
|
+
import { Dialog } from '@microsoft/sp-dialog';
|
|
19
|
+
import * as strings from 'SpFxReactToolkitTestApplicationCustomizerStrings';
|
|
20
|
+
var LOG_SOURCE = 'SpFxReactToolkitTestApplicationCustomizer';
|
|
21
|
+
/** A Custom Action which can be run during execution of a Client Side Application */
|
|
22
|
+
var SpFxReactToolkitTestApplicationCustomizer = /** @class */ (function (_super) {
|
|
23
|
+
__extends(SpFxReactToolkitTestApplicationCustomizer, _super);
|
|
24
|
+
function SpFxReactToolkitTestApplicationCustomizer() {
|
|
25
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
26
|
+
}
|
|
27
|
+
SpFxReactToolkitTestApplicationCustomizer.prototype.onInit = function () {
|
|
28
|
+
Log.info(LOG_SOURCE, "Initialized ".concat(strings.Title));
|
|
29
|
+
var message = this.properties.testMessage;
|
|
30
|
+
if (!message) {
|
|
31
|
+
message = '(No properties were provided.)';
|
|
32
|
+
}
|
|
33
|
+
Dialog.alert("Hello from ".concat(strings.Title, ":\n\n").concat(message)).catch(function () {
|
|
34
|
+
/* handle error */
|
|
35
|
+
});
|
|
36
|
+
return Promise.resolve();
|
|
37
|
+
};
|
|
38
|
+
return SpFxReactToolkitTestApplicationCustomizer;
|
|
39
|
+
}(BaseApplicationCustomizer));
|
|
40
|
+
export default SpFxReactToolkitTestApplicationCustomizer;
|
|
41
|
+
//# sourceMappingURL=SpFxReactToolkitTestApplicationCustomizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpFxReactToolkitTestApplicationCustomizer.js","sourceRoot":"","sources":["../../../src/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EACL,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,OAAO,MAAM,kDAAkD,CAAC;AAE5E,IAAM,UAAU,GAAW,2CAA2C,CAAC;AAYvE,qFAAqF;AACrF;IACU,6DAA+E;IADzF;;IAiBA,CAAC;IAdQ,0DAAM,GAAb;QACE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAe,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;QAErD,IAAI,OAAO,GAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,gCAAgC,CAAC;QAC7C,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,qBAAc,OAAO,CAAC,KAAK,kBAAQ,OAAO,CAAE,CAAC,CAAC,KAAK,CAAC;YAC/D,kBAAkB;QACpB,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,gDAAC;AAAD,CAAC,AAjBD,CACU,yBAAyB,GAgBlC"}
|
package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.manifest.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-extension-manifest.schema.json",
|
|
3
|
+
|
|
4
|
+
"id": "4c2e58cc-1253-43e5-bfa3-b22a07ace279",
|
|
5
|
+
"alias": "SpFxReactToolkitTestApplicationCustomize",
|
|
6
|
+
"componentType": "Extension",
|
|
7
|
+
"extensionType": "ApplicationCustomizer",
|
|
8
|
+
|
|
9
|
+
// The "*" signifies that the version should be taken from the package.json
|
|
10
|
+
"version": "*",
|
|
11
|
+
"manifestVersion": 2,
|
|
12
|
+
|
|
13
|
+
// If true, the component can only be installed on sites where Custom Script is allowed.
|
|
14
|
+
// Components that allow authors to embed arbitrary script code should set this to true.
|
|
15
|
+
// https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f
|
|
16
|
+
"requiresCustomScript": false
|
|
17
|
+
}
|
package/lib/hooks/index.d.ts
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPFx React Hooks
|
|
3
|
+
*
|
|
4
|
+
* Collection of React hooks for accessing SPFx context, services, and SharePoint APIs.
|
|
5
|
+
*
|
|
6
|
+
* **Context & Metadata:**
|
|
7
|
+
* - `useSPFxContext` - Core SPFx context access
|
|
8
|
+
* - `useSPFxPageContext` - SharePoint page context
|
|
9
|
+
* - `useSPFxInstanceInfo` - Component instance metadata
|
|
10
|
+
* - `useSPFxEnvironmentInfo` - Environment detection (Teams, SharePoint, etc.)
|
|
11
|
+
*
|
|
12
|
+
* **HTTP Clients:**
|
|
13
|
+
* - `useSPFxHttpClient` - Generic HTTP client
|
|
14
|
+
* - `useSPFxSPHttpClient` - SharePoint REST API client
|
|
15
|
+
* - `useSPFxMSGraphClient` - Microsoft Graph client
|
|
16
|
+
* - `useSPFxAadHttpClient` - Azure AD secured API client
|
|
17
|
+
*
|
|
18
|
+
* **PnPjs Integration:**
|
|
19
|
+
* - `useSPFxPnP` - PnPjs with state management
|
|
20
|
+
* - `useSPFxPnPContext` - PnPjs SPFI factory
|
|
21
|
+
* - `useSPFxPnPList` - List operations
|
|
22
|
+
* - `useSPFxPnPSearch` - SharePoint Search
|
|
23
|
+
*
|
|
24
|
+
* **UI & Theming:**
|
|
25
|
+
* - `useSPFxThemeInfo` - SPFx theme (v8)
|
|
26
|
+
* - `useSPFxFluent9ThemeInfo` - Fluent UI 9 theme
|
|
27
|
+
* - `useSPFxDisplayMode` - Edit/Read mode
|
|
28
|
+
* - `useSPFxContainerSize` - Responsive breakpoints
|
|
29
|
+
*
|
|
30
|
+
* @module hooks
|
|
31
|
+
*/
|
|
1
32
|
export * from './useSPFxAadHttpClient';
|
|
2
33
|
export * from './useSPFxContainerInfo';
|
|
3
34
|
export * from './useSPFxContainerSize';
|
package/lib/hooks/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
package/lib/hooks/index.js
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SPFx React Hooks
|
|
3
|
+
*
|
|
4
|
+
* Collection of React hooks for accessing SPFx context, services, and SharePoint APIs.
|
|
5
|
+
*
|
|
6
|
+
* **Context & Metadata:**
|
|
7
|
+
* - `useSPFxContext` - Core SPFx context access
|
|
8
|
+
* - `useSPFxPageContext` - SharePoint page context
|
|
9
|
+
* - `useSPFxInstanceInfo` - Component instance metadata
|
|
10
|
+
* - `useSPFxEnvironmentInfo` - Environment detection (Teams, SharePoint, etc.)
|
|
11
|
+
*
|
|
12
|
+
* **HTTP Clients:**
|
|
13
|
+
* - `useSPFxHttpClient` - Generic HTTP client
|
|
14
|
+
* - `useSPFxSPHttpClient` - SharePoint REST API client
|
|
15
|
+
* - `useSPFxMSGraphClient` - Microsoft Graph client
|
|
16
|
+
* - `useSPFxAadHttpClient` - Azure AD secured API client
|
|
17
|
+
*
|
|
18
|
+
* **PnPjs Integration:**
|
|
19
|
+
* - `useSPFxPnP` - PnPjs with state management
|
|
20
|
+
* - `useSPFxPnPContext` - PnPjs SPFI factory
|
|
21
|
+
* - `useSPFxPnPList` - List operations
|
|
22
|
+
* - `useSPFxPnPSearch` - SharePoint Search
|
|
23
|
+
*
|
|
24
|
+
* **UI & Theming:**
|
|
25
|
+
* - `useSPFxThemeInfo` - SPFx theme (v8)
|
|
26
|
+
* - `useSPFxFluent9ThemeInfo` - Fluent UI 9 theme
|
|
27
|
+
* - `useSPFxDisplayMode` - Edit/Read mode
|
|
28
|
+
* - `useSPFxContainerSize` - Responsive breakpoints
|
|
29
|
+
*
|
|
30
|
+
* @module hooks
|
|
31
|
+
*/
|
|
1
32
|
export * from './useSPFxAadHttpClient';
|
|
2
33
|
export * from './useSPFxContainerInfo';
|
|
3
34
|
export * from './useSPFxContainerSize';
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result type for useAsyncInvoke hook
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export interface AsyncInvokeResult<TClient> {
|
|
6
|
+
/**
|
|
7
|
+
* Invoke async operation with automatic state management.
|
|
8
|
+
* Tracks loading state and captures errors automatically.
|
|
9
|
+
*
|
|
10
|
+
* @param fn - Function that receives the client and returns a promise
|
|
11
|
+
* @returns Promise with the result
|
|
12
|
+
*/
|
|
13
|
+
readonly invoke: <T>(fn: (client: TClient) => Promise<T>) => Promise<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Loading state - true during invoke() calls.
|
|
16
|
+
* Does not track direct client usage.
|
|
17
|
+
*/
|
|
18
|
+
readonly isLoading: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Last error from invoke() calls.
|
|
21
|
+
* Does not capture errors from direct client usage.
|
|
22
|
+
*/
|
|
23
|
+
readonly error: Error | undefined;
|
|
24
|
+
/** Clear the current error */
|
|
25
|
+
readonly clearError: () => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Internal hook for async invocation with state management.
|
|
29
|
+
*
|
|
30
|
+
* @internal
|
|
31
|
+
*
|
|
32
|
+
* Provides a consistent pattern for:
|
|
33
|
+
* - Loading state tracking during async operations
|
|
34
|
+
* - Error capture and management
|
|
35
|
+
* - Type-safe client invocation
|
|
36
|
+
*
|
|
37
|
+
* Used by HTTP client hooks (HttpClient, SPHttpClient, MSGraphClient, AadHttpClient)
|
|
38
|
+
* to reduce code duplication while maintaining consistent behavior.
|
|
39
|
+
*
|
|
40
|
+
* @template TClient - The client type (HttpClient, SPHttpClient, MSGraphClientV3, AadHttpClient)
|
|
41
|
+
* @param client - The client instance (can be undefined for async init scenarios)
|
|
42
|
+
* @param notReadyError - Error message when client is undefined (default: 'Client not initialized')
|
|
43
|
+
* @returns AsyncInvokeResult with invoke function, isLoading, error, and clearError
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Inside a hook implementation
|
|
48
|
+
* const client = useMemo(() => consume<HttpClient>(HttpClient.serviceKey), [consume]);
|
|
49
|
+
* const { invoke, isLoading, error, clearError } = useAsyncInvoke(
|
|
50
|
+
* client,
|
|
51
|
+
* 'HttpClient not initialized. Check SPFx context.'
|
|
52
|
+
* );
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare function useAsyncInvoke<TClient>(client: TClient | undefined, notReadyError?: string): AsyncInvokeResult<TClient>;
|
|
58
|
+
//# sourceMappingURL=useAsyncInvoke.internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsyncInvoke.internal.d.ts","sourceRoot":"","sources":["../../src/hooks/useAsyncInvoke.internal.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAExE;;;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;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,OAAO,EACpC,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,GAAE,MAAiC,GAC/C,iBAAiB,CAAC,OAAO,CAAC,CAwC5B"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
// useAsyncInvoke.internal.ts
|
|
2
|
+
// Internal hook for async invocation with state management
|
|
3
|
+
// Used by HTTP client hooks to reduce code duplication
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
+
function step(op) {
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
20
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
import { useState, useCallback } from 'react';
|
|
41
|
+
/**
|
|
42
|
+
* Internal hook for async invocation with state management.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*
|
|
46
|
+
* Provides a consistent pattern for:
|
|
47
|
+
* - Loading state tracking during async operations
|
|
48
|
+
* - Error capture and management
|
|
49
|
+
* - Type-safe client invocation
|
|
50
|
+
*
|
|
51
|
+
* Used by HTTP client hooks (HttpClient, SPHttpClient, MSGraphClient, AadHttpClient)
|
|
52
|
+
* to reduce code duplication while maintaining consistent behavior.
|
|
53
|
+
*
|
|
54
|
+
* @template TClient - The client type (HttpClient, SPHttpClient, MSGraphClientV3, AadHttpClient)
|
|
55
|
+
* @param client - The client instance (can be undefined for async init scenarios)
|
|
56
|
+
* @param notReadyError - Error message when client is undefined (default: 'Client not initialized')
|
|
57
|
+
* @returns AsyncInvokeResult with invoke function, isLoading, error, and clearError
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Inside a hook implementation
|
|
62
|
+
* const client = useMemo(() => consume<HttpClient>(HttpClient.serviceKey), [consume]);
|
|
63
|
+
* const { invoke, isLoading, error, clearError } = useAsyncInvoke(
|
|
64
|
+
* client,
|
|
65
|
+
* 'HttpClient not initialized. Check SPFx context.'
|
|
66
|
+
* );
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
export function useAsyncInvoke(client, notReadyError) {
|
|
72
|
+
var _this = this;
|
|
73
|
+
if (notReadyError === void 0) { notReadyError = 'Client not initialized'; }
|
|
74
|
+
// State management
|
|
75
|
+
var _a = useState(false), isLoading = _a[0], setIsLoading = _a[1];
|
|
76
|
+
var _b = useState(undefined), error = _b[0], setError = _b[1];
|
|
77
|
+
// Invoke with automatic state management
|
|
78
|
+
var invoke = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
|
|
79
|
+
var result, err_1, capturedError;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
switch (_a.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
if (!client) {
|
|
84
|
+
throw new Error(notReadyError);
|
|
85
|
+
}
|
|
86
|
+
setIsLoading(true);
|
|
87
|
+
setError(undefined);
|
|
88
|
+
_a.label = 1;
|
|
89
|
+
case 1:
|
|
90
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
91
|
+
return [4 /*yield*/, fn(client)];
|
|
92
|
+
case 2:
|
|
93
|
+
result = _a.sent();
|
|
94
|
+
return [2 /*return*/, result];
|
|
95
|
+
case 3:
|
|
96
|
+
err_1 = _a.sent();
|
|
97
|
+
capturedError = err_1 instanceof Error ? err_1 : new Error(String(err_1));
|
|
98
|
+
setError(capturedError);
|
|
99
|
+
throw capturedError;
|
|
100
|
+
case 4:
|
|
101
|
+
setIsLoading(false);
|
|
102
|
+
return [7 /*endfinally*/];
|
|
103
|
+
case 5: return [2 /*return*/];
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}); }, [client, notReadyError]);
|
|
107
|
+
// Clear error helper
|
|
108
|
+
var clearError = useCallback(function () {
|
|
109
|
+
setError(undefined);
|
|
110
|
+
}, []);
|
|
111
|
+
return {
|
|
112
|
+
invoke: invoke,
|
|
113
|
+
isLoading: isLoading,
|
|
114
|
+
error: error,
|
|
115
|
+
clearError: clearError,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=useAsyncInvoke.internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsyncInvoke.internal.js","sourceRoot":"","sources":["../../src/hooks/useAsyncInvoke.internal.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,2DAA2D;AAC3D,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAgC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA2B,EAC3B,aAAgD;IAFlD,iBA2CC;IAzCC,8BAAA,EAAA,wCAAgD;IAEhD,mBAAmB;IACb,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAAoB,QAAQ,CAAoB,SAAS,CAAC,EAAzD,KAAK,QAAA,EAAE,QAAQ,QAA0C,CAAC;IAEjE,yCAAyC;IACzC,IAAM,MAAM,GAAG,WAAW,CACxB,UAAU,EAAmC;;;;;oBAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;oBACjC,CAAC;oBAED,YAAY,CAAC,IAAI,CAAC,CAAC;oBACnB,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;oBAGH,qBAAM,EAAE,CAAC,MAAM,CAAC,EAAA;;oBAAzB,MAAM,GAAG,SAAgB;oBAC/B,sBAAO,MAAM,EAAC;;;oBAER,aAAa,GAAG,KAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,CAAC;oBAC1E,QAAQ,CAAC,aAAa,CAAC,CAAC;oBACxB,MAAM,aAAa,CAAC;;oBAEpB,YAAY,CAAC,KAAK,CAAC,CAAC;;;;;SAEvB,EACD,CAAC,MAAM,EAAE,aAAa,CAAC,CACxB,CAAC;IAEF,qBAAqB;IACrB,IAAM,UAAU,GAAG,WAAW,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -15,6 +15,7 @@ export interface SPFxAadHttpClientInfo {
|
|
|
15
15
|
*
|
|
16
16
|
* @param fn - Function that receives AadHttpClient and returns a promise
|
|
17
17
|
* @returns Promise with the result
|
|
18
|
+
* @throws Error if client is not initialized yet
|
|
18
19
|
*
|
|
19
20
|
* @example
|
|
20
21
|
* ```tsx
|
|
@@ -35,6 +36,7 @@ export interface SPFxAadHttpClientInfo {
|
|
|
35
36
|
/**
|
|
36
37
|
* Last error from invoke() calls.
|
|
37
38
|
* Does not capture errors from direct client usage.
|
|
39
|
+
* @see initError for initialization errors
|
|
38
40
|
*/
|
|
39
41
|
readonly error: Error | undefined;
|
|
40
42
|
/** Clear the current error */
|
|
@@ -43,6 +45,50 @@ export interface SPFxAadHttpClientInfo {
|
|
|
43
45
|
readonly setResourceUrl: (url: string) => void;
|
|
44
46
|
/** Current Azure AD resource URL or App ID */
|
|
45
47
|
readonly resourceUrl: string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* True while the AAD client is being initialized.
|
|
50
|
+
* Use this to show a loading indicator during startup.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* const { client, isInitializing } = useSPFxAadHttpClient('https://api.contoso.com');
|
|
55
|
+
*
|
|
56
|
+
* if (isInitializing) return <Spinner label="Initializing AAD client..." />;
|
|
57
|
+
* if (!client) return <Error message="AAD client unavailable" />;
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
readonly isInitializing: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Error that occurred during client initialization.
|
|
63
|
+
* If set, the client will remain undefined.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* const { initError } = useSPFxAadHttpClient('https://api.contoso.com');
|
|
68
|
+
*
|
|
69
|
+
* if (initError) {
|
|
70
|
+
* return <MessageBar messageBarType={MessageBarType.error}>
|
|
71
|
+
* Failed to initialize AAD client: {initError.message}
|
|
72
|
+
* </MessageBar>;
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
readonly initError: Error | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Computed state: true when client is ready for use.
|
|
79
|
+
* Equivalent to: client !== undefined && !isInitializing && !initError
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```tsx
|
|
83
|
+
* const { isReady, invoke, resourceUrl } = useSPFxAadHttpClient('https://api.contoso.com');
|
|
84
|
+
*
|
|
85
|
+
* if (!isReady) return <Spinner />;
|
|
86
|
+
*
|
|
87
|
+
* // Safe to use client or invoke
|
|
88
|
+
* const data = await invoke(c => c.get(`${resourceUrl}/api/data`, ...).then(r => r.json()));
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
readonly isReady: boolean;
|
|
46
92
|
}
|
|
47
93
|
/**
|
|
48
94
|
* Hook to access Azure AD-secured APIs with built-in state management
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxAadHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxAadHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxAadHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxAadHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAGzE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC;IAE3C;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9E;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAEhC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAEtC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2LG;AACH,wBAAgB,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAsGvF"}
|