@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,181 @@
|
|
|
1
|
+
import { Composite } from "@universityofmaryland/web-elements-library";
|
|
2
|
+
import { standard } from "../../elements/asset.mjs";
|
|
3
|
+
import { gridGap, gridOffsetGap } from "../../elements/layout.mjs";
|
|
4
|
+
import ariaLive from "../../macros/aria-live.mjs";
|
|
5
|
+
import "@universityofmaryland/web-styles-library";
|
|
6
|
+
import loader from "../../macros/loader.mjs";
|
|
7
|
+
import "../../macros/slider.mjs";
|
|
8
|
+
import { start } from "./common/fetch.mjs";
|
|
9
|
+
import { noResults, ID_GRID_LAYOUT_CONTAINER, resultLoad, setShadowStyles } from "./common/display.mjs";
|
|
10
|
+
import { display } from "./common/data.mjs";
|
|
11
|
+
const featured = (props) => (() => {
|
|
12
|
+
const {
|
|
13
|
+
isThemeDark,
|
|
14
|
+
isLazyLoad,
|
|
15
|
+
isLayoutReversed,
|
|
16
|
+
isTransparent,
|
|
17
|
+
overwriteStickyPosition
|
|
18
|
+
} = props;
|
|
19
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
20
|
+
const container = document.createElement("div");
|
|
21
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
22
|
+
const setOffset = (count) => offset = offset + count;
|
|
23
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
24
|
+
const getContainer = () => container;
|
|
25
|
+
const getTotalEntries = () => totalEntries;
|
|
26
|
+
const getOffset = () => offset;
|
|
27
|
+
const getStyles = () => styles;
|
|
28
|
+
const getShadowRoot = () => shadowRoot;
|
|
29
|
+
let numberOfColumnsToShow = 3;
|
|
30
|
+
let totalEntries = 0;
|
|
31
|
+
let offset = 0;
|
|
32
|
+
let styles = `
|
|
33
|
+
${loader$1.styles}
|
|
34
|
+
`;
|
|
35
|
+
let shadowRoot = null;
|
|
36
|
+
const helperFunctions = {
|
|
37
|
+
setTotalEntries,
|
|
38
|
+
setOffset,
|
|
39
|
+
setStyles,
|
|
40
|
+
getContainer,
|
|
41
|
+
getOffset,
|
|
42
|
+
getTotalEntries,
|
|
43
|
+
getStyles,
|
|
44
|
+
getShadowRoot
|
|
45
|
+
};
|
|
46
|
+
const callback = (shadow) => {
|
|
47
|
+
shadowRoot = shadow;
|
|
48
|
+
};
|
|
49
|
+
const setPosition = (position) => {
|
|
50
|
+
const overlayElement = container.querySelector(
|
|
51
|
+
`.${Composite.card.overlay.imageClassRef}`
|
|
52
|
+
);
|
|
53
|
+
if (overlayElement) overlayElement.style.top = `${position}px`;
|
|
54
|
+
};
|
|
55
|
+
const layoutElement = gridGap({ count: 2 });
|
|
56
|
+
const displayGridOffsetResults = async ({ feedData }) => {
|
|
57
|
+
let entries = [];
|
|
58
|
+
if (feedData.length >= 2) {
|
|
59
|
+
const offsetLayout = gridOffsetGap({
|
|
60
|
+
count: 2,
|
|
61
|
+
isLayoutReversed,
|
|
62
|
+
overwriteStickyPosition
|
|
63
|
+
});
|
|
64
|
+
const firstEntry = feedData[0];
|
|
65
|
+
const overlayCard = Composite.card.overlay.image({
|
|
66
|
+
...display({ entry: firstEntry }),
|
|
67
|
+
backgroundImage: standard({
|
|
68
|
+
images: firstEntry.image,
|
|
69
|
+
url: firstEntry.url
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
offsetLayout.element.appendChild(overlayCard.element);
|
|
73
|
+
offsetLayout.element.appendChild(layoutElement.element);
|
|
74
|
+
container.appendChild(offsetLayout.element);
|
|
75
|
+
setStyles(offsetLayout.styles);
|
|
76
|
+
setStyles(overlayCard.styles);
|
|
77
|
+
entries = feedData.slice(1, 3).map(
|
|
78
|
+
(entry) => Composite.card.block({
|
|
79
|
+
...display({ entry, isThemeDark }),
|
|
80
|
+
image: standard({
|
|
81
|
+
images: entry.image,
|
|
82
|
+
url: entry.url
|
|
83
|
+
}),
|
|
84
|
+
isAligned: true,
|
|
85
|
+
isTransparent
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
} else {
|
|
89
|
+
entries = feedData.map(
|
|
90
|
+
(entry) => Composite.card.overlay.image({
|
|
91
|
+
...display({ entry, isThemeDark }),
|
|
92
|
+
backgroundImage: standard({
|
|
93
|
+
images: entry.image,
|
|
94
|
+
url: entry.url
|
|
95
|
+
})
|
|
96
|
+
})
|
|
97
|
+
);
|
|
98
|
+
container.appendChild(layoutElement.element);
|
|
99
|
+
}
|
|
100
|
+
await resultLoad({
|
|
101
|
+
...props,
|
|
102
|
+
...helperFunctions,
|
|
103
|
+
numberOfColumnsToShow: 2,
|
|
104
|
+
displayResults,
|
|
105
|
+
entries
|
|
106
|
+
});
|
|
107
|
+
if (shadowRoot) {
|
|
108
|
+
setShadowStyles({
|
|
109
|
+
shadowRoot,
|
|
110
|
+
styles
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const displayResults = async ({ feedData }) => {
|
|
115
|
+
const entries = feedData.map(
|
|
116
|
+
(entry) => Composite.card.block({
|
|
117
|
+
...display({ entry, isThemeDark }),
|
|
118
|
+
image: standard({
|
|
119
|
+
images: entry.image,
|
|
120
|
+
url: entry.url
|
|
121
|
+
}),
|
|
122
|
+
isAligned: true,
|
|
123
|
+
isTransparent
|
|
124
|
+
})
|
|
125
|
+
);
|
|
126
|
+
await resultLoad({
|
|
127
|
+
...props,
|
|
128
|
+
...helperFunctions,
|
|
129
|
+
numberOfColumnsToShow: 2,
|
|
130
|
+
displayResults,
|
|
131
|
+
entries
|
|
132
|
+
});
|
|
133
|
+
if (shadowRoot) {
|
|
134
|
+
setShadowStyles({
|
|
135
|
+
shadowRoot,
|
|
136
|
+
styles
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const resultStart = (props2) => {
|
|
141
|
+
const { feedData, setOffset: setOffset2, getOffset: getOffset2 } = props2;
|
|
142
|
+
const totalEntries2 = getTotalEntries();
|
|
143
|
+
const showAmount = 3;
|
|
144
|
+
const message = isLazyLoad ? `Showing ${showAmount} of ${totalEntries2} articles` : `Showing ${showAmount} articles`;
|
|
145
|
+
setOffset2(getOffset2() + 1);
|
|
146
|
+
if (totalEntries2) setTotalEntries(totalEntries2);
|
|
147
|
+
layoutElement.element.setAttribute(
|
|
148
|
+
"id",
|
|
149
|
+
ID_GRID_LAYOUT_CONTAINER
|
|
150
|
+
);
|
|
151
|
+
setStyles(layoutElement.styles);
|
|
152
|
+
displayGridOffsetResults({ feedData });
|
|
153
|
+
container.appendChild(
|
|
154
|
+
ariaLive.create({
|
|
155
|
+
message
|
|
156
|
+
})
|
|
157
|
+
);
|
|
158
|
+
};
|
|
159
|
+
container.appendChild(loader$1.element);
|
|
160
|
+
start({
|
|
161
|
+
...props,
|
|
162
|
+
...helperFunctions,
|
|
163
|
+
numberOfColumnsToShow,
|
|
164
|
+
displayResults,
|
|
165
|
+
displayResultStart: resultStart,
|
|
166
|
+
displayNoResults: noResults,
|
|
167
|
+
layoutElement
|
|
168
|
+
});
|
|
169
|
+
return {
|
|
170
|
+
element: container,
|
|
171
|
+
styles,
|
|
172
|
+
events: {
|
|
173
|
+
callback,
|
|
174
|
+
setPosition
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
})();
|
|
178
|
+
export {
|
|
179
|
+
featured as default
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=featured.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featured.mjs","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","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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BlockProps } from './_types';
|
|
2
|
+
import { ElementModel } from '../../_types';
|
|
3
3
|
declare const _default: (props: BlockProps) => ElementModel;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../source/composite/news/grid.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../source/composite/news/grid.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAEjC,OAAO,UAAU,KAAG,YAAY;AAAhD,wBAiGO"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
3
|
+
const asset = require("../../elements/asset.js");
|
|
4
|
+
const layout = require("../../elements/layout.js");
|
|
5
|
+
require("@universityofmaryland/web-styles-library");
|
|
6
|
+
const loader = require("../../macros/loader.js");
|
|
7
|
+
require("../../macros/slider.js");
|
|
8
|
+
const fetch = require("./common/fetch.js");
|
|
9
|
+
const display = require("./common/display.js");
|
|
10
|
+
const data = require("./common/data.js");
|
|
11
|
+
const grid = (props) => (() => {
|
|
12
|
+
const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } = props;
|
|
13
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
14
|
+
const container = document.createElement("div");
|
|
15
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
16
|
+
const setOffset = (count) => offset = offset + count;
|
|
17
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
18
|
+
const getContainer = () => container;
|
|
19
|
+
const getTotalEntries = () => totalEntries;
|
|
20
|
+
const getOffset = () => offset;
|
|
21
|
+
const getStyles = () => styles;
|
|
22
|
+
const getShadowRoot = () => shadowRoot;
|
|
23
|
+
let totalEntries = 0;
|
|
24
|
+
let offset = 0;
|
|
25
|
+
let styles = `
|
|
26
|
+
${loader$1.styles}
|
|
27
|
+
`;
|
|
28
|
+
let shadowRoot = null;
|
|
29
|
+
const helperFunctions = {
|
|
30
|
+
setTotalEntries,
|
|
31
|
+
setOffset,
|
|
32
|
+
setStyles,
|
|
33
|
+
getContainer,
|
|
34
|
+
getOffset,
|
|
35
|
+
getTotalEntries,
|
|
36
|
+
getStyles,
|
|
37
|
+
getShadowRoot
|
|
38
|
+
};
|
|
39
|
+
const callback = (shadow) => {
|
|
40
|
+
shadowRoot = shadow;
|
|
41
|
+
};
|
|
42
|
+
const displayResults = async ({ feedData }) => {
|
|
43
|
+
const entries = feedData.map((entry) => {
|
|
44
|
+
if (isTypeOverlay) {
|
|
45
|
+
return webElementsLibrary.Composite.card.overlay.image({
|
|
46
|
+
...data.display({ entry }),
|
|
47
|
+
backgroundImage: asset.standard({
|
|
48
|
+
images: entry.image,
|
|
49
|
+
url: entry.url
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return webElementsLibrary.Composite.card.block({
|
|
54
|
+
...data.display({ entry, isThemeDark }),
|
|
55
|
+
image: asset.standard({
|
|
56
|
+
images: entry.image,
|
|
57
|
+
url: entry.url
|
|
58
|
+
}),
|
|
59
|
+
isAligned: true,
|
|
60
|
+
isTransparent
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
await display.resultLoad({
|
|
64
|
+
...props,
|
|
65
|
+
...helperFunctions,
|
|
66
|
+
displayResults,
|
|
67
|
+
entries
|
|
68
|
+
});
|
|
69
|
+
if (shadowRoot) {
|
|
70
|
+
display.setShadowStyles({
|
|
71
|
+
shadowRoot,
|
|
72
|
+
styles
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const layoutElement = isTypeOverlay ? layout.grid({ count: numberOfColumnsToShow }) : layout.gridGap({ count: numberOfColumnsToShow });
|
|
77
|
+
container.appendChild(loader$1.element);
|
|
78
|
+
fetch.start({
|
|
79
|
+
...props,
|
|
80
|
+
...helperFunctions,
|
|
81
|
+
displayResults,
|
|
82
|
+
displayResultStart: display.resultStart,
|
|
83
|
+
displayNoResults: display.noResults,
|
|
84
|
+
layoutElement,
|
|
85
|
+
isThemeDark
|
|
86
|
+
});
|
|
87
|
+
return {
|
|
88
|
+
element: container,
|
|
89
|
+
styles,
|
|
90
|
+
events: {
|
|
91
|
+
callback
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
})();
|
|
95
|
+
module.exports = grid;
|
|
96
|
+
//# sourceMappingURL=grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../../source/composite/news/grid.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 { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\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 totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return 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 displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAOE,6BAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGC,KAAAA,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,MAAAA,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAOF,mBAAAA,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,MAAAA,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAAA,KAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,OAAAA,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYR,SAAO,OAAO;AAEpCS,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Composite } from "@universityofmaryland/web-elements-library";
|
|
2
|
+
import { standard } from "../../elements/asset.mjs";
|
|
3
|
+
import { grid as grid$1, gridGap } from "../../elements/layout.mjs";
|
|
4
|
+
import "@universityofmaryland/web-styles-library";
|
|
5
|
+
import loader from "../../macros/loader.mjs";
|
|
6
|
+
import "../../macros/slider.mjs";
|
|
7
|
+
import { start } from "./common/fetch.mjs";
|
|
8
|
+
import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
|
|
9
|
+
import { display } from "./common/data.mjs";
|
|
10
|
+
const grid = (props) => (() => {
|
|
11
|
+
const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } = props;
|
|
12
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
13
|
+
const container = document.createElement("div");
|
|
14
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
15
|
+
const setOffset = (count) => offset = offset + count;
|
|
16
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
17
|
+
const getContainer = () => container;
|
|
18
|
+
const getTotalEntries = () => totalEntries;
|
|
19
|
+
const getOffset = () => offset;
|
|
20
|
+
const getStyles = () => styles;
|
|
21
|
+
const getShadowRoot = () => shadowRoot;
|
|
22
|
+
let totalEntries = 0;
|
|
23
|
+
let offset = 0;
|
|
24
|
+
let styles = `
|
|
25
|
+
${loader$1.styles}
|
|
26
|
+
`;
|
|
27
|
+
let shadowRoot = null;
|
|
28
|
+
const helperFunctions = {
|
|
29
|
+
setTotalEntries,
|
|
30
|
+
setOffset,
|
|
31
|
+
setStyles,
|
|
32
|
+
getContainer,
|
|
33
|
+
getOffset,
|
|
34
|
+
getTotalEntries,
|
|
35
|
+
getStyles,
|
|
36
|
+
getShadowRoot
|
|
37
|
+
};
|
|
38
|
+
const callback = (shadow) => {
|
|
39
|
+
shadowRoot = shadow;
|
|
40
|
+
};
|
|
41
|
+
const displayResults = async ({ feedData }) => {
|
|
42
|
+
const entries = feedData.map((entry) => {
|
|
43
|
+
if (isTypeOverlay) {
|
|
44
|
+
return Composite.card.overlay.image({
|
|
45
|
+
...display({ entry }),
|
|
46
|
+
backgroundImage: standard({
|
|
47
|
+
images: entry.image,
|
|
48
|
+
url: entry.url
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return Composite.card.block({
|
|
53
|
+
...display({ entry, isThemeDark }),
|
|
54
|
+
image: standard({
|
|
55
|
+
images: entry.image,
|
|
56
|
+
url: entry.url
|
|
57
|
+
}),
|
|
58
|
+
isAligned: true,
|
|
59
|
+
isTransparent
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
await resultLoad({
|
|
63
|
+
...props,
|
|
64
|
+
...helperFunctions,
|
|
65
|
+
displayResults,
|
|
66
|
+
entries
|
|
67
|
+
});
|
|
68
|
+
if (shadowRoot) {
|
|
69
|
+
setShadowStyles({
|
|
70
|
+
shadowRoot,
|
|
71
|
+
styles
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const layoutElement = isTypeOverlay ? grid$1({ count: numberOfColumnsToShow }) : gridGap({ count: numberOfColumnsToShow });
|
|
76
|
+
container.appendChild(loader$1.element);
|
|
77
|
+
start({
|
|
78
|
+
...props,
|
|
79
|
+
...helperFunctions,
|
|
80
|
+
displayResults,
|
|
81
|
+
displayResultStart: resultStart,
|
|
82
|
+
displayNoResults: noResults,
|
|
83
|
+
layoutElement,
|
|
84
|
+
isThemeDark
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
element: container,
|
|
88
|
+
styles,
|
|
89
|
+
events: {
|
|
90
|
+
callback
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
})();
|
|
94
|
+
export {
|
|
95
|
+
grid as default
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=grid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.mjs","sources":["../../../source/composite/news/grid.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 { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\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 totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return 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 displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAO,UAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGE,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAO,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGD,QAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYP,SAAO,OAAO;AAEpCQ,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ListProps } from './_types';
|
|
2
|
+
import { ElementModel } from '../../_types';
|
|
3
3
|
declare const _default: (props: ListProps) => ElementModel;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../source/composite/news/list.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../source/composite/news/list.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBAEjC,OAAO,SAAS,KAAG,YAAY;AAA/C,wBA8EO"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
3
|
+
const asset = require("../../elements/asset.js");
|
|
4
|
+
const layout = require("../../elements/layout.js");
|
|
5
|
+
require("@universityofmaryland/web-styles-library");
|
|
6
|
+
const loader = require("../../macros/loader.js");
|
|
7
|
+
require("../../macros/slider.js");
|
|
8
|
+
const fetch = require("./common/fetch.js");
|
|
9
|
+
const display = require("./common/display.js");
|
|
10
|
+
const data = require("./common/data.js");
|
|
11
|
+
const list = (props) => (() => {
|
|
12
|
+
const { isThemeDark } = props;
|
|
13
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
14
|
+
const container = document.createElement("div");
|
|
15
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
16
|
+
const setOffset = (count) => offset = offset + count;
|
|
17
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
18
|
+
const getContainer = () => container;
|
|
19
|
+
const getTotalEntries = () => totalEntries;
|
|
20
|
+
const getOffset = () => offset;
|
|
21
|
+
const getStyles = () => styles;
|
|
22
|
+
const getShadowRoot = () => shadowRoot;
|
|
23
|
+
let totalEntries = 0;
|
|
24
|
+
let offset = 0;
|
|
25
|
+
let styles = `
|
|
26
|
+
${loader$1.styles}
|
|
27
|
+
`;
|
|
28
|
+
let shadowRoot = null;
|
|
29
|
+
const helperFunctions = {
|
|
30
|
+
setTotalEntries,
|
|
31
|
+
setOffset,
|
|
32
|
+
setStyles,
|
|
33
|
+
getContainer,
|
|
34
|
+
getOffset,
|
|
35
|
+
getTotalEntries,
|
|
36
|
+
getStyles,
|
|
37
|
+
getShadowRoot
|
|
38
|
+
};
|
|
39
|
+
const callback = (shadow) => {
|
|
40
|
+
shadowRoot = shadow;
|
|
41
|
+
};
|
|
42
|
+
const displayResults = async ({ feedData }) => {
|
|
43
|
+
await display.resultLoad({
|
|
44
|
+
...props,
|
|
45
|
+
...helperFunctions,
|
|
46
|
+
displayResults,
|
|
47
|
+
entries: feedData.map(
|
|
48
|
+
(entry) => webElementsLibrary.Composite.card.list({
|
|
49
|
+
...data.display({ entry, isThemeDark }),
|
|
50
|
+
image: asset.standard({
|
|
51
|
+
images: entry.image,
|
|
52
|
+
url: entry.url
|
|
53
|
+
}),
|
|
54
|
+
isAligned: false
|
|
55
|
+
})
|
|
56
|
+
)
|
|
57
|
+
});
|
|
58
|
+
if (shadowRoot) {
|
|
59
|
+
display.setShadowStyles({
|
|
60
|
+
shadowRoot,
|
|
61
|
+
styles
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
container.appendChild(loader$1.element);
|
|
66
|
+
fetch.start({
|
|
67
|
+
...props,
|
|
68
|
+
...helperFunctions,
|
|
69
|
+
displayResults,
|
|
70
|
+
displayResultStart: display.resultStart,
|
|
71
|
+
displayNoResults: display.noResults,
|
|
72
|
+
layoutElement: layout.stacked(isThemeDark)
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
element: container,
|
|
76
|
+
styles,
|
|
77
|
+
events: {
|
|
78
|
+
callback
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
})();
|
|
82
|
+
module.exports = list;
|
|
83
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../source/composite/news/list.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 { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrBC,mBAAAA,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYN,SAAO,OAAO;AAEpCO,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB,eAAeC,OAAAA,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Composite } from "@universityofmaryland/web-elements-library";
|
|
2
|
+
import { standard } from "../../elements/asset.mjs";
|
|
3
|
+
import { stacked } from "../../elements/layout.mjs";
|
|
4
|
+
import "@universityofmaryland/web-styles-library";
|
|
5
|
+
import loader from "../../macros/loader.mjs";
|
|
6
|
+
import "../../macros/slider.mjs";
|
|
7
|
+
import { start } from "./common/fetch.mjs";
|
|
8
|
+
import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
|
|
9
|
+
import { display } from "./common/data.mjs";
|
|
10
|
+
const list = (props) => (() => {
|
|
11
|
+
const { isThemeDark } = props;
|
|
12
|
+
const loader$1 = loader.create({ isThemeDark });
|
|
13
|
+
const container = document.createElement("div");
|
|
14
|
+
const setTotalEntries = (count) => totalEntries = count;
|
|
15
|
+
const setOffset = (count) => offset = offset + count;
|
|
16
|
+
const setStyles = (additonalStyles) => styles += additonalStyles;
|
|
17
|
+
const getContainer = () => container;
|
|
18
|
+
const getTotalEntries = () => totalEntries;
|
|
19
|
+
const getOffset = () => offset;
|
|
20
|
+
const getStyles = () => styles;
|
|
21
|
+
const getShadowRoot = () => shadowRoot;
|
|
22
|
+
let totalEntries = 0;
|
|
23
|
+
let offset = 0;
|
|
24
|
+
let styles = `
|
|
25
|
+
${loader$1.styles}
|
|
26
|
+
`;
|
|
27
|
+
let shadowRoot = null;
|
|
28
|
+
const helperFunctions = {
|
|
29
|
+
setTotalEntries,
|
|
30
|
+
setOffset,
|
|
31
|
+
setStyles,
|
|
32
|
+
getContainer,
|
|
33
|
+
getOffset,
|
|
34
|
+
getTotalEntries,
|
|
35
|
+
getStyles,
|
|
36
|
+
getShadowRoot
|
|
37
|
+
};
|
|
38
|
+
const callback = (shadow) => {
|
|
39
|
+
shadowRoot = shadow;
|
|
40
|
+
};
|
|
41
|
+
const displayResults = async ({ feedData }) => {
|
|
42
|
+
await resultLoad({
|
|
43
|
+
...props,
|
|
44
|
+
...helperFunctions,
|
|
45
|
+
displayResults,
|
|
46
|
+
entries: feedData.map(
|
|
47
|
+
(entry) => Composite.card.list({
|
|
48
|
+
...display({ entry, isThemeDark }),
|
|
49
|
+
image: standard({
|
|
50
|
+
images: entry.image,
|
|
51
|
+
url: entry.url
|
|
52
|
+
}),
|
|
53
|
+
isAligned: false
|
|
54
|
+
})
|
|
55
|
+
)
|
|
56
|
+
});
|
|
57
|
+
if (shadowRoot) {
|
|
58
|
+
setShadowStyles({
|
|
59
|
+
shadowRoot,
|
|
60
|
+
styles
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
container.appendChild(loader$1.element);
|
|
65
|
+
start({
|
|
66
|
+
...props,
|
|
67
|
+
...helperFunctions,
|
|
68
|
+
displayResults,
|
|
69
|
+
displayResultStart: resultStart,
|
|
70
|
+
displayNoResults: noResults,
|
|
71
|
+
layoutElement: stacked(isThemeDark)
|
|
72
|
+
});
|
|
73
|
+
return {
|
|
74
|
+
element: container,
|
|
75
|
+
styles,
|
|
76
|
+
events: {
|
|
77
|
+
callback
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
})();
|
|
81
|
+
export {
|
|
82
|
+
list as default
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=list.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.mjs","sources":["../../../source/composite/news/list.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 { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrB,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,QAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYL,SAAO,OAAO;AAEpCM,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB,eAAeC,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
|
package/dist/elements/asset.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../source/elements/asset.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,EAAE,CAAC;AAEJ,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../source/elements/asset.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,EAAE,CAAC;AAEJ,eAAO,MAAM,QAAQ,GAAI,kBAGtB;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,qDAuBA,CAAC"}
|