@fluid-app/rep-core 0.1.13 → 0.1.15

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 (311) hide show
  1. package/dist/chunk-CKQMccvm.cjs +28 -0
  2. package/dist/data-sources/DataAwareWidget.cjs +47 -56
  3. package/dist/data-sources/DataAwareWidget.cjs.map +1 -1
  4. package/dist/data-sources/DataAwareWidget.d.cts +27 -19
  5. package/dist/data-sources/DataAwareWidget.d.cts.map +1 -0
  6. package/dist/data-sources/DataAwareWidget.d.mts +38 -0
  7. package/dist/data-sources/DataAwareWidget.d.mts.map +1 -0
  8. package/dist/data-sources/DataAwareWidget.mjs +48 -0
  9. package/dist/data-sources/DataAwareWidget.mjs.map +1 -0
  10. package/dist/data-sources/ErrorState.cjs +18 -10
  11. package/dist/data-sources/ErrorState.cjs.map +1 -1
  12. package/dist/data-sources/ErrorState.d.cts +5 -3
  13. package/dist/data-sources/ErrorState.d.cts.map +1 -0
  14. package/dist/data-sources/ErrorState.d.mts +7 -0
  15. package/dist/data-sources/ErrorState.d.mts.map +1 -0
  16. package/dist/data-sources/ErrorState.mjs +18 -0
  17. package/dist/data-sources/ErrorState.mjs.map +1 -0
  18. package/dist/data-sources/context.cjs +22 -14
  19. package/dist/data-sources/context.cjs.map +1 -1
  20. package/dist/data-sources/context.d.cts +16 -10
  21. package/dist/data-sources/context.d.cts.map +1 -0
  22. package/dist/data-sources/context.d.mts +22 -0
  23. package/dist/data-sources/context.d.mts.map +1 -0
  24. package/dist/data-sources/context.mjs +21 -0
  25. package/dist/data-sources/context.mjs.map +1 -0
  26. package/dist/data-sources/fetchers/api.cjs +63 -10
  27. package/dist/data-sources/fetchers/api.cjs.map +1 -1
  28. package/dist/data-sources/fetchers/api.d.cts +4 -2
  29. package/dist/data-sources/fetchers/api.d.cts.map +1 -0
  30. package/dist/data-sources/fetchers/api.d.mts +10 -0
  31. package/dist/data-sources/fetchers/api.d.mts.map +1 -0
  32. package/dist/data-sources/fetchers/api.mjs +64 -0
  33. package/dist/data-sources/fetchers/api.mjs.map +1 -0
  34. package/dist/data-sources/fetchers/custom.cjs +106 -10
  35. package/dist/data-sources/fetchers/custom.cjs.map +1 -1
  36. package/dist/data-sources/fetchers/custom.d.cts +4 -2
  37. package/dist/data-sources/fetchers/custom.d.cts.map +1 -0
  38. package/dist/data-sources/fetchers/{custom.d.ts → custom.d.mts} +4 -2
  39. package/dist/data-sources/fetchers/custom.d.mts.map +1 -0
  40. package/dist/data-sources/fetchers/custom.mjs +107 -0
  41. package/dist/data-sources/fetchers/custom.mjs.map +1 -0
  42. package/dist/data-sources/fetchers/static.cjs +159 -14
  43. package/dist/data-sources/fetchers/static.cjs.map +1 -1
  44. package/dist/data-sources/fetchers/static.d.cts +12 -10
  45. package/dist/data-sources/fetchers/static.d.cts.map +1 -0
  46. package/dist/data-sources/fetchers/{static.d.ts → static.d.mts} +12 -10
  47. package/dist/data-sources/fetchers/static.d.mts.map +1 -0
  48. package/dist/data-sources/fetchers/static.mjs +158 -0
  49. package/dist/data-sources/fetchers/static.mjs.map +1 -0
  50. package/dist/data-sources/preview-context.cjs +15 -15
  51. package/dist/data-sources/preview-context.cjs.map +1 -1
  52. package/dist/data-sources/preview-context.d.cts +10 -6
  53. package/dist/data-sources/preview-context.d.cts.map +1 -0
  54. package/dist/data-sources/preview-context.d.mts +15 -0
  55. package/dist/data-sources/preview-context.d.mts.map +1 -0
  56. package/dist/data-sources/preview-context.mjs +18 -0
  57. package/dist/data-sources/preview-context.mjs.map +1 -0
  58. package/dist/data-sources/registry-context.cjs +51 -24
  59. package/dist/data-sources/registry-context.cjs.map +1 -1
  60. package/dist/data-sources/registry-context.d.cts +30 -22
  61. package/dist/data-sources/registry-context.d.cts.map +1 -0
  62. package/dist/data-sources/registry-context.d.mts +49 -0
  63. package/dist/data-sources/registry-context.d.mts.map +1 -0
  64. package/dist/data-sources/registry-context.mjs +49 -0
  65. package/dist/data-sources/registry-context.mjs.map +1 -0
  66. package/dist/data-sources/registry.cjs +29 -18
  67. package/dist/data-sources/registry.cjs.map +1 -1
  68. package/dist/data-sources/registry.d.cts +9 -7
  69. package/dist/data-sources/registry.d.cts.map +1 -0
  70. package/dist/data-sources/registry.d.mts +19 -0
  71. package/dist/data-sources/registry.d.mts.map +1 -0
  72. package/dist/data-sources/registry.mjs +29 -0
  73. package/dist/data-sources/registry.mjs.map +1 -0
  74. package/dist/data-sources/transformers.cjs +152 -10
  75. package/dist/data-sources/transformers.cjs.map +1 -1
  76. package/dist/data-sources/transformers.d.cts +4 -17
  77. package/dist/data-sources/transformers.d.cts.map +1 -0
  78. package/dist/data-sources/transformers.d.mts +10 -0
  79. package/dist/data-sources/transformers.d.mts.map +1 -0
  80. package/dist/data-sources/transformers.mjs +153 -0
  81. package/dist/data-sources/transformers.mjs.map +1 -0
  82. package/dist/data-sources/types.cjs +0 -4
  83. package/dist/data-sources/types.d.cts +2 -157
  84. package/dist/data-sources/types.d.mts +2 -0
  85. package/dist/data-sources/types.mjs +1 -0
  86. package/dist/data-sources/use-widget-data.cjs +109 -17
  87. package/dist/data-sources/use-widget-data.cjs.map +1 -1
  88. package/dist/data-sources/use-widget-data.d.cts +9 -8
  89. package/dist/data-sources/use-widget-data.d.cts.map +1 -0
  90. package/dist/data-sources/use-widget-data.d.mts +17 -0
  91. package/dist/data-sources/use-widget-data.d.mts.map +1 -0
  92. package/dist/data-sources/use-widget-data.mjs +109 -0
  93. package/dist/data-sources/use-widget-data.mjs.map +1 -0
  94. package/dist/index-Bxe_LIi8.d.cts +287 -0
  95. package/dist/index-Bxe_LIi8.d.cts.map +1 -0
  96. package/dist/index-CCAu2n19.d.mts +287 -0
  97. package/dist/index-CCAu2n19.d.mts.map +1 -0
  98. package/dist/registries/index.cjs +212 -127
  99. package/dist/registries/index.cjs.map +1 -1
  100. package/dist/registries/index.d.cts +146 -149
  101. package/dist/registries/index.d.cts.map +1 -0
  102. package/dist/registries/{index.d.ts → index.d.mts} +146 -149
  103. package/dist/registries/index.d.mts.map +1 -0
  104. package/dist/registries/index.mjs +229 -0
  105. package/dist/registries/index.mjs.map +1 -0
  106. package/dist/shell/AppShellLayout.cjs +47 -12
  107. package/dist/shell/AppShellLayout.cjs.map +1 -1
  108. package/dist/shell/AppShellLayout.d.cts +29 -19
  109. package/dist/shell/AppShellLayout.d.cts.map +1 -0
  110. package/dist/shell/AppShellLayout.d.mts +40 -0
  111. package/dist/shell/AppShellLayout.d.mts.map +1 -0
  112. package/dist/shell/AppShellLayout.mjs +46 -0
  113. package/dist/{chunk-45BCVWQK.cjs.map → shell/AppShellLayout.mjs.map} +1 -1
  114. package/dist/shell/ScreenHeader.cjs +44 -0
  115. package/dist/shell/ScreenHeader.cjs.map +1 -0
  116. package/dist/shell/ScreenHeader.d.cts +12 -0
  117. package/dist/shell/ScreenHeader.d.cts.map +1 -0
  118. package/dist/shell/ScreenHeader.d.mts +12 -0
  119. package/dist/shell/ScreenHeader.d.mts.map +1 -0
  120. package/dist/shell/ScreenHeader.mjs +42 -0
  121. package/dist/shell/ScreenHeader.mjs.map +1 -0
  122. package/dist/shell/ScreenHeaderContext.cjs +91 -0
  123. package/dist/shell/ScreenHeaderContext.cjs.map +1 -0
  124. package/dist/shell/ScreenHeaderContext.d.cts +36 -0
  125. package/dist/shell/ScreenHeaderContext.d.cts.map +1 -0
  126. package/dist/shell/ScreenHeaderContext.d.mts +36 -0
  127. package/dist/shell/ScreenHeaderContext.d.mts.map +1 -0
  128. package/dist/shell/ScreenHeaderContext.mjs +86 -0
  129. package/dist/shell/ScreenHeaderContext.mjs.map +1 -0
  130. package/dist/shell/ThemeModeContext.cjs +68 -18
  131. package/dist/shell/ThemeModeContext.cjs.map +1 -1
  132. package/dist/shell/ThemeModeContext.d.cts +23 -16
  133. package/dist/shell/ThemeModeContext.d.cts.map +1 -0
  134. package/dist/shell/ThemeModeContext.d.mts +34 -0
  135. package/dist/shell/ThemeModeContext.d.mts.map +1 -0
  136. package/dist/shell/ThemeModeContext.mjs +66 -0
  137. package/dist/shell/ThemeModeContext.mjs.map +1 -0
  138. package/dist/shell/index.cjs +43 -205
  139. package/dist/shell/index.d.cts +7 -43
  140. package/dist/shell/index.d.mts +7 -0
  141. package/dist/shell/index.mjs +7 -0
  142. package/dist/shell/sidebar.cjs +372 -87
  143. package/dist/shell/sidebar.cjs.map +1 -1
  144. package/dist/shell/sidebar.d.cts +38 -36
  145. package/dist/shell/sidebar.d.cts.map +1 -0
  146. package/dist/shell/{sidebar.d.ts → sidebar.d.mts} +38 -36
  147. package/dist/shell/sidebar.d.mts.map +1 -0
  148. package/dist/shell/sidebar.mjs +364 -0
  149. package/dist/{chunk-PFDBULOI.cjs.map → shell/sidebar.mjs.map} +1 -1
  150. package/dist/shell/use-mobile.cjs +49 -18
  151. package/dist/shell/use-mobile.cjs.map +1 -1
  152. package/dist/shell/use-mobile.d.cts +3 -1
  153. package/dist/shell/use-mobile.d.cts.map +1 -0
  154. package/dist/shell/{use-mobile.d.ts → use-mobile.d.mts} +3 -1
  155. package/dist/shell/use-mobile.d.mts.map +1 -0
  156. package/dist/shell/use-mobile.mjs +47 -0
  157. package/dist/shell/use-mobile.mjs.map +1 -0
  158. package/dist/theme/index.cjs +662 -549
  159. package/dist/theme/index.cjs.map +1 -1
  160. package/dist/theme/index.d.cts +32 -32
  161. package/dist/theme/index.d.cts.map +1 -0
  162. package/dist/theme/{index.d.ts → index.d.mts} +32 -32
  163. package/dist/theme/index.d.mts.map +1 -0
  164. package/dist/theme/index.mjs +727 -0
  165. package/dist/theme/index.mjs.map +1 -0
  166. package/dist/types/index.cjs +18 -72
  167. package/dist/types/index.d.cts +4 -268
  168. package/dist/types/index.d.mts +4 -0
  169. package/dist/types/index.mjs +2 -0
  170. package/dist/types-BIXtQlHB.d.cts +155 -0
  171. package/dist/types-BIXtQlHB.d.cts.map +1 -0
  172. package/dist/types-BXFX9bXp.cjs +303 -0
  173. package/dist/types-BXFX9bXp.cjs.map +1 -0
  174. package/dist/types-Bjmd7Fdx.mjs +208 -0
  175. package/dist/types-Bjmd7Fdx.mjs.map +1 -0
  176. package/dist/types-ByG6Xy3C.d.mts +85 -0
  177. package/dist/types-ByG6Xy3C.d.mts.map +1 -0
  178. package/dist/types-C5OFJy-O.d.mts +155 -0
  179. package/dist/types-C5OFJy-O.d.mts.map +1 -0
  180. package/dist/types-Ctu-Zio6.d.cts +85 -0
  181. package/dist/types-Ctu-Zio6.d.cts.map +1 -0
  182. package/dist/{widget-schema-D-ca3--K.d.ts → widget-schema--PY1uMWx.d.cts} +38 -41
  183. package/dist/widget-schema--PY1uMWx.d.cts.map +1 -0
  184. package/dist/{widget-schema-DvJdg1-B.d.cts → widget-schema-YkD5p3v4.d.mts} +38 -41
  185. package/dist/widget-schema-YkD5p3v4.d.mts.map +1 -0
  186. package/dist/widget-utils/index.cjs +96 -89
  187. package/dist/widget-utils/index.cjs.map +1 -1
  188. package/dist/widget-utils/index.d.cts +8 -6
  189. package/dist/widget-utils/index.d.cts.map +1 -0
  190. package/dist/widget-utils/{index.d.ts → index.d.mts} +8 -6
  191. package/dist/widget-utils/index.d.mts.map +1 -0
  192. package/dist/widget-utils/index.mjs +119 -0
  193. package/dist/widget-utils/index.mjs.map +1 -0
  194. package/package.json +4 -4
  195. package/dist/chunk-2SPTFZRC.js +0 -72
  196. package/dist/chunk-2SPTFZRC.js.map +0 -1
  197. package/dist/chunk-3I5Y3PEO.js +0 -23
  198. package/dist/chunk-3I5Y3PEO.js.map +0 -1
  199. package/dist/chunk-3ZRE7GX6.js +0 -620
  200. package/dist/chunk-3ZRE7GX6.js.map +0 -1
  201. package/dist/chunk-45BCVWQK.cjs +0 -38
  202. package/dist/chunk-46PUWB7C.cjs +0 -69
  203. package/dist/chunk-46PUWB7C.cjs.map +0 -1
  204. package/dist/chunk-5NYM4UTW.cjs +0 -58
  205. package/dist/chunk-5NYM4UTW.cjs.map +0 -1
  206. package/dist/chunk-B2NTWEDF.cjs +0 -130
  207. package/dist/chunk-B2NTWEDF.cjs.map +0 -1
  208. package/dist/chunk-GDY76JA6.cjs +0 -153
  209. package/dist/chunk-GDY76JA6.cjs.map +0 -1
  210. package/dist/chunk-HGVSPZEL.cjs +0 -119
  211. package/dist/chunk-HGVSPZEL.cjs.map +0 -1
  212. package/dist/chunk-HIDJYVKJ.js +0 -54
  213. package/dist/chunk-HIDJYVKJ.js.map +0 -1
  214. package/dist/chunk-KTXGU7OP.cjs +0 -136
  215. package/dist/chunk-KTXGU7OP.cjs.map +0 -1
  216. package/dist/chunk-KW5E2H5T.js +0 -128
  217. package/dist/chunk-KW5E2H5T.js.map +0 -1
  218. package/dist/chunk-LBLHDGMT.js +0 -25
  219. package/dist/chunk-LBLHDGMT.js.map +0 -1
  220. package/dist/chunk-MNVDL4FX.js +0 -134
  221. package/dist/chunk-MNVDL4FX.js.map +0 -1
  222. package/dist/chunk-MOTOSPAO.cjs +0 -15
  223. package/dist/chunk-MOTOSPAO.cjs.map +0 -1
  224. package/dist/chunk-N2K6W7FX.cjs +0 -169
  225. package/dist/chunk-N2K6W7FX.cjs.map +0 -1
  226. package/dist/chunk-PFDBULOI.cjs +0 -665
  227. package/dist/chunk-PVTQWD4I.js +0 -166
  228. package/dist/chunk-PVTQWD4I.js.map +0 -1
  229. package/dist/chunk-SJQPHJL4.cjs +0 -26
  230. package/dist/chunk-SJQPHJL4.cjs.map +0 -1
  231. package/dist/chunk-TML66UEU.js +0 -13
  232. package/dist/chunk-TML66UEU.js.map +0 -1
  233. package/dist/chunk-U3CQLX2Z.cjs +0 -28
  234. package/dist/chunk-U3CQLX2Z.cjs.map +0 -1
  235. package/dist/chunk-UUNEVOA5.js +0 -36
  236. package/dist/chunk-UUNEVOA5.js.map +0 -1
  237. package/dist/chunk-VRF7QEID.js +0 -67
  238. package/dist/chunk-VRF7QEID.js.map +0 -1
  239. package/dist/chunk-VSZWXSQA.js +0 -38
  240. package/dist/chunk-VSZWXSQA.js.map +0 -1
  241. package/dist/chunk-WYOHFNNW.js +0 -117
  242. package/dist/chunk-WYOHFNNW.js.map +0 -1
  243. package/dist/chunk-YKF5ZFF5.js +0 -136
  244. package/dist/chunk-YKF5ZFF5.js.map +0 -1
  245. package/dist/chunk-YXJMBVXO.cjs +0 -76
  246. package/dist/chunk-YXJMBVXO.cjs.map +0 -1
  247. package/dist/chunk-ZA4AE7KF.cjs +0 -42
  248. package/dist/chunk-ZA4AE7KF.cjs.map +0 -1
  249. package/dist/data-sources/DataAwareWidget.d.ts +0 -30
  250. package/dist/data-sources/DataAwareWidget.js +0 -57
  251. package/dist/data-sources/DataAwareWidget.js.map +0 -1
  252. package/dist/data-sources/ErrorState.d.ts +0 -5
  253. package/dist/data-sources/ErrorState.js +0 -3
  254. package/dist/data-sources/ErrorState.js.map +0 -1
  255. package/dist/data-sources/context.d.ts +0 -16
  256. package/dist/data-sources/context.js +0 -3
  257. package/dist/data-sources/context.js.map +0 -1
  258. package/dist/data-sources/fetchers/api.d.ts +0 -8
  259. package/dist/data-sources/fetchers/api.js +0 -3
  260. package/dist/data-sources/fetchers/api.js.map +0 -1
  261. package/dist/data-sources/fetchers/custom.js +0 -3
  262. package/dist/data-sources/fetchers/custom.js.map +0 -1
  263. package/dist/data-sources/fetchers/static.js +0 -3
  264. package/dist/data-sources/fetchers/static.js.map +0 -1
  265. package/dist/data-sources/preview-context.d.ts +0 -11
  266. package/dist/data-sources/preview-context.js +0 -18
  267. package/dist/data-sources/preview-context.js.map +0 -1
  268. package/dist/data-sources/registry-context.d.ts +0 -41
  269. package/dist/data-sources/registry-context.js +0 -9
  270. package/dist/data-sources/registry-context.js.map +0 -1
  271. package/dist/data-sources/registry.d.ts +0 -17
  272. package/dist/data-sources/registry.js +0 -7
  273. package/dist/data-sources/registry.js.map +0 -1
  274. package/dist/data-sources/transformers.d.ts +0 -23
  275. package/dist/data-sources/transformers.js +0 -3
  276. package/dist/data-sources/transformers.js.map +0 -1
  277. package/dist/data-sources/types.cjs.map +0 -1
  278. package/dist/data-sources/types.d.ts +0 -157
  279. package/dist/data-sources/types.js +0 -3
  280. package/dist/data-sources/types.js.map +0 -1
  281. package/dist/data-sources/use-widget-data.d.ts +0 -16
  282. package/dist/data-sources/use-widget-data.js +0 -10
  283. package/dist/data-sources/use-widget-data.js.map +0 -1
  284. package/dist/registries/index.js +0 -144
  285. package/dist/registries/index.js.map +0 -1
  286. package/dist/shareable-item-DkgWpwoU.d.cts +0 -21
  287. package/dist/shareable-item-DkgWpwoU.d.ts +0 -21
  288. package/dist/shell/AppShellLayout.d.ts +0 -30
  289. package/dist/shell/AppShellLayout.js +0 -5
  290. package/dist/shell/AppShellLayout.js.map +0 -1
  291. package/dist/shell/ThemeModeContext.d.ts +0 -27
  292. package/dist/shell/ThemeModeContext.js +0 -3
  293. package/dist/shell/ThemeModeContext.js.map +0 -1
  294. package/dist/shell/index.cjs.map +0 -1
  295. package/dist/shell/index.d.ts +0 -43
  296. package/dist/shell/index.js +0 -76
  297. package/dist/shell/index.js.map +0 -1
  298. package/dist/shell/sidebar.js +0 -4
  299. package/dist/shell/sidebar.js.map +0 -1
  300. package/dist/shell/use-mobile.js +0 -3
  301. package/dist/shell/use-mobile.js.map +0 -1
  302. package/dist/theme/index.js +0 -611
  303. package/dist/theme/index.js.map +0 -1
  304. package/dist/types/index.cjs.map +0 -1
  305. package/dist/types/index.d.ts +0 -268
  306. package/dist/types/index.js +0 -3
  307. package/dist/types/index.js.map +0 -1
  308. package/dist/types-CNIhy4JD.d.cts +0 -83
  309. package/dist/types-CNIhy4JD.d.ts +0 -83
  310. package/dist/widget-utils/index.js +0 -111
  311. package/dist/widget-utils/index.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ import { DataSourceProvider } from "./context.mjs";
