@apvee/spfx-react-toolkit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2012 -0
  3. package/lib/core/atoms.internal.d.ts +53 -0
  4. package/lib/core/atoms.internal.d.ts.map +1 -0
  5. package/lib/core/atoms.internal.js +35 -0
  6. package/lib/core/atoms.internal.js.map +1 -0
  7. package/lib/core/context.internal.d.ts +23 -0
  8. package/lib/core/context.internal.d.ts.map +1 -0
  9. package/lib/core/context.internal.js +34 -0
  10. package/lib/core/context.internal.js.map +1 -0
  11. package/lib/core/index.d.ts +6 -0
  12. package/lib/core/index.d.ts.map +1 -0
  13. package/lib/core/index.js +6 -0
  14. package/lib/core/index.js.map +1 -0
  15. package/lib/core/provider-application-customizer.d.ts +57 -0
  16. package/lib/core/provider-application-customizer.d.ts.map +1 -0
  17. package/lib/core/provider-application-customizer.js +45 -0
  18. package/lib/core/provider-application-customizer.js.map +1 -0
  19. package/lib/core/provider-base.internal.d.ts +20 -0
  20. package/lib/core/provider-base.internal.d.ts.map +1 -0
  21. package/lib/core/provider-base.internal.js +126 -0
  22. package/lib/core/provider-base.internal.js.map +1 -0
  23. package/lib/core/provider-field-customizer.d.ts +58 -0
  24. package/lib/core/provider-field-customizer.d.ts.map +1 -0
  25. package/lib/core/provider-field-customizer.js +46 -0
  26. package/lib/core/provider-field-customizer.js.map +1 -0
  27. package/lib/core/provider-listview-commandset.d.ts +60 -0
  28. package/lib/core/provider-listview-commandset.d.ts.map +1 -0
  29. package/lib/core/provider-listview-commandset.js +48 -0
  30. package/lib/core/provider-listview-commandset.js.map +1 -0
  31. package/lib/core/provider-webpart.d.ts +48 -0
  32. package/lib/core/provider-webpart.d.ts.map +1 -0
  33. package/lib/core/provider-webpart.js +36 -0
  34. package/lib/core/provider-webpart.js.map +1 -0
  35. package/lib/core/types.d.ts +84 -0
  36. package/lib/core/types.d.ts.map +1 -0
  37. package/lib/core/types.js +4 -0
  38. package/lib/core/types.js.map +1 -0
  39. package/lib/hooks/index.d.ts +34 -0
  40. package/lib/hooks/index.d.ts.map +1 -0
  41. package/lib/hooks/index.js +34 -0
  42. package/lib/hooks/index.js.map +1 -0
  43. package/lib/hooks/useSPFxAadHttpClient.d.ts +231 -0
  44. package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -0
  45. package/lib/hooks/useSPFxAadHttpClient.js +299 -0
  46. package/lib/hooks/useSPFxAadHttpClient.js.map +1 -0
  47. package/lib/hooks/useSPFxContainerInfo.d.ts +41 -0
  48. package/lib/hooks/useSPFxContainerInfo.d.ts.map +1 -0
  49. package/lib/hooks/useSPFxContainerInfo.js +47 -0
  50. package/lib/hooks/useSPFxContainerInfo.js.map +1 -0
  51. package/lib/hooks/useSPFxContainerSize.d.ts +119 -0
  52. package/lib/hooks/useSPFxContainerSize.d.ts.map +1 -0
  53. package/lib/hooks/useSPFxContainerSize.js +150 -0
  54. package/lib/hooks/useSPFxContainerSize.js.map +1 -0
  55. package/lib/hooks/useSPFxContext.d.ts +14 -0
  56. package/lib/hooks/useSPFxContext.d.ts.map +1 -0
  57. package/lib/hooks/useSPFxContext.js +16 -0
  58. package/lib/hooks/useSPFxContext.js.map +1 -0
  59. package/lib/hooks/useSPFxCorrelationInfo.d.ts +51 -0
  60. package/lib/hooks/useSPFxCorrelationInfo.d.ts.map +1 -0
  61. package/lib/hooks/useSPFxCorrelationInfo.js +58 -0
  62. package/lib/hooks/useSPFxCorrelationInfo.js.map +1 -0
  63. package/lib/hooks/useSPFxCrossSitePermissions.d.ts +81 -0
  64. package/lib/hooks/useSPFxCrossSitePermissions.d.ts.map +1 -0
  65. package/lib/hooks/useSPFxCrossSitePermissions.js +132 -0
  66. package/lib/hooks/useSPFxCrossSitePermissions.js.map +1 -0
  67. package/lib/hooks/useSPFxDisplayMode.d.ts +61 -0
  68. package/lib/hooks/useSPFxDisplayMode.d.ts.map +1 -0
  69. package/lib/hooks/useSPFxDisplayMode.js +69 -0
  70. package/lib/hooks/useSPFxDisplayMode.js.map +1 -0
  71. package/lib/hooks/useSPFxEnvironmentInfo.d.ts +63 -0
  72. package/lib/hooks/useSPFxEnvironmentInfo.d.ts.map +1 -0
  73. package/lib/hooks/useSPFxEnvironmentInfo.js +91 -0
  74. package/lib/hooks/useSPFxEnvironmentInfo.js.map +1 -0
  75. package/lib/hooks/useSPFxFluent9ThemeInfo.d.ts +105 -0
  76. package/lib/hooks/useSPFxFluent9ThemeInfo.d.ts.map +1 -0
  77. package/lib/hooks/useSPFxFluent9ThemeInfo.js +136 -0
  78. package/lib/hooks/useSPFxFluent9ThemeInfo.js.map +1 -0
  79. package/lib/hooks/useSPFxHubSiteInfo.d.ts +80 -0
  80. package/lib/hooks/useSPFxHubSiteInfo.d.ts.map +1 -0
  81. package/lib/hooks/useSPFxHubSiteInfo.js +127 -0
  82. package/lib/hooks/useSPFxHubSiteInfo.js.map +1 -0
  83. package/lib/hooks/useSPFxInstanceInfo.d.ts +41 -0
  84. package/lib/hooks/useSPFxInstanceInfo.d.ts.map +1 -0
  85. package/lib/hooks/useSPFxInstanceInfo.js +40 -0
  86. package/lib/hooks/useSPFxInstanceInfo.js.map +1 -0
  87. package/lib/hooks/useSPFxListInfo.d.ts +64 -0
  88. package/lib/hooks/useSPFxListInfo.d.ts.map +1 -0
  89. package/lib/hooks/useSPFxListInfo.js +70 -0
  90. package/lib/hooks/useSPFxListInfo.js.map +1 -0
  91. package/lib/hooks/useSPFxLocaleInfo.d.ts +123 -0
  92. package/lib/hooks/useSPFxLocaleInfo.d.ts.map +1 -0
  93. package/lib/hooks/useSPFxLocaleInfo.js +109 -0
  94. package/lib/hooks/useSPFxLocaleInfo.js.map +1 -0
  95. package/lib/hooks/useSPFxLogger.d.ts +108 -0
  96. package/lib/hooks/useSPFxLogger.d.ts.map +1 -0
  97. package/lib/hooks/useSPFxLogger.js +117 -0
  98. package/lib/hooks/useSPFxLogger.js.map +1 -0
  99. package/lib/hooks/useSPFxMSGraphClient.d.ts +200 -0
  100. package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -0
  101. package/lib/hooks/useSPFxMSGraphClient.js +264 -0
  102. package/lib/hooks/useSPFxMSGraphClient.js.map +1 -0
  103. package/lib/hooks/useSPFxOneDriveAppData.d.ts +264 -0
  104. package/lib/hooks/useSPFxOneDriveAppData.d.ts.map +1 -0
  105. package/lib/hooks/useSPFxOneDriveAppData.js +395 -0
  106. package/lib/hooks/useSPFxOneDriveAppData.js.map +1 -0
  107. package/lib/hooks/useSPFxPageContext.d.ts +37 -0
  108. package/lib/hooks/useSPFxPageContext.d.ts.map +1 -0
  109. package/lib/hooks/useSPFxPageContext.js +49 -0
  110. package/lib/hooks/useSPFxPageContext.js.map +1 -0
  111. package/lib/hooks/useSPFxPageType.d.ts +82 -0
  112. package/lib/hooks/useSPFxPageType.d.ts.map +1 -0
  113. package/lib/hooks/useSPFxPageType.js +137 -0
  114. package/lib/hooks/useSPFxPageType.js.map +1 -0
  115. package/lib/hooks/useSPFxPerformance.d.ts +72 -0
  116. package/lib/hooks/useSPFxPerformance.d.ts.map +1 -0
  117. package/lib/hooks/useSPFxPerformance.js +167 -0
  118. package/lib/hooks/useSPFxPerformance.js.map +1 -0
  119. package/lib/hooks/useSPFxPermissions.d.ts +61 -0
  120. package/lib/hooks/useSPFxPermissions.d.ts.map +1 -0
  121. package/lib/hooks/useSPFxPermissions.js +73 -0
  122. package/lib/hooks/useSPFxPermissions.js.map +1 -0
  123. package/lib/hooks/useSPFxPnP.d.ts +539 -0
  124. package/lib/hooks/useSPFxPnP.d.ts.map +1 -0
  125. package/lib/hooks/useSPFxPnP.js +533 -0
  126. package/lib/hooks/useSPFxPnP.js.map +1 -0
  127. package/lib/hooks/useSPFxPnPContext.d.ts +290 -0
  128. package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -0
  129. package/lib/hooks/useSPFxPnPContext.js +340 -0
  130. package/lib/hooks/useSPFxPnPContext.js.map +1 -0
  131. package/lib/hooks/useSPFxPnPList.d.ts +545 -0
  132. package/lib/hooks/useSPFxPnPList.d.ts.map +1 -0
  133. package/lib/hooks/useSPFxPnPList.js +906 -0
  134. package/lib/hooks/useSPFxPnPList.js.map +1 -0
  135. package/lib/hooks/useSPFxPnPSearch.d.ts +540 -0
  136. package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -0
  137. package/lib/hooks/useSPFxPnPSearch.js +672 -0
  138. package/lib/hooks/useSPFxPnPSearch.js.map +1 -0
  139. package/lib/hooks/useSPFxProperties.d.ts +80 -0
  140. package/lib/hooks/useSPFxProperties.d.ts.map +1 -0
  141. package/lib/hooks/useSPFxProperties.js +95 -0
  142. package/lib/hooks/useSPFxProperties.js.map +1 -0
  143. package/lib/hooks/useSPFxSPHttpClient.d.ts +218 -0
  144. package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -0
  145. package/lib/hooks/useSPFxSPHttpClient.js +287 -0
  146. package/lib/hooks/useSPFxSPHttpClient.js.map +1 -0
  147. package/lib/hooks/useSPFxServiceScope.d.ts +107 -0
  148. package/lib/hooks/useSPFxServiceScope.d.ts.map +1 -0
  149. package/lib/hooks/useSPFxServiceScope.js +105 -0
  150. package/lib/hooks/useSPFxServiceScope.js.map +1 -0
  151. package/lib/hooks/useSPFxSiteInfo.d.ts +116 -0
  152. package/lib/hooks/useSPFxSiteInfo.d.ts.map +1 -0
  153. package/lib/hooks/useSPFxSiteInfo.js +109 -0
  154. package/lib/hooks/useSPFxSiteInfo.js.map +1 -0
  155. package/lib/hooks/useSPFxStorage.d.ts +81 -0
  156. package/lib/hooks/useSPFxStorage.d.ts.map +1 -0
  157. package/lib/hooks/useSPFxStorage.js +140 -0
  158. package/lib/hooks/useSPFxStorage.js.map +1 -0
  159. package/lib/hooks/useSPFxTeams.d.ts +63 -0
  160. package/lib/hooks/useSPFxTeams.d.ts.map +1 -0
  161. package/lib/hooks/useSPFxTeams.js +198 -0
  162. package/lib/hooks/useSPFxTeams.js.map +1 -0
  163. package/lib/hooks/useSPFxTenantProperty.d.ts +389 -0
  164. package/lib/hooks/useSPFxTenantProperty.d.ts.map +1 -0
  165. package/lib/hooks/useSPFxTenantProperty.js +683 -0
  166. package/lib/hooks/useSPFxTenantProperty.js.map +1 -0
  167. package/lib/hooks/useSPFxThemeInfo.d.ts +27 -0
  168. package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -0
  169. package/lib/hooks/useSPFxThemeInfo.js +33 -0
  170. package/lib/hooks/useSPFxThemeInfo.js.map +1 -0
  171. package/lib/hooks/useSPFxUserInfo.d.ts +47 -0
  172. package/lib/hooks/useSPFxUserInfo.d.ts.map +1 -0
  173. package/lib/hooks/useSPFxUserInfo.js +47 -0
  174. package/lib/hooks/useSPFxUserInfo.js.map +1 -0
  175. package/lib/hooks/useSPFxUserPhoto.d.ts +270 -0
  176. package/lib/hooks/useSPFxUserPhoto.d.ts.map +1 -0
  177. package/lib/hooks/useSPFxUserPhoto.js +346 -0
  178. package/lib/hooks/useSPFxUserPhoto.js.map +1 -0
  179. package/lib/index.d.ts +3 -0
  180. package/lib/index.d.ts.map +1 -0
  181. package/lib/index.js +3 -0
  182. package/lib/index.js.map +1 -0
  183. package/lib/utils/index.d.ts +1 -0
  184. package/lib/utils/index.d.ts.map +1 -0
  185. package/lib/utils/index.js +3 -0
  186. package/lib/utils/index.js.map +1 -0
  187. package/lib/utils/resize-observer.internal.d.ts +10 -0
  188. package/lib/utils/resize-observer.internal.d.ts.map +1 -0
  189. package/lib/utils/resize-observer.internal.js +34 -0
  190. package/lib/utils/resize-observer.internal.js.map +1 -0
  191. package/lib/utils/theme-subscription.internal.d.ts +11 -0
  192. package/lib/utils/theme-subscription.internal.d.ts.map +1 -0
  193. package/lib/utils/theme-subscription.internal.js +58 -0
  194. package/lib/utils/theme-subscription.internal.js.map +1 -0
  195. package/lib/utils/type-guards.internal.d.ts +35 -0
  196. package/lib/utils/type-guards.internal.d.ts.map +1 -0
  197. package/lib/utils/type-guards.internal.js +88 -0
  198. package/lib/utils/type-guards.internal.js.map +1 -0
  199. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.d.ts +13 -0
  200. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.d.ts.map +1 -0
  201. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js +67 -0
  202. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.js.map +1 -0
  203. package/lib/webparts/spFxReactToolkitTest/SpFxReactToolkitTestWebPart.manifest.json +21 -0
  204. package/lib/webparts/spFxReactToolkitTest/assets/welcome-dark.png +0 -0
  205. package/lib/webparts/spFxReactToolkitTest/assets/welcome-light.png +0 -0
  206. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.d.ts +8 -0
  207. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.d.ts.map +1 -0
  208. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.js +2 -0
  209. package/lib/webparts/spFxReactToolkitTest/components/ISpFxReactToolkitTestProps.js.map +1 -0
  210. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +8 -0
  211. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -0
  212. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +1351 -0
  213. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -0
  214. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.css +2 -0
  215. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.d.ts +18 -0
  216. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.d.ts.map +1 -0
  217. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js +19 -0
  218. package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.module.scss.js.map +1 -0
  219. package/lib/webparts/spFxReactToolkitTest/loc/en-us.js +16 -0
  220. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxPnPSearch.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPSearch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,6BAA6B;AAC7B,OAAO,gBAAgB,CAAC;AASxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQpD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG;IAC7B;;OAEG;IACH,GAAG,EAAE,SAAS;IAEd;;OAEG;IACH,MAAM,EAAE,sCAAsC;IAE9C;;OAEG;IACH,MAAM,EAAE,sCAAsC;IAE9C;;OAEG;IACH,KAAK,EAAE,sCAAsC;IAE7C;;OAEG;IACH,SAAS,EAAE,sCAAsC;IAEjD;;OAEG;IACH,aAAa,EAAE,sCAAsC;IAErD;;OAEG;IACH,KAAK,EAAE,sCAAsC;CACrC,CAAC;AAkSX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+NG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAiC,EACjC,UAA2B;IAF7B,iBA2WC;;IAvWC,kBAAkB;IAClB,IAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,CAAC;IAC/C,IAAA,EAAE,GAAK,OAAO,GAAZ,CAAa;IAEvB,kBAAkB;IAClB,IAAM,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,EAAE,CAAC;IAEhD,QAAQ;IACF,IAAA,KAAwB,QAAQ,CAAoB,EAAE,CAAC,EAAtD,OAAO,QAAA,EAAE,UAAU,QAAmC,CAAC;IACxD,IAAA,KAAkC,QAAQ,CAAC,CAAC,CAAC,EAA5C,YAAY,QAAA,EAAE,eAAe,QAAe,CAAC;IAC9C,IAAA,KAA0B,QAAQ,CAAkB,EAAE,CAAC,EAAtD,QAAQ,QAAA,EAAE,WAAW,QAAiC,CAAC;IACxD,IAAA,KAAwB,QAAQ,CAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IACxC,IAAA,KAAgC,QAAQ,CAAC,KAAK,CAAC,EAA9C,WAAW,QAAA,EAAE,cAAc,QAAmB,CAAC;IAChD,IAAA,KAAoB,QAAQ,CAAoB,SAAS,CAAC,EAAzD,KAAK,QAAA,EAAE,QAAQ,QAA0C,CAAC;IAC3D,IAAA,KAAwB,QAAQ,CAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IAE9C,sCAAsC;IAChC,IAAA,KAA0C,QAAQ,CAEtD,IAAI,CAAC,EAFA,gBAAgB,QAAA,EAAE,mBAAmB,QAErC,CAAC;IACF,IAAA,KAAoC,QAAQ,CAAgB,IAAI,CAAC,EAAhE,aAAa,QAAA,EAAE,gBAAgB,QAAiC,CAAC;IAClE,IAAA,KAAkC,QAAQ,CAAqB,SAAS,CAAC,EAAxE,YAAY,QAAA,EAAE,eAAe,QAA2C,CAAC;IAC1E,IAAA,KAAwC,QAAQ,CAAC,CAAC,CAAC,EAAlD,eAAe,QAAA,EAAE,kBAAkB,QAAe,CAAC;IACpD,IAAA,KAAwC,QAAQ,CAAwB,IAAI,GAAG,EAAE,CAAC,EAAjF,eAAe,QAAA,EAAE,kBAAkB,QAA8C,CAAC;IAEzF,OAAO;IACP,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,qBAAqB;IACrB,SAAS,CAAC;QACR,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,OAAO,SAAS,OAAO;YACrB,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sBAAsB;IACtB,IAAM,UAAU,GAAG,WAAW,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;OAGG;IACH,IAAM,aAAa,GAAG,WAAW,CAAC,UAChC,KAAoC,EACpC,YAAoC,EACpC,QAAiB,EACjB,aAAuB;;;;;;oBAEvB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,EAAE,CAAC;wBAC7B,GAAG,GAAG,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;wBAC5G,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;;;;oBAGO,QAAQ,GAAG,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,YAAY,mCAAI,eAAe,CAAC;oBACrE,GAAG,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,CAAC;oBAGtB,OAAO,SAAgB,CAAC;oBAE5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,oBAAoB;wBACpB,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACN,wBAAwB;wBACxB,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;wBAEjC,6CAA6C;wBAC7C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,KAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrE,OAAO,GAAG,OAAO,CAAC,gBAAgB,OAAxB,OAAO,EAAqB,OAAO,CAAC,gBAAgB,CAAC,CAAC;wBAClE,CAAC;wBACD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAC;4BACtB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC/C,CAAC;wBAED,+BAA+B;wBAC/B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;oBAED,mBAAmB;oBACnB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACZ,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC;oBAED,kCAAkC;oBAClC,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACvB,sBAA8B,EAAE,CAAC;wBACvC,eAAe,CAAC,OAAO,CAAC,UAAS,MAAM,EAAE,GAAG;4BAC1C,MAAM,CAAC,OAAO,CAAC,UAAS,KAAK;gCAC3B,mBAAiB,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;4BAC3D,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBAEH,IAAI,mBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjC,OAAO,GAAG,OAAO,CAAC,iBAAiB,OAAzB,OAAO,EAAsB,mBAAiB,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;oBAIqB,qBAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;oBAAxC,aAAa,GAAG,SAAwB;oBAIxC,UAAU,GAAG,MAAA,aAAa,CAAC,oBAAoB,mCAAI,EAAE,CAAC;oBACtD,SAAS,GAAG,MAAA,aAAa,CAAC,SAAS,mCAAI,CAAC,CAAC;oBAGzC,kBAAmC,UAAU,CAAC,GAAG,CAAC,UAAS,MAAqB;;wBACpF,6DAA6D;wBAC7D,iCAAiC;wBACjC,IAAM,EAAE,GAAG,MAAM,CAAC,MAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,IAAI,mCAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;wBAChE,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAEzE,OAAO;4BACL,EAAE,EAAE,EAAE;4BACN,IAAI,EAAE,MAAsB,EAAE,oCAAoC;4BAClE,GAAG,EAAE,MAAM,EAAmB,8BAA8B;4BAC5D,IAAI,EAAE,IAAI;yBACX,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAIG,cAAc,GAAG,MAAA,MAAA,MAAA,MAAA,aAAa,CAAC,gBAAgB,0CAAE,kBAAkB,0CAAE,iBAAiB,0CAAE,QAAQ,mCAAI,EAAE,CAAC;oBACvG,cAAc,GAAoB,cAAc,CAAC,GAAG,CAAC,UAAS,OAAiB;;wBACnF,OAAO;4BACL,IAAI,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE;4BACxB,OAAO,EAAE,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAS,KAAK;;gCACjD,OAAO;oCACL,KAAK,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;oCACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC;oCAC/C,KAAK,EAAE,MAAA,KAAK,CAAC,eAAe,mCAAI,EAAE;iCACnC,CAAC;4BACJ,CAAC,CAAC;yBACH,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,eAAe;oBACf,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxB,sBAAO,eAAa,EAAC;oBACvB,CAAC;oBAGK,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,eAAa,CAAC,MAAM,CAAC,CAAC,CAAC,eAAa,CAAC,MAAM,CAAC;oBAEtG,IAAI,aAAa,EAAE,CAAC;wBAClB,UAAU,CAAC,UAAS,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,eAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,eAAa,CAAC,CAAC;oBAC5B,CAAC;oBAED,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC3B,WAAW,CAAC,cAAc,CAAC,CAAC;oBAC5B,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;oBAEzC,sBAAO,eAAa,EAAC;;;oBAGf,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;;;;SAEf,EAAE,CAAC,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1G;;OAEG;IACH,IAAM,MAAM,GAAG,WAAW,CAAC,UACzB,KAAoC,EACpC,YAAoC;;;;;;oBAEpC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACpB,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBACtB,kBAAkB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,+BAA+B;;;;oBAG5D,mCAAmC;oBACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,gBAAgB,CAAC,KAAK,CAAC,CAAC;wBACxB,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,mBAAmB,CAAC,cAAa,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClD,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;oBAED,eAAe,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,eAAe,CAAC,CAAC;oBAErC,qBAAM,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,EAAA;;oBAAlE,aAAa,GAAG,SAAkD;oBAExE,sBAAO,aAAa,EAAC;;oBAGrB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC;;;;;SAEJ,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAErC;;OAEG;IACH,IAAM,OAAO,GAAG,WAAW,CAAC,UAAO,SAAiB;;;;;;oBAClD,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,EAAE,CAAC;wBAC7B,GAAG,GAAG,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;wBACzE,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;;;;oBAGgC,qBAAM,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,EAAA;;oBAA1D,MAAM,GAAmB,SAAiC;oBAChE,sBAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,EAAC;;;oBAEtB,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;;;;SAEf,EAAE,CAAC,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,CAAC,CAAC;IAEjC;;OAEG;IACH,IAAM,QAAQ,GAAG,WAAW,CAAC;;;;;oBAC3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;wBAClC,GAAG,GAAG,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;wBACvG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;oBAED,IAAI,CAAC,YAAY,EAAE,CAAC;wBACZ,GAAG,GAAG,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;wBAC1H,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;oBAED,cAAc,CAAC,IAAI,CAAC,CAAC;oBACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;oBAGZ,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;oBAE9C,KAAK,GAAG,gBAAgB;wBAC5B,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,aAAc,CAAC;oBAEG,qBAAM,aAAa,CACvC,KAAK,EACL,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC1B,YAAY,EACZ,IAAI,CAAC,iBAAiB;yBACvB,EAAA;;oBALK,aAAa,GAAG,SAKrB;oBAED,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBAEjC,sBAAO,aAAa,EAAC;;oBAGrB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,cAAc,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;;;;;SAEJ,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpF;;OAEG;IACH,IAAM,OAAO,GAAG,WAAW,CAAC;;;;;oBAC1B,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;wBAClC,GAAG,GAAG,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;wBAChG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;oBAED,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACpB,kBAAkB,CAAC,CAAC,CAAC,CAAC;;;;oBAGd,KAAK,GAAG,gBAAgB;wBAC5B,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,aAAc,CAAC;oBAEnB,qBAAM,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAA;;oBAAhE,SAAgE,CAAC;;;oBAGjE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC;;;;;SAEJ,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnE;;OAEG;IACH,IAAM,YAAY,GAAG,WAAW,CAAC,UAC/B,WAAmB,EACnB,YAAoB;;;;;oBAEpB,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;wBAClC,GAAG,GAAG,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;wBACzG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,MAAM,GAAG,CAAC;oBACZ,CAAC;oBAED,8BAA8B;oBAC9B,kBAAkB,CAAC,UAAS,IAAI;;wBAC9B,IAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;wBAC3C,IAAI,CAAC,OAAO,CAAC,UAAS,KAAK,EAAE,GAAG;4BAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;wBACzB,CAAC,CAAC,CAAC;wBAEH,IAAM,QAAQ,GAAG,MAAA,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,EAAE,CAAC;wBAE/C,mDAAmD;wBACnD,IAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAC7C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;4BACf,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACjC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;4BACzB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCACzB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;4BAC7B,CAAC;iCAAM,CAAC;gCACN,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC3D,CAAC;wBAED,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CAAC;oBAEH,sCAAsC;oBACtC,6DAA6D;oBAC7D,wDAAwD;oBACxD,4EAA4E;oBAC5E,qBAAM,OAAO,EAAE,EAAA;;oBAJf,sCAAsC;oBACtC,6DAA6D;oBAC7D,wDAAwD;oBACxD,4EAA4E;oBAC5E,SAAe,CAAC;;;;SAEjB,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Return type for useSPFxProperties hook
