@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,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Styles = require("@universityofmaryland/web-styles-library");
|
|
4
|
+
const loading = require("../../states/loading.js");
|
|
5
|
+
require("@universityofmaryland/web-builder-library");
|
|
6
|
+
require("@universityofmaryland/web-elements-library");
|
|
7
|
+
require("@universityofmaryland/web-utilities-library/theme");
|
|
8
|
+
const announcer = require("../../states/announcer.js");
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
11
|
+
if (e) {
|
|
12
|
+
for (const k in e) {
|
|
13
|
+
if (k !== "default") {
|
|
14
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: () => e[k]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
|
|
26
|
+
function createFetchHandlers(config) {
|
|
27
|
+
const {
|
|
28
|
+
fetchStrategy,
|
|
29
|
+
helpers,
|
|
30
|
+
baseProps,
|
|
31
|
+
displayHandlers,
|
|
32
|
+
layoutElement,
|
|
33
|
+
isThemeDark,
|
|
34
|
+
enableCategoryFallback = false
|
|
35
|
+
} = config;
|
|
36
|
+
const loadMore = async () => {
|
|
37
|
+
const container = helpers.getContainer();
|
|
38
|
+
const currentCount = helpers.getOffset();
|
|
39
|
+
const totalEntries = helpers.getTotalEntries();
|
|
40
|
+
const existingPagination = container.querySelector(
|
|
41
|
+
`.${Styles__namespace.layout.alignment.block.center.className}`
|
|
42
|
+
);
|
|
43
|
+
existingPagination?.remove();
|
|
44
|
+
const loading$1 = new loading.LoadingState({ isThemeDark });
|
|
45
|
+
loading$1.show(container);
|
|
46
|
+
const variables = fetchStrategy.composeApiVariables({
|
|
47
|
+
...baseProps,
|
|
48
|
+
getOffset: helpers.getOffset
|
|
49
|
+
});
|
|
50
|
+
const feedData = await fetchStrategy.fetchEntries(variables);
|
|
51
|
+
if (feedData) {
|
|
52
|
+
loading$1.hide();
|
|
53
|
+
await displayHandlers.displayResults({ feedData });
|
|
54
|
+
const message = `Showing ${currentCount + feedData.length} of ${totalEntries} articles`;
|
|
55
|
+
const existingAnnouncer = container.querySelector(
|
|
56
|
+
'[role="status"]'
|
|
57
|
+
);
|
|
58
|
+
if (existingAnnouncer) {
|
|
59
|
+
existingAnnouncer.textContent = message;
|
|
60
|
+
} else {
|
|
61
|
+
const announcer$1 = new announcer.Announcer({ message });
|
|
62
|
+
container.appendChild(announcer$1.getElement());
|
|
63
|
+
}
|
|
64
|
+
} else {
|
|
65
|
+
loading$1.hide();
|
|
66
|
+
displayHandlers.displayNoResults({
|
|
67
|
+
message: "An error occurred while loading more results."
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const start = async () => {
|
|
72
|
+
const variables = fetchStrategy.composeApiVariables({
|
|
73
|
+
...baseProps,
|
|
74
|
+
getOffset: helpers.getOffset
|
|
75
|
+
});
|
|
76
|
+
const count = await fetchStrategy.fetchCount(variables);
|
|
77
|
+
if (count === 0) {
|
|
78
|
+
if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {
|
|
79
|
+
const fallbackVariables = fetchStrategy.composeApiVariables({
|
|
80
|
+
...baseProps,
|
|
81
|
+
categories: void 0,
|
|
82
|
+
getOffset: helpers.getOffset
|
|
83
|
+
});
|
|
84
|
+
const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);
|
|
85
|
+
if (fallbackCount && fallbackCount > 0) {
|
|
86
|
+
helpers.setTotalEntries(fallbackCount);
|
|
87
|
+
const fallbackData = await fetchStrategy.fetchEntries(
|
|
88
|
+
fallbackVariables
|
|
89
|
+
);
|
|
90
|
+
if (fallbackData && fallbackData.length > 0) {
|
|
91
|
+
let categoryNames = await fetchStrategy.fetchCategoryNames?.(
|
|
92
|
+
baseProps.categories,
|
|
93
|
+
baseProps.token
|
|
94
|
+
);
|
|
95
|
+
if (!categoryNames || categoryNames.length === 0) {
|
|
96
|
+
categoryNames = baseProps.categories.map(
|
|
97
|
+
(id) => id.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ")
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
await displayHandlers.displayResultStart({
|
|
101
|
+
feedData: fallbackData,
|
|
102
|
+
layoutElement,
|
|
103
|
+
isFallback: true,
|
|
104
|
+
categoryNames
|
|
105
|
+
});
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
displayHandlers.displayNoResults({});
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (count === null) {
|
|
114
|
+
displayHandlers.displayNoResults({
|
|
115
|
+
message: "An error occurred while fetching the data."
|
|
116
|
+
});
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (count) {
|
|
120
|
+
helpers.setTotalEntries(count);
|
|
121
|
+
}
|
|
122
|
+
const feedData = await fetchStrategy.fetchEntries(variables);
|
|
123
|
+
if (feedData && feedData.length > 0) {
|
|
124
|
+
await displayHandlers.displayResultStart({
|
|
125
|
+
feedData,
|
|
126
|
+
layoutElement
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
displayHandlers.displayNoResults({
|
|
130
|
+
message: "An error occurred while fetching the data."
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
return {
|
|
135
|
+
start,
|
|
136
|
+
loadMore
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
exports.createFetchHandlers = createFetchHandlers;
|
|
140
|
+
//# sourceMappingURL=fetchHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchHandler.js","sources":["../../../source/factory/helpers/fetchHandler.ts"],"sourcesContent":["/**\n * Fetch Handler Utilities\n *\n * Creates handlers for fetching feed data using a fetch strategy.\n * Handles both initial fetch and lazy-loaded fetches.\n *\n * @module factory/helpers/fetchHandler\n */\n\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { LoadingState, Announcer } from '../../states';\nimport { FetchStrategy, FeedHelpers } from '../core/types';\n\n/**\n * Configuration for creating fetch handlers\n */\ninterface FetchHandlerConfig<TData, TVariables> {\n /** Strategy for fetching data */\n fetchStrategy: FetchStrategy<TData, TVariables>;\n /** Feed helper functions */\n helpers: FeedHelpers;\n /** Base props for composing API variables */\n baseProps: any;\n /** Display handlers */\n displayHandlers: {\n displayResultStart: (props: any) => Promise<void>;\n displayResults: (props: { feedData: TData[] }) => Promise<void>;\n displayNoResults: (props: any) => void;\n };\n /** Layout element */\n layoutElement: any;\n /** Whether theme is dark */\n isThemeDark?: boolean;\n /** Whether to enable category fallback (show all results when no category results found) */\n enableCategoryFallback?: boolean;\n}\n\n/**\n * Create fetch handlers for a feed\n *\n * Returns handlers for:\n * - Initial data fetch (with count)\n * - Lazy load fetch (pagination)\n *\n * @param config - Configuration for the fetch handlers\n * @returns Fetch handler functions\n *\n * @example\n * ```typescript\n * const fetchHandlers = createFetchHandlers({\n * fetchStrategy: eventsFetchStrategy,\n * helpers: feedHelpers,\n * baseProps: { token, categories },\n * displayHandlers,\n * layoutElement,\n * isThemeDark: false,\n * });\n *\n * // Start initial fetch\n * await fetchHandlers.start();\n *\n * // Fetch more results\n * await fetchHandlers.loadMore();\n * ```\n */\nexport function createFetchHandlers<TData, TVariables>(\n config: FetchHandlerConfig<TData, TVariables>,\n) {\n const {\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback = false,\n } = config;\n\n /**\n * Handle lazy loading more results\n */\n const loadMore = async (): Promise<void> => {\n const container = helpers.getContainer();\n const currentCount = helpers.getOffset();\n const totalEntries = helpers.getTotalEntries();\n\n // Remove existing pagination\n const existingPagination = container.querySelector(\n `.${Styles.layout.alignment.block.center.className}`,\n );\n existingPagination?.remove();\n\n // Show loading state\n const loading = new LoadingState({ isThemeDark });\n loading.show(container);\n\n // Compose API variables\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData) {\n loading.hide();\n await displayHandlers.displayResults({ feedData });\n\n // Update announcer with new count\n const message = `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`;\n\n const existingAnnouncer = container.querySelector(\n '[role=\"status\"]',\n ) as HTMLElement;\n if (existingAnnouncer) {\n existingAnnouncer.textContent = message;\n } else {\n const announcer = new Announcer({ message });\n container.appendChild(announcer.getElement());\n }\n } else {\n loading.hide();\n displayHandlers.displayNoResults({\n message: 'An error occurred while loading more results.',\n });\n }\n };\n\n /**\n * Handle initial fetch (with count)\n */\n const start = async (): Promise<void> => {\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n const count = await fetchStrategy.fetchCount(variables);\n\n if (count === 0) {\n // Only attempt category fallback if explicitly enabled (for events feeds)\n if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {\n const fallbackVariables = fetchStrategy.composeApiVariables({\n ...baseProps,\n categories: undefined,\n getOffset: helpers.getOffset,\n });\n\n const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);\n\n if (fallbackCount && fallbackCount > 0) {\n helpers.setTotalEntries(fallbackCount);\n\n const fallbackData = await fetchStrategy.fetchEntries(\n fallbackVariables,\n );\n\n if (fallbackData && fallbackData.length > 0) {\n // Fetch category names from API\n let categoryNames = await fetchStrategy.fetchCategoryNames?.(\n baseProps.categories,\n baseProps.token,\n );\n\n // If fetch fails, format IDs as fallback\n if (!categoryNames || categoryNames.length === 0) {\n categoryNames = baseProps.categories.map((id: string) =>\n id\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' '),\n );\n }\n\n await displayHandlers.displayResultStart({\n feedData: fallbackData,\n layoutElement,\n isFallback: true,\n categoryNames,\n });\n return;\n }\n }\n }\n\n displayHandlers.displayNoResults({});\n return;\n }\n\n if (count === null) {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n if (count) {\n helpers.setTotalEntries(count);\n }\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData && feedData.length > 0) {\n await displayHandlers.displayResultStart({\n feedData,\n layoutElement,\n });\n } else {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n }\n };\n\n return {\n start,\n loadMore,\n };\n}\n"],"names":["Styles","loading","LoadingState","announcer","Announcer"],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as Styles from "@universityofmaryland/web-styles-library";
|
|
2
|
+
import { LoadingState } from "../../states/loading.mjs";
|
|
3
|
+
import "@universityofmaryland/web-builder-library";
|
|
4
|
+
import "@universityofmaryland/web-elements-library";
|
|
5
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
6
|
+
import { Announcer } from "../../states/announcer.mjs";
|
|
7
|
+
function createFetchHandlers(config) {
|
|
8
|
+
const {
|
|
9
|
+
fetchStrategy,
|
|
10
|
+
helpers,
|
|
11
|
+
baseProps,
|
|
12
|
+
displayHandlers,
|
|
13
|
+
layoutElement,
|
|
14
|
+
isThemeDark,
|
|
15
|
+
enableCategoryFallback = false
|
|
16
|
+
} = config;
|
|
17
|
+
const loadMore = async () => {
|
|
18
|
+
const container = helpers.getContainer();
|
|
19
|
+
const currentCount = helpers.getOffset();
|
|
20
|
+
const totalEntries = helpers.getTotalEntries();
|
|
21
|
+
const existingPagination = container.querySelector(
|
|
22
|
+
`.${Styles.layout.alignment.block.center.className}`
|
|
23
|
+
);
|
|
24
|
+
existingPagination?.remove();
|
|
25
|
+
const loading = new LoadingState({ isThemeDark });
|
|
26
|
+
loading.show(container);
|
|
27
|
+
const variables = fetchStrategy.composeApiVariables({
|
|
28
|
+
...baseProps,
|
|
29
|
+
getOffset: helpers.getOffset
|
|
30
|
+
});
|
|
31
|
+
const feedData = await fetchStrategy.fetchEntries(variables);
|
|
32
|
+
if (feedData) {
|
|
33
|
+
loading.hide();
|
|
34
|
+
await displayHandlers.displayResults({ feedData });
|
|
35
|
+
const message = `Showing ${currentCount + feedData.length} of ${totalEntries} articles`;
|
|
36
|
+
const existingAnnouncer = container.querySelector(
|
|
37
|
+
'[role="status"]'
|
|
38
|
+
);
|
|
39
|
+
if (existingAnnouncer) {
|
|
40
|
+
existingAnnouncer.textContent = message;
|
|
41
|
+
} else {
|
|
42
|
+
const announcer = new Announcer({ message });
|
|
43
|
+
container.appendChild(announcer.getElement());
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
loading.hide();
|
|
47
|
+
displayHandlers.displayNoResults({
|
|
48
|
+
message: "An error occurred while loading more results."
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const start = async () => {
|
|
53
|
+
const variables = fetchStrategy.composeApiVariables({
|
|
54
|
+
...baseProps,
|
|
55
|
+
getOffset: helpers.getOffset
|
|
56
|
+
});
|
|
57
|
+
const count = await fetchStrategy.fetchCount(variables);
|
|
58
|
+
if (count === 0) {
|
|
59
|
+
if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {
|
|
60
|
+
const fallbackVariables = fetchStrategy.composeApiVariables({
|
|
61
|
+
...baseProps,
|
|
62
|
+
categories: void 0,
|
|
63
|
+
getOffset: helpers.getOffset
|
|
64
|
+
});
|
|
65
|
+
const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);
|
|
66
|
+
if (fallbackCount && fallbackCount > 0) {
|
|
67
|
+
helpers.setTotalEntries(fallbackCount);
|
|
68
|
+
const fallbackData = await fetchStrategy.fetchEntries(
|
|
69
|
+
fallbackVariables
|
|
70
|
+
);
|
|
71
|
+
if (fallbackData && fallbackData.length > 0) {
|
|
72
|
+
let categoryNames = await fetchStrategy.fetchCategoryNames?.(
|
|
73
|
+
baseProps.categories,
|
|
74
|
+
baseProps.token
|
|
75
|
+
);
|
|
76
|
+
if (!categoryNames || categoryNames.length === 0) {
|
|
77
|
+
categoryNames = baseProps.categories.map(
|
|
78
|
+
(id) => id.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ")
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
await displayHandlers.displayResultStart({
|
|
82
|
+
feedData: fallbackData,
|
|
83
|
+
layoutElement,
|
|
84
|
+
isFallback: true,
|
|
85
|
+
categoryNames
|
|
86
|
+
});
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
displayHandlers.displayNoResults({});
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (count === null) {
|
|
95
|
+
displayHandlers.displayNoResults({
|
|
96
|
+
message: "An error occurred while fetching the data."
|
|
97
|
+
});
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (count) {
|
|
101
|
+
helpers.setTotalEntries(count);
|
|
102
|
+
}
|
|
103
|
+
const feedData = await fetchStrategy.fetchEntries(variables);
|
|
104
|
+
if (feedData && feedData.length > 0) {
|
|
105
|
+
await displayHandlers.displayResultStart({
|
|
106
|
+
feedData,
|
|
107
|
+
layoutElement
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
displayHandlers.displayNoResults({
|
|
111
|
+
message: "An error occurred while fetching the data."
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
start,
|
|
117
|
+
loadMore
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
createFetchHandlers
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=fetchHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchHandler.mjs","sources":["../../../source/factory/helpers/fetchHandler.ts"],"sourcesContent":["/**\n * Fetch Handler Utilities\n *\n * Creates handlers for fetching feed data using a fetch strategy.\n * Handles both initial fetch and lazy-loaded fetches.\n *\n * @module factory/helpers/fetchHandler\n */\n\nimport * as Styles from '@universityofmaryland/web-styles-library';\nimport { LoadingState, Announcer } from '../../states';\nimport { FetchStrategy, FeedHelpers } from '../core/types';\n\n/**\n * Configuration for creating fetch handlers\n */\ninterface FetchHandlerConfig<TData, TVariables> {\n /** Strategy for fetching data */\n fetchStrategy: FetchStrategy<TData, TVariables>;\n /** Feed helper functions */\n helpers: FeedHelpers;\n /** Base props for composing API variables */\n baseProps: any;\n /** Display handlers */\n displayHandlers: {\n displayResultStart: (props: any) => Promise<void>;\n displayResults: (props: { feedData: TData[] }) => Promise<void>;\n displayNoResults: (props: any) => void;\n };\n /** Layout element */\n layoutElement: any;\n /** Whether theme is dark */\n isThemeDark?: boolean;\n /** Whether to enable category fallback (show all results when no category results found) */\n enableCategoryFallback?: boolean;\n}\n\n/**\n * Create fetch handlers for a feed\n *\n * Returns handlers for:\n * - Initial data fetch (with count)\n * - Lazy load fetch (pagination)\n *\n * @param config - Configuration for the fetch handlers\n * @returns Fetch handler functions\n *\n * @example\n * ```typescript\n * const fetchHandlers = createFetchHandlers({\n * fetchStrategy: eventsFetchStrategy,\n * helpers: feedHelpers,\n * baseProps: { token, categories },\n * displayHandlers,\n * layoutElement,\n * isThemeDark: false,\n * });\n *\n * // Start initial fetch\n * await fetchHandlers.start();\n *\n * // Fetch more results\n * await fetchHandlers.loadMore();\n * ```\n */\nexport function createFetchHandlers<TData, TVariables>(\n config: FetchHandlerConfig<TData, TVariables>,\n) {\n const {\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback = false,\n } = config;\n\n /**\n * Handle lazy loading more results\n */\n const loadMore = async (): Promise<void> => {\n const container = helpers.getContainer();\n const currentCount = helpers.getOffset();\n const totalEntries = helpers.getTotalEntries();\n\n // Remove existing pagination\n const existingPagination = container.querySelector(\n `.${Styles.layout.alignment.block.center.className}`,\n );\n existingPagination?.remove();\n\n // Show loading state\n const loading = new LoadingState({ isThemeDark });\n loading.show(container);\n\n // Compose API variables\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData) {\n loading.hide();\n await displayHandlers.displayResults({ feedData });\n\n // Update announcer with new count\n const message = `Showing ${\n currentCount + feedData.length\n } of ${totalEntries} articles`;\n\n const existingAnnouncer = container.querySelector(\n '[role=\"status\"]',\n ) as HTMLElement;\n if (existingAnnouncer) {\n existingAnnouncer.textContent = message;\n } else {\n const announcer = new Announcer({ message });\n container.appendChild(announcer.getElement());\n }\n } else {\n loading.hide();\n displayHandlers.displayNoResults({\n message: 'An error occurred while loading more results.',\n });\n }\n };\n\n /**\n * Handle initial fetch (with count)\n */\n const start = async (): Promise<void> => {\n const variables = fetchStrategy.composeApiVariables({\n ...baseProps,\n getOffset: helpers.getOffset,\n });\n\n const count = await fetchStrategy.fetchCount(variables);\n\n if (count === 0) {\n // Only attempt category fallback if explicitly enabled (for events feeds)\n if (enableCategoryFallback && baseProps.categories && baseProps.categories.length > 0) {\n const fallbackVariables = fetchStrategy.composeApiVariables({\n ...baseProps,\n categories: undefined,\n getOffset: helpers.getOffset,\n });\n\n const fallbackCount = await fetchStrategy.fetchCount(fallbackVariables);\n\n if (fallbackCount && fallbackCount > 0) {\n helpers.setTotalEntries(fallbackCount);\n\n const fallbackData = await fetchStrategy.fetchEntries(\n fallbackVariables,\n );\n\n if (fallbackData && fallbackData.length > 0) {\n // Fetch category names from API\n let categoryNames = await fetchStrategy.fetchCategoryNames?.(\n baseProps.categories,\n baseProps.token,\n );\n\n // If fetch fails, format IDs as fallback\n if (!categoryNames || categoryNames.length === 0) {\n categoryNames = baseProps.categories.map((id: string) =>\n id\n .split('-')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' '),\n );\n }\n\n await displayHandlers.displayResultStart({\n feedData: fallbackData,\n layoutElement,\n isFallback: true,\n categoryNames,\n });\n return;\n }\n }\n }\n\n displayHandlers.displayNoResults({});\n return;\n }\n\n if (count === null) {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n if (count) {\n helpers.setTotalEntries(count);\n }\n\n // Fetch entries\n const feedData = await fetchStrategy.fetchEntries(variables);\n\n if (feedData && feedData.length > 0) {\n await displayHandlers.displayResultStart({\n feedData,\n layoutElement,\n });\n } else {\n displayHandlers.displayNoResults({\n message: 'An error occurred while fetching the data.',\n });\n }\n };\n\n return {\n start,\n loadMore,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/factory/helpers/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createBaseFeed } from './core';
|
|
2
|
+
export type { BaseFeedConfig, FeedHelpers, FetchStrategy, DisplayStrategy, LayoutStrategy, CardMappingOptions, ImageConfig, DisplayResultsProps, NoResultsConfig, FeedLifecycle, FeedEvents, FeedFactoryResult, LayoutOptions, } from './core/types';
|
|
3
|
+
export { createFeedHelpers, createDisplayHandlers, createFetchHandlers, setShadowStyles, } from './helpers';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/factory/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/_types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/feeds/academic/slider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAiBjC,OAAO,mBAAmB,KAAG,YAAY;AAAzD,wBAKK"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const slider$1 = require("../../widgets/slider.js");
|
|
3
|
+
const academic = require("../../strategies/fetch/academic.js");
|
|
4
|
+
const slider = (props) => slider$1({
|
|
5
|
+
...props,
|
|
6
|
+
query: academic.ACADEMIC_SLIDER_QUERY,
|
|
7
|
+
url: "https://provost.umd.edu/graphql"
|
|
8
|
+
});
|
|
9
|
+
module.exports = slider;
|
|
10
|
+
//# sourceMappingURL=slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../../source/feeds/academic/slider.ts"],"sourcesContent":["/**\n * Academic Slider Feed (Migrated)\n *\n * Displays academic events in a horizontal carousel layout.\n * Uses strategy pattern for GraphQL queries.\n *\n * @module composite/academic/slider-new\n */\n\nimport { slider } from '../../widgets';\nimport { ACADEMIC_SLIDER_QUERY } from '../../strategies/fetch/academic';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Creates an academic events slider feed\n *\n * @param props - Slider configuration options\n * @returns ElementModel with slider element and styles\n *\n * @example\n * ```typescript\n * const academicSlider = slider({\n * token: 'your-token',\n * categories: 'engineering,science',\n * isThemeDark: false,\n * });\n * ```\n */\nexport default (props: AcademicSliderProps): ElementModel =>\n slider({\n ...props,\n query: ACADEMIC_SLIDER_QUERY,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["slider","ACADEMIC_SLIDER_QUERY"],"mappings":";;;AA6BA,MAAA,SAAe,CAAC,UACdA,SAAO;AAAA,EACL,GAAG;AAAA,EACH,OAAOC,SAAAA;AAAAA,EACP,KAAK;AACP,CAAC;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import slider$1 from "../../widgets/slider.mjs";
|
|
2
|
+
import { ACADEMIC_SLIDER_QUERY } from "../../strategies/fetch/academic.mjs";
|
|
3
|
+
const slider = (props) => slider$1({
|
|
4
|
+
...props,
|
|
5
|
+
query: ACADEMIC_SLIDER_QUERY,
|
|
6
|
+
url: "https://provost.umd.edu/graphql"
|
|
7
|
+
});
|
|
8
|
+
export {
|
|
9
|
+
slider as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=slider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.mjs","sources":["../../../source/feeds/academic/slider.ts"],"sourcesContent":["/**\n * Academic Slider Feed (Migrated)\n *\n * Displays academic events in a horizontal carousel layout.\n * Uses strategy pattern for GraphQL queries.\n *\n * @module composite/academic/slider-new\n */\n\nimport { slider } from '../../widgets';\nimport { ACADEMIC_SLIDER_QUERY } from '../../strategies/fetch/academic';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Creates an academic events slider feed\n *\n * @param props - Slider configuration options\n * @returns ElementModel with slider element and styles\n *\n * @example\n * ```typescript\n * const academicSlider = slider({\n * token: 'your-token',\n * categories: 'engineering,science',\n * isThemeDark: false,\n * });\n * ```\n */\nexport default (props: AcademicSliderProps): ElementModel =>\n slider({\n ...props,\n query: ACADEMIC_SLIDER_QUERY,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["slider"],"mappings":";;AA6BA,MAAA,SAAe,CAAC,UACdA,SAAO;AAAA,EACL,GAAG;AAAA,EACH,OAAO;AAAA,EACP,KAAK;AACP,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/grid.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAqBjC,OAAO,UAAU,KAAG,YAAY;AAAhD,wBAaK"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const createBaseFeed = require("../../factory/core/createBaseFeed.js");
|
|
3
|
+
require("@universityofmaryland/web-builder-library");
|
|
4
|
+
require("@universityofmaryland/web-styles-library");
|
|
5
|
+
require("@universityofmaryland/web-styles-library/typography");
|
|
6
|
+
require("@universityofmaryland/web-utilities-library/theme");
|
|
7
|
+
require("@universityofmaryland/web-elements-library");
|
|
8
|
+
const events$1 = require("../../strategies/display/events.js");
|
|
9
|
+
require("@universityofmaryland/web-elements-library/composite");
|
|
10
|
+
require("@universityofmaryland/web-utilities-library/elements");
|
|
11
|
+
require("@universityofmaryland/web-utilities-library/network");
|
|
12
|
+
const events = require("../../strategies/fetch/events.js");
|
|
13
|
+
require("../../strategies/fetch/news.js");
|
|
14
|
+
require("../../strategies/fetch/experts.js");
|
|
15
|
+
const grid$1 = require("../../strategies/layout/grid.js");
|
|
16
|
+
require("@universityofmaryland/web-elements-library/layout");
|
|
17
|
+
const grid = (props) => createBaseFeed.createBaseFeed({
|
|
18
|
+
...props,
|
|
19
|
+
enableCategoryFallback: true,
|
|
20
|
+
fetchStrategy: events.eventsFetchStrategy,
|
|
21
|
+
displayStrategy: events$1.eventsDisplayStrategy,
|
|
22
|
+
layoutStrategy: grid$1.gridGapLayout,
|
|
23
|
+
imageConfig: (entry) => ({
|
|
24
|
+
imageUrl: entry.image[0].url,
|
|
25
|
+
altText: entry.image[0].altText || "Event Image",
|
|
26
|
+
linkUrl: entry.url,
|
|
27
|
+
linkLabel: "University of Maryland Event"
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
module.exports = grid;
|
|
31
|
+
//# sourceMappingURL=grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../../source/feeds/events/grid.ts"],"sourcesContent":["/**\n * Events Grid Feed (Factory Pattern)\n *\n * Grid layout for event entries using the feed factory pattern.\n * This is the NEW implementation using factory + strategies.\n *\n * @module composite/events/grid-new\n */\n\nimport { createBaseFeed } from 'factory';\nimport {\n eventsFetchStrategy,\n eventsDisplayStrategy,\n gridGapLayout,\n} from 'strategies';\nimport { type BlockProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Create an events grid feed\n *\n * @param props - Feed configuration\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * const feed = eventsGrid({\n * token: 'my-token',\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: true,\n * categories: ['sports', 'arts'],\n * });\n *\n * document.body.appendChild(feed.element);\n * ```\n */\nexport default (props: BlockProps): ElementModel =>\n createBaseFeed({\n ...props,\n enableCategoryFallback: true,\n fetchStrategy: eventsFetchStrategy,\n displayStrategy: eventsDisplayStrategy,\n layoutStrategy: gridGapLayout,\n imageConfig: (entry) => ({\n imageUrl: entry.image[0].url,\n altText: entry.image[0].altText || 'Event Image',\n linkUrl: entry.url,\n linkLabel: 'University of Maryland Event',\n }),\n });\n"],"names":["createBaseFeed","eventsFetchStrategy","eventsDisplayStrategy","gridGapLayout"],"mappings":";;;;;;;;;;;;;;;;AAqCA,MAAA,OAAe,CAAC,UACdA,eAAAA,eAAe;AAAA,EACb,GAAG;AAAA,EACH,wBAAwB;AAAA,EACxB,eAAeC,OAAAA;AAAAA,EACf,iBAAiBC,SAAAA;AAAAA,EACjB,gBAAgBC,OAAAA;AAAAA,EAChB,aAAa,CAAC,WAAW;AAAA,IACvB,UAAU,MAAM,MAAM,CAAC,EAAE;AAAA,IACzB,SAAS,MAAM,MAAM,CAAC,EAAE,WAAW;AAAA,IACnC,SAAS,MAAM;AAAA,IACf,WAAW;AAAA,EAAA;AAEf,CAAC;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createBaseFeed } from "../../factory/core/createBaseFeed.mjs";
|
|
2
|
+
import "@universityofmaryland/web-builder-library";
|
|
3
|
+
import "@universityofmaryland/web-styles-library";
|
|
4
|
+
import "@universityofmaryland/web-styles-library/typography";
|
|
5
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
6
|
+
import "@universityofmaryland/web-elements-library";
|
|
7
|
+
import { eventsDisplayStrategy } from "../../strategies/display/events.mjs";
|
|
8
|
+
import "@universityofmaryland/web-elements-library/composite";
|
|
9
|
+
import "@universityofmaryland/web-utilities-library/elements";
|
|
10
|
+
import "@universityofmaryland/web-utilities-library/network";
|
|
11
|
+
import { eventsFetchStrategy } from "../../strategies/fetch/events.mjs";
|
|
12
|
+
import "../../strategies/fetch/news.mjs";
|
|
13
|
+
import "../../strategies/fetch/experts.mjs";
|
|
14
|
+
import { gridGapLayout } from "../../strategies/layout/grid.mjs";
|
|
15
|
+
import "@universityofmaryland/web-elements-library/layout";
|
|
16
|
+
const grid = (props) => createBaseFeed({
|
|
17
|
+
...props,
|
|
18
|
+
enableCategoryFallback: true,
|
|
19
|
+
fetchStrategy: eventsFetchStrategy,
|
|
20
|
+
displayStrategy: eventsDisplayStrategy,
|
|
21
|
+
layoutStrategy: gridGapLayout,
|
|
22
|
+
imageConfig: (entry) => ({
|
|
23
|
+
imageUrl: entry.image[0].url,
|
|
24
|
+
altText: entry.image[0].altText || "Event Image",
|
|
25
|
+
linkUrl: entry.url,
|
|
26
|
+
linkLabel: "University of Maryland Event"
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
export {
|
|
30
|
+
grid as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=grid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.mjs","sources":["../../../source/feeds/events/grid.ts"],"sourcesContent":["/**\n * Events Grid Feed (Factory Pattern)\n *\n * Grid layout for event entries using the feed factory pattern.\n * This is the NEW implementation using factory + strategies.\n *\n * @module composite/events/grid-new\n */\n\nimport { createBaseFeed } from 'factory';\nimport {\n eventsFetchStrategy,\n eventsDisplayStrategy,\n gridGapLayout,\n} from 'strategies';\nimport { type BlockProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\n/**\n * Create an events grid feed\n *\n * @param props - Feed configuration\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * const feed = eventsGrid({\n * token: 'my-token',\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: true,\n * categories: ['sports', 'arts'],\n * });\n *\n * document.body.appendChild(feed.element);\n * ```\n */\nexport default (props: BlockProps): ElementModel =>\n createBaseFeed({\n ...props,\n enableCategoryFallback: true,\n fetchStrategy: eventsFetchStrategy,\n displayStrategy: eventsDisplayStrategy,\n layoutStrategy: gridGapLayout,\n imageConfig: (entry) => ({\n imageUrl: entry.image[0].url,\n altText: entry.image[0].altText || 'Event Image',\n linkUrl: entry.url,\n linkLabel: 'University of Maryland Event',\n }),\n });\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAqCA,MAAA,OAAe,CAAC,UACd,eAAe;AAAA,EACb,GAAG;AAAA,EACH,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,aAAa,CAAC,WAAW;AAAA,IACvB,UAAU,MAAM,MAAM,CAAC,EAAE;AAAA,IACzB,SAAS,MAAM,MAAM,CAAC,EAAE,WAAW;AAAA,IACnC,SAAS,MAAM;AAAA,IACf,WAAW;AAAA,EAAA;AAEf,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouped.d.ts","sourceRoot":"","sources":["../../../source/feeds/events/grouped.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAibjC,OAAO,SAAS,KAAG,YAAY;AAA/C,wBA+HE"}
|