@universityofmaryland/web-feeds-library 1.0.9 → 1.1.1
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.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.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
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# University of Maryland Feeds Library
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@universityofmaryland/web-feeds-library)
|
|
4
4
|
|
|
5
5
|
Dynamic content feed components for displaying University of Maryland news, events, and academic information with automatic updates, caching, and brand-compliant styling.
|
|
6
6
|
|
package/dist/academic.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"academic.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"academic.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { AcademicSliderProps } from './_types';
|
|
2
|
+
import { ElementModel } from '../../_types';
|
|
3
3
|
declare const _default: (props: AcademicSliderProps) => ElementModel;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/composite/academic/slider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/composite/academic/slider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBA2BjC,OAAO,mBAAmB,KAAG,YAAY;AAAzD,wBAKK"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
require("@universityofmaryland/web-styles-library");
|
|
3
|
+
require("@universityofmaryland/web-elements-library");
|
|
4
|
+
const slider$1 = require("../../macros/slider.js");
|
|
5
|
+
const QUERY_DATA = `
|
|
6
|
+
title
|
|
7
|
+
url
|
|
8
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
9
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
10
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
11
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
12
|
+
`;
|
|
13
|
+
const query = `
|
|
14
|
+
query getEvents($startDate: String!, $related: [QueryArgument]) {
|
|
15
|
+
entries: solspace_calendar {
|
|
16
|
+
events(
|
|
17
|
+
relatedTo: $related
|
|
18
|
+
loadOccurrences: true
|
|
19
|
+
startsAfterOrAt: $startDate
|
|
20
|
+
limit: 12
|
|
21
|
+
calendarId: [4, 2]
|
|
22
|
+
) {
|
|
23
|
+
${QUERY_DATA}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
const slider = (props) => slider$1({
|
|
29
|
+
...props,
|
|
30
|
+
query,
|
|
31
|
+
url: "https://provost.umd.edu/graphql"
|
|
32
|
+
});
|
|
33
|
+
module.exports = slider;
|
|
34
|
+
//# sourceMappingURL=slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":";;;;AAIA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASnB,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUJ,UAAU;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "@universityofmaryland/web-styles-library";
|
|
2
|
+
import "@universityofmaryland/web-elements-library";
|
|
3
|
+
import slider$1 from "../../macros/slider.mjs";
|
|
4
|
+
const QUERY_DATA = `
|
|
5
|
+
title
|
|
6
|
+
url
|
|
7
|
+
startMonth: startDate @formatDateTime(format: "M")
|
|
8
|
+
startDay: startDate @formatDateTime(format: "d")
|
|
9
|
+
endMonth: endDate @formatDateTime(format: "M")
|
|
10
|
+
endDay: endDate @formatDateTime(format: "d")
|
|
11
|
+
`;
|
|
12
|
+
const query = `
|
|
13
|
+
query getEvents($startDate: String!, $related: [QueryArgument]) {
|
|
14
|
+
entries: solspace_calendar {
|
|
15
|
+
events(
|
|
16
|
+
relatedTo: $related
|
|
17
|
+
loadOccurrences: true
|
|
18
|
+
startsAfterOrAt: $startDate
|
|
19
|
+
limit: 12
|
|
20
|
+
calendarId: [4, 2]
|
|
21
|
+
) {
|
|
22
|
+
${QUERY_DATA}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
const slider = (props) => slider$1({
|
|
28
|
+
...props,
|
|
29
|
+
query,
|
|
30
|
+
url: "https://provost.umd.edu/graphql"
|
|
31
|
+
});
|
|
32
|
+
export {
|
|
33
|
+
slider as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=slider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.mjs","sources":["../../../source/composite/academic/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type AcademicSliderProps } from './_types';\nimport { type ElementModel } from '../../_types';\n\nconst QUERY_DATA = `\n title\n url\n startMonth: startDate @formatDateTime(format: \"M\")\n startDay: startDate @formatDateTime(format: \"d\")\n endMonth: endDate @formatDateTime(format: \"M\")\n endDay: endDate @formatDateTime(format: \"d\")\n`;\n\nconst query = `\n query getEvents($startDate: String!, $related: [QueryArgument]) {\n entries: solspace_calendar {\n events(\n relatedTo: $related\n loadOccurrences: true\n startsAfterOrAt: $startDate\n limit: 12\n calendarId: [4, 2]\n ) {\n ${QUERY_DATA}\n }\n }\n }\n`;\n\nexport default (props: AcademicSliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://provost.umd.edu/graphql',\n });\n"],"names":["feedMacros.slider"],"mappings":";;;AAIA,MAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASnB,MAAM,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUJ,UAAU;AAAA;AAAA;AAAA;AAAA;AAMpB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as feedFetch from './fetch';
|
|
2
1
|
import { CommonProps, DisplayStartProps, DisplayProps, EventType, FeedDisplay } from '../_types';
|
|
2
|
+
import * as feedFetch from './fetch';
|
|
3
3
|
interface LazyLoadProps extends DisplayProps {
|
|
4
4
|
callback: (props: DisplayStartProps) => Promise<void>;
|
|
5
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,YAAa,SAAQ,WAAW;CAAG;AAE7C,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/data.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB,UAAU,aAAc,SAAQ,YAAY;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,UAAU,YAAa,SAAQ,WAAW;CAAG;AAE7C,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;CAMpD,CAAC;AAEH,eAAO,MAAM,YAAY,GACvB,OAAO,YAAY,KAClB,SAAS,CAAC,oBAuBZ,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,yBAGrB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;;;;;;;;;CAWC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const webElementsLibrary = require("@universityofmaryland/web-elements-library");
|
|
4
|
+
require("@universityofmaryland/web-styles-library");
|
|
5
|
+
const text = require("../../../elements/text.js");
|
|
6
|
+
const fetch = require("./fetch.js");
|
|
7
|
+
const lazyLoadVariables = (props) => ({
|
|
8
|
+
...props,
|
|
9
|
+
totalEntries: props.getTotalEntries(),
|
|
10
|
+
offset: props.getOffset(),
|
|
11
|
+
container: props.getContainer(),
|
|
12
|
+
callback: () => fetch.load(props)
|
|
13
|
+
});
|
|
14
|
+
const apiVariables = (props) => {
|
|
15
|
+
const {
|
|
16
|
+
categories,
|
|
17
|
+
getOffset,
|
|
18
|
+
token,
|
|
19
|
+
numberOfRowsToStart,
|
|
20
|
+
numberOfColumnsToShow = 1
|
|
21
|
+
} = props;
|
|
22
|
+
const obj = {
|
|
23
|
+
offset: getOffset(),
|
|
24
|
+
token,
|
|
25
|
+
limit: numberOfRowsToStart
|
|
26
|
+
};
|
|
27
|
+
if (numberOfColumnsToShow) {
|
|
28
|
+
obj.limit = numberOfColumnsToShow * numberOfRowsToStart;
|
|
29
|
+
}
|
|
30
|
+
if (categories) {
|
|
31
|
+
obj.related = categories;
|
|
32
|
+
}
|
|
33
|
+
return obj;
|
|
34
|
+
};
|
|
35
|
+
const display = ({
|
|
36
|
+
entry,
|
|
37
|
+
isThemeDark
|
|
38
|
+
}) => ({
|
|
39
|
+
headline: text.headline({
|
|
40
|
+
text: entry.title,
|
|
41
|
+
url: entry.url
|
|
42
|
+
}),
|
|
43
|
+
text: text.summary({ text: entry.summary }),
|
|
44
|
+
eventMeta: webElementsLibrary.Atomic.events.meta({
|
|
45
|
+
...entry,
|
|
46
|
+
isThemeDark
|
|
47
|
+
}),
|
|
48
|
+
isThemeDark
|
|
49
|
+
});
|
|
50
|
+
exports.apiVariables = apiVariables;
|
|
51
|
+
exports.display = display;
|
|
52
|
+
exports.lazyLoadVariables = lazyLoadVariables;
|
|
53
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary","Atomic"],"mappings":";;;;;;AAiBO,MAAM,oBAAoB,CAAC,WAA0B;AAAA,EAC1D,GAAG;AAAA,EACH,cAAc,MAAM,gBAAA;AAAA,EACpB,QAAQ,MAAM,UAAA;AAAA,EACd,WAAW,MAAM,aAAA;AAAA,EACjB,UAAU,MAAMA,MAAAA,KAAe,KAAK;AACtC;AAEO,MAAM,eAAe,CAC1B,UACmC;AACnC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,wBAAwB;AAAA,EAAA,IACtB;AACJ,QAAM,MAAsC;AAAA,IAC1C,QAAQ,UAAA;AAAA,IACR;AAAA,IACA,OAAO;AAAA,EAAA;AAGT,MAAI,uBAAuB;AACzB,QAAI,QAAQ,wBAAwB;AAAA,EACtC;AAEA,MAAI,YAAY;AACd,QAAI,UAAU;AAAA,EAChB;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,UAAUC,KAAAA,SAA2B;AAAA,IACnC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,EAAA,CACZ;AAAA,EACD,MAAMC,KAAAA,QAA0B,EAAE,MAAM,MAAM,SAAS;AAAA,EACvD,WAAWC,mBAAAA,OAAO,OAAO,KAAK;AAAA,IAC5B,GAAG;AAAA,IACH;AAAA,EAAA,CACD;AAAA,EACD;AACF;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Atomic } from "@universityofmaryland/web-elements-library";
|
|
2
|
+
import "@universityofmaryland/web-styles-library";
|
|
3
|
+
import { summary, headline } from "../../../elements/text.mjs";
|
|
4
|
+
import { load } from "./fetch.mjs";
|
|
5
|
+
const lazyLoadVariables = (props) => ({
|
|
6
|
+
...props,
|
|
7
|
+
totalEntries: props.getTotalEntries(),
|
|
8
|
+
offset: props.getOffset(),
|
|
9
|
+
container: props.getContainer(),
|
|
10
|
+
callback: () => load(props)
|
|
11
|
+
});
|
|
12
|
+
const apiVariables = (props) => {
|
|
13
|
+
const {
|
|
14
|
+
categories,
|
|
15
|
+
getOffset,
|
|
16
|
+
token,
|
|
17
|
+
numberOfRowsToStart,
|
|
18
|
+
numberOfColumnsToShow = 1
|
|
19
|
+
} = props;
|
|
20
|
+
const obj = {
|
|
21
|
+
offset: getOffset(),
|
|
22
|
+
token,
|
|
23
|
+
limit: numberOfRowsToStart
|
|
24
|
+
};
|
|
25
|
+
if (numberOfColumnsToShow) {
|
|
26
|
+
obj.limit = numberOfColumnsToShow * numberOfRowsToStart;
|
|
27
|
+
}
|
|
28
|
+
if (categories) {
|
|
29
|
+
obj.related = categories;
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
};
|
|
33
|
+
const display = ({
|
|
34
|
+
entry,
|
|
35
|
+
isThemeDark
|
|
36
|
+
}) => ({
|
|
37
|
+
headline: headline({
|
|
38
|
+
text: entry.title,
|
|
39
|
+
url: entry.url
|
|
40
|
+
}),
|
|
41
|
+
text: summary({ text: entry.summary }),
|
|
42
|
+
eventMeta: Atomic.events.meta({
|
|
43
|
+
...entry,
|
|
44
|
+
isThemeDark
|
|
45
|
+
}),
|
|
46
|
+
isThemeDark
|
|
47
|
+
});
|
|
48
|
+
export {
|
|
49
|
+
apiVariables,
|
|
50
|
+
display,
|
|
51
|
+
lazyLoadVariables
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.mjs","sources":["../../../../source/composite/events/common/data.ts"],"sourcesContent":["import { Atomic } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EventType,\n FeedDisplay,\n} from '../_types';\n\ninterface LazyLoadProps extends DisplayProps {\n callback: (props: DisplayStartProps) => Promise<void>;\n}\n\ninterface DataApiProps extends CommonProps {}\n\nexport const lazyLoadVariables = (props: LazyLoadProps) => ({\n ...props,\n totalEntries: props.getTotalEntries(),\n offset: props.getOffset(),\n container: props.getContainer(),\n callback: () => feedFetch.load(props),\n});\n\nexport const apiVariables = (\n props: DataApiProps,\n): feedFetch.TypeAPIFeedVariables => {\n const {\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n } = props;\n const obj: feedFetch.TypeAPIFeedVariables = {\n offset: getOffset(),\n token,\n limit: numberOfRowsToStart,\n };\n\n if (numberOfColumnsToShow) {\n obj.limit = numberOfColumnsToShow * numberOfRowsToStart;\n }\n\n if (categories) {\n obj.related = categories;\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EventType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n eventMeta: Atomic.events.meta({\n ...entry,\n isThemeDark,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary"],"mappings":";;;;AAiBO,MAAM,oBAAoB,CAAC,WAA0B;AAAA,EAC1D,GAAG;AAAA,EACH,cAAc,MAAM,gBAAA;AAAA,EACpB,QAAQ,MAAM,UAAA;AAAA,EACd,WAAW,MAAM,aAAA;AAAA,EACjB,UAAU,MAAMA,KAAe,KAAK;AACtC;AAEO,MAAM,eAAe,CAC1B,UACmC;AACnC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,wBAAwB;AAAA,EAAA,IACtB;AACJ,QAAM,MAAsC;AAAA,IAC1C,QAAQ,UAAA;AAAA,IACR;AAAA,IACA,OAAO;AAAA,EAAA;AAGT,MAAI,uBAAuB;AACzB,QAAI,QAAQ,wBAAwB;AAAA,EACtC;AAEA,MAAI,YAAY;AACd,QAAI,UAAU;AAAA,EAChB;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,UAAUC,SAA2B;AAAA,IACnC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,EAAA,CACZ;AAAA,EACD,MAAMC,QAA0B,EAAE,MAAM,MAAM,SAAS;AAAA,EACvD,WAAW,OAAO,OAAO,KAAK;AAAA,IAC5B,GAAG;AAAA,IACH;AAAA,EAAA,CACD;AAAA,EACD;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/display.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/common/display.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrD;AAED,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,eAAO,MAAM,eAAe,GAAU,yBAGnC;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,kBAOA,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,iGASvB,cAAc,SAiChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,OAAO,gBAAgB,KAAG,OAAO,CAAC,IAAI,CA+BtE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,wBAAwB,SAqC1D,CAAC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const Styles = require("@universityofmaryland/web-styles-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
|
+
const noResults$1 = require("../../../macros/no-results.js");
|
|
8
|
+
require("../../../macros/slider.js");
|
|
9
|
+
const fetch = require("./fetch.js");
|
|
10
|
+
const data = require("./data.js");
|
|
11
|
+
const index = require("../../../utilities/events/index.js");
|
|
12
|
+
function _interopNamespaceDefault(e) {
|
|
13
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
14
|
+
if (e) {
|
|
15
|
+
for (const k in e) {
|
|
16
|
+
if (k !== "default") {
|
|
17
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: () => e[k]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
|
|
29
|
+
const ID_GRID_LAYOUT_CONTAINER = "umd-grid-gap-layout-container";
|
|
30
|
+
const setShadowStyles = async ({
|
|
31
|
+
shadowRoot,
|
|
32
|
+
styles
|
|
33
|
+
}) => {
|
|
34
|
+
const styleElement = document.createElement("style");
|
|
35
|
+
const optimizedCss = await Styles__namespace.utilities.transform.css.removeDuplicates(
|
|
36
|
+
styles
|
|
37
|
+
);
|
|
38
|
+
styleElement.textContent = optimizedCss;
|
|
39
|
+
shadowRoot.appendChild(styleElement);
|
|
40
|
+
};
|
|
41
|
+
const noResults = ({
|
|
42
|
+
getContainer,
|
|
43
|
+
getStyles,
|
|
44
|
+
getShadowRoot,
|
|
45
|
+
setStyles,
|
|
46
|
+
isThemeDark,
|
|
47
|
+
message = "No events found",
|
|
48
|
+
linkUrl = "https://calendar.umd.edu",
|
|
49
|
+
linkText = "View all events"
|
|
50
|
+
}) => {
|
|
51
|
+
const container = getContainer();
|
|
52
|
+
const shadowRoot = getShadowRoot();
|
|
53
|
+
const noResultsContent = noResults$1({
|
|
54
|
+
message,
|
|
55
|
+
linkUrl,
|
|
56
|
+
linkText,
|
|
57
|
+
isThemeDark
|
|
58
|
+
});
|
|
59
|
+
const ariaLiveContent = ariaLive.create({
|
|
60
|
+
message
|
|
61
|
+
});
|
|
62
|
+
container.innerHTML = "";
|
|
63
|
+
container.appendChild(noResultsContent.element);
|
|
64
|
+
container.appendChild(ariaLiveContent);
|
|
65
|
+
setStyles(noResultsContent.styles);
|
|
66
|
+
index.dispatch(container, index.eventNames.FEED_ERROR, {
|
|
67
|
+
error: "No results found",
|
|
68
|
+
message
|
|
69
|
+
});
|
|
70
|
+
setTimeout(() => {
|
|
71
|
+
const styles = getStyles();
|
|
72
|
+
if (shadowRoot) {
|
|
73
|
+
setShadowStyles({
|
|
74
|
+
shadowRoot,
|
|
75
|
+
styles
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}, 100);
|
|
79
|
+
};
|
|
80
|
+
const resultLoad = async (props) => {
|
|
81
|
+
const { entries, getContainer, setStyles, setOffset } = props;
|
|
82
|
+
const container = getContainer();
|
|
83
|
+
const grid = container.querySelector(
|
|
84
|
+
`#${ID_GRID_LAYOUT_CONTAINER}`
|
|
85
|
+
);
|
|
86
|
+
loader.remove({ container });
|
|
87
|
+
lazyLoad.remove({ container });
|
|
88
|
+
setOffset(entries.length);
|
|
89
|
+
return new Promise((resolve) => {
|
|
90
|
+
entries.forEach((entry) => {
|
|
91
|
+
grid.appendChild(entry.element);
|
|
92
|
+
setStyles(entry.styles);
|
|
93
|
+
});
|
|
94
|
+
const lazyLoadButton = lazyLoad.create(
|
|
95
|
+
data.lazyLoadVariables({
|
|
96
|
+
...props,
|
|
97
|
+
callback: fetch.load
|
|
98
|
+
})
|
|
99
|
+
);
|
|
100
|
+
if (lazyLoadButton) {
|
|
101
|
+
container.appendChild(lazyLoadButton.element);
|
|
102
|
+
setStyles(lazyLoadButton.styles);
|
|
103
|
+
}
|
|
104
|
+
resolve();
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
const resultStart = (props) => {
|
|
108
|
+
const {
|
|
109
|
+
feedData,
|
|
110
|
+
numberOfColumnsToShow = 1,
|
|
111
|
+
numberOfRowsToStart,
|
|
112
|
+
isLazyLoad,
|
|
113
|
+
displayResults,
|
|
114
|
+
getContainer,
|
|
115
|
+
getTotalEntries,
|
|
116
|
+
setOffset,
|
|
117
|
+
setStyles,
|
|
118
|
+
layoutElement
|
|
119
|
+
} = props;
|
|
120
|
+
const container = getContainer();
|
|
121
|
+
const totalEntries = getTotalEntries();
|
|
122
|
+
const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;
|
|
123
|
+
const message = isLazyLoad ? `Showing ${showAmount} of ${totalEntries} articles` : `Showing ${showAmount} articles`;
|
|
124
|
+
layoutElement.element.setAttribute("id", ID_GRID_LAYOUT_CONTAINER);
|
|
125
|
+
container.appendChild(layoutElement.element);
|
|
126
|
+
setStyles(layoutElement.styles);
|
|
127
|
+
index.dispatch(container, index.eventNames.FEED_LOADED, {
|
|
128
|
+
items: feedData,
|
|
129
|
+
count: feedData.length,
|
|
130
|
+
total: totalEntries || feedData.length
|
|
131
|
+
});
|
|
132
|
+
displayResults({ feedData });
|
|
133
|
+
container.appendChild(
|
|
134
|
+
ariaLive.create({
|
|
135
|
+
message
|
|
136
|
+
})
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
exports.ID_GRID_LAYOUT_CONTAINER = ID_GRID_LAYOUT_CONTAINER;
|
|
140
|
+
exports.noResults = noResults;
|
|
141
|
+
exports.resultLoad = resultLoad;
|
|
142
|
+
exports.resultStart = resultStart;
|
|
143
|
+
exports.setShadowStyles = setShadowStyles;
|
|
144
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sources":["../../../../source/composite/events/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 isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\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 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 setOffset,\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 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":["Styles","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,MAAMA,kBAAO,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;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBC,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;AACrC,YAAU,iBAAiB,MAAM;AAEjCC,iBAAgB,WAAWC,MAAAA,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,uBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH,UAAUC,MAAAA;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,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,iBAAgB,WAAWC,MAAAA,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;;;;;;"}
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
isThemeDark,
|
|
28
|
+
message = "No events found",
|
|
29
|
+
linkUrl = "https://calendar.umd.edu",
|
|
30
|
+
linkText = "View all events"
|
|
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
|
+
setOffset,
|
|
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
|
+
layoutElement.element.setAttribute("id", ID_GRID_LAYOUT_CONTAINER);
|
|
106
|
+
container.appendChild(layoutElement.element);
|
|
107
|
+
setStyles(layoutElement.styles);
|
|
108
|
+
dispatch(container, eventNames.FEED_LOADED, {
|
|
109
|
+
items: feedData,
|
|
110
|
+
count: feedData.length,
|
|
111
|
+
total: totalEntries || feedData.length
|
|
112
|
+
});
|
|
113
|
+
displayResults({ feedData });
|
|
114
|
+
container.appendChild(
|
|
115
|
+
ariaLive.create({
|
|
116
|
+
message
|
|
117
|
+
})
|
|
118
|
+
);
|
|
119
|
+
};
|
|
120
|
+
export {
|
|
121
|
+
ID_GRID_LAYOUT_CONTAINER,
|
|
122
|
+
noResults,
|
|
123
|
+
resultLoad,
|
|
124
|
+
resultStart,
|
|
125
|
+
setShadowStyles
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=display.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.mjs","sources":["../../../../source/composite/events/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 isThemeDark,\n message = 'No events found',\n linkUrl = 'https://calendar.umd.edu',\n linkText = 'View all events',\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 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 setOffset,\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 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;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb,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;AACrC,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,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/events/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,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAyEF,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../source/composite/events/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,eAAO,MAAM,wBAAwB,kCAAkC,CAAC;AAExE,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAyEF,eAAO,MAAM,IAAI,GAAU,OAAO,aAAa,kBAqB9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAU,OAAO,WAAW,kBA2B7C,CAAC"}
|