@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
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# University of Maryland Feeds Library
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@universityofmaryland/web-feeds-library)
|
|
4
4
|
|
|
5
5
|
Dynamic content feed components for displaying University of Maryland news, events, and academic information with automatic updates, caching, and brand-compliant styling.
|
|
6
6
|
|
package/dist/academic.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './feeds/academic/index'
|
|
2
2
|
export {}
|
package/dist/academic.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const slider = require("./
|
|
3
|
+
const slider = require("./feeds/academic/slider.js");
|
|
4
4
|
exports.slider = slider;
|
|
5
5
|
//# sourceMappingURL=academic.js.map
|
package/dist/academic.mjs
CHANGED
package/dist/events.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './feeds/events/index'
|
|
2
2
|
export {}
|
package/dist/events.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const grid = require("./
|
|
4
|
-
const list = require("./
|
|
5
|
-
const slider = require("./
|
|
6
|
-
const grouped = require("./
|
|
3
|
+
const grid = require("./feeds/events/grid.js");
|
|
4
|
+
const list = require("./feeds/events/list.js");
|
|
5
|
+
const slider = require("./feeds/events/slider.js");
|
|
6
|
+
const grouped = require("./feeds/events/grouped.js");
|
|
7
7
|
exports.grid = grid;
|
|
8
8
|
exports.list = list;
|
|
9
9
|
exports.slider = slider;
|
package/dist/events.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { default as default2 } from "./
|
|
2
|
-
import { default as default3 } from "./
|
|
3
|
-
import { default as default4 } from "./
|
|
4
|
-
import { default as default5 } from "./
|
|
1
|
+
import { default as default2 } from "./feeds/events/grid.mjs";
|
|
2
|
+
import { default as default3 } from "./feeds/events/list.mjs";
|
|
3
|
+
import { default as default4 } from "./feeds/events/slider.mjs";
|
|
4
|
+
import { default as default5 } from "./feeds/events/grouped.mjs";
|
|
5
5
|
export {
|
|
6
6
|
default2 as grid,
|
|
7
7
|
default5 as grouped,
|
package/dist/experts.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const grid = require("./feeds/experts/grid.js");
|
|
4
|
+
const list = require("./feeds/experts/list.js");
|
|
5
|
+
const bio = require("./feeds/experts/bio.js");
|
|
6
|
+
exports.grid = grid;
|
|
7
|
+
exports.list = list;
|
|
8
|
+
exports.bio = bio;
|
|
9
|
+
//# sourceMappingURL=experts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experts.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
package/dist/experts.mjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as default2 } from "./feeds/experts/grid.mjs";
|
|
2
|
+
import { default as default3 } from "./feeds/experts/list.mjs";
|
|
3
|
+
import { default as default4 } from "./feeds/experts/bio.mjs";
|
|
4
|
+
export {
|
|
5
|
+
default4 as bio,
|
|
6
|
+
default2 as grid,
|
|
7
|
+
default3 as list
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=experts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experts.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBaseFeed.d.ts","sourceRoot":"","sources":["../../../source/factory/core/createBaseFeed.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAyChF,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,EACpD,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,GACxC,iBAAiB,CAkInB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const loading = require("../../states/loading.js");
|
|
4
|
+
require("@universityofmaryland/web-builder-library");
|
|
5
|
+
require("@universityofmaryland/web-elements-library");
|
|
6
|
+
require("@universityofmaryland/web-styles-library");
|
|
7
|
+
require("@universityofmaryland/web-utilities-library/theme");
|
|
8
|
+
const feedHelpers = require("../helpers/feedHelpers.js");
|
|
9
|
+
const displayHandler = require("../helpers/displayHandler.js");
|
|
10
|
+
const fetchHandler = require("../helpers/fetchHandler.js");
|
|
11
|
+
function createBaseFeed(config) {
|
|
12
|
+
const {
|
|
13
|
+
token,
|
|
14
|
+
isThemeDark = false,
|
|
15
|
+
isTransparent = false,
|
|
16
|
+
isOverlay = false,
|
|
17
|
+
isAligned = false,
|
|
18
|
+
cardType,
|
|
19
|
+
numberOfColumnsToShow = 1,
|
|
20
|
+
numberOfRowsToStart,
|
|
21
|
+
isLazyLoad = false,
|
|
22
|
+
enableCategoryFallback = false,
|
|
23
|
+
categories,
|
|
24
|
+
entriesToRemove,
|
|
25
|
+
fetchStrategy,
|
|
26
|
+
displayStrategy,
|
|
27
|
+
layoutStrategy,
|
|
28
|
+
noResultsConfig,
|
|
29
|
+
imageConfig
|
|
30
|
+
} = config;
|
|
31
|
+
const container = document.createElement("div");
|
|
32
|
+
const loading$1 = new loading.LoadingState({ isThemeDark });
|
|
33
|
+
let styles = loading$1.styles;
|
|
34
|
+
const helpers = feedHelpers.createFeedHelpers({
|
|
35
|
+
container,
|
|
36
|
+
initialStyles: styles
|
|
37
|
+
});
|
|
38
|
+
const originalSetStyles = helpers.setStyles;
|
|
39
|
+
helpers.setStyles = (additionalStyles) => {
|
|
40
|
+
styles += additionalStyles;
|
|
41
|
+
originalSetStyles(additionalStyles);
|
|
42
|
+
};
|
|
43
|
+
const shadowRootCallback = (shadow) => {
|
|
44
|
+
helpers.setShadowRoot(shadow);
|
|
45
|
+
};
|
|
46
|
+
const cardMappingOptions = {
|
|
47
|
+
isThemeDark,
|
|
48
|
+
isTransparent,
|
|
49
|
+
isOverlay,
|
|
50
|
+
isAligned,
|
|
51
|
+
imageConfig,
|
|
52
|
+
...cardType && { cardType }
|
|
53
|
+
};
|
|
54
|
+
const layoutElement = layoutStrategy.create({
|
|
55
|
+
columns: numberOfColumnsToShow,
|
|
56
|
+
isThemeDark
|
|
57
|
+
});
|
|
58
|
+
helpers.setStyles(layoutElement.styles);
|
|
59
|
+
const baseProps = {
|
|
60
|
+
token,
|
|
61
|
+
categories,
|
|
62
|
+
entriesToRemove,
|
|
63
|
+
numberOfColumnsToShow,
|
|
64
|
+
numberOfRowsToStart,
|
|
65
|
+
isLazyLoad,
|
|
66
|
+
getOffset: helpers.getOffset
|
|
67
|
+
};
|
|
68
|
+
const lazyLoadCallbackRef = {
|
|
69
|
+
current: void 0
|
|
70
|
+
};
|
|
71
|
+
const displayHandlers = displayHandler.createDisplayHandlers({
|
|
72
|
+
displayStrategy,
|
|
73
|
+
layoutStrategy,
|
|
74
|
+
helpers,
|
|
75
|
+
cardMappingOptions,
|
|
76
|
+
isLazyLoad,
|
|
77
|
+
numberOfColumnsToShow,
|
|
78
|
+
numberOfRowsToStart,
|
|
79
|
+
noResultsConfig: {
|
|
80
|
+
...noResultsConfig,
|
|
81
|
+
isThemeDark
|
|
82
|
+
// Ensure theme is passed to EmptyState
|
|
83
|
+
},
|
|
84
|
+
// Pass a function that calls the current callback
|
|
85
|
+
lazyLoadCallback: isLazyLoad ? async () => {
|
|
86
|
+
if (lazyLoadCallbackRef.current) {
|
|
87
|
+
await lazyLoadCallbackRef.current();
|
|
88
|
+
}
|
|
89
|
+
} : void 0
|
|
90
|
+
});
|
|
91
|
+
const fetchHandlers = fetchHandler.createFetchHandlers({
|
|
92
|
+
fetchStrategy,
|
|
93
|
+
helpers,
|
|
94
|
+
baseProps,
|
|
95
|
+
displayHandlers,
|
|
96
|
+
layoutElement,
|
|
97
|
+
isThemeDark,
|
|
98
|
+
enableCategoryFallback
|
|
99
|
+
});
|
|
100
|
+
lazyLoadCallbackRef.current = fetchHandlers.loadMore;
|
|
101
|
+
container.appendChild(loading$1.element);
|
|
102
|
+
fetchHandlers.start();
|
|
103
|
+
return {
|
|
104
|
+
element: container,
|
|
105
|
+
get styles() {
|
|
106
|
+
return styles;
|
|
107
|
+
},
|
|
108
|
+
events: {
|
|
109
|
+
callback: shadowRootCallback
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
exports.createBaseFeed = createBaseFeed;
|
|
114
|
+
//# sourceMappingURL=createBaseFeed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBaseFeed.js","sources":["../../../source/factory/core/createBaseFeed.ts"],"sourcesContent":["/**\n * Base Feed Factory\n *\n * Creates a complete feed with initialization, data fetching, and display logic.\n * Uses strategy pattern to allow customization of fetch, display, and layout.\n *\n * @module factory/core/createBaseFeed\n */\n\nimport { LoadingState } from '../../states';\nimport {\n createFeedHelpers,\n createDisplayHandlers,\n createFetchHandlers,\n} from '../helpers';\nimport { BaseFeedConfig, FeedFactoryResult, CardMappingOptions } from './types';\n\n/**\n * Create a base feed using the factory pattern\n *\n * This factory eliminates ~70% of boilerplate code by handling:\n * - Feed initialization (container, loading, state)\n * - Strategy composition (fetch, display, layout)\n * - Lifecycle management (start, load more, no results)\n * - Shadow DOM support\n * - Event system\n *\n * @template TData - The type of entry data from the API\n * @template TVariables - The type of API variables\n *\n * @param config - Configuration for the feed\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * // Simple grid feed\n * const eventsFeed = createBaseFeed({\n * token: 'my-token',\n * isThemeDark: false,\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: 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,\n * linkUrl: entry.url,\n * }),\n * });\n *\n * // Use the feed\n * document.body.appendChild(eventsFeed.element);\n * ```\n */\nexport function createBaseFeed<TData, TVariables = any>(\n config: BaseFeedConfig<TData, TVariables>,\n): FeedFactoryResult {\n const {\n token,\n isThemeDark = false,\n isTransparent = false,\n isOverlay = false,\n isAligned = false,\n cardType,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad = false,\n enableCategoryFallback = false,\n categories,\n entriesToRemove,\n fetchStrategy,\n displayStrategy,\n layoutStrategy,\n noResultsConfig,\n imageConfig,\n } = config;\n\n const container = document.createElement('div');\n const loading = new LoadingState({ isThemeDark });\n let styles = loading.styles;\n\n // Create helpers for state management\n const helpers = createFeedHelpers({\n container,\n initialStyles: styles,\n });\n\n // Override setStyles to also update the local styles variable\n const originalSetStyles = helpers.setStyles;\n helpers.setStyles = (additionalStyles: string) => {\n styles += additionalStyles;\n originalSetStyles(additionalStyles);\n };\n\n // Shadow root support\n let shadowRoot: ShadowRoot | null = null;\n const shadowRootCallback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n\n helpers.setShadowRoot(shadow);\n };\n\n const cardMappingOptions: CardMappingOptions = {\n isThemeDark,\n isTransparent,\n isOverlay,\n isAligned,\n imageConfig,\n ...(cardType && { cardType }),\n };\n\n const layoutElement = layoutStrategy.create({\n columns: numberOfColumnsToShow as 2 | 3 | 4,\n isThemeDark,\n });\n helpers.setStyles(layoutElement.styles);\n\n const baseProps = {\n token,\n categories,\n entriesToRemove,\n numberOfColumnsToShow,\n numberOfRowsToStart,\n isLazyLoad,\n getOffset: helpers.getOffset,\n };\n\n // Create a mutable reference for lazy load callback\n // This allows us to set it after fetchHandlers are created\n const lazyLoadCallbackRef = {\n current: undefined as (() => Promise<void>) | undefined,\n };\n\n // Create display handlers with callback reference\n const displayHandlers = createDisplayHandlers({\n displayStrategy,\n layoutStrategy,\n helpers,\n cardMappingOptions,\n isLazyLoad,\n numberOfColumnsToShow,\n numberOfRowsToStart,\n noResultsConfig: {\n ...noResultsConfig,\n isThemeDark, // Ensure theme is passed to EmptyState\n },\n // Pass a function that calls the current callback\n lazyLoadCallback: isLazyLoad\n ? async () => {\n if (lazyLoadCallbackRef.current) {\n await lazyLoadCallbackRef.current();\n }\n }\n : undefined,\n });\n\n // Create fetch handlers\n const fetchHandlers = createFetchHandlers({\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback,\n });\n\n // Set the lazy load callback reference now that fetch handlers exist\n lazyLoadCallbackRef.current = fetchHandlers.loadMore;\n\n // Append loading indicator to container\n container.appendChild(loading.element);\n\n // Start fetching data\n fetchHandlers.start();\n\n // Return feed with getter for styles to ensure dynamic access\n return {\n element: container,\n get styles() {\n return styles;\n },\n events: {\n callback: shadowRootCallback,\n },\n };\n}\n"],"names":["loading","LoadingState","createFeedHelpers","createDisplayHandlers","createFetchHandlers"],"mappings":";;;;;;;;;;AAwDO,SAAS,eACd,QACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAMA,YAAU,IAAIC,qBAAa,EAAE,aAAa;AAChD,MAAI,SAASD,UAAQ;AAGrB,QAAM,UAAUE,YAAAA,kBAAkB;AAAA,IAChC;AAAA,IACA,eAAe;AAAA,EAAA,CAChB;AAGD,QAAM,oBAAoB,QAAQ;AAClC,UAAQ,YAAY,CAAC,qBAA6B;AAChD,cAAU;AACV,sBAAkB,gBAAgB;AAAA,EACpC;AAIA,QAAM,qBAAqB,CAAC,WAAuB;AAGjD,YAAQ,cAAc,MAAM;AAAA,EAC9B;AAEA,QAAM,qBAAyC;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,YAAY,EAAE,SAAA;AAAA,EAAS;AAG7B,QAAM,gBAAgB,eAAe,OAAO;AAAA,IAC1C,SAAS;AAAA,IACT;AAAA,EAAA,CACD;AACD,UAAQ,UAAU,cAAc,MAAM;AAEtC,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,QAAQ;AAAA,EAAA;AAKrB,QAAM,sBAAsB;AAAA,IAC1B,SAAS;AAAA,EAAA;AAIX,QAAM,kBAAkBC,eAAAA,sBAAsB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH;AAAA;AAAA,IAAA;AAAA;AAAA,IAGF,kBAAkB,aACd,YAAY;AACV,UAAI,oBAAoB,SAAS;AAC/B,cAAM,oBAAoB,QAAA;AAAA,MAC5B;AAAA,IACF,IACA;AAAA,EAAA,CACL;AAGD,QAAM,gBAAgBC,aAAAA,oBAAoB;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAGD,sBAAoB,UAAU,cAAc;AAG5C,YAAU,YAAYJ,UAAQ,OAAO;AAGrC,gBAAc,MAAA;AAGd,SAAO;AAAA,IACL,SAAS;AAAA,IACT,IAAI,SAAS;AACX,aAAO;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;;"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { LoadingState } from "../../states/loading.mjs";
|
|
2
|
+
import "@universityofmaryland/web-builder-library";
|
|
3
|
+
import "@universityofmaryland/web-elements-library";
|
|
4
|
+
import "@universityofmaryland/web-styles-library";
|
|
5
|
+
import "@universityofmaryland/web-utilities-library/theme";
|
|
6
|
+
import { createFeedHelpers } from "../helpers/feedHelpers.mjs";
|
|
7
|
+
import { createDisplayHandlers } from "../helpers/displayHandler.mjs";
|
|
8
|
+
import { createFetchHandlers } from "../helpers/fetchHandler.mjs";
|
|
9
|
+
function createBaseFeed(config) {
|
|
10
|
+
const {
|
|
11
|
+
token,
|
|
12
|
+
isThemeDark = false,
|
|
13
|
+
isTransparent = false,
|
|
14
|
+
isOverlay = false,
|
|
15
|
+
isAligned = false,
|
|
16
|
+
cardType,
|
|
17
|
+
numberOfColumnsToShow = 1,
|
|
18
|
+
numberOfRowsToStart,
|
|
19
|
+
isLazyLoad = false,
|
|
20
|
+
enableCategoryFallback = false,
|
|
21
|
+
categories,
|
|
22
|
+
entriesToRemove,
|
|
23
|
+
fetchStrategy,
|
|
24
|
+
displayStrategy,
|
|
25
|
+
layoutStrategy,
|
|
26
|
+
noResultsConfig,
|
|
27
|
+
imageConfig
|
|
28
|
+
} = config;
|
|
29
|
+
const container = document.createElement("div");
|
|
30
|
+
const loading = new LoadingState({ isThemeDark });
|
|
31
|
+
let styles = loading.styles;
|
|
32
|
+
const helpers = createFeedHelpers({
|
|
33
|
+
container,
|
|
34
|
+
initialStyles: styles
|
|
35
|
+
});
|
|
36
|
+
const originalSetStyles = helpers.setStyles;
|
|
37
|
+
helpers.setStyles = (additionalStyles) => {
|
|
38
|
+
styles += additionalStyles;
|
|
39
|
+
originalSetStyles(additionalStyles);
|
|
40
|
+
};
|
|
41
|
+
const shadowRootCallback = (shadow) => {
|
|
42
|
+
helpers.setShadowRoot(shadow);
|
|
43
|
+
};
|
|
44
|
+
const cardMappingOptions = {
|
|
45
|
+
isThemeDark,
|
|
46
|
+
isTransparent,
|
|
47
|
+
isOverlay,
|
|
48
|
+
isAligned,
|
|
49
|
+
imageConfig,
|
|
50
|
+
...cardType && { cardType }
|
|
51
|
+
};
|
|
52
|
+
const layoutElement = layoutStrategy.create({
|
|
53
|
+
columns: numberOfColumnsToShow,
|
|
54
|
+
isThemeDark
|
|
55
|
+
});
|
|
56
|
+
helpers.setStyles(layoutElement.styles);
|
|
57
|
+
const baseProps = {
|
|
58
|
+
token,
|
|
59
|
+
categories,
|
|
60
|
+
entriesToRemove,
|
|
61
|
+
numberOfColumnsToShow,
|
|
62
|
+
numberOfRowsToStart,
|
|
63
|
+
isLazyLoad,
|
|
64
|
+
getOffset: helpers.getOffset
|
|
65
|
+
};
|
|
66
|
+
const lazyLoadCallbackRef = {
|
|
67
|
+
current: void 0
|
|
68
|
+
};
|
|
69
|
+
const displayHandlers = createDisplayHandlers({
|
|
70
|
+
displayStrategy,
|
|
71
|
+
layoutStrategy,
|
|
72
|
+
helpers,
|
|
73
|
+
cardMappingOptions,
|
|
74
|
+
isLazyLoad,
|
|
75
|
+
numberOfColumnsToShow,
|
|
76
|
+
numberOfRowsToStart,
|
|
77
|
+
noResultsConfig: {
|
|
78
|
+
...noResultsConfig,
|
|
79
|
+
isThemeDark
|
|
80
|
+
// Ensure theme is passed to EmptyState
|
|
81
|
+
},
|
|
82
|
+
// Pass a function that calls the current callback
|
|
83
|
+
lazyLoadCallback: isLazyLoad ? async () => {
|
|
84
|
+
if (lazyLoadCallbackRef.current) {
|
|
85
|
+
await lazyLoadCallbackRef.current();
|
|
86
|
+
}
|
|
87
|
+
} : void 0
|
|
88
|
+
});
|
|
89
|
+
const fetchHandlers = createFetchHandlers({
|
|
90
|
+
fetchStrategy,
|
|
91
|
+
helpers,
|
|
92
|
+
baseProps,
|
|
93
|
+
displayHandlers,
|
|
94
|
+
layoutElement,
|
|
95
|
+
isThemeDark,
|
|
96
|
+
enableCategoryFallback
|
|
97
|
+
});
|
|
98
|
+
lazyLoadCallbackRef.current = fetchHandlers.loadMore;
|
|
99
|
+
container.appendChild(loading.element);
|
|
100
|
+
fetchHandlers.start();
|
|
101
|
+
return {
|
|
102
|
+
element: container,
|
|
103
|
+
get styles() {
|
|
104
|
+
return styles;
|
|
105
|
+
},
|
|
106
|
+
events: {
|
|
107
|
+
callback: shadowRootCallback
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export {
|
|
112
|
+
createBaseFeed
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=createBaseFeed.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBaseFeed.mjs","sources":["../../../source/factory/core/createBaseFeed.ts"],"sourcesContent":["/**\n * Base Feed Factory\n *\n * Creates a complete feed with initialization, data fetching, and display logic.\n * Uses strategy pattern to allow customization of fetch, display, and layout.\n *\n * @module factory/core/createBaseFeed\n */\n\nimport { LoadingState } from '../../states';\nimport {\n createFeedHelpers,\n createDisplayHandlers,\n createFetchHandlers,\n} from '../helpers';\nimport { BaseFeedConfig, FeedFactoryResult, CardMappingOptions } from './types';\n\n/**\n * Create a base feed using the factory pattern\n *\n * This factory eliminates ~70% of boilerplate code by handling:\n * - Feed initialization (container, loading, state)\n * - Strategy composition (fetch, display, layout)\n * - Lifecycle management (start, load more, no results)\n * - Shadow DOM support\n * - Event system\n *\n * @template TData - The type of entry data from the API\n * @template TVariables - The type of API variables\n *\n * @param config - Configuration for the feed\n * @returns ElementModel with feed element and styles\n *\n * @example\n * ```typescript\n * // Simple grid feed\n * const eventsFeed = createBaseFeed({\n * token: 'my-token',\n * isThemeDark: false,\n * numberOfColumnsToShow: 3,\n * numberOfRowsToStart: 2,\n * isLazyLoad: 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,\n * linkUrl: entry.url,\n * }),\n * });\n *\n * // Use the feed\n * document.body.appendChild(eventsFeed.element);\n * ```\n */\nexport function createBaseFeed<TData, TVariables = any>(\n config: BaseFeedConfig<TData, TVariables>,\n): FeedFactoryResult {\n const {\n token,\n isThemeDark = false,\n isTransparent = false,\n isOverlay = false,\n isAligned = false,\n cardType,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad = false,\n enableCategoryFallback = false,\n categories,\n entriesToRemove,\n fetchStrategy,\n displayStrategy,\n layoutStrategy,\n noResultsConfig,\n imageConfig,\n } = config;\n\n const container = document.createElement('div');\n const loading = new LoadingState({ isThemeDark });\n let styles = loading.styles;\n\n // Create helpers for state management\n const helpers = createFeedHelpers({\n container,\n initialStyles: styles,\n });\n\n // Override setStyles to also update the local styles variable\n const originalSetStyles = helpers.setStyles;\n helpers.setStyles = (additionalStyles: string) => {\n styles += additionalStyles;\n originalSetStyles(additionalStyles);\n };\n\n // Shadow root support\n let shadowRoot: ShadowRoot | null = null;\n const shadowRootCallback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n\n helpers.setShadowRoot(shadow);\n };\n\n const cardMappingOptions: CardMappingOptions = {\n isThemeDark,\n isTransparent,\n isOverlay,\n isAligned,\n imageConfig,\n ...(cardType && { cardType }),\n };\n\n const layoutElement = layoutStrategy.create({\n columns: numberOfColumnsToShow as 2 | 3 | 4,\n isThemeDark,\n });\n helpers.setStyles(layoutElement.styles);\n\n const baseProps = {\n token,\n categories,\n entriesToRemove,\n numberOfColumnsToShow,\n numberOfRowsToStart,\n isLazyLoad,\n getOffset: helpers.getOffset,\n };\n\n // Create a mutable reference for lazy load callback\n // This allows us to set it after fetchHandlers are created\n const lazyLoadCallbackRef = {\n current: undefined as (() => Promise<void>) | undefined,\n };\n\n // Create display handlers with callback reference\n const displayHandlers = createDisplayHandlers({\n displayStrategy,\n layoutStrategy,\n helpers,\n cardMappingOptions,\n isLazyLoad,\n numberOfColumnsToShow,\n numberOfRowsToStart,\n noResultsConfig: {\n ...noResultsConfig,\n isThemeDark, // Ensure theme is passed to EmptyState\n },\n // Pass a function that calls the current callback\n lazyLoadCallback: isLazyLoad\n ? async () => {\n if (lazyLoadCallbackRef.current) {\n await lazyLoadCallbackRef.current();\n }\n }\n : undefined,\n });\n\n // Create fetch handlers\n const fetchHandlers = createFetchHandlers({\n fetchStrategy,\n helpers,\n baseProps,\n displayHandlers,\n layoutElement,\n isThemeDark,\n enableCategoryFallback,\n });\n\n // Set the lazy load callback reference now that fetch handlers exist\n lazyLoadCallbackRef.current = fetchHandlers.loadMore;\n\n // Append loading indicator to container\n container.appendChild(loading.element);\n\n // Start fetching data\n fetchHandlers.start();\n\n // Return feed with getter for styles to ensure dynamic access\n return {\n element: container,\n get styles() {\n return styles;\n },\n events: {\n callback: shadowRootCallback,\n },\n };\n}\n"],"names":[],"mappings":";;;;;;;;AAwDO,SAAS,eACd,QACmB;AACnB,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA,aAAa;AAAA,IACb,yBAAyB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,UAAU,IAAI,aAAa,EAAE,aAAa;AAChD,MAAI,SAAS,QAAQ;AAGrB,QAAM,UAAU,kBAAkB;AAAA,IAChC;AAAA,IACA,eAAe;AAAA,EAAA,CAChB;AAGD,QAAM,oBAAoB,QAAQ;AAClC,UAAQ,YAAY,CAAC,qBAA6B;AAChD,cAAU;AACV,sBAAkB,gBAAgB;AAAA,EACpC;AAIA,QAAM,qBAAqB,CAAC,WAAuB;AAGjD,YAAQ,cAAc,MAAM;AAAA,EAC9B;AAEA,QAAM,qBAAyC;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,YAAY,EAAE,SAAA;AAAA,EAAS;AAG7B,QAAM,gBAAgB,eAAe,OAAO;AAAA,IAC1C,SAAS;AAAA,IACT;AAAA,EAAA,CACD;AACD,UAAQ,UAAU,cAAc,MAAM;AAEtC,QAAM,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,QAAQ;AAAA,EAAA;AAKrB,QAAM,sBAAsB;AAAA,IAC1B,SAAS;AAAA,EAAA;AAIX,QAAM,kBAAkB,sBAAsB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH;AAAA;AAAA,IAAA;AAAA;AAAA,IAGF,kBAAkB,aACd,YAAY;AACV,UAAI,oBAAoB,SAAS;AAC/B,cAAM,oBAAoB,QAAA;AAAA,MAC5B;AAAA,IACF,IACA;AAAA,EAAA,CACL;AAGD,QAAM,gBAAgB,oBAAoB;AAAA,IACxC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAGD,sBAAoB,UAAU,cAAc;AAG5C,YAAU,YAAY,QAAQ,OAAO;AAGrC,gBAAc,MAAA;AAGd,SAAO;AAAA,IACL,SAAS;AAAA,IACT,IAAI,SAAS;AACX,aAAO;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/factory/core/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ElementModel } from '../../_types';
|
|
2
|
+
export interface FeedHelpers {
|
|
3
|
+
setTotalEntries: (count: number) => void;
|
|
4
|
+
setOffset: (count: number) => void;
|
|
5
|
+
setStyles: (styles: string) => void;
|
|
6
|
+
setShadowRoot: (shadowRoot: ShadowRoot) => void;
|
|
7
|
+
getContainer: () => HTMLElement;
|
|
8
|
+
getOffset: () => number;
|
|
9
|
+
getTotalEntries: () => number;
|
|
10
|
+
getStyles: () => string;
|
|
11
|
+
getShadowRoot: () => ShadowRoot | null;
|
|
12
|
+
}
|
|
13
|
+
export interface FetchStrategy<TData, TVariables = any> {
|
|
14
|
+
fetchCount: (variables: TVariables) => Promise<number | null>;
|
|
15
|
+
fetchEntries: (variables: TVariables) => Promise<TData[] | null>;
|
|
16
|
+
composeApiVariables: (props: any) => TVariables;
|
|
17
|
+
fetchCategoryNames?: (categoryIds: string[], token?: string) => Promise<string[] | null>;
|
|
18
|
+
}
|
|
19
|
+
export interface CardMappingOptions {
|
|
20
|
+
isThemeDark?: boolean;
|
|
21
|
+
isTransparent?: boolean;
|
|
22
|
+
isFeatured?: boolean;
|
|
23
|
+
isOverlay?: boolean;
|
|
24
|
+
isAligned?: boolean;
|
|
25
|
+
cardType?: 'block' | 'list' | 'tabular' | 'overlay';
|
|
26
|
+
imageConfig?: (entry: any) => ImageConfig;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
export interface ImageConfig {
|
|
30
|
+
imageUrl: string;
|
|
31
|
+
altText: string;
|
|
32
|
+
linkUrl?: string;
|
|
33
|
+
linkLabel?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface DisplayStrategy<TData> {
|
|
36
|
+
mapEntryToCard: (entry: TData, options: CardMappingOptions) => ElementModel;
|
|
37
|
+
layoutType: 'grid' | 'list' | 'stacked' | 'custom';
|
|
38
|
+
}
|
|
39
|
+
export interface LayoutOptions {
|
|
40
|
+
columns?: 2 | 3 | 4;
|
|
41
|
+
isThemeDark?: boolean;
|
|
42
|
+
gap?: string;
|
|
43
|
+
showDividers?: boolean;
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
}
|
|
46
|
+
export interface LayoutStrategy {
|
|
47
|
+
create: (options: LayoutOptions) => ElementModel;
|
|
48
|
+
getId: () => string;
|
|
49
|
+
}
|
|
50
|
+
export interface NoResultsConfig {
|
|
51
|
+
message?: string;
|
|
52
|
+
linkUrl?: string;
|
|
53
|
+
linkText?: string;
|
|
54
|
+
isThemeDark?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface BaseFeedConfig<TData, TVariables = any> {
|
|
57
|
+
token: string | null;
|
|
58
|
+
isThemeDark?: boolean;
|
|
59
|
+
isTransparent?: boolean;
|
|
60
|
+
isOverlay?: boolean;
|
|
61
|
+
isAligned?: boolean;
|
|
62
|
+
cardType?: 'block' | 'list' | 'tabular' | 'overlay';
|
|
63
|
+
numberOfColumnsToShow?: number;
|
|
64
|
+
numberOfRowsToStart: number;
|
|
65
|
+
isLazyLoad?: boolean;
|
|
66
|
+
enableCategoryFallback?: boolean;
|
|
67
|
+
categories?: string[];
|
|
68
|
+
entriesToRemove?: Array<string | number>;
|
|
69
|
+
fetchStrategy: FetchStrategy<TData, TVariables>;
|
|
70
|
+
displayStrategy: DisplayStrategy<TData>;
|
|
71
|
+
layoutStrategy: LayoutStrategy;
|
|
72
|
+
noResultsConfig?: NoResultsConfig;
|
|
73
|
+
imageConfig?: (entry: TData) => ImageConfig;
|
|
74
|
+
getOffset?: () => number;
|
|
75
|
+
}
|
|
76
|
+
export interface DisplayResultsProps<TData> {
|
|
77
|
+
feedData: TData[];
|
|
78
|
+
}
|
|
79
|
+
export interface FeedLifecycle<TData> {
|
|
80
|
+
displayResultStart: (props: any) => void;
|
|
81
|
+
displayResults: (props: DisplayResultsProps<TData>) => Promise<void>;
|
|
82
|
+
displayNoResults: (props: any) => void;
|
|
83
|
+
}
|
|
84
|
+
export interface FeedEvents {
|
|
85
|
+
callback?: (shadowRoot: ShadowRoot) => void;
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
}
|
|
88
|
+
export interface FeedFactoryResult extends ElementModel {
|
|
89
|
+
events?: FeedEvents;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../source/factory/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DisplayStrategy, FeedHelpers, LayoutStrategy, CardMappingOptions, DisplayResultsProps, NoResultsConfig } from '../core/types';
|
|
2
|
+
import { ElementModel } from '../../_types';
|
|
3
|
+
interface DisplayHandlerConfig<TData> {
|
|
4
|
+
displayStrategy: DisplayStrategy<TData>;
|
|
5
|
+
layoutStrategy: LayoutStrategy;
|
|
6
|
+
helpers: FeedHelpers;
|
|
7
|
+
cardMappingOptions: CardMappingOptions;
|
|
8
|
+
isLazyLoad?: boolean;
|
|
9
|
+
numberOfColumnsToShow?: number;
|
|
10
|
+
numberOfRowsToStart: number;
|
|
11
|
+
noResultsConfig?: NoResultsConfig;
|
|
12
|
+
lazyLoadCallback?: () => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function setShadowStyles({ shadowRoot, styles, }: {
|
|
15
|
+
shadowRoot: ShadowRoot;
|
|
16
|
+
styles: string;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
export declare function createDisplayHandlers<TData>(config: DisplayHandlerConfig<TData>): {
|
|
19
|
+
displayNoResults: (props: any) => void;
|
|
20
|
+
displayResults: (props: DisplayResultsProps<TData>) => Promise<void>;
|
|
21
|
+
displayResultStart: (props: {
|
|
22
|
+
feedData: TData[];
|
|
23
|
+
layoutElement: ElementModel;
|
|
24
|
+
isFallback?: boolean;
|
|
25
|
+
categoryNames?: string[];
|
|
26
|
+
}) => Promise<void>;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=displayHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayHandler.d.ts","sourceRoot":"","sources":["../../../source/factory/helpers/displayHandler.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,UAAU,oBAAoB,CAAC,KAAK;IAElC,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAExC,cAAc,EAAE,cAAc,CAAC;IAE/B,OAAO,EAAE,WAAW,CAAC;IAErB,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAKD,wBAAsB,eAAe,CAAC,EACpC,UAAU,EACV,MAAM,GACP,EAAE;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAsED,wBAAgB,qBAAqB,CAAC,KAAK,EACzC,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC;8BAiBF,GAAG;4BAwC3B,mBAAmB,CAAC,KAAK,CAAC,KAChC,OAAO,CAAC,IAAI,CAAC;gCAyDyB;QACvC,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClB,aAAa,EAAE,YAAY,CAAC;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,KAAG,OAAO,CAAC,IAAI,CAAC;EAuDlB"}
|