3
+ */
4
+ export interface SPFxPropertiesInfo<TProps = unknown> {
5
+ /** Current properties object */
6
+ readonly properties: TProps | undefined;
7
+ /**
8
+ * Update properties with partial updates (shallow merge)
9
+ * Changes are automatically synced back to SPFx by the Provider
10
+ */
11
+ readonly setProperties: (updates: Partial<TProps>) => void;
12
+ /**
13
+ * Update properties using updater function
14
+ * Useful for complex updates based on current state
15
+ * Changes are automatically synced back to SPFx by the Provider
16
+ */
17
+ readonly updateProperties: (updater: (current: TProps | undefined) => TProps) => void;
18
+ }
19
+ /**
20
+ * Hook to access and manage SPFx properties
21
+ *
22
+ * Properties are the configuration values for WebParts/Extensions that:
23
+ * - Are set via Property Pane
24
+ * - Persist across page loads
25
+ * - Are specific to each instance
26
+ *
27
+ * This hook provides:
28
+ * - Type-safe access to properties
29
+ * - Partial updates (merge with existing)
30
+ * - Updater function pattern (like React setState)
31
+ * - Automatic bidirectional sync with SPFx (managed by Provider)
32
+ *
33
+ * The SPFxProvider automatically handles synchronization:
34
+ * - Property Pane changes → Atom → Hook (automatic)
35
+ * - Hook updates → Atom → SPFx properties (automatic)
36
+ * - Property Pane refresh for WebParts (automatic)
37
+ *
38
+ * @returns Properties and setter functions
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * interface IMyWebPartProps {
43
+ * title: string;
44
+ * description: string;
45
+ * listId?: string;
46
+ * }
47
+ *
48
+ * function MyComponent() {
49
+ * const { properties, setProperties, updateProperties } = useSPFxProperties<IMyWebPartProps>();
50
+ *
51
+ * return (
52
+ * <div>
53
+ * <h1>{properties?.title ?? 'Default Title'}</h1>
54
+ * <p>{properties?.description}</p>
55
+ *
56
+ * <button onClick={() => setProperties({ title: 'New Title' })}>
57
+ * Update Title
58
+ * </button>
59
+ *
60
+ * <button onClick={() => updateProperties(prev => ({
61
+ * ...prev,
62
+ * title: (prev?.title ?? '') + ' Updated'
63
+ * }))}>
64
+ * Append to Title
65
+ * </button>
66
+ * </div>
67
+ * );
68
+ * }
69
+ *
70
+ * // In WebPart render():
71
+ * // Just pass the instance - sync is automatic!
72
+ * const element = React.createElement(
73
+ * SPFxProvider,
74
+ * { instance: this },
75
+ * React.createElement(MyComponent)
76
+ * );
77
+ * ```
78
+ */
79
+ export declare function useSPFxProperties<TProps = unknown>(): SPFxPropertiesInfo<TProps>;
80
+ //# sourceMappingURL=useSPFxProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxProperties.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxProperties.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM,GAAG,OAAO;IAClD,gCAAgC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,KAAK,IAAI,CAAC;CACvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAG,OAAO,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAyBhF"}
@@ -0,0 +1,95 @@
1
+ // useSPFxProperties.ts
2
+ // Hook to access and manage SPFx properties
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
+ import { useAtomValue, useSetAtom } from 'jotai';
15
+ import { spfxAtoms } from './../core/atoms.internal';
16
+ /**
17
+ * Hook to access and manage SPFx properties
18
+ *
19
+ * Properties are the configuration values for WebParts/Extensions that:
20
+ * - Are set via Property Pane
21
+ * - Persist across page loads
22
+ * - Are specific to each instance
23
+ *
24
+ * This hook provides:
25
+ * - Type-safe access to properties
26
+ * - Partial updates (merge with existing)
27
+ * - Updater function pattern (like React setState)
28
+ * - Automatic bidirectional sync with SPFx (managed by Provider)
29
+ *
30
+ * The SPFxProvider automatically handles synchronization:
31
+ * - Property Pane changes → Atom → Hook (automatic)
32
+ * - Hook updates → Atom → SPFx properties (automatic)
33
+ * - Property Pane refresh for WebParts (automatic)
34
+ *
35
+ * @returns Properties and setter functions
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * interface IMyWebPartProps {
40
+ * title: string;
41
+ * description: string;
42
+ * listId?: string;
43
+ * }
44
+ *
45
+ * function MyComponent() {
46
+ * const { properties, setProperties, updateProperties } = useSPFxProperties<IMyWebPartProps>();
47
+ *
48
+ * return (
49
+ * <div>
50
+ * <h1>{properties?.title ?? 'Default Title'}</h1>
51
+ * <p>{properties?.description}</p>
52
+ *
53
+ * <button onClick={() => setProperties({ title: 'New Title' })}>
54
+ * Update Title
55
+ * </button>
56
+ *
57
+ * <button onClick={() => updateProperties(prev => ({
58
+ * ...prev,
59
+ * title: (prev?.title ?? '') + ' Updated'
60
+ * }))}>
61
+ * Append to Title
62
+ * </button>
63
+ * </div>
64
+ * );
65
+ * }
66
+ *
67
+ * // In WebPart render():
68
+ * // Just pass the instance - sync is automatic!
69
+ * const element = React.createElement(
70
+ * SPFxProvider,
71
+ * { instance: this },
72
+ * React.createElement(MyComponent)
73
+ * );
74
+ * ```
75
+ */
76
+ export function useSPFxProperties() {
77
+ // Read current properties directly from atom (cast to generic type)
78
+ var properties = useAtomValue(spfxAtoms.properties);
79
+ // Get setter (stable reference from Jotai)
80
+ var setPropertiesAtom = useSetAtom(spfxAtoms.properties);
81
+ // Setter with partial merge (functional update for stable dependencies)
82
+ var setProperties = function (updates) {
83
+ setPropertiesAtom(function (prev) { return (__assign(__assign({}, (prev !== null && prev !== void 0 ? prev : {})), updates)); });
84
+ };
85
+ // Updater function pattern (like React setState)
86
+ var updateProperties = function (updater) {
87
+ setPropertiesAtom(function (prev) { return updater(prev); });
88
+ };
89
+ return {
90
+ properties: properties,
91
+ setProperties: setProperties,
92
+ updateProperties: updateProperties,
93
+ };
94
+ }
95
+ //# sourceMappingURL=useSPFxProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxProperties.js","sourceRoot":"","sources":["../../src/hooks/useSPFxProperties.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,4CAA4C;;;;;;;;;;;;AAE5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAuBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAM,UAAU,iBAAiB;IAC/B,oEAAoE;IACpE,IAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAuB,CAAC;IAE5E,2CAA2C;IAC3C,IAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3D,wEAAwE;IACxE,IAAM,aAAa,GAAG,UAAC,OAAwB;QAC7C,iBAAiB,CAAC,UAAC,IAAa,IAAK,OAAA,uBAChC,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAY,CAAC,GACtB,OAAO,EACV,EAHmC,CAGnC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,iDAAiD;IACjD,IAAM,gBAAgB,GAAG,UAAC,OAAgD;QACxE,iBAAiB,CAAC,UAAC,IAAa,IAAK,OAAA,OAAO,CAAC,IAA0B,CAAC,EAAnC,CAAmC,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEF,OAAO;QACL,UAAU,YAAA;QACV,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,218 @@
1
+ import type { SPHttpClient } from '@microsoft/sp-http';
2
+ /**
3
+ * Return type for useSPFxSPHttpClient hook
4
+ */
5
+ export interface SPFxSPHttpClientInfo {
6
+ /**
7
+ * Native SPHttpClient from SPFx.
8
+ * Provides access to SharePoint REST APIs with built-in authentication.
9
+ */
10
+ readonly client: SPHttpClient | undefined;
11
+ /**
12
+ * Invoke SharePoint REST API call with automatic state management.
13
+ * Tracks loading state and captures errors automatically.
14
+ *
15
+ * @param fn - Function that receives SPHttpClient and returns a promise
16
+ * @returns Promise with the result
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * const { invoke } = useSPFxSPHttpClient();
21
+ *
22
+ * const web = await invoke(client =>
23
+ * client.get(`${baseUrl}/_api/web`, SPHttpClient.configurations.v1)
24
+ * .then(res => res.json())
25
+ * );
26
+ * ```
27
+ */
28
+ readonly invoke: <T>(fn: (client: SPHttpClient) => Promise<T>) => Promise<T>;
29
+ /**
30
+ * Loading state - true during invoke() calls.
31
+ * Does not track direct client usage.
32
+ */
33
+ readonly isLoading: boolean;
34
+ /**
35
+ * Last error from invoke() calls.
36
+ * Does not capture errors from direct client usage.
37
+ */
38
+ readonly error: Error | undefined;
39
+ /** Clear the current error */
40
+ readonly clearError: () => void;
41
+ /** Set or change the base URL (for cross-site queries) */
42
+ readonly setBaseUrl: (url: string) => void;
43
+ /** Current base URL (site absolute URL) */
44
+ readonly baseUrl: string;
45
+ }
46
+ /**
47
+ * Hook to access SharePoint REST APIs with built-in state management
48
+ *
49
+ * Provides native SPHttpClient for authenticated SharePoint REST API access.
50
+ * Offers two usage patterns:
51
+ *
52
+ * 1. **invoke()** - Automatic state management (loading + error tracking)
53
+ * 2. **client** - Direct access for full control
54
+ *
55
+ * For type safety, import SPFx types:
56
+ * ```typescript
57
+ * import type { SPHttpClient } from '@microsoft/sp-http';
58
+ * ```
59
+ *
60
+ * Requirements:
61
+ * - SPHttpClient available in SPFx context
62
+ * - Appropriate SharePoint permissions for target APIs
63
+ *
64
+ * @param initialBaseUrl - Base URL for SharePoint site (optional, defaults to current site)
65
+ *
66
+ * @example Using invoke with state management
67
+ * ```tsx
68
+ * function WebInfo() {
69
+ * const { invoke, isLoading, error, clearError, baseUrl } = useSPFxSPHttpClient();
70
+ * const [webTitle, setWebTitle] = useState<string>('');
71
+ *
72
+ * const loadWeb = () => {
73
+ * invoke(client =>
74
+ * client.get(
75
+ * `${baseUrl}/_api/web?$select=Title`,
76
+ * SPHttpClient.configurations.v1
77
+ * ).then(res => res.json())
78
+ * ).then(web => setWebTitle(web.Title));
79
+ * };
80
+ *
81
+ * useEffect(() => { loadWeb(); }, []);
82
+ *
83
+ * if (isLoading) return <Spinner />;
84
+ * if (error) return (
85
+ * <MessageBar messageBarType={MessageBarType.error}>
86
+ * {error.message}
87
+ * <Link onClick={() => { clearError(); loadWeb(); }}>Retry</Link>
88
+ * </MessageBar>
89
+ * );
90
+ *
91
+ * return <h1>{webTitle}</h1>;
92
+ * }
93
+ * ```
94
+ *
95
+ * @example Using client directly for advanced control
96
+ * ```tsx
97
+ * import type { SPHttpClient } from '@microsoft/sp-http';
98
+ *
99
+ * function ListItems() {
100
+ * const { client, baseUrl } = useSPFxSPHttpClient();
101
+ * const [items, setItems] = useState([]);
102
+ * const [loading, setLoading] = useState(false);
103
+ *
104
+ * if (!client) return <Spinner label="Initializing HTTP client..." />;
105
+ *
106
+ * const loadItems = async () => {
107
+ * setLoading(true);
108
+ * try {
109
+ * const response = await client.get(
110
+ * `${baseUrl}/_api/web/lists/getbytitle('Tasks')/items`,
111
+ * SPHttpClient.configurations.v1
112
+ * );
113
+ * const data = await response.json();
114
+ * setItems(data.value);
115
+ * } catch (err) {
116
+ * console.error(err);
117
+ * } finally {
118
+ * setLoading(false);
119
+ * }
120
+ * };
121
+ *
122
+ * return (
123
+ * <>
124
+ * <button onClick={loadItems} disabled={loading}>Load</button>
125
+ * {loading && <Spinner />}
126
+ * <DetailsList items={items} />
127
+ * </>
128
+ * );
129
+ * }
130
+ * ```
131
+ *
132
+ * @example CRUD operations with invoke
133
+ * ```tsx
134
+ * function TasksManager() {
135
+ * const { invoke, isLoading, error, baseUrl } = useSPFxSPHttpClient();
136
+ * const [tasks, setTasks] = useState([]);
137
+ *
138
+ * const loadTasks = () => {
139
+ * invoke(client =>
140
+ * client.get(
141
+ * `${baseUrl}/_api/web/lists/getbytitle('Tasks')/items`,
142
+ * SPHttpClient.configurations.v1
143
+ * ).then(res => res.json())
144
+ * ).then(data => setTasks(data.value));
145
+ * };
146
+ *
147
+ * const createTask = (title: string) => {
148
+ * invoke(client =>
149
+ * client.post(
150
+ * `${baseUrl}/_api/web/lists/getbytitle('Tasks')/items`,
151
+ * SPHttpClient.configurations.v1,
152
+ * { body: JSON.stringify({ Title: title }) }
153
+ * ).then(res => res.json())
154
+ * ).then(loadTasks);
155
+ * };
156
+ *
157
+ * const updateTask = (id: number, changes: any) => {
158
+ * invoke(client =>
159
+ * client.post(
160
+ * `${baseUrl}/_api/web/lists/getbytitle('Tasks')/items(${id})`,
161
+ * SPHttpClient.configurations.v1,
162
+ * {
163
+ * headers: { 'IF-MATCH': '*', 'X-HTTP-Method': 'MERGE' },
164
+ * body: JSON.stringify(changes)
165
+ * }
166
+ * )
167
+ * ).then(loadTasks);
168
+ * };
169
+ *
170
+ * const deleteTask = (id: number) => {
171
+ * invoke(client =>
172
+ * client.post(
173
+ * `${baseUrl}/_api/web/lists/getbytitle('Tasks')/items(${id})`,
174
+ * SPHttpClient.configurations.v1,
175
+ * {
176
+ * headers: { 'IF-MATCH': '*', 'X-HTTP-Method': 'DELETE' }
177
+ * }
178
+ * )
179
+ * ).then(loadTasks);
180
+ * };
181
+ *
182
+ * return (
183
+ * <TasksUI
184
+ * tasks={tasks}
185
+ * loading={isLoading}
186
+ * error={error}
187
+ * onCreate={createTask}
188
+ * onUpdate={updateTask}
189
+ * onDelete={deleteTask}
190
+ * />
191
+ * );
192
+ * }
193
+ * ```
194
+ *
195
+ * @example Cross-site queries
196
+ * ```tsx
197
+ * function MultiSiteData() {
198
+ * const { invoke, setBaseUrl, baseUrl } = useSPFxSPHttpClient(
199
+ * 'https://contoso.sharepoint.com/sites/hr'
200
+ * );
201
+ *
202
+ * const switchToFinance = () => {
203
+ * setBaseUrl('https://contoso.sharepoint.com/sites/finance');
204
+ * };
205
+ *
206
+ * const loadLists = () => {
207
+ * invoke(client =>
208
+ * client.get(
209
+ * `${baseUrl}/_api/web/lists`,
210
+ * SPHttpClient.configurations.v1
211
+ * ).then(res => res.json())
212
+ * ).then(data => console.log(data.value));
213
+ * };
214
+ * }
215
+ * ```
216
+ */
217
+ export declare function useSPFxSPHttpClient(initialBaseUrl?: string): SPFxSPHttpClientInfo;
218
+ //# sourceMappingURL=useSPFxSPHttpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSPFxSPHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxSPHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAE1C;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E;;;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;IAEhC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0KG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAiFjF"}