@universityofmaryland/web-feeds-library 1.0.9 → 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.
Files changed (193) hide show
  1. package/README.md +1 -1
  2. package/dist/academic.d.ts +2 -0
  3. package/dist/academic.js +5 -0
  4. package/dist/academic.js.map +1 -0
  5. package/dist/academic.mjs +5 -0
  6. package/dist/academic.mjs.map +1 -0
  7. package/dist/composite/academic/slider.d.ts +2 -2
  8. package/dist/composite/academic/slider.d.ts.map +1 -1
  9. package/dist/composite/academic/slider.js +34 -0
  10. package/dist/composite/academic/slider.js.map +1 -0
  11. package/dist/composite/academic/slider.mjs +35 -0
  12. package/dist/composite/academic/slider.mjs.map +1 -0
  13. package/dist/composite/events/common/data.d.ts +1 -1
  14. package/dist/composite/events/common/data.d.ts.map +1 -1
  15. package/dist/composite/events/common/data.js +53 -0
  16. package/dist/composite/events/common/data.js.map +1 -0
  17. package/dist/composite/events/common/data.mjs +53 -0
  18. package/dist/composite/events/common/data.mjs.map +1 -0
  19. package/dist/composite/events/common/display.d.ts.map +1 -1
  20. package/dist/composite/events/common/display.js +144 -0
  21. package/dist/composite/events/common/display.js.map +1 -0
  22. package/dist/composite/events/common/display.mjs +127 -0
  23. package/dist/composite/events/common/display.mjs.map +1 -0
  24. package/dist/composite/events/common/fetch.d.ts.map +1 -1
  25. package/dist/composite/events/common/fetch.js +105 -0
  26. package/dist/composite/events/common/fetch.js.map +1 -0
  27. package/dist/composite/events/common/fetch.mjs +105 -0
  28. package/dist/composite/events/common/fetch.mjs.map +1 -0
  29. package/dist/composite/events/common/queries.js +107 -0
  30. package/dist/composite/events/common/queries.js.map +1 -0
  31. package/dist/composite/events/common/queries.mjs +107 -0
  32. package/dist/composite/events/common/queries.mjs.map +1 -0
  33. package/dist/composite/events/grid.d.ts +2 -2
  34. package/dist/composite/events/grid.d.ts.map +1 -1
  35. package/dist/composite/events/grid.js +88 -0
  36. package/dist/composite/events/grid.js.map +1 -0
  37. package/dist/composite/events/grid.mjs +89 -0
  38. package/dist/composite/events/grid.mjs.map +1 -0
  39. package/dist/composite/events/grouped.d.ts +2 -2
  40. package/dist/composite/events/grouped.d.ts.map +1 -1
  41. package/dist/composite/events/grouped.js +221 -0
  42. package/dist/composite/events/grouped.js.map +1 -0
  43. package/dist/composite/events/grouped.mjs +205 -0
  44. package/dist/composite/events/grouped.mjs.map +1 -0
  45. package/dist/composite/events/list.d.ts +2 -2
  46. package/dist/composite/events/list.d.ts.map +1 -1
  47. package/dist/composite/events/list.js +88 -0
  48. package/dist/composite/events/list.js.map +1 -0
  49. package/dist/composite/events/list.mjs +89 -0
  50. package/dist/composite/events/list.mjs.map +1 -0
  51. package/dist/composite/events/slider.d.ts +2 -2
  52. package/dist/composite/events/slider.d.ts.map +1 -1
  53. package/dist/composite/events/slider.js +35 -0
  54. package/dist/composite/events/slider.js.map +1 -0
  55. package/dist/composite/events/slider.mjs +36 -0
  56. package/dist/composite/events/slider.mjs.map +1 -0
  57. package/dist/composite/news/common/data.d.ts +1 -1
  58. package/dist/composite/news/common/data.d.ts.map +1 -1
  59. package/dist/composite/news/common/data.js +62 -0
  60. package/dist/composite/news/common/data.js.map +1 -0
  61. package/dist/composite/news/common/data.mjs +62 -0
  62. package/dist/composite/news/common/data.mjs.map +1 -0
  63. package/dist/composite/news/common/display.d.ts.map +1 -1
  64. package/dist/composite/news/common/display.js +145 -0
  65. package/dist/composite/news/common/display.js.map +1 -0
  66. package/dist/composite/news/common/display.mjs +128 -0
  67. package/dist/composite/news/common/display.mjs.map +1 -0
  68. package/dist/composite/news/common/fetch.d.ts.map +1 -1
  69. package/dist/composite/news/common/fetch.js +85 -0
  70. package/dist/composite/news/common/fetch.js.map +1 -0
  71. package/dist/composite/news/common/fetch.mjs +85 -0
  72. package/dist/composite/news/common/fetch.mjs.map +1 -0
  73. package/dist/composite/news/common/queries.js +37 -0
  74. package/dist/composite/news/common/queries.js.map +1 -0
  75. package/dist/composite/news/common/queries.mjs +37 -0
  76. package/dist/composite/news/common/queries.mjs.map +1 -0
  77. package/dist/composite/news/featured.d.ts +2 -2
  78. package/dist/composite/news/featured.d.ts.map +1 -1
  79. package/dist/composite/news/featured.js +180 -0
  80. package/dist/composite/news/featured.js.map +1 -0
  81. package/dist/composite/news/featured.mjs +181 -0
  82. package/dist/composite/news/featured.mjs.map +1 -0
  83. package/dist/composite/news/grid.d.ts +2 -2
  84. package/dist/composite/news/grid.d.ts.map +1 -1
  85. package/dist/composite/news/grid.js +96 -0
  86. package/dist/composite/news/grid.js.map +1 -0
  87. package/dist/composite/news/grid.mjs +97 -0
  88. package/dist/composite/news/grid.mjs.map +1 -0
  89. package/dist/composite/news/list.d.ts +2 -2
  90. package/dist/composite/news/list.d.ts.map +1 -1
  91. package/dist/composite/news/list.js +83 -0
  92. package/dist/composite/news/list.js.map +1 -0
  93. package/dist/composite/news/list.mjs +84 -0
  94. package/dist/composite/news/list.mjs.map +1 -0
  95. package/dist/elements/asset.d.ts.map +1 -1
  96. package/dist/elements/asset.js +27 -0
  97. package/dist/elements/asset.js.map +1 -0
  98. package/dist/elements/asset.mjs +27 -0
  99. package/dist/elements/asset.mjs.map +1 -0
  100. package/dist/elements/layout.d.ts.map +1 -1
  101. package/dist/elements/layout.js +121 -0
  102. package/dist/elements/layout.js.map +1 -0
  103. package/dist/elements/layout.mjs +104 -0
  104. package/dist/elements/layout.mjs.map +1 -0
  105. package/dist/elements/text.d.ts.map +1 -1
  106. package/dist/elements/text.js +41 -0
  107. package/dist/elements/text.js.map +1 -0
  108. package/dist/elements/text.mjs +41 -0
  109. package/dist/elements/text.mjs.map +1 -0
  110. package/dist/events.d.ts +2 -0
  111. package/dist/events.js +11 -0
  112. package/dist/events.js.map +1 -0
  113. package/dist/events.mjs +11 -0
  114. package/dist/events.mjs.map +1 -0
  115. package/dist/index.js +9 -1
  116. package/dist/index.js.map +1 -0
  117. package/dist/index.mjs +9 -0
  118. package/dist/index.mjs.map +1 -0
  119. package/dist/macros/aria-live.js +25 -0
  120. package/dist/macros/aria-live.js.map +1 -0
  121. package/dist/macros/aria-live.mjs +26 -0
  122. package/dist/macros/aria-live.mjs.map +1 -0
  123. package/dist/macros/lazy-load.js +63 -0
  124. package/dist/macros/lazy-load.js.map +1 -0
  125. package/dist/macros/lazy-load.mjs +47 -0
  126. package/dist/macros/lazy-load.mjs.map +1 -0
  127. package/dist/macros/loader.js +148 -0
  128. package/dist/macros/loader.js.map +1 -0
  129. package/dist/macros/loader.mjs +132 -0
  130. package/dist/macros/loader.mjs.map +1 -0
  131. package/dist/macros/no-results.d.ts.map +1 -1
  132. package/dist/macros/no-results.js +71 -0
  133. package/dist/macros/no-results.js.map +1 -0
  134. package/dist/macros/no-results.mjs +55 -0
  135. package/dist/macros/no-results.mjs.map +1 -0
  136. package/dist/macros/slider.d.ts.map +1 -1
  137. package/dist/macros/slider.js +104 -0
  138. package/dist/macros/slider.js.map +1 -0
  139. package/dist/macros/slider.mjs +88 -0
  140. package/dist/macros/slider.mjs.map +1 -0
  141. package/dist/news.d.ts +2 -0
  142. package/dist/news.js +9 -0
  143. package/dist/news.js.map +1 -0
  144. package/dist/news.mjs +9 -0
  145. package/dist/news.mjs.map +1 -0
  146. package/dist/utilities/events/index.d.ts.map +1 -1
  147. package/dist/utilities/events/index.js +19 -0
  148. package/dist/utilities/events/index.js.map +1 -0
  149. package/dist/utilities/events/index.mjs +19 -0
  150. package/dist/utilities/events/index.mjs.map +1 -0
  151. package/dist/utilities/network/fetch.d.ts.map +1 -1
  152. package/package.json +31 -5
  153. package/dist/composite/academic/__tests__/index.test.d.ts +0 -2
  154. package/dist/composite/academic/__tests__/index.test.d.ts.map +0 -1
  155. package/dist/composite/academic/__tests__/slider.test.d.ts +0 -2
  156. package/dist/composite/academic/__tests__/slider.test.d.ts.map +0 -1
  157. package/dist/composite/events/__tests__/fetch.test.d.ts +0 -2
  158. package/dist/composite/events/__tests__/fetch.test.d.ts.map +0 -1
  159. package/dist/composite/events/__tests__/grid.test.d.ts +0 -2
  160. package/dist/composite/events/__tests__/grid.test.d.ts.map +0 -1
  161. package/dist/composite/events/__tests__/grouped.test.d.ts +0 -2
  162. package/dist/composite/events/__tests__/grouped.test.d.ts.map +0 -1
  163. package/dist/composite/events/__tests__/list.test.d.ts +0 -2
  164. package/dist/composite/events/__tests__/list.test.d.ts.map +0 -1
  165. package/dist/composite/events/__tests__/slider.test.d.ts +0 -2
  166. package/dist/composite/events/__tests__/slider.test.d.ts.map +0 -1
  167. package/dist/composite/news/__tests__/featured.test.d.ts +0 -2
  168. package/dist/composite/news/__tests__/featured.test.d.ts.map +0 -1
  169. package/dist/composite/news/__tests__/grid.test.d.ts +0 -2
  170. package/dist/composite/news/__tests__/grid.test.d.ts.map +0 -1
  171. package/dist/composite/news/__tests__/list.test.d.ts +0 -2
  172. package/dist/composite/news/__tests__/list.test.d.ts.map +0 -1
  173. package/dist/elements/__tests__/asset.test.d.ts +0 -2
  174. package/dist/elements/__tests__/asset.test.d.ts.map +0 -1
  175. package/dist/elements/__tests__/layout.test.d.ts +0 -2
  176. package/dist/elements/__tests__/layout.test.d.ts.map +0 -1
  177. package/dist/elements/__tests__/text.test.d.ts +0 -2
  178. package/dist/elements/__tests__/text.test.d.ts.map +0 -1
  179. package/dist/index.js.LICENSE.txt +0 -143
  180. package/dist/macros/__tests__/aria-live.test.d.ts +0 -2
  181. package/dist/macros/__tests__/aria-live.test.d.ts.map +0 -1
  182. package/dist/macros/__tests__/lazy-load.test.d.ts +0 -2
  183. package/dist/macros/__tests__/lazy-load.test.d.ts.map +0 -1
  184. package/dist/macros/__tests__/loader.test.d.ts +0 -2
  185. package/dist/macros/__tests__/loader.test.d.ts.map +0 -1
  186. package/dist/macros/__tests__/no-results.test.d.ts +0 -2
  187. package/dist/macros/__tests__/no-results.test.d.ts.map +0 -1
  188. package/dist/macros/__tests__/slider.test.d.ts +0 -2
  189. package/dist/macros/__tests__/slider.test.d.ts.map +0 -1
  190. package/dist/utilities/events/__tests__/events.test.d.ts +0 -2
  191. package/dist/utilities/events/__tests__/events.test.d.ts.map +0 -1
  192. package/dist/utilities/network/__tests__/fetch.test.d.ts +0 -2
  193. package/dist/utilities/network/__tests__/fetch.test.d.ts.map +0 -1
