@universityofmaryland/web-feeds-library 1.2.3 → 1.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/academic.d.ts +1 -1
- package/dist/academic.js +1 -1
- package/dist/academic.mjs +1 -1
- package/dist/events.d.ts +1 -1
- package/dist/events.js +4 -4
- package/dist/events.mjs +4 -4
- package/dist/experts.d.ts +2 -0
- package/dist/experts.js +9 -0
- package/dist/experts.js.map +1 -0
- package/dist/experts.mjs +9 -0
- package/dist/experts.mjs.map +1 -0
- package/dist/factory/core/createBaseFeed.d.ts +3 -0
- package/dist/factory/core/createBaseFeed.d.ts.map +1 -0
- package/dist/factory/core/createBaseFeed.js +114 -0
- package/dist/factory/core/createBaseFeed.js.map +1 -0
- package/dist/factory/core/createBaseFeed.mjs +114 -0
- package/dist/factory/core/createBaseFeed.mjs.map +1 -0
- package/dist/factory/core/index.d.ts +3 -0
- package/dist/factory/core/index.d.ts.map +1 -0
- package/dist/factory/core/types.d.ts +91 -0
- package/dist/factory/core/types.d.ts.map +1 -0
- package/dist/factory/helpers/displayHandler.d.ts +29 -0
- package/dist/factory/helpers/displayHandler.d.ts.map +1 -0
- package/dist/factory/helpers/displayHandler.js +187 -0
- package/dist/factory/helpers/displayHandler.js.map +1 -0
- package/dist/factory/helpers/displayHandler.mjs +169 -0
- package/dist/factory/helpers/displayHandler.mjs.map +1 -0
- package/dist/factory/helpers/feedHelpers.d.ts +10 -0
- package/dist/factory/helpers/feedHelpers.d.ts.map +1 -0
- package/dist/factory/helpers/feedHelpers.js +32 -0
- package/dist/factory/helpers/feedHelpers.js.map +1 -0
- package/dist/factory/helpers/feedHelpers.mjs +32 -0
- package/dist/factory/helpers/feedHelpers.mjs.map +1 -0
- package/dist/factory/helpers/fetchHandler.d.ts +22 -0
- package/dist/factory/helpers/fetchHandler.d.ts.map +1 -0
- package/dist/factory/helpers/fetchHandler.js +140 -0
- package/dist/factory/helpers/fetchHandler.js.map +1 -0
- package/dist/factory/helpers/fetchHandler.mjs +123 -0
- package/dist/factory/helpers/fetchHandler.mjs.map +1 -0
- package/dist/factory/helpers/index.d.ts +4 -0
- package/dist/factory/helpers/index.d.ts.map +1 -0
- package/dist/factory/index.d.ts +4 -0
- package/dist/factory/index.d.ts.map +1 -0
- package/dist/feeds/academic/_types.d.ts.map +1 -0
- package/dist/feeds/academic/index.d.ts.map +1 -0
- package/dist/feeds/academic/slider.d.ts.map +1 -0
- package/dist/feeds/academic/slider.js +10 -0
- package/dist/feeds/academic/slider.js.map +1 -0
- package/dist/feeds/academic/slider.mjs +11 -0
- package/dist/feeds/academic/slider.mjs.map +1 -0
- package/dist/feeds/events/_types.d.ts.map +1 -0
- package/dist/feeds/events/grid.d.ts.map +1 -0
- package/dist/feeds/events/grid.js +31 -0
- package/dist/feeds/events/grid.js.map +1 -0
- package/dist/feeds/events/grid.mjs +32 -0
- package/dist/feeds/events/grid.mjs.map +1 -0
- package/dist/feeds/events/grouped.d.ts.map +1 -0
- package/dist/feeds/events/grouped.js +353 -0
- package/dist/feeds/events/grouped.js.map +1 -0
- package/dist/feeds/events/grouped.mjs +337 -0
- package/dist/feeds/events/grouped.mjs.map +1 -0
- package/dist/feeds/events/index.d.ts.map +1 -0
- package/dist/feeds/events/list.d.ts.map +1 -0
- package/dist/feeds/events/list.js +32 -0
- package/dist/feeds/events/list.js.map +1 -0
- package/dist/feeds/events/list.mjs +33 -0
- package/dist/feeds/events/list.mjs.map +1 -0
- package/dist/feeds/events/slider.d.ts.map +1 -0
- package/dist/feeds/events/slider.js +10 -0
- package/dist/feeds/events/slider.js.map +1 -0
- package/dist/feeds/events/slider.mjs +11 -0
- package/dist/feeds/events/slider.mjs.map +1 -0
- package/dist/feeds/experts/_types.d.ts +22 -0
- package/dist/feeds/experts/_types.d.ts.map +1 -0
- package/dist/feeds/experts/bio.d.ts +5 -0
- package/dist/feeds/experts/bio.d.ts.map +1 -0
- package/dist/feeds/experts/bio.js +146 -0
- package/dist/feeds/experts/bio.js.map +1 -0
- package/dist/feeds/experts/bio.mjs +147 -0
- package/dist/feeds/experts/bio.mjs.map +1 -0
- package/dist/feeds/experts/grid.d.ts +5 -0
- package/dist/feeds/experts/grid.d.ts.map +1 -0
- package/dist/feeds/experts/grid.js +36 -0
- package/dist/feeds/experts/grid.js.map +1 -0
- package/dist/feeds/experts/grid.mjs +37 -0
- package/dist/feeds/experts/grid.mjs.map +1 -0
- package/dist/feeds/experts/index.d.ts +4 -0
- package/dist/feeds/experts/index.d.ts.map +1 -0
- package/dist/feeds/experts/list.d.ts.map +1 -0
- package/dist/feeds/experts/list.js +25 -0
- package/dist/feeds/experts/list.js.map +1 -0
- package/dist/feeds/experts/list.mjs +26 -0
- package/dist/feeds/experts/list.mjs.map +1 -0
- package/dist/feeds/news/_types.d.ts.map +1 -0
- package/dist/feeds/news/featured.d.ts.map +1 -0
- package/dist/feeds/news/featured.js +378 -0
- package/dist/feeds/news/featured.js.map +1 -0
- package/dist/feeds/news/featured.mjs +379 -0
- package/dist/feeds/news/featured.mjs.map +1 -0
- package/dist/feeds/news/grid.d.ts.map +1 -0
- package/dist/feeds/news/grid.js +36 -0
- package/dist/feeds/news/grid.js.map +1 -0
- package/dist/feeds/news/grid.mjs +37 -0
- package/dist/feeds/news/grid.mjs.map +1 -0
- package/dist/feeds/news/index.d.ts.map +1 -0
- package/dist/feeds/news/list.d.ts +5 -0
- package/dist/feeds/news/list.d.ts.map +1 -0
- package/dist/feeds/news/list.js +33 -0
- package/dist/feeds/news/list.js.map +1 -0
- package/dist/feeds/news/list.mjs +34 -0
- package/dist/feeds/news/list.mjs.map +1 -0
- package/dist/{utilities → helpers}/events/index.d.ts +1 -0
- package/dist/helpers/events/index.d.ts.map +1 -0
- package/dist/{utilities → helpers}/events/index.js +2 -0
- package/dist/helpers/events/index.js.map +1 -0
- package/dist/{utilities → helpers}/events/index.mjs +2 -0
- package/dist/helpers/events/index.mjs.map +1 -0
- package/dist/helpers/grouping/events.d.ts +14 -0
- package/dist/helpers/grouping/events.d.ts.map +1 -0
- package/dist/helpers/grouping/events.js +147 -0
- package/dist/helpers/grouping/events.js.map +1 -0
- package/dist/helpers/grouping/events.mjs +147 -0
- package/dist/helpers/grouping/events.mjs.map +1 -0
- package/dist/helpers/grouping/index.d.ts +2 -0
- package/dist/helpers/grouping/index.d.ts.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/network/fetch.d.ts.map +1 -0
- package/dist/helpers/network/index.d.ts.map +1 -0
- package/dist/helpers/styles/index.d.ts +2 -0
- package/dist/helpers/styles/index.d.ts.map +1 -0
- package/dist/helpers/styles/shadow.d.ts +10 -0
- package/dist/helpers/styles/shadow.d.ts.map +1 -0
- package/dist/helpers/styles/shadow.js +33 -0
- package/dist/helpers/styles/shadow.js.map +1 -0
- package/dist/helpers/styles/shadow.mjs +16 -0
- package/dist/helpers/styles/shadow.mjs.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/news.d.ts +1 -1
- package/dist/news.js +3 -3
- package/dist/news.mjs +3 -3
- package/dist/states/_types.d.ts +60 -0
- package/dist/states/_types.d.ts.map +1 -0
- package/dist/states/_types.js +12 -0
- package/dist/states/_types.js.map +1 -0
- package/dist/states/_types.mjs +12 -0
- package/dist/states/_types.mjs.map +1 -0
- package/dist/states/announcer.d.ts +16 -0
- package/dist/states/announcer.d.ts.map +1 -0
- package/dist/states/announcer.js +62 -0
- package/dist/states/announcer.js.map +1 -0
- package/dist/states/announcer.mjs +62 -0
- package/dist/states/announcer.mjs.map +1 -0
- package/dist/states/empty.d.ts +17 -0
- package/dist/states/empty.d.ts.map +1 -0
- package/dist/states/empty.js +121 -0
- package/dist/states/empty.js.map +1 -0
- package/dist/states/empty.mjs +104 -0
- package/dist/states/empty.mjs.map +1 -0
- package/dist/states/index.d.ts +10 -0
- package/dist/states/index.d.ts.map +1 -0
- package/dist/states/loading.d.ts +17 -0
- package/dist/states/loading.d.ts.map +1 -0
- package/dist/states/loading.js +155 -0
- package/dist/states/loading.js.map +1 -0
- package/dist/states/loading.mjs +155 -0
- package/dist/states/loading.mjs.map +1 -0
- package/dist/states/pagination.d.ts +19 -0
- package/dist/states/pagination.d.ts.map +1 -0
- package/dist/states/pagination.js +119 -0
- package/dist/states/pagination.js.map +1 -0
- package/dist/states/pagination.mjs +102 -0
- package/dist/states/pagination.mjs.map +1 -0
- package/dist/strategies/display/events.d.ts +4 -0
- package/dist/strategies/display/events.d.ts.map +1 -0
- package/dist/strategies/display/events.js +60 -0
- package/dist/strategies/display/events.js.map +1 -0
- package/dist/strategies/display/events.mjs +60 -0
- package/dist/strategies/display/events.mjs.map +1 -0
- package/dist/strategies/display/experts.d.ts +19 -0
- package/dist/strategies/display/experts.d.ts.map +1 -0
- package/dist/strategies/display/experts.js +266 -0
- package/dist/strategies/display/experts.js.map +1 -0
- package/dist/strategies/display/experts.mjs +266 -0
- package/dist/strategies/display/experts.mjs.map +1 -0
- package/dist/strategies/display/index.d.ts +5 -0
- package/dist/strategies/display/index.d.ts.map +1 -0
- package/dist/strategies/display/news.d.ts +4 -0
- package/dist/strategies/display/news.d.ts.map +1 -0
- package/dist/strategies/display/news.js +58 -0
- package/dist/strategies/display/news.js.map +1 -0
- package/dist/strategies/display/news.mjs +58 -0
- package/dist/strategies/display/news.mjs.map +1 -0
- package/dist/strategies/fetch/academic.d.ts +2 -0
- package/dist/strategies/fetch/academic.d.ts.map +1 -0
- package/dist/strategies/fetch/academic.js +30 -0
- package/dist/strategies/fetch/academic.js.map +1 -0
- package/dist/strategies/fetch/academic.mjs +30 -0
- package/dist/strategies/fetch/academic.mjs.map +1 -0
- package/dist/strategies/fetch/events.d.ts +20 -0
- package/dist/strategies/fetch/events.d.ts.map +1 -0
- package/dist/strategies/fetch/events.js +223 -0
- package/dist/strategies/fetch/events.js.map +1 -0
- package/dist/strategies/fetch/events.mjs +223 -0
- package/dist/strategies/fetch/events.mjs.map +1 -0
- package/dist/strategies/fetch/experts.d.ts +4 -0
- package/dist/strategies/fetch/experts.d.ts.map +1 -0
- package/dist/strategies/fetch/experts.js +189 -0
- package/dist/strategies/fetch/experts.js.map +1 -0
- package/dist/strategies/fetch/experts.mjs +189 -0
- package/dist/strategies/fetch/experts.mjs.map +1 -0
- package/dist/strategies/fetch/graphql.d.ts +13 -0
- package/dist/strategies/fetch/graphql.d.ts.map +1 -0
- package/dist/strategies/fetch/graphql.js +100 -0
- package/dist/strategies/fetch/graphql.js.map +1 -0
- package/dist/strategies/fetch/graphql.mjs +100 -0
- package/dist/strategies/fetch/graphql.mjs.map +1 -0
- package/dist/strategies/fetch/index.d.ts +10 -0
- package/dist/strategies/fetch/index.d.ts.map +1 -0
- package/dist/strategies/fetch/news.d.ts +4 -0
- package/dist/strategies/fetch/news.d.ts.map +1 -0
- package/dist/strategies/fetch/news.js +95 -0
- package/dist/strategies/fetch/news.js.map +1 -0
- package/dist/strategies/fetch/news.mjs +95 -0
- package/dist/strategies/fetch/news.mjs.map +1 -0
- package/dist/strategies/index.d.ts +7 -0
- package/dist/strategies/index.d.ts.map +1 -0
- package/dist/strategies/layout/featured.d.ts +8 -0
- package/dist/strategies/layout/featured.d.ts.map +1 -0
- package/dist/strategies/layout/grid.d.ts +7 -0
- package/dist/strategies/layout/grid.d.ts.map +1 -0
- package/dist/strategies/layout/grid.js +36 -0
- package/dist/strategies/layout/grid.js.map +1 -0
- package/dist/strategies/layout/grid.mjs +36 -0
- package/dist/strategies/layout/grid.mjs.map +1 -0
- package/dist/strategies/layout/index.d.ts +4 -0
- package/dist/strategies/layout/index.d.ts.map +1 -0
- package/dist/types/api.d.ts +34 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/core.d.ts +40 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/data/academic.d.ts +6 -0
- package/dist/types/data/academic.d.ts.map +1 -0
- package/dist/types/data/events.d.ts +21 -0
- package/dist/types/data/events.d.ts.map +1 -0
- package/dist/types/data/experts.d.ts +53 -0
- package/dist/types/data/experts.d.ts.map +1 -0
- package/dist/types/data/index.d.ts +5 -0
- package/dist/types/data/index.d.ts.map +1 -0
- package/dist/types/data/news.d.ts +6 -0
- package/dist/types/data/news.d.ts.map +1 -0
- package/dist/types/feeds.d.ts +35 -0
- package/dist/types/feeds.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/widgets/index.d.ts +2 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/slider.d.ts.map +1 -0
- package/dist/{macros → widgets}/slider.js +2 -4
- package/dist/{macros/slider.mjs.map → widgets/slider.js.map} +1 -1
- package/dist/{macros → widgets}/slider.mjs +2 -4
- package/dist/widgets/slider.mjs.map +1 -0
- package/package.json +17 -3
- package/dist/composite/academic/_types.d.ts.map +0 -1
- package/dist/composite/academic/index.d.ts.map +0 -1
- package/dist/composite/academic/slider.d.ts.map +0 -1
- package/dist/composite/academic/slider.js +0 -34
- package/dist/composite/academic/slider.js.map +0 -1
- package/dist/composite/academic/slider.mjs +0 -35
- package/dist/composite/academic/slider.mjs.map +0 -1
- package/dist/composite/events/_types.d.ts.map +0 -1
- package/dist/composite/events/common/data.d.ts +0 -48
- package/dist/composite/events/common/data.d.ts.map +0 -1
- package/dist/composite/events/common/data.js +0 -53
- package/dist/composite/events/common/data.js.map +0 -1
- package/dist/composite/events/common/data.mjs +0 -53
- package/dist/composite/events/common/data.mjs.map +0 -1
- package/dist/composite/events/common/display.d.ts +0 -18
- package/dist/composite/events/common/display.d.ts.map +0 -1
- package/dist/composite/events/common/display.js +0 -147
- package/dist/composite/events/common/display.js.map +0 -1
- package/dist/composite/events/common/display.mjs +0 -130
- package/dist/composite/events/common/display.mjs.map +0 -1
- package/dist/composite/events/common/fetch.d.ts +0 -24
- package/dist/composite/events/common/fetch.d.ts.map +0 -1
- package/dist/composite/events/common/fetch.js +0 -117
- package/dist/composite/events/common/fetch.js.map +0 -1
- package/dist/composite/events/common/fetch.mjs +0 -117
- package/dist/composite/events/common/fetch.mjs.map +0 -1
- package/dist/composite/events/common/queries.d.ts +0 -5
- package/dist/composite/events/common/queries.d.ts.map +0 -1
- package/dist/composite/events/common/queries.js +0 -113
- package/dist/composite/events/common/queries.js.map +0 -1
- package/dist/composite/events/common/queries.mjs +0 -113
- package/dist/composite/events/common/queries.mjs.map +0 -1
- package/dist/composite/events/grid.d.ts.map +0 -1
- package/dist/composite/events/grid.js +0 -90
- package/dist/composite/events/grid.js.map +0 -1
- package/dist/composite/events/grid.mjs +0 -91
- package/dist/composite/events/grid.mjs.map +0 -1
- package/dist/composite/events/grouped.d.ts.map +0 -1
- package/dist/composite/events/grouped.js +0 -300
- package/dist/composite/events/grouped.js.map +0 -1
- package/dist/composite/events/grouped.mjs +0 -284
- package/dist/composite/events/grouped.mjs.map +0 -1
- package/dist/composite/events/index.d.ts.map +0 -1
- package/dist/composite/events/list.d.ts.map +0 -1
- package/dist/composite/events/list.js +0 -90
- package/dist/composite/events/list.js.map +0 -1
- package/dist/composite/events/list.mjs +0 -91
- package/dist/composite/events/list.mjs.map +0 -1
- package/dist/composite/events/slider.d.ts.map +0 -1
- package/dist/composite/events/slider.js +0 -35
- package/dist/composite/events/slider.js.map +0 -1
- package/dist/composite/events/slider.mjs +0 -36
- package/dist/composite/events/slider.mjs.map +0 -1
- package/dist/composite/news/_types.d.ts.map +0 -1
- package/dist/composite/news/common/data.d.ts +0 -47
- package/dist/composite/news/common/data.d.ts.map +0 -1
- package/dist/composite/news/common/data.js +0 -62
- package/dist/composite/news/common/data.js.map +0 -1
- package/dist/composite/news/common/data.mjs +0 -62
- package/dist/composite/news/common/data.mjs.map +0 -1
- package/dist/composite/news/common/display.d.ts +0 -17
- package/dist/composite/news/common/display.d.ts.map +0 -1
- package/dist/composite/news/common/display.js +0 -147
- package/dist/composite/news/common/display.js.map +0 -1
- package/dist/composite/news/common/display.mjs +0 -130
- package/dist/composite/news/common/display.mjs.map +0 -1
- package/dist/composite/news/common/fetch.d.ts +0 -22
- package/dist/composite/news/common/fetch.d.ts.map +0 -1
- package/dist/composite/news/common/fetch.js +0 -87
- package/dist/composite/news/common/fetch.js.map +0 -1
- package/dist/composite/news/common/fetch.mjs +0 -87
- package/dist/composite/news/common/fetch.mjs.map +0 -1
- package/dist/composite/news/common/queries.d.ts +0 -2
- package/dist/composite/news/common/queries.d.ts.map +0 -1
- package/dist/composite/news/common/queries.js +0 -37
- package/dist/composite/news/common/queries.js.map +0 -1
- package/dist/composite/news/common/queries.mjs +0 -37
- package/dist/composite/news/common/queries.mjs.map +0 -1
- package/dist/composite/news/featured.d.ts.map +0 -1
- package/dist/composite/news/featured.js +0 -182
- package/dist/composite/news/featured.js.map +0 -1
- package/dist/composite/news/featured.mjs +0 -183
- package/dist/composite/news/featured.mjs.map +0 -1
- package/dist/composite/news/grid.d.ts.map +0 -1
- package/dist/composite/news/grid.js +0 -98
- package/dist/composite/news/grid.js.map +0 -1
- package/dist/composite/news/grid.mjs +0 -99
- package/dist/composite/news/grid.mjs.map +0 -1
- package/dist/composite/news/index.d.ts.map +0 -1
- package/dist/composite/news/list.d.ts.map +0 -1
- package/dist/composite/news/list.js +0 -85
- package/dist/composite/news/list.js.map +0 -1
- package/dist/composite/news/list.mjs +0 -86
- package/dist/composite/news/list.mjs.map +0 -1
- package/dist/elements/asset.d.ts +0 -10
- package/dist/elements/asset.d.ts.map +0 -1
- package/dist/elements/asset.js +0 -27
- package/dist/elements/asset.js.map +0 -1
- package/dist/elements/asset.mjs +0 -27
- package/dist/elements/asset.mjs.map +0 -1
- package/dist/elements/index.d.ts +0 -4
- package/dist/elements/index.d.ts.map +0 -1
- package/dist/elements/layout.d.ts +0 -27
- package/dist/elements/layout.d.ts.map +0 -1
- package/dist/elements/layout.js +0 -121
- package/dist/elements/layout.js.map +0 -1
- package/dist/elements/layout.mjs +0 -104
- package/dist/elements/layout.mjs.map +0 -1
- package/dist/elements/text.d.ts +0 -12
- package/dist/elements/text.d.ts.map +0 -1
- package/dist/elements/text.js +0 -41
- package/dist/elements/text.js.map +0 -1
- package/dist/elements/text.mjs +0 -41
- package/dist/elements/text.mjs.map +0 -1
- package/dist/macros/aria-live.d.ts +0 -11
- package/dist/macros/aria-live.d.ts.map +0 -1
- package/dist/macros/aria-live.js +0 -25
- package/dist/macros/aria-live.js.map +0 -1
- package/dist/macros/aria-live.mjs +0 -26
- package/dist/macros/aria-live.mjs.map +0 -1
- package/dist/macros/index.d.ts +0 -6
- package/dist/macros/index.d.ts.map +0 -1
- package/dist/macros/lazy-load.d.ts +0 -19
- package/dist/macros/lazy-load.d.ts.map +0 -1
- package/dist/macros/lazy-load.js +0 -63
- package/dist/macros/lazy-load.js.map +0 -1
- package/dist/macros/lazy-load.mjs +0 -47
- package/dist/macros/lazy-load.mjs.map +0 -1
- package/dist/macros/loader.d.ts +0 -18
- package/dist/macros/loader.d.ts.map +0 -1
- package/dist/macros/loader.js +0 -148
- package/dist/macros/loader.js.map +0 -1
- package/dist/macros/loader.mjs +0 -132
- package/dist/macros/loader.mjs.map +0 -1
- package/dist/macros/no-results.d.ts +0 -15
- package/dist/macros/no-results.d.ts.map +0 -1
- package/dist/macros/no-results.js +0 -71
- package/dist/macros/no-results.js.map +0 -1
- package/dist/macros/no-results.mjs +0 -55
- package/dist/macros/no-results.mjs.map +0 -1
- package/dist/macros/slider.d.ts.map +0 -1
- package/dist/macros/slider.js.map +0 -1
- package/dist/utilities/events/index.d.ts.map +0 -1
- package/dist/utilities/events/index.js.map +0 -1
- package/dist/utilities/events/index.mjs.map +0 -1
- package/dist/utilities/index.d.ts +0 -3
- package/dist/utilities/index.d.ts.map +0 -1
- package/dist/utilities/network/fetch.d.ts.map +0 -1
- package/dist/utilities/network/index.d.ts.map +0 -1
- /package/dist/{composite → feeds}/academic/_types.d.ts +0 -0
- /package/dist/{composite → feeds}/academic/index.d.ts +0 -0
- /package/dist/{composite → feeds}/academic/slider.d.ts +0 -0
- /package/dist/{composite → feeds}/events/_types.d.ts +0 -0
- /package/dist/{composite → feeds}/events/grid.d.ts +0 -0
- /package/dist/{composite → feeds}/events/grouped.d.ts +0 -0
- /package/dist/{composite → feeds}/events/index.d.ts +0 -0
- /package/dist/{composite → feeds}/events/list.d.ts +0 -0
- /package/dist/{composite → feeds}/events/slider.d.ts +0 -0
- /package/dist/{composite/news → feeds/experts}/list.d.ts +0 -0
- /package/dist/{composite → feeds}/news/_types.d.ts +0 -0
- /package/dist/{composite → feeds}/news/featured.d.ts +0 -0
- /package/dist/{composite → feeds}/news/grid.d.ts +0 -0
- /package/dist/{composite → feeds}/news/index.d.ts +0 -0
- /package/dist/{utilities → helpers}/network/fetch.d.ts +0 -0
- /package/dist/{utilities → helpers}/network/index.d.ts +0 -0
- /package/dist/{macros → widgets}/slider.d.ts +0 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const graphql = require("./graphql.js");
|
|
4
|
+
const network = require("@universityofmaryland/web-utilities-library/network");
|
|
5
|
+
const CALENDARS = ["communications", "submission"];
|
|
6
|
+
function generateFragments() {
|
|
7
|
+
return CALENDARS.map(
|
|
8
|
+
(cal) => `
|
|
9
|
+
fragment EventBasicFields_${cal} on ${cal}_Event {
|
|
10
|
+
id
|
|
11
|
+
title
|
|
12
|
+
url
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
fragment EventDateFields_${cal} on ${cal}_Event {
|
|
16
|
+
startDayOfWeek: startDate @formatDateTime(format: "D")
|
|
17
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
18
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
19
|
+
startStamp: startDate @formatDateTime(format: "Y-m-d")
|
|
20
|
+
startTime: startDate @formatDateTime(format: "g:ia")
|
|
21
|
+
endDayOfWeek: endDate @formatDateTime(format: "D")
|
|
22
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
23
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
24
|
+
endTime: endDate @formatDateTime(format: "g:ia")
|
|
25
|
+
allDay
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
fragment EventContentFields_${cal} on ${cal}_Event {
|
|
29
|
+
summary: commonRichTextTwo
|
|
30
|
+
image: commonAssetHeroImageSingle {
|
|
31
|
+
url
|
|
32
|
+
altText: commonPlainTextTwo
|
|
33
|
+
}
|
|
34
|
+
location: categoriesCampusBuildingSingle {
|
|
35
|
+
title
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
fragment EventCategoryFields_${cal} on ${cal}_Event {
|
|
40
|
+
categories: categoriesEventAudienceMultiple {
|
|
41
|
+
id
|
|
42
|
+
title
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
`
|
|
46
|
+
).join("\n");
|
|
47
|
+
}
|
|
48
|
+
function generateInlineSpreads() {
|
|
49
|
+
return CALENDARS.map(
|
|
50
|
+
(cal) => `
|
|
51
|
+
... on ${cal}_Event {
|
|
52
|
+
...EventBasicFields_${cal}
|
|
53
|
+
...EventDateFields_${cal}
|
|
54
|
+
...EventContentFields_${cal}
|
|
55
|
+
...EventCategoryFields_${cal}
|
|
56
|
+
}
|
|
57
|
+
`
|
|
58
|
+
).join("\n");
|
|
59
|
+
}
|
|
60
|
+
function generateSliderSpreads() {
|
|
61
|
+
return CALENDARS.map(
|
|
62
|
+
(cal) => `
|
|
63
|
+
... on ${cal}_Event {
|
|
64
|
+
...EventSliderFields_${cal}
|
|
65
|
+
}
|
|
66
|
+
`
|
|
67
|
+
).join("\n");
|
|
68
|
+
}
|
|
69
|
+
function generateSliderFragments() {
|
|
70
|
+
return CALENDARS.map(
|
|
71
|
+
(cal) => `
|
|
72
|
+
fragment EventSliderFields_${cal} on ${cal}_Event {
|
|
73
|
+
title
|
|
74
|
+
url
|
|
75
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
76
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
77
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
78
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
79
|
+
}
|
|
80
|
+
`
|
|
81
|
+
).join("\n");
|
|
82
|
+
}
|
|
83
|
+
const buildEventsCountQuery = (dateFilter = "startsAfterOrAt") => `
|
|
84
|
+
query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
85
|
+
count: solspace_calendar {
|
|
86
|
+
events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {
|
|
87
|
+
... on communications_Event {
|
|
88
|
+
id
|
|
89
|
+
}
|
|
90
|
+
... on submission_Event {
|
|
91
|
+
id
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
`;
|
|
97
|
+
const buildEventsQuery = (dateFilter = "startsAfterOrAt") => `
|
|
98
|
+
query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {
|
|
99
|
+
entries: solspace_calendar {
|
|
100
|
+
events(
|
|
101
|
+
relatedTo: $related
|
|
102
|
+
loadOccurrences: true
|
|
103
|
+
${dateFilter}: $startDate
|
|
104
|
+
limit: $limit
|
|
105
|
+
offset: $offset
|
|
106
|
+
) {
|
|
107
|
+
${generateInlineSpreads()}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
${generateFragments()}
|
|
112
|
+
`;
|
|
113
|
+
const EVENTS_COUNT_QUERY = buildEventsCountQuery();
|
|
114
|
+
const EVENTS_QUERY = buildEventsQuery();
|
|
115
|
+
const CATEGORY_NAMES_QUERY = `
|
|
116
|
+
query getCategoryNames($ids: [QueryArgument]!) {
|
|
117
|
+
categories(id: $ids) {
|
|
118
|
+
id
|
|
119
|
+
title
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
123
|
+
const EVENTS_SLIDER_QUERY = `
|
|
124
|
+
query getEvents($startDate: String!, $related: [QueryArgument]) {
|
|
125
|
+
entries: solspace_calendar {
|
|
126
|
+
events(
|
|
127
|
+
relatedTo: $related
|
|
128
|
+
loadOccurrences: true
|
|
129
|
+
startsAfterOrAt: $startDate
|
|
130
|
+
limit: 12
|
|
131
|
+
) {
|
|
132
|
+
${generateSliderSpreads()}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
${generateSliderFragments()}
|
|
137
|
+
`;
|
|
138
|
+
const baseFetchStrategy = graphql.createGraphQLFetchStrategy({
|
|
139
|
+
endpoint: "https://calendar.umd.edu/graphql",
|
|
140
|
+
queries: {
|
|
141
|
+
entries: EVENTS_QUERY,
|
|
142
|
+
count: EVENTS_COUNT_QUERY
|
|
143
|
+
},
|
|
144
|
+
transformResponse: (data) => {
|
|
145
|
+
if (!data || !data.data || !data.data.entries) {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
return data.data.entries.events || null;
|
|
149
|
+
},
|
|
150
|
+
transformCount: (data) => {
|
|
151
|
+
if (!data || !data.data || !data.data.count) {
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
return data.data.count.events?.length || 0;
|
|
155
|
+
},
|
|
156
|
+
composeVariables: (baseVariables) => {
|
|
157
|
+
const { categories, ...rest } = baseVariables;
|
|
158
|
+
return {
|
|
159
|
+
...rest,
|
|
160
|
+
related: categories,
|
|
161
|
+
startDate: (/* @__PURE__ */ new Date()).toDateString()
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
async function fetchCategoryNames(categoryIds, token) {
|
|
166
|
+
try {
|
|
167
|
+
const response = await network.fetchGraphQL({
|
|
168
|
+
url: "https://calendar.umd.edu/graphql",
|
|
169
|
+
query: CATEGORY_NAMES_QUERY,
|
|
170
|
+
token: token || "",
|
|
171
|
+
variables: { ids: categoryIds }
|
|
172
|
+
});
|
|
173
|
+
if (!response || !response.data || !response.data.categories) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
return response.data.categories.map((category) => category.title);
|
|
177
|
+
} catch (error) {
|
|
178
|
+
console.error("Fetch category names error:", error);
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
const eventsFetchStrategy = {
|
|
183
|
+
...baseFetchStrategy,
|
|
184
|
+
fetchCategoryNames
|
|
185
|
+
};
|
|
186
|
+
const baseFetchStrategyRange = graphql.createGraphQLFetchStrategy({
|
|
187
|
+
endpoint: "https://calendar.umd.edu/graphql",
|
|
188
|
+
queries: {
|
|
189
|
+
entries: buildEventsQuery("rangeStart"),
|
|
190
|
+
count: buildEventsCountQuery("rangeStart")
|
|
191
|
+
},
|
|
192
|
+
transformResponse: (data) => {
|
|
193
|
+
if (!data || !data.data || !data.data.entries) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
return data.data.entries.events || null;
|
|
197
|
+
},
|
|
198
|
+
transformCount: (data) => {
|
|
199
|
+
if (!data || !data.data || !data.data.count) {
|
|
200
|
+
return 0;
|
|
201
|
+
}
|
|
202
|
+
return data.data.count.events?.length || 0;
|
|
203
|
+
},
|
|
204
|
+
composeVariables: (baseVariables) => {
|
|
205
|
+
const { categories, ...rest } = baseVariables;
|
|
206
|
+
return {
|
|
207
|
+
...rest,
|
|
208
|
+
related: categories,
|
|
209
|
+
startDate: (/* @__PURE__ */ new Date()).toDateString()
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
const eventsFetchStrategyRange = {
|
|
214
|
+
...baseFetchStrategyRange,
|
|
215
|
+
fetchCategoryNames
|
|
216
|
+
};
|
|
217
|
+
exports.CATEGORY_NAMES_QUERY = CATEGORY_NAMES_QUERY;
|
|
218
|
+
exports.EVENTS_COUNT_QUERY = EVENTS_COUNT_QUERY;
|
|
219
|
+
exports.EVENTS_QUERY = EVENTS_QUERY;
|
|
220
|
+
exports.EVENTS_SLIDER_QUERY = EVENTS_SLIDER_QUERY;
|
|
221
|
+
exports.eventsFetchStrategy = eventsFetchStrategy;
|
|
222
|
+
exports.eventsFetchStrategyRange = eventsFetchStrategyRange;
|
|
223
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../../source/strategies/fetch/events.ts"],"sourcesContent":["/**\n * Events Fetch Strategy\n *\n * Strategy for fetching event data from the UMD Calendar GraphQL API.\n *\n * @module strategies/fetch/events\n */\n\nimport { createGraphQLFetchStrategy } from './graphql';\nimport { EventEntry } from 'types/data';\nimport { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\n\n/**\n * Calendar types available in the UMD Calendar system\n */\nconst CALENDARS = ['communications', 'submission'] as const;\n\n/**\n * Generate GraphQL fragments for all calendar types\n * Creates type-specific fragments to avoid interface limitations\n */\nfunction generateFragments() {\n return CALENDARS.map(\n (cal) => `\n fragment EventBasicFields_${cal} on ${cal}_Event {\n id\n title\n url\n }\n\n fragment EventDateFields_${cal} on ${cal}_Event {\n startDayOfWeek: startDate @formatDateTime(format: \"D\")\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n startStamp: startDate @formatDateTime(format: \"Y-m-d\")\n startTime: startDate @formatDateTime(format: \"g:ia\")\n endDayOfWeek: endDate @formatDateTime(format: \"D\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n endTime: endDate @formatDateTime(format: \"g:ia\")\n allDay\n }\n\n fragment EventContentFields_${cal} on ${cal}_Event {\n summary: commonRichTextTwo\n image: commonAssetHeroImageSingle {\n url\n altText: commonPlainTextTwo\n }\n location: categoriesCampusBuildingSingle {\n title\n }\n }\n\n fragment EventCategoryFields_${cal} on ${cal}_Event {\n categories: categoriesEventAudienceMultiple {\n id\n title\n }\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate inline fragment spreads for all calendar types\n * Used in the main query to apply fragments to each calendar type\n */\nfunction generateInlineSpreads() {\n return CALENDARS.map(\n (cal) => `\n ... on ${cal}_Event {\n ...EventBasicFields_${cal}\n ...EventDateFields_${cal}\n ...EventContentFields_${cal}\n ...EventCategoryFields_${cal}\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate inline fragment spreads for slider queries\n * Minimal fields for carousel displays\n */\nfunction generateSliderSpreads() {\n return CALENDARS.map(\n (cal) => `\n ... on ${cal}_Event {\n ...EventSliderFields_${cal}\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate slider-specific fragments\n */\nfunction generateSliderFragments() {\n return CALENDARS.map(\n (cal) => `\n fragment EventSliderFields_${cal} on ${cal}_Event {\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 `,\n ).join('\\n');\n}\n\n/**\n * GraphQL queries for events\n */\nconst buildEventsCountQuery = (\n dateFilter: 'startsAfterOrAt' | 'rangeStart' = 'startsAfterOrAt',\n) => `\n query getEventsCount($startDate: String!, $related: [QueryArgument]) {\n count: solspace_calendar {\n events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {\n ... on communications_Event {\n id\n }\n ... on submission_Event {\n id\n }\n }\n }\n }\n`;\n\nconst buildEventsQuery = (\n dateFilter: 'startsAfterOrAt' | 'rangeStart' = 'startsAfterOrAt',\n) => `\n query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n ${dateFilter}: $startDate\n limit: $limit\n offset: $offset\n ) {\n ${generateInlineSpreads()}\n }\n }\n }\n ${generateFragments()}\n`;\n\nexport const EVENTS_COUNT_QUERY = buildEventsCountQuery();\nexport const EVENTS_QUERY = buildEventsQuery();\n\n/**\n * Query for fetching category names by IDs\n * Queries the categories table directly\n */\nexport const CATEGORY_NAMES_QUERY = `\n query getCategoryNames($ids: [QueryArgument]!) {\n categories(id: $ids) {\n id\n title\n }\n }\n`;\n\n/**\n * Slider-specific query with minimal fields\n * Used by events slider for carousel displays\n */\nexport const EVENTS_SLIDER_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 ${generateSliderSpreads()}\n }\n }\n }\n ${generateSliderFragments()}\n`;\n\n/**\n * Events fetch strategy\n *\n * Fetches event data from the UMD Calendar GraphQL API.\n * Handles date filtering, category filtering, and pagination.\n *\n * @example\n * ```typescript\n * const feed = createBaseFeed({\n * token: 'my-token',\n * fetchStrategy: eventsFetchStrategy,\n * // ...\n * });\n * ```\n */\nconst baseFetchStrategy = createGraphQLFetchStrategy<EventEntry>({\n endpoint: 'https://calendar.umd.edu/graphql',\n\n queries: {\n entries: EVENTS_QUERY,\n count: EVENTS_COUNT_QUERY,\n },\n\n transformResponse: (data) => {\n if (!data || !data.data || !data.data.entries) {\n return null;\n }\n return data.data.entries.events || null;\n },\n\n transformCount: (data) => {\n if (!data || !data.data || !data.data.count) {\n return 0;\n }\n return data.data.count.events?.length || 0;\n },\n\n composeVariables: (baseVariables) => {\n const { categories, ...rest } = baseVariables;\n\n return {\n ...rest,\n related: categories,\n startDate: new Date().toDateString(),\n };\n },\n});\n\n/**\n * Fetch category names by their IDs\n */\nasync function fetchCategoryNames(\n categoryIds: string[],\n token?: string,\n): Promise<string[] | null> {\n try {\n const response = await fetchGraphQL({\n url: 'https://calendar.umd.edu/graphql',\n query: CATEGORY_NAMES_QUERY,\n token: token || '',\n variables: { ids: categoryIds },\n });\n\n if (!response || !response.data || !response.data.categories) {\n return null;\n }\n\n return response.data.categories.map((category: any) => category.title);\n } catch (error) {\n console.error('Fetch category names error:', error);\n return null;\n }\n}\n\nexport const eventsFetchStrategy = {\n ...baseFetchStrategy,\n fetchCategoryNames,\n};\n\n/**\n * Events fetch strategy for range queries\n *\n * Uses rangeStart filter instead of startsAfterOrAt.\n * Used for grouped event displays.\n */\nconst baseFetchStrategyRange = createGraphQLFetchStrategy<EventEntry>({\n endpoint: 'https://calendar.umd.edu/graphql',\n\n queries: {\n entries: buildEventsQuery('rangeStart'),\n count: buildEventsCountQuery('rangeStart'),\n },\n\n transformResponse: (data) => {\n if (!data || !data.data || !data.data.entries) {\n return null;\n }\n return data.data.entries.events || null;\n },\n\n transformCount: (data) => {\n if (!data || !data.data || !data.data.count) {\n return 0;\n }\n return data.data.count.events?.length || 0;\n },\n\n composeVariables: (baseVariables) => {\n const { categories, ...rest } = baseVariables;\n\n return {\n ...rest,\n related: categories,\n startDate: new Date().toDateString(),\n };\n },\n});\n\nexport const eventsFetchStrategyRange = {\n ...baseFetchStrategyRange,\n fetchCategoryNames,\n};\n"],"names":["createGraphQLFetchStrategy","fetchGraphQL"],"mappings":"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"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { createGraphQLFetchStrategy } from "./graphql.mjs";
|
|
2
|
+
import { fetchGraphQL } from "@universityofmaryland/web-utilities-library/network";
|
|
3
|
+
const CALENDARS = ["communications", "submission"];
|
|
4
|
+
function generateFragments() {
|
|
5
|
+
return CALENDARS.map(
|
|
6
|
+
(cal) => `
|
|
7
|
+
fragment EventBasicFields_${cal} on ${cal}_Event {
|
|
8
|
+
id
|
|
9
|
+
title
|
|
10
|
+
url
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
fragment EventDateFields_${cal} on ${cal}_Event {
|
|
14
|
+
startDayOfWeek: startDate @formatDateTime(format: "D")
|
|
15
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
16
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
17
|
+
startStamp: startDate @formatDateTime(format: "Y-m-d")
|
|
18
|
+
startTime: startDate @formatDateTime(format: "g:ia")
|
|
19
|
+
endDayOfWeek: endDate @formatDateTime(format: "D")
|
|
20
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
21
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
22
|
+
endTime: endDate @formatDateTime(format: "g:ia")
|
|
23
|
+
allDay
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
fragment EventContentFields_${cal} on ${cal}_Event {
|
|
27
|
+
summary: commonRichTextTwo
|
|
28
|
+
image: commonAssetHeroImageSingle {
|
|
29
|
+
url
|
|
30
|
+
altText: commonPlainTextTwo
|
|
31
|
+
}
|
|
32
|
+
location: categoriesCampusBuildingSingle {
|
|
33
|
+
title
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
fragment EventCategoryFields_${cal} on ${cal}_Event {
|
|
38
|
+
categories: categoriesEventAudienceMultiple {
|
|
39
|
+
id
|
|
40
|
+
title
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`
|
|
44
|
+
).join("\n");
|
|
45
|
+
}
|
|
46
|
+
function generateInlineSpreads() {
|
|
47
|
+
return CALENDARS.map(
|
|
48
|
+
(cal) => `
|
|
49
|
+
... on ${cal}_Event {
|
|
50
|
+
...EventBasicFields_${cal}
|
|
51
|
+
...EventDateFields_${cal}
|
|
52
|
+
...EventContentFields_${cal}
|
|
53
|
+
...EventCategoryFields_${cal}
|
|
54
|
+
}
|
|
55
|
+
`
|
|
56
|
+
).join("\n");
|
|
57
|
+
}
|
|
58
|
+
function generateSliderSpreads() {
|
|
59
|
+
return CALENDARS.map(
|
|
60
|
+
(cal) => `
|
|
61
|
+
... on ${cal}_Event {
|
|
62
|
+
...EventSliderFields_${cal}
|
|
63
|
+
}
|
|
64
|
+
`
|
|
65
|
+
).join("\n");
|
|
66
|
+
}
|
|
67
|
+
function generateSliderFragments() {
|
|
68
|
+
return CALENDARS.map(
|
|
69
|
+
(cal) => `
|
|
70
|
+
fragment EventSliderFields_${cal} on ${cal}_Event {
|
|
71
|
+
title
|
|
72
|
+
url
|
|
73
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
74
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
75
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
76
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
77
|
+
}
|
|
78
|
+
`
|
|
79
|
+
).join("\n");
|
|
80
|
+
}
|
|
81
|
+
const buildEventsCountQuery = (dateFilter = "startsAfterOrAt") => `
|
|
82
|
+
query getEventsCount($startDate: String!, $related: [QueryArgument]) {
|
|
83
|
+
count: solspace_calendar {
|
|
84
|
+
events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {
|
|
85
|
+
... on communications_Event {
|
|
86
|
+
id
|
|
87
|
+
}
|
|
88
|
+
... on submission_Event {
|
|
89
|
+
id
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
`;
|
|
95
|
+
const buildEventsQuery = (dateFilter = "startsAfterOrAt") => `
|
|
96
|
+
query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {
|
|
97
|
+
entries: solspace_calendar {
|
|
98
|
+
events(
|
|
99
|
+
relatedTo: $related
|
|
100
|
+
loadOccurrences: true
|
|
101
|
+
${dateFilter}: $startDate
|
|
102
|
+
limit: $limit
|
|
103
|
+
offset: $offset
|
|
104
|
+
) {
|
|
105
|
+
${generateInlineSpreads()}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
${generateFragments()}
|
|
110
|
+
`;
|
|
111
|
+
const EVENTS_COUNT_QUERY = buildEventsCountQuery();
|
|
112
|
+
const EVENTS_QUERY = buildEventsQuery();
|
|
113
|
+
const CATEGORY_NAMES_QUERY = `
|
|
114
|
+
query getCategoryNames($ids: [QueryArgument]!) {
|
|
115
|
+
categories(id: $ids) {
|
|
116
|
+
id
|
|
117
|
+
title
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
`;
|
|
121
|
+
const EVENTS_SLIDER_QUERY = `
|
|
122
|
+
query getEvents($startDate: String!, $related: [QueryArgument]) {
|
|
123
|
+
entries: solspace_calendar {
|
|
124
|
+
events(
|
|
125
|
+
relatedTo: $related
|
|
126
|
+
loadOccurrences: true
|
|
127
|
+
startsAfterOrAt: $startDate
|
|
128
|
+
limit: 12
|
|
129
|
+
) {
|
|
130
|
+
${generateSliderSpreads()}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
${generateSliderFragments()}
|
|
135
|
+
`;
|
|
136
|
+
const baseFetchStrategy = createGraphQLFetchStrategy({
|
|
137
|
+
endpoint: "https://calendar.umd.edu/graphql",
|
|
138
|
+
queries: {
|
|
139
|
+
entries: EVENTS_QUERY,
|
|
140
|
+
count: EVENTS_COUNT_QUERY
|
|
141
|
+
},
|
|
142
|
+
transformResponse: (data) => {
|
|
143
|
+
if (!data || !data.data || !data.data.entries) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
return data.data.entries.events || null;
|
|
147
|
+
},
|
|
148
|
+
transformCount: (data) => {
|
|
149
|
+
if (!data || !data.data || !data.data.count) {
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
return data.data.count.events?.length || 0;
|
|
153
|
+
},
|
|
154
|
+
composeVariables: (baseVariables) => {
|
|
155
|
+
const { categories, ...rest } = baseVariables;
|
|
156
|
+
return {
|
|
157
|
+
...rest,
|
|
158
|
+
related: categories,
|
|
159
|
+
startDate: (/* @__PURE__ */ new Date()).toDateString()
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
async function fetchCategoryNames(categoryIds, token) {
|
|
164
|
+
try {
|
|
165
|
+
const response = await fetchGraphQL({
|
|
166
|
+
url: "https://calendar.umd.edu/graphql",
|
|
167
|
+
query: CATEGORY_NAMES_QUERY,
|
|
168
|
+
token: token || "",
|
|
169
|
+
variables: { ids: categoryIds }
|
|
170
|
+
});
|
|
171
|
+
if (!response || !response.data || !response.data.categories) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
return response.data.categories.map((category) => category.title);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
console.error("Fetch category names error:", error);
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const eventsFetchStrategy = {
|
|
181
|
+
...baseFetchStrategy,
|
|
182
|
+
fetchCategoryNames
|
|
183
|
+
};
|
|
184
|
+
const baseFetchStrategyRange = createGraphQLFetchStrategy({
|
|
185
|
+
endpoint: "https://calendar.umd.edu/graphql",
|
|
186
|
+
queries: {
|
|
187
|
+
entries: buildEventsQuery("rangeStart"),
|
|
188
|
+
count: buildEventsCountQuery("rangeStart")
|
|
189
|
+
},
|
|
190
|
+
transformResponse: (data) => {
|
|
191
|
+
if (!data || !data.data || !data.data.entries) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
return data.data.entries.events || null;
|
|
195
|
+
},
|
|
196
|
+
transformCount: (data) => {
|
|
197
|
+
if (!data || !data.data || !data.data.count) {
|
|
198
|
+
return 0;
|
|
199
|
+
}
|
|
200
|
+
return data.data.count.events?.length || 0;
|
|
201
|
+
},
|
|
202
|
+
composeVariables: (baseVariables) => {
|
|
203
|
+
const { categories, ...rest } = baseVariables;
|
|
204
|
+
return {
|
|
205
|
+
...rest,
|
|
206
|
+
related: categories,
|
|
207
|
+
startDate: (/* @__PURE__ */ new Date()).toDateString()
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
const eventsFetchStrategyRange = {
|
|
212
|
+
...baseFetchStrategyRange,
|
|
213
|
+
fetchCategoryNames
|
|
214
|
+
};
|
|
215
|
+
export {
|
|
216
|
+
CATEGORY_NAMES_QUERY,
|
|
217
|
+
EVENTS_COUNT_QUERY,
|
|
218
|
+
EVENTS_QUERY,
|
|
219
|
+
EVENTS_SLIDER_QUERY,
|
|
220
|
+
eventsFetchStrategy,
|
|
221
|
+
eventsFetchStrategyRange
|
|
222
|
+
};
|
|
223
|
+
//# sourceMappingURL=events.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.mjs","sources":["../../../source/strategies/fetch/events.ts"],"sourcesContent":["/**\n * Events Fetch Strategy\n *\n * Strategy for fetching event data from the UMD Calendar GraphQL API.\n *\n * @module strategies/fetch/events\n */\n\nimport { createGraphQLFetchStrategy } from './graphql';\nimport { EventEntry } from 'types/data';\nimport { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\n\n/**\n * Calendar types available in the UMD Calendar system\n */\nconst CALENDARS = ['communications', 'submission'] as const;\n\n/**\n * Generate GraphQL fragments for all calendar types\n * Creates type-specific fragments to avoid interface limitations\n */\nfunction generateFragments() {\n return CALENDARS.map(\n (cal) => `\n fragment EventBasicFields_${cal} on ${cal}_Event {\n id\n title\n url\n }\n\n fragment EventDateFields_${cal} on ${cal}_Event {\n startDayOfWeek: startDate @formatDateTime(format: \"D\")\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n startStamp: startDate @formatDateTime(format: \"Y-m-d\")\n startTime: startDate @formatDateTime(format: \"g:ia\")\n endDayOfWeek: endDate @formatDateTime(format: \"D\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n endTime: endDate @formatDateTime(format: \"g:ia\")\n allDay\n }\n\n fragment EventContentFields_${cal} on ${cal}_Event {\n summary: commonRichTextTwo\n image: commonAssetHeroImageSingle {\n url\n altText: commonPlainTextTwo\n }\n location: categoriesCampusBuildingSingle {\n title\n }\n }\n\n fragment EventCategoryFields_${cal} on ${cal}_Event {\n categories: categoriesEventAudienceMultiple {\n id\n title\n }\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate inline fragment spreads for all calendar types\n * Used in the main query to apply fragments to each calendar type\n */\nfunction generateInlineSpreads() {\n return CALENDARS.map(\n (cal) => `\n ... on ${cal}_Event {\n ...EventBasicFields_${cal}\n ...EventDateFields_${cal}\n ...EventContentFields_${cal}\n ...EventCategoryFields_${cal}\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate inline fragment spreads for slider queries\n * Minimal fields for carousel displays\n */\nfunction generateSliderSpreads() {\n return CALENDARS.map(\n (cal) => `\n ... on ${cal}_Event {\n ...EventSliderFields_${cal}\n }\n `,\n ).join('\\n');\n}\n\n/**\n * Generate slider-specific fragments\n */\nfunction generateSliderFragments() {\n return CALENDARS.map(\n (cal) => `\n fragment EventSliderFields_${cal} on ${cal}_Event {\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 `,\n ).join('\\n');\n}\n\n/**\n * GraphQL queries for events\n */\nconst buildEventsCountQuery = (\n dateFilter: 'startsAfterOrAt' | 'rangeStart' = 'startsAfterOrAt',\n) => `\n query getEventsCount($startDate: String!, $related: [QueryArgument]) {\n count: solspace_calendar {\n events(relatedTo: $related, loadOccurrences: true, ${dateFilter}: $startDate) {\n ... on communications_Event {\n id\n }\n ... on submission_Event {\n id\n }\n }\n }\n }\n`;\n\nconst buildEventsQuery = (\n dateFilter: 'startsAfterOrAt' | 'rangeStart' = 'startsAfterOrAt',\n) => `\n query getEvents($startDate: String!, $related: [QueryArgument], $limit: Int, $offset: Int) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n ${dateFilter}: $startDate\n limit: $limit\n offset: $offset\n ) {\n ${generateInlineSpreads()}\n }\n }\n }\n ${generateFragments()}\n`;\n\nexport const EVENTS_COUNT_QUERY = buildEventsCountQuery();\nexport const EVENTS_QUERY = buildEventsQuery();\n\n/**\n * Query for fetching category names by IDs\n * Queries the categories table directly\n */\nexport const CATEGORY_NAMES_QUERY = `\n query getCategoryNames($ids: [QueryArgument]!) {\n categories(id: $ids) {\n id\n title\n }\n }\n`;\n\n/**\n * Slider-specific query with minimal fields\n * Used by events slider for carousel displays\n */\nexport const EVENTS_SLIDER_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 ${generateSliderSpreads()}\n }\n }\n }\n ${generateSliderFragments()}\n`;\n\n/**\n * Events fetch strategy\n *\n * Fetches event data from the UMD Calendar GraphQL API.\n * Handles date filtering, category filtering, and pagination.\n *\n * @example\n * ```typescript\n * const feed = createBaseFeed({\n * token: 'my-token',\n * fetchStrategy: eventsFetchStrategy,\n * // ...\n * });\n * ```\n */\nconst baseFetchStrategy = createGraphQLFetchStrategy<EventEntry>({\n endpoint: 'https://calendar.umd.edu/graphql',\n\n queries: {\n entries: EVENTS_QUERY,\n count: EVENTS_COUNT_QUERY,\n },\n\n transformResponse: (data) => {\n if (!data || !data.data || !data.data.entries) {\n return null;\n }\n return data.data.entries.events || null;\n },\n\n transformCount: (data) => {\n if (!data || !data.data || !data.data.count) {\n return 0;\n }\n return data.data.count.events?.length || 0;\n },\n\n composeVariables: (baseVariables) => {\n const { categories, ...rest } = baseVariables;\n\n return {\n ...rest,\n related: categories,\n startDate: new Date().toDateString(),\n };\n },\n});\n\n/**\n * Fetch category names by their IDs\n */\nasync function fetchCategoryNames(\n categoryIds: string[],\n token?: string,\n): Promise<string[] | null> {\n try {\n const response = await fetchGraphQL({\n url: 'https://calendar.umd.edu/graphql',\n query: CATEGORY_NAMES_QUERY,\n token: token || '',\n variables: { ids: categoryIds },\n });\n\n if (!response || !response.data || !response.data.categories) {\n return null;\n }\n\n return response.data.categories.map((category: any) => category.title);\n } catch (error) {\n console.error('Fetch category names error:', error);\n return null;\n }\n}\n\nexport const eventsFetchStrategy = {\n ...baseFetchStrategy,\n fetchCategoryNames,\n};\n\n/**\n * Events fetch strategy for range queries\n *\n * Uses rangeStart filter instead of startsAfterOrAt.\n * Used for grouped event displays.\n */\nconst baseFetchStrategyRange = createGraphQLFetchStrategy<EventEntry>({\n endpoint: 'https://calendar.umd.edu/graphql',\n\n queries: {\n entries: buildEventsQuery('rangeStart'),\n count: buildEventsCountQuery('rangeStart'),\n },\n\n transformResponse: (data) => {\n if (!data || !data.data || !data.data.entries) {\n return null;\n }\n return data.data.entries.events || null;\n },\n\n transformCount: (data) => {\n if (!data || !data.data || !data.data.count) {\n return 0;\n }\n return data.data.count.events?.length || 0;\n },\n\n composeVariables: (baseVariables) => {\n const { categories, ...rest } = baseVariables;\n\n return {\n ...rest,\n related: categories,\n startDate: new Date().toDateString(),\n };\n },\n});\n\nexport const eventsFetchStrategyRange = {\n ...baseFetchStrategyRange,\n fetchCategoryNames,\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ExpertEntry } from '../../types/data';
|
|
2
|
+
export declare const EXPERTS_QUERY = "\n query getExpertsContent($limit: Int, $offset: Int, $id: [QueryArgument], $relatedTo: [QueryArgument]) {\n entryCount(\n section: \"experts\"\n limit: $limit\n offset: $offset\n type: \"expertsContent\"\n id: $id\n relatedTo: $relatedTo\n )\n entries(\n section: \"experts\"\n limit: $limit\n offset: $offset\n type: \"expertsContent\"\n id: $id\n relatedTo: $relatedTo\n orderBy: \"expertsNameLast\"\n ) {\n ...EntriesNativeFields\n ... on expertsContent_Entry {\n ...Content\n ...Categories\n }\n }\n }\n \n fragment EntriesNativeFields on EntryInterface {\n id\n uid\n status\n enabled\n slug\n title\n type: typeHandle\n postDate\n expiryDate\n dateUpdated\n dateCreated\n }\n\n \n fragment CategoryFields on CategoryInterface {\n title\n url\n id\n }\n\n \n fragment Content on expertsContent_Entry {\n ...Name\n ...Imagery\n ...Biography\n organizations: expertsOrganization {\n ...Organizations\n }\n ...Contact\n ...Skills\n }\n\n \n fragment Categories on expertsContent_Entry {\n areasOfExpertise: expertsCategoryAreaOfExpertise {\n ...CategoryFields\n }\n campusUnits: categoryCampusUnit {\n ...CategoryFields\n }\n tags: expertsCategoryTags {\n ...CategoryFields\n }\n }\n\n \n fragment Name on expertsContent_Entry {\n prefix: expertsNamePrefix\n firstName: expertsNameFirst\n middleName: expertsNameMiddle\n lastName: expertsNameLast\n suffix: expertsNameSuffix\n pronouns: expertsNamePronouns\n }\n\n \n fragment Imagery on expertsContent_Entry {\n headshot: expertsImageHeadShot {\n ... on experts_Asset {\n url\n }\n }\n }\n\n \n fragment Biography on expertsContent_Entry {\n summary: expertsSummary {\n html\n }\n bio: expertsBiography {\n html\n }\n }\n\n \n fragment Organizations on expertsOrganization_Entry {\n id\n title\n url\n jobs: expertsOrganizationJob {\n ...Jobs\n }\n }\n\n \n fragment Jobs on expertsOrganizationJob_Entry {\n id\n url\n title: expertsOrganizationJobTitle\n roomNumber: expertsOrganizationJobRoomNumber\n campusUnits: categoryCampusUnit {\n title\n ... on campusUnits_Category {\n link: externalLink {\n url\n }\n }\n }\n }\n\n \n fragment Contact on expertsContent_Entry {\n email: expertsContactEmail\n linkedin: expertsContactLinkedin\n website: expertsContactWebsite\n twitter: expertsContactTwitter\n }\n\n \n fragment Skills on expertsContent_Entry {\n languages: expertsLanguages\n mediaTrained: expertsMediaTrained\n }\n\n";
|
|
3
|
+
export declare const expertsFetchStrategy: import('../../factory').FetchStrategy<ExpertEntry, any>;
|
|
4
|
+
//# sourceMappingURL=experts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experts.d.ts","sourceRoot":"","sources":["../../../source/strategies/fetch/experts.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwIzC,eAAO,MAAM,aAAa,quFAqCzB,CAAC;AAmBF,eAAO,MAAM,oBAAoB,yDAqC/B,CAAC"}
|