2
+ import { DEFAULT_DATA_SOURCE_REGISTRY } from "./registry.mjs";
3
+ import { createContext, useContext, useMemo } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/data-sources/registry-context.tsx
6
+ const DataSourceRegistryContext = createContext({ registry: DEFAULT_DATA_SOURCE_REGISTRY });
7
+ /**
8
+ * Provides data source registry and configuration to all descendants.
9
+ * If no registry is provided, uses the default.
10
+ * Also provides the shared DataSourceProvider from rep-core so that
11
+ * rep-widgets hooks can access baseUrl and getApiHeaders.
12
+ */
13
+ function DataSourceRegistryProvider({ registry, baseUrl, getApiHeaders, variables, children }) {
14
+ const value = useMemo(() => ({
15
+ registry: registry ?? DEFAULT_DATA_SOURCE_REGISTRY,
16
+ baseUrl,
17
+ getApiHeaders,
18
+ variables
19
+ }), [
20
+ registry,
21
+ baseUrl,
22
+ getApiHeaders,
23
+ variables
24
+ ]);
25
+ return /* @__PURE__ */ jsx(DataSourceRegistryContext.Provider, {
26
+ value,
27
+ children: /* @__PURE__ */ jsx(DataSourceProvider, {
28
+ baseUrl,
29
+ getApiHeaders,
30
+ children
31
+ })
32
+ });
33
+ }
34
+ /**
35
+ * Hook to access the data source registry.
36
+ */
37
+ function useDataSourceRegistry() {
38
+ return useContext(DataSourceRegistryContext).registry;
39
+ }
40
+ /**
41
+ * Hook to access the full data source registry context (registry + config).
42
+ */
43
+ function useDataSourceRegistryConfig() {
44
+ return useContext(DataSourceRegistryContext);
45
+ }
46
+ //#endregion
47
+ export { DataSourceRegistryProvider, useDataSourceRegistry, useDataSourceRegistryConfig };
48
+
49
+ //# sourceMappingURL=registry-context.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-context.mjs","names":[],"sources":["../../src/data-sources/registry-context.tsx"],"sourcesContent":["import { createContext, useContext, useMemo, type ReactNode } from \"react\";\nimport type { DataSourceRegistry } from \"./types\";\nimport { DEFAULT_DATA_SOURCE_REGISTRY } from \"./registry\";\nimport { DataSourceProvider } from \"./context\";\n\ninterface DataSourceRegistryContextValue {\n registry: DataSourceRegistry;\n baseUrl?: string | undefined;\n /** Get API headers function */\n getApiHeaders?: (() => Record<string, string>) | undefined;\n /** Dynamic variables for endpoint path substitution (e.g., { rep_id: \"123\" }) */\n variables?: Record<string, string> | undefined;\n}\n\nconst DataSourceRegistryContext = createContext<DataSourceRegistryContextValue>(\n {\n registry: DEFAULT_DATA_SOURCE_REGISTRY,\n },\n);\n\nexport interface DataSourceRegistryProviderProps {\n registry?: DataSourceRegistry | undefined;\n /** Base URL for API calls (e.g., \"https://api.fluid.app/api\") */\n baseUrl?: string | undefined;\n /**\n * Get API headers function\n */\n getApiHeaders?: (() => Record<string, string>) | undefined;\n /** Dynamic variables for endpoint path substitution (e.g., { rep_id: \"123\" }) */\n variables?: Record<string, string> | undefined;\n children: ReactNode;\n}\n\n/**\n * Provides data source registry and configuration to all descendants.\n * If no registry is provided, uses the default.\n * Also provides the shared DataSourceProvider from rep-core so that\n * rep-widgets hooks can access baseUrl and getApiHeaders.\n */\nexport function DataSourceRegistryProvider({\n registry,\n baseUrl,\n getApiHeaders,\n variables,\n children,\n}: DataSourceRegistryProviderProps) {\n const value = useMemo(\n () => ({\n registry: registry ?? DEFAULT_DATA_SOURCE_REGISTRY,\n baseUrl,\n getApiHeaders,\n variables,\n }),\n [registry, baseUrl, getApiHeaders, variables],\n );\n\n return (\n <DataSourceRegistryContext.Provider value={value}>\n <DataSourceProvider baseUrl={baseUrl} getApiHeaders={getApiHeaders}>\n {children}\n </DataSourceProvider>\n </DataSourceRegistryContext.Provider>\n );\n}\n\n/**\n * Hook to access the data source registry.\n */\nexport function useDataSourceRegistry(): DataSourceRegistry {\n return useContext(DataSourceRegistryContext).registry;\n}\n\n/**\n * Hook to access the full data source registry context (registry + config).\n */\nexport function useDataSourceRegistryConfig(): DataSourceRegistryContextValue {\n return useContext(DataSourceRegistryContext);\n}\n"],"mappings":";;;;;AAcA,MAAM,4BAA4B,cAChC,EACE,UAAU,8BACX,CACF;;;;;;;AAqBD,SAAgB,2BAA2B,EACzC,UACA,SACA,eACA,WACA,YACkC;CAClC,MAAM,QAAQ,eACL;EACL,UAAU,YAAY;EACtB;EACA;EACA;EACD,GACD;EAAC;EAAU;EAAS;EAAe;EAAU,CAC9C;AAED,QACE,oBAAC,0BAA0B,UAA3B;EAA2C;YACzC,oBAAC,oBAAD;GAA6B;GAAwB;GAClD;GACkB,CAAA;EACc,CAAA;;;;;AAOzC,SAAgB,wBAA4C;AAC1D,QAAO,WAAW,0BAA0B,CAAC;;;;;AAM/C,SAAgB,8BAA8D;AAC5E,QAAO,WAAW,0BAA0B"}
@@ -1,20 +1,31 @@
1
- 'use strict';
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_data_sources_fetchers_api = require("./fetchers/api.cjs");
3
+ const require_data_sources_fetchers_custom = require("./fetchers/custom.cjs");
4
+ const require_data_sources_fetchers_static = require("./fetchers/static.cjs");
5
+ const require_data_sources_transformers = require("./transformers.cjs");
6
+ //#region src/data-sources/registry.ts
7
+ /**
8
+ * Creates a data source registry with default fetchers.
9
+ * Users can extend this with custom fetchers and transformers.
10
+ */
11
+ function createDataSourceRegistry(options) {
12
+ return {
13
+ fetchers: {
14
+ api: require_data_sources_fetchers_api.apiFetcher,
15
+ custom: require_data_sources_fetchers_custom.customFetcher,
16
+ static: require_data_sources_fetchers_static.staticFetcher,
17
+ ...options?.fetchers
18
+ },
19
+ transformers: {
20
+ ...require_data_sources_transformers.WIDGET_TRANSFORMERS,
21
+ ...options?.transformers
22
+ }
23
+ };
24
+ }
25
+ /** Default registry instance */
26
+ const DEFAULT_DATA_SOURCE_REGISTRY = createDataSourceRegistry();
27
+ //#endregion
28
+ exports.DEFAULT_DATA_SOURCE_REGISTRY = DEFAULT_DATA_SOURCE_REGISTRY;
29
+ exports.createDataSourceRegistry = createDataSourceRegistry;
2
30
 