@@ -0,0 +1,88 @@
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
+ dateSign: webElementsLibrary.Atomic.events.sign({
51
+ ...entry,
52
+ isThemeDark,
53
+ isLargeSize: true
54
+ }),
55
+ image: asset.standard({
56
+ images: entry.image,
57
+ url: entry.url
58
+ }),
59
+ isAligned: false
60
+ })
61
+ )
62
+ });
63
+ if (shadowRoot) {
64
+ display.setShadowStyles({
65
+ shadowRoot,
66
+ styles
67
+ });
68
+ }
69
+ };
70
+ container.appendChild(loader$1.element);
71
+ fetch.start({
72
+ ...props,
73
+ ...helperFunctions,
74
+ displayResults,
75
+ displayResultStart: display.resultStart,
76
+ displayNoResults: display.noResults,
77
+ layoutElement: layout.stacked(isThemeDark)
78
+ });
79
+ return {
80
+ element: container,
81
+ styles,
82
+ events: {
83
+ callback
84
+ }
85
+ };
86
+ })();
87
+ module.exports = list;
88
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sources":["../../../source/composite/events/list.ts"],"sourcesContent":["import { Atomic, 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 dateSign: Atomic.events.sign({\n ...entry,\n isThemeDark,\n isLargeSize: true,\n }),\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","Atomic","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,UAAUC,mBAAAA,OAAO,OAAO,KAAK;AAAA,YAC3B,GAAG;AAAA,YACH;AAAA,YACA,aAAa;AAAA,UAAA,CACd;AAAA,UACD,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,YAAYP,SAAO,OAAO;AAEpCQ,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,89 @@
1
+ import { Composite, Atomic } 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
+ dateSign: Atomic.events.sign({
50
+ ...entry,
51
+ isThemeDark,
52
+ isLargeSize: true
53
+ }),
54
+ image: standard({
55
+ images: entry.image,
56
+ url: entry.url
57
+ }),
58
+ isAligned: false
59
+ })
60
+ )
61
+ });
62
+ if (shadowRoot) {
63
+ setShadowStyles({
64
+ shadowRoot,
65
+ styles
66
+ });
67
+ }
68
+ };
69
+ container.appendChild(loader$1.element);
70
+ start({
71
+ ...props,
72
+ ...helperFunctions,
73
+ displayResults,
74
+ displayResultStart: resultStart,
75
+ displayNoResults: noResults,
76
+ layoutElement: stacked(isThemeDark)
77
+ });
78
+ return {
79
+ element: container,
80
+ styles,
81
+ events: {
82
+ callback
83
+ }
84
+ };
85
+ })();
86
+ export {
87
+ list as default
88
+ };
89
+ //# sourceMappingURL=list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.mjs","sources":["../../../source/composite/events/list.ts"],"sourcesContent":["import { Atomic, 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 dateSign: Atomic.events.sign({\n ...entry,\n isThemeDark,\n isLargeSize: true,\n }),\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,UAAU,OAAO,OAAO,KAAK;AAAA,YAC3B,GAAG;AAAA,YACH;AAAA,YACA,aAAa;AAAA,UAAA,CACd;AAAA,UACD,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;"}
@@ -1,5 +1,5 @@
1
- import { type SliderProps } from './_types';
2
- import { type ElementModel } from '../../_types';
1
+ import { SliderProps } from './_types';
2
+ import { ElementModel } from '../../_types';
3
3
  declare const _default: (props: SliderProps) => 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/events/slider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;gCA4B1B,WAAW,KAAG,YAAY;AAAjD,wBAKK"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../source/composite/events/slider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;yBA4BjC,OAAO,WAAW,KAAG,YAAY;AAAjD,wBAKK"}
