@apvee/spfx-react-toolkit 1.2.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 (131) 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/useSPFxPermissions.d.ts +15 -3
  47. package/lib/hooks/useSPFxPermissions.d.ts.map +1 -1
  48. package/lib/hooks/useSPFxPermissions.js.map +1 -1
  49. package/lib/hooks/useSPFxPnPContext.d.ts +4 -0
  50. package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -1
  51. package/lib/hooks/useSPFxPnPContext.js +4 -0
  52. package/lib/hooks/useSPFxPnPContext.js.map +1 -1
  53. package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -1
  54. package/lib/hooks/useSPFxPnPSearch.js +61 -48
  55. package/lib/hooks/useSPFxPnPSearch.js.map +1 -1
  56. package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -1
  57. package/lib/hooks/useSPFxSPHttpClient.js +4 -74
  58. package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
  59. package/lib/hooks/useSPFxThemeInfo.d.ts +2 -0
  60. package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -1
  61. package/lib/hooks/useSPFxThemeInfo.js +2 -0
  62. package/lib/hooks/useSPFxThemeInfo.js.map +1 -1
  63. package/lib/index.d.ts +27 -0
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js +27 -0
  66. package/lib/index.js.map +1 -1
  67. package/lib/utils/resize-observer.internal.d.ts +12 -2
  68. package/lib/utils/resize-observer.internal.d.ts.map +1 -1
  69. package/lib/utils/resize-observer.internal.js +12 -2
  70. package/lib/utils/resize-observer.internal.js.map +1 -1
  71. package/lib/utils/theme-subscription.internal.d.ts +12 -3
  72. package/lib/utils/theme-subscription.internal.d.ts.map +1 -1
  73. package/lib/utils/theme-subscription.internal.js +19 -3
  74. package/lib/utils/theme-subscription.internal.js.map +1 -1
  75. package/lib/utils/type-guards.internal.d.ts +78 -5
  76. package/lib/utils/type-guards.internal.d.ts.map +1 -1
  77. package/lib/utils/type-guards.internal.js +78 -5
  78. package/lib/utils/type-guards.internal.js.map +1 -1
  79. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +0 -4
  80. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
  81. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +27 -739
  82. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
  83. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts +7 -0
  84. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts.map +1 -0
  85. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +131 -0
  86. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -0
  87. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts +8 -0
  88. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts.map +1 -0
  89. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +158 -0
  90. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -0
  91. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts +9 -0
  92. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts.map +1 -0
  93. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +159 -0
  94. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -0
  95. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts +10 -0
  96. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts.map +1 -0
  97. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +141 -0
  98. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -0
  99. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts +6 -0
  100. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts.map +1 -0
  101. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +62 -0
  102. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -0
  103. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts +6 -0
  104. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts.map +1 -0
  105. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +98 -0
  106. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -0
  107. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts +6 -0
  108. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts.map +1 -0
  109. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +45 -0
  110. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -0
  111. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts +6 -0
  112. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts.map +1 -0
  113. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +134 -0
  114. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -0
  115. package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts +13 -0
  116. package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts.map +1 -0
  117. package/lib/webparts/spFxReactToolkitTest/components/demos/index.js +18 -0
  118. package/lib/webparts/spFxReactToolkitTest/components/demos/index.js.map +1 -0
  119. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts +18 -0
  120. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts.map +1 -0
  121. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +17 -0
  122. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -0
  123. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts +16 -0
  124. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts.map +1 -0
  125. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +14 -0
  126. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -0
  127. package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts +6 -0
  128. package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts.map +1 -0
  129. package/lib/webparts/spFxReactToolkitTest/components/shared/index.js +6 -0
  130. package/lib/webparts/spFxReactToolkitTest/components/shared/index.js.map +1 -0
  131. 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"}
@@ -9,11 +9,23 @@ export interface SPFxPermissionsInfo {
9
9
  readonly webPermissions: SPPermission | undefined;
10
10
  /** List permissions (if in list context) */
11
11
  readonly listPermissions: SPPermission | undefined;
12
- /** Check if user has specific web permission */
12
+ /**
13
+ * Check if user has specific web permission
14
+ * @param permission - SPPermission to check (e.g., SPPermission.manageWeb, SPPermission.editListItems)
15
+ * @returns True if user has the permission at web level
16
+ */
13
17
  readonly hasWebPermission: (permission: SPPermission) => boolean;
14
- /** Check if user has specific site permission */
18
+ /**
19
+ * Check if user has specific site collection permission
20
+ * @param permission - SPPermission to check (e.g., SPPermission.manageWeb, SPPermission.createGroups)
21
+ * @returns True if user has the permission at site collection level
22
+ */
15
23
  readonly hasSitePermission: (permission: SPPermission) => boolean;
16
- /** Check if user has specific list permission */
24
+ /**
25
+ * Check if user has specific list permission
26
+ * @param permission - SPPermission to check (e.g., SPPermission.addListItems, SPPermission.deleteListItems)
27
+ * @returns True if user has the permission at list level, false if no list context
28
+ */
17
29
  readonly hasListPermission: (permission: SPPermission) => boolean;
18
30
  }