3
- var chunkU3CQLX2Z_cjs = require('../chunk-U3CQLX2Z.cjs');
4
- require('../chunk-46PUWB7C.cjs');
5
- require('../chunk-HGVSPZEL.cjs');
6
- require('../chunk-N2K6W7FX.cjs');
7
- require('../chunk-B2NTWEDF.cjs');
8
-
9
-
10
-
11
- Object.defineProperty(exports, "DEFAULT_DATA_SOURCE_REGISTRY", {
12
- enumerable: true,
13
- get: function () { return chunkU3CQLX2Z_cjs.DEFAULT_DATA_SOURCE_REGISTRY; }
14
- });
15
- Object.defineProperty(exports, "createDataSourceRegistry", {
16
- enumerable: true,
17
- get: function () { return chunkU3CQLX2Z_cjs.createDataSourceRegistry; }
18
- });
19
- //# sourceMappingURL=registry.cjs.map
20
31
  //# sourceMappingURL=registry.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"registry.cjs"}
1
+ {"version":3,"file":"registry.cjs","names":["apiFetcher","customFetcher","staticFetcher","WIDGET_TRANSFORMERS"],"sources":["../../src/data-sources/registry.ts"],"sourcesContent":["import type {\n DataSourceRegistry,\n DataFetcher,\n DataTransformer,\n DataSourceType,\n} from \"./types\";\nimport { apiFetcher } from \"./fetchers/api\";\nimport { customFetcher } from \"./fetchers/custom\";\nimport { staticFetcher } from \"./fetchers/static\";\nimport { WIDGET_TRANSFORMERS } from \"./transformers\";\n\nexport interface CreateDataSourceRegistryOptions {\n /** Custom fetchers to add or override */\n fetchers?: Partial<Record<DataSourceType, DataFetcher>>;\n /** Custom transform functions */\n transformers?: Record<string, DataTransformer>;\n}\n\n/**\n * Creates a data source registry with default fetchers.\n * Users can extend this with custom fetchers and transformers.\n */\nexport function createDataSourceRegistry(\n options?: CreateDataSourceRegistryOptions,\n): DataSourceRegistry {\n return {\n fetchers: {\n api: apiFetcher,\n custom: customFetcher,\n static: staticFetcher,\n ...options?.fetchers,\n } as Record<DataSourceType, DataFetcher>,\n transformers: {\n ...WIDGET_TRANSFORMERS,\n ...options?.transformers,\n },\n };\n}\n\n/** Default registry instance */\nexport const DEFAULT_DATA_SOURCE_REGISTRY = createDataSourceRegistry();\n"],"mappings":";;;;;;;;;;AAsBA,SAAgB,yBACd,SACoB;AACpB,QAAO;EACL,UAAU;GACR,KAAKA,kCAAAA;GACL,QAAQC,qCAAAA;GACR,QAAQC,qCAAAA;GACR,GAAG,SAAS;GACb;EACD,cAAc;GACZ,GAAGC,kCAAAA;GACH,GAAG,SAAS;GACb;EACF;;;AAIH,MAAa,+BAA+B,0BAA0B"}
@@ -1,10 +1,11 @@
1
- import { DataSourceType, DataFetcher, DataTransformer, DataSourceRegistry } from './types.cjs';
1
+ import { c as DataSourceType, l as DataTransformer, r as DataFetcher, s as DataSourceRegistry } from "../types-BIXtQlHB.cjs";
2
2
 
