@apvee/spfx-react-toolkit 1.1.0 → 1.2.1

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 (135) hide show
  1. package/README.md +52 -7217
  2. package/lib/core/context.internal.d.ts +6 -1
  3. package/lib/core/context.internal.d.ts.map +1 -1
  4. package/lib/core/context.internal.js +6 -1
  5. package/lib/core/context.internal.js.map +1 -1
  6. package/lib/core/index.d.ts +21 -0
  7. package/lib/core/index.d.ts.map +1 -1
  8. package/lib/core/index.js +21 -0
  9. package/lib/core/index.js.map +1 -1
  10. package/lib/core/provider-application-customizer.d.ts.map +1 -1
  11. package/lib/core/provider-application-customizer.js.map +1 -1
  12. package/lib/core/provider-field-customizer.d.ts.map +1 -1
  13. package/lib/core/provider-field-customizer.js.map +1 -1
  14. package/lib/core/provider-listview-commandset.d.ts.map +1 -1
  15. package/lib/core/provider-listview-commandset.js.map +1 -1
  16. package/lib/core/provider-webpart.d.ts.map +1 -1
  17. package/lib/core/provider-webpart.js.map +1 -1
  18. package/lib/core/types.d.ts +2 -0
  19. package/lib/core/types.d.ts.map +1 -1
  20. package/lib/hooks/index.d.ts +31 -0
  21. package/lib/hooks/index.d.ts.map +1 -1
  22. package/lib/hooks/index.js +31 -0
  23. package/lib/hooks/index.js.map +1 -1
  24. package/lib/hooks/useAsyncInvoke.internal.d.ts +58 -0
  25. package/lib/hooks/useAsyncInvoke.internal.d.ts.map +1 -0
  26. package/lib/hooks/useAsyncInvoke.internal.js +118 -0
  27. package/lib/hooks/useAsyncInvoke.internal.js.map +1 -0
  28. package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -1
  29. package/lib/hooks/useSPFxAadHttpClient.js +5 -75
  30. package/lib/hooks/useSPFxAadHttpClient.js.map +1 -1
  31. package/lib/hooks/useSPFxContainerInfo.d.ts +2 -0
  32. package/lib/hooks/useSPFxContainerInfo.d.ts.map +1 -1
  33. package/lib/hooks/useSPFxContainerInfo.js +2 -0
  34. package/lib/hooks/useSPFxContainerInfo.js.map +1 -1
  35. package/lib/hooks/useSPFxDisplayMode.d.ts +4 -0
  36. package/lib/hooks/useSPFxDisplayMode.d.ts.map +1 -1
  37. package/lib/hooks/useSPFxDisplayMode.js +4 -0
  38. package/lib/hooks/useSPFxDisplayMode.js.map +1 -1
  39. package/lib/hooks/useSPFxHttpClient.d.ts +4 -0
  40. package/lib/hooks/useSPFxHttpClient.d.ts.map +1 -1
  41. package/lib/hooks/useSPFxHttpClient.js +8 -75
  42. package/lib/hooks/useSPFxHttpClient.js.map +1 -1
  43. package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -1
  44. package/lib/hooks/useSPFxMSGraphClient.js +4 -74
  45. package/lib/hooks/useSPFxMSGraphClient.js.map +1 -1
  46. package/lib/hooks/useSPFxOneDriveAppData.d.ts +25 -0
  47. package/lib/hooks/useSPFxOneDriveAppData.d.ts.map +1 -1
  48. package/lib/hooks/useSPFxOneDriveAppData.js +121 -256
  49. package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -1
  50. package/lib/hooks/useSPFxPermissions.d.ts +15 -3
  51. package/lib/hooks/useSPFxPermissions.d.ts.map +1 -1
  52. package/lib/hooks/useSPFxPermissions.js.map +1 -1
  53. package/lib/hooks/useSPFxPnPContext.d.ts +4 -0
  54. package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -1
  55. package/lib/hooks/useSPFxPnPContext.js +4 -0
  56. package/lib/hooks/useSPFxPnPContext.js.map +1 -1
  57. package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -1
  58. package/lib/hooks/useSPFxPnPSearch.js +61 -48
  59. package/lib/hooks/useSPFxPnPSearch.js.map +1 -1
  60. package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -1
  61. package/lib/hooks/useSPFxSPHttpClient.js +4 -74
  62. package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
  63. package/lib/hooks/useSPFxThemeInfo.d.ts +2 -0
  64. package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -1
  65. package/lib/hooks/useSPFxThemeInfo.js +2 -0
  66. package/lib/hooks/useSPFxThemeInfo.js.map +1 -1
  67. package/lib/index.d.ts +27 -0
  68. package/lib/index.d.ts.map +1 -1
  69. package/lib/index.js +27 -0
  70. package/lib/index.js.map +1 -1
  71. package/lib/utils/resize-observer.internal.d.ts +12 -2
  72. package/lib/utils/resize-observer.internal.d.ts.map +1 -1
  73. package/lib/utils/resize-observer.internal.js +12 -2
  74. package/lib/utils/resize-observer.internal.js.map +1 -1
  75. package/lib/utils/theme-subscription.internal.d.ts +12 -3
  76. package/lib/utils/theme-subscription.internal.d.ts.map +1 -1
  77. package/lib/utils/theme-subscription.internal.js +19 -3
  78. package/lib/utils/theme-subscription.internal.js.map +1 -1
  79. package/lib/utils/type-guards.internal.d.ts +78 -5
  80. package/lib/utils/type-guards.internal.d.ts.map +1 -1
  81. package/lib/utils/type-guards.internal.js +78 -5
  82. package/lib/utils/type-guards.internal.js.map +1 -1
  83. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +0 -4
  84. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
  85. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +35 -752
  86. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
  87. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts +7 -0
  88. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts.map +1 -0
  89. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +131 -0
  90. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -0
  91. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts +8 -0
  92. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts.map +1 -0
  93. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +158 -0
  94. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -0
  95. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts +9 -0
  96. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts.map +1 -0
  97. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +159 -0
  98. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -0
  99. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts +10 -0
  100. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts.map +1 -0
  101. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +141 -0
  102. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -0
  103. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts +6 -0
  104. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts.map +1 -0
  105. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +62 -0
  106. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -0
  107. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts +6 -0
  108. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts.map +1 -0
  109. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +98 -0
  110. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -0
  111. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts +6 -0
  112. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts.map +1 -0
  113. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +45 -0
  114. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -0
  115. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts +6 -0
  116. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts.map +1 -0
  117. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +134 -0
  118. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -0
  119. package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts +13 -0
  120. package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts.map +1 -0
  121. package/lib/webparts/spFxReactToolkitTest/components/demos/index.js +18 -0
  122. package/lib/webparts/spFxReactToolkitTest/components/demos/index.js.map +1 -0
  123. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts +18 -0
  124. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts.map +1 -0
  125. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +17 -0
  126. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -0
  127. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts +16 -0
  128. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts.map +1 -0
  129. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +14 -0
  130. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -0
  131. package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts +6 -0
  132. package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts.map +1 -0
  133. package/lib/webparts/spFxReactToolkitTest/components/shared/index.js +6 -0
  134. package/lib/webparts/spFxReactToolkitTest/components/shared/index.js.map +1 -0
  135. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxDisplayMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAexD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC"}