19
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPermissions.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD,sBAAsB;IACtB,QAAQ,CAAC,cAAc,EAAE,YAAY,GAAG,SAAS,CAAC;IAElD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD,gDAAgD;IAChD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAEjE,iDAAiD;IACjD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAElE,iDAAiD;IACjD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CA2CxD"}
1
+ {"version":3,"file":"useSPFxPermissions.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD,sBAAsB;IACtB,QAAQ,CAAC,cAAc,EAAE,YAAY,GAAG,SAAS,CAAC;IAElD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CA2CxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAyB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,kBAAkB;;IAChC,IAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,uCAAuC;IACvC,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IACrG,IAAM,cAAc,GAAG,MAAC,WAAW,CAAC,GAAiD,0CAAE,WAAW,CAAC;IACnG,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IAErG,6BAA6B;IAC7B,IAAM,GAAG,GAAG,WAAW,CACrB,UAAC,KAA+B,EAAE,UAAwB;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,kCAAkC;IAClC,IAAM,gBAAgB,GAAG,WAAW,CAClC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,EAA/B,CAA+B,EACtE,CAAC,GAAG,EAAE,cAAc,CAAC,CACtB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;QACf,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useSPFxPermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAqC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,kBAAkB;;IAChC,IAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,uCAAuC;IACvC,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IACrG,IAAM,cAAc,GAAG,MAAC,WAAW,CAAC,GAAiD,0CAAE,WAAW,CAAC;IACnG,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IAErG,6BAA6B;IAC7B,IAAM,GAAG,GAAG,WAAW,CACrB,UAAC,KAA+B,EAAE,UAAwB;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,kCAAkC;IAClC,IAAM,gBAAgB,GAAG,WAAW,CAClC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,EAA/B,CAA+B,EACtE,CAAC,GAAG,EAAE,cAAc,CAAC,CACtB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;QACf,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC"}
@@ -74,6 +74,10 @@ export interface PnPContextInfo {
74
74
  * - Memoized for performance (avoids re-initialization on re-renders)
75
75
  * - Error handling with detailed error state
76
76
  *
77
+ * @see {@link useSPFxPnP} for state-managed PnP operations with invoke/batch helpers
78
+ * @see {@link useSPFxPnPList} for list-specific operations with pagination
79
+ * @see {@link useSPFxPnPSearch} for SharePoint Search integration
80
+ *
77
81
  * @param siteUrl - SharePoint site URL (optional)
78
82
  * - Undefined: uses current site
79
83
  * - Relative: '/sites/hr' (automatically resolves to absolute URL)
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPnPContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,IAAI,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QACN,qBAAqB;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;QAC9B,8DAA8D;QAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kCAAkC;QAClC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACtC,CAAC;IAEF,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,sBAAsB;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,gBAAgB,GACxB,cAAc,CA8GhB"}
1
+ {"version":3,"file":"useSPFxPnPContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,IAAI,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QACN,qBAAqB;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;QAC9B,8DAA8D;QAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kCAAkC;QAClC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACtC,CAAC;IAEF,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,sBAAsB;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6OG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,gBAAgB,GACxB,cAAc,CA8GhB"}
@@ -32,6 +32,10 @@ import { useSPFxPageContext } from './useSPFxPageContext';
32
32
  * - Memoized for performance (avoids re-initialization on re-renders)
33
33
  * - Error handling with detailed error state
34
34
  *
35
+ * @see {@link useSPFxPnP} for state-managed PnP operations with invoke/batch helpers
36
+ * @see {@link useSPFxPnPList} for list-specific operations with pagination
37
+ * @see {@link useSPFxPnPSearch} for SharePoint Search integration
38
+ *
35
39
  * @param siteUrl - SharePoint site URL (optional)
36
40
  * - Undefined: uses current site
37
41
  * - Relative: '/sites/hr' (automatically resolves to absolute URL)
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPnPContext.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSPFxPnPContext.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPnPSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSPFxPnPSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPSearch.ts"],"names":[],"mappings":"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"}
@@ -324,6 +324,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
324
324
  var _g = useState(undefined), error = _g[0], setError = _g[1];
325
325
  var _h = useState(false), hasMore = _h[0], setHasMore = _h[1];
326
326
  // Tracking for pagination and refetch
327
+ // Type is wrapper function that returns the original callback (to avoid React state comparison issues)
327
328
  var _j = useState(null), lastQueryBuilder = _j[0], setLastQueryBuilder = _j[1];
328
329
  var _k = useState(null), lastQueryText = _k[0], setLastQueryText = _k[1];
329
330
  var _l = useState(undefined), lastPageSize = _l[0], setLastPageSize = _l[1];
@@ -346,8 +347,8 @@ export function useSPFxPnPSearch(options, pnpContext) {
346
347
  * Core search execution logic.
347
348
  * Builds query with defaults, executes search, parses results.
348
349
  */
349
- var executeSearch = useCallback(function (query, queryOptions, startRow, appendResults) { return __awaiter(_this, void 0, void 0, function () {
350
- var err, pageSize, row, builder, refinementFilters_1, searchResults, rawResults, totalRows, parsedResults_1, refinerResults, parsedRefiners, newResultsLength, err_1, error_1;
350
+ var executeSearch = useCallback(function (query, queryOptions, startRow, appendResults, overrideRefiners) { return __awaiter(_this, void 0, void 0, function () {
351
+ var err, pageSize, row, builder, refinersToApply, refinementFilters_1, searchResults, rawResults, totalRows, parsedResults_1, refinerResults, parsedRefiners, finalResultsLength_1, err_1, error_1;
351
352
  var _a, _b, _c, _d, _e, _f, _g, _h;
352
353
  return __generator(this, function (_j) {
353
354
  switch (_j.label) {
@@ -385,10 +386,10 @@ export function useSPFxPnPSearch(options, pnpContext) {
385
386
  if (row > 0) {
386
387
  builder = builder.startRow(row);
387
388
  }
388
- // Apply refinement filters if any
389
- if (appliedRefiners.size > 0) {
389
+ refinersToApply = overrideRefiners !== null && overrideRefiners !== void 0 ? overrideRefiners : appliedRefiners;
390
+ if (refinersToApply.size > 0) {
390
391
  refinementFilters_1 = [];
391
- appliedRefiners.forEach(function (values, key) {
392
+ refinersToApply.forEach(function (values, key) {
392
393
  values.forEach(function (value) {
393
394
  refinementFilters_1.push(key + ":equals('" + value + "')");
394
395
  });
@@ -434,16 +435,20 @@ export function useSPFxPnPSearch(options, pnpContext) {
434
435
  if (!mountedRef.current) {
435
436
  return [2 /*return*/, parsedResults_1];
436
437
  }
437
- newResultsLength = appendResults ? results.length + parsedResults_1.length : parsedResults_1.length;
438
+ finalResultsLength_1 = 0;
438
439
  if (appendResults) {
439
- setResults(function (prev) { return prev.concat(parsedResults_1); });
440
+ setResults(function (prev) {
441
+ finalResultsLength_1 = prev.length + parsedResults_1.length;
442
+ return prev.concat(parsedResults_1);
443
+ });
440
444
  }
441
445
  else {
446
+ finalResultsLength_1 = parsedResults_1.length;
442
447
  setResults(parsedResults_1);
443
448
  }
444
449
  setTotalResults(totalRows);
445
450
  setRefiners(parsedRefiners);
446
- setHasMore(newResultsLength < totalRows);
451
+ setHasMore(finalResultsLength_1 < totalRows);
447
452
  return [2 /*return*/, parsedResults_1];
448
453
  case 3:
449
454
  err_1 = _j.sent();
@@ -453,7 +458,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
453
458
  case 4: return [2 /*return*/];
454
459
  }
455
460
  });
456
- }); }, [sp, context === null || context === void 0 ? void 0 : context.isInitialized, options, defaultPageSize, lastPageSize, appliedRefiners, results.length]);
461
+ }); }, [sp, context === null || context === void 0 ? void 0 : context.isInitialized, options, defaultPageSize, lastPageSize, appliedRefiners]);
457
462
  /**
458
463
  * Executes a search query.
459
464
  */
@@ -548,7 +553,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
548
553
  _a.trys.push([1, , 3, 4]);
549
554
  nextStartRow = currentStartRow + lastPageSize;
550
555
  query = lastQueryBuilder
551
- ? lastQueryBuilder
556
+ ? lastQueryBuilder()
552
557
  : lastQueryText;
553
558
  return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, nextStartRow, true // Append results
554
559
  )];
@@ -585,7 +590,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
585
590
  case 1:
586
591
  _a.trys.push([1, , 3, 4]);
587
592
  query = lastQueryBuilder
588
- ? lastQueryBuilder
593
+ ? lastQueryBuilder()
589
594
  : lastQueryText;
590
595
  return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, 0, false)];
591
596
  case 2:
@@ -604,55 +609,63 @@ export function useSPFxPnPSearch(options, pnpContext) {
604
609
  * Applies a refiner filter to the current search.
605
610
  */
606
611
  var applyRefiner = useCallback(function (refinerName, refinerValue) { return __awaiter(_this, void 0, void 0, function () {
607
- var err;
608
- return __generator(this, function (_a) {
609
- switch (_a.label) {
612
+ var err, newRefiners, existing, index, updated, query;
613
+ var _a;
614
+ return __generator(this, function (_b) {
615
+ switch (_b.label) {
610
616
  case 0:
611
617
  if (!lastQueryBuilder && !lastQueryText) {
612
618
  err = new Error('[useSPFxPnPSearch] No previous search to apply refiner to. Call search() first.');
613
619
  setError(err);
614
620
  throw err;
615
621
  }
616
- // Update applied refiners map
617
- setAppliedRefiners(function (prev) {
618
- var _a;
619
- var newMap = new Map();
620
- prev.forEach(function (value, key) {
621
- newMap.set(key, value);
622
- });
623
- var existing = (_a = newMap.get(refinerName)) !== null && _a !== void 0 ? _a : [];
624
- // Toggle: if already exists, remove; otherwise add
625
- var index = existing.indexOf(refinerValue);
626
- if (index > -1) {
627
- var updated = existing.slice();
628
- updated.splice(index, 1);
629
- if (updated.length === 0) {
630
- newMap.delete(refinerName);
631
- }
632
- else {
633
- newMap.set(refinerName, updated);
634
- }
622
+ newRefiners = new Map();
623
+ appliedRefiners.forEach(function (value, key) {
624
+ newRefiners.set(key, value);
625
+ });
626
+ existing = (_a = newRefiners.get(refinerName)) !== null && _a !== void 0 ? _a : [];
627
+ index = existing.indexOf(refinerValue);
628
+ if (index > -1) {
629
+ updated = existing.slice();
630
+ updated.splice(index, 1);
631
+ if (updated.length === 0) {
632
+ newRefiners.delete(refinerName);
635
633
  }
636
634
  else {
637
- newMap.set(refinerName, existing.concat([refinerValue]));
635
+ newRefiners.set(refinerName, updated);
638
636
  }
639
- return newMap;
640
- });
641
- // Re-execute search with new refiners
642
- // Note: appliedRefiners state will be updated on next render
643
- // So we need to wait a tick or use the new map directly
644
- // For simplicity, we'll call refetch which will use updated appliedRefiners
645
- return [4 /*yield*/, refetch()];
637
+ }
638
+ else {
639
+ newRefiners.set(refinerName, existing.concat([refinerValue]));
640
+ }
641
+ // Update state for UI
642
+ setAppliedRefiners(newRefiners);
643
+ // Re-execute search with new refiners passed directly
644
+ // This avoids the race condition where state isn't updated yet
645
+ setLoading(true);
646
+ setError(undefined);
647
+ setCurrentStartRow(0);
648
+ _b.label = 1;
646
649
  case 1:
647
- // Re-execute search with new refiners
648
- // Note: appliedRefiners state will be updated on next render
649
- // So we need to wait a tick or use the new map directly
650
- // For simplicity, we'll call refetch which will use updated appliedRefiners
651
- _a.sent();
652
- return [2 /*return*/];
650
+ _b.trys.push([1, , 3, 4]);
651
+ query = lastQueryBuilder
652
+ ? lastQueryBuilder()
653
+ : lastQueryText;
654
+ // Pass newRefiners directly to avoid race condition
655
+ return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, 0, false, newRefiners)];
656
+ case 2:
657
+ // Pass newRefiners directly to avoid race condition
658
+ _b.sent();
659
+ return [3 /*break*/, 4];
660
+ case 3:
661
+ if (mountedRef.current) {
662
+ setLoading(false);
663
+ }
664
+ return [7 /*endfinally*/];
665
+ case 4: return [2 /*return*/];
653
666
  }
654
667
  });
655
- }); }, [lastQueryBuilder, lastQueryText, refetch]);
668
+ }); }, [lastQueryBuilder, lastQueryText, lastPageSize, appliedRefiners, executeSearch]);
656
669
  return {
657
670
  search: search,
658
671
  suggest: suggest,