@apvee/spfx-react-toolkit 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/lib/core/atoms.internal.js +1 -1
  2. package/lib/core/atoms.internal.js.map +1 -1
  3. package/lib/core/context.internal.js +2 -2
  4. package/lib/core/context.internal.js.map +1 -1
  5. package/lib/core/provider-base.internal.js +29 -29
  6. package/lib/core/provider-base.internal.js.map +1 -1
  7. package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js +8 -29
  8. package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js.map +1 -1
  9. package/lib/hooks/index.d.ts +1 -0
  10. package/lib/hooks/index.d.ts.map +1 -1
  11. package/lib/hooks/index.js +1 -0
  12. package/lib/hooks/index.js.map +1 -1
  13. package/lib/hooks/useAppCatalogUrl.internal.d.ts +26 -0
  14. package/lib/hooks/useAppCatalogUrl.internal.d.ts.map +1 -0
  15. package/lib/hooks/useAppCatalogUrl.internal.js +72 -0
  16. package/lib/hooks/useAppCatalogUrl.internal.js.map +1 -0
  17. package/lib/hooks/useAsyncInvoke.internal.js +27 -75
  18. package/lib/hooks/useAsyncInvoke.internal.js.map +1 -1
  19. package/lib/hooks/useSPFxAadHttpClient.js +27 -27
  20. package/lib/hooks/useSPFxAadHttpClient.js.map +1 -1
  21. package/lib/hooks/useSPFxContainerInfo.js +5 -5
  22. package/lib/hooks/useSPFxContainerInfo.js.map +1 -1
  23. package/lib/hooks/useSPFxContainerSize.js +9 -10
  24. package/lib/hooks/useSPFxContainerSize.js.map +1 -1
  25. package/lib/hooks/useSPFxCorrelationInfo.js +6 -7
  26. package/lib/hooks/useSPFxCorrelationInfo.js.map +1 -1
  27. package/lib/hooks/useSPFxCrossSitePermissions.js +48 -58
  28. package/lib/hooks/useSPFxCrossSitePermissions.js.map +1 -1
  29. package/lib/hooks/useSPFxDisplayMode.js +8 -8
  30. package/lib/hooks/useSPFxDisplayMode.js.map +1 -1
  31. package/lib/hooks/useSPFxEnvironmentInfo.js +17 -18
  32. package/lib/hooks/useSPFxEnvironmentInfo.js.map +1 -1
  33. package/lib/hooks/useSPFxFluent9ThemeInfo.js +4 -4
  34. package/lib/hooks/useSPFxFluent9ThemeInfo.js.map +1 -1
  35. package/lib/hooks/useSPFxHttpClient.js +10 -10
  36. package/lib/hooks/useSPFxHttpClient.js.map +1 -1
  37. package/lib/hooks/useSPFxHubSiteInfo.js +21 -24
  38. package/lib/hooks/useSPFxHubSiteInfo.js.map +1 -1
  39. package/lib/hooks/useSPFxInstanceInfo.js +2 -2
  40. package/lib/hooks/useSPFxInstanceInfo.js.map +1 -1
  41. package/lib/hooks/useSPFxListInfo.js +8 -9
  42. package/lib/hooks/useSPFxListInfo.js.map +1 -1
  43. package/lib/hooks/useSPFxLocaleInfo.js +10 -10
  44. package/lib/hooks/useSPFxLocaleInfo.js.map +1 -1
  45. package/lib/hooks/useSPFxLogger.js +26 -26
  46. package/lib/hooks/useSPFxLogger.js.map +1 -1
  47. package/lib/hooks/useSPFxMSGraphClient.js +25 -25
  48. package/lib/hooks/useSPFxMSGraphClient.js.map +1 -1
  49. package/lib/hooks/useSPFxOneDriveAppData.js +148 -209
  50. package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -1
  51. package/lib/hooks/useSPFxPageContext.js +2 -2
  52. package/lib/hooks/useSPFxPageContext.js.map +1 -1
  53. package/lib/hooks/useSPFxPageType.js +19 -20
  54. package/lib/hooks/useSPFxPageType.js.map +1 -1
  55. package/lib/hooks/useSPFxPerformance.js +33 -87
  56. package/lib/hooks/useSPFxPerformance.js.map +1 -1
  57. package/lib/hooks/useSPFxPermissions.js +14 -15
  58. package/lib/hooks/useSPFxPermissions.js.map +1 -1
  59. package/lib/hooks/useSPFxPnP.js +62 -119
  60. package/lib/hooks/useSPFxPnP.js.map +1 -1
  61. package/lib/hooks/useSPFxPnPContext.js +22 -25
  62. package/lib/hooks/useSPFxPnPContext.js.map +1 -1
  63. package/lib/hooks/useSPFxPnPList.js +307 -451
  64. package/lib/hooks/useSPFxPnPList.js.map +1 -1
  65. package/lib/hooks/useSPFxPnPSearch.js +262 -353
  66. package/lib/hooks/useSPFxPnPSearch.js.map +1 -1
  67. package/lib/hooks/useSPFxProperties.js +12 -20
  68. package/lib/hooks/useSPFxProperties.js.map +1 -1
  69. package/lib/hooks/useSPFxSPHttpClient.js +19 -19
  70. package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
  71. package/lib/hooks/useSPFxServiceScope.js +6 -6
  72. package/lib/hooks/useSPFxServiceScope.js.map +1 -1
  73. package/lib/hooks/useSPFxSiteInfo.js +7 -8
  74. package/lib/hooks/useSPFxSiteInfo.js.map +1 -1
  75. package/lib/hooks/useSPFxStorage.js +22 -22
  76. package/lib/hooks/useSPFxStorage.js.map +1 -1
  77. package/lib/hooks/useSPFxTeams.js +37 -92
  78. package/lib/hooks/useSPFxTeams.js.map +1 -1
  79. package/lib/hooks/useSPFxTenantKeyValueStore.d.ts +252 -0
  80. package/lib/hooks/useSPFxTenantKeyValueStore.d.ts.map +1 -0
  81. package/lib/hooks/useSPFxTenantKeyValueStore.js +572 -0
  82. package/lib/hooks/useSPFxTenantKeyValueStore.js.map +1 -0
  83. package/lib/hooks/useSPFxTenantProperty.d.ts +23 -244
  84. package/lib/hooks/useSPFxTenantProperty.d.ts.map +1 -1
  85. package/lib/hooks/useSPFxTenantProperty.js +85 -559
  86. package/lib/hooks/useSPFxTenantProperty.js.map +1 -1
  87. package/lib/hooks/useSPFxUserInfo.js +3 -4
  88. package/lib/hooks/useSPFxUserInfo.js.map +1 -1
  89. package/lib/hooks/useSPFxUserPhoto.js +76 -123
  90. package/lib/hooks/useSPFxUserPhoto.js.map +1 -1
  91. package/lib/utils/resize-observer.internal.js +6 -7
  92. package/lib/utils/resize-observer.internal.js.map +1 -1
  93. package/lib/utils/theme-subscription.internal.js +8 -8
  94. package/lib/utils/theme-subscription.internal.js.map +1 -1
  95. package/lib/utils/type-guards.internal.js +6 -6
  96. package/lib/utils/type-guards.internal.js.map +1 -1
  97. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js +12 -37
  98. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js.map +1 -1
  99. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
  100. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +277 -336
  101. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
  102. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js +1 -1
  103. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js.map +1 -1
  104. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +26 -86
  105. package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -1
  106. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +53 -113
  107. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -1
  108. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +49 -121
  109. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -1
  110. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +44 -103
  111. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -1
  112. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +15 -15
  113. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -1
  114. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +18 -66
  115. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -1
  116. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +9 -9
  117. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -1
  118. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +37 -86
  119. package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -1
  120. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +6 -9
  121. package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -1
  122. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +3 -6
  123. package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -1
  124. package/package.json +1 -1
