@apvee/spfx-react-toolkit 1.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.
Files changed (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2012 -0
  3. package/lib/core/atoms.internal.d.ts +53 -0
  4. package/lib/core/atoms.internal.d.ts.map +1 -0
  5. package/lib/core/atoms.internal.js +35 -0
  6. package/lib/core/atoms.internal.js.map +1 -0
  7. package/lib/core/context.internal.d.ts +23 -0
  8. package/lib/core/context.internal.d.ts.map +1 -0
  9. package/lib/core/context.internal.js +34 -0
  10. package/lib/core/context.internal.js.map +1 -0
  11. package/lib/core/index.d.ts +6 -0
  12. package/lib/core/index.d.ts.map +1 -0
  13. package/lib/core/index.js +6 -0
  14. package/lib/core/index.js.map +1 -0
  15. package/lib/core/provider-application-customizer.d.ts +57 -0
  16. package/lib/core/provider-application-customizer.d.ts.map +1 -0
  17. package/lib/core/provider-application-customizer.js +45 -0
  18. package/lib/core/provider-application-customizer.js.map +1 -0
  19. package/lib/core/provider-base.internal.d.ts +20 -0
  20. package/lib/core/provider-base.internal.d.ts.map +1 -0
  21. package/lib/core/provider-base.internal.js +126 -0
  22. package/lib/core/provider-base.internal.js.map +1 -0
  23. package/lib/core/provider-field-customizer.d.ts +58 -0
  24. package/lib/core/provider-field-customizer.d.ts.map +1 -0
  25. package/lib/core/provider-field-customizer.js +46 -0
  26. package/lib/core/provider-field-customizer.js.map +1 -0
  27. package/lib/core/provider-listview-commandset.d.ts +60 -0
  28. package/lib/core/provider-listview-commandset.d.ts.map +1 -0
  29. package/lib/core/provider-listview-commandset.js +48 -0
  30. package/lib/core/provider-listview-commandset.js.map +1 -0
  31. package/lib/core/provider-webpart.d.ts +48 -0
  32. package/lib/core/provider-webpart.d.ts.map +1 -0
  33. package/lib/core/provider-webpart.js +36 -0
  34. package/lib/core/provider-webpart.js.map +1 -0
  35. package/lib/core/types.d.ts +84 -0
  36. package/lib/core/types.d.ts.map +1 -0
  37. package/lib/core/types.js +4 -0
  38. package/lib/core/types.js.map +1 -0
  39. package/lib/hooks/index.d.ts +34 -0
  40. package/lib/hooks/index.d.ts.map +1 -0
  41. package/lib/hooks/index.js +34 -0
  42. package/lib/hooks/index.js.map +1 -0
  43. package/lib/hooks/useSPFxAadHttpClient.d.ts +231 -0
  44. package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -0
  45. package/lib/hooks/useSPFxAadHttpClient.js +299 -0
  46. package/lib/hooks/useSPFxAadHttpClient.js.map +1 -0
  47. package/lib/hooks/useSPFxContainerInfo.d.ts +41 -0
  48. package/lib/hooks/useSPFxContainerInfo.d.ts.map +1 -0
  49. package/lib/hooks/useSPFxContainerInfo.js +47 -0
  50. package/lib/hooks/useSPFxContainerInfo.js.map +1 -0
  51. package/lib/hooks/useSPFxContainerSize.d.ts +119 -0
  52. package/lib/hooks/useSPFxContainerSize.d.ts.map +1 -0
  53. package/lib/hooks/useSPFxContainerSize.js +150 -0
  54. package/lib/hooks/useSPFxContainerSize.js.map +1 -0
  55. package/lib/hooks/useSPFxContext.d.ts +14 -0
  56. package/lib/hooks/useSPFxContext.d.ts.map +1 -0
  57. package/lib/hooks/useSPFxContext.js +16 -0
  58. package/lib/hooks/useSPFxContext.js.map +1 -0
  59. package/lib/hooks/useSPFxCorrelationInfo.d.ts +51 -0
  60. package/lib/hooks/useSPFxCorrelationInfo.d.ts.map +1 -0
  61. package/lib/hooks/useSPFxCorrelationInfo.js +58 -0
  62. package/lib/hooks/useSPFxCorrelationInfo.js.map +1 -0
  63. package/lib/hooks/useSPFxCrossSitePermissions.d.ts +81 -0
  64. package/lib/hooks/useSPFxCrossSitePermissions.d.ts.map +1 -0
  65. package/lib/hooks/useSPFxCrossSitePermissions.js +132 -0
  66. package/lib/hooks/useSPFxCrossSitePermissions.js.map +1 -0
  67. package/lib/hooks/useSPFxDisplayMode.d.ts +61 -0
  68. package/lib/hooks/useSPFxDisplayMode.d.ts.map +1 -0
  69. package/lib/hooks/useSPFxDisplayMode.js +69 -0
  70. package/lib/hooks/useSPFxDisplayMode.js.map +1 -0
  71. package/lib/hooks/useSPFxEnvironmentInfo.d.ts +63 -0
  72. package/lib/hooks/useSPFxEnvironmentInfo.d.ts.map +1 -0
  73. package/lib/hooks/useSPFxEnvironmentInfo.js +91 -0
  74. package/lib/hooks/useSPFxEnvironmentInfo.js.map +1 -0
  75. package/lib/hooks/useSPFxFluent9ThemeInfo.d.ts +105 -0
  76. package/lib/hooks/useSPFxFluent9ThemeInfo.d.ts.map +1 -0
  77. package/lib/hooks/useSPFxFluent9ThemeInfo.js +136 -0
  78. package/lib/hooks/useSPFxFluent9ThemeInfo.js.map +1 -0
  79. package/lib/hooks/useSPFxHubSiteInfo.d.ts +80 -0
  80. package/lib/hooks/useSPFxHubSiteInfo.d.ts.map +1 -0
  81. package/lib/hooks/useSPFxHubSiteInfo.js +127 -0
  82. package/lib/hooks/useSPFxHubSiteInfo.js.map +1 -0
  83. package/lib/hooks/useSPFxInstanceInfo.d.ts +41 -0
  84. package/lib/hooks/useSPFxInstanceInfo.d.ts.map +1 -0
  85. package/lib/hooks/useSPFxInstanceInfo.js +40 -0
  86. package/lib/hooks/useSPFxInstanceInfo.js.map +1 -0
  87. package/lib/hooks/useSPFxListInfo.d.ts +64 -0
  88. package/lib/hooks/useSPFxListInfo.d.ts.map +1 -0
  89. package/lib/hooks/useSPFxListInfo.js +70 -0
  90. package/lib/hooks/useSPFxListInfo.js.map +1 -0
  91. package/lib/hooks/useSPFxLocaleInfo.d.ts +123 -0
  92. package/lib/hooks/useSPFxLocaleInfo.d.ts.map +1 -0
  93. package/lib/hooks/useSPFxLocaleInfo.js +109 -0
  94. package/lib/hooks/useSPFxLocaleInfo.js.map +1 -0
  95. package/lib/hooks/useSPFxLogger.d.ts +108 -0
  96. package/lib/hooks/useSPFxLogger.d.ts.map +1 -0
  97. package/lib/hooks/useSPFxLogger.js +117 -0
  98. package/lib/hooks/useSPFxLogger.js.map +1 -0
  99. package/lib/hooks/useSPFxMSGraphClient.d.ts +200 -0
  100. package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -0
  101. package/lib/hooks/useSPFxMSGraphClient.js +264 -0
  102. package/lib/hooks/useSPFxMSGraphClient.js.map +1 -0
  103. package/lib/hooks/useSPFxOneDriveAppData.d.ts +264 -0
  104. package/lib/hooks/useSPFxOneDriveAppData.d.ts.map +1 -0
  105. package/lib/hooks/useSPFxOneDriveAppData.js +395 -0
  106. package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -0
  107. package/lib/hooks/useSPFxPageContext.d.ts +37 -0
  108. package/lib/hooks/useSPFxPageContext.d.ts.map +1 -0
  109. package/lib/hooks/useSPFxPageContext.js +49 -0
  110. package/lib/hooks/useSPFxPageContext.js.map +1 -0
  111. package/lib/hooks/useSPFxPageType.d.ts +82 -0
  112. package/lib/hooks/useSPFxPageType.d.ts.map +1 -0
  113. package/lib/hooks/useSPFxPageType.js +137 -0
  114. package/lib/hooks/useSPFxPageType.js.map +1 -0
  115. package/lib/hooks/useSPFxPerformance.d.ts +72 -0
  116. package/lib/hooks/useSPFxPerformance.d.ts.map +1 -0
  117. package/lib/hooks/useSPFxPerformance.js +167 -0
  118. package/lib/hooks/useSPFxPerformance.js.map +1 -0
  119. package/lib/hooks/useSPFxPermissions.d.ts +61 -0
  120. package/lib/hooks/useSPFxPermissions.d.ts.map +1 -0
  121. package/lib/hooks/useSPFxPermissions.js +73 -0
  122. package/lib/hooks/useSPFxPermissions.js.map +1 -0
  123. package/lib/hooks/useSPFxPnP.d.ts +539 -0
  124. package/lib/hooks/useSPFxPnP.d.ts.map +1 -0
  125. package/lib/hooks/useSPFxPnP.js +533 -0
  126. package/lib/hooks/useSPFxPnP.js.map +1 -0
  127. package/lib/hooks/useSPFxPnPContext.d.ts +290 -0
  128. package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -0
  129. package/lib/hooks/useSPFxPnPContext.js +340 -0
  130. package/lib/hooks/useSPFxPnPContext.js.map +1 -0
  131. package/lib/hooks/useSPFxPnPList.d.ts +545 -0
  132. package/lib/hooks/useSPFxPnPList.d.ts.map +1 -0
  133. package/lib/hooks/useSPFxPnPList.js +906 -0
  134. package/lib/hooks/useSPFxPnPList.js.map +1 -0
  135. package/lib/hooks/useSPFxPnPSearch.d.ts +540 -0
  136. package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -0
  137. package/lib/hooks/useSPFxPnPSearch.js +672 -0
  138. package/lib/hooks/useSPFxPnPSearch.js.map +1 -0
  139. package/lib/hooks/useSPFxProperties.d.ts +80 -0
  140. package/lib/hooks/useSPFxProperties.d.ts.map +1 -0
  141. package/lib/hooks/useSPFxProperties.js +95 -0
  142. package/lib/hooks/useSPFxProperties.js.map +1 -0
  143. package/lib/hooks/useSPFxSPHttpClient.d.ts +218 -0
  144. package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -0
  145. package/lib/hooks/useSPFxSPHttpClient.js +287 -0
  146. package/lib/hooks/useSPFxSPHttpClient.js.map +1 -0
  147. package/lib/hooks/useSPFxServiceScope.d.ts +107 -0
  148. package/lib/hooks/useSPFxServiceScope.d.ts.map +1 -0
  149. package/lib/hooks/useSPFxServiceScope.js +105 -0
  150. package/lib/hooks/useSPFxServiceScope.js.map +1 -0
  151. package/lib/hooks/useSPFxSiteInfo.d.ts +116 -0
  152. package/lib/hooks/useSPFxSiteInfo.d.ts.map +1 -0
  153. package/lib/hooks/useSPFxSiteInfo.js +109 -0
  154. package/lib/hooks/useSPFxSiteInfo.js.map +1 -0
  155. package/lib/hooks/useSPFxStorage.d.ts +81 -0
  156. package/lib/hooks/useSPFxStorage.d.ts.map +1 -0
  157. package/lib/hooks/useSPFxStorage.js +140 -0
  158. package/lib/hooks/useSPFxStorage.js.map +1 -0
  159. package/lib/hooks/useSPFxTeams.d.ts +63 -0
  160. package/lib/hooks/useSPFxTeams.d.ts.map +1 -0
  161. package/lib/hooks/useSPFxTeams.js +198 -0
  162. package/lib/hooks/useSPFxTeams.js.map +1 -0
  163. package/lib/hooks/useSPFxTenantProperty.d.ts +389 -0
  164. package/lib/hooks/useSPFxTenantProperty.d.ts.map +1 -0
  165. package/lib/hooks/useSPFxTenantProperty.js +683 -0
  166. package/lib/hooks/useSPFxTenantProperty.js.map +1 -0
  167. package/lib/hooks/useSPFxThemeInfo.d.ts +27 -0
  168. package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -0
  169. package/lib/hooks/useSPFxThemeInfo.js +33 -0
  170. package/lib/hooks/useSPFxThemeInfo.js.map +1 -0
  171. package/lib/hooks/useSPFxUserInfo.d.ts +47 -0
  172. package/lib/hooks/useSPFxUserInfo.d.ts.map +1 -0
  173. package/lib/hooks/useSPFxUserInfo.js +47 -0
  174. package/lib/hooks/useSPFxUserInfo.js.map +1 -0
  175. package/lib/hooks/useSPFxUserPhoto.d.ts +270 -0
  176. package/lib/hooks/useSPFxUserPhoto.d.ts.map +1 -0
  177. package/lib/hooks/useSPFxUserPhoto.js +346 -0
  178. package/lib/hooks/useSPFxUserPhoto.js.map +1 -0
  179. package/lib/index.d.ts +3 -0
  180. package/lib/index.d.ts.map +1 -0
  181. package/lib/index.js +3 -0
  182. package/lib/index.js.map +1 -0
  183. package/lib/utils/index.d.ts +1 -0
  184. package/lib/utils/index.d.ts.map +1 -0
  185. package/lib/utils/index.js +3 -0
  186. package/lib/utils/index.js.map +1 -0
  187. package/lib/utils/resize-observer.internal.d.ts +10 -0
  188. package/lib/utils/resize-observer.internal.d.ts.map +1 -0
  189. package/lib/utils/resize-observer.internal.js +34 -0
  190. package/lib/utils/resize-observer.internal.js.map +1 -0
  191. package/lib/utils/theme-subscription.internal.d.ts +11 -0
  192. package/lib/utils/theme-subscription.internal.d.ts.map +1 -0
  193. package/lib/utils/theme-subscription.internal.js +58 -0
  194. package/lib/utils/theme-subscription.internal.js.map +1 -0
  195. package/lib/utils/type-guards.internal.d.ts +35 -0
  196. package/lib/utils/type-guards.internal.d.ts.map +1 -0
  197. package/lib/utils/type-guards.internal.js +88 -0
  198. package/lib/utils/type-guards.internal.js.map +1 -0
  199. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.d.ts +13 -0
  200. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.d.ts.map +1 -0
  201. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js +67 -0
  202. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js.map +1 -0
  203. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.manifest.json +21 -0
  204. package/lib/webparts/spFxReactToolkitTest/assets/welcome-dark.png +0 -0
  205. package/lib/webparts/spFxReactToolkitTest/assets/welcome-light.png +0 -0
  206. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.d.ts +8 -0
  207. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.d.ts.map +1 -0
  208. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.js +2 -0
  209. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.js.map +1 -0
  210. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +8 -0
  211. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -0
  212. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +1351 -0
  213. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -0
  214. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.css +2 -0
  215. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.d.ts +18 -0
  216. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.d.ts.map +1 -0
  217. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js +19 -0
  218. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js.map +1 -0
  219. package/lib/webparts/spFxReactToolkitTest/loc/en-us.js +16 -0
  220. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxTenantProperty.js","sourceRoot":"","sources":["../../src/hooks/useSPFxTenantProperty.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { IReadonlyTheme } from '@microsoft/sp-component-base';
2
+ /**
3
+ * Hook to access the current SPFx theme
4
+ *
5
+ * Theme subscription is managed automatically by SPFxProvider.
6
+ * Updates when user switches between light/dark theme or theme settings change.
7
+ *
8
+ * @returns Current theme object or undefined if not yet loaded
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * function MyComponent() {
13
+ * const theme = useSPFxThemeInfo();
14
+ *
15
+ * return (
16
+ * <div style={{
17
+ * backgroundColor: theme?.semanticColors.bodyBackground,
18
+ * color: theme?.semanticColors.bodyText
19
+ * }}>
20
+ * Themed content
21
+ * </div>
22
+ * );
23
+ * }
24
+ * ```
25
+ */
26
+ export declare function useSPFxThemeInfo(): IReadonlyTheme | undefined;
27
+ //# sourceMappingURL=useSPFxThemeInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxThemeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxThemeInfo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAG7D"}
@@ -0,0 +1,33 @@
1
+ // useSPFxThemeInfo.ts
2
+ // Hook to access current SPFx theme
3
+ import { useAtomValue } from 'jotai';
4
+ import { spfxAtoms } from '../core/atoms.internal';
5
+ /**
6
+ * Hook to access the current SPFx theme
7
+ *
8
+ * Theme subscription is managed automatically by SPFxProvider.
9
+ * Updates when user switches between light/dark theme or theme settings change.
10
+ *
11
+ * @returns Current theme object or undefined if not yet loaded
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * function MyComponent() {
16
+ * const theme = useSPFxThemeInfo();
17
+ *
18
+ * return (
19
+ * <div style={{
20
+ * backgroundColor: theme?.semanticColors.bodyBackground,
21
+ * color: theme?.semanticColors.bodyText
22
+ * }}>
23
+ * Themed content
24
+ * </div>
25
+ * );
26
+ * }
27
+ * ```
28
+ */
29
+ export function useSPFxThemeInfo() {
30
+ // Read current theme value directly from atom
31
+ return useAtomValue(spfxAtoms.theme);
32
+ }
33
+ //# sourceMappingURL=useSPFxThemeInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxThemeInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxThemeInfo.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,oCAAoC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,8CAA8C;IAC9C,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Return type for useSPFxUserInfo hook
3
+ */
4
+ export interface SPFxUserInfo {
5
+ /** User login name (e.g., "domain\\user" or email) */
6
+ readonly loginName: string;
7
+ /** User display name */
8
+ readonly displayName: string;
9
+ /** User email address (optional) */
10
+ readonly email?: string;
11
+ /** Whether user is an external guest user */
12
+ readonly isExternal: boolean;
13
+ }
14
+ /**
15
+ * Hook to access current user information
16
+ *
17
+ * Provides:
18
+ * - loginName: Login identifier
19
+ * - displayName: Display name
20
+ * - email: Email address
21
+ * - isExternal: Whether user is a guest
22
+ *
23
+ * Useful for:
24
+ * - Personalization
25
+ * - Authorization checks
26
+ * - User-specific logging
27
+ * - Display user information
28
+ *
29
+ * @returns User information
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * function MyComponent() {
34
+ * const { displayName, email, isExternal } = useSPFxUserInfo();
35
+ *
36
+ * return (
37
+ * <div>
38
+ * <h2>Welcome, {displayName}!</h2>
39
+ * {email && <p>Email: {email}</p>}
40
+ * {isExternal && <p>Guest User</p>}
41
+ * </div>
42
+ * );
43
+ * }
44
+ * ```
45
+ */
46
+ export declare function useSPFxUserInfo(): SPFxUserInfo;
47
+ //# sourceMappingURL=useSPFxUserInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxUserInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxUserInfo.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,wBAAwB;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,oCAAoC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAW9C"}
@@ -0,0 +1,47 @@
1
+ // useSPFxUserInfo.ts
2
+ // Hook to access current user information
3
+ import { useSPFxPageContext } from './useSPFxPageContext';
4
+ /**
5
+ * Hook to access current user information
6
+ *
7
+ * Provides:
8
+ * - loginName: Login identifier
9
+ * - displayName: Display name
10
+ * - email: Email address
11
+ * - isExternal: Whether user is a guest
12
+ *
13
+ * Useful for:
14
+ * - Personalization
15
+ * - Authorization checks
16
+ * - User-specific logging
17
+ * - Display user information
18
+ *
19
+ * @returns User information
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * function MyComponent() {
24
+ * const { displayName, email, isExternal } = useSPFxUserInfo();
25
+ *
26
+ * return (
27
+ * <div>
28
+ * <h2>Welcome, {displayName}!</h2>
29
+ * {email && <p>Email: {email}</p>}
30
+ * {isExternal && <p>Guest User</p>}
31
+ * </div>
32
+ * );
33
+ * }
34
+ * ```
35
+ */
36
+ export function useSPFxUserInfo() {
37
+ var _a;
38
+ var pageContext = useSPFxPageContext();
39
+ var user = pageContext.user;
40
+ return {
41
+ loginName: user.loginName,
42
+ displayName: user.displayName,
43
+ email: user.email,
44
+ isExternal: (_a = user.isExternalGuestUser) !== null && _a !== void 0 ? _a : false,
45
+ };
46
+ }
47
+ //# sourceMappingURL=useSPFxUserInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxUserInfo.js","sourceRoot":"","sources":["../../src/hooks/useSPFxUserInfo.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,0CAA0C;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAmB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,eAAe;;IAC7B,IAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,IAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAE9B,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,MAAA,IAAI,CAAC,mBAAmB,mCAAI,KAAK;KAC9C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Available photo sizes from Microsoft Graph
3
+ */
4
+ export type SPFxUserPhotoSize = '48x48' | '64x64' | '96x96' | '120x120' | '240x240' | '360x360' | '432x432' | '504x504' | '648x648';
5
+ /**
6
+ * Options for loading a specific user's photo
7
+ */
8
+ export interface SPFxUserPhotoOptions {
9
+ /**
10
+ * User ID (Graph ID or Azure AD Object ID).
11
+ * Example: 'abc-123-def-456'
12
+ */
13
+ userId?: string;
14
+ /**
15
+ * User email/UPN (User Principal Name).
16
+ * Example: 'user@contoso.com'
17
+ */
18
+ email?: string;
19
+ /**
20
+ * Photo size to retrieve.
21
+ * Default: '240x240'
22
+ *
23
+ * Available sizes:
24
+ * - 48x48: Tiny avatar
25
+ * - 64x64: Small avatar
26
+ * - 96x96: Standard avatar
27
+ * - 120x120: Medium avatar
28
+ * - 240x240: Large avatar (default)
29
+ * - 360x360+: Extra large profiles
30
+ */
31
+ size?: SPFxUserPhotoSize;
32
+ /**
33
+ * Whether to automatically fetch photo on mount.
34
+ * Default: true
35
+ */
36
+ autoFetch?: boolean;
37
+ }
38
+ /**
39
+ * Return type for useSPFxUserPhoto hook
40
+ */
41
+ export interface SPFxUserPhotoResult {
42
+ /**
43
+ * Photo URL ready for use in <img src={photoUrl} />
44
+ * Generated using URL.createObjectURL() from the blob.
45
+ * Undefined if not loaded yet, on error, or if photo doesn't exist.
46
+ */
47
+ readonly photoUrl: string | undefined;
48
+ /**
49
+ * Raw photo blob data.
50
+ * Useful if you need to process the image (upload, transform, etc.)
51
+ */
52
+ readonly photoBlob: Blob | undefined;
53
+ /**
54
+ * Loading state.
55
+ * True while fetching photo from Microsoft Graph.
56
+ */
57
+ readonly isLoading: boolean;
58
+ /**
59
+ * Last error encountered.
60
+ * Common errors:
61
+ * - 404: Photo not found (user has no photo)
62
+ * - 403: Insufficient permissions
63
+ * - 401: Authentication failed
64
+ */
65
+ readonly error: Error | undefined;
66
+ /**
67
+ * Reload the photo.
68
+ * Useful for refresh buttons or retry logic.
69
+ *
70
+ * @returns Promise that resolves when reload completes
71
+ *
72
+ * @example
73
+ * ```tsx
74
+ * const { photoUrl, reload, isLoading } = useSPFxUserPhoto();
75
+ *
76
+ * <button onClick={reload} disabled={isLoading}>
77
+ * Refresh Photo
78
+ * </button>
79
+ * ```
80
+ */
81
+ readonly reload: () => Promise<void>;
82
+ /**
83
+ * Computed ready state.
84
+ * True when photo is loaded successfully (photoUrl is available).
85
+ * False while loading, on error, or if photo doesn't exist.
86
+ *
87
+ * Useful for conditional rendering:
88
+ * ```tsx
89
+ * if (!isReady) return <Spinner />;
90
+ * return <img src={photoUrl} />;
91
+ * ```
92
+ */
93
+ readonly isReady: boolean;
94
+ }
95
+ /**
96
+ * Hook to load user photos from Microsoft Graph API
97
+ *
98
+ * Provides easy access to user profile photos with automatic blob URL management.
99
+ * Supports loading current user's photo or any user's photo by ID or email.
100
+ *
101
+ * Features:
102
+ * - Current user or specific user by ID/email
103
+ * - Multiple photo sizes (48x48 to 648x648)
104
+ * - Automatic blob URL creation and cleanup
105
+ * - Memory leak prevention (revokes URLs on unmount)
106
+ * - Type-safe with TypeScript
107
+ * - Auto-fetch on mount (configurable)
108
+ * - Manual reload function
109
+ *
110
+ * Microsoft Graph Permissions Required:
111
+ * - **User.Read**: Required for current user's photo (/me/photo)
112
+ * - **User.ReadBasic.All**: Required for other users' photos (/users/{id}/photo)
113
+ * - **User.Read.All**: Alternative permission for other users (more privileged)
114
+ *
115
+ * Permission Notes:
116
+ * - Application must have appropriate Graph API permissions configured in Azure AD
117
+ * - Permissions must be consented by admin or user (depending on permission type)
118
+ * - 404 errors typically mean the user has no photo (not a permission issue)
119
+ * - 403 errors indicate insufficient permissions
120
+ *
121
+ * Graph API Endpoints Used:
122
+ * - Current user: GET /me/photo/{size}/$value
123
+ * - By ID: GET /users/{id}/photo/{size}/$value
124
+ * - By email: GET /users/{email}/photo/{size}/$value
125
+ *
126
+ * @param options - Optional. Configuration for loading specific user's photo
127
+ *
128
+ * @example Current user photo
129
+ * ```tsx
130
+ * function UserAvatar() {
131
+ * const { photoUrl, isLoading, error } = useSPFxUserPhoto();
132
+ *
133
+ * if (isLoading) return <Spinner />;
134
+ * if (error) return <DefaultAvatar />;
135
+ *
136
+ * return <img src={photoUrl} alt="User" style={{ width: 240, height: 240 }} />;
137
+ * }
138
+ * ```
139
+ *
140
+ * @example Specific user by email
141
+ * ```tsx
142
+ * function TeamMemberAvatar({ email }: { email: string }) {
143
+ * const { photoUrl, isLoading } = useSPFxUserPhoto({
144
+ * email,
145
+ * size: '96x96'
146
+ * });
147
+ *
148
+ * return (
149
+ * <div>
150
+ * {isLoading ? (
151
+ * <Spinner />
152
+ * ) : (
153
+ * <img src={photoUrl || '/default-avatar.png'} alt={email} />
154
+ * )}
155
+ * </div>
156
+ * );
157
+ * }
158
+ * ```
159
+ *
160
+ * @example Specific user by ID with reload
161
+ * ```tsx
162
+ * function ProfileCard({ userId }: { userId: string }) {
163
+ * const { photoUrl, reload, isLoading, error } = useSPFxUserPhoto({
164
+ * userId,
165
+ * size: '360x360'
166
+ * });
167
+ *
168
+ * return (
169
+ * <Stack>
170
+ * {error ? (
171
+ * <MessageBar messageBarType={MessageBarType.error}>
172
+ * Failed to load photo: {error.message}
173
+ * </MessageBar>
174
+ * ) : (
175
+ * <img src={photoUrl} alt="Profile" />
176
+ * )}
177
+ *
178
+ * <PrimaryButton
179
+ * onClick={reload}
180
+ * disabled={isLoading}
181
+ * text="Refresh Photo"
182
+ * />
183
+ * </Stack>
184
+ * );
185
+ * }
186
+ * ```
187
+ *
188
+ * @example Multiple sizes for responsive images
189
+ * ```tsx
190
+ * function ResponsiveAvatar() {
191
+ * const small = useSPFxUserPhoto({ size: '96x96' });
192
+ * const large = useSPFxUserPhoto({ size: '240x240' });
193
+ *
194
+ * return (
195
+ * <picture>
196
+ * <source media="(min-width: 768px)" srcSet={large.photoUrl} />
197
+ * <img src={small.photoUrl} alt="User Avatar" />
198
+ * </picture>
199
+ * );
200
+ * }
201
+ * ```
202
+ *
203
+ * @example Lazy loading with manual fetch
204
+ * ```tsx
205
+ * function LazyAvatar({ email }: { email: string }) {
206
+ * const { photoUrl, reload, isLoading } = useSPFxUserPhoto({
207
+ * email,
208
+ * autoFetch: false // Don't load on mount
209
+ * });
210
+ *
211
+ * return (
212
+ * <div>
213
+ * {photoUrl ? (
214
+ * <img src={photoUrl} alt="Avatar" />
215
+ * ) : (
216
+ * <button onClick={reload} disabled={isLoading}>
217
+ * {isLoading ? 'Loading...' : 'Load Photo'}
218
+ * </button>
219
+ * )}
220
+ * </div>
221
+ * );
222
+ * }
223
+ * ```
224
+ *
225
+ * @example With error fallback
226
+ * ```tsx
227
+ * function SafeAvatar() {
228
+ * const { photoUrl, error, isReady } = useSPFxUserPhoto();
229
+ *
230
+ * if (!isReady) {
231
+ * return <Persona text="Loading..." size={PersonaSize.size72} />;
232
+ * }
233
+ *
234
+ * if (error || !photoUrl) {
235
+ * // Fallback to Fluent UI Persona with initials
236
+ * return <Persona text="John Doe" size={PersonaSize.size72} />;
237
+ * }
238
+ *
239
+ * return <img src={photoUrl} alt="User" className="avatar-round" />;
240
+ * }
241
+ * ```
242
+ *
243
+ * @example Access raw blob for processing
244
+ * ```tsx
245
+ * function PhotoUploader() {
246
+ * const { photoBlob, photoUrl } = useSPFxUserPhoto();
247
+ *
248
+ * const handleUploadToAzure = async () => {
249
+ * if (!photoBlob) return;
250
+ *
251
+ * const formData = new FormData();
252
+ * formData.append('photo', photoBlob, 'profile.jpg');
253
+ *
254
+ * await fetch('/api/upload', {
255
+ * method: 'POST',
256
+ * body: formData
257
+ * });
258
+ * };
259
+ *
260
+ * return (
261
+ * <div>
262
+ * <img src={photoUrl} alt="Preview" />
263
+ * <button onClick={handleUploadToAzure}>Upload to Azure</button>
264
+ * </div>
265
+ * );
266
+ * }
267
+ * ```
268
+ */
269
+ export declare function useSPFxUserPhoto(options?: SPFxUserPhotoOptions): SPFxUserPhotoResult;
270
+ //# sourceMappingURL=useSPFxUserPhoto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxUserPhoto.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxUserPhoto.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6KG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,mBAAmB,CA0IrB"}