@universityofmaryland/web-feeds-library 1.2.3 → 1.3.0-beta.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 (435) hide show
  1. package/README.md +1 -1
  2. package/dist/academic.d.ts +1 -1
  3. package/dist/academic.js +1 -1
  4. package/dist/academic.mjs +1 -1
  5. package/dist/events.d.ts +1 -1
  6. package/dist/events.js +4 -4
  7. package/dist/events.mjs +4 -4
  8. package/dist/experts.d.ts +2 -0
  9. package/dist/experts.js +9 -0
  10. package/dist/experts.js.map +1 -0
  11. package/dist/experts.mjs +9 -0
  12. package/dist/experts.mjs.map +1 -0
  13. package/dist/factory/core/createBaseFeed.d.ts +3 -0
  14. package/dist/factory/core/createBaseFeed.d.ts.map +1 -0
  15. package/dist/factory/core/createBaseFeed.js +114 -0
  16. package/dist/factory/core/createBaseFeed.js.map +1 -0
  17. package/dist/factory/core/createBaseFeed.mjs +114 -0
  18. package/dist/factory/core/createBaseFeed.mjs.map +1 -0
  19. package/dist/factory/core/index.d.ts +3 -0
  20. package/dist/factory/core/index.d.ts.map +1 -0
  21. package/dist/factory/core/types.d.ts +91 -0
  22. package/dist/factory/core/types.d.ts.map +1 -0
  23. package/dist/factory/helpers/displayHandler.d.ts +29 -0
  24. package/dist/factory/helpers/displayHandler.d.ts.map +1 -0
  25. package/dist/factory/helpers/displayHandler.js +187 -0
  26. package/dist/factory/helpers/displayHandler.js.map +1 -0
  27. package/dist/factory/helpers/displayHandler.mjs +169 -0
  28. package/dist/factory/helpers/displayHandler.mjs.map +1 -0
  29. package/dist/factory/helpers/feedHelpers.d.ts +10 -0
  30. package/dist/factory/helpers/feedHelpers.d.ts.map +1 -0
  31. package/dist/factory/helpers/feedHelpers.js +32 -0
  32. package/dist/factory/helpers/feedHelpers.js.map +1 -0
  33. package/dist/factory/helpers/feedHelpers.mjs +32 -0
  34. package/dist/factory/helpers/feedHelpers.mjs.map +1 -0
  35. package/dist/factory/helpers/fetchHandler.d.ts +22 -0
  36. package/dist/factory/helpers/fetchHandler.d.ts.map +1 -0
  37. package/dist/factory/helpers/fetchHandler.js +140 -0
  38. package/dist/factory/helpers/fetchHandler.js.map +1 -0
  39. package/dist/factory/helpers/fetchHandler.mjs +123 -0
  40. package/dist/factory/helpers/fetchHandler.mjs.map +1 -0
  41. package/dist/factory/helpers/index.d.ts +4 -0
  42. package/dist/factory/helpers/index.d.ts.map +1 -0
  43. package/dist/factory/index.d.ts +4 -0
  44. package/dist/factory/index.d.ts.map +1 -0
  45. package/dist/feeds/academic/_types.d.ts.map +1 -0
  46. package/dist/feeds/academic/index.d.ts.map +1 -0
  47. package/dist/feeds/academic/slider.d.ts.map +1 -0
  48. package/dist/feeds/academic/slider.js +10 -0
  49. package/dist/feeds/academic/slider.js.map +1 -0
  50. package/dist/feeds/academic/slider.mjs +11 -0
  51. package/dist/feeds/academic/slider.mjs.map +1 -0
  52. package/dist/feeds/events/_types.d.ts.map +1 -0
  53. package/dist/feeds/events/grid.d.ts.map +1 -0
  54. package/dist/feeds/events/grid.js +31 -0
  55. package/dist/feeds/events/grid.js.map +1 -0
  56. package/dist/feeds/events/grid.mjs +32 -0
  57. package/dist/feeds/events/grid.mjs.map +1 -0
  58. package/dist/feeds/events/grouped.d.ts.map +1 -0
  59. package/dist/feeds/events/grouped.js +353 -0
  60. package/dist/feeds/events/grouped.js.map +1 -0
  61. package/dist/feeds/events/grouped.mjs +337 -0
  62. package/dist/feeds/events/grouped.mjs.map +1 -0
  63. package/dist/feeds/events/index.d.ts.map +1 -0
  64. package/dist/feeds/events/list.d.ts.map +1 -0
  65. package/dist/feeds/events/list.js +32 -0
  66. package/dist/feeds/events/list.js.map +1 -0
  67. package/dist/feeds/events/list.mjs +33 -0
  68. package/dist/feeds/events/list.mjs.map +1 -0
  69. package/dist/feeds/events/slider.d.ts.map +1 -0
  70. package/dist/feeds/events/slider.js +10 -0
  71. package/dist/feeds/events/slider.js.map +1 -0
  72. package/dist/feeds/events/slider.mjs +11 -0
  73. package/dist/feeds/events/slider.mjs.map +1 -0
  74. package/dist/feeds/experts/_types.d.ts +22 -0
  75. package/dist/feeds/experts/_types.d.ts.map +1 -0
  76. package/dist/feeds/experts/bio.d.ts +5 -0
  77. package/dist/feeds/experts/bio.d.ts.map +1 -0
  78. package/dist/feeds/experts/bio.js +146 -0
  79. package/dist/feeds/experts/bio.js.map +1 -0
  80. package/dist/feeds/experts/bio.mjs +147 -0
  81. package/dist/feeds/experts/bio.mjs.map +1 -0
  82. package/dist/feeds/experts/grid.d.ts +5 -0
  83. package/dist/feeds/experts/grid.d.ts.map +1 -0
  84. package/dist/feeds/experts/grid.js +36 -0
  85. package/dist/feeds/experts/grid.js.map +1 -0
  86. package/dist/feeds/experts/grid.mjs +37 -0
  87. package/dist/feeds/experts/grid.mjs.map +1 -0
  88. package/dist/feeds/experts/index.d.ts +4 -0
  89. package/dist/feeds/experts/index.d.ts.map +1 -0
  90. package/dist/feeds/experts/list.d.ts.map +1 -0
  91. package/dist/feeds/experts/list.js +25 -0
  92. package/dist/feeds/experts/list.js.map +1 -0
  93. package/dist/feeds/experts/list.mjs +26 -0
  94. package/dist/feeds/experts/list.mjs.map +1 -0
  95. package/dist/feeds/news/_types.d.ts.map +1 -0
  96. package/dist/feeds/news/featured.d.ts.map +1 -0
  97. package/dist/feeds/news/featured.js +378 -0
  98. package/dist/feeds/news/featured.js.map +1 -0
  99. package/dist/feeds/news/featured.mjs +379 -0
  100. package/dist/feeds/news/featured.mjs.map +1 -0
  101. package/dist/feeds/news/grid.d.ts.map +1 -0
  102. package/dist/feeds/news/grid.js +36 -0
  103. package/dist/feeds/news/grid.js.map +1 -0
  104. package/dist/feeds/news/grid.mjs +37 -0
  105. package/dist/feeds/news/grid.mjs.map +1 -0
  106. package/dist/feeds/news/index.d.ts.map +1 -0
  107. package/dist/feeds/news/list.d.ts +5 -0
  108. package/dist/feeds/news/list.d.ts.map +1 -0
  109. package/dist/feeds/news/list.js +33 -0
  110. package/dist/feeds/news/list.js.map +1 -0
  111. package/dist/feeds/news/list.mjs +34 -0
  112. package/dist/feeds/news/list.mjs.map +1 -0
  113. package/dist/{utilities → helpers}/events/index.d.ts +1 -0
  114. package/dist/helpers/events/index.d.ts.map +1 -0
  115. package/dist/{utilities → helpers}/events/index.js +2 -0
  116. package/dist/helpers/events/index.js.map +1 -0
  117. package/dist/{utilities → helpers}/events/index.mjs +2 -0
  118. package/dist/helpers/events/index.mjs.map +1 -0
  119. package/dist/helpers/grouping/events.d.ts +14 -0
  120. package/dist/helpers/grouping/events.d.ts.map +1 -0
  121. package/dist/helpers/grouping/events.js +147 -0
  122. package/dist/helpers/grouping/events.js.map +1 -0
  123. package/dist/helpers/grouping/events.mjs +147 -0
  124. package/dist/helpers/grouping/events.mjs.map +1 -0
  125. package/dist/helpers/grouping/index.d.ts +2 -0
  126. package/dist/helpers/grouping/index.d.ts.map +1 -0
  127. package/dist/helpers/index.d.ts +5 -0
  128. package/dist/helpers/index.d.ts.map +1 -0
  129. package/dist/helpers/network/fetch.d.ts.map +1 -0
  130. package/dist/helpers/network/index.d.ts.map +1 -0
  131. package/dist/helpers/styles/index.d.ts +2 -0
  132. package/dist/helpers/styles/index.d.ts.map +1 -0
  133. package/dist/helpers/styles/shadow.d.ts +10 -0
  134. package/dist/helpers/styles/shadow.d.ts.map +1 -0
  135. package/dist/helpers/styles/shadow.js +33 -0
  136. package/dist/helpers/styles/shadow.js.map +1 -0
  137. package/dist/helpers/styles/shadow.mjs +16 -0
  138. package/dist/helpers/styles/shadow.mjs.map +1 -0
  139. package/dist/index.d.ts +4 -3
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +2 -0
  142. package/dist/index.js.map +1 -1
  143. package/dist/index.mjs +2 -0
  144. package/dist/index.mjs.map +1 -1
  145. package/dist/news.d.ts +1 -1
  146. package/dist/news.js +3 -3
  147. package/dist/news.mjs +3 -3
  148. package/dist/states/_types.d.ts +60 -0
  149. package/dist/states/_types.d.ts.map +1 -0
  150. package/dist/states/_types.js +12 -0
  151. package/dist/states/_types.js.map +1 -0
  152. package/dist/states/_types.mjs +12 -0
  153. package/dist/states/_types.mjs.map +1 -0
  154. package/dist/states/announcer.d.ts +16 -0
  155. package/dist/states/announcer.d.ts.map +1 -0
  156. package/dist/states/announcer.js +62 -0
  157. package/dist/states/announcer.js.map +1 -0
  158. package/dist/states/announcer.mjs +62 -0
  159. package/dist/states/announcer.mjs.map +1 -0
  160. package/dist/states/empty.d.ts +17 -0
  161. package/dist/states/empty.d.ts.map +1 -0
  162. package/dist/states/empty.js +121 -0
  163. package/dist/states/empty.js.map +1 -0
  164. package/dist/states/empty.mjs +104 -0
  165. package/dist/states/empty.mjs.map +1 -0
  166. package/dist/states/index.d.ts +10 -0
  167. package/dist/states/index.d.ts.map +1 -0
  168. package/dist/states/loading.d.ts +17 -0
  169. package/dist/states/loading.d.ts.map +1 -0
  170. package/dist/states/loading.js +155 -0
  171. package/dist/states/loading.js.map +1 -0
  172. package/dist/states/loading.mjs +155 -0
  173. package/dist/states/loading.mjs.map +1 -0
  174. package/dist/states/pagination.d.ts +19 -0
  175. package/dist/states/pagination.d.ts.map +1 -0
  176. package/dist/states/pagination.js +119 -0
  177. package/dist/states/pagination.js.map +1 -0
  178. package/dist/states/pagination.mjs +102 -0
  179. package/dist/states/pagination.mjs.map +1 -0
  180. package/dist/strategies/display/events.d.ts +4 -0
  181. package/dist/strategies/display/events.d.ts.map +1 -0
  182. package/dist/strategies/display/events.js +60 -0
  183. package/dist/strategies/display/events.js.map +1 -0
  184. package/dist/strategies/display/events.mjs +60 -0
  185. package/dist/strategies/display/events.mjs.map +1 -0
  186. package/dist/strategies/display/experts.d.ts +19 -0
  187. package/dist/strategies/display/experts.d.ts.map +1 -0
  188. package/dist/strategies/display/experts.js +266 -0
  189. package/dist/strategies/display/experts.js.map +1 -0
  190. package/dist/strategies/display/experts.mjs +266 -0
  191. package/dist/strategies/display/experts.mjs.map +1 -0
  192. package/dist/strategies/display/index.d.ts +5 -0
  193. package/dist/strategies/display/index.d.ts.map +1 -0
  194. package/dist/strategies/display/news.d.ts +4 -0
  195. package/dist/strategies/display/news.d.ts.map +1 -0
  196. package/dist/strategies/display/news.js +58 -0
  197. package/dist/strategies/display/news.js.map +1 -0
  198. package/dist/strategies/display/news.mjs +58 -0
  199. package/dist/strategies/display/news.mjs.map +1 -0
  200. package/dist/strategies/fetch/academic.d.ts +2 -0
  201. package/dist/strategies/fetch/academic.d.ts.map +1 -0
  202. package/dist/strategies/fetch/academic.js +30 -0
  203. package/dist/strategies/fetch/academic.js.map +1 -0
  204. package/dist/strategies/fetch/academic.mjs +30 -0
  205. package/dist/strategies/fetch/academic.mjs.map +1 -0
  206. package/dist/strategies/fetch/events.d.ts +20 -0
  207. package/dist/strategies/fetch/events.d.ts.map +1 -0
  208. package/dist/strategies/fetch/events.js +223 -0
  209. package/dist/strategies/fetch/events.js.map +1 -0
  210. package/dist/strategies/fetch/events.mjs +223 -0
  211. package/dist/strategies/fetch/events.mjs.map +1 -0
  212. package/dist/strategies/fetch/experts.d.ts +4 -0
  213. package/dist/strategies/fetch/experts.d.ts.map +1 -0
  214. package/dist/strategies/fetch/experts.js +189 -0
  215. package/dist/strategies/fetch/experts.js.map +1 -0
  216. package/dist/strategies/fetch/experts.mjs +189 -0
  217. package/dist/strategies/fetch/experts.mjs.map +1 -0
  218. package/dist/strategies/fetch/graphql.d.ts +13 -0
  219. package/dist/strategies/fetch/graphql.d.ts.map +1 -0
  220. package/dist/strategies/fetch/graphql.js +100 -0
  221. package/dist/strategies/fetch/graphql.js.map +1 -0
  222. package/dist/strategies/fetch/graphql.mjs +100 -0
  223. package/dist/strategies/fetch/graphql.mjs.map +1 -0
  224. package/dist/strategies/fetch/index.d.ts +10 -0
  225. package/dist/strategies/fetch/index.d.ts.map +1 -0
  226. package/dist/strategies/fetch/news.d.ts +4 -0
  227. package/dist/strategies/fetch/news.d.ts.map +1 -0
  228. package/dist/strategies/fetch/news.js +95 -0
  229. package/dist/strategies/fetch/news.js.map +1 -0
  230. package/dist/strategies/fetch/news.mjs +95 -0
  231. package/dist/strategies/fetch/news.mjs.map +1 -0
  232. package/dist/strategies/index.d.ts +7 -0
  233. package/dist/strategies/index.d.ts.map +1 -0
  234. package/dist/strategies/layout/featured.d.ts +8 -0
  235. package/dist/strategies/layout/featured.d.ts.map +1 -0
  236. package/dist/strategies/layout/grid.d.ts +7 -0
  237. package/dist/strategies/layout/grid.d.ts.map +1 -0
  238. package/dist/strategies/layout/grid.js +36 -0
  239. package/dist/strategies/layout/grid.js.map +1 -0
  240. package/dist/strategies/layout/grid.mjs +36 -0
  241. package/dist/strategies/layout/grid.mjs.map +1 -0
  242. package/dist/strategies/layout/index.d.ts +4 -0
  243. package/dist/strategies/layout/index.d.ts.map +1 -0
  244. package/dist/types/api.d.ts +34 -0
  245. package/dist/types/api.d.ts.map +1 -0
  246. package/dist/types/core.d.ts +40 -0
  247. package/dist/types/core.d.ts.map +1 -0
  248. package/dist/types/data/academic.d.ts +6 -0
  249. package/dist/types/data/academic.d.ts.map +1 -0
  250. package/dist/types/data/events.d.ts +21 -0
  251. package/dist/types/data/events.d.ts.map +1 -0
  252. package/dist/types/data/experts.d.ts +53 -0
  253. package/dist/types/data/experts.d.ts.map +1 -0
  254. package/dist/types/data/index.d.ts +5 -0
  255. package/dist/types/data/index.d.ts.map +1 -0
  256. package/dist/types/data/news.d.ts +6 -0
  257. package/dist/types/data/news.d.ts.map +1 -0
  258. package/dist/types/feeds.d.ts +35 -0
  259. package/dist/types/feeds.d.ts.map +1 -0
  260. package/dist/types/index.d.ts +5 -0
  261. package/dist/types/index.d.ts.map +1 -0
  262. package/dist/widgets/index.d.ts +2 -0
  263. package/dist/widgets/index.d.ts.map +1 -0
  264. package/dist/widgets/slider.d.ts.map +1 -0
  265. package/dist/{macros → widgets}/slider.js +2 -4
  266. package/dist/{macros/slider.mjs.map → widgets/slider.js.map} +1 -1
  267. package/dist/{macros → widgets}/slider.mjs +2 -4
  268. package/dist/widgets/slider.mjs.map +1 -0
  269. package/package.json +17 -3
  270. package/dist/composite/academic/_types.d.ts.map +0 -1
  271. package/dist/composite/academic/index.d.ts.map +0 -1
  272. package/dist/composite/academic/slider.d.ts.map +0 -1
  273. package/dist/composite/academic/slider.js +0 -34
  274. package/dist/composite/academic/slider.js.map +0 -1
  275. package/dist/composite/academic/slider.mjs +0 -35
  276. package/dist/composite/academic/slider.mjs.map +0 -1
  277. package/dist/composite/events/_types.d.ts.map +0 -1
  278. package/dist/composite/events/common/data.d.ts +0 -48
  279. package/dist/composite/events/common/data.d.ts.map +0 -1
  280. package/dist/composite/events/common/data.js +0 -53
  281. package/dist/composite/events/common/data.js.map +0 -1
  282. package/dist/composite/events/common/data.mjs +0 -53
  283. package/dist/composite/events/common/data.mjs.map +0 -1
  284. package/dist/composite/events/common/display.d.ts +0 -18
  285. package/dist/composite/events/common/display.d.ts.map +0 -1
  286. package/dist/composite/events/common/display.js +0 -147
  287. package/dist/composite/events/common/display.js.map +0 -1
  288. package/dist/composite/events/common/display.mjs +0 -130
  289. package/dist/composite/events/common/display.mjs.map +0 -1
  290. package/dist/composite/events/common/fetch.d.ts +0 -24
  291. package/dist/composite/events/common/fetch.d.ts.map +0 -1
  292. package/dist/composite/events/common/fetch.js +0 -117
  293. package/dist/composite/events/common/fetch.js.map +0 -1
  294. package/dist/composite/events/common/fetch.mjs +0 -117
  295. package/dist/composite/events/common/fetch.mjs.map +0 -1
  296. package/dist/composite/events/common/queries.d.ts +0 -5
  297. package/dist/composite/events/common/queries.d.ts.map +0 -1
  298. package/dist/composite/events/common/queries.js +0 -113
  299. package/dist/composite/events/common/queries.js.map +0 -1
  300. package/dist/composite/events/common/queries.mjs +0 -113
  301. package/dist/composite/events/common/queries.mjs.map +0 -1
  302. package/dist/composite/events/grid.d.ts.map +0 -1
  303. package/dist/composite/events/grid.js +0 -90
  304. package/dist/composite/events/grid.js.map +0 -1
  305. package/dist/composite/events/grid.mjs +0 -91
  306. package/dist/composite/events/grid.mjs.map +0 -1
  307. package/dist/composite/events/grouped.d.ts.map +0 -1
  308. package/dist/composite/events/grouped.js +0 -300
  309. package/dist/composite/events/grouped.js.map +0 -1
  310. package/dist/composite/events/grouped.mjs +0 -284
  311. package/dist/composite/events/grouped.mjs.map +0 -1
  312. package/dist/composite/events/index.d.ts.map +0 -1
  313. package/dist/composite/events/list.d.ts.map +0 -1
  314. package/dist/composite/events/list.js +0 -90
  315. package/dist/composite/events/list.js.map +0 -1
  316. package/dist/composite/events/list.mjs +0 -91
  317. package/dist/composite/events/list.mjs.map +0 -1
  318. package/dist/composite/events/slider.d.ts.map +0 -1
  319. package/dist/composite/events/slider.js +0 -35
  320. package/dist/composite/events/slider.js.map +0 -1
  321. package/dist/composite/events/slider.mjs +0 -36
  322. package/dist/composite/events/slider.mjs.map +0 -1
  323. package/dist/composite/news/_types.d.ts.map +0 -1
  324. package/dist/composite/news/common/data.d.ts +0 -47
  325. package/dist/composite/news/common/data.d.ts.map +0 -1
  326. package/dist/composite/news/common/data.js +0 -62
  327. package/dist/composite/news/common/data.js.map +0 -1
  328. package/dist/composite/news/common/data.mjs +0 -62
  329. package/dist/composite/news/common/data.mjs.map +0 -1
  330. package/dist/composite/news/common/display.d.ts +0 -17
  331. package/dist/composite/news/common/display.d.ts.map +0 -1
  332. package/dist/composite/news/common/display.js +0 -147
  333. package/dist/composite/news/common/display.js.map +0 -1
  334. package/dist/composite/news/common/display.mjs +0 -130
  335. package/dist/composite/news/common/display.mjs.map +0 -1
  336. package/dist/composite/news/common/fetch.d.ts +0 -22
  337. package/dist/composite/news/common/fetch.d.ts.map +0 -1
  338. package/dist/composite/news/common/fetch.js +0 -87
  339. package/dist/composite/news/common/fetch.js.map +0 -1
  340. package/dist/composite/news/common/fetch.mjs +0 -87
  341. package/dist/composite/news/common/fetch.mjs.map +0 -1
  342. package/dist/composite/news/common/queries.d.ts +0 -2
  343. package/dist/composite/news/common/queries.d.ts.map +0 -1
  344. package/dist/composite/news/common/queries.js +0 -37
  345. package/dist/composite/news/common/queries.js.map +0 -1
  346. package/dist/composite/news/common/queries.mjs +0 -37
  347. package/dist/composite/news/common/queries.mjs.map +0 -1
  348. package/dist/composite/news/featured.d.ts.map +0 -1
  349. package/dist/composite/news/featured.js +0 -182
  350. package/dist/composite/news/featured.js.map +0 -1
  351. package/dist/composite/news/featured.mjs +0 -183
  352. package/dist/composite/news/featured.mjs.map +0 -1
  353. package/dist/composite/news/grid.d.ts.map +0 -1
  354. package/dist/composite/news/grid.js +0 -98
  355. package/dist/composite/news/grid.js.map +0 -1
  356. package/dist/composite/news/grid.mjs +0 -99
  357. package/dist/composite/news/grid.mjs.map +0 -1
  358. package/dist/composite/news/index.d.ts.map +0 -1
  359. package/dist/composite/news/list.d.ts.map +0 -1
  360. package/dist/composite/news/list.js +0 -85
  361. package/dist/composite/news/list.js.map +0 -1
  362. package/dist/composite/news/list.mjs +0 -86
  363. package/dist/composite/news/list.mjs.map +0 -1
  364. package/dist/elements/asset.d.ts +0 -10
  365. package/dist/elements/asset.d.ts.map +0 -1
  366. package/dist/elements/asset.js +0 -27
  367. package/dist/elements/asset.js.map +0 -1
  368. package/dist/elements/asset.mjs +0 -27
  369. package/dist/elements/asset.mjs.map +0 -1
  370. package/dist/elements/index.d.ts +0 -4
  371. package/dist/elements/index.d.ts.map +0 -1
  372. package/dist/elements/layout.d.ts +0 -27
  373. package/dist/elements/layout.d.ts.map +0 -1
  374. package/dist/elements/layout.js +0 -121
  375. package/dist/elements/layout.js.map +0 -1
  376. package/dist/elements/layout.mjs +0 -104
  377. package/dist/elements/layout.mjs.map +0 -1
  378. package/dist/elements/text.d.ts +0 -12
  379. package/dist/elements/text.d.ts.map +0 -1
  380. package/dist/elements/text.js +0 -41
  381. package/dist/elements/text.js.map +0 -1
  382. package/dist/elements/text.mjs +0 -41
  383. package/dist/elements/text.mjs.map +0 -1
  384. package/dist/macros/aria-live.d.ts +0 -11
  385. package/dist/macros/aria-live.d.ts.map +0 -1
  386. package/dist/macros/aria-live.js +0 -25
  387. package/dist/macros/aria-live.js.map +0 -1
  388. package/dist/macros/aria-live.mjs +0 -26
  389. package/dist/macros/aria-live.mjs.map +0 -1
  390. package/dist/macros/index.d.ts +0 -6
  391. package/dist/macros/index.d.ts.map +0 -1
  392. package/dist/macros/lazy-load.d.ts +0 -19
  393. package/dist/macros/lazy-load.d.ts.map +0 -1
  394. package/dist/macros/lazy-load.js +0 -63
  395. package/dist/macros/lazy-load.js.map +0 -1
  396. package/dist/macros/lazy-load.mjs +0 -47
  397. package/dist/macros/lazy-load.mjs.map +0 -1
  398. package/dist/macros/loader.d.ts +0 -18
  399. package/dist/macros/loader.d.ts.map +0 -1
  400. package/dist/macros/loader.js +0 -148
  401. package/dist/macros/loader.js.map +0 -1
  402. package/dist/macros/loader.mjs +0 -132
  403. package/dist/macros/loader.mjs.map +0 -1
  404. package/dist/macros/no-results.d.ts +0 -15
  405. package/dist/macros/no-results.d.ts.map +0 -1
  406. package/dist/macros/no-results.js +0 -71
  407. package/dist/macros/no-results.js.map +0 -1
  408. package/dist/macros/no-results.mjs +0 -55
  409. package/dist/macros/no-results.mjs.map +0 -1
  410. package/dist/macros/slider.d.ts.map +0 -1
  411. package/dist/macros/slider.js.map +0 -1
  412. package/dist/utilities/events/index.d.ts.map +0 -1
  413. package/dist/utilities/events/index.js.map +0 -1
  414. package/dist/utilities/events/index.mjs.map +0 -1
  415. package/dist/utilities/index.d.ts +0 -3
  416. package/dist/utilities/index.d.ts.map +0 -1
  417. package/dist/utilities/network/fetch.d.ts.map +0 -1
  418. package/dist/utilities/network/index.d.ts.map +0 -1
  419. /package/dist/{composite → feeds}/academic/_types.d.ts +0 -0
  420. /package/dist/{composite → feeds}/academic/index.d.ts +0 -0
  421. /package/dist/{composite → feeds}/academic/slider.d.ts +0 -0
  422. /package/dist/{composite → feeds}/events/_types.d.ts +0 -0
  423. /package/dist/{composite → feeds}/events/grid.d.ts +0 -0
  424. /package/dist/{composite → feeds}/events/grouped.d.ts +0 -0
  425. /package/dist/{composite → feeds}/events/index.d.ts +0 -0
  426. /package/dist/{composite → feeds}/events/list.d.ts +0 -0
  427. /package/dist/{composite → feeds}/events/slider.d.ts +0 -0
  428. /package/dist/{composite/news → feeds/experts}/list.d.ts +0 -0
  429. /package/dist/{composite → feeds}/news/_types.d.ts +0 -0
  430. /package/dist/{composite → feeds}/news/featured.d.ts +0 -0
  431. /package/dist/{composite → feeds}/news/grid.d.ts +0 -0
  432. /package/dist/{composite → feeds}/news/index.d.ts +0 -0
  433. /package/dist/{utilities → helpers}/network/fetch.d.ts +0 -0
  434. /package/dist/{utilities → helpers}/network/index.d.ts +0 -0
  435. /package/dist/{macros → widgets}/slider.d.ts +0 -0
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Styles = require("@universityofmaryland/web-styles-library");
4
+ const loading = require("../../states/loading.js");
5
+ require("@universityofmaryland/web-builder-library");
6
+ require("@universityofmaryland/web-elements-library");
7
+ require("@universityofmaryland/web-utilities-library/theme");
8
+ const announcer = require("../../states/announcer.js");
9
+ function _interopNamespaceDefault(e) {
10
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
11
+ if (e) {
12
+ for (const k in e) {
13
+ if (k !== "default") {
14
+ const d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: () => e[k]
18
+ });
19
+ }
20
+ }
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+ const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
26
+ function createFetchHandlers(config) {
27
+ const {
28
+ fetchStrategy,
29
+ helpers,
30
+ baseProps,
31
+ displayHandlers,
32
+ layoutElement,
33
+ isThemeDark,
34
+ enableCategoryFallback = false
35
+ } = config;
36
+ const loadMore = async () => {
37
+ const container = helpers.getContainer();
38
+ const currentCount = helpers.getOffset();
39
+ const totalEntries = helpers.getTotalEntries();
40
+ const existingPagination = container.querySelector(
41
+ `.${Styles__namespace.layout.alignment.block.center.className}`
42
+ );
43
+ existingPagination?.remove();
44
+ const loading$1 = new loading.LoadingState({ isThemeDark });
45
+ loading$1.show(container);
46
+ const variables = fetchStrategy.composeApiVariables({
47
+ ...baseProps,
48
+ getOffset: helpers.getOffset
49
+ });
50
+ const feedData = await fetchStrategy.fetchEntries(variables);
51
+ if (feedData) {
52
+ loading$1.hide();
53
+ await displayHandlers.displayResults({ feedData });
54
+ const message = `Showing ${currentCount + feedData.length} of ${totalEntries} articles`;
55
+ const existingAnnouncer = container.querySelector(
56
+ '[role="status"]'
57
+ );
58
+ if (existingAnnouncer) {
59
+ existingAnnouncer.textContent = message;
60
+ } else {
61
+ const announcer$1 = new announcer.Announcer({ message });
62
+ container.appendChild(announcer$1.getElement());
63
+ }
64
+ } else {
65
+ loading$1.hide();
66
+ displayHandlers.displayNoResults({
67
+ message: "An error occurred while loading more results."
68
+ });
69
+ }
70
+ };
71
+ const start = async () => {
72
+ const variables = fetchStrategy.composeApiVariables({
73
+ ...baseProps,
74
+ getOffset: helpers.getOffset
75
+ });
76
+ const count = await fetchStrategy.fetchCount(variables);
77
+ if (count === 0) {
78
+ if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {
79
+ const fallbackVariables = fetchStrategy.composeApiVariables({
80
+ ...baseProps,
81
+ categories: void 0,
82
+ getOffset: helpers.getOffset
83
+ });
84
+ const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);
85
+ if (fallbackCount && fallbackCount > 0) {
86
+ helpers.setTotalEntries(fallbackCount);
87
+ const fallbackData = await fetchStrategy.fetchEntries(
88
+ fallbackVariables
89
+ );
90
+ if (fallbackData && fallbackData.length > 0) {
91
+ let categoryNames = await fetchStrategy.fetchCategoryNames?.(
92
+ baseProps.categories,
93
+ baseProps.token
94
+ );
95
+ if (!categoryNames || categoryNames.length === 0) {
96
+ categoryNames = baseProps.categories.map(
97
+ (id) => id.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ")
98
+ );
99
+ }
100
+ await displayHandlers.displayResultStart({
101
+ feedData: fallbackData,
102
+ layoutElement,
103
+ isFallback: true,
104
+ categoryNames
105
+ });
106
+ return;
107
+ }
108
+ }
109
+ }
110
+ displayHandlers.displayNoResults({});
111
+ return;
112
+ }
113
+ if (count === null) {
114
+ displayHandlers.displayNoResults({
115
+ message: "An error occurred while fetching the data."
116
+ });
117
+ return;
118
+ }
119
+ if (count) {
120
+ helpers.setTotalEntries(count);
121
+ }
122
+ const feedData = await fetchStrategy.fetchEntries(variables);
123
+ if (feedData && feedData.length > 0) {
124
+ await displayHandlers.displayResultStart({
125
+ feedData,
126
+ layoutElement
127
+ });
128
+ } else {
129
+ displayHandlers.displayNoResults({
130
+ message: "An error occurred while fetching the data."
131
+ });
132
+ }
133
+ };
134
+ return {
135
+ start,
136
+ loadMore
137
+ };
138
+ }
139
+ exports.createFetchHandlers = createFetchHandlers;
140
+ //# sourceMappingURL=fetchHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchHandler.js","sources":["../../../source/factory/helpers/fetchHandler.ts"],"sourcesContent":["/**\n * Fetch Handler Utilities\n *\n * Creates handlers for fetching feed data using a fetch strategy.\n * Handles both initial fetch and lazy-loaded fetches.\n *\n * @module factory/helpers/fetchHandler\n */\n\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { LoadingState, Announcer } from '../../states';\nimport { FetchStrategy, FeedHelpers } from '../core/types';\n\n/**\n * Configuration for creating fetch handlers\n */\ninterface FetchHandlerConfig<TData, TVariables> {\n /** Strategy for fetching data */\n fetchStrategy: FetchStrategy<TData, TVariables>;\n /** Feed helper functions */\n helpers: FeedHelpers;\n /** Base props for composing API variables */\n baseProps: any;\n /** Display handlers */\n displayHandlers: {\n displayResultStart: (props: any) => Promise<void>;\n displayResults: (props: { feedData: TData[] }) => Promise<void>;\n displayNoResults: (props: any) => void;\n };\n /** Layout element */\n layoutElement: any;\n /** Whether theme is dark */\n isThemeDark?: boolean;\n /** Whether to enable category fallback (show all results when no category results found) */\n enableCategoryFallback?: boolean;\n}\n\n/**\n * Create fetch handlers for a feed\n *\n * Returns handlers for:\n * - Initial data fetch (with count)\n * - Lazy load fetch (pagination)\n *\n * @param config - Configuration for the fetch handlers\n * @returns Fetch handler functions\n *\n * @example\n * ```typescript\n * const fetchHandlers = createFetchHandlers({\n * fetchStrategy: eventsFetchStrategy,\n * helpers: feedHelpers,\n * baseProps: { token, categories },\n * displayHandlers,\n * layoutElement,\n * isThemeDark: false,\n * });\n *\n * // Start initial fetch\n * await fetchHandlers.start();\n *\n * // Fetch more results\n * await fetchHandlers.loadMore();\n * ```\n */\nexport function createFetchHandlers<TData, TVariables>(\n config: FetchHandlerConfig<TData, TVariables>,\n) {\n const {\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback = false,\n } = config;\n\n /**\n * Handle lazy loading more results\n */\n const loadMore = async (): Promise<void> => {\n const container = helpers.getContainer();\n const currentCount = helpers.getOffset();\n const totalEntries = helpers.getTotalEntries();\n\n // Remove existing pagination\n const existingPagination = container.querySelector(\n `.${Styles.layout.alignment.block.center.className}`,\n );\n existingPagination?.remove();\n\n // Show loading state\n const loading = new LoadingState({ isThemeDark });\n loading.show(container);\n\n // Compose API variables\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData) {\n loading.hide();\n await displayHandlers.displayResults({ feedData });\n\n // Update announcer with new count\n const message = `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`;\n\n const existingAnnouncer = container.querySelector(\n '[role=\"status\"]',\n ) as HTMLElement;\n if (existingAnnouncer) {\n existingAnnouncer.textContent = message;\n } else {\n const announcer = new Announcer({ message });\n container.appendChild(announcer.getElement());\n }\n } else {\n loading.hide();\n displayHandlers.displayNoResults({\n message: 'An error occurred while loading more results.',\n });\n }\n };\n\n /**\n * Handle initial fetch (with count)\n */\n const start = async (): Promise<void> => {\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n const count = await fetchStrategy.fetchCount(variables);\n\n if (count === 0) {\n // Only attempt category fallback if explicitly enabled (for events feeds)\n if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {\n const fallbackVariables = fetchStrategy.composeApiVariables({\n ...baseProps,\n categories: undefined,\n getOffset: helpers.getOffset,\n });\n\n const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);\n\n if (fallbackCount && fallbackCount > 0) {\n helpers.setTotalEntries(fallbackCount);\n\n const fallbackData = await fetchStrategy.fetchEntries(\n fallbackVariables,\n );\n\n if (fallbackData && fallbackData.length > 0) {\n // Fetch category names from API\n let categoryNames = await fetchStrategy.fetchCategoryNames?.(\n baseProps.categories,\n baseProps.token,\n );\n\n // If fetch fails, format IDs as fallback\n if (!categoryNames || categoryNames.length === 0) {\n categoryNames = baseProps.categories.map((id: string) =>\n id\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' '),\n );\n }\n\n await displayHandlers.displayResultStart({\n feedData: fallbackData,\n layoutElement,\n isFallback: true,\n categoryNames,\n });\n return;\n }\n }\n }\n\n displayHandlers.displayNoResults({});\n return;\n }\n\n if (count === null) {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n if (count) {\n helpers.setTotalEntries(count);\n }\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData && feedData.length > 0) {\n await displayHandlers.displayResultStart({\n feedData,\n layoutElement,\n });\n } else {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n }\n };\n\n return {\n start,\n loadMore,\n };\n}\n"],"names":["Styles","loading","LoadingState","announcer","Announcer"],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import * as Styles from "@universityofmaryland/web-styles-library";
2
+ import { LoadingState } from "../../states/loading.mjs";
3
+ import "@universityofmaryland/web-builder-library";
4
+ import "@universityofmaryland/web-elements-library";
5
+ import "@universityofmaryland/web-utilities-library/theme";
6
+ import { Announcer } from "../../states/announcer.mjs";
7
+ function createFetchHandlers(config) {
8
+ const {
9
+ fetchStrategy,
10
+ helpers,
11
+ baseProps,
12
+ displayHandlers,
13
+ layoutElement,
14
+ isThemeDark,
15
+ enableCategoryFallback = false
16
+ } = config;
17
+ const loadMore = async () => {
18
+ const container = helpers.getContainer();
19
+ const currentCount = helpers.getOffset();
20
+ const totalEntries = helpers.getTotalEntries();
21
+ const existingPagination = container.querySelector(
22
+ `.${Styles.layout.alignment.block.center.className}`
23
+ );
24
+ existingPagination?.remove();
25
+ const loading = new LoadingState({ isThemeDark });
26
+ loading.show(container);
27
+ const variables = fetchStrategy.composeApiVariables({
28
+ ...baseProps,
29
+ getOffset: helpers.getOffset
30
+ });
31
+ const feedData = await fetchStrategy.fetchEntries(variables);
32
+ if (feedData) {
33
+ loading.hide();
34
+ await displayHandlers.displayResults({ feedData });
35
+ const message = `Showing ${currentCount + feedData.length} of ${totalEntries} articles`;
36
+ const existingAnnouncer = container.querySelector(
37
+ '[role="status"]'
38
+ );
39
+ if (existingAnnouncer) {
40
+ existingAnnouncer.textContent = message;
41
+ } else {
42
+ const announcer = new Announcer({ message });
43
+ container.appendChild(announcer.getElement());
44
+ }
45
+ } else {
46
+ loading.hide();
47
+ displayHandlers.displayNoResults({
48
+ message: "An error occurred while loading more results."
49
+ });
50
+ }
51
+ };
52
+ const start = async () => {
53
+ const variables = fetchStrategy.composeApiVariables({
54
+ ...baseProps,
55
+ getOffset: helpers.getOffset
56
+ });
57
+ const count = await fetchStrategy.fetchCount(variables);
58
+ if (count === 0) {
59
+ if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {
60
+ const fallbackVariables = fetchStrategy.composeApiVariables({
61
+ ...baseProps,
62
+ categories: void 0,
63
+ getOffset: helpers.getOffset
64
+ });
65
+ const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);
66
+ if (fallbackCount && fallbackCount > 0) {
67
+ helpers.setTotalEntries(fallbackCount);
68
+ const fallbackData = await fetchStrategy.fetchEntries(
69
+ fallbackVariables
70
+ );
71
+ if (fallbackData && fallbackData.length > 0) {
72
+ let categoryNames = await fetchStrategy.fetchCategoryNames?.(
73
+ baseProps.categories,
74
+ baseProps.token
75
+ );
76
+ if (!categoryNames || categoryNames.length === 0) {
77
+ categoryNames = baseProps.categories.map(
78
+ (id) => id.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ")
79
+ );
80
+ }
81
+ await displayHandlers.displayResultStart({
82
+ feedData: fallbackData,
83
+ layoutElement,
84
+ isFallback: true,
85
+ categoryNames
86
+ });
87
+ return;
88
+ }
89
+ }
90
+ }
91
+ displayHandlers.displayNoResults({});
92
+ return;
93
+ }
94
+ if (count === null) {
95
+ displayHandlers.displayNoResults({
96
+ message: "An error occurred while fetching the data."
97
+ });
98
+ return;
99
+ }
100
+ if (count) {
101
+ helpers.setTotalEntries(count);
102
+ }
103
+ const feedData = await fetchStrategy.fetchEntries(variables);
104
+ if (feedData && feedData.length > 0) {
105
+ await displayHandlers.displayResultStart({
106
+ feedData,
107
+ layoutElement
108
+ });
109
+ } else {
110
+ displayHandlers.displayNoResults({
111
+ message: "An error occurred while fetching the data."
112
+ });
113
+ }
114
+ };
115
+ return {
116
+ start,
117
+ loadMore
118
+ };
119
+ }
120
+ export {
121
+ createFetchHandlers
122
+ };
123
+ //# sourceMappingURL=fetchHandler.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchHandler.mjs","sources":["../../../source/factory/helpers/fetchHandler.ts"],"sourcesContent":["/**\n * Fetch Handler Utilities\n *\n * Creates handlers for fetching feed data using a fetch strategy.\n * Handles both initial fetch and lazy-loaded fetches.\n *\n * @module factory/helpers/fetchHandler\n */\n\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { LoadingState, Announcer } from '../../states';\nimport { FetchStrategy, FeedHelpers } from '../core/types';\n\n/**\n * Configuration for creating fetch handlers\n */\ninterface FetchHandlerConfig<TData, TVariables> {\n /** Strategy for fetching data */\n fetchStrategy: FetchStrategy<TData, TVariables>;\n /** Feed helper functions */\n helpers: FeedHelpers;\n /** Base props for composing API variables */\n baseProps: any;\n /** Display handlers */\n displayHandlers: {\n displayResultStart: (props: any) => Promise<void>;\n displayResults: (props: { feedData: TData[] }) => Promise<void>;\n displayNoResults: (props: any) => void;\n };\n /** Layout element */\n layoutElement: any;\n /** Whether theme is dark */\n isThemeDark?: boolean;\n /** Whether to enable category fallback (show all results when no category results found) */\n enableCategoryFallback?: boolean;\n}\n\n/**\n * Create fetch handlers for a feed\n *\n * Returns handlers for:\n * - Initial data fetch (with count)\n * - Lazy load fetch (pagination)\n *\n * @param config - Configuration for the fetch handlers\n * @returns Fetch handler functions\n *\n * @example\n * ```typescript\n * const fetchHandlers = createFetchHandlers({\n * fetchStrategy: eventsFetchStrategy,\n * helpers: feedHelpers,\n * baseProps: { token, categories },\n * displayHandlers,\n * layoutElement,\n * isThemeDark: false,\n * });\n *\n * // Start initial fetch\n * await fetchHandlers.start();\n *\n * // Fetch more results\n * await fetchHandlers.loadMore();\n * ```\n */\nexport function createFetchHandlers<TData, TVariables>(\n config: FetchHandlerConfig<TData, TVariables>,\n) {\n const {\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback = false,\n } = config;\n\n /**\n * Handle lazy loading more results\n */\n const loadMore = async (): Promise<void> => {\n const container = helpers.getContainer();\n const currentCount = helpers.getOffset();\n const totalEntries = helpers.getTotalEntries();\n\n // Remove existing pagination\n const existingPagination = container.querySelector(\n `.${Styles.layout.alignment.block.center.className}`,\n );\n existingPagination?.remove();\n\n // Show loading state\n const loading = new LoadingState({ isThemeDark });\n loading.show(container);\n\n // Compose API variables\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData) {\n loading.hide();\n await displayHandlers.displayResults({ feedData });\n\n // Update announcer with new count\n const message = `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`;\n\n const existingAnnouncer = container.querySelector(\n '[role=\"status\"]',\n ) as HTMLElement;\n if (existingAnnouncer) {\n existingAnnouncer.textContent = message;\n } else {\n const announcer = new Announcer({ message });\n container.appendChild(announcer.getElement());\n }\n } else {\n loading.hide();\n displayHandlers.displayNoResults({\n message: 'An error occurred while loading more results.',\n });\n }\n };\n\n /**\n * Handle initial fetch (with count)\n */\n const start = async (): Promise<void> => {\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n const count = await fetchStrategy.fetchCount(variables);\n\n if (count === 0) {\n // Only attempt category fallback if explicitly enabled (for events feeds)\n if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {\n const fallbackVariables = fetchStrategy.composeApiVariables({\n ...baseProps,\n categories: undefined,\n getOffset: helpers.getOffset,\n });\n\n const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);\n\n if (fallbackCount && fallbackCount > 0) {\n helpers.setTotalEntries(fallbackCount);\n\n const fallbackData = await fetchStrategy.fetchEntries(\n fallbackVariables,\n );\n\n if (fallbackData && fallbackData.length > 0) {\n // Fetch category names from API\n let categoryNames = await fetchStrategy.fetchCategoryNames?.(\n baseProps.categories,\n baseProps.token,\n );\n\n // If fetch fails, format IDs as fallback\n if (!categoryNames || categoryNames.length === 0) {\n categoryNames = baseProps.categories.map((id: string) =>\n id\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' '),\n );\n }\n\n await displayHandlers.displayResultStart({\n feedData: fallbackData,\n layoutElement,\n isFallback: true,\n categoryNames,\n });\n return;\n }\n }\n }\n\n displayHandlers.displayNoResults({});\n return;\n }\n\n if (count === null) {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n if (count) {\n helpers.setTotalEntries(count);\n }\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData && feedData.length > 0) {\n await displayHandlers.displayResultStart({\n feedData,\n layoutElement,\n });\n } else {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n }\n };\n\n return {\n start,\n loadMore,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { createFeedHelpers, updateShadowRoot } from './feedHelpers';
2
+ export { createDisplayHandlers, setShadowStyles } from './displayHandler';
3
+ export { createFetchHandlers } from './fetchHandler';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/factory/helpers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { createBaseFeed } from './core';
2
+ export type { BaseFeedConfig, FeedHelpers, FetchStrategy, DisplayStrategy, LayoutStrategy, CardMappingOptions, ImageConfig, DisplayResultsProps, NoResultsConfig, FeedLifecycle, FeedEvents, FeedFactoryResult, LayoutOptions, } from './core/types';
3
+ export { createFeedHelpers, createDisplayHandlers, createFetchHandlers, setShadowStyles, } from './helpers';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/factory/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/_types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/slider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAiBjC,OAAO,mBAAmB,KAAG,YAAY;AAAzD,wBAKK"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const slider$1 = require("../../widgets/slider.js");
3
+ const academic = require("../../strategies/fetch/academic.js");
4
+ const slider = (props) => slider$1({
5
+ ...props,
6
+ query: academic.ACADEMIC_SLIDER_QUERY,
7
+ url: "https://provost.umd.edu/graphql"
8
+ });
9
+ module.exports = slider;
10
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","sources":["../../../source/feeds/academic/slider.ts"],"sourcesContent":["/**\n * Academic Slider Feed (Migrated)\n *\n * Displays academic events in a horizontal carousel layout.\n * Uses strategy pattern for GraphQL queries.\n *\n * @module composite/academic/slider-new\n */\n\nimport { slider } from '../../widgets';\nimport { ACADEMIC_SLIDER_QUERY } from '../../strategies/fetch/academic';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Creates an academic events slider feed\n *\n * @param props - Slider configuration options\n * @returns ElementModel with slider element and styles\n *\n * @example\n * ```typescript\n * const academicSlider = slider({\n * token: 'your-token',\n * categories: 'engineering,science',\n * isThemeDark: false,\n * });\n * ```\n */\nexport default (props: AcademicSliderProps): ElementModel =>\n slider({\n ...props,\n query: ACADEMIC_SLIDER_QUERY,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["slider","ACADEMIC_SLIDER_QUERY"],"mappings":";;;AA6BA,MAAA,SAAe,CAAC,UACdA,SAAO;AAAA,EACL,GAAG;AAAA,EACH,OAAOC,SAAAA;AAAAA,EACP,KAAK;AACP,CAAC;;"}
@@ -0,0 +1,11 @@
1
+ import slider$1 from "../../widgets/slider.mjs";
2
+ import { ACADEMIC_SLIDER_QUERY } from "../../strategies/fetch/academic.mjs";
3
+ const slider = (props) => slider$1({
4
+ ...props,
5
+ query: ACADEMIC_SLIDER_QUERY,
6
+ url: "https://provost.umd.edu/graphql"
7
+ });
8
+ export {
9
+ slider as default
10
+ };
11
+ //# sourceMappingURL=slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.mjs","sources":["../../../source/feeds/academic/slider.ts"],"sourcesContent":["/**\n * Academic Slider Feed (Migrated)\n *\n * Displays academic events in a horizontal carousel layout.\n * Uses strategy pattern for GraphQL queries.\n *\n * @module composite/academic/slider-new\n */\n\nimport { slider } from '../../widgets';\nimport { ACADEMIC_SLIDER_QUERY } from '../../strategies/fetch/academic';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Creates an academic events slider feed\n *\n * @param props - Slider configuration options\n * @returns ElementModel with slider element and styles\n *\n * @example\n * ```typescript\n * const academicSlider = slider({\n * token: 'your-token',\n * categories: 'engineering,science',\n * isThemeDark: false,\n * });\n * ```\n */\nexport default (props: AcademicSliderProps): ElementModel =>\n slider({\n ...props,\n query: ACADEMIC_SLIDER_QUERY,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["slider"],"mappings":";;AA6BA,MAAA,SAAe,CAAC,UACdA,SAAO;AAAA,EACL,GAAG;AAAA,EACH,OAAO;AAAA,EACP,KAAK;AACP,CAAC;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/_types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/grid.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAqBjC,OAAO,UAAU,KAAG,YAAY;AAAhD,wBAaK"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ const createBaseFeed = require("../../factory/core/createBaseFeed.js");
3
+ require("@universityofmaryland/web-builder-library");
4
+ require("@universityofmaryland/web-styles-library");
5
+ require("@universityofmaryland/web-styles-library/typography");
6
+ require("@universityofmaryland/web-utilities-library/theme");
7
+ require("@universityofmaryland/web-elements-library");
8
+ const events$1 = require("../../strategies/display/events.js");
9
+ require("@universityofmaryland/web-elements-library/composite");
10
+ require("@universityofmaryland/web-utilities-library/elements");
11
+ require("@universityofmaryland/web-utilities-library/network");
12
+ const events = require("../../strategies/fetch/events.js");
13
+ require("../../strategies/fetch/news.js");
14
+ require("../../strategies/fetch/experts.js");
15
+ const grid$1 = require("../../strategies/layout/grid.js");
16
+ require("@universityofmaryland/web-elements-library/layout");
17
+ const grid = (props) => createBaseFeed.createBaseFeed({
18
+ ...props,
19
+ enableCategoryFallback: true,
20
+ fetchStrategy: events.eventsFetchStrategy,
21
+ displayStrategy: events$1.eventsDisplayStrategy,
22
+ layoutStrategy: grid$1.gridGapLayout,
23
+ imageConfig: (entry) => ({
24
+ imageUrl: entry.image[0].url,
25
+ altText: entry.image[0].altText || "Event Image",
26
+ linkUrl: entry.url,
27
+ linkLabel: "University of Maryland Event"
28
+ })
29
+ });
30
+ module.exports = grid;
31
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.js","sources":["../../../source/feeds/events/grid.ts"],"sourcesContent":["/**\n * Events Grid Feed (Factory Pattern)\n *\n * Grid layout for event entries using the feed factory pattern.\n * This is the NEW implementation using factory + strategies.\n *\n * @module composite/events/grid-new\n */\n\nimport { createBaseFeed } from 'factory';\nimport {\n eventsFetchStrategy,\n eventsDisplayStrategy,\n gridGapLayout,\n} from 'strategies';\nimport { type BlockProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Create an events grid feed\n *\n * @param props - Feed configuration\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * const feed = eventsGrid({\n * token: 'my-token',\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: true,\n * categories: ['sports', 'arts'],\n * });\n *\n * document.body.appendChild(feed.element);\n * ```\n */\nexport default (props: BlockProps): ElementModel =>\n createBaseFeed({\n ...props,\n enableCategoryFallback: true,\n fetchStrategy: eventsFetchStrategy,\n displayStrategy: eventsDisplayStrategy,\n layoutStrategy: gridGapLayout,\n imageConfig: (entry) => ({\n imageUrl: entry.image[0].url,\n altText: entry.image[0].altText || 'Event Image',\n linkUrl: entry.url,\n linkLabel: 'University of Maryland Event',\n }),\n });\n"],"names":["createBaseFeed","eventsFetchStrategy","eventsDisplayStrategy","gridGapLayout"],"mappings":";;;;;;;;;;;;;;;;AAqCA,MAAA,OAAe,CAAC,UACdA,eAAAA,eAAe;AAAA,EACb,GAAG;AAAA,EACH,wBAAwB;AAAA,EACxB,eAAeC,OAAAA;AAAAA,EACf,iBAAiBC,SAAAA;AAAAA,EACjB,gBAAgBC,OAAAA;AAAAA,EAChB,aAAa,CAAC,WAAW;AAAA,IACvB,UAAU,MAAM,MAAM,CAAC,EAAE;AAAA,IACzB,SAAS,MAAM,MAAM,CAAC,EAAE,WAAW;AAAA,IACnC,SAAS,MAAM;AAAA,IACf,WAAW;AAAA,EAAA;AAEf,CAAC;;"}
@@ -0,0 +1,32 @@
1
+ import { createBaseFeed } from "../../factory/core/createBaseFeed.mjs";
2
+ import "@universityofmaryland/web-builder-library";
3
+ import "@universityofmaryland/web-styles-library";
4
+ import "@universityofmaryland/web-styles-library/typography";
5
+ import "@universityofmaryland/web-utilities-library/theme";
6
+ import "@universityofmaryland/web-elements-library";
7
+ import { eventsDisplayStrategy } from "../../strategies/display/events.mjs";
8
+ import "@universityofmaryland/web-elements-library/composite";
9
+ import "@universityofmaryland/web-utilities-library/elements";
10
+ import "@universityofmaryland/web-utilities-library/network";
11
+ import { eventsFetchStrategy } from "../../strategies/fetch/events.mjs";
12
+ import "../../strategies/fetch/news.mjs";
13
+ import "../../strategies/fetch/experts.mjs";
14
+ import { gridGapLayout } from "../../strategies/layout/grid.mjs";
15
+ import "@universityofmaryland/web-elements-library/layout";
16
+ const grid = (props) => createBaseFeed({
17
+ ...props,
18
+ enableCategoryFallback: true,
19
+ fetchStrategy: eventsFetchStrategy,
20
+ displayStrategy: eventsDisplayStrategy,
21
+ layoutStrategy: gridGapLayout,
22
+ imageConfig: (entry) => ({
23
+ imageUrl: entry.image[0].url,
24
+ altText: entry.image[0].altText || "Event Image",
25
+ linkUrl: entry.url,
26
+ linkLabel: "University of Maryland Event"
27
+ })
28
+ });
29
+ export {
30
+ grid as default
31
+ };
32
+ //# sourceMappingURL=grid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.mjs","sources":["../../../source/feeds/events/grid.ts"],"sourcesContent":["/**\n * Events Grid Feed (Factory Pattern)\n *\n * Grid layout for event entries using the feed factory pattern.\n * This is the NEW implementation using factory + strategies.\n *\n * @module composite/events/grid-new\n */\n\nimport { createBaseFeed } from 'factory';\nimport {\n eventsFetchStrategy,\n eventsDisplayStrategy,\n gridGapLayout,\n} from 'strategies';\nimport { type BlockProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Create an events grid feed\n *\n * @param props - Feed configuration\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * const feed = eventsGrid({\n * token: 'my-token',\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: true,\n * categories: ['sports', 'arts'],\n * });\n *\n * document.body.appendChild(feed.element);\n * ```\n */\nexport default (props: BlockProps): ElementModel =>\n createBaseFeed({\n ...props,\n enableCategoryFallback: true,\n fetchStrategy: eventsFetchStrategy,\n displayStrategy: eventsDisplayStrategy,\n layoutStrategy: gridGapLayout,\n imageConfig: (entry) => ({\n imageUrl: entry.image[0].url,\n altText: entry.image[0].altText || 'Event Image',\n linkUrl: entry.url,\n linkLabel: 'University of Maryland Event',\n }),\n });\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAqCA,MAAA,OAAe,CAAC,UACd,eAAe;AAAA,EACb,GAAG;AAAA,EACH,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,aAAa,CAAC,WAAW;AAAA,IACvB,UAAU,MAAM,MAAM,CAAC,EAAE;AAAA,IACzB,SAAS,MAAM,MAAM,CAAC,EAAE,WAAW;AAAA,IACnC,SAAS,MAAM;AAAA,IACf,WAAW;AAAA,EAAA;AAEf,CAAC;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouped.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/grouped.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAibjC,OAAO,SAAS,KAAG,YAAY;AAA/C,wBA+HE"}