@@ -1,52 +1,5 @@
1
1
  // useSPFxPerformance.ts
2
2
  // Hook for performance measurement and monitoring
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
- return new (P || (P = Promise))(function (resolve, reject) {
17
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
- step((generator = generator.apply(thisArg, _arguments || [])).next());
21
- });
22
- };
23
- var __generator = (this && this.__generator) || function (thisArg, body) {
24
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
- function verb(n) { return function (v) { return step([n, v]); }; }
27
- function step(op) {
28
- if (f) throw new TypeError("Generator is already executing.");
29
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
30
- 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;
31
- if (y = 0, t) op = [op[0] & 2, t.value];
32
- switch (op[0]) {
33
- case 0: case 1: t = op; break;
34
- case 4: _.label++; return { value: op[1], done: false };
35
- case 5: _.label++; y = op[1]; op = [0]; continue;
36
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
- default:
38
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
- if (t[2]) _.ops.pop();
43
- _.trys.pop(); continue;
44
- }
45
- op = body.call(thisArg, _);
46
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
- }
49
- };
50
3
  import { useCallback } from 'react';
51
4
  import { useSPFxInstanceInfo } from './useSPFxInstanceInfo';
52
5
  import { useSPFxCorrelationInfo } from './useSPFxCorrelationInfo';
