@universityofmaryland/web-feeds-library 1.0.8 → 1.1.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 +2 -0
- package/dist/academic.js +5 -0
- package/dist/academic.js.map +1 -0
- package/dist/academic.mjs +5 -0
- package/dist/academic.mjs.map +1 -0
- package/dist/composite/academic/slider.d.ts +2 -2
- package/dist/composite/academic/slider.d.ts.map +1 -1
- package/dist/composite/academic/slider.js +34 -0
- package/dist/composite/academic/slider.js.map +1 -0
- package/dist/composite/academic/slider.mjs +35 -0
- package/dist/composite/academic/slider.mjs.map +1 -0
- package/dist/composite/events/common/data.d.ts +1 -1
- package/dist/composite/events/common/data.d.ts.map +1 -1
- package/dist/composite/events/common/data.js +53 -0
- package/dist/composite/events/common/data.js.map +1 -0
- package/dist/composite/events/common/data.mjs +53 -0
- package/dist/composite/events/common/data.mjs.map +1 -0
- package/dist/composite/events/common/display.d.ts.map +1 -1
- package/dist/composite/events/common/display.js +144 -0
- package/dist/composite/events/common/display.js.map +1 -0
- package/dist/composite/events/common/display.mjs +127 -0
- package/dist/composite/events/common/display.mjs.map +1 -0
- package/dist/composite/events/common/fetch.d.ts.map +1 -1
- package/dist/composite/events/common/fetch.js +105 -0
- package/dist/composite/events/common/fetch.js.map +1 -0
- package/dist/composite/events/common/fetch.mjs +105 -0
- package/dist/composite/events/common/fetch.mjs.map +1 -0
- package/dist/composite/events/common/queries.js +107 -0
- package/dist/composite/events/common/queries.js.map +1 -0
- package/dist/composite/events/common/queries.mjs +107 -0
- package/dist/composite/events/common/queries.mjs.map +1 -0
- package/dist/composite/events/grid.d.ts +2 -2
- package/dist/composite/events/grid.d.ts.map +1 -1
- package/dist/composite/events/grid.js +88 -0
- package/dist/composite/events/grid.js.map +1 -0
- package/dist/composite/events/grid.mjs +89 -0
- package/dist/composite/events/grid.mjs.map +1 -0
- package/dist/composite/events/grouped.d.ts +2 -2
- package/dist/composite/events/grouped.d.ts.map +1 -1
- package/dist/composite/events/grouped.js +221 -0
- package/dist/composite/events/grouped.js.map +1 -0
- package/dist/composite/events/grouped.mjs +205 -0
- package/dist/composite/events/grouped.mjs.map +1 -0
- package/dist/composite/events/list.d.ts +2 -2
- package/dist/composite/events/list.d.ts.map +1 -1
- package/dist/composite/events/list.js +88 -0
- package/dist/composite/events/list.js.map +1 -0
- package/dist/composite/events/list.mjs +89 -0
- package/dist/composite/events/list.mjs.map +1 -0
- package/dist/composite/events/slider.d.ts +2 -2
- package/dist/composite/events/slider.d.ts.map +1 -1
- package/dist/composite/events/slider.js +35 -0
- package/dist/composite/events/slider.js.map +1 -0
- package/dist/composite/events/slider.mjs +36 -0
- package/dist/composite/events/slider.mjs.map +1 -0
- package/dist/composite/news/common/data.d.ts +1 -1
- package/dist/composite/news/common/data.d.ts.map +1 -1
- package/dist/composite/news/common/data.js +62 -0
- package/dist/composite/news/common/data.js.map +1 -0
- package/dist/composite/news/common/data.mjs +62 -0
- package/dist/composite/news/common/data.mjs.map +1 -0
- package/dist/composite/news/common/display.d.ts.map +1 -1
- package/dist/composite/news/common/display.js +145 -0
- package/dist/composite/news/common/display.js.map +1 -0
- package/dist/composite/news/common/display.mjs +128 -0
- package/dist/composite/news/common/display.mjs.map +1 -0
- package/dist/composite/news/common/fetch.d.ts.map +1 -1
- package/dist/composite/news/common/fetch.js +85 -0
- package/dist/composite/news/common/fetch.js.map +1 -0
- package/dist/composite/news/common/fetch.mjs +85 -0
- package/dist/composite/news/common/fetch.mjs.map +1 -0
- package/dist/composite/news/common/queries.js +37 -0
- package/dist/composite/news/common/queries.js.map +1 -0
- package/dist/composite/news/common/queries.mjs +37 -0
- package/dist/composite/news/common/queries.mjs.map +1 -0
- package/dist/composite/news/featured.d.ts +2 -2
- package/dist/composite/news/featured.d.ts.map +1 -1
- package/dist/composite/news/featured.js +180 -0
- package/dist/composite/news/featured.js.map +1 -0
- package/dist/composite/news/featured.mjs +181 -0
- package/dist/composite/news/featured.mjs.map +1 -0
- package/dist/composite/news/grid.d.ts +2 -2
- package/dist/composite/news/grid.d.ts.map +1 -1
- package/dist/composite/news/grid.js +96 -0
- package/dist/composite/news/grid.js.map +1 -0
- package/dist/composite/news/grid.mjs +97 -0
- package/dist/composite/news/grid.mjs.map +1 -0
- package/dist/composite/news/list.d.ts +2 -2
- package/dist/composite/news/list.d.ts.map +1 -1
- package/dist/composite/news/list.js +83 -0
- package/dist/composite/news/list.js.map +1 -0
- package/dist/composite/news/list.mjs +84 -0
- package/dist/composite/news/list.mjs.map +1 -0
- package/dist/elements/asset.d.ts +1 -1
- package/dist/elements/asset.d.ts.map +1 -1
- package/dist/elements/asset.js +27 -0
- package/dist/elements/asset.js.map +1 -0
- package/dist/elements/asset.mjs +27 -0
- package/dist/elements/asset.mjs.map +1 -0
- package/dist/elements/layout.d.ts +1 -1
- package/dist/elements/layout.d.ts.map +1 -1
- package/dist/elements/layout.js +121 -0
- package/dist/elements/layout.js.map +1 -0
- package/dist/elements/layout.mjs +104 -0
- package/dist/elements/layout.mjs.map +1 -0
- package/dist/elements/text.d.ts.map +1 -1
- package/dist/elements/text.js +41 -0
- package/dist/elements/text.js.map +1 -0
- package/dist/elements/text.mjs +41 -0
- package/dist/elements/text.mjs.map +1 -0
- package/dist/events.d.ts +2 -0
- package/dist/events.js +11 -0
- package/dist/events.js.map +1 -0
- package/dist/events.mjs +11 -0
- package/dist/events.mjs.map +1 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +9 -0
- package/dist/index.mjs.map +1 -0
- package/dist/macros/aria-live.js +25 -0
- package/dist/macros/aria-live.js.map +1 -0
- package/dist/macros/aria-live.mjs +26 -0
- package/dist/macros/aria-live.mjs.map +1 -0
- package/dist/macros/lazy-load.js +63 -0
- package/dist/macros/lazy-load.js.map +1 -0
- package/dist/macros/lazy-load.mjs +47 -0
- package/dist/macros/lazy-load.mjs.map +1 -0
- package/dist/macros/loader.js +148 -0
- package/dist/macros/loader.js.map +1 -0
- package/dist/macros/loader.mjs +132 -0
- package/dist/macros/loader.mjs.map +1 -0
- package/dist/macros/no-results.d.ts.map +1 -1
- package/dist/macros/no-results.js +71 -0
- package/dist/macros/no-results.js.map +1 -0
- package/dist/macros/no-results.mjs +55 -0
- package/dist/macros/no-results.mjs.map +1 -0
- package/dist/macros/slider.d.ts.map +1 -1
- package/dist/macros/slider.js +104 -0
- package/dist/macros/slider.js.map +1 -0
- package/dist/macros/slider.mjs +88 -0
- package/dist/macros/slider.mjs.map +1 -0
- package/dist/news.d.ts +2 -0
- package/dist/news.js +9 -0
- package/dist/news.js.map +1 -0
- package/dist/news.mjs +9 -0
- package/dist/news.mjs.map +1 -0
- package/dist/utilities/events/index.d.ts.map +1 -1
- package/dist/utilities/events/index.js +19 -0
- package/dist/utilities/events/index.js.map +1 -0
- package/dist/utilities/events/index.mjs +19 -0
- package/dist/utilities/events/index.mjs.map +1 -0
- package/dist/utilities/network/fetch.d.ts.map +1 -1
- package/package.json +31 -5
- package/dist/composite/academic/__tests__/index.test.d.ts +0 -2
- package/dist/composite/academic/__tests__/index.test.d.ts.map +0 -1
- package/dist/composite/academic/__tests__/slider.test.d.ts +0 -2
- package/dist/composite/academic/__tests__/slider.test.d.ts.map +0 -1
- package/dist/composite/events/__tests__/fetch.test.d.ts +0 -2
- package/dist/composite/events/__tests__/fetch.test.d.ts.map +0 -1
- package/dist/composite/events/__tests__/grid.test.d.ts +0 -2
- package/dist/composite/events/__tests__/grid.test.d.ts.map +0 -1
- package/dist/composite/events/__tests__/grouped.test.d.ts +0 -2
- package/dist/composite/events/__tests__/grouped.test.d.ts.map +0 -1
- package/dist/composite/events/__tests__/list.test.d.ts +0 -2
- package/dist/composite/events/__tests__/list.test.d.ts.map +0 -1
- package/dist/composite/events/__tests__/slider.test.d.ts +0 -2
- package/dist/composite/events/__tests__/slider.test.d.ts.map +0 -1
- package/dist/composite/news/__tests__/featured.test.d.ts +0 -2
- package/dist/composite/news/__tests__/featured.test.d.ts.map +0 -1
- package/dist/composite/news/__tests__/grid.test.d.ts +0 -2
- package/dist/composite/news/__tests__/grid.test.d.ts.map +0 -1
- package/dist/composite/news/__tests__/list.test.d.ts +0 -2
- package/dist/composite/news/__tests__/list.test.d.ts.map +0 -1
- package/dist/elements/__tests__/asset.test.d.ts +0 -2
- package/dist/elements/__tests__/asset.test.d.ts.map +0 -1
- package/dist/elements/__tests__/layout.test.d.ts +0 -2
- package/dist/elements/__tests__/layout.test.d.ts.map +0 -1
- package/dist/elements/__tests__/text.test.d.ts +0 -2
- package/dist/elements/__tests__/text.test.d.ts.map +0 -1
- package/dist/index.js.LICENSE.txt +0 -143
- package/dist/macros/__tests__/aria-live.test.d.ts +0 -2
- package/dist/macros/__tests__/aria-live.test.d.ts.map +0 -1
- package/dist/macros/__tests__/lazy-load.test.d.ts +0 -2
- package/dist/macros/__tests__/lazy-load.test.d.ts.map +0 -1
- package/dist/macros/__tests__/loader.test.d.ts +0 -2
- package/dist/macros/__tests__/loader.test.d.ts.map +0 -1
- package/dist/macros/__tests__/no-results.test.d.ts +0 -2
- package/dist/macros/__tests__/no-results.test.d.ts.map +0 -1
- package/dist/macros/__tests__/slider.test.d.ts +0 -2
- package/dist/macros/__tests__/slider.test.d.ts.map +0 -1
- package/dist/utilities/events/__tests__/events.test.d.ts +0 -2
- package/dist/utilities/events/__tests__/events.test.d.ts.map +0 -1
- package/dist/utilities/network/__tests__/fetch.test.d.ts +0 -2
- package/dist/utilities/network/__tests__/fetch.test.d.ts.map +0 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import * as Styles from "@universityofmaryland/web-styles-library";
|
|
2
|
+
import ariaLive from "../../../macros/aria-live.mjs";
|
|
3
|
+
import lazyLoad from "../../../macros/lazy-load.mjs";
|
|
4
|
+
import loader from "../../../macros/loader.mjs";
|
|
5
|
+
import noResults$1 from "../../../macros/no-results.mjs";
|
|
6
|
+
import "../../../macros/slider.mjs";
|
|
7
|
+
import { load } from "./fetch.mjs";
|
|
8
|
+
import { lazyLoadVariables } from "./data.mjs";
|
|
9
|
+
import { dispatch, eventNames } from "../../../utilities/events/index.mjs";
|
|
10
|
+
const ID_GRID_LAYOUT_CONTAINER = "umd-grid-gap-layout-container";
|
|
11
|
+
const setShadowStyles = async ({
|
|
12
|
+
shadowRoot,
|
|
13
|
+
styles
|
|
14
|
+
}) => {
|
|
15
|
+
const styleElement = document.createElement("style");
|
|
16
|
+
const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(
|
|
17
|
+
styles
|
|
18
|
+
);
|
|
19
|
+
styleElement.textContent = optimizedCss;
|
|
20
|
+
shadowRoot.appendChild(styleElement);
|
|
21
|
+
};
|
|
22
|
+
const noResults = ({
|
|
23
|
+
getContainer,
|
|
24
|
+
getStyles,
|
|
25
|
+
getShadowRoot,
|
|
26
|
+
setStyles,
|
|
27
|
+
message = "No results found",
|
|
28
|
+
linkUrl = "https://today.umd.edu",
|
|
29
|
+
linkText = "View all articles",
|
|
30
|
+
isThemeDark
|
|
31
|
+
}) => {
|
|
32
|
+
const container = getContainer();
|
|
33
|
+
const shadowRoot = getShadowRoot();
|
|
34
|
+
const noResultsContent = noResults$1({
|
|
35
|
+
message,
|
|
36
|
+
linkUrl,
|
|
37
|
+
linkText,
|
|
38
|
+
isThemeDark
|
|
39
|
+
});
|
|
40
|
+
const ariaLiveContent = ariaLive.create({
|
|
41
|
+
message
|
|
42
|
+
});
|
|
43
|
+
container.innerHTML = "";
|
|
44
|
+
container.appendChild(noResultsContent.element);
|
|
45
|
+
container.appendChild(ariaLiveContent);
|
|
46
|
+
setStyles(noResultsContent.styles);
|
|
47
|
+
dispatch(container, eventNames.FEED_ERROR, {
|
|
48
|
+
error: "No results found",
|
|
49
|
+
message
|
|
50
|
+
});
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
const styles = getStyles();
|
|
53
|
+
if (shadowRoot) {
|
|
54
|
+
setShadowStyles({
|
|
55
|
+
shadowRoot,
|
|
56
|
+
styles
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}, 100);
|
|
60
|
+
};
|
|
61
|
+
const resultLoad = async (props) => {
|
|
62
|
+
const { entries, getContainer, setStyles, setOffset } = props;
|
|
63
|
+
const container = getContainer();
|
|
64
|
+
const grid = container.querySelector(
|
|
65
|
+
`#${ID_GRID_LAYOUT_CONTAINER}`
|
|
66
|
+
);
|
|
67
|
+
loader.remove({ container });
|
|
68
|
+
lazyLoad.remove({ container });
|
|
69
|
+
setOffset(entries.length);
|
|
70
|
+
return new Promise((resolve) => {
|
|
71
|
+
entries.forEach((entry) => {
|
|
72
|
+
grid.appendChild(entry.element);
|
|
73
|
+
setStyles(entry.styles);
|
|
74
|
+
});
|
|
75
|
+
const lazyLoadButton = lazyLoad.create(
|
|
76
|
+
lazyLoadVariables({
|
|
77
|
+
...props,
|
|
78
|
+
callback: load
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
if (lazyLoadButton) {
|
|
82
|
+
container.appendChild(lazyLoadButton.element);
|
|
83
|
+
setStyles(lazyLoadButton.styles);
|
|
84
|
+
}
|
|
85
|
+
resolve();
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const resultStart = (props) => {
|
|
89
|
+
const {
|
|
90
|
+
feedData,
|
|
91
|
+
numberOfColumnsToShow = 1,
|
|
92
|
+
numberOfRowsToStart,
|
|
93
|
+
isLazyLoad,
|
|
94
|
+
displayResults,
|
|
95
|
+
getContainer,
|
|
96
|
+
getTotalEntries,
|
|
97
|
+
setTotalEntries,
|
|
98
|
+
setStyles,
|
|
99
|
+
layoutElement
|
|
100
|
+
} = props;
|
|
101
|
+
const container = getContainer();
|
|
102
|
+
const totalEntries = getTotalEntries();
|
|
103
|
+
const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;
|
|
104
|
+
const message = isLazyLoad ? `Showing ${showAmount} of ${totalEntries} articles` : `Showing ${showAmount} articles`;
|
|
105
|
+
if (totalEntries) setTotalEntries(totalEntries);
|
|
106
|
+
layoutElement.element.setAttribute("id", ID_GRID_LAYOUT_CONTAINER);
|
|
107
|
+
container.appendChild(layoutElement.element);
|
|
108
|
+
setStyles(layoutElement.styles);
|
|
109
|
+
dispatch(container, eventNames.FEED_LOADED, {
|
|
110
|
+
items: feedData,
|
|
111
|
+
count: feedData.length,
|
|
112
|
+
total: totalEntries || feedData.length
|
|
113
|
+
});
|
|
114
|
+
displayResults({ feedData });
|
|
115
|
+
container.appendChild(
|
|
116
|
+
ariaLive.create({
|
|
117
|
+
message
|
|
118
|
+
})
|
|
119
|
+
);
|
|
120
|
+
};
|
|
121
|
+
export {
|
|
122
|
+
ID_GRID_LAYOUT_CONTAINER,
|
|
123
|
+
noResults,
|
|
124
|
+
resultLoad,
|
|
125
|
+
resultStart,
|
|
126
|
+
setShadowStyles
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=display.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.mjs","sources":["../../../../source/composite/news/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n message = 'No results found',\n linkUrl = 'https://today.umd.edu',\n linkText = 'View all articles',\n isThemeDark,\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback: feedFetch.load,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setTotalEntries,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["feedMacros.noResults","feedMacros.ariaLive","events.dispatch","events.eventNames","feedMacros.loader","feedMacros.buttonLazyLoad","dataComposed.lazyLoadVariables","feedFetch.load"],"mappings":";;;;;;;;;AAeO,MAAM,2BAA2B;AAEjC,MAAM,kBAAkB,OAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,SAAS,cAAc,OAAO;AACnD,QAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,IACxD;AAAA,EAAA;AAEF,eAAa,cAAc;AAC3B,aAAW,YAAY,YAAY;AACrC;AAEO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AACF,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBA,YAAqB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,QAAM,kBAAkBC,SAAoB,OAAO;AAAA,IACjD;AAAA,EAAA,CACD;AAED,YAAU,YAAY;AAEtB,YAAU,YAAY,iBAAiB,OAAO;AAC9C,YAAU,YAAY,eAAe;AAErC,YAAU,iBAAiB,MAAM;AAEjCC,WAAgB,WAAWC,WAAkB,YAAY;AAAA,IACvD,OAAO;AAAA,IACP;AAAA,EAAA,CACD;AAED,aAAW,MAAM;AACf,UAAM,SAAS,UAAA;AACf,QAAI,YAAY;AACd,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF,GAAG,GAAG;AACR;AAEO,MAAM,aAAa,OAAO,UAA2C;AAC1E,QAAM,EAAE,SAAS,cAAc,WAAW,cAAc;AACxD,QAAM,YAAY,aAAA;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,IAAI,wBAAwB;AAAA,EAAA;AAG9BC,SAAkB,OAAO,EAAE,WAAW;AACtCC,WAA0B,OAAO,EAAE,WAAW;AAC9C,YAAU,QAAQ,MAAM;AAExB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAQ,QAAQ,CAAC,UAAU;AACzB,WAAK,YAAY,MAAM,OAAO;AAC9B,gBAAU,MAAM,MAAM;AAAA,IACxB,CAAC;AAED,UAAM,iBAAiBA,SAA0B;AAAA,MAC/CC,kBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH,UAAUC;AAAAA,MAAU,CACrB;AAAA,IAAA;AAGH,QAAI,gBAAgB;AAClB,gBAAU,YAAY,eAAe,OAAO;AAC5C,gBAAU,eAAe,MAAM;AAAA,IACjC;AAEA,YAAA;AAAA,EACF,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,UAAoC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,gBAAA;AACrB,QAAM,aAAa,yBAAyB,IAAI;AAChD,QAAM,UAAU,aACZ,WAAW,UAAU,OAAO,YAAY,cACxC,WAAW,UAAU;AAEzB,MAAI,8BAA8B,YAAY;AAE9C,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,WAAgB,WAAWC,WAAkB,aAAa;AAAA,IACxD,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB,OAAO,gBAAgB,SAAS;AAAA,EAAA,CACjC;AAED,iBAAe,EAAE,UAAU;AAC3B,YAAU;AAAA,IACRF,SAAoB,OAAO;AAAA,MACzB;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../source/composite/news/common/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;CAAG;AAE/C,UAAU,WAAY,SAAQ,iBAAiB;IAC7C,kBAAkB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9D,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAiDxE,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../source/composite/news/common/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;CAAG;AAE/C,UAAU,WAAY,SAAQ,iBAAiB;IAC7C,kBAAkB,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9D,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAiDxE,eAAO,MAAM,IAAI,GAAU,OAAO,aAAa,kBAqB9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAU,OAAO,WAAW,kBAuB7C,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
4
|
+
const ariaLive = require("../../../macros/aria-live.js");
|
|
5
|
+
const lazyLoad = require("../../../macros/lazy-load.js");
|
|
6
|
+
const loader = require("../../../macros/loader.js");
|
|
7
|
+
require("@universityofmaryland/web-styles-library");
|
|
8
|
+
require("../../../macros/slider.js");
|
|
9
|
+
const queries = require("./queries.js");
|
|
10
|
+
const data = require("./data.js");
|
|
11
|
+
const getEntries = async ({
|
|
12
|
+
limit,
|
|
13
|
+
not,
|
|
14
|
+
offset,
|
|
15
|
+
related,
|
|
16
|
+
relatedToAll,
|
|
17
|
+
token
|
|
18
|
+
}) => {
|
|
19
|
+
if (!token) throw new Error("Token not found");
|
|
20
|
+
const graceFail = ({ message }) => {
|
|
21
|
+
console.error(message);
|
|
22
|
+
};
|
|
23
|
+
const variables = {
|
|
24
|
+
limit,
|
|
25
|
+
related,
|
|
26
|
+
relatedToAll,
|
|
27
|
+
offset,
|
|
28
|
+
not
|
|
29
|
+
};
|
|
30
|
+
const feedData = await webElementsLibrary.Utilities.network.FetchGraphQL({
|
|
31
|
+
query: queries.ARTICLES_QUERY,
|
|
32
|
+
url: "https://today.umd.edu/graphql",
|
|
33
|
+
token,
|
|
34
|
+
variables
|
|
35
|
+
});
|
|
36
|
+
if (!feedData || !feedData.data || !feedData.data.entries || feedData.message) {
|
|
37
|
+
if (!feedData) graceFail({ message: "Feed not found" });
|
|
38
|
+
if (feedData?.message)
|
|
39
|
+
graceFail({ message: `Feed data errors: ${feedData.message}` });
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
entries: feedData.data.entries,
|
|
44
|
+
count: feedData.data.entryCount
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const load = async (props) => {
|
|
48
|
+
const { getContainer, getOffset, displayResults, getTotalEntries } = props;
|
|
49
|
+
const container = getContainer();
|
|
50
|
+
const currentCount = getOffset();
|
|
51
|
+
const totalEntries = getTotalEntries();
|
|
52
|
+
lazyLoad.remove({ container });
|
|
53
|
+
loader.display({ container });
|
|
54
|
+
getEntries(data.apiVariables(props)).then((feedData) => {
|
|
55
|
+
if (feedData) {
|
|
56
|
+
displayResults({ feedData: feedData.entries });
|
|
57
|
+
ariaLive.update({
|
|
58
|
+
container,
|
|
59
|
+
message: `Showing ${currentCount + feedData.entries.length} of ${totalEntries} articles`
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const start = async (props) => {
|
|
65
|
+
const { displayNoResults, displayResultStart, setTotalEntries } = props;
|
|
66
|
+
getEntries(data.apiVariables(props)).then((feedData) => {
|
|
67
|
+
if (!feedData || !feedData.entries) {
|
|
68
|
+
displayNoResults({
|
|
69
|
+
...props,
|
|
70
|
+
message: "An error occurred while fetching the data."
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const totalEntries = feedData.count;
|
|
75
|
+
if (totalEntries === 0) {
|
|
76
|
+
displayNoResults({ ...props });
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
setTotalEntries(totalEntries);
|
|
80
|
+
return displayResultStart({ ...props, feedData: feedData.entries });
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
exports.load = load;
|
|
84
|
+
exports.start = start;
|
|
85
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { Utilities } from '@universityofmaryland/web-elements-library';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await Utilities.network.FetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["Utilities","ARTICLES_QUERY","feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAMA,6BAAU,QAAQ,aAAa;AAAA,IACpD,OAAOC,QAAAA;AAAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBC,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Utilities } from "@universityofmaryland/web-elements-library";
|
|
2
|
+
import ariaLive from "../../../macros/aria-live.mjs";
|
|
3
|
+
import lazyLoad from "../../../macros/lazy-load.mjs";
|
|
4
|
+
import loader from "../../../macros/loader.mjs";
|
|
5
|
+
import "@universityofmaryland/web-styles-library";
|
|
6
|
+
import "../../../macros/slider.mjs";
|
|
7
|
+
import { ARTICLES_QUERY } from "./queries.mjs";
|
|
8
|
+
import { apiVariables } from "./data.mjs";
|
|
9
|
+
const getEntries = async ({
|
|
10
|
+
limit,
|
|
11
|
+
not,
|
|
12
|
+
offset,
|
|
13
|
+
related,
|
|
14
|
+
relatedToAll,
|
|
15
|
+
token
|
|
16
|
+
}) => {
|
|
17
|
+
if (!token) throw new Error("Token not found");
|
|
18
|
+
const graceFail = ({ message }) => {
|
|
19
|
+
console.error(message);
|
|
20
|
+
};
|
|
21
|
+
const variables = {
|
|
22
|
+
limit,
|
|
23
|
+
related,
|
|
24
|
+
relatedToAll,
|
|
25
|
+
offset,
|
|
26
|
+
not
|
|
27
|
+
};
|
|
28
|
+
const feedData = await Utilities.network.FetchGraphQL({
|
|
29
|
+
query: ARTICLES_QUERY,
|
|
30
|
+
url: "https://today.umd.edu/graphql",
|
|
31
|
+
token,
|
|
32
|
+
variables
|
|
33
|
+
});
|
|
34
|
+
if (!feedData || !feedData.data || !feedData.data.entries || feedData.message) {
|
|
35
|
+
if (!feedData) graceFail({ message: "Feed not found" });
|
|
36
|
+
if (feedData?.message)
|
|
37
|
+
graceFail({ message: `Feed data errors: ${feedData.message}` });
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
entries: feedData.data.entries,
|
|
42
|
+
count: feedData.data.entryCount
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const load = async (props) => {
|
|
46
|
+
const { getContainer, getOffset, displayResults, getTotalEntries } = props;
|
|
47
|
+
const container = getContainer();
|
|
48
|
+
const currentCount = getOffset();
|
|
49
|
+
const totalEntries = getTotalEntries();
|
|
50
|
+
lazyLoad.remove({ container });
|
|
51
|
+
loader.display({ container });
|
|
52
|
+
getEntries(apiVariables(props)).then((feedData) => {
|
|
53
|
+
if (feedData) {
|
|
54
|
+
displayResults({ feedData: feedData.entries });
|
|
55
|
+
ariaLive.update({
|
|
56
|
+
container,
|
|
57
|
+
message: `Showing ${currentCount + feedData.entries.length} of ${totalEntries} articles`
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const start = async (props) => {
|
|
63
|
+
const { displayNoResults, displayResultStart, setTotalEntries } = props;
|
|
64
|
+
getEntries(apiVariables(props)).then((feedData) => {
|
|
65
|
+
if (!feedData || !feedData.entries) {
|
|
66
|
+
displayNoResults({
|
|
67
|
+
...props,
|
|
68
|
+
message: "An error occurred while fetching the data."
|
|
69
|
+
});
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const totalEntries = feedData.count;
|
|
73
|
+
if (totalEntries === 0) {
|
|
74
|
+
displayNoResults({ ...props });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
setTotalEntries(totalEntries);
|
|
78
|
+
return displayResultStart({ ...props, feedData: feedData.entries });
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
export {
|
|
82
|
+
load,
|
|
83
|
+
start
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=fetch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.mjs","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { Utilities } from '@universityofmaryland/web-elements-library';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await Utilities.network.FetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAM,UAAU,QAAQ,aAAa;AAAA,IACpD,OAAO;AAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBA,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const ARTICLES_QUERY = `
|
|
4
|
+
query getArticles($related: [QueryArgument], $relatedToAll: [QueryArgument], $limit: Int, $offset: Int, $not: [QueryArgument]) {
|
|
5
|
+
entryCount(section: "articles", relatedTo: $related,relatedToAll: $relatedToAll)
|
|
6
|
+
entries(
|
|
7
|
+
section: "articles",
|
|
8
|
+
relatedTo: $related,
|
|
9
|
+
relatedToAll: $relatedToAll,
|
|
10
|
+
limit: $limit,
|
|
11
|
+
offset: $offset,
|
|
12
|
+
id: $not
|
|
13
|
+
) {
|
|
14
|
+
... on articles_today_Entry {
|
|
15
|
+
id
|
|
16
|
+
title
|
|
17
|
+
date: postDate
|
|
18
|
+
dateFormatted: postDate @formatDateTime(format: "M d, Y")
|
|
19
|
+
summary: genericText
|
|
20
|
+
url
|
|
21
|
+
image:articlesHeroImage {
|
|
22
|
+
url
|
|
23
|
+
... on hero_Asset {
|
|
24
|
+
id
|
|
25
|
+
altText: genericText
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
categories:categoryTodaySectionMultiple {
|
|
29
|
+
title
|
|
30
|
+
url
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
exports.ARTICLES_QUERY = ARTICLES_QUERY;
|
|
37
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sources":["../../../../source/composite/news/common/queries.ts"],"sourcesContent":["export const ARTICLES_QUERY = `\n query getArticles($related: [QueryArgument], $relatedToAll: [QueryArgument], $limit: Int, $offset: Int, $not: [QueryArgument]) {\n entryCount(section: \"articles\", relatedTo: $related,relatedToAll: $relatedToAll)\n entries(\n section: \"articles\",\n relatedTo: $related,\n relatedToAll: $relatedToAll,\n limit: $limit,\n offset: $offset,\n id: $not\n ) {\n ... on articles_today_Entry {\n id\n title\n date: postDate\n dateFormatted: postDate @formatDateTime(format: \"M d, Y\")\n summary: genericText\n url\n image:articlesHeroImage {\n url\n ... on hero_Asset {\n id\n altText: genericText\n }\n }\n categories:categoryTodaySectionMultiple {\n title\n url\n }\n }\n }\n }\n`;\n"],"names":[],"mappings":";;AAAO,MAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const ARTICLES_QUERY = `
|
|
2
|
+
query getArticles($related: [QueryArgument], $relatedToAll: [QueryArgument], $limit: Int, $offset: Int, $not: [QueryArgument]) {
|
|
3
|
+
entryCount(section: "articles", relatedTo: $related,relatedToAll: $relatedToAll)
|
|
4
|
+
entries(
|
|
5
|
+
section: "articles",
|
|
6
|
+
relatedTo: $related,
|
|
7
|
+
relatedToAll: $relatedToAll,
|
|
8
|
+
limit: $limit,
|
|
9
|
+
offset: $offset,
|
|
10
|
+
id: $not
|
|
11
|
+
) {
|
|
12
|
+
... on articles_today_Entry {
|
|
13
|
+
id
|
|
14
|
+
title
|
|
15
|
+
date: postDate
|
|
16
|
+
dateFormatted: postDate @formatDateTime(format: "M d, Y")
|
|
17
|
+
summary: genericText
|
|
18
|
+
url
|
|
19
|
+
image:articlesHeroImage {
|
|
20
|
+
url
|
|
21
|
+
... on hero_Asset {
|
|
22
|
+
id
|
|
23
|
+
altText: genericText
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
categories:categoryTodaySectionMultiple {
|
|
27
|
+
title
|
|
28
|
+
url
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
export {
|
|
35
|
+
ARTICLES_QUERY
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=queries.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.mjs","sources":["../../../../source/composite/news/common/queries.ts"],"sourcesContent":["export const ARTICLES_QUERY = `\n query getArticles($related: [QueryArgument], $relatedToAll: [QueryArgument], $limit: Int, $offset: Int, $not: [QueryArgument]) {\n entryCount(section: \"articles\", relatedTo: $related,relatedToAll: $relatedToAll)\n entries(\n section: \"articles\",\n relatedTo: $related,\n relatedToAll: $relatedToAll,\n limit: $limit,\n offset: $offset,\n id: $not\n ) {\n ... on articles_today_Entry {\n id\n title\n date: postDate\n dateFormatted: postDate @formatDateTime(format: \"M d, Y\")\n summary: genericText\n url\n image:articlesHeroImage {\n url\n ... on hero_Asset {\n id\n altText: genericText\n }\n }\n categories:categoryTodaySectionMultiple {\n title\n url\n }\n }\n }\n }\n`;\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { FeaturedProps } from './_types';
|
|
2
|
+
import { ElementModel } from '../../_types';
|
|
3
3
|
declare const _default: (props: FeaturedProps) => ElementModel;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=featured.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featured.d.ts","sourceRoot":"","sources":["../../../source/composite/news/featured.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"featured.d.ts","sourceRoot":"","sources":["../../../source/composite/news/featured.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAEjC,OAAO,aAAa,KAAG,YAAY;AAAnD,wBAgMO"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
3
|
+
const asset = require("../../elements/asset.js");
|
|
4
|
+
const layout = require("../../elements/layout.js");
|
|
5
|
+
const ariaLive = require("../../macros/aria-live.js");
|
|
6
|
+
require("@universityofmaryland/web-styles-library");
|
|
7
|
+
const loader = require("../../macros/loader.js");
|
|
8
|
+
require("../../macros/slider.js");
|
|
9
|
+
const fetch = require("./common/fetch.js");
|
|
10
|
+
const display = require("./common/display.js");
|
|
11
|
+
const data = require("./common/data.js");
|
|
12
|
+
const featured = (props) => (() => {
|
|
13
|
+
const {
|
|
14
|
+
isThemeDark,
|
|
15
|
+
isLazyLoad,
|
|
16
|
+
isLayoutReversed,
|
|
17
|
+
isTransparent,
|
|
18
|
+
overwriteStickyPosition
|
|
19
|
+
} = props;
|
|
20
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
21
|
+
const container = document.createElement("div");
|
|
22
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
23
|
+
const setOffset = (count) => offset = offset + count;
|
|
24
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
25
|
+
const getContainer = () => container;
|
|
26
|
+
const getTotalEntries = () => totalEntries;
|
|
27
|
+
const getOffset = () => offset;
|
|
28
|
+
const getStyles = () => styles;
|
|
29
|
+
const getShadowRoot = () => shadowRoot;
|
|
30
|
+
let numberOfColumnsToShow = 3;
|
|
31
|
+
let totalEntries = 0;
|
|
32
|
+
let offset = 0;
|
|
33
|
+
let styles = `
|
|
34
|
+
${loader$1.styles}
|
|
35
|
+
`;
|
|
36
|
+
let shadowRoot = null;
|
|
37
|
+
const helperFunctions = {
|
|
38
|
+
setTotalEntries,
|
|
39
|
+
setOffset,
|
|
40
|
+
setStyles,
|
|
41
|
+
getContainer,
|
|
42
|
+
getOffset,
|
|
43
|
+
getTotalEntries,
|
|
44
|
+
getStyles,
|
|
45
|
+
getShadowRoot
|
|
46
|
+
};
|
|
47
|
+
const callback = (shadow) => {
|
|
48
|
+
shadowRoot = shadow;
|
|
49
|
+
};
|
|
50
|
+
const setPosition = (position) => {
|
|
51
|
+
const overlayElement = container.querySelector(
|
|
52
|
+
`.${webElementsLibrary.Composite.card.overlay.imageClassRef}`
|
|
53
|
+
);
|
|
54
|
+
if (overlayElement) overlayElement.style.top = `${position}px`;
|
|
55
|
+
};
|
|
56
|
+
const layoutElement = layout.gridGap({ count: 2 });
|
|
57
|
+
const displayGridOffsetResults = async ({ feedData }) => {
|
|
58
|
+
let entries = [];
|
|
59
|
+
if (feedData.length >= 2) {
|
|
60
|
+
const offsetLayout = layout.gridOffsetGap({
|
|
61
|
+
count: 2,
|
|
62
|
+
isLayoutReversed,
|
|
63
|
+
overwriteStickyPosition
|
|
64
|
+
});
|
|
65
|
+
const firstEntry = feedData[0];
|
|
66
|
+
const overlayCard = webElementsLibrary.Composite.card.overlay.image({
|
|
67
|
+
...data.display({ entry: firstEntry }),
|
|
68
|
+
backgroundImage: asset.standard({
|
|
69
|
+
images: firstEntry.image,
|
|
70
|
+
url: firstEntry.url
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
offsetLayout.element.appendChild(overlayCard.element);
|
|
74
|
+
offsetLayout.element.appendChild(layoutElement.element);
|
|
75
|
+
container.appendChild(offsetLayout.element);
|
|
76
|
+
setStyles(offsetLayout.styles);
|
|
77
|
+
setStyles(overlayCard.styles);
|
|
78
|
+
entries = feedData.slice(1, 3).map(
|
|
79
|
+
(entry) => webElementsLibrary.Composite.card.block({
|
|
80
|
+
...data.display({ entry, isThemeDark }),
|
|
81
|
+
image: asset.standard({
|
|
82
|
+
images: entry.image,
|
|
83
|
+
url: entry.url
|
|
84
|
+
}),
|
|
85
|
+
isAligned: true,
|
|
86
|
+
isTransparent
|
|
87
|
+
})
|
|
88
|
+
);
|
|
89
|
+
} else {
|
|
90
|
+
entries = feedData.map(
|
|
91
|
+
(entry) => webElementsLibrary.Composite.card.overlay.image({
|
|
92
|
+
...data.display({ entry, isThemeDark }),
|
|
93
|
+
backgroundImage: asset.standard({
|
|
94
|
+
images: entry.image,
|
|
95
|
+
url: entry.url
|
|
96
|
+
})
|
|
97
|
+
})
|
|
98
|
+
);
|
|
99
|
+
container.appendChild(layoutElement.element);
|
|
100
|
+
}
|
|
101
|
+
await display.resultLoad({
|
|
102
|
+
...props,
|
|
103
|
+
...helperFunctions,
|
|
104
|
+
numberOfColumnsToShow: 2,
|
|
105
|
+
displayResults,
|
|
106
|
+
entries
|
|
107
|
+
});
|
|
108
|
+
if (shadowRoot) {
|
|
109
|
+
display.setShadowStyles({
|
|
110
|
+
shadowRoot,
|
|
111
|
+
styles
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
const displayResults = async ({ feedData }) => {
|
|
116
|
+
const entries = feedData.map(
|
|
117
|
+
(entry) => webElementsLibrary.Composite.card.block({
|
|
118
|
+
...data.display({ entry, isThemeDark }),
|
|
119
|
+
image: asset.standard({
|
|
120
|
+
images: entry.image,
|
|
121
|
+
url: entry.url
|
|
122
|
+
}),
|
|
123
|
+
isAligned: true,
|
|
124
|
+
isTransparent
|
|
125
|
+
})
|
|
126
|
+
);
|
|
127
|
+
await display.resultLoad({
|
|
128
|
+
...props,
|
|
129
|
+
...helperFunctions,
|
|
130
|
+
numberOfColumnsToShow: 2,
|
|
131
|
+
displayResults,
|
|
132
|
+
entries
|
|
133
|
+
});
|
|
134
|
+
if (shadowRoot) {
|
|
135
|
+
display.setShadowStyles({
|
|
136
|
+
shadowRoot,
|
|
137
|
+
styles
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
const resultStart = (props2) => {
|
|
142
|
+
const { feedData, setOffset: setOffset2, getOffset: getOffset2 } = props2;
|
|
143
|
+
const totalEntries2 = getTotalEntries();
|
|
144
|
+
const showAmount = 3;
|
|
145
|
+
const message = isLazyLoad ? `Showing ${showAmount} of ${totalEntries2} articles` : `Showing ${showAmount} articles`;
|
|
146
|
+
setOffset2(getOffset2() + 1);
|
|
147
|
+
if (totalEntries2) setTotalEntries(totalEntries2);
|
|
148
|
+
layoutElement.element.setAttribute(
|
|
149
|
+
"id",
|
|
150
|
+
display.ID_GRID_LAYOUT_CONTAINER
|
|
151
|
+
);
|
|
152
|
+
setStyles(layoutElement.styles);
|
|
153
|
+
displayGridOffsetResults({ feedData });
|
|
154
|
+
container.appendChild(
|
|
155
|
+
ariaLive.create({
|
|
156
|
+
message
|
|
157
|
+
})
|
|
158
|
+
);
|
|
159
|
+
};
|
|
160
|
+
container.appendChild(loader$1.element);
|
|
161
|
+
fetch.start({
|
|
162
|
+
...props,
|
|
163
|
+
...helperFunctions,
|
|
164
|
+
numberOfColumnsToShow,
|
|
165
|
+
displayResults,
|
|
166
|
+
displayResultStart: resultStart,
|
|
167
|
+
displayNoResults: display.noResults,
|
|
168
|
+
layoutElement
|
|
169
|
+
});
|
|
170
|
+
return {
|
|
171
|
+
element: container,
|
|
172
|
+
styles,
|
|
173
|
+
events: {
|
|
174
|
+
callback,
|
|
175
|
+
setPosition
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
})();
|
|
179
|
+
module.exports = featured;
|
|
180
|
+
//# sourceMappingURL=featured.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featured.js","sources":["../../../source/composite/news/featured.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport {\n type DisplayStartResultsProps,\n type FeaturedProps,\n type FeedDisplay,\n} from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: FeaturedProps): ElementModel =>\n (() => {\n const {\n isThemeDark,\n isLazyLoad,\n isLayoutReversed,\n isTransparent,\n overwriteStickyPosition,\n } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let numberOfColumnsToShow = 3;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n const setPosition = (position: number) => {\n const overlayElement = container.querySelector(\n `.${Composite.card.overlay.imageClassRef}`,\n ) as HTMLElement;\n if (overlayElement) overlayElement.style.top = `${position}px`;\n };\n\n const layoutElement = feedElements.layout.gridGap({ count: 2 });\n\n const displayGridOffsetResults = async ({ feedData }: FeedDisplay) => {\n let entries = [];\n\n if (feedData.length >= 2) {\n const offsetLayout = feedElements.layout.gridOffsetGap({\n count: 2,\n isLayoutReversed,\n overwriteStickyPosition,\n });\n const firstEntry = feedData[0];\n const overlayCard = Composite.card.overlay.image({\n ...dataComposed.display({ entry: firstEntry }),\n backgroundImage: feedElements.asset.standard({\n images: firstEntry.image,\n url: firstEntry.url,\n }),\n });\n\n offsetLayout.element.appendChild(overlayCard.element);\n offsetLayout.element.appendChild(layoutElement.element);\n container.appendChild(offsetLayout.element);\n setStyles(offsetLayout.styles);\n setStyles(overlayCard.styles);\n\n entries = feedData.slice(1, 3).map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n } else {\n entries = feedData.map((entry) =>\n Composite.card.overlay.image({\n ...dataComposed.display({ entry, isThemeDark }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n }),\n );\n\n container.appendChild(layoutElement.element);\n }\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const resultStart = (props: DisplayStartResultsProps) => {\n const { feedData, setOffset, getOffset } = props;\n const totalEntries = getTotalEntries();\n const showAmount = 3;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n setOffset(getOffset() + 1);\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute(\n 'id',\n feedDisplay.ID_GRID_LAYOUT_CONTAINER,\n );\n\n setStyles(layoutElement.styles);\n\n displayGridOffsetResults({ feedData });\n\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow,\n displayResults,\n displayResultStart: resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n setPosition,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","feedElements.layout.gridGap","feedElements.layout.gridOffsetGap","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","props","setOffset","getOffset","totalEntries","feedDisplay.ID_GRID_LAYOUT_CONTAINER","feedMacros.ariaLive","feedFetch.start","feedDisplay.noResults"],"mappings":"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"}
|