3
+ //#region src/data-sources/registry.d.ts
3
4
  interface CreateDataSourceRegistryOptions {
4
- /** Custom fetchers to add or override */
5
- fetchers?: Partial<Record<DataSourceType, DataFetcher>>;
6
- /** Custom transform functions */
7
- transformers?: Record<string, DataTransformer>;
5
+ /** Custom fetchers to add or override */
6
+ fetchers?: Partial<Record<DataSourceType, DataFetcher>>;
7
+ /** Custom transform functions */
8
+ transformers?: Record<string, DataTransformer>;
8
9
  }
9
10
  /**
10
11
  * Creates a data source registry with default fetchers.
@@ -13,5 +14,6 @@ interface CreateDataSourceRegistryOptions {
13
14
  declare function createDataSourceRegistry(options?: CreateDataSourceRegistryOptions): DataSourceRegistry;
14
15
  /** Default registry instance */
15
16
  declare const DEFAULT_DATA_SOURCE_REGISTRY: DataSourceRegistry;
16
-
17
- export { type CreateDataSourceRegistryOptions, DEFAULT_DATA_SOURCE_REGISTRY, createDataSourceRegistry };
17
+ //#endregion
18
+ export { CreateDataSourceRegistryOptions, DEFAULT_DATA_SOURCE_REGISTRY, createDataSourceRegistry };
19
+ //# sourceMappingURL=registry.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.cts","names":[],"sources":["../../src/data-sources/registry.ts"],"mappings":";;;UAWiB,+BAAA;;EAEf,QAAA,GAAW,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,WAAA;EAFI;EAI9C,YAAA,GAAe,MAAA,SAAe,eAAA;AAAA;;;;;iBAOhB,wBAAA,CACd,OAAA,GAAU,+BAAA,GACT,kBAAA;;cAgBU,4BAAA,EAA4B,kBAAA"}
@@ -0,0 +1,19 @@
1
+ import { c as DataSourceType, l as DataTransformer, r as DataFetcher, s as DataSourceRegistry } from "../types-C5OFJy-O.mjs";
2
+
3
+ //#region src/data-sources/registry.d.ts
4
+ interface CreateDataSourceRegistryOptions {
5
+ /** Custom fetchers to add or override */
6
+ fetchers?: Partial<Record<DataSourceType, DataFetcher>>;
7
+ /** Custom transform functions */
8
+ transformers?: Record<string, DataTransformer>;
9
+ }
10
+ /**
11
+ * Creates a data source registry with default fetchers.
12
+ * Users can extend this with custom fetchers and transformers.
13
+ */
14
+ declare function createDataSourceRegistry(options?: CreateDataSourceRegistryOptions): DataSourceRegistry;
15
+ /** Default registry instance */
16
+ declare const DEFAULT_DATA_SOURCE_REGISTRY: DataSourceRegistry;
17
+ //#endregion
18
+ export { CreateDataSourceRegistryOptions, DEFAULT_DATA_SOURCE_REGISTRY, createDataSourceRegistry };
19
+ //# sourceMappingURL=registry.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.mts","names":[],"sources":["../../src/data-sources/registry.ts"],"mappings":";;;UAWiB,+BAAA;;EAEf,QAAA,GAAW,OAAA,CAAQ,MAAA,CAAO,cAAA,EAAgB,WAAA;EAFI;EAI9C,YAAA,GAAe,MAAA,SAAe,eAAA;AAAA;;;;;iBAOhB,wBAAA,CACd,OAAA,GAAU,+BAAA,GACT,kBAAA;;cAgBU,4BAAA,EAA4B,kBAAA"}
@@ -0,0 +1,29 @@
1
+ import { apiFetcher } from "./fetchers/api.mjs";
2
+ import { customFetcher } from "./fetchers/custom.mjs";
3
+ import { staticFetcher } from "./fetchers/static.mjs";
4
+ import { WIDGET_TRANSFORMERS } from "./transformers.mjs";
5
+ //#region src/data-sources/registry.ts
6
+ /**
7
+ * Creates a data source registry with default fetchers.
8
+ * Users can extend this with custom fetchers and transformers.
9
+ */
10
+ function createDataSourceRegistry(options) {
11
+ return {
12
+ fetchers: {
13
+ api: apiFetcher,
14
+ custom: customFetcher,
15
+ static: staticFetcher,
16
+ ...options?.fetchers
17
+ },
18
+ transformers: {
19
+ ...WIDGET_TRANSFORMERS,
20
+ ...options?.transformers
21
+ }
22
+ };
23
+ }
24
+ /** Default registry instance */
25
+ const DEFAULT_DATA_SOURCE_REGISTRY = createDataSourceRegistry();
26
+ //#endregion
27
+ export { DEFAULT_DATA_SOURCE_REGISTRY, createDataSourceRegistry };
28
+
29
+ //# sourceMappingURL=registry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.mjs","names":[],"sources":["../../src/data-sources/registry.ts"],"sourcesContent":["import type {\n DataSourceRegistry,\n DataFetcher,\n DataTransformer,\n DataSourceType,\n} from \"./types\";\nimport { apiFetcher } from \"./fetchers/api\";\nimport { customFetcher } from \"./fetchers/custom\";\nimport { staticFetcher } from \"./fetchers/static\";\nimport { WIDGET_TRANSFORMERS } from \"./transformers\";\n\nexport interface CreateDataSourceRegistryOptions {\n /** Custom fetchers to add or override */\n fetchers?: Partial<Record<DataSourceType, DataFetcher>>;\n /** Custom transform functions */\n transformers?: Record<string, DataTransformer>;\n}\n\n/**\n * Creates a data source registry with default fetchers.\n * Users can extend this with custom fetchers and transformers.\n */\nexport function createDataSourceRegistry(\n options?: CreateDataSourceRegistryOptions,\n): DataSourceRegistry {\n return {\n fetchers: {\n api: apiFetcher,\n custom: customFetcher,\n static: staticFetcher,\n ...options?.fetchers,\n } as Record<DataSourceType, DataFetcher>,\n transformers: {\n ...WIDGET_TRANSFORMERS,\n ...options?.transformers,\n },\n };\n}\n\n/** Default registry instance */\nexport const DEFAULT_DATA_SOURCE_REGISTRY = createDataSourceRegistry();\n"],"mappings":";;;;;;;;;AAsBA,SAAgB,yBACd,SACoB;AACpB,QAAO;EACL,UAAU;GACR,KAAK;GACL,QAAQ;GACR,QAAQ;GACR,GAAG,SAAS;GACb;EACD,cAAc;GACZ,GAAG;GACH,GAAG,SAAS;GACb;EACF;;;AAIH,MAAa,+BAA+B,0BAA0B"}
@@ -1,12 +1,154 @@
1
- 'use strict';
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/data-sources/transformers.ts
3
+ /**
4
+ * Helper to extract image URL from various API response structures.
5
+ * Handles:
6
+ * - Flat fields (Medium, Page, Product): image_url, imageUrl, thumbnail_url, src
7
+ * - Nested images array (EnrollmentPack): images[0].image_url
8
+ * - Nested library_items (Library): library_items[0].relateable.image_url
9
+ */
10
+ function extractImageUrl(d) {
11
+ if (d.image_url) return d.image_url;
12
+ if (d.imageUrl) return d.imageUrl;
13
+ if (d.thumbnail_url) return d.thumbnail_url;
14
+ if (d.src) return d.src;
15
+ const images = d.images;
16
+ if (images && images.length > 0) {
17
+ const firstImage = images[0];
18
+ if (firstImage?.image_url) return firstImage.image_url;
19
+ if (firstImage?.url) return firstImage.url;
20
+ }
21
+ const libraryItems = d.library_items;
22
+ if (libraryItems && libraryItems.length > 0) {
23
+ const relateable = libraryItems[0]?.relateable;
24
+ if (relateable?.image_url) return relateable.image_url;
25
+ if (relateable?.imageUrl) return relateable.imageUrl;
26
+ if (relateable?.thumbnail_url) return relateable.thumbnail_url;
27
+ }
28
+ return "";
29
+ }
30
+ /**
31
+ * Helper to extract description from various API response structures.
32
+ * Handles different field names across endpoints.
33
+ */
34
+ function extractDescription(d) {
35
+ const desc = d.description ?? d.stripped ?? d.stripped_description ?? d.body ?? "";
36
+ if (typeof desc === "object" && desc !== null && "body" in desc) return desc.body ?? "";
37
+ return desc;
38
+ }
39
+ /**
40
+ * Helper to extract custom widget config from a selected item.
41
+ */
42
+ function extractCustomWidgetConfig(d, source) {
43
+ if (source === void 0 || source.type !== "custom") return {};
44
+ return source.selectedItems.find((s) => String(s.id) === String(d.id))?.widgetConfig ?? {};
45
+ }
46
+ /**
47
+ * ImageWidget transformer from shareable data
48
+ */
49
+ const toImagePropsFromShareable = (data) => {
50
+ const item = Array.isArray(data) ? data[0] : data;
51
+ if (!item || typeof item !== "object") return {
52
+ src: "",
53
+ alt: "Image",
54
+ objectFit: "cover"
55
+ };
56
+ const d = item;
57
+ return {
58
+ src: extractImageUrl(d),
59
+ alt: d.title ?? d.name ?? d.alt ?? "Image",
60
+ objectFit: "cover"
61
+ };
62
+ };
63
+ /**
64
+ * VideoWidget transformer from shareable data
65
+ */
66
+ const toVideoPropsFromShareable = (data) => {
67
+ const item = Array.isArray(data) ? data[0] : data;
68
+ if (!item || typeof item !== "object") return {
69
+ src: "",
70
+ poster: "",
71
+ caption: ""
72
+ };
73
+ const d = item;
74
+ return {
75
+ src: (d.video_url ?? d.videoUrl ?? d.src) || "",
76
+ poster: extractImageUrl(d),
77
+ caption: d.title ?? d.name ?? d.caption ?? ""
78
+ };
79
+ };
80
+ /**
81
+ * Shareable content transformer
82
+ * Normalizes shareable API responses to a consistent format
83
+ */
84
+ const toShareableProps = (data, source) => {
85
+ if (!Array.isArray(data)) return [];
86
+ return data.map((item) => {
87
+ const d = item;
88
+ const widgetConfig = extractCustomWidgetConfig(d, source);
89
+ return {
90
+ id: d.id,
91
+ title: d.title ?? d.name ?? "",
92
+ description: extractDescription(d),
93
+ imageUrl: extractImageUrl(d),
94
+ videoUrl: (d.video_url ?? d.videoUrl) || null,
95
+ shareableType: d.type ?? d.relateable_type ?? d.shareableType ?? "",
96
+ kind: d.kind ?? "image",
97
+ status: d.status ?? "active",
98
+ wholesalePrice: d.display_wholesale_price ?? d.wholesale_price ?? null,
99
+ subscriptionPrice: d.subscription_price ?? null,
100
+ outOfStock: d.out_of_stock ?? false,
101
+ lowInStock: d.low_in_stock ?? false,
102
+ ...d,
103
+ ...widgetConfig
104
+ };
105
+ });
106
+ };
107
+ /**
108
+ * Carousel slides from shareables transformer
109
+ */
110
+ const toCarouselSlidesFromShareables = (data, source) => {
111
+ if (!Array.isArray(data)) return [];
112
+ return data.map((item, index) => {
113
+ const d = item;
114
+ const widgetConfig = extractCustomWidgetConfig(d, source);
115
+ const imageUrl = extractImageUrl(d);
116
+ const isVideo = d.kind === "video" || d.videoUrl || d.video_url;
117
+ const title = d.title ?? d.name ?? "";
118
+ const content = isVideo ? {
119
+ type: "VideoWidget",
120
+ props: {
121
+ src: (d.videoUrl ?? d.video_url) || "",
122
+ poster: imageUrl,
123
+ caption: title
124
+ }
125
+ } : {
126
+ type: "ImageWidget",
127
+ props: {
128
+ src: imageUrl,
129
+ alt: title || "Slide image",
130
+ objectFit: "cover"
131
+ }
132
+ };
133
+ return {
134
+ id: String(d.id ?? `slide-${index}`),
135
+ content,
136
+ title,
137
+ description: extractDescription(d),
138
+ ...widgetConfig
139
+ };
140
+ });
141
+ };
142
+ /**
143
+ * All widget transformers bundled for registration
144
+ */
145
+ const WIDGET_TRANSFORMERS = {
146
+ toShareableProps,
147
+ toCarouselSlidesFromShareables,
148
+ toImagePropsFromShareable,
149
+ toVideoPropsFromShareable
150
+ };
151
+ //#endregion
152
+ exports.WIDGET_TRANSFORMERS = WIDGET_TRANSFORMERS;
2
153
 