@@ -93,75 +46,68 @@ import { useSPFxCorrelationInfo } from './useSPFxCorrelationInfo';
93
46
  * ```
94
47
  */
95
48
  export function useSPFxPerformance() {
96
- var _this = this;
97
- var _a = useSPFxInstanceInfo(), instanceId = _a.id, host = _a.kind;
98
- var correlationId = useSPFxCorrelationInfo().correlationId;
49
+ const { id: instanceId, kind: host } = useSPFxInstanceInfo();
50
+ const { correlationId } = useSPFxCorrelationInfo();
99
51
  // Create a performance mark
100
- var mark = useCallback(function (name) {
101
- if (typeof (performance === null || performance === void 0 ? void 0 : performance.mark) === 'function') {
52
+ const mark = useCallback((name) => {
53
+ if (typeof performance?.mark === 'function') {
102
54
  try {
103
55
  performance.mark(name);
104
56
  }
105
- catch (_a) {
57
+ catch {
106
58
  // Swallow errors (e.g., invalid mark name)
107
59
  }
108
60
  }
109
61
  }, []);
110
62
  // Measure duration between marks
111
- var measure = useCallback(function (name, startMark, endMark) {
112
- var _a;
63
+ const measure = useCallback((name, startMark, endMark) => {
113
64
  try {
114
65
  // Create end mark if provided
115
- if (endMark && typeof (performance === null || performance === void 0 ? void 0 : performance.mark) === 'function') {
66
+ if (endMark && typeof performance?.mark === 'function') {
116
67
  performance.mark(endMark);
117
68
  }
118
69
  // Create measure
119
- if (typeof (performance === null || performance === void 0 ? void 0 : performance.measure) === 'function') {
70
+ if (typeof performance?.measure === 'function') {
120
71
  performance.measure(name, startMark, endMark);
121
72
  // Get the measurement
122
- var entries = performance.getEntriesByName(name, 'measure');
123
- var lastEntry = entries[entries.length - 1];
73
+ const entries = performance.getEntriesByName(name, 'measure');
74
+ const lastEntry = entries[entries.length - 1];
124
75
  return {
125
- name: name,
126
- durationMs: (_a = lastEntry === null || lastEntry === void 0 ? void 0 : lastEntry.duration) !== null && _a !== void 0 ? _a : 0,
127
- instanceId: instanceId,
128
- host: host,
129
- correlationId: correlationId,
76
+ name,
77
+ durationMs: lastEntry?.duration ?? 0,
78
+ instanceId,
79
+ host,
80
+ correlationId,
130
81
  };
131
82
  }
132
83
  }
133
- catch (_b) {
84
+ catch {
134
85
  // Swallow errors
135
86
  }
136
87
  // Fallback result
137
88
  return {
138
- name: name,
89
+ name,
139
90
  durationMs: 0,
140
- instanceId: instanceId,
141
- host: host,
142
- correlationId: correlationId,
91
+ instanceId,
92
+ host,
93
+ correlationId,
143
94
  };
144
95
  }, [instanceId, host, correlationId]);
145
96
  // Time an async operation
146
- var time = useCallback(function (name, fn) { return __awaiter(_this, void 0, void 0, function () {
147
- var startMark, result, measurement;
148
- return __generator(this, function (_a) {
149
- switch (_a.label) {
150
- case 0:
151
- startMark = name + '-start';
152
- mark(startMark);
153
- return [4 /*yield*/, Promise.resolve().then(fn)];
154
- case 1:
155
- result = _a.sent();
156
- measurement = measure(name, startMark);
157
- return [2 /*return*/, __assign(__assign({}, measurement), { result: result })];
158
- }
159
- });
160
- }); }, [mark, measure]);
97
+ const time = useCallback(async (name, fn) => {
98
+ const startMark = name + '-start';
99
+ mark(startMark);
100
+ const result = await Promise.resolve().then(fn);
101
+ const measurement = measure(name, startMark);
102
+ return {
103
+ ...measurement,
104
+ result,
105
+ };
106
+ }, [mark, measure]);
161
107
  return {
162
- mark: mark,
163
- measure: measure,
164
- time: time,
108
+ mark,
109
+ measure,
110
+ time,
165
111
  };
166
112
  }
167
113
  //# sourceMappingURL=useSPFxPerformance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPerformance.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPerformance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSPFxPerformance.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPerformance.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,kDAAkD;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAuClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC7D,MAAM,EAAE,aAAa,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,IAAY,EAAQ,EAAE;QAC9C,IAAI,OAAO,WAAW,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iCAAiC;IACjC,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAAY,EAAE,SAAiB,EAAE,OAAgB,EAAkB,EAAE;QACpE,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,OAAO,IAAI,OAAO,WAAW,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBACvD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,WAAW,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC/C,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAE9C,sBAAsB;gBACtB,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE9C,OAAO;oBACL,IAAI;oBACJ,UAAU,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC;oBACpC,UAAU;oBACV,IAAI;oBACJ,aAAa;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QAED,kBAAkB;QAClB,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,CAAC;YACb,UAAU;YACV,IAAI;YACJ,aAAa;SACd,CAAC;IACJ,CAAC,EACD,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAClC,CAAC;IAEF,0BAA0B;IAC1B,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAM,IAAY,EAAE,EAAwB,EAA8B,EAAE;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE7C,OAAO;YACL,GAAG,WAAW;YACd,MAAM;SACP,CAAC;IACJ,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,OAAO;QACP,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -44,30 +44,29 @@ import { useSPFxPageContext } from './useSPFxPageContext';
44
44
  * ```
