@universityofmaryland/web-feeds-library 1.2.6 → 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 (433) 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/{macros/loader.js → states/loading.js} +72 -45
  171. package/dist/states/loading.js.map +1 -0
  172. package/dist/{macros/loader.mjs → states/loading.mjs} +71 -28
  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/slider.mjs.map → widgets/slider.js.map} +1 -1
  266. package/dist/widgets/slider.mjs.map +1 -0
  267. package/package.json +6 -1
  268. package/dist/composite/academic/_types.d.ts.map +0 -1
  269. package/dist/composite/academic/index.d.ts.map +0 -1
  270. package/dist/composite/academic/slider.d.ts.map +0 -1
  271. package/dist/composite/academic/slider.js +0 -36
  272. package/dist/composite/academic/slider.js.map +0 -1
  273. package/dist/composite/academic/slider.mjs +0 -37
  274. package/dist/composite/academic/slider.mjs.map +0 -1
  275. package/dist/composite/events/_types.d.ts.map +0 -1
  276. package/dist/composite/events/common/data.d.ts +0 -44
  277. package/dist/composite/events/common/data.d.ts.map +0 -1
  278. package/dist/composite/events/common/data.js +0 -54
  279. package/dist/composite/events/common/data.js.map +0 -1
  280. package/dist/composite/events/common/data.mjs +0 -54
  281. package/dist/composite/events/common/data.mjs.map +0 -1
  282. package/dist/composite/events/common/display.d.ts +0 -18
  283. package/dist/composite/events/common/display.d.ts.map +0 -1
  284. package/dist/composite/events/common/display.js +0 -147
  285. package/dist/composite/events/common/display.js.map +0 -1
  286. package/dist/composite/events/common/display.mjs +0 -130
  287. package/dist/composite/events/common/display.mjs.map +0 -1
  288. package/dist/composite/events/common/fetch.d.ts +0 -24
  289. package/dist/composite/events/common/fetch.d.ts.map +0 -1
  290. package/dist/composite/events/common/fetch.js +0 -119
  291. package/dist/composite/events/common/fetch.js.map +0 -1
  292. package/dist/composite/events/common/fetch.mjs +0 -119
  293. package/dist/composite/events/common/fetch.mjs.map +0 -1
  294. package/dist/composite/events/common/queries.d.ts +0 -5
  295. package/dist/composite/events/common/queries.d.ts.map +0 -1
  296. package/dist/composite/events/common/queries.js +0 -113
  297. package/dist/composite/events/common/queries.js.map +0 -1
  298. package/dist/composite/events/common/queries.mjs +0 -113
  299. package/dist/composite/events/common/queries.mjs.map +0 -1
  300. package/dist/composite/events/grid.d.ts.map +0 -1
  301. package/dist/composite/events/grid.js +0 -92
  302. package/dist/composite/events/grid.js.map +0 -1
  303. package/dist/composite/events/grid.mjs +0 -93
  304. package/dist/composite/events/grid.mjs.map +0 -1
  305. package/dist/composite/events/grouped.d.ts.map +0 -1
  306. package/dist/composite/events/grouped.js +0 -290
  307. package/dist/composite/events/grouped.js.map +0 -1
  308. package/dist/composite/events/grouped.mjs +0 -274
  309. package/dist/composite/events/grouped.mjs.map +0 -1
  310. package/dist/composite/events/index.d.ts.map +0 -1
  311. package/dist/composite/events/list.d.ts.map +0 -1
  312. package/dist/composite/events/list.js +0 -92
  313. package/dist/composite/events/list.js.map +0 -1
  314. package/dist/composite/events/list.mjs +0 -93
  315. package/dist/composite/events/list.mjs.map +0 -1
  316. package/dist/composite/events/slider.d.ts.map +0 -1
  317. package/dist/composite/events/slider.js +0 -37
  318. package/dist/composite/events/slider.js.map +0 -1
  319. package/dist/composite/events/slider.mjs +0 -38
  320. package/dist/composite/events/slider.mjs.map +0 -1
  321. package/dist/composite/news/_types.d.ts.map +0 -1
  322. package/dist/composite/news/common/data.d.ts +0 -47
  323. package/dist/composite/news/common/data.d.ts.map +0 -1
  324. package/dist/composite/news/common/data.js +0 -63
  325. package/dist/composite/news/common/data.js.map +0 -1
  326. package/dist/composite/news/common/data.mjs +0 -63
  327. package/dist/composite/news/common/data.mjs.map +0 -1
  328. package/dist/composite/news/common/display.d.ts +0 -17
  329. package/dist/composite/news/common/display.d.ts.map +0 -1
  330. package/dist/composite/news/common/display.js +0 -147
  331. package/dist/composite/news/common/display.js.map +0 -1
  332. package/dist/composite/news/common/display.mjs +0 -130
  333. package/dist/composite/news/common/display.mjs.map +0 -1
  334. package/dist/composite/news/common/fetch.d.ts +0 -22
  335. package/dist/composite/news/common/fetch.d.ts.map +0 -1
  336. package/dist/composite/news/common/fetch.js +0 -89
  337. package/dist/composite/news/common/fetch.js.map +0 -1
  338. package/dist/composite/news/common/fetch.mjs +0 -89
  339. package/dist/composite/news/common/fetch.mjs.map +0 -1
  340. package/dist/composite/news/common/queries.d.ts +0 -2
  341. package/dist/composite/news/common/queries.d.ts.map +0 -1
  342. package/dist/composite/news/common/queries.js +0 -37
  343. package/dist/composite/news/common/queries.js.map +0 -1
  344. package/dist/composite/news/common/queries.mjs +0 -37
  345. package/dist/composite/news/common/queries.mjs.map +0 -1
  346. package/dist/composite/news/featured.d.ts.map +0 -1
  347. package/dist/composite/news/featured.js +0 -184
  348. package/dist/composite/news/featured.js.map +0 -1
  349. package/dist/composite/news/featured.mjs +0 -185
  350. package/dist/composite/news/featured.mjs.map +0 -1
  351. package/dist/composite/news/grid.d.ts.map +0 -1
  352. package/dist/composite/news/grid.js +0 -100
  353. package/dist/composite/news/grid.js.map +0 -1
  354. package/dist/composite/news/grid.mjs +0 -101
  355. package/dist/composite/news/grid.mjs.map +0 -1
  356. package/dist/composite/news/index.d.ts.map +0 -1
  357. package/dist/composite/news/list.d.ts.map +0 -1
  358. package/dist/composite/news/list.js +0 -87
  359. package/dist/composite/news/list.js.map +0 -1
  360. package/dist/composite/news/list.mjs +0 -88
  361. package/dist/composite/news/list.mjs.map +0 -1
  362. package/dist/elements/asset.d.ts +0 -10
  363. package/dist/elements/asset.d.ts.map +0 -1
  364. package/dist/elements/asset.js +0 -27
  365. package/dist/elements/asset.js.map +0 -1
  366. package/dist/elements/asset.mjs +0 -27
  367. package/dist/elements/asset.mjs.map +0 -1
  368. package/dist/elements/index.d.ts +0 -4
  369. package/dist/elements/index.d.ts.map +0 -1
  370. package/dist/elements/layout.d.ts +0 -15
  371. package/dist/elements/layout.d.ts.map +0 -1
  372. package/dist/elements/layout.js +0 -113
  373. package/dist/elements/layout.js.map +0 -1
  374. package/dist/elements/layout.mjs +0 -96
  375. package/dist/elements/layout.mjs.map +0 -1
  376. package/dist/elements/text.d.ts +0 -12
  377. package/dist/elements/text.d.ts.map +0 -1
  378. package/dist/elements/text.js +0 -41
  379. package/dist/elements/text.js.map +0 -1
  380. package/dist/elements/text.mjs +0 -41
  381. package/dist/elements/text.mjs.map +0 -1
  382. package/dist/macros/aria-live.d.ts +0 -11
  383. package/dist/macros/aria-live.d.ts.map +0 -1
  384. package/dist/macros/aria-live.js +0 -25
  385. package/dist/macros/aria-live.js.map +0 -1
  386. package/dist/macros/aria-live.mjs +0 -26
  387. package/dist/macros/aria-live.mjs.map +0 -1
  388. package/dist/macros/index.d.ts +0 -6
  389. package/dist/macros/index.d.ts.map +0 -1
  390. package/dist/macros/lazy-load.d.ts +0 -16
  391. package/dist/macros/lazy-load.d.ts.map +0 -1
  392. package/dist/macros/lazy-load.js +0 -54
  393. package/dist/macros/lazy-load.js.map +0 -1
  394. package/dist/macros/lazy-load.mjs +0 -38
  395. package/dist/macros/lazy-load.mjs.map +0 -1
  396. package/dist/macros/loader.d.ts +0 -15
  397. package/dist/macros/loader.d.ts.map +0 -1
  398. package/dist/macros/loader.js.map +0 -1
  399. package/dist/macros/loader.mjs.map +0 -1
  400. package/dist/macros/no-results.d.ts +0 -12
  401. package/dist/macros/no-results.d.ts.map +0 -1
  402. package/dist/macros/no-results.js +0 -66
  403. package/dist/macros/no-results.js.map +0 -1
  404. package/dist/macros/no-results.mjs +0 -50
  405. package/dist/macros/no-results.mjs.map +0 -1
  406. package/dist/macros/slider.d.ts.map +0 -1
  407. package/dist/macros/slider.js.map +0 -1
  408. package/dist/utilities/events/index.d.ts.map +0 -1
  409. package/dist/utilities/events/index.js.map +0 -1
  410. package/dist/utilities/events/index.mjs.map +0 -1
  411. package/dist/utilities/index.d.ts +0 -3
  412. package/dist/utilities/index.d.ts.map +0 -1
  413. package/dist/utilities/network/fetch.d.ts.map +0 -1
  414. package/dist/utilities/network/index.d.ts.map +0 -1
  415. /package/dist/{composite → feeds}/academic/_types.d.ts +0 -0
  416. /package/dist/{composite → feeds}/academic/index.d.ts +0 -0
  417. /package/dist/{composite → feeds}/academic/slider.d.ts +0 -0
  418. /package/dist/{composite → feeds}/events/_types.d.ts +0 -0
  419. /package/dist/{composite → feeds}/events/grid.d.ts +0 -0
  420. /package/dist/{composite → feeds}/events/grouped.d.ts +0 -0
  421. /package/dist/{composite → feeds}/events/index.d.ts +0 -0
  422. /package/dist/{composite → feeds}/events/list.d.ts +0 -0
  423. /package/dist/{composite → feeds}/events/slider.d.ts +0 -0
  424. /package/dist/{composite/news → feeds/experts}/list.d.ts +0 -0
  425. /package/dist/{composite → feeds}/news/_types.d.ts +0 -0
  426. /package/dist/{composite → feeds}/news/featured.d.ts +0 -0
  427. /package/dist/{composite → feeds}/news/grid.d.ts +0 -0
  428. /package/dist/{composite → feeds}/news/index.d.ts +0 -0
  429. /package/dist/{utilities → helpers}/network/fetch.d.ts +0 -0
  430. /package/dist/{utilities → helpers}/network/index.d.ts +0 -0
  431. /package/dist/{macros → widgets}/slider.d.ts +0 -0
  432. /package/dist/{macros → widgets}/slider.js +0 -0
  433. /package/dist/{macros → widgets}/slider.mjs +0 -0
@@ -1,92 +0,0 @@
1
- "use strict";
2
- const webElementsLibrary = require("@universityofmaryland/web-elements-library");
3
- const asset = require("../../elements/asset.js");
4
- const layout = require("../../elements/layout.js");
5
- require("@universityofmaryland/web-styles-library");
6
- require("@universityofmaryland/web-builder-library");
7
- const loader = require("../../macros/loader.js");
8
- require("@universityofmaryland/web-utilities-library/theme");
9
- require("@universityofmaryland/web-utilities-library/network");
10
- require("@universityofmaryland/web-elements-library/composite");
11
- require("@universityofmaryland/web-elements-library/atomic");
12
- const fetch = require("./common/fetch.js");
13
- const display = require("./common/display.js");
14
- const data = require("./common/data.js");
15
- const grid = (props) => (() => {
16
- const { isThemeDark, isTransparent, numberOfColumnsToShow } = props;
17
- const loader$1 = loader.create({ isThemeDark });
18
- const container = document.createElement("div");
19
- const setTotalEntries = (count) => totalEntries = count;
20
- const setOffset = (count) => offset = offset + count;
21
- const setStyles = (additonalStyles) => styles += additonalStyles;
22
- const getContainer = () => container;
23
- const getTotalEntries = () => totalEntries;
24
- const getOffset = () => offset;
25
- const getStyles = () => styles;
26
- const getShadowRoot = () => shadowRoot;
27
- let totalEntries = 0;
28
- let offset = 0;
29
- let styles = `
30
- ${loader$1.styles}
31
- `;
32
- let shadowRoot = null;
33
- const helperFunctions = {
34
- setTotalEntries,
35
- setOffset,
36
- setStyles,
37
- getContainer,
38
- getOffset,
39
- getTotalEntries,
40
- getStyles,
41
- getShadowRoot
42
- };
43
- const callback = (shadow) => {
44
- shadowRoot = shadow;
45
- };
46
- const displayResults = async ({ feedData }) => {
47
- await display.resultLoad({
48
- ...props,
49
- ...helperFunctions,
50
- displayResults,
51
- entries: feedData.map(
52
- (entry) => webElementsLibrary.Composite.card.block({
53
- ...data.display({ entry, isThemeDark }),
54
- image: asset.standard({
55
- images: entry.image,
56
- url: entry.url
57
- }),
58
- isAligned: false,
59
- isTransparent
60
- })
61
- )
62
- });
63
- if (shadowRoot) {
64
- display.setShadowStyles({
65
- shadowRoot,
66
- styles
67
- });
68
- }
69
- };
70
- const layoutElement = layout.gridGap({
71
- count: numberOfColumnsToShow
72
- });
73
- container.appendChild(loader$1.element);
74
- fetch.start({
75
- ...props,
76
- ...helperFunctions,
77
- displayResults,
78
- displayResultStart: display.resultStart,
79
- displayNoResults: display.noResults,
80
- layoutElement,
81
- isThemeDark
82
- });
83
- return {
84
- element: container,
85
- styles,
86
- events: {
87
- callback
88
- }
89
- };
90
- })();
91
- module.exports = grid;
92
- //# sourceMappingURL=grid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.js","sources":["../../../source/composite/events/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n isTransparent,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = feedElements.layout.gridGap({\n count: numberOfColumnsToShow,\n });\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,sBAAA,IAA0B;AAC9D,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrBC,mBAAAA,UAAU,KAAK,MAAM;AAAA,UACnB,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,UACX;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgBC,OAAAA,QAA4B;AAAA,IAChD,OAAO;AAAA,EAAA,CACR;AACD,YAAU,YAAYP,SAAO,OAAO;AAEpCQ,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
@@ -1,93 +0,0 @@
1
- import { Composite } from "@universityofmaryland/web-elements-library";
2
- import { standard } from "../../elements/asset.mjs";
3
- import { gridGap } from "../../elements/layout.mjs";
4
- import "@universityofmaryland/web-styles-library";
5
- import "@universityofmaryland/web-builder-library";
6
- import loader from "../../macros/loader.mjs";
7
- import "@universityofmaryland/web-utilities-library/theme";
8
- import "@universityofmaryland/web-utilities-library/network";
9
- import "@universityofmaryland/web-elements-library/composite";
10
- import "@universityofmaryland/web-elements-library/atomic";
11
- import { start } from "./common/fetch.mjs";
12
- import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
13
- import { display } from "./common/data.mjs";
14
- const grid = (props) => (() => {
15
- const { isThemeDark, isTransparent, numberOfColumnsToShow } = props;
16
- const loader$1 = loader.create({ isThemeDark });
17
- const container = document.createElement("div");
18
- const setTotalEntries = (count) => totalEntries = count;
19
- const setOffset = (count) => offset = offset + count;
20
- const setStyles = (additonalStyles) => styles += additonalStyles;
21
- const getContainer = () => container;
22
- const getTotalEntries = () => totalEntries;
23
- const getOffset = () => offset;
24
- const getStyles = () => styles;
25
- const getShadowRoot = () => shadowRoot;
26
- let totalEntries = 0;
27
- let offset = 0;
28
- let styles = `
29
- ${loader$1.styles}
30
- `;
31
- let shadowRoot = null;
32
- const helperFunctions = {
33
- setTotalEntries,
34
- setOffset,
35
- setStyles,
36
- getContainer,
37
- getOffset,
38
- getTotalEntries,
39
- getStyles,
40
- getShadowRoot
41
- };
42
- const callback = (shadow) => {
43
- shadowRoot = shadow;
44
- };
45
- const displayResults = async ({ feedData }) => {
46
- await resultLoad({
47
- ...props,
48
- ...helperFunctions,
49
- displayResults,
50
- entries: feedData.map(
51
- (entry) => Composite.card.block({
52
- ...display({ entry, isThemeDark }),
53
- image: standard({
54
- images: entry.image,
55
- url: entry.url
56
- }),
57
- isAligned: false,
58
- isTransparent
59
- })
60
- )
61
- });
62
- if (shadowRoot) {
63
- setShadowStyles({
64
- shadowRoot,
65
- styles
66
- });
67
- }
68
- };
69
- const layoutElement = gridGap({
70
- count: numberOfColumnsToShow
71
- });
72
- container.appendChild(loader$1.element);
73
- start({
74
- ...props,
75
- ...helperFunctions,
76
- displayResults,
77
- displayResultStart: resultStart,
78
- displayNoResults: noResults,
79
- layoutElement,
80
- isThemeDark
81
- });
82
- return {
83
- element: container,
84
- styles,
85
- events: {
86
- callback
87
- }
88
- };
89
- })();
90
- export {
91
- grid as default
92
- };
93
- //# sourceMappingURL=grid.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.mjs","sources":["../../../source/composite/events/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n isTransparent,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = feedElements.layout.gridGap({\n count: numberOfColumnsToShow,\n });\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,sBAAA,IAA0B;AAC9D,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrB,UAAU,KAAK,MAAM;AAAA,UACnB,GAAGC,QAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,UACX;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgBC,QAA4B;AAAA,IAChD,OAAO;AAAA,EAAA,CACR;AACD,YAAU,YAAYN,SAAO,OAAO;AAEpCO,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"grouped.d.ts","sourceRoot":"","sources":["../../../source/composite/events/grouped.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAwLjC,OAAO,SAAS,KAAG,YAAY;AAA/C,wBA8JO"}
@@ -1,290 +0,0 @@
1
- "use strict";
2
- const Styles = require("@universityofmaryland/web-styles-library");
3
- const webBuilderLibrary = require("@universityofmaryland/web-builder-library");
4
- const webElementsLibrary = require("@universityofmaryland/web-elements-library");
5
- const asset = require("../../elements/asset.js");
6
- const loader = require("../../macros/loader.js");
7
- require("@universityofmaryland/web-utilities-library/theme");
8
- require("@universityofmaryland/web-utilities-library/network");
9
- require("@universityofmaryland/web-elements-library/composite");
10
- require("@universityofmaryland/web-elements-library/atomic");
11
- const fetch = require("./common/fetch.js");
12
- const display = require("./common/display.js");
13
- const data = require("./common/data.js");
14
- const queries = require("./common/queries.js");
15
- function _interopNamespaceDefault(e) {
16
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
17
- if (e) {
18
- for (const k in e) {
19
- if (k !== "default") {
20
- const d = Object.getOwnPropertyDescriptor(e, k);
21
- Object.defineProperty(n, k, d.get ? d : {
22
- enumerable: true,
23
- get: () => e[k]
24
- });
25
- }
26
- }
27
- }
28
- n.default = e;
29
- return Object.freeze(n);
30
- }
31
- const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
32
- const getDateBanner = (dateStamp) => {
33
- const dateParts = dateStamp.split("T")[0].split("-");
34
- const year = parseInt(dateParts[0], 10);
35
- const month = parseInt(dateParts[1], 10) - 1;
36
- const day = parseInt(dateParts[2], 10);
37
- const eventDate = new Date(year, month, day);
38
- const currentDate = /* @__PURE__ */ new Date();
39
- currentDate.setHours(0, 0, 0, 0);
40
- const weekFromNow = /* @__PURE__ */ new Date();
41
- weekFromNow.setDate(currentDate.getDate() + 7);
42
- weekFromNow.setHours(0, 0, 0, 0);
43
- if (eventDate.getFullYear() === currentDate.getFullYear() && eventDate.getMonth() === currentDate.getMonth() && eventDate.getDate() === currentDate.getDate()) {
44
- return "Today";
45
- }
46
- if (eventDate.getTime() > currentDate.getTime() && eventDate.getTime() <= weekFromNow.getTime()) {
47
- const days2 = [
48
- "Sunday",
49
- "Monday",
50
- "Tuesday",
51
- "Wednesday",
52
- "Thursday",
53
- "Friday",
54
- "Saturday"
55
- ];
56
- return days2[eventDate.getDay()];
57
- }
58
- const days = [
59
- "Sunday",
60
- "Monday",
61
- "Tuesday",
62
- "Wednesday",
63
- "Thursday",
64
- "Friday",
65
- "Saturday"
66
- ];
67
- const months = [
68
- "Jan",
69
- "Feb",
70
- "Mar",
71
- "Apr",
72
- "May",
73
- "Jun",
74
- "Jul",
75
- "Aug",
76
- "Sep",
77
- "Oct",
78
- "Nov",
79
- "Dec"
80
- ];
81
- return `${days[eventDate.getDay()]}, ${months[eventDate.getMonth()]} ${eventDate.getDate()}`;
82
- };
83
- const MONTH_MAP = {
84
- Jan: "01",
85
- Feb: "02",
86
- Mar: "03",
87
- Apr: "04",
88
- May: "05",
89
- Jun: "06",
90
- Jul: "07",
91
- Aug: "08",
92
- Sep: "09",
93
- Oct: "10",
94
- Nov: "11",
95
- Dec: "12"
96
- };
97
- const parseLocalDate = (dateString) => {
98
- const parts = dateString.split("-");
99
- const date = new Date(
100
- parseInt(parts[0], 10),
101
- parseInt(parts[1], 10) - 1,
102
- parseInt(parts[2], 10)
103
- );
104
- date.setHours(0, 0, 0, 0);
105
- return date;
106
- };
107
- const getEventStartDate = (event) => {
108
- return parseLocalDate(event.startStamp.split("T")[0]);
109
- };
110
- const isMultiDayEvent = (event) => {
111
- const startParts = event.startStamp.split("T")[0].split("-");
112
- const startMonth = startParts[1];
113
- const startDay = startParts[2];
114
- const endMonth = MONTH_MAP[event.endMonth];
115
- const endDay = event.endDay.padStart(2, "0");
116
- return !(startMonth === endMonth && startDay === endDay);
117
- };
118
- const eventStartsOnDate = (event, targetDate) => {
119
- const eventStartDate = getEventStartDate(event);
120
- return eventStartDate.getTime() === targetDate.getTime();
121
- };
122
- const getEventPriority = (event, groupDate) => {
123
- const isMulti = isMultiDayEvent(event);
124
- const startsOnDate = eventStartsOnDate(event, groupDate);
125
- if (isMulti && startsOnDate) return 1;
126
- if (!isMulti) return 2;
127
- return 3;
128
- };
129
- const sortEventsByPriority = (events, groupDate) => {
130
- return [...events].sort((a, b) => {
131
- const aPriority = getEventPriority(a, groupDate);
132
- const bPriority = getEventPriority(b, groupDate);
133
- return aPriority - bPriority;
134
- });
135
- };
136
- const groupEventsByDate = (events) => {
137
- const currentDate = /* @__PURE__ */ new Date();
138
- currentDate.setHours(0, 0, 0, 0);
139
- const grouped2 = events.reduce((acc, event) => {
140
- const eventDate = getEventStartDate(event);
141
- const dateKey = eventDate < currentDate ? currentDate.toISOString().split("T")[0] : event.startStamp;
142
- if (!acc[dateKey]) {
143
- acc[dateKey] = {
144
- date: getDateBanner(dateKey),
145
- events: []
146
- };
147
- }
148
- acc[dateKey].events.push(event);
149
- return acc;
150
- }, {});
151
- Object.keys(grouped2).forEach((dateKey) => {
152
- const groupDate = parseLocalDate(dateKey);
153
- grouped2[dateKey].events = sortEventsByPriority(
154
- grouped2[dateKey].events,
155
- groupDate
156
- );
157
- });
158
- return Object.values(grouped2).sort((a, b) => {
159
- const dateA = new Date(
160
- Object.keys(grouped2).find((key) => grouped2[key] === a) || ""
161
- );
162
- const dateB = new Date(
163
- Object.keys(grouped2).find((key) => grouped2[key] === b) || ""
164
- );
165
- return dateA.getTime() - dateB.getTime();
166
- });
167
- };
168
- const grouped = (props) => (() => {
169
- const { isThemeDark } = props;
170
- const loader$1 = loader.create({ isThemeDark });
171
- const container = document.createElement("div");
172
- const setTotalEntries = (count) => totalEntries = count;
173
- const setOffset = (count) => offset = offset + count;
174
- const setStyles = (additonalStyles) => styles += additonalStyles;
175
- const getContainer = () => container;
176
- const getTotalEntries = () => totalEntries;
177
- const getOffset = () => offset;
178
- const getStyles = () => styles;
179
- const getShadowRoot = () => shadowRoot;
180
- let totalEntries = 0;
181
- let offset = 0;
182
- let styles = `
183
- ${loader$1.styles}
184
- `;
185
- let shadowRoot = null;
186
- let lastDateHeadline = null;
187
- const helperFunctions = {
188
- setTotalEntries,
189
- setOffset,
190
- setStyles,
191
- getContainer,
192
- getOffset,
193
- getTotalEntries,
194
- getStyles,
195
- getShadowRoot
196
- };
197
- const callback = (shadow) => {
198
- shadowRoot = shadow;
199
- };
200
- const groupLayout = () => {
201
- return new webBuilderLibrary.ElementBuilder().withClassName("umd-feed-events-grouped").build();
202
- };
203
- const displayResults = async ({ feedData }) => {
204
- const groupedEvents = groupEventsByDate(feedData);
205
- const entries = [];
206
- let actualEventCount = 0;
207
- groupedEvents.forEach((group) => {
208
- if (group.date !== lastDateHeadline) {
209
- const dateHeadline = document.createElement("p");
210
- dateHeadline.textContent = group.date;
211
- entries.push(
212
- new webBuilderLibrary.ElementBuilder(dateHeadline).styled(Styles__namespace.element.text.decoration.ribbon).withStyles({
213
- element: {
214
- margin: `${Styles__namespace.token.spacing.lg} 0`
215
- }
216
- }).build()
217
- );
218
- lastDateHeadline = group.date;
219
- }
220
- const dateEntries = group.events.map(
221
- (entry) => webElementsLibrary.Composite.card.list({
222
- ...data.display({ entry, isThemeDark }),
223
- dateSign: webElementsLibrary.Atomic.events.sign({
224
- ...entry,
225
- isThemeDark,
226
- isLargeSize: true
227
- }),
228
- image: asset.standard({
229
- images: entry.image,
230
- url: entry.url
231
- }),
232
- isAligned: false
233
- })
234
- );
235
- actualEventCount += group.events.length;
236
- const entriesBuilder = new webBuilderLibrary.ElementBuilder().withClassName("umd-feed-events-grouped-entries").withStyles({
237
- element: {
238
- [` > *:not(:last-child)`]: {
239
- paddingBottom: Styles__namespace.token.spacing.md,
240
- marginBottom: Styles__namespace.token.spacing.md,
241
- borderBottom: `1px solid ${isThemeDark ? Styles__namespace.token.color.gray.dark : Styles__namespace.token.color.gray.light}`
242
- },
243
- [`+ .umd-feed-events-grouped-entries`]: {
244
- paddingTop: Styles__namespace.token.spacing.md,
245
- marginTop: Styles__namespace.token.spacing.md,
246
- borderTop: `1px solid ${isThemeDark ? Styles__namespace.token.color.gray.dark : Styles__namespace.token.color.gray.light}`
247
- }
248
- }
249
- });
250
- dateEntries.forEach((entry) => entriesBuilder.withChild(entry));
251
- entries.push(entriesBuilder.build());
252
- });
253
- const originalSetOffset = helperFunctions.setOffset;
254
- helperFunctions.setOffset = () => originalSetOffset(actualEventCount);
255
- await display.resultLoad({
256
- ...props,
257
- ...helperFunctions,
258
- displayResults,
259
- entries,
260
- query: queries.EVENTS_RANGE_QUERY
261
- });
262
- helperFunctions.setOffset = originalSetOffset;
263
- if (shadowRoot) {
264
- display.setShadowStyles({
265
- shadowRoot,
266
- styles
267
- });
268
- }
269
- };
270
- container.appendChild(loader$1.element);
271
- fetch.start({
272
- ...props,
273
- ...helperFunctions,
274
- displayResults,
275
- displayResultStart: display.resultStart,
276
- displayNoResults: display.noResults,
277
- layoutElement: groupLayout(),
278
- query: queries.EVENTS_RANGE_QUERY,
279
- countQuery: queries.EVENTS_COUNT_RANGE_QUERY
280
- });
281
- return {
282
- element: container,
283
- styles,
284
- events: {
285
- callback
286
- }
287
- };
288
- })();
289
- module.exports = grouped;
290
- //# sourceMappingURL=grouped.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grouped.js","sources":["../../../source/composite/events/grouped.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { ElementBuilder } from '@universityofmaryland/web-builder-library';\nimport { Atomic, Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { EVENTS_RANGE_QUERY, EVENTS_COUNT_RANGE_QUERY } from './common/queries';\nimport { type ListProps, type FeedDisplay, type EventType } from './_types';\nimport { type ElementModel } from '../../_types';\n\ninterface GroupedEvent {\n date: string;\n events: EventType[];\n}\n\nconst getDateBanner = (dateStamp: string): string => {\n // Parse the date string more reliably\n // Handle both \"YYYY-MM-DD\" and ISO format strings\n const dateParts = dateStamp.split('T')[0].split('-');\n const year = parseInt(dateParts[0], 10);\n const month = parseInt(dateParts[1], 10) - 1; // Month is 0-indexed\n const day = parseInt(dateParts[2], 10);\n\n // Create dates using local timezone to avoid timezone shifts\n const eventDate = new Date(year, month, day);\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n\n const weekFromNow = new Date();\n weekFromNow.setDate(currentDate.getDate() + 7);\n weekFromNow.setHours(0, 0, 0, 0);\n\n // Check if it's today\n if (\n eventDate.getFullYear() === currentDate.getFullYear() &&\n eventDate.getMonth() === currentDate.getMonth() &&\n eventDate.getDate() === currentDate.getDate()\n ) {\n return 'Today';\n }\n\n // Check if it's within the next 7 days\n if (\n eventDate.getTime() > currentDate.getTime() &&\n eventDate.getTime() <= weekFromNow.getTime()\n ) {\n const days = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ];\n return days[eventDate.getDay()];\n }\n\n // Otherwise return day of week, month and day\n const days = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ];\n const months = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n ];\n return `${days[eventDate.getDay()]}, ${\n months[eventDate.getMonth()]\n } ${eventDate.getDate()}`;\n};\n\nconst MONTH_MAP: Record<string, string> = {\n Jan: '01',\n Feb: '02',\n Mar: '03',\n Apr: '04',\n May: '05',\n Jun: '06',\n Jul: '07',\n Aug: '08',\n Sep: '09',\n Oct: '10',\n Nov: '11',\n Dec: '12',\n};\n\nconst parseLocalDate = (dateString: string): Date => {\n const parts = dateString.split('-');\n const date = new Date(\n parseInt(parts[0], 10),\n parseInt(parts[1], 10) - 1,\n parseInt(parts[2], 10),\n );\n date.setHours(0, 0, 0, 0);\n return date;\n};\n\nconst getEventStartDate = (event: EventType): Date => {\n return parseLocalDate(event.startStamp.split('T')[0]);\n};\n\nconst isMultiDayEvent = (event: EventType): boolean => {\n const startParts = event.startStamp.split('T')[0].split('-');\n const startMonth = startParts[1];\n const startDay = startParts[2];\n const endMonth = MONTH_MAP[event.endMonth];\n const endDay = event.endDay.padStart(2, '0');\n\n return !(startMonth === endMonth && startDay === endDay);\n};\n\nconst eventStartsOnDate = (event: EventType, targetDate: Date): boolean => {\n const eventStartDate = getEventStartDate(event);\n return eventStartDate.getTime() === targetDate.getTime();\n};\n\nconst getEventPriority = (event: EventType, groupDate: Date): number => {\n const isMulti = isMultiDayEvent(event);\n const startsOnDate = eventStartsOnDate(event, groupDate);\n\n if (isMulti && startsOnDate) return 1;\n if (!isMulti) return 2;\n return 3;\n};\n\nconst sortEventsByPriority = (\n events: EventType[],\n groupDate: Date,\n): EventType[] => {\n return [...events].sort((a, b) => {\n const aPriority = getEventPriority(a, groupDate);\n const bPriority = getEventPriority(b, groupDate);\n return aPriority - bPriority;\n });\n};\n\nconst groupEventsByDate = (events: EventType[]): GroupedEvent[] => {\n const currentDate = new Date();\n currentDate.setHours(0, 0, 0, 0);\n\n const grouped = events.reduce((acc, event) => {\n const eventDate = getEventStartDate(event);\n const dateKey =\n eventDate < currentDate\n ? currentDate.toISOString().split('T')[0]\n : event.startStamp;\n\n if (!acc[dateKey]) {\n acc[dateKey] = {\n date: getDateBanner(dateKey),\n events: [],\n };\n }\n acc[dateKey].events.push(event);\n return acc;\n }, {} as Record<string, GroupedEvent>);\n\n Object.keys(grouped).forEach((dateKey) => {\n const groupDate = parseLocalDate(dateKey);\n grouped[dateKey].events = sortEventsByPriority(\n grouped[dateKey].events,\n groupDate,\n );\n });\n\n return Object.values(grouped).sort((a, b) => {\n const dateA = new Date(\n Object.keys(grouped).find((key) => grouped[key] === a) || '',\n );\n const dateB = new Date(\n Object.keys(grouped).find((key) => grouped[key] === b) || '',\n );\n return dateA.getTime() - dateB.getTime();\n });\n};\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n let lastDateHeadline: string | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const groupLayout = (): ElementModel => {\n return new ElementBuilder()\n .withClassName('umd-feed-events-grouped')\n .build();\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const groupedEvents = groupEventsByDate(feedData);\n const entries: ElementModel[] = [];\n let actualEventCount = 0;\n\n groupedEvents.forEach((group) => {\n if (group.date !== lastDateHeadline) {\n const dateHeadline = document.createElement('p');\n dateHeadline.textContent = group.date;\n\n entries.push(\n new ElementBuilder(dateHeadline)\n .styled(Styles.element.text.decoration.ribbon)\n .withStyles({\n element: {\n margin: `${Styles.token.spacing.lg} 0`,\n },\n })\n .build(),\n );\n\n lastDateHeadline = group.date;\n }\n\n const dateEntries = group.events.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n dateSign: Atomic.events.sign({\n ...entry,\n isThemeDark,\n isLargeSize: true,\n }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n );\n\n actualEventCount += group.events.length;\n\n const entriesBuilder = new ElementBuilder()\n .withClassName('umd-feed-events-grouped-entries')\n .withStyles({\n element: {\n [` > *:not(:last-child)`]: {\n paddingBottom: Styles.token.spacing.md,\n marginBottom: Styles.token.spacing.md,\n borderBottom: `1px solid ${\n isThemeDark\n ? Styles.token.color.gray.dark\n : Styles.token.color.gray.light\n }`,\n },\n\n [`+ .umd-feed-events-grouped-entries`]: {\n paddingTop: Styles.token.spacing.md,\n marginTop: Styles.token.spacing.md,\n borderTop: `1px solid ${\n isThemeDark\n ? Styles.token.color.gray.dark\n : Styles.token.color.gray.light\n }`,\n },\n },\n });\n\n dateEntries.forEach((entry) => entriesBuilder.withChild(entry));\n\n entries.push(entriesBuilder.build());\n });\n\n // Override the offset with actual event count to fix lazy load\n const originalSetOffset = helperFunctions.setOffset;\n helperFunctions.setOffset = () => originalSetOffset(actualEventCount);\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries,\n query: EVENTS_RANGE_QUERY,\n });\n\n // Restore original setOffset\n helperFunctions.setOffset = originalSetOffset;\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: groupLayout(),\n query: EVENTS_RANGE_QUERY,\n countQuery: EVENTS_COUNT_RANGE_QUERY,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["days","grouped","loader","feedMacros.loader","ElementBuilder","Styles","Composite","dataComposed.display","Atomic","feedElements.asset.standard","feedDisplay.resultLoad","EVENTS_RANGE_QUERY","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","EVENTS_COUNT_RANGE_QUERY"],"mappings":"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"}