3
- var chunkB2NTWEDF_cjs = require('../chunk-B2NTWEDF.cjs');
4
-
5
-
6
-
7
- Object.defineProperty(exports, "WIDGET_TRANSFORMERS", {
8
- enumerable: true,
9
- get: function () { return chunkB2NTWEDF_cjs.WIDGET_TRANSFORMERS; }
10
- });
11
- //# sourceMappingURL=transformers.cjs.map
12
154
  //# sourceMappingURL=transformers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"transformers.cjs"}
1
+ {"version":3,"file":"transformers.cjs","names":[],"sources":["../../src/data-sources/transformers.ts"],"sourcesContent":["/**\n * Widget Transformers\n *\n * Transform functions that map API response data to widget-specific prop shapes.\n * Each widget has one transformer that handles all data structure variants:\n * - Standard: Direct field name match\n * - Legacy: Different field names that need mapping\n * - Minimal: Bare minimum fields that need defaults\n *\n * Usage:\n * 1. Transformers are registered in the DataSourceRegistry\n * 2. Reference by name in ApiDataSource.transform\n * 3. Applied after resultPath extraction, before targetProps assignment\n */\n\nimport type { DataTransformer, DataSource } from \"./types\";\n\n/**\n * Helper to extract image URL from various API response structures.\n * Handles:\n * - Flat fields (Medium, Page, Product): image_url, imageUrl, thumbnail_url, src\n * - Nested images array (EnrollmentPack): images[0].image_url\n * - Nested library_items (Library): library_items[0].relateable.image_url\n */\nfunction extractImageUrl(d: Record<string, unknown>): string {\n // Try flat fields first (Medium, Page, Product)\n if (d.image_url) return d.image_url as string;\n if (d.imageUrl) return d.imageUrl as string;\n if (d.thumbnail_url) return d.thumbnail_url as string;\n if (d.src) return d.src as string;\n\n // Try nested images array (EnrollmentPack)\n const images = d.images as Array<Record<string, unknown>> | undefined;\n if (images && images.length > 0) {\n const firstImage = images[0];\n if (firstImage?.image_url) return firstImage.image_url as string;\n if (firstImage?.url) return firstImage.url as string;\n }\n\n // Try nested library_items (Library/Playlist)\n const libraryItems = d.library_items as\n | Array<Record<string, unknown>>\n | undefined;\n if (libraryItems && libraryItems.length > 0) {\n const firstItem = libraryItems[0];\n const relateable = firstItem?.relateable as\n | Record<string, unknown>\n | undefined;\n if (relateable?.image_url) return relateable.image_url as string;\n if (relateable?.imageUrl) return relateable.imageUrl as string;\n if (relateable?.thumbnail_url) return relateable.thumbnail_url as string;\n }\n\n return \"\";\n}\n\n/**\n * Helper to extract description from various API response structures.\n * Handles different field names across endpoints.\n */\nfunction extractDescription(d: Record<string, unknown>): string {\n // Try various description field names\n const desc =\n d.description ?? d.stripped ?? d.stripped_description ?? d.body ?? \"\";\n\n // Handle nested description object (some APIs return { body: \"...\" })\n if (typeof desc === \"object\" && desc !== null && \"body\" in desc) {\n return ((desc as Record<string, unknown>).body as string) ?? \"\";\n }\n\n return desc as string;\n}\n\n/**\n * Helper to extract custom widget config from a selected item.\n */\nfunction extractCustomWidgetConfig(\n d: Record<string, unknown>,\n source: DataSource | undefined,\n): Record<string, unknown> {\n if (source === undefined || source.type !== \"custom\") return {};\n\n const selectedItem = source.selectedItems.find(\n (s) => String(s.id) === String(d.id),\n );\n return selectedItem?.widgetConfig ?? {};\n}\n\n/**\n * ImageWidget transformer from shareable data\n */\nconst toImagePropsFromShareable: DataTransformer = (data) => {\n const item = Array.isArray(data) ? data[0] : data;\n if (!item || typeof item !== \"object\") {\n return { src: \"\", alt: \"Image\", objectFit: \"cover\" };\n }\n\n const d = item as Record<string, unknown>;\n return {\n src: extractImageUrl(d),\n alt: (d.title ?? d.name ?? d.alt ?? \"Image\") as string,\n objectFit: \"cover\" as const,\n };\n};\n\n/**\n * VideoWidget transformer from shareable data\n */\nconst toVideoPropsFromShareable: DataTransformer = (data) => {\n const item = Array.isArray(data) ? data[0] : data;\n if (!item || typeof item !== \"object\") {\n return { src: \"\", poster: \"\", caption: \"\" };\n }\n\n const d = item as Record<string, unknown>;\n return {\n src: ((d.video_url ?? d.videoUrl ?? d.src) as string) || \"\",\n poster: extractImageUrl(d),\n caption: (d.title ?? d.name ?? d.caption ?? \"\") as string,\n };\n};\n\n/**\n * Shareable content transformer\n * Normalizes shareable API responses to a consistent format\n */\nconst toShareableProps: DataTransformer = (data, source) => {\n if (!Array.isArray(data)) return [];\n\n return data.map((item: unknown) => {\n const d = item as Record<string, unknown>;\n\n const widgetConfig = extractCustomWidgetConfig(d, source);\n\n return {\n id: d.id,\n title: (d.title ?? d.name ?? \"\") as string,\n description: extractDescription(d),\n imageUrl: extractImageUrl(d),\n videoUrl: ((d.video_url ?? d.videoUrl) as string) || null,\n shareableType: (d.type ??\n d.relateable_type ??\n d.shareableType ??\n \"\") as string,\n kind: (d.kind ?? \"image\") as string,\n status: (d.status ?? \"active\") as string,\n wholesalePrice: d.display_wholesale_price ?? d.wholesale_price ?? null,\n subscriptionPrice: d.subscription_price ?? null,\n outOfStock: d.out_of_stock ?? false,\n lowInStock: d.low_in_stock ?? false,\n ...d,\n ...widgetConfig,\n };\n });\n};\n\n/**\n * Carousel slides from shareables transformer\n */\nconst toCarouselSlidesFromShareables: DataTransformer = (data, source) => {\n if (!Array.isArray(data)) return [];\n\n return data.map((item: unknown, index: number) => {\n const d = item as Record<string, unknown>;\n\n const widgetConfig = extractCustomWidgetConfig(d, source);\n\n const imageUrl = extractImageUrl(d);\n const isVideo = d.kind === \"video\" || d.videoUrl || d.video_url;\n const title = (d.title ?? d.name ?? \"\") as string;\n\n const content = isVideo\n ? {\n type: \"VideoWidget\",\n props: {\n src: ((d.videoUrl ?? d.video_url) as string) || \"\",\n poster: imageUrl,\n caption: title,\n },\n }\n : {\n type: \"ImageWidget\",\n props: {\n src: imageUrl,\n alt: title || \"Slide image\",\n objectFit: \"cover\",\n },\n };\n\n const baseSlide = {\n id: String(d.id ?? `slide-${index}`),\n content,\n title,\n description: extractDescription(d),\n };\n\n return {\n ...baseSlide,\n ...widgetConfig,\n };\n });\n};\n\n/**\n * All widget transformers bundled for registration\n */\nexport const WIDGET_TRANSFORMERS: Record<string, DataTransformer> = {\n toShareableProps,\n toCarouselSlidesFromShareables,\n toImagePropsFromShareable,\n toVideoPropsFromShareable,\n};\n"],"mappings":"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"}
@@ -1,23 +1,10 @@
1
- import { DataTransformer } from './types.cjs';
2
-
3
- /**
4
- * Widget Transformers
5
- *
6
- * Transform functions that map API response data to widget-specific prop shapes.
7
- * Each widget has one transformer that handles all data structure variants:
8
- * - Standard: Direct field name match
9
- * - Legacy: Different field names that need mapping
10
- * - Minimal: Bare minimum fields that need defaults
11
- *
12
- * Usage:
13
- * 1. Transformers are registered in the DataSourceRegistry
14
- * 2. Reference by name in ApiDataSource.transform
15
- * 3. Applied after resultPath extraction, before targetProps assignment
16
- */
1
+ import { l as DataTransformer } from "../types-BIXtQlHB.cjs";
17
2
 