45
45
  */
46
46
  export function useSPFxPermissions() {
47
- var _a, _b, _c;
48
- var pageContext = useSPFxPageContext();
47
+ const pageContext = useSPFxPageContext();
49
48
  // Extract permissions from pageContext
50
- var sitePermissions = (_a = pageContext.site) === null || _a === void 0 ? void 0 : _a.permissions;
51
- var webPermissions = (_b = pageContext.web) === null || _b === void 0 ? void 0 : _b.permissions;
52
- var listPermissions = (_c = pageContext.list) === null || _c === void 0 ? void 0 : _c.permissions;
49
+ const sitePermissions = pageContext.site?.permissions;
50
+ const webPermissions = pageContext.web?.permissions;
51
+ const listPermissions = pageContext.list?.permissions;
53
52
  // Helper to check permission
54
- var has = useCallback(function (perms, permission) {
53
+ const has = useCallback((perms, permission) => {
55
54
  if (!perms) {
56
55
  return false;
57
56
  }
58
57
  return perms.hasPermission(permission);
59
58
  }, []);
60
59
  // Specific helpers for each scope
61
- var hasWebPermission = useCallback(function (permission) { return has(webPermissions, permission); }, [has, webPermissions]);
62
- var hasSitePermission = useCallback(function (permission) { return has(sitePermissions, permission); }, [has, sitePermissions]);
63
- var hasListPermission = useCallback(function (permission) { return has(listPermissions, permission); }, [has, listPermissions]);
60
+ const hasWebPermission = useCallback((permission) => has(webPermissions, permission), [has, webPermissions]);
61
+ const hasSitePermission = useCallback((permission) => has(sitePermissions, permission), [has, sitePermissions]);
62
+ const hasListPermission = useCallback((permission) => has(listPermissions, permission), [has, listPermissions]);
64
63
  return {
65
- sitePermissions: sitePermissions,
66
- webPermissions: webPermissions,
67
- listPermissions: listPermissions,
68
- hasWebPermission: hasWebPermission,
69
- hasSitePermission: hasSitePermission,
70
- hasListPermission: hasListPermission,
64
+ sitePermissions,
65
+ webPermissions,
66
+ listPermissions,
67
+ hasWebPermission,
68
+ hasSitePermission,
69
+ hasListPermission,
71
70
  };
72
71
  }
73
72
  //# sourceMappingURL=useSPFxPermissions.js.map
@@ -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;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"}
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,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,uCAAuC;IACvC,MAAM,eAAe,GAAI,WAAW,CAAC,IAAkD,EAAE,WAAW,CAAC;IACrG,MAAM,cAAc,GAAI,WAAW,CAAC,GAAiD,EAAE,WAAW,CAAC;IACnG,MAAM,eAAe,GAAI,WAAW,CAAC,IAAkD,EAAE,WAAW,CAAC;IAErG,6BAA6B;IAC7B,MAAM,GAAG,GAAG,WAAW,CACrB,CAAC,KAA+B,EAAE,UAAwB,EAAW,EAAE;QACrE,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,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,UAAwB,EAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,EACtE,CAAC,GAAG,EAAE,cAAc,CAAC,CACtB,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,UAAwB,EAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,UAAwB,EAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,eAAe;QACf,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -1,41 +1,5 @@
1
1
  // useSPFxPnP.ts
2
2
  // Hook to access PnPjs with state management and batching support
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
3
  import { useState, useCallback } from 'react';
40
4
  import { useSPFxPnPContext } from './useSPFxPnPContext';
41
5
  /**
@@ -430,104 +394,83 @@ import { useSPFxPnPContext } from './useSPFxPnPContext';
430
394
  * @see {@link useSPFxPnPList} for specialized list operations
431
395
  */
432
396
  export function useSPFxPnP(pnpContext) {
433
- var _this = this;
434
397
  // If no context provided, create default for current site
435
- var defaultContext = useSPFxPnPContext();
436
- var contextToUse = pnpContext || defaultContext;
437
- var sp = contextToUse.sp, isInitialized = contextToUse.isInitialized, contextError = contextToUse.error, siteUrl = contextToUse.siteUrl;
398
+ const defaultContext = useSPFxPnPContext();
399
+ const contextToUse = pnpContext || defaultContext;
400
+ const { sp, isInitialized, error: contextError, siteUrl } = contextToUse;
438
401
  // Local state for invoke/batch operations
439
- var _a = useState(false), isLoading = _a[0], setIsLoading = _a[1];
440
- var _b = useState(), invokeError = _b[0], setInvokeError = _b[1];
402
+ const [isLoading, setIsLoading] = useState(false);
403
+ const [invokeError, setInvokeError] = useState();
441
404
  // Prioritized error: invoke/batch errors take precedence over context errors
442
- var error = invokeError || contextError;
405
+ const error = invokeError || contextError;
443
406
  /**
444
407
  * Execute single PnPjs operation with state management
445
408
  */
446
- var invoke = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
447
- var result, err_1, error_1;
448
- return __generator(this, function (_a) {
449
- switch (_a.label) {
450
- case 0:
451
- if (!sp) {
452
- throw new Error('SPFI instance not initialized. ' +
453
- 'Check isInitialized property or context error.');
454
- }
455
- setIsLoading(true);
456
- setInvokeError(undefined);
457
- _a.label = 1;
458
- case 1:
459
- _a.trys.push([1, 3, 4, 5]);
460
- return [4 /*yield*/, fn(sp)];
461
- case 2:
462
- result = _a.sent();
463
- return [2 /*return*/, result];
464
- case 3:
465
- err_1 = _a.sent();
466
- error_1 = err_1 instanceof Error ? err_1 : new Error(String(err_1));
467
- setInvokeError(error_1);
468
- throw error_1;
469
- case 4:
470
- setIsLoading(false);
471
- return [7 /*endfinally*/];
472
- case 5: return [2 /*return*/];
473
- }
474
- });
475
- }); }, [sp]);
409
+ const invoke = useCallback(async (fn) => {
410
+ if (!sp) {
411
+ throw new Error('SPFI instance not initialized. ' +
412
+ 'Check isInitialized property or context error.');
413
+ }
414
+ setIsLoading(true);
415
+ setInvokeError(undefined);
416
+ try {
417
+ const result = await fn(sp);
418
+ return result;
419
+ }
420
+ catch (err) {
421
+ const error = err instanceof Error ? err : new Error(String(err));
422
+ setInvokeError(error);
423
+ throw error;
424
+ }
425
+ finally {
426
+ setIsLoading(false);
427
+ }
428
+ }, [sp]);
476
429
  /**
477
430
  * Execute multiple PnPjs operations in a single batch
478
431
  */