@@ -0,0 +1,35 @@
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
+ ) {
22
+ ... on submission_Event {
23
+ ${QUERY_DATA}
24
+ }
25
+ }
26
+ }
27
+ }
28
+ `;
29
+ const slider = (props) => slider$1({
30
+ ...props,
31
+ query,
32
+ url: "https://calendar.umd.edu/graphql"
33
+ });
34
+ module.exports = slider;
35
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","sources":["../../../source/composite/events/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type SliderProps } 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 ) {\n ... on submission_Event {\n ${QUERY_DATA}\n }\n }\n }\n }\n`;\n\nexport default (props: SliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://calendar.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,YAUF,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtB,MAAA,SAAe,CAAC,UACdA,SAAkB;AAAA,EAChB,GAAG;AAAA,EACH;AAAA,EACA,KAAK;AACP,CAAC;;"}
@@ -0,0 +1,36 @@
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
+ ) {
21
+ ... on submission_Event {
22
+ ${QUERY_DATA}
23
+ }
24
+ }
25
+ }
26
+ }
27
+ `;
28
+ const slider = (props) => slider$1({
29
+ ...props,
30
+ query,
31
+ url: "https://calendar.umd.edu/graphql"
32
+ });
33
+ export {
34
+ slider as default
35
+ };
36
+ //# sourceMappingURL=slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.mjs","sources":["../../../source/composite/events/slider.ts"],"sourcesContent":["import * as feedMacros from 'macros';\nimport { type SliderProps } 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 ) {\n ... on submission_Event {\n ${QUERY_DATA}\n }\n }\n }\n }\n`;\n\nexport default (props: SliderProps): ElementModel =>\n feedMacros.slider({\n ...props,\n query,\n url: 'https://calendar.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,YAUF,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtB,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, EntryType, 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/news/common/data.ts"],"names":[],"mappings":"AACA,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,UAAW,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAMpD,CAAC;AAEH,eAAO,MAAM,YAAY,UAChB,YAAY,KAClB,SAAS,CAAC,oBAiCZ,CAAC;AAEF,eAAO,MAAM,OAAO,4BAGjB;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;;;;;;CAYC,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../source/composite/news/common/data.ts"],"names":[],"mappings":"AACA,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,oBAiCZ,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;;;;;;CAYC,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("@universityofmaryland/web-styles-library");
4
+ require("@universityofmaryland/web-elements-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
+ isUnion,
17
+ categories,
18
+ getOffset,
19
+ token,
20
+ numberOfRowsToStart,
21
+ numberOfColumnsToShow = 1,
22
+ entriesToRemove
23
+ } = props;
24
+ const obj = {
25
+ offset: getOffset(),
26
+ token,
27
+ limit: numberOfRowsToStart
28
+ };
29
+ if (numberOfColumnsToShow) {
30
+ obj.limit = numberOfColumnsToShow * numberOfRowsToStart;
31
+ }
32
+ if (!isUnion && categories) {
33
+ obj.relatedToAll = categories;
34
+ }
35
+ if (isUnion && categories) {
36
+ obj.related = categories;
37
+ }
38
+ if (entriesToRemove) {
39
+ obj.not = ["not", ...entriesToRemove];
40
+ }
41
+ return obj;
42
+ };
43
+ const display = ({
44
+ entry,
45
+ isThemeDark
46
+ }) => ({
47
+ newsId: entry.id.toString(),
48
+ headline: text.headline({
49
+ text: entry.title,
50
+ url: entry.url
51
+ }),
52
+ text: text.summary({ text: entry.summary }),
53
+ date: text.date({
54
+ date: entry.date,
55
+ dateFormatted: entry.dateFormatted
56
+ }),
57
+ isThemeDark
58
+ });
59
+ exports.apiVariables = apiVariables;
60
+ exports.display = display;
61
+ exports.lazyLoadVariables = lazyLoadVariables;
62
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../../../source/composite/news/common/data.ts"],"sourcesContent":["import * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EntryType,\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 isUnion,\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n entriesToRemove,\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 (!isUnion && categories) {\n obj.relatedToAll = categories;\n }\n\n if (isUnion && categories) {\n obj.related = categories;\n }\n\n if (entriesToRemove) {\n obj.not = ['not', ...entriesToRemove];\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EntryType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n newsId: entry.id.toString(),\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n date: feedElements.text.date({\n date: entry.date,\n dateFormatted: entry.dateFormatted,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary","feedElements.text.date"],"mappings":";;;;;;AAgBO,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;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,EAAA,IACE;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,CAAC,WAAW,YAAY;AAC1B,QAAI,eAAe;AAAA,EACrB;AAEA,MAAI,WAAW,YAAY;AACzB,QAAI,UAAU;AAAA,EAChB;AAEA,MAAI,iBAAiB;AACnB,QAAI,MAAM,CAAC,OAAO,GAAG,eAAe;AAAA,EACtC;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,QAAQ,MAAM,GAAG,SAAA;AAAA,EACjB,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,MAAMC,KAAAA,KAAuB;AAAA,IAC3B,MAAM,MAAM;AAAA,IACZ,eAAe,MAAM;AAAA,EAAA,CACtB;AAAA,EACD;AACF;;;;"}
@@ -0,0 +1,62 @@
1
+ import "@universityofmaryland/web-styles-library";
2
+ import "@universityofmaryland/web-elements-library";
3
+ import { date, 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
+ isUnion,
15
+ categories,
16
+ getOffset,
17
+ token,
18
+ numberOfRowsToStart,
19
+ numberOfColumnsToShow = 1,
20
+ entriesToRemove
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 (!isUnion && categories) {
31
+ obj.relatedToAll = categories;
32
+ }
33
+ if (isUnion && categories) {
34
+ obj.related = categories;
35
+ }
36
+ if (entriesToRemove) {
37
+ obj.not = ["not", ...entriesToRemove];
38
+ }
39
+ return obj;
40
+ };
41
+ const display = ({
42
+ entry,
43
+ isThemeDark
44
+ }) => ({
45
+ newsId: entry.id.toString(),
46
+ headline: headline({
47
+ text: entry.title,
48
+ url: entry.url
49
+ }),
50
+ text: summary({ text: entry.summary }),
51
+ date: date({
52
+ date: entry.date,
53
+ dateFormatted: entry.dateFormatted
54
+ }),
55
+ isThemeDark
56
+ });
57
+ export {
58
+ apiVariables,
59
+ display,
60
+ lazyLoadVariables
61
+ };
62
+ //# sourceMappingURL=data.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.mjs","sources":["../../../../source/composite/news/common/data.ts"],"sourcesContent":["import * as feedElements from 'elements';\nimport * as feedFetch from './fetch';\nimport {\n CommonProps,\n DisplayStartProps,\n DisplayProps,\n EntryType,\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 isUnion,\n categories,\n getOffset,\n token,\n numberOfRowsToStart,\n numberOfColumnsToShow = 1,\n entriesToRemove,\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 (!isUnion && categories) {\n obj.relatedToAll = categories;\n }\n\n if (isUnion && categories) {\n obj.related = categories;\n }\n\n if (entriesToRemove) {\n obj.not = ['not', ...entriesToRemove];\n }\n\n return obj;\n};\n\nexport const display = ({\n entry,\n isThemeDark,\n}: {\n entry: EntryType;\n isThemeDark?: boolean;\n isTransparent?: boolean;\n}) => ({\n newsId: entry.id.toString(),\n headline: feedElements.text.headline({\n text: entry.title,\n url: entry.url,\n }),\n text: feedElements.text.summary({ text: entry.summary }),\n date: feedElements.text.date({\n date: entry.date,\n dateFormatted: entry.dateFormatted,\n }),\n isThemeDark,\n});\n"],"names":["feedFetch.load","feedElements.text.headline","feedElements.text.summary","feedElements.text.date"],"mappings":";;;;AAgBO,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;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,EAAA,IACE;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,CAAC,WAAW,YAAY;AAC1B,QAAI,eAAe;AAAA,EACrB;AAEA,MAAI,WAAW,YAAY;AACzB,QAAI,UAAU;AAAA,EAChB;AAEA,MAAI,iBAAiB;AACnB,QAAI,MAAM,CAAC,OAAO,GAAG,eAAe;AAAA,EACtC;AAEA,SAAO;AACT;AAEO,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AACF,OAIO;AAAA,EACL,QAAQ,MAAM,GAAG,SAAA;AAAA,EACjB,UAAUC,SAA2B;AAAA,IACnC,MAAM,MAAM;AAAA,IACZ,KAAK,MAAM;AAAA,EAAA,CACZ;AAAA,EACD,MAAMC,QAA0B,EAAE,MAAM,MAAM,SAAS;AAAA,EACvD,MAAMC,KAAuB;AAAA,IAC3B,MAAM,MAAM;AAAA,IACZ,eAAe,MAAM;AAAA,EAAA,CACtB;AAAA,EACD;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/news/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,4BAGzB;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,kBAOA,CAAC;AAEF,eAAO,MAAM,SAAS,oGASnB,cAAc,SAkChB,CAAC;AAEF,eAAO,MAAM,UAAU,UAAiB,gBAAgB,KAAG,OAAO,CAAC,IAAI,CA+BtE,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,wBAAwB,SAuC1D,CAAC"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../source/composite/news/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,SAkChB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,OAAO,gBAAgB,KAAG,OAAO,CAAC,IAAI,CA+BtE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,wBAAwB,SAuC1D,CAAC"}
@@ -0,0 +1,145 @@
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
+ message = "No results found",
47
+ linkUrl = "https://today.umd.edu",
48
+ linkText = "View all articles",
49
+ isThemeDark
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
+ setTotalEntries,
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
+ if (totalEntries) setTotalEntries(totalEntries);
125
+ layoutElement.element.setAttribute("id", ID_GRID_LAYOUT_CONTAINER);
126
+ container.appendChild(layoutElement.element);
127
+ setStyles(layoutElement.styles);
128
+ index.dispatch(container, index.eventNames.FEED_LOADED, {
129
+ items: feedData,
130
+ count: feedData.length,
131
+ total: totalEntries || feedData.length
132
+ });
133
+ displayResults({ feedData });
134
+ container.appendChild(
135
+ ariaLive.create({
136
+ message
137
+ })
138
+ );
139
+ };
140
+ exports.ID_GRID_LAYOUT_CONTAINER = ID_GRID_LAYOUT_CONTAINER;
141
+ exports.noResults = noResults;
142
+ exports.resultLoad = resultLoad;
143
+ exports.resultStart = resultStart;
144
+ exports.setShadowStyles = setShadowStyles;
145
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sources":["../../../../source/composite/news/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n message = 'No results found',\n linkUrl = 'https://today.umd.edu',\n linkText = 'View all articles',\n isThemeDark,\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback: feedFetch.load,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setTotalEntries,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["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,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AACF,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;AAErC,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,MAAI,8BAA8B,YAAY;AAE9C,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;;;;;;"}