3
+ //#region src/data-sources/transformers.d.ts
18
4
  /**
19
5
  * All widget transformers bundled for registration
20
6
  */
21
7
  declare const WIDGET_TRANSFORMERS: Record<string, DataTransformer>;
22
-
8
+ //#endregion
23
9
  export { WIDGET_TRANSFORMERS };
10
+ //# sourceMappingURL=transformers.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.d.cts","names":[],"sources":["../../src/data-sources/transformers.ts"],"mappings":";;;;;;cA8Ma,mBAAA,EAAqB,MAAA,SAAe,eAAA"}
@@ -0,0 +1,10 @@
1
+ import { l as DataTransformer } from "../types-C5OFJy-O.mjs";
2
+
3
+ //#region src/data-sources/transformers.d.ts
4
+ /**
5
+ * All widget transformers bundled for registration
6
+ */
7
+ declare const WIDGET_TRANSFORMERS: Record<string, DataTransformer>;
8
+ //#endregion
9
+ export { WIDGET_TRANSFORMERS };
10
+ //# sourceMappingURL=transformers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.d.mts","names":[],"sources":["../../src/data-sources/transformers.ts"],"mappings":";;;;;;cA8Ma,mBAAA,EAAqB,MAAA,SAAe,eAAA"}
@@ -0,0 +1,153 @@
1
+ //#region src/data-sources/transformers.ts
2
+ /**
3
+ * Helper to extract image URL from various API response structures.
4
+ * Handles:
5
+ * - Flat fields (Medium, Page, Product): image_url, imageUrl, thumbnail_url, src
6
+ * - Nested images array (EnrollmentPack): images[0].image_url
7
+ * - Nested library_items (Library): library_items[0].relateable.image_url
8
+ */
9
+ function extractImageUrl(d) {
10
+ if (d.image_url) return d.image_url;
11
+ if (d.imageUrl) return d.imageUrl;
12
+ if (d.thumbnail_url) return d.thumbnail_url;
13
+ if (d.src) return d.src;
14
+ const images = d.images;
15
+ if (images && images.length > 0) {
16
+ const firstImage = images[0];
17
+ if (firstImage?.image_url) return firstImage.image_url;
18
+ if (firstImage?.url) return firstImage.url;
19
+ }
20
+ const libraryItems = d.library_items;
21
+ if (libraryItems && libraryItems.length > 0) {
22
+ const relateable = libraryItems[0]?.relateable;
23
+ if (relateable?.image_url) return relateable.image_url;
24
+ if (relateable?.imageUrl) return relateable.imageUrl;
25
+ if (relateable?.thumbnail_url) return relateable.thumbnail_url;
26
+ }
27
+ return "";
28
+ }
29
+ /**
30
+ * Helper to extract description from various API response structures.
31
+ * Handles different field names across endpoints.
32
+ */
33
+ function extractDescription(d) {
34
+ const desc = d.description ?? d.stripped ?? d.stripped_description ?? d.body ?? "";
35
+ if (typeof desc === "object" && desc !== null && "body" in desc) return desc.body ?? "";
36
+ return desc;
37
+ }
38
+ /**
39
+ * Helper to extract custom widget config from a selected item.
40
+ */
41
+ function extractCustomWidgetConfig(d, source) {
42
+ if (source === void 0 || source.type !== "custom") return {};
43
+ return source.selectedItems.find((s) => String(s.id) === String(d.id))?.widgetConfig ?? {};
44
+ }
45
+ /**
46
+ * ImageWidget transformer from shareable data
47
+ */
48
+ const toImagePropsFromShareable = (data) => {
49
+ const item = Array.isArray(data) ? data[0] : data;
50
+ if (!item || typeof item !== "object") return {
51
+ src: "",
52
+ alt: "Image",
53
+ objectFit: "cover"
54
+ };
55
+ const d = item;
56
+ return {
57
+ src: extractImageUrl(d),
58
+ alt: d.title ?? d.name ?? d.alt ?? "Image",
59
+ objectFit: "cover"
60
+ };
61
+ };
62
+ /**
63
+ * VideoWidget transformer from shareable data
64
+ */
65
+ const toVideoPropsFromShareable = (data) => {
66
+ const item = Array.isArray(data) ? data[0] : data;
67
+ if (!item || typeof item !== "object") return {
68
+ src: "",
69
+ poster: "",
70
+ caption: ""
71
+ };
72
+ const d = item;
73
+ return {
74
+ src: (d.video_url ?? d.videoUrl ?? d.src) || "",
75
+ poster: extractImageUrl(d),
76
+ caption: d.title ?? d.name ?? d.caption ?? ""
77
+ };
78
+ };
79
+ /**
80
+ * Shareable content transformer
81
+ * Normalizes shareable API responses to a consistent format
82
+ */
83
+ const toShareableProps = (data, source) => {
84
+ if (!Array.isArray(data)) return [];
85
+ return data.map((item) => {
86
+ const d = item;
87
+ const widgetConfig = extractCustomWidgetConfig(d, source);
88
+ return {
89
+ id: d.id,
90
+ title: d.title ?? d.name ?? "",
91
+ description: extractDescription(d),
92
+ imageUrl: extractImageUrl(d),
93
+ videoUrl: (d.video_url ?? d.videoUrl) || null,
94
+ shareableType: d.type ?? d.relateable_type ?? d.shareableType ?? "",
95
+ kind: d.kind ?? "image",
96
+ status: d.status ?? "active",
97
+ wholesalePrice: d.display_wholesale_price ?? d.wholesale_price ?? null,
98
+ subscriptionPrice: d.subscription_price ?? null,
99
+ outOfStock: d.out_of_stock ?? false,
100
+ lowInStock: d.low_in_stock ?? false,
101
+ ...d,
102
+ ...widgetConfig
103
+ };
104
+ });
105
+ };
106
+ /**
107
+ * Carousel slides from shareables transformer
108
+ */
109
+ const toCarouselSlidesFromShareables = (data, source) => {
110
+ if (!Array.isArray(data)) return [];
111
+ return data.map((item, index) => {
112
+ const d = item;
113
+ const widgetConfig = extractCustomWidgetConfig(d, source);
114
+ const imageUrl = extractImageUrl(d);
115
+ const isVideo = d.kind === "video" || d.videoUrl || d.video_url;
116
+ const title = d.title ?? d.name ?? "";
117
+ const content = isVideo ? {
118
+ type: "VideoWidget",
119
+ props: {
120
+ src: (d.videoUrl ?? d.video_url) || "",
121
+ poster: imageUrl,
122
+ caption: title
123
+ }
124
+ } : {
125
+ type: "ImageWidget",
126
+ props: {
127
+ src: imageUrl,
128
+ alt: title || "Slide image",
129
+ objectFit: "cover"
130
+ }
131
+ };
132
+ return {
133
+ id: String(d.id ?? `slide-${index}`),
134
+ content,
135
+ title,
136
+ description: extractDescription(d),
137
+ ...widgetConfig
138
+ };
139
+ });
140
+ };
141
+ /**
142
+ * All widget transformers bundled for registration
143
+ */
144
+ const WIDGET_TRANSFORMERS = {
145
+ toShareableProps,
146
+ toCarouselSlidesFromShareables,
147
+ toImagePropsFromShareable,
148
+ toVideoPropsFromShareable
149
+ };
150
+ //#endregion
151
+ export { WIDGET_TRANSFORMERS };
152
+
153
+ //# sourceMappingURL=transformers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.mjs","names":[],"sources":["../../src/data-sources/transformers.ts"],"sourcesContent":["/**\n * Widget Transformers\n *\n * Transform functions that map API response data to widget-specific prop shapes.\n * Each widget has one transformer that handles all data structure variants:\n * - Standard: Direct field name match\n * - Legacy: Different field names that need mapping\n * - Minimal: Bare minimum fields that need defaults\n *\n * Usage:\n * 1. Transformers are registered in the DataSourceRegistry\n * 2. Reference by name in ApiDataSource.transform\n * 3. Applied after resultPath extraction, before targetProps assignment\n */\n\nimport type { DataTransformer, DataSource } from \"./types\";\n\n/**\n * Helper to extract image URL from various API response structures.\n * Handles:\n * - Flat fields (Medium, Page, Product): image_url, imageUrl, thumbnail_url, src\n * - Nested images array (EnrollmentPack): images[0].image_url\n * - Nested library_items (Library): library_items[0].relateable.image_url\n */\nfunction extractImageUrl(d: Record<string, unknown>): string {\n // Try flat fields first (Medium, Page, Product)\n if (d.image_url) return d.image_url as string;\n if (d.imageUrl) return d.imageUrl as string;\n if (d.thumbnail_url) return d.thumbnail_url as string;\n if (d.src) return d.src as string;\n\n // Try nested images array (EnrollmentPack)\n const images = d.images as Array<Record<string, unknown>> | undefined;\n if (images && images.length > 0) {\n const firstImage = images[0];\n if (firstImage?.image_url) return firstImage.image_url as string;\n if (firstImage?.url) return firstImage.url as string;\n }\n\n // Try nested library_items (Library/Playlist)\n const libraryItems = d.library_items as\n | Array<Record<string, unknown>>\n | undefined;\n if (libraryItems && libraryItems.length > 0) {\n const firstItem = libraryItems[0];\n const relateable = firstItem?.relateable as\n | Record<string, unknown>\n | undefined;\n if (relateable?.image_url) return relateable.image_url as string;\n if (relateable?.imageUrl) return relateable.imageUrl as string;\n if (relateable?.thumbnail_url) return relateable.thumbnail_url as string;\n }\n\n return \"\";\n}\n\n/**\n * Helper to extract description from various API response structures.\n * Handles different field names across endpoints.\n */\nfunction extractDescription(d: Record<string, unknown>): string {\n // Try various description field names\n const desc =\n d.description ?? d.stripped ?? d.stripped_description ?? d.body ?? \"\";\n\n // Handle nested description object (some APIs return { body: \"...\" })\n if (typeof desc === \"object\" && desc !== null && \"body\" in desc) {\n return ((desc as Record<string, unknown>).body as string) ?? \"\";\n }\n\n return desc as string;\n}\n\n/**\n * Helper to extract custom widget config from a selected item.\n */\nfunction extractCustomWidgetConfig(\n d: Record<string, unknown>,\n source: DataSource | undefined,\n): Record<string, unknown> {\n if (source === undefined || source.type !== \"custom\") return {};\n\n const selectedItem = source.selectedItems.find(\n (s) => String(s.id) === String(d.id),\n );\n return selectedItem?.widgetConfig ?? {};\n}\n\n/**\n * ImageWidget transformer from shareable data\n */\nconst toImagePropsFromShareable: DataTransformer = (data) => {\n const item = Array.isArray(data) ? data[0] : data;\n if (!item || typeof item !== \"object\") {\n return { src: \"\", alt: \"Image\", objectFit: \"cover\" };\n }\n\n const d = item as Record<string, unknown>;\n return {\n src: extractImageUrl(d),\n alt: (d.title ?? d.name ?? d.alt ?? \"Image\") as string,\n objectFit: \"cover\" as const,\n };\n};\n\n/**\n * VideoWidget transformer from shareable data\n */\nconst toVideoPropsFromShareable: DataTransformer = (data) => {\n const item = Array.isArray(data) ? data[0] : data;\n if (!item || typeof item !== \"object\") {\n return { src: \"\", poster: \"\", caption: \"\" };\n }\n\n const d = item as Record<string, unknown>;\n return {\n src: ((d.video_url ?? d.videoUrl ?? d.src) as string) || \"\",\n poster: extractImageUrl(d),\n caption: (d.title ?? d.name ?? d.caption ?? \"\") as string,\n };\n};\n\n/**\n * Shareable content transformer\n * Normalizes shareable API responses to a consistent format\n */\nconst toShareableProps: DataTransformer = (data, source) => {\n if (!Array.isArray(data)) return [];\n\n return data.map((item: unknown) => {\n const d = item as Record<string, unknown>;\n\n const widgetConfig = extractCustomWidgetConfig(d, source);\n\n return {\n id: d.id,\n title: (d.title ?? d.name ?? \"\") as string,\n description: extractDescription(d),\n imageUrl: extractImageUrl(d),\n videoUrl: ((d.video_url ?? d.videoUrl) as string) || null,\n shareableType: (d.type ??\n d.relateable_type ??\n d.shareableType ??\n \"\") as string,\n kind: (d.kind ?? \"image\") as string,\n status: (d.status ?? \"active\") as string,\n wholesalePrice: d.display_wholesale_price ?? d.wholesale_price ?? null,\n subscriptionPrice: d.subscription_price ?? null,\n outOfStock: d.out_of_stock ?? false,\n lowInStock: d.low_in_stock ?? false,\n ...d,\n ...widgetConfig,\n };\n });\n};\n\n/**\n * Carousel slides from shareables transformer\n */\nconst toCarouselSlidesFromShareables: DataTransformer = (data, source) => {\n if (!Array.isArray(data)) return [];\n\n return data.map((item: unknown, index: number) => {\n const d = item as Record<string, unknown>;\n\n const widgetConfig = extractCustomWidgetConfig(d, source);\n\n const imageUrl = extractImageUrl(d);\n const isVideo = d.kind === \"video\" || d.videoUrl || d.video_url;\n const title = (d.title ?? d.name ?? \"\") as string;\n\n const content = isVideo\n ? {\n type: \"VideoWidget\",\n props: {\n src: ((d.videoUrl ?? d.video_url) as string) || \"\",\n poster: imageUrl,\n caption: title,\n },\n }\n : {\n type: \"ImageWidget\",\n props: {\n src: imageUrl,\n alt: title || \"Slide image\",\n objectFit: \"cover\",\n },\n };\n\n const baseSlide = {\n id: String(d.id ?? `slide-${index}`),\n content,\n title,\n description: extractDescription(d),\n };\n\n return {\n ...baseSlide,\n ...widgetConfig,\n };\n });\n};\n\n/**\n * All widget transformers bundled for registration\n */\nexport const WIDGET_TRANSFORMERS: Record<string, DataTransformer> = {\n toShareableProps,\n toCarouselSlidesFromShareables,\n toImagePropsFromShareable,\n toVideoPropsFromShareable,\n};\n"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=types.cjs.map
4
- //# sourceMappingURL=types.cjs.map