479
- var batch = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
480
- var _a, batchedSP, execute, resultPromise, result, err_2, error_2;
481
- return __generator(this, function (_b) {
482
- switch (_b.label) {
483
- case 0:
484
- if (!sp) {
485
- throw new Error('SPFI instance not initialized. ' +
486
- 'Check isInitialized property or context error.');
487
- }
488
- setIsLoading(true);
489
- setInvokeError(undefined);
490
- _b.label = 1;
491
- case 1:
492
- _b.trys.push([1, 4, 5, 6]);
493
- _a = sp.batched(), batchedSP = _a[0], execute = _a[1];
494
- resultPromise = fn(batchedSP);
495
- // Execute batch automatically
496
- return [4 /*yield*/, execute()];
497
- case 2:
498
- // Execute batch automatically
499
- _b.sent();
500
- return [4 /*yield*/, resultPromise];
501
- case 3:
502
- result = _b.sent();
503
- return [2 /*return*/, result];
504
- case 4:
505
- err_2 = _b.sent();
506
- error_2 = err_2 instanceof Error ? err_2 : new Error(String(err_2));
507
- setInvokeError(error_2);
508
- throw error_2;
509
- case 5:
510
- setIsLoading(false);
511
- return [7 /*endfinally*/];
512
- case 6: return [2 /*return*/];
513
- }
514
- });
515
- }); }, [sp]);
432
+ const batch = useCallback(async (fn) => {
433
+ if (!sp) {
434
+ throw new Error('SPFI instance not initialized. ' +
435
+ 'Check isInitialized property or context error.');
436
+ }
437
+ setIsLoading(true);
438
+ setInvokeError(undefined);
439
+ try {
440
+ // Create batched instance
441
+ const [batchedSP, execute] = sp.batched();
442
+ // User builds operations
443
+ const resultPromise = fn(batchedSP);
444
+ // Execute batch automatically
445
+ await execute();
446
+ // Resolve results
447
+ const result = await resultPromise;
448
+ return result;
449
+ }
450
+ catch (err) {
451
+ const error = err instanceof Error ? err : new Error(String(err));
452
+ setInvokeError(error);
453
+ throw error;
454
+ }
455
+ finally {
456
+ setIsLoading(false);
457
+ }
458
+ }, [sp]);
516
459
  /**
517
460
  * Clear current error state
518
461
  */