1
+ {"version":3,"file":"useSPFxDisplayMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAexD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC"}
@@ -20,6 +20,8 @@ import { spfxAtoms } from './../core/atoms.internal';
20
20
  *
21
21
  * @returns Display mode information
22
22
  *
23
+ * @see {@link useSPFxIsEdit} for a simple boolean shortcut
24
+ *
23
25
  * @example
24
26
  * ```tsx
25
27
  * function MyComponent() {
@@ -53,6 +55,8 @@ export function useSPFxDisplayMode() {
53
55
  *
54
56
  * @returns true if in Edit mode, false otherwise
55
57
  *
58
+ * @see {@link useSPFxDisplayMode} for full display mode information
59
+ *
56
60
  * @example
57
61
  * ```tsx
58
62
  * function MyComponent() {
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,kBAAkB;IAChC,kDAAkD;IAClD,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtD,kCAAkC;IAClC,IAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,WAAW,CAAC,IAAI,CAAC;IAE3C,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IACzC,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IAEzC,OAAO;QACL,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,MAAM,QAAA;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa;IACnB,IAAA,MAAM,GAAK,kBAAkB,EAAE,OAAzB,CAA0B;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC"}
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,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtD,kCAAkC;IAClC,IAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,WAAW,CAAC,IAAI,CAAC;IAE3C,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IACzC,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IAEzC,OAAO;QACL,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,MAAM,QAAA;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa;IACnB,IAAA,MAAM,GAAK,kBAAkB,EAAE,OAAzB,CAA0B;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -73,6 +73,10 @@ export interface SPFxHttpClientInfo {
73
73
  *
74
74
  * Use HttpClient for external APIs, SPHttpClient for SharePoint `/_api/` endpoints.
75
75
  *
76
+ * @see {@link useSPFxSPHttpClient} for SharePoint REST API calls
77
+ * @see {@link useSPFxAadHttpClient} for Azure AD secured API calls
78
+ * @see {@link useSPFxMSGraphClient} for Microsoft Graph API calls
79
+ *
76
80
  * @example Using invoke with public API
77
81
  * ```tsx
78
82
  * function WeatherWidget() {
@@ -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;AAEhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B;;;;;;;;;;;;;;;;OAgBG;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;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoLG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CAgDtD"}
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;IAE5B;;;;;;;;;;;;;;;;OAgBG;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;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwLG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CAqBtD"}
@@ -1,44 +1,9 @@
1
1
  // useSPFxHttpClient.ts
2
2
  // Hook to access generic HTTP client with state management
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
- 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;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- import { useMemo, useState, useCallback } from 'react';
3
+ import { useMemo } from 'react';
40
4
  import { useSPFxServiceScope } from './useSPFxServiceScope';
41
5
  import { HttpClient } from '@microsoft/sp-http';
6
+ import { useAsyncInvoke } from './useAsyncInvoke.internal';
42
7
  /**
43
8
  * Hook to access generic HTTP client with built-in state management
44
9
  *
@@ -72,6 +37,10 @@ import { HttpClient } from '@microsoft/sp-http';
72
37
  *
73
38
  * Use HttpClient for external APIs, SPHttpClient for SharePoint `/_api/` endpoints.
74
39
  *
40
+ * @see {@link useSPFxSPHttpClient} for SharePoint REST API calls
41
+ * @see {@link useSPFxAadHttpClient} for Azure AD secured API calls
42
+ * @see {@link useSPFxMSGraphClient} for Microsoft Graph API calls
43
+ *
75
44
  * @example Using invoke with public API
76
45
  * ```tsx
77
46
  * function WeatherWidget() {
@@ -221,49 +190,13 @@ import { HttpClient } from '@microsoft/sp-http';
221
190
  * ```
222
191
  */
223
192
  export function useSPFxHttpClient() {
224
- var _this = this;
225
193
  var consume = useSPFxServiceScope().consume;
226
194
  // Lazy consume HttpClient from ServiceScope (cached by useMemo)
227
195
  var client = useMemo(function () {
228
196
  return consume(HttpClient.serviceKey);
229
197
  }, [consume]);
230
- // State management
231
- var _a = useState(false), isLoading = _a[0], setIsLoading = _a[1];
232
- var _b = useState(undefined), error = _b[0], setError = _b[1];
233
- // Invoke with automatic state management
234
- var invoke = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
235
- var result, err_1, error_1;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- if (!client) {
240
- throw new Error('HttpClient not initialized. Check SPFx context.');
241
- }
242
- setIsLoading(true);
243
- setError(undefined);
244
- _a.label = 1;
245
- case 1:
246
- _a.trys.push([1, 3, 4, 5]);
247
- return [4 /*yield*/, fn(client)];
248
- case 2:
249
- result = _a.sent();
250
- return [2 /*return*/, result];
251
- case 3:
252
- err_1 = _a.sent();
253
- error_1 = err_1 instanceof Error ? err_1 : new Error(String(err_1));
254
- setError(error_1);
255
- throw error_1;
256
- case 4:
257
- setIsLoading(false);
258
- return [7 /*endfinally*/];
259
- case 5: return [2 /*return*/];
260
- }
261
- });
262
- }); }, [client]);
263
- // Clear error helper
264
- var clearError = useCallback(function () {
265
- setError(undefined);
266
- }, []);
198
+ // Use shared async invocation pattern
199
+ var _a = useAsyncInvoke(client, 'HttpClient not initialized. Check SPFx context.'), invoke = _a.invoke, isLoading = _a.isLoading, error = _a.error, clearError = _a.clearError;
267
200
  return {
268
201
  client: client,
269
202
  invoke: invoke,
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgDhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoLG;AACH,MAAM,UAAU,iBAAiB;IAAjC,iBAgDC;IA/CS,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,gEAAgE;IAChE,IAAM,MAAM,GAAG,OAAO,CAAC;QACrB,OAAO,OAAO,CAAa,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,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,EAAsC;;;;;oBAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;oBACrE,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,UAAQ,KAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,CAAC;oBAClE,QAAQ,CAAC,OAAK,CAAC,CAAC;oBAChB,MAAM,OAAK,CAAC;;oBAEZ,YAAY,CAAC,KAAK,CAAC,CAAC;;;;;SAEvB,EACD,CAAC,MAAM,CAAC,CACT,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,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useSPFxHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2DAA2D;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgD3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwLG;AACH,MAAM,UAAU,iBAAiB;IACvB,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,gEAAgE;IAChE,IAAM,MAAM,GAAG,OAAO,CAAC;QACrB,OAAO,OAAO,CAAa,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sCAAsC;IAChC,IAAA,KAA2C,cAAc,CAC7D,MAAM,EACN,iDAAiD,CAClD,EAHO,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAG3C,CAAC;IAEF,OAAO;QACL,MAAM,QAAA;QACN,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxMSGraphClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhF;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,CA6D5D"}
1
+ {"version":3,"file":"useSPFxMSGraphClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAG3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhF;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,CAoC5D"}
@@ -1,44 +1,9 @@
1
1
  // useSPFxMSGraphClient.ts
2
2
  // Hook to access Microsoft Graph client with state management
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
14
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
- 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;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- import { useMemo, useState, useCallback, useEffect } from 'react';
3
+ import { useMemo, useState, useEffect } from 'react';
40
4
  import { useSPFxServiceScope } from './useSPFxServiceScope';
41
5
  import { MSGraphClientFactory } from '@microsoft/sp-http';
6
+ import { useAsyncInvoke } from './useAsyncInvoke.internal';
42
7
  /**
43
8
  * Hook to access Microsoft Graph client with built-in state management
44
9
  *
@@ -203,15 +168,12 @@ import { MSGraphClientFactory } from '@microsoft/sp-http';
203
168
  * ```
204
169
  */
205
170
  export function useSPFxMSGraphClient() {
206
- var _this = this;
207
171
  var consume = useSPFxServiceScope().consume;
208
172
  // Lazy consume MSGraphClientFactory from ServiceScope (cached by useMemo)
209
173
  var factory = useMemo(function () {
210
174
  return consume(MSGraphClientFactory.serviceKey);
211
175
  }, [consume]);
212
176
  var _a = useState(undefined), client = _a[0], setClient = _a[1];
213
- var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
214
- var _c = useState(undefined), error = _c[0], setError = _c[1];
215
177
  // Initialize Graph client (factory.getClient is async)
216
178
  useEffect(function () {
217
179
  // Get MSGraphClientV3 (version 3 of Microsoft Graph JavaScript Client Library)
@@ -224,40 +186,8 @@ export function useSPFxMSGraphClient() {
224
186
  console.error('Failed to initialize MSGraphClient:', err);
225
187
  });
226
188
  }, [factory]);
227
- // Invoke with automatic state management
228
- var invoke = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
229
- var result, err_1, error_1;
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0:
233
- if (!client) {
234
- throw new Error('Graph client not initialized. Wait for client to be available.');
235
- }
236
- setIsLoading(true);
237
- setError(undefined);
238
- _a.label = 1;
239
- case 1:
240
- _a.trys.push([1, 3, 4, 5]);
241
- return [4 /*yield*/, fn(client)];
242
- case 2:
243
- result = _a.sent();
244
- return [2 /*return*/, result];
245
- case 3:
246
- err_1 = _a.sent();
247
- error_1 = err_1 instanceof Error ? err_1 : new Error(String(err_1));
248
- setError(error_1);
249
- throw error_1;
250
- case 4:
251
- setIsLoading(false);
252
- return [7 /*endfinally*/];
253
- case 5: return [2 /*return*/];
254
- }
255
- });
256
- }); }, [client]);
257
- // Clear error helper
258
- var clearError = useCallback(function () {
259
- setError(undefined);
260
- }, []);
189
+ // Use shared async invocation pattern
190
+ var _b = useAsyncInvoke(client, 'Graph client not initialized. Wait for client to be available.'), invoke = _b.invoke, isLoading = _b.isLoading, error = _b.error, clearError = _b.clearError;
261
191
  return {
262
192
  client: client,
263
193
  invoke: invoke,
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxMSGraphClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA8C3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,MAAM,UAAU,oBAAoB;IAApC,iBA6DC;IA5DS,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,0EAA0E;IAC1E,IAAM,OAAO,GAAG,OAAO,CAAC;QACtB,OAAO,OAAO,CAAuB,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAER,IAAA,KAAsB,QAAQ,CAA8B,SAAS,CAAC,EAArE,MAAM,QAAA,EAAE,SAAS,QAAoD,CAAC;IACvE,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,uDAAuD;IACvD,SAAS,CAAC;QACR,+EAA+E;QAC/E,OAAO;aACJ,SAAS,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,UAAC,WAA4B;YACjC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,GAAU;YAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,yCAAyC;IACzC,IAAM,MAAM,GAAG,WAAW,CACxB,UAAU,EAA2C;;;;;oBACnD,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;oBACpF,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,UAAQ,KAAG,YAAY,KAAK,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAG,CAAC,CAAC,CAAC;oBAClE,QAAQ,CAAC,OAAK,CAAC,CAAC;oBAChB,MAAM,OAAK,CAAC;;oBAEZ,YAAY,CAAC,KAAK,CAAC,CAAC;;;;;SAEvB,EACD,CAAC,MAAM,CAAC,CACT,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,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useSPFxMSGraphClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,8DAA8D;AAE9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA8C3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,MAAM,UAAU,oBAAoB;IAC1B,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,0EAA0E;IAC1E,IAAM,OAAO,GAAG,OAAO,CAAC;QACtB,OAAO,OAAO,CAAuB,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAER,IAAA,KAAsB,QAAQ,CAA8B,SAAS,CAAC,EAArE,MAAM,QAAA,EAAE,SAAS,QAAoD,CAAC;IAE7E,uDAAuD;IACvD,SAAS,CAAC;QACR,+EAA+E;QAC/E,OAAO;aACJ,SAAS,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,UAAC,WAA4B;YACjC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,GAAU;YAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sCAAsC;IAChC,IAAA,KAA2C,cAAc,CAC7D,MAAM,EACN,gEAAgE,CACjE,EAHO,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAG3C,CAAC;IAEF,OAAO;QACL,MAAM,QAAA;QACN,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
@@ -17,6 +17,11 @@ export interface SPFxOneDriveAppDataResult<T> {
17
17
  * Cleared on successful load or write.
18
18
  */
19
19
  readonly error: Error | undefined;
20
+ /**
21
+ * True if the file does not exist in OneDrive (404 / itemNotFound).
22
+ * In the legacy signature this is treated as a non-error.
23
+ */
24
+ readonly isNotFound: boolean;
20
25
  /**
21
26
  * Loading state for write operations.
22
27
  * True during write() calls.
@@ -72,6 +77,25 @@ export interface SPFxOneDriveAppDataResult<T> {
72
77
  */
73
78
  readonly isReady: boolean;
74
79
  }
80
+ /**
81
+ * Optional configuration for useSPFxOneDriveAppData.
82
+ */
83
+ export interface SPFxOneDriveAppDataOptions<T> {
84
+ /** Optional folder/namespace identifier for file organization. */
85
+ folder?: string;
86
+ /** Whether to automatically load file on mount. Default: true */
87
+ autoFetch?: boolean;
88
+ /**
89
+ * Default value to use when the file is missing (404).
90
+ * If provided, load() will set data to this value and will not set error.
91
+ */
92
+ defaultValue?: T;
93
+ /**
94
+ * If true, when the file is missing (404) and defaultValue is provided,
95
+ * the hook will attempt to create the file by writing defaultValue.
96
+ */
97
+ createIfMissing?: boolean;
98
+ }
75
99
  /**
76
100
  * Hook to manage JSON files in user's OneDrive appRoot folder
77
101
  *
@@ -261,4 +285,5 @@ export interface SPFxOneDriveAppDataResult<T> {
261
285
  * ```
262
286
  */
263
287
  export declare function useSPFxOneDriveAppData<T = unknown>(fileName: string, folder?: string, autoFetch?: boolean): SPFxOneDriveAppDataResult<T>;
288
+ export declare function useSPFxOneDriveAppData<T = unknown>(fileName: string, options?: SPFxOneDriveAppDataOptions<T>): SPFxOneDriveAppDataResult<T>;
264
289
  //# sourceMappingURL=useSPFxOneDriveAppData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxOneDriveAppData.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxOneDriveAppData.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IAEvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2LG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAChD,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,OAAc,GACxB,yBAAyB,CAAC,CAAC,CAAC,CA4J9B"}
1
+ {"version":3,"file":"useSPFxOneDriveAppData.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxOneDriveAppData.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IAEvC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2LG;AAEH,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAChD,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,OAAO,GAClB,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAGhC,wBAAgB,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACtC,yBAAyB,CAAC,CAAC,CAAC,CAAC"}