@universityofmaryland/web-feeds-library 1.2.6 → 1.3.0-beta.1

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 (386) hide show
  1. package/README.md +1 -1
  2. package/dist/academic.d.ts +1 -1
  3. package/dist/academic.js +4 -4
  4. package/dist/academic.js.map +1 -1
  5. package/dist/events.d.ts +1 -1
  6. package/dist/events.js +10 -10
  7. package/dist/events.js.map +1 -1
  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/factory/core/createBaseFeed.d.ts +3 -0
  12. package/dist/factory/core/createBaseFeed.d.ts.map +1 -0
  13. package/dist/factory/core/createBaseFeed.js +116 -0
  14. package/dist/factory/core/createBaseFeed.js.map +1 -0
  15. package/dist/factory/core/index.d.ts +3 -0
  16. package/dist/factory/core/index.d.ts.map +1 -0
  17. package/dist/factory/core/types.d.ts +92 -0
  18. package/dist/factory/core/types.d.ts.map +1 -0
  19. package/dist/factory/helpers/displayHandler.d.ts +29 -0
  20. package/dist/factory/helpers/displayHandler.d.ts.map +1 -0
  21. package/dist/factory/helpers/displayHandler.js +169 -0
  22. package/dist/factory/helpers/displayHandler.js.map +1 -0
  23. package/dist/factory/helpers/feedHelpers.d.ts +10 -0
  24. package/dist/factory/helpers/feedHelpers.d.ts.map +1 -0
  25. package/dist/factory/helpers/feedHelpers.js +32 -0
  26. package/dist/factory/helpers/feedHelpers.js.map +1 -0
  27. package/dist/factory/helpers/fetchHandler.d.ts +22 -0
  28. package/dist/factory/helpers/fetchHandler.d.ts.map +1 -0
  29. package/dist/factory/helpers/fetchHandler.js +123 -0
  30. package/dist/factory/helpers/fetchHandler.js.map +1 -0
  31. package/dist/factory/helpers/index.d.ts +4 -0
  32. package/dist/factory/helpers/index.d.ts.map +1 -0
  33. package/dist/factory/index.d.ts +4 -0
  34. package/dist/factory/index.d.ts.map +1 -0
  35. package/dist/feeds/academic/_types.d.ts.map +1 -0
  36. package/dist/feeds/academic/index.d.ts +2 -0
  37. package/dist/feeds/academic/index.d.ts.map +1 -0
  38. package/dist/feeds/academic/slider.d.ts +4 -0
  39. package/dist/feeds/academic/slider.d.ts.map +1 -0
  40. package/dist/feeds/academic/slider.js +11 -0
  41. package/dist/feeds/academic/slider.js.map +1 -0
  42. package/dist/feeds/events/_types.d.ts.map +1 -0
  43. package/dist/feeds/events/grid.d.ts +4 -0
  44. package/dist/feeds/events/grid.d.ts.map +1 -0
  45. package/dist/feeds/events/grid.js +32 -0
  46. package/dist/feeds/events/grid.js.map +1 -0
  47. package/dist/feeds/events/grouped.d.ts +4 -0
  48. package/dist/feeds/events/grouped.d.ts.map +1 -0
  49. package/dist/feeds/events/grouped.js +337 -0
  50. package/dist/feeds/events/grouped.js.map +1 -0
  51. package/dist/feeds/events/index.d.ts +5 -0
  52. package/dist/feeds/events/index.d.ts.map +1 -0
  53. package/dist/feeds/events/list.d.ts +4 -0
  54. package/dist/feeds/events/list.d.ts.map +1 -0
  55. package/dist/feeds/events/list.js +33 -0
  56. package/dist/feeds/events/list.js.map +1 -0
  57. package/dist/feeds/events/slider.d.ts +4 -0
  58. package/dist/feeds/events/slider.d.ts.map +1 -0
  59. package/dist/feeds/events/slider.js +11 -0
  60. package/dist/feeds/events/slider.js.map +1 -0
  61. package/dist/feeds/experts/_types.d.ts +23 -0
  62. package/dist/feeds/experts/_types.d.ts.map +1 -0
  63. package/dist/feeds/experts/bio.d.ts +4 -0
  64. package/dist/feeds/experts/bio.d.ts.map +1 -0
  65. package/dist/feeds/experts/bio.js +147 -0
  66. package/dist/feeds/experts/bio.js.map +1 -0
  67. package/dist/feeds/experts/grid.d.ts +4 -0
  68. package/dist/feeds/experts/grid.d.ts.map +1 -0
  69. package/dist/feeds/experts/grid.js +37 -0
  70. package/dist/feeds/experts/grid.js.map +1 -0
  71. package/dist/feeds/experts/index.d.ts +4 -0
  72. package/dist/feeds/experts/index.d.ts.map +1 -0
  73. package/dist/feeds/experts/list.d.ts +4 -0
  74. package/dist/feeds/experts/list.d.ts.map +1 -0
  75. package/dist/feeds/experts/list.js +26 -0
  76. package/dist/feeds/experts/list.js.map +1 -0
  77. package/dist/feeds/news/_types.d.ts.map +1 -0
  78. package/dist/feeds/news/featured.d.ts +4 -0
  79. package/dist/feeds/news/featured.d.ts.map +1 -0
  80. package/dist/feeds/news/featured.js +379 -0
  81. package/dist/feeds/news/featured.js.map +1 -0
  82. package/dist/feeds/news/grid.d.ts +4 -0
  83. package/dist/feeds/news/grid.d.ts.map +1 -0
  84. package/dist/feeds/news/grid.js +37 -0
  85. package/dist/feeds/news/grid.js.map +1 -0
  86. package/dist/feeds/news/index.d.ts +4 -0
  87. package/dist/feeds/news/index.d.ts.map +1 -0
  88. package/dist/feeds/news/list.d.ts +4 -0
  89. package/dist/feeds/news/list.d.ts.map +1 -0
  90. package/dist/feeds/news/list.js +34 -0
  91. package/dist/feeds/news/list.js.map +1 -0
  92. package/dist/{utilities → helpers}/events/index.d.ts +1 -0
  93. package/dist/helpers/events/index.d.ts.map +1 -0
  94. package/dist/{utilities/events/index.mjs → helpers/events/index.js} +3 -1
  95. package/dist/helpers/events/index.js.map +1 -0
  96. package/dist/helpers/grouping/events.d.ts +14 -0
  97. package/dist/helpers/grouping/events.d.ts.map +1 -0
  98. package/dist/helpers/grouping/events.js +147 -0
  99. package/dist/helpers/grouping/events.js.map +1 -0
  100. package/dist/helpers/grouping/index.d.ts +2 -0
  101. package/dist/helpers/grouping/index.d.ts.map +1 -0
  102. package/dist/helpers/index.d.ts +5 -0
  103. package/dist/helpers/index.d.ts.map +1 -0
  104. package/dist/helpers/network/fetch.d.ts.map +1 -0
  105. package/dist/helpers/network/index.d.ts.map +1 -0
  106. package/dist/helpers/styles/index.d.ts +2 -0
  107. package/dist/helpers/styles/index.d.ts.map +1 -0
  108. package/dist/helpers/styles/shadow.d.ts +10 -0
  109. package/dist/helpers/styles/shadow.d.ts.map +1 -0
  110. package/dist/helpers/styles/shadow.js +16 -0
  111. package/dist/helpers/styles/shadow.js.map +1 -0
  112. package/dist/index.d.ts +4 -3
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -8
  115. package/dist/index.js.map +1 -1
  116. package/dist/news.d.ts +1 -1
  117. package/dist/news.js +8 -8
  118. package/dist/news.js.map +1 -1
  119. package/dist/states/_types.d.ts +36 -0
  120. package/dist/states/_types.d.ts.map +1 -0
  121. package/dist/states/_types.js +12 -0
  122. package/dist/states/_types.js.map +1 -0
  123. package/dist/states/announcer.d.ts +14 -0
  124. package/dist/states/announcer.d.ts.map +1 -0
  125. package/dist/states/announcer.js +62 -0
  126. package/dist/states/announcer.js.map +1 -0
  127. package/dist/states/empty.d.ts +15 -0
  128. package/dist/states/empty.d.ts.map +1 -0
  129. package/dist/states/empty.js +104 -0
  130. package/dist/states/empty.js.map +1 -0
  131. package/dist/states/index.d.ts +6 -0
  132. package/dist/states/index.d.ts.map +1 -0
  133. package/dist/states/loading.d.ts +15 -0
  134. package/dist/states/loading.d.ts.map +1 -0
  135. package/dist/{macros/loader.mjs → states/loading.js} +71 -28
  136. package/dist/states/loading.js.map +1 -0
  137. package/dist/states/pagination.d.ts +17 -0
  138. package/dist/states/pagination.d.ts.map +1 -0
  139. package/dist/states/pagination.js +102 -0
  140. package/dist/states/pagination.js.map +1 -0
  141. package/dist/strategies/display/events.d.ts +4 -0
  142. package/dist/strategies/display/events.d.ts.map +1 -0
  143. package/dist/strategies/display/events.js +60 -0
  144. package/dist/strategies/display/events.js.map +1 -0
  145. package/dist/strategies/display/experts.d.ts +19 -0
  146. package/dist/strategies/display/experts.d.ts.map +1 -0
  147. package/dist/strategies/display/experts.js +266 -0
  148. package/dist/strategies/display/experts.js.map +1 -0
  149. package/dist/strategies/display/index.d.ts +5 -0
  150. package/dist/strategies/display/index.d.ts.map +1 -0
  151. package/dist/strategies/display/news.d.ts +4 -0
  152. package/dist/strategies/display/news.d.ts.map +1 -0
  153. package/dist/strategies/display/news.js +58 -0
  154. package/dist/strategies/display/news.js.map +1 -0
  155. package/dist/strategies/fetch/academic.d.ts +2 -0
  156. package/dist/strategies/fetch/academic.d.ts.map +1 -0
  157. package/dist/strategies/fetch/academic.js +30 -0
  158. package/dist/strategies/fetch/academic.js.map +1 -0
  159. package/dist/strategies/fetch/events.d.ts +20 -0
  160. package/dist/strategies/fetch/events.d.ts.map +1 -0
  161. package/dist/strategies/fetch/events.js +223 -0
  162. package/dist/strategies/fetch/events.js.map +1 -0
  163. package/dist/strategies/fetch/experts.d.ts +4 -0
  164. package/dist/strategies/fetch/experts.d.ts.map +1 -0
  165. package/dist/strategies/fetch/experts.js +194 -0
  166. package/dist/strategies/fetch/experts.js.map +1 -0
  167. package/dist/strategies/fetch/graphql.d.ts +13 -0
  168. package/dist/strategies/fetch/graphql.d.ts.map +1 -0
  169. package/dist/strategies/fetch/graphql.js +104 -0
  170. package/dist/strategies/fetch/graphql.js.map +1 -0
  171. package/dist/strategies/fetch/index.d.ts +10 -0
  172. package/dist/strategies/fetch/index.d.ts.map +1 -0
  173. package/dist/strategies/fetch/news.d.ts +4 -0
  174. package/dist/strategies/fetch/news.d.ts.map +1 -0
  175. package/dist/strategies/fetch/news.js +95 -0
  176. package/dist/strategies/fetch/news.js.map +1 -0
  177. package/dist/strategies/index.d.ts +7 -0
  178. package/dist/strategies/index.d.ts.map +1 -0
  179. package/dist/strategies/layout/featured.d.ts +8 -0
  180. package/dist/strategies/layout/featured.d.ts.map +1 -0
  181. package/dist/strategies/layout/grid.d.ts +7 -0
  182. package/dist/strategies/layout/grid.d.ts.map +1 -0
  183. package/dist/strategies/layout/grid.js +36 -0
  184. package/dist/strategies/layout/grid.js.map +1 -0
  185. package/dist/strategies/layout/index.d.ts +4 -0
  186. package/dist/strategies/layout/index.d.ts.map +1 -0
  187. package/dist/types/api.d.ts +34 -0
  188. package/dist/types/api.d.ts.map +1 -0
  189. package/dist/types/core.d.ts +40 -0
  190. package/dist/types/core.d.ts.map +1 -0
  191. package/dist/types/data/academic.d.ts +6 -0
  192. package/dist/types/data/academic.d.ts.map +1 -0
  193. package/dist/types/data/events.d.ts +21 -0
  194. package/dist/types/data/events.d.ts.map +1 -0
  195. package/dist/types/data/experts.d.ts +53 -0
  196. package/dist/types/data/experts.d.ts.map +1 -0
  197. package/dist/types/data/index.d.ts +5 -0
  198. package/dist/types/data/index.d.ts.map +1 -0
  199. package/dist/types/data/news.d.ts +6 -0
  200. package/dist/types/data/news.d.ts.map +1 -0
  201. package/dist/types/feeds.d.ts +35 -0
  202. package/dist/types/feeds.d.ts.map +1 -0
  203. package/dist/types/index.d.ts +5 -0
  204. package/dist/types/index.d.ts.map +1 -0
  205. package/dist/widgets/index.d.ts +2 -0
  206. package/dist/widgets/index.d.ts.map +1 -0
  207. package/dist/{macros → widgets}/slider.d.ts +1 -2
  208. package/dist/widgets/slider.d.ts.map +1 -0
  209. package/dist/{macros/slider.mjs → widgets/slider.js} +10 -10
  210. package/dist/widgets/slider.js.map +1 -0
  211. package/package.json +18 -12
  212. package/dist/academic.mjs +0 -5
  213. package/dist/academic.mjs.map +0 -1
  214. package/dist/composite/academic/_types.d.ts.map +0 -1
  215. package/dist/composite/academic/index.d.ts +0 -2
  216. package/dist/composite/academic/index.d.ts.map +0 -1
  217. package/dist/composite/academic/slider.d.ts +0 -5
  218. package/dist/composite/academic/slider.d.ts.map +0 -1
  219. package/dist/composite/academic/slider.js +0 -36
  220. package/dist/composite/academic/slider.js.map +0 -1
  221. package/dist/composite/academic/slider.mjs +0 -37
  222. package/dist/composite/academic/slider.mjs.map +0 -1
  223. package/dist/composite/events/_types.d.ts.map +0 -1
  224. package/dist/composite/events/common/data.d.ts +0 -44
  225. package/dist/composite/events/common/data.d.ts.map +0 -1
  226. package/dist/composite/events/common/data.js +0 -54
  227. package/dist/composite/events/common/data.js.map +0 -1
  228. package/dist/composite/events/common/data.mjs +0 -54
  229. package/dist/composite/events/common/data.mjs.map +0 -1
  230. package/dist/composite/events/common/display.d.ts +0 -18
  231. package/dist/composite/events/common/display.d.ts.map +0 -1
  232. package/dist/composite/events/common/display.js +0 -147
  233. package/dist/composite/events/common/display.js.map +0 -1
  234. package/dist/composite/events/common/display.mjs +0 -130
  235. package/dist/composite/events/common/display.mjs.map +0 -1
  236. package/dist/composite/events/common/fetch.d.ts +0 -24
  237. package/dist/composite/events/common/fetch.d.ts.map +0 -1
  238. package/dist/composite/events/common/fetch.js +0 -119
  239. package/dist/composite/events/common/fetch.js.map +0 -1
  240. package/dist/composite/events/common/fetch.mjs +0 -119
  241. package/dist/composite/events/common/fetch.mjs.map +0 -1
  242. package/dist/composite/events/common/queries.d.ts +0 -5
  243. package/dist/composite/events/common/queries.d.ts.map +0 -1
  244. package/dist/composite/events/common/queries.js +0 -113
  245. package/dist/composite/events/common/queries.js.map +0 -1
  246. package/dist/composite/events/common/queries.mjs +0 -113
  247. package/dist/composite/events/common/queries.mjs.map +0 -1
  248. package/dist/composite/events/grid.d.ts +0 -5
  249. package/dist/composite/events/grid.d.ts.map +0 -1
  250. package/dist/composite/events/grid.js +0 -92
  251. package/dist/composite/events/grid.js.map +0 -1
  252. package/dist/composite/events/grid.mjs +0 -93
  253. package/dist/composite/events/grid.mjs.map +0 -1
  254. package/dist/composite/events/grouped.d.ts +0 -5
  255. package/dist/composite/events/grouped.d.ts.map +0 -1
  256. package/dist/composite/events/grouped.js +0 -290
  257. package/dist/composite/events/grouped.js.map +0 -1
  258. package/dist/composite/events/grouped.mjs +0 -274
  259. package/dist/composite/events/grouped.mjs.map +0 -1
  260. package/dist/composite/events/index.d.ts +0 -5
  261. package/dist/composite/events/index.d.ts.map +0 -1
  262. package/dist/composite/events/list.d.ts +0 -5
  263. package/dist/composite/events/list.d.ts.map +0 -1
  264. package/dist/composite/events/list.js +0 -92
  265. package/dist/composite/events/list.js.map +0 -1
  266. package/dist/composite/events/list.mjs +0 -93
  267. package/dist/composite/events/list.mjs.map +0 -1
  268. package/dist/composite/events/slider.d.ts +0 -5
  269. package/dist/composite/events/slider.d.ts.map +0 -1
  270. package/dist/composite/events/slider.js +0 -37
  271. package/dist/composite/events/slider.js.map +0 -1
  272. package/dist/composite/events/slider.mjs +0 -38
  273. package/dist/composite/events/slider.mjs.map +0 -1
  274. package/dist/composite/news/_types.d.ts.map +0 -1
  275. package/dist/composite/news/common/data.d.ts +0 -47
  276. package/dist/composite/news/common/data.d.ts.map +0 -1
  277. package/dist/composite/news/common/data.js +0 -63
  278. package/dist/composite/news/common/data.js.map +0 -1
  279. package/dist/composite/news/common/data.mjs +0 -63
  280. package/dist/composite/news/common/data.mjs.map +0 -1
  281. package/dist/composite/news/common/display.d.ts +0 -17
  282. package/dist/composite/news/common/display.d.ts.map +0 -1
  283. package/dist/composite/news/common/display.js +0 -147
  284. package/dist/composite/news/common/display.js.map +0 -1
  285. package/dist/composite/news/common/display.mjs +0 -130
  286. package/dist/composite/news/common/display.mjs.map +0 -1
  287. package/dist/composite/news/common/fetch.d.ts +0 -22
  288. package/dist/composite/news/common/fetch.d.ts.map +0 -1
  289. package/dist/composite/news/common/fetch.js +0 -89
  290. package/dist/composite/news/common/fetch.js.map +0 -1
  291. package/dist/composite/news/common/fetch.mjs +0 -89
  292. package/dist/composite/news/common/fetch.mjs.map +0 -1
  293. package/dist/composite/news/common/queries.d.ts +0 -2
  294. package/dist/composite/news/common/queries.d.ts.map +0 -1
  295. package/dist/composite/news/common/queries.js +0 -37
  296. package/dist/composite/news/common/queries.js.map +0 -1
  297. package/dist/composite/news/common/queries.mjs +0 -37
  298. package/dist/composite/news/common/queries.mjs.map +0 -1
  299. package/dist/composite/news/featured.d.ts +0 -5
  300. package/dist/composite/news/featured.d.ts.map +0 -1
  301. package/dist/composite/news/featured.js +0 -184
  302. package/dist/composite/news/featured.js.map +0 -1
  303. package/dist/composite/news/featured.mjs +0 -185
  304. package/dist/composite/news/featured.mjs.map +0 -1
  305. package/dist/composite/news/grid.d.ts +0 -5
  306. package/dist/composite/news/grid.d.ts.map +0 -1
  307. package/dist/composite/news/grid.js +0 -100
  308. package/dist/composite/news/grid.js.map +0 -1
  309. package/dist/composite/news/grid.mjs +0 -101
  310. package/dist/composite/news/grid.mjs.map +0 -1
  311. package/dist/composite/news/index.d.ts +0 -4
  312. package/dist/composite/news/index.d.ts.map +0 -1
  313. package/dist/composite/news/list.d.ts +0 -5
  314. package/dist/composite/news/list.d.ts.map +0 -1
  315. package/dist/composite/news/list.js +0 -87
  316. package/dist/composite/news/list.js.map +0 -1
  317. package/dist/composite/news/list.mjs +0 -88
  318. package/dist/composite/news/list.mjs.map +0 -1
  319. package/dist/elements/asset.d.ts +0 -10
  320. package/dist/elements/asset.d.ts.map +0 -1
  321. package/dist/elements/asset.js +0 -27
  322. package/dist/elements/asset.js.map +0 -1
  323. package/dist/elements/asset.mjs +0 -27
  324. package/dist/elements/asset.mjs.map +0 -1
  325. package/dist/elements/index.d.ts +0 -4
  326. package/dist/elements/index.d.ts.map +0 -1
  327. package/dist/elements/layout.d.ts +0 -15
  328. package/dist/elements/layout.d.ts.map +0 -1
  329. package/dist/elements/layout.js +0 -113
  330. package/dist/elements/layout.js.map +0 -1
  331. package/dist/elements/layout.mjs +0 -96
  332. package/dist/elements/layout.mjs.map +0 -1
  333. package/dist/elements/text.d.ts +0 -12
  334. package/dist/elements/text.d.ts.map +0 -1
  335. package/dist/elements/text.js +0 -41
  336. package/dist/elements/text.js.map +0 -1
  337. package/dist/elements/text.mjs +0 -41
  338. package/dist/elements/text.mjs.map +0 -1
  339. package/dist/events.mjs +0 -11
  340. package/dist/events.mjs.map +0 -1
  341. package/dist/index.mjs +0 -9
  342. package/dist/index.mjs.map +0 -1
  343. package/dist/macros/aria-live.d.ts +0 -11
  344. package/dist/macros/aria-live.d.ts.map +0 -1
  345. package/dist/macros/aria-live.js +0 -25
  346. package/dist/macros/aria-live.js.map +0 -1
  347. package/dist/macros/aria-live.mjs +0 -26
  348. package/dist/macros/aria-live.mjs.map +0 -1
  349. package/dist/macros/index.d.ts +0 -6
  350. package/dist/macros/index.d.ts.map +0 -1
  351. package/dist/macros/lazy-load.d.ts +0 -16
  352. package/dist/macros/lazy-load.d.ts.map +0 -1
  353. package/dist/macros/lazy-load.js +0 -54
  354. package/dist/macros/lazy-load.js.map +0 -1
  355. package/dist/macros/lazy-load.mjs +0 -38
  356. package/dist/macros/lazy-load.mjs.map +0 -1
  357. package/dist/macros/loader.d.ts +0 -15
  358. package/dist/macros/loader.d.ts.map +0 -1
  359. package/dist/macros/loader.js +0 -128
  360. package/dist/macros/loader.js.map +0 -1
  361. package/dist/macros/loader.mjs.map +0 -1
  362. package/dist/macros/no-results.d.ts +0 -12
  363. package/dist/macros/no-results.d.ts.map +0 -1
  364. package/dist/macros/no-results.js +0 -66
  365. package/dist/macros/no-results.js.map +0 -1
  366. package/dist/macros/no-results.mjs +0 -50
  367. package/dist/macros/no-results.mjs.map +0 -1
  368. package/dist/macros/slider.d.ts.map +0 -1
  369. package/dist/macros/slider.js +0 -103
  370. package/dist/macros/slider.js.map +0 -1
  371. package/dist/macros/slider.mjs.map +0 -1
  372. package/dist/news.mjs +0 -9
  373. package/dist/news.mjs.map +0 -1
  374. package/dist/utilities/events/index.d.ts.map +0 -1
  375. package/dist/utilities/events/index.js +0 -19
  376. package/dist/utilities/events/index.js.map +0 -1
  377. package/dist/utilities/events/index.mjs.map +0 -1
  378. package/dist/utilities/index.d.ts +0 -3
  379. package/dist/utilities/index.d.ts.map +0 -1
  380. package/dist/utilities/network/fetch.d.ts.map +0 -1
  381. package/dist/utilities/network/index.d.ts.map +0 -1
  382. /package/dist/{composite → feeds}/academic/_types.d.ts +0 -0
  383. /package/dist/{composite → feeds}/events/_types.d.ts +0 -0
  384. /package/dist/{composite → feeds}/news/_types.d.ts +0 -0
  385. /package/dist/{utilities → helpers}/network/fetch.d.ts +0 -0
  386. /package/dist/{utilities → helpers}/network/index.d.ts +0 -0
@@ -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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"}
@@ -1,274 +0,0 @@
1
- import * as Styles from "@universityofmaryland/web-styles-library";
2
- import { ElementBuilder } from "@universityofmaryland/web-builder-library";
3
- import { Composite, Atomic } from "@universityofmaryland/web-elements-library";
4
- import { standard } from "../../elements/asset.mjs";
5
- import loader from "../../macros/loader.mjs";
6
- import "@universityofmaryland/web-utilities-library/theme";
7
- import "@universityofmaryland/web-utilities-library/network";
8
- import "@universityofmaryland/web-elements-library/composite";
9
- import "@universityofmaryland/web-elements-library/atomic";
10
- import { start } from "./common/fetch.mjs";
11
- import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
12
- import { display } from "./common/data.mjs";
13
- import { EVENTS_COUNT_RANGE_QUERY, EVENTS_RANGE_QUERY } from "./common/queries.mjs";
14
- const getDateBanner = (dateStamp) => {
15
- const dateParts = dateStamp.split("T")[0].split("-");
16
- const year = parseInt(dateParts[0], 10);
17
- const month = parseInt(dateParts[1], 10) - 1;
18
- const day = parseInt(dateParts[2], 10);
19
- const eventDate = new Date(year, month, day);
20
- const currentDate = /* @__PURE__ */ new Date();
21
- currentDate.setHours(0, 0, 0, 0);
22
- const weekFromNow = /* @__PURE__ */ new Date();
23
- weekFromNow.setDate(currentDate.getDate() + 7);
24
- weekFromNow.setHours(0, 0, 0, 0);
25
- if (eventDate.getFullYear() === currentDate.getFullYear() && eventDate.getMonth() === currentDate.getMonth() && eventDate.getDate() === currentDate.getDate()) {
26
- return "Today";
27
- }
28
- if (eventDate.getTime() > currentDate.getTime() && eventDate.getTime() <= weekFromNow.getTime()) {
29
- const days2 = [
30
- "Sunday",
31
- "Monday",
32
- "Tuesday",
33
- "Wednesday",
34
- "Thursday",
35
- "Friday",
36
- "Saturday"
37
- ];
38
- return days2[eventDate.getDay()];
39
- }
40
- const days = [
41
- "Sunday",
42
- "Monday",
43
- "Tuesday",
44
- "Wednesday",
45
- "Thursday",
46
- "Friday",
47
- "Saturday"
48
- ];
49
- const months = [
50
- "Jan",
51
- "Feb",
52
- "Mar",
53
- "Apr",
54
- "May",
55
- "Jun",
56
- "Jul",
57
- "Aug",
58
- "Sep",
59
- "Oct",
60
- "Nov",
61
- "Dec"
62
- ];
63
- return `${days[eventDate.getDay()]}, ${months[eventDate.getMonth()]} ${eventDate.getDate()}`;
64
- };
65
- const MONTH_MAP = {
66
- Jan: "01",
67
- Feb: "02",
68
- Mar: "03",
69
- Apr: "04",
70
- May: "05",
71
- Jun: "06",
72
- Jul: "07",
73
- Aug: "08",
74
- Sep: "09",
75
- Oct: "10",
76
- Nov: "11",
77
- Dec: "12"
78
- };
79
- const parseLocalDate = (dateString) => {
80
- const parts = dateString.split("-");
81
- const date = new Date(
82
- parseInt(parts[0], 10),
83
- parseInt(parts[1], 10) - 1,
84
- parseInt(parts[2], 10)
85
- );
86
- date.setHours(0, 0, 0, 0);
87
- return date;
88
- };
89
- const getEventStartDate = (event) => {
90
- return parseLocalDate(event.startStamp.split("T")[0]);
91
- };
92
- const isMultiDayEvent = (event) => {
93
- const startParts = event.startStamp.split("T")[0].split("-");
94
- const startMonth = startParts[1];
95
- const startDay = startParts[2];
96
- const endMonth = MONTH_MAP[event.endMonth];
97
- const endDay = event.endDay.padStart(2, "0");
98
- return !(startMonth === endMonth && startDay === endDay);
99
- };
100
- const eventStartsOnDate = (event, targetDate) => {
101
- const eventStartDate = getEventStartDate(event);
102
- return eventStartDate.getTime() === targetDate.getTime();
103
- };
104
- const getEventPriority = (event, groupDate) => {
105
- const isMulti = isMultiDayEvent(event);
106
- const startsOnDate = eventStartsOnDate(event, groupDate);
107
- if (isMulti && startsOnDate) return 1;
108
- if (!isMulti) return 2;
109
- return 3;
110
- };
111
- const sortEventsByPriority = (events, groupDate) => {
112
- return [...events].sort((a, b) => {
113
- const aPriority = getEventPriority(a, groupDate);
114
- const bPriority = getEventPriority(b, groupDate);
115
- return aPriority - bPriority;
116
- });
117
- };
118
- const groupEventsByDate = (events) => {
119
- const currentDate = /* @__PURE__ */ new Date();
120
- currentDate.setHours(0, 0, 0, 0);
121
- const grouped2 = events.reduce((acc, event) => {
122
- const eventDate = getEventStartDate(event);
123
- const dateKey = eventDate < currentDate ? currentDate.toISOString().split("T")[0] : event.startStamp;
124
- if (!acc[dateKey]) {
125
- acc[dateKey] = {
126
- date: getDateBanner(dateKey),
127
- events: []
128
- };
129
- }
130
- acc[dateKey].events.push(event);
131
- return acc;
132
- }, {});
133
- Object.keys(grouped2).forEach((dateKey) => {
134
- const groupDate = parseLocalDate(dateKey);
135
- grouped2[dateKey].events = sortEventsByPriority(
136
- grouped2[dateKey].events,
137
- groupDate
138
- );
139
- });
140
- return Object.values(grouped2).sort((a, b) => {
141
- const dateA = new Date(
142
- Object.keys(grouped2).find((key) => grouped2[key] === a) || ""
143
- );
144
- const dateB = new Date(
145
- Object.keys(grouped2).find((key) => grouped2[key] === b) || ""
146
- );
147
- return dateA.getTime() - dateB.getTime();
148
- });
149
- };
150
- const grouped = (props) => (() => {
151
- const { isThemeDark } = props;
152
- const loader$1 = loader.create({ isThemeDark });
153
- const container = document.createElement("div");
154
- const setTotalEntries = (count) => totalEntries = count;
155
- const setOffset = (count) => offset = offset + count;
156
- const setStyles = (additonalStyles) => styles += additonalStyles;
157
- const getContainer = () => container;
158
- const getTotalEntries = () => totalEntries;
159
- const getOffset = () => offset;
160
- const getStyles = () => styles;
161
- const getShadowRoot = () => shadowRoot;
162
- let totalEntries = 0;
163
- let offset = 0;
164
- let styles = `
165
- ${loader$1.styles}
166
- `;
167
- let shadowRoot = null;
168
- let lastDateHeadline = null;
169
- const helperFunctions = {
170
- setTotalEntries,
171
- setOffset,
172
- setStyles,
173
- getContainer,
174
- getOffset,
175
- getTotalEntries,
176
- getStyles,
177
- getShadowRoot
178
- };
179
- const callback = (shadow) => {
180
- shadowRoot = shadow;
181
- };
182
- const groupLayout = () => {
183
- return new ElementBuilder().withClassName("umd-feed-events-grouped").build();
184
- };
185
- const displayResults = async ({ feedData }) => {
186
- const groupedEvents = groupEventsByDate(feedData);
187
- const entries = [];
188
- let actualEventCount = 0;
189
- groupedEvents.forEach((group) => {
190
- if (group.date !== lastDateHeadline) {
191
- const dateHeadline = document.createElement("p");
192
- dateHeadline.textContent = group.date;
193
- entries.push(
194
- new ElementBuilder(dateHeadline).styled(Styles.element.text.decoration.ribbon).withStyles({
195
- element: {
196
- margin: `${Styles.token.spacing.lg} 0`
197
- }
198
- }).build()
199
- );
200
- lastDateHeadline = group.date;
201
- }
202
- const dateEntries = group.events.map(
203
- (entry) => Composite.card.list({
204
- ...display({ entry, isThemeDark }),
205
- dateSign: Atomic.events.sign({
206
- ...entry,
207
- isThemeDark,
208
- isLargeSize: true
209
- }),
210
- image: standard({
211
- images: entry.image,
212
- url: entry.url
213
- }),
214
- isAligned: false
215
- })
216
- );
217
- actualEventCount += group.events.length;
218
- const entriesBuilder = new ElementBuilder().withClassName("umd-feed-events-grouped-entries").withStyles({
219
- element: {
220
- [` > *:not(:last-child)`]: {
221
- paddingBottom: Styles.token.spacing.md,
222
- marginBottom: Styles.token.spacing.md,
223
- borderBottom: `1px solid ${isThemeDark ? Styles.token.color.gray.dark : Styles.token.color.gray.light}`
224
- },
225
- [`+ .umd-feed-events-grouped-entries`]: {
226
- paddingTop: Styles.token.spacing.md,
227
- marginTop: Styles.token.spacing.md,
228
- borderTop: `1px solid ${isThemeDark ? Styles.token.color.gray.dark : Styles.token.color.gray.light}`
229
- }
230
- }
231
- });
232
- dateEntries.forEach((entry) => entriesBuilder.withChild(entry));
233
- entries.push(entriesBuilder.build());
234
- });
235
- const originalSetOffset = helperFunctions.setOffset;
236
- helperFunctions.setOffset = () => originalSetOffset(actualEventCount);
237
- await resultLoad({
238
- ...props,
239
- ...helperFunctions,
240
- displayResults,
241
- entries,
242
- query: EVENTS_RANGE_QUERY
243
- });
244
- helperFunctions.setOffset = originalSetOffset;
245
- if (shadowRoot) {
246
- setShadowStyles({
247
- shadowRoot,
248
- styles
249
- });
250
- }
251
- };
252
- container.appendChild(loader$1.element);
253
- start({
254
- ...props,
255
- ...helperFunctions,
256
- displayResults,
257
- displayResultStart: resultStart,
258
- displayNoResults: noResults,
259
- layoutElement: groupLayout(),
260
- query: EVENTS_RANGE_QUERY,
261
- countQuery: EVENTS_COUNT_RANGE_QUERY
262
- });
263
- return {
264
- element: container,
265
- styles,
266
- events: {
267
- callback
268
- }
269
- };
270
- })();
271
- export {
272
- grouped as default
273
- };
274
- //# sourceMappingURL=grouped.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grouped.mjs","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","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { default as grid } from './grid';
2
- export { default as list } from './list';
3
- export { default as slider } from './slider';
4
- export { default as grouped } from './grouped';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/composite/events/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkBzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiBzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAkB7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1,5 +0,0 @@
1
- import { ListProps } from './_types';
2
- import { ElementModel } from '../../_types';
3
- declare const _default: (props: ListProps) => ElementModel;
4
- export default _default;
5
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../source/composite/events/list.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAEjC,OAAO,SAAS,KAAG,YAAY;AAA/C,wBAmFO"}
@@ -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 list = (props) => (() => {
16
- const { isThemeDark } = 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.list({
53
- ...data.display({ entry, isThemeDark }),
54
- dateSign: webElementsLibrary.Atomic.events.sign({
55
- ...entry,
56
- isThemeDark,
57
- isLargeSize: true
58
- }),
59
- image: asset.standard({
60
- images: entry.image,
61
- url: entry.url
62
- }),
63
- isAligned: false
64
- })
65
- )
66
- });
67
- if (shadowRoot) {
68
- display.setShadowStyles({
69
- shadowRoot,
70
- styles
71
- });
72
- }
73
- };
74
- container.appendChild(loader$1.element);
75
- fetch.start({
76
- ...props,
77
- ...helperFunctions,
78
- displayResults,
79
- displayResultStart: display.resultStart,
80
- displayNoResults: display.noResults,
81
- layoutElement: layout.stacked(isThemeDark)
82
- });
83
- return {
84
- element: container,
85
- styles,
86
- events: {
87
- callback
88
- }
89
- };
90
- })();
91
- module.exports = list;
92
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sources":["../../../source/composite/events/list.ts"],"sourcesContent":["import { 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 { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\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\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.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\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: feedElements.layout.stacked(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","Atomic","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,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,KAAK;AAAA,UAClB,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,UAAUC,mBAAAA,OAAO,OAAO,KAAK;AAAA,YAC3B,GAAG;AAAA,YACH;AAAA,YACA,aAAa;AAAA,UAAA,CACd;AAAA,UACD,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYP,SAAO,OAAO;AAEpCQ,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB,eAAeC,OAAAA,QAA4B,WAAW;AAAA,EAAA,CACvD;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, Atomic } from "@universityofmaryland/web-elements-library";
2
- import { standard } from "../../elements/asset.mjs";
3
- import { stacked } 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 list = (props) => (() => {
15
- const { isThemeDark } = 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.list({
52
- ...display({ entry, isThemeDark }),
53
- dateSign: Atomic.events.sign({
54
- ...entry,
55
- isThemeDark,
56
- isLargeSize: true
57
- }),
58
- image: standard({
59
- images: entry.image,
60
- url: entry.url
61
- }),
62
- isAligned: false
63
- })
64
- )
65
- });
66
- if (shadowRoot) {
67
- setShadowStyles({
68
- shadowRoot,
69
- styles
70
- });
71
- }
72
- };
73
- container.appendChild(loader$1.element);
74
- start({
75
- ...props,
76
- ...helperFunctions,
77
- displayResults,
78
- displayResultStart: resultStart,
79
- displayNoResults: noResults,
80
- layoutElement: stacked(isThemeDark)
81
- });
82
- return {
83
- element: container,
84
- styles,
85
- events: {
86
- callback
87
- }
88
- };
89
- })();
90
- export {
91
- list as default
92
- };
93
- //# sourceMappingURL=list.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../source/composite/events/list.ts"],"sourcesContent":["import { 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 { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\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\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.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\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: feedElements.layout.stacked(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","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,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,KAAK;AAAA,UAClB,GAAGC,QAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,UAAU,OAAO,OAAO,KAAK;AAAA,YAC3B,GAAG;AAAA,YACH;AAAA,YACA,aAAa;AAAA,UAAA,CACd;AAAA,UACD,OAAOC,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYL,SAAO,OAAO;AAEpCM,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB,eAAeC,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
@@ -1,5 +0,0 @@
1
- import { SliderProps } from './_types';
2
- import { ElementModel } from '../../_types';
3
- declare const _default: (props: SliderProps) => ElementModel;
4
- export default _default;
5
- //# sourceMappingURL=slider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/composite/events/slider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBA4BjC,OAAO,WAAW,KAAG,YAAY;AAAjD,wBAKK"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- require("@universityofmaryland/web-styles-library");
3
- require("@universityofmaryland/web-builder-library");
4
- require("@universityofmaryland/web-elements-library");
5
- require("@universityofmaryland/web-utilities-library/theme");
6
- const slider$1 = require("../../macros/slider.js");
7
- const QUERY_DATA = `
8
- title
9
- url
10
- startMonth: startDate @formatDateTime(format: "M")
11
- startDay: startDate @formatDateTime(format: "d")
12
- endMonth: endDate @formatDateTime(format: "M")
13
- endDay: endDate @formatDateTime(format: "d")
14
- `;
15
- const query = `
16
- query getEvents($startDate: String!, $related: [QueryArgument]) {
17
- entries: solspace_calendar {
18
- events(
19
- relatedTo: $related
20
- loadOccurrences: true
21
- startsAfterOrAt: $startDate
22
- limit: 12
23
- ) {
24
- ... on submission_Event {
25
- ${QUERY_DATA}
26
- }
27
- }
28
- }
29
- }
30
- `;
31
- const slider = (props) => slider$1({
32
- ...props,
33
- query,
34
- url: "https://calendar.umd.edu/graphql"
35
- });
36
- module.exports = slider;
37
- //# sourceMappingURL=slider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.js","sources":["../../../source/composite/events/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type SliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n ) {\n ... on submission_Event {\n ${QUERY_DATA}\n }\n }\n }\n }\n`;\n\nexport default (props: SliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://calendar.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":";;;;;;AAIA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASnB,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAUF,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;;"}