519
- var clearError = useCallback(function () {
462
+ const clearError = useCallback(() => {
520
463
  setInvokeError(undefined);
521
464
  }, []);
522
465
  return {
523
- sp: sp,
524
- invoke: invoke,
525
- batch: batch,
526
- isLoading: isLoading,
527
- error: error,
528
- clearError: clearError,
529
- isInitialized: isInitialized,
530
- siteUrl: siteUrl,
466
+ sp,
467
+ invoke,
468
+ batch,
469
+ isLoading,
470
+ error,
471
+ clearError,
472
+ isInitialized,
473
+ siteUrl,
531
474
  };
532
475
  }
533
476
  //# sourceMappingURL=useSPFxPnP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSPFxPnP.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnP.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSPFxPnP.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnP.ts"],"names":[],"mappings":"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"}
@@ -249,24 +249,24 @@ import { useSPFxPageContext } from './useSPFxPageContext';
249
249
  * @see {@link useSPFxPnP} for general PnP operations wrapper
250
250
  */
251
251
  export function useSPFxPnPContext(siteUrl, config) {
252
- var spfxContext = useSPFxContext().spfxContext;
253
- var pageContext = useSPFxPageContext();
252
+ const { spfxContext } = useSPFxContext();
253
+ const pageContext = useSPFxPageContext();
254
254
  // State for error tracking
255
- var _a = useState(undefined), error = _a[0], setError = _a[1];
255
+ const [error, setError] = useState(undefined);
256
256
  // Resolve effective site URL
257
- var effectiveSiteUrl = useMemo(function () {
257
+ const effectiveSiteUrl = useMemo(() => {
258
258
  // If no siteUrl provided, use current site
259
259
  if (!siteUrl) {
260
260
  return pageContext.web.absoluteUrl;
261
261
  }
262
262
  // Normalize: remove trailing slash (ES5 compatible)
263
- var trimmed = siteUrl.charAt(siteUrl.length - 1) === '/'
263
+ const trimmed = siteUrl.charAt(siteUrl.length - 1) === '/'
264
264
  ? siteUrl.slice(0, -1)
265
265
  : siteUrl;
266
266
  // If relative URL, make it absolute (ES5 compatible)
267
267
  if (trimmed.charAt(0) === '/') {
268
- var origin_1 = new URL(pageContext.web.absoluteUrl).origin;
269
- return "".concat(origin_1).concat(trimmed);
268
+ const origin = new URL(pageContext.web.absoluteUrl).origin;
269
+ return `${origin}${trimmed}`;
270
270
  }
271
271
  // Already absolute
272
272
  return trimmed;
@@ -281,12 +281,9 @@ export function useSPFxPnPContext(siteUrl, config) {
281
281
  // there's a tiny overhead that's negligible compared to network/rendering costs.
282
282
  //
283
283
  // This approach prioritizes DX (works without memoization) over micro-optimization.
284
- var configKey = useMemo(function () {
285
- return JSON.stringify(config || {});
286
- }, [config]);
284
+ const configKey = useMemo(() => JSON.stringify(config || {}), [config]);
287
285
  // Create and configure SPFI instance
288
- var sp = useMemo(function () {
289
- var _a;
286
+ const sp = useMemo(() => {
290
287
  try {
291
288
  // Validate SPFx context availability
292
289
  if (!spfxContext) {
@@ -294,20 +291,20 @@ export function useSPFxPnPContext(siteUrl, config) {
294
291
  'Ensure your component is wrapped with SPFxProvider.');
295
292
  }
296
293
  // Initialize PnPjs with SPFx behavior for authentication
297
- var instance = spfi(effectiveSiteUrl).using(SPFx(spfxContext));
294
+ let instance = spfi(effectiveSiteUrl).using(SPFx(spfxContext));
298
295
  // Apply caching if enabled
299
- if ((_a = config === null || config === void 0 ? void 0 : config.cache) === null || _a === void 0 ? void 0 : _a.enabled) {
300
- var cacheOptions = {
296
+ if (config?.cache?.enabled) {
297
+ const cacheOptions = {
301
298
  store: config.cache.storage || 'session',
302
- keyFactory: config.cache.keyFactory || (function (url) {
299
+ keyFactory: config.cache.keyFactory || ((url) => {
303
300
  // Simple hash function for cache keys (ES5 compatible)
304
- var hash = 0;
305
- for (var i = 0; i < url.length; i++) {
306
- var char = url.charCodeAt(i);
301
+ let hash = 0;
302
+ for (let i = 0; i < url.length; i++) {
303
+ const char = url.charCodeAt(i);
307
304
  hash = ((hash << 5) - hash) + char;
308
305
  hash = hash & hash; // Convert to 32-bit integer
309
306
  }
310
- return "pnp-cache-".concat(Math.abs(hash));
307
+ return `pnp-cache-${Math.abs(hash)}`;
311
308
  }),
312
309
  timeout: config.cache.timeout || 300000 // 5 minutes default
313
310
  };
@@ -319,7 +316,7 @@ export function useSPFxPnPContext(siteUrl, config) {
319
316
  // instance = instance.using(Batching());
320
317
  // }
321
318
  // Apply custom headers if provided
322
- if (config === null || config === void 0 ? void 0 : config.headers) {
319
+ if (config?.headers) {
323
320
  instance = instance.using(InjectHeaders(config.headers));
324
321
  }
325
322
  // Clear any previous errors on successful initialization
@@ -328,16 +325,16 @@ export function useSPFxPnPContext(siteUrl, config) {
328
325
  }
329
326
  catch (err) {
330
327
  // Capture initialization error
331
- var error_1 = err instanceof Error ? err : new Error(String(err));
332
- setError(error_1);
328
+ const error = err instanceof Error ? err : new Error(String(err));
329
+ setError(error);
333
330
  // Return undefined on error
334
331
  return undefined;
335
332
  }
336
333
  }, [effectiveSiteUrl, spfxContext, configKey]);
337
334
  return {
338
- sp: sp,
335
+ sp,
339
336
  isInitialized: sp !== undefined,
340
- error: error,
337
+ error,
341
338
  siteUrl: effectiveSiteUrl
342
339
  };
343
340
  }
@@ -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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"}