@universityofmaryland/web-feeds-library 1.1.1 → 1.2.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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/composite/events/common/display.js +3 -1
  3. package/dist/composite/events/common/display.js.map +1 -1
  4. package/dist/composite/events/common/display.mjs +3 -1
  5. package/dist/composite/events/common/display.mjs.map +1 -1
  6. package/dist/composite/events/common/fetch.js +5 -3
  7. package/dist/composite/events/common/fetch.js.map +1 -1
  8. package/dist/composite/events/common/fetch.mjs +5 -3
  9. package/dist/composite/events/common/fetch.mjs.map +1 -1
  10. package/dist/composite/events/grid.js +3 -1
  11. package/dist/composite/events/grid.js.map +1 -1
  12. package/dist/composite/events/grid.mjs +3 -1
  13. package/dist/composite/events/grid.mjs.map +1 -1
  14. package/dist/composite/events/grouped.js +3 -1
  15. package/dist/composite/events/grouped.js.map +1 -1
  16. package/dist/composite/events/grouped.mjs +3 -1
  17. package/dist/composite/events/grouped.mjs.map +1 -1
  18. package/dist/composite/events/list.js +3 -1
  19. package/dist/composite/events/list.js.map +1 -1
  20. package/dist/composite/events/list.mjs +3 -1
  21. package/dist/composite/events/list.mjs.map +1 -1
  22. package/dist/composite/news/common/display.js +3 -1
  23. package/dist/composite/news/common/display.js.map +1 -1
  24. package/dist/composite/news/common/display.mjs +3 -1
  25. package/dist/composite/news/common/display.mjs.map +1 -1
  26. package/dist/composite/news/common/fetch.js +5 -3
  27. package/dist/composite/news/common/fetch.js.map +1 -1
  28. package/dist/composite/news/common/fetch.mjs +5 -3
  29. package/dist/composite/news/common/fetch.mjs.map +1 -1
  30. package/dist/composite/news/featured.js +3 -1
  31. package/dist/composite/news/featured.js.map +1 -1
  32. package/dist/composite/news/featured.mjs +3 -1
  33. package/dist/composite/news/featured.mjs.map +1 -1
  34. package/dist/composite/news/grid.js +3 -1
  35. package/dist/composite/news/grid.js.map +1 -1
  36. package/dist/composite/news/grid.mjs +3 -1
  37. package/dist/composite/news/grid.mjs.map +1 -1
  38. package/dist/composite/news/list.js +3 -1
  39. package/dist/composite/news/list.js.map +1 -1
  40. package/dist/composite/news/list.mjs +3 -1
  41. package/dist/composite/news/list.mjs.map +1 -1
  42. package/dist/macros/slider.d.ts.map +1 -1
  43. package/dist/macros/slider.js +7 -6
  44. package/dist/macros/slider.js.map +1 -1
  45. package/dist/macros/slider.mjs +9 -8
  46. package/dist/macros/slider.mjs.map +1 -1
  47. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"display.mjs","sources":["../../../../source/composite/news/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n message = 'No results found',\n linkUrl = 'https://today.umd.edu',\n linkText = 'View all articles',\n isThemeDark,\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback: feedFetch.load,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setTotalEntries,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["feedMacros.noResults","feedMacros.ariaLive","events.dispatch","events.eventNames","feedMacros.loader","feedMacros.buttonLazyLoad","dataComposed.lazyLoadVariables","feedFetch.load"],"mappings":";;;;;;;;;AAeO,MAAM,2BAA2B;AAEjC,MAAM,kBAAkB,OAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,SAAS,cAAc,OAAO;AACnD,QAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,IACxD;AAAA,EAAA;AAEF,eAAa,cAAc;AAC3B,aAAW,YAAY,YAAY;AACrC;AAEO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AACF,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBA,YAAqB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,QAAM,kBAAkBC,SAAoB,OAAO;AAAA,IACjD;AAAA,EAAA,CACD;AAED,YAAU,YAAY;AAEtB,YAAU,YAAY,iBAAiB,OAAO;AAC9C,YAAU,YAAY,eAAe;AAErC,YAAU,iBAAiB,MAAM;AAEjCC,WAAgB,WAAWC,WAAkB,YAAY;AAAA,IACvD,OAAO;AAAA,IACP;AAAA,EAAA,CACD;AAED,aAAW,MAAM;AACf,UAAM,SAAS,UAAA;AACf,QAAI,YAAY;AACd,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF,GAAG,GAAG;AACR;AAEO,MAAM,aAAa,OAAO,UAA2C;AAC1E,QAAM,EAAE,SAAS,cAAc,WAAW,cAAc;AACxD,QAAM,YAAY,aAAA;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,IAAI,wBAAwB;AAAA,EAAA;AAG9BC,SAAkB,OAAO,EAAE,WAAW;AACtCC,WAA0B,OAAO,EAAE,WAAW;AAC9C,YAAU,QAAQ,MAAM;AAExB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAQ,QAAQ,CAAC,UAAU;AACzB,WAAK,YAAY,MAAM,OAAO;AAC9B,gBAAU,MAAM,MAAM;AAAA,IACxB,CAAC;AAED,UAAM,iBAAiBA,SAA0B;AAAA,MAC/CC,kBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH,UAAUC;AAAAA,MAAU,CACrB;AAAA,IAAA;AAGH,QAAI,gBAAgB;AAClB,gBAAU,YAAY,eAAe,OAAO;AAC5C,gBAAU,eAAe,MAAM;AAAA,IACjC;AAEA,YAAA;AAAA,EACF,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,UAAoC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,gBAAA;AACrB,QAAM,aAAa,yBAAyB,IAAI;AAChD,QAAM,UAAU,aACZ,WAAW,UAAU,OAAO,YAAY,cACxC,WAAW,UAAU;AAEzB,MAAI,8BAA8B,YAAY;AAE9C,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,WAAgB,WAAWC,WAAkB,aAAa;AAAA,IACxD,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB,OAAO,gBAAgB,SAAS;AAAA,EAAA,CACjC;AAED,iBAAe,EAAE,UAAU;AAC3B,YAAU;AAAA,IACRF,SAAoB,OAAO;AAAA,MACzB;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;"}
1
+ {"version":3,"file":"display.mjs","sources":["../../../../source/composite/news/common/display.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './fetch';\nimport * as dataComposed from './data';\nimport { events } from '../../../utilities';\nimport {\n NoResultsProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface DisplayLoadProps extends DisplayProps {\n entries: { element: HTMLElement; styles: string }[];\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nexport const setShadowStyles = async ({\n shadowRoot,\n styles,\n}: {\n shadowRoot: ShadowRoot;\n styles: string;\n}) => {\n const styleElement = document.createElement('style');\n const optimizedCss = await Styles.utilities.transform.css.removeDuplicates(\n styles,\n );\n styleElement.textContent = optimizedCss;\n shadowRoot.appendChild(styleElement);\n};\n\nexport const noResults = ({\n getContainer,\n getStyles,\n getShadowRoot,\n setStyles,\n message = 'No results found',\n linkUrl = 'https://today.umd.edu',\n linkText = 'View all articles',\n isThemeDark,\n}: NoResultsProps) => {\n const container = getContainer();\n const shadowRoot = getShadowRoot();\n const noResultsContent = feedMacros.noResults({\n message,\n linkUrl,\n linkText,\n isThemeDark,\n });\n const ariaLiveContent = feedMacros.ariaLive.create({\n message,\n });\n\n container.innerHTML = '';\n\n container.appendChild(noResultsContent.element);\n container.appendChild(ariaLiveContent);\n\n setStyles(noResultsContent.styles);\n\n events.dispatch(container, events.eventNames.FEED_ERROR, {\n error: 'No results found',\n message,\n });\n\n setTimeout(() => {\n const styles = getStyles();\n if (shadowRoot) {\n setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n }, 100);\n};\n\nexport const resultLoad = async (props: DisplayLoadProps): Promise<void> => {\n const { entries, getContainer, setStyles, setOffset } = props;\n const container = getContainer();\n const grid = container.querySelector(\n `#${ID_GRID_LAYOUT_CONTAINER}`,\n ) as HTMLDivElement;\n\n feedMacros.loader.remove({ container });\n feedMacros.buttonLazyLoad.remove({ container });\n setOffset(entries.length);\n\n return new Promise<void>((resolve) => {\n entries.forEach((entry) => {\n grid.appendChild(entry.element);\n setStyles(entry.styles);\n });\n\n const lazyLoadButton = feedMacros.buttonLazyLoad.create(\n dataComposed.lazyLoadVariables({\n ...props,\n callback: feedFetch.load,\n }),\n );\n\n if (lazyLoadButton) {\n container.appendChild(lazyLoadButton.element);\n setStyles(lazyLoadButton.styles);\n }\n\n resolve();\n });\n};\n\nexport const resultStart = (props: DisplayStartResultsProps) => {\n const {\n feedData,\n numberOfColumnsToShow = 1,\n numberOfRowsToStart,\n isLazyLoad,\n displayResults,\n getContainer,\n getTotalEntries,\n setTotalEntries,\n setStyles,\n layoutElement,\n } = props;\n\n const container = getContainer();\n const totalEntries = getTotalEntries();\n const showAmount = numberOfColumnsToShow || 1 * numberOfRowsToStart;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute('id', ID_GRID_LAYOUT_CONTAINER);\n container.appendChild(layoutElement.element);\n setStyles(layoutElement.styles);\n\n events.dispatch(container, events.eventNames.FEED_LOADED, {\n items: feedData,\n count: feedData.length,\n total: totalEntries || feedData.length,\n });\n\n displayResults({ feedData });\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n};\n"],"names":["feedMacros.noResults","feedMacros.ariaLive","events.dispatch","events.eventNames","feedMacros.loader","feedMacros.buttonLazyLoad","dataComposed.lazyLoadVariables","feedFetch.load"],"mappings":";;;;;;;;;;;AAeO,MAAM,2BAA2B;AAEjC,MAAM,kBAAkB,OAAO;AAAA,EACpC;AAAA,EACA;AACF,MAGM;AACJ,QAAM,eAAe,SAAS,cAAc,OAAO;AACnD,QAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,IACxD;AAAA,EAAA;AAEF,eAAa,cAAc;AAC3B,aAAW,YAAY,YAAY;AACrC;AAEO,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AACF,MAAsB;AACpB,QAAM,YAAY,aAAA;AAClB,QAAM,aAAa,cAAA;AACnB,QAAM,mBAAmBA,YAAqB;AAAA,IAC5C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,QAAM,kBAAkBC,SAAoB,OAAO;AAAA,IACjD;AAAA,EAAA,CACD;AAED,YAAU,YAAY;AAEtB,YAAU,YAAY,iBAAiB,OAAO;AAC9C,YAAU,YAAY,eAAe;AAErC,YAAU,iBAAiB,MAAM;AAEjCC,WAAgB,WAAWC,WAAkB,YAAY;AAAA,IACvD,OAAO;AAAA,IACP;AAAA,EAAA,CACD;AAED,aAAW,MAAM;AACf,UAAM,SAAS,UAAA;AACf,QAAI,YAAY;AACd,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF,GAAG,GAAG;AACR;AAEO,MAAM,aAAa,OAAO,UAA2C;AAC1E,QAAM,EAAE,SAAS,cAAc,WAAW,cAAc;AACxD,QAAM,YAAY,aAAA;AAClB,QAAM,OAAO,UAAU;AAAA,IACrB,IAAI,wBAAwB;AAAA,EAAA;AAG9BC,SAAkB,OAAO,EAAE,WAAW;AACtCC,WAA0B,OAAO,EAAE,WAAW;AAC9C,YAAU,QAAQ,MAAM;AAExB,SAAO,IAAI,QAAc,CAAC,YAAY;AACpC,YAAQ,QAAQ,CAAC,UAAU;AACzB,WAAK,YAAY,MAAM,OAAO;AAC9B,gBAAU,MAAM,MAAM;AAAA,IACxB,CAAC;AAED,UAAM,iBAAiBA,SAA0B;AAAA,MAC/CC,kBAA+B;AAAA,QAC7B,GAAG;AAAA,QACH,UAAUC;AAAAA,MAAU,CACrB;AAAA,IAAA;AAGH,QAAI,gBAAgB;AAClB,gBAAU,YAAY,eAAe,OAAO;AAC5C,gBAAU,eAAe,MAAM;AAAA,IACjC;AAEA,YAAA;AAAA,EACF,CAAC;AACH;AAEO,MAAM,cAAc,CAAC,UAAoC;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,wBAAwB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,gBAAA;AACrB,QAAM,aAAa,yBAAyB,IAAI;AAChD,QAAM,UAAU,aACZ,WAAW,UAAU,OAAO,YAAY,cACxC,WAAW,UAAU;AAEzB,MAAI,8BAA8B,YAAY;AAE9C,gBAAc,QAAQ,aAAa,MAAM,wBAAwB;AACjE,YAAU,YAAY,cAAc,OAAO;AAC3C,YAAU,cAAc,MAAM;AAE9BL,WAAgB,WAAWC,WAAkB,aAAa;AAAA,IACxD,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB,OAAO,gBAAgB,SAAS;AAAA,EAAA,CACjC;AAED,iBAAe,EAAE,UAAU;AAC3B,YAAU;AAAA,IACRF,SAAoB,OAAO;AAAA,MACzB;AAAA,IAAA,CACD;AAAA,EAAA;AAEL;"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const webElementsLibrary = require("@universityofmaryland/web-elements-library");
3
+ const network = require("@universityofmaryland/web-utilities-library/network");
4
4
  const ariaLive = require("../../../macros/aria-live.js");
5
5
  const lazyLoad = require("../../../macros/lazy-load.js");
6
6
  const loader = require("../../../macros/loader.js");
7
7
  require("@universityofmaryland/web-styles-library");
8
- require("../../../macros/slider.js");
8
+ require("@universityofmaryland/web-elements-library");
9
+ require("@universityofmaryland/web-elements-library/composite");
10
+ require("@universityofmaryland/web-elements-library/atomic");
9
11
  const queries = require("./queries.js");
10
12
  const data = require("./data.js");
11
13
  const getEntries = async ({
@@ -27,7 +29,7 @@ const getEntries = async ({
27
29
  offset,
28
30
  not
29
31
  };
30
- const feedData = await webElementsLibrary.Utilities.network.FetchGraphQL({
32
+ const feedData = await network.fetchGraphQL({
31
33
  query: queries.ARTICLES_QUERY,
32
34
  url: "https://today.umd.edu/graphql",
33
35
  token,
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { Utilities } from '@universityofmaryland/web-elements-library';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await Utilities.network.FetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["Utilities","ARTICLES_QUERY","feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAMA,6BAAU,QAAQ,aAAa;AAAA,IACpD,OAAOC,QAAAA;AAAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBC,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;;;"}
1
+ {"version":3,"file":"fetch.js","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await fetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["fetchGraphQL","ARTICLES_QUERY","feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAMA,qBAAa;AAAA,IAClC,OAAOC,QAAAA;AAAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBC,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,KAAAA,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;;;"}
@@ -1,9 +1,11 @@
1
- import { Utilities } from "@universityofmaryland/web-elements-library";
1
+ import { fetchGraphQL } from "@universityofmaryland/web-utilities-library/network";
2
2
  import ariaLive from "../../../macros/aria-live.mjs";
3
3
  import lazyLoad from "../../../macros/lazy-load.mjs";
4
4
  import loader from "../../../macros/loader.mjs";
5
5
  import "@universityofmaryland/web-styles-library";
6
- import "../../../macros/slider.mjs";
6
+ import "@universityofmaryland/web-elements-library";
7
+ import "@universityofmaryland/web-elements-library/composite";
8
+ import "@universityofmaryland/web-elements-library/atomic";
7
9
  import { ARTICLES_QUERY } from "./queries.mjs";
8
10
  import { apiVariables } from "./data.mjs";
9
11
  const getEntries = async ({
@@ -25,7 +27,7 @@ const getEntries = async ({
25
27
  offset,
26
28
  not
27
29
  };
28
- const feedData = await Utilities.network.FetchGraphQL({
30
+ const feedData = await fetchGraphQL({
29
31
  query: ARTICLES_QUERY,
30
32
  url: "https://today.umd.edu/graphql",
31
33
  token,
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.mjs","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { Utilities } from '@universityofmaryland/web-elements-library';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await Utilities.network.FetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAM,UAAU,QAAQ,aAAa;AAAA,IACpD,OAAO;AAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBA,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;"}
1
+ {"version":3,"file":"fetch.mjs","sources":["../../../../source/composite/news/common/fetch.ts"],"sourcesContent":["import { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport * as feedMacros from 'macros';\nimport { ARTICLES_QUERY } from './queries';\nimport * as dataComposed from './data';\nimport {\n NoResultsProps,\n DisplayStartProps,\n DisplayStartResultsProps,\n DisplayProps,\n} from '../_types';\n\ninterface LoadMoreProps extends DisplayProps {}\n\ninterface CreateProps extends DisplayStartProps {\n displayResultStart: (props: DisplayStartResultsProps) => void;\n displayNoResults: (props: NoResultsProps) => void;\n}\n\nexport interface TypeFetchVariables {\n related?: string[];\n relatedToAll?: string[];\n limit?: number;\n offset?: number;\n not?: Array<string | number>;\n}\n\nexport interface TypeAPIFeedVariables extends TypeFetchVariables {\n token: string | null;\n}\n\nexport const ID_GRID_LAYOUT_CONTAINER = 'umd-grid-gap-layout-container';\n\nconst getEntries = async ({\n limit,\n not,\n offset,\n related,\n relatedToAll,\n token,\n}: TypeAPIFeedVariables) => {\n if (!token) throw new Error('Token not found');\n const graceFail = ({ message }: { message: string }) => {\n console.error(message);\n };\n\n const variables: TypeFetchVariables = {\n limit,\n related,\n relatedToAll,\n offset,\n not,\n };\n\n const feedData = await fetchGraphQL({\n query: ARTICLES_QUERY,\n url: 'https://today.umd.edu/graphql',\n token: token,\n variables,\n });\n\n if (\n !feedData ||\n !feedData.data ||\n !feedData.data.entries ||\n feedData.message\n ) {\n if (!feedData) graceFail({ message: 'Feed not found' });\n if (feedData?.message)\n graceFail({ message: `Feed data errors: ${feedData.message}` });\n\n return null;\n }\n\n return {\n entries: feedData.data.entries,\n count: feedData.data.entryCount,\n };\n};\n\nexport const load = async (props: LoadMoreProps) => {\n const { getContainer, getOffset, displayResults, getTotalEntries } = props;\n const container = getContainer();\n const currentCount = getOffset();\n const totalEntries = getTotalEntries();\n\n feedMacros.buttonLazyLoad.remove({ container });\n feedMacros.loader.display({ container });\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (feedData) {\n displayResults({ feedData: feedData.entries });\n\n feedMacros.ariaLive.update({\n container,\n message: `Showing ${\n currentCount + feedData.entries.length\n } of ${totalEntries} articles`,\n });\n }\n });\n};\n\nexport const start = async (props: CreateProps) => {\n const { displayNoResults, displayResultStart, setTotalEntries } = props;\n\n getEntries(dataComposed.apiVariables(props)).then((feedData) => {\n if (!feedData || !feedData.entries) {\n displayNoResults({\n ...props,\n message: 'An error occurred while fetching the data.',\n });\n return;\n }\n\n const totalEntries = feedData.count;\n\n if (totalEntries === 0) {\n displayNoResults({ ...props });\n return;\n }\n\n setTotalEntries(totalEntries);\n\n return displayResultStart({ ...props, feedData: feedData.entries });\n });\n};\n"],"names":["feedMacros.buttonLazyLoad","feedMacros.loader","dataComposed.apiVariables","feedMacros.ariaLive"],"mappings":";;;;;;;;;;AAgCA,MAAM,aAAa,OAAO;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA4B;AAC1B,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,iBAAiB;AAC7C,QAAM,YAAY,CAAC,EAAE,cAAmC;AACtD,YAAQ,MAAM,OAAO;AAAA,EACvB;AAEA,QAAM,YAAgC;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,MAAM,aAAa;AAAA,IAClC,OAAO;AAAA,IACP,KAAK;AAAA,IACL;AAAA,IACA;AAAA,EAAA,CACD;AAED,MACE,CAAC,YACD,CAAC,SAAS,QACV,CAAC,SAAS,KAAK,WACf,SAAS,SACT;AACA,QAAI,CAAC,SAAU,WAAU,EAAE,SAAS,kBAAkB;AACtD,QAAI,UAAU;AACZ,gBAAU,EAAE,SAAS,qBAAqB,SAAS,OAAO,IAAI;AAEhE,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS,SAAS,KAAK;AAAA,IACvB,OAAO,SAAS,KAAK;AAAA,EAAA;AAEzB;AAEO,MAAM,OAAO,OAAO,UAAyB;AAClD,QAAM,EAAE,cAAc,WAAW,gBAAgB,oBAAoB;AACrE,QAAM,YAAY,aAAA;AAClB,QAAM,eAAe,UAAA;AACrB,QAAM,eAAe,gBAAA;AAErBA,WAA0B,OAAO,EAAE,WAAW;AAC9CC,SAAkB,QAAQ,EAAE,WAAW;AAEvC,aAAWC,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,UAAU;AACZ,qBAAe,EAAE,UAAU,SAAS,QAAA,CAAS;AAE7CC,eAAoB,OAAO;AAAA,QACzB;AAAA,QACA,SAAS,WACP,eAAe,SAAS,QAAQ,MAClC,OAAO,YAAY;AAAA,MAAA,CACpB;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,MAAM,QAAQ,OAAO,UAAuB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,gBAAA,IAAoB;AAElE,aAAWD,aAA0B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa;AAC9D,QAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAClC,uBAAiB;AAAA,QACf,GAAG;AAAA,QACH,SAAS;AAAA,MAAA,CACV;AACD;AAAA,IACF;AAEA,UAAM,eAAe,SAAS;AAE9B,QAAI,iBAAiB,GAAG;AACtB,uBAAiB,EAAE,GAAG,OAAO;AAC7B;AAAA,IACF;AAEA,oBAAgB,YAAY;AAE5B,WAAO,mBAAmB,EAAE,GAAG,OAAO,UAAU,SAAS,SAAS;AAAA,EACpE,CAAC;AACH;"}
@@ -5,7 +5,9 @@ const layout = require("../../elements/layout.js");
5
5
  const ariaLive = require("../../macros/aria-live.js");
6
6
  require("@universityofmaryland/web-styles-library");
7
7
  const loader = require("../../macros/loader.js");
8
- require("../../macros/slider.js");
8
+ require("@universityofmaryland/web-utilities-library/network");
9
+ require("@universityofmaryland/web-elements-library/composite");
10
+ require("@universityofmaryland/web-elements-library/atomic");
9
11
  const fetch = require("./common/fetch.js");
10
12
  const display = require("./common/display.js");
11
13
  const data = require("./common/data.js");
@@ -1 +1 @@
1
- {"version":3,"file":"featured.js","sources":["../../../source/composite/news/featured.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport {\n type DisplayStartResultsProps,\n type FeaturedProps,\n type FeedDisplay,\n} from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: FeaturedProps): ElementModel =>\n (() => {\n const {\n isThemeDark,\n isLazyLoad,\n isLayoutReversed,\n isTransparent,\n overwriteStickyPosition,\n } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let numberOfColumnsToShow = 3;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n const setPosition = (position: number) => {\n const overlayElement = container.querySelector(\n `.${Composite.card.overlay.imageClassRef}`,\n ) as HTMLElement;\n if (overlayElement) overlayElement.style.top = `${position}px`;\n };\n\n const layoutElement = feedElements.layout.gridGap({ count: 2 });\n\n const displayGridOffsetResults = async ({ feedData }: FeedDisplay) => {\n let entries = [];\n\n if (feedData.length >= 2) {\n const offsetLayout = feedElements.layout.gridOffsetGap({\n count: 2,\n isLayoutReversed,\n overwriteStickyPosition,\n });\n const firstEntry = feedData[0];\n const overlayCard = Composite.card.overlay.image({\n ...dataComposed.display({ entry: firstEntry }),\n backgroundImage: feedElements.asset.standard({\n images: firstEntry.image,\n url: firstEntry.url,\n }),\n });\n\n offsetLayout.element.appendChild(overlayCard.element);\n offsetLayout.element.appendChild(layoutElement.element);\n container.appendChild(offsetLayout.element);\n setStyles(offsetLayout.styles);\n setStyles(overlayCard.styles);\n\n entries = feedData.slice(1, 3).map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n } else {\n entries = feedData.map((entry) =>\n Composite.card.overlay.image({\n ...dataComposed.display({ entry, isThemeDark }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n }),\n );\n\n container.appendChild(layoutElement.element);\n }\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const resultStart = (props: DisplayStartResultsProps) => {\n const { feedData, setOffset, getOffset } = props;\n const totalEntries = getTotalEntries();\n const showAmount = 3;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n setOffset(getOffset() + 1);\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute(\n 'id',\n feedDisplay.ID_GRID_LAYOUT_CONTAINER,\n );\n\n setStyles(layoutElement.styles);\n\n displayGridOffsetResults({ feedData });\n\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow,\n displayResults,\n displayResultStart: resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n setPosition,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","feedElements.layout.gridGap","feedElements.layout.gridOffsetGap","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","props","setOffset","getOffset","totalEntries","feedDisplay.ID_GRID_LAYOUT_CONTAINER","feedMacros.ariaLive","feedFetch.start","feedDisplay.noResults"],"mappings":";;;;;;;;;;;AAaA,MAAA,WAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,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,wBAAwB;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;AACA,QAAM,cAAc,CAAC,aAAqB;AACxC,UAAM,iBAAiB,UAAU;AAAA,MAC/B,IAAIE,mBAAAA,UAAU,KAAK,QAAQ,aAAa;AAAA,IAAA;AAE1C,QAAI,eAAgB,gBAAe,MAAM,MAAM,GAAG,QAAQ;AAAA,EAC5D;AAEA,QAAM,gBAAgBC,OAAAA,QAA4B,EAAE,OAAO,GAAG;AAE9D,QAAM,2BAA2B,OAAO,EAAE,eAA4B;AACpE,QAAI,UAAU,CAAA;AAEd,QAAI,SAAS,UAAU,GAAG;AACxB,YAAM,eAAeC,OAAAA,cAAkC;AAAA,QACrD,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA,CACD;AACD,YAAM,aAAa,SAAS,CAAC;AAC7B,YAAM,cAAcF,mBAAAA,UAAU,KAAK,QAAQ,MAAM;AAAA,QAC/C,GAAGG,aAAqB,EAAE,OAAO,YAAY;AAAA,QAC7C,iBAAiBC,MAAAA,SAA4B;AAAA,UAC3C,QAAQ,WAAW;AAAA,UACnB,KAAK,WAAW;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAED,mBAAa,QAAQ,YAAY,YAAY,OAAO;AACpD,mBAAa,QAAQ,YAAY,cAAc,OAAO;AACtD,gBAAU,YAAY,aAAa,OAAO;AAC1C,gBAAU,aAAa,MAAM;AAC7B,gBAAU,YAAY,MAAM;AAE5B,gBAAU,SAAS,MAAM,GAAG,CAAC,EAAE;AAAA,QAAI,CAAC,UAClCJ,mBAAAA,UAAU,KAAK,MAAM;AAAA,UACnB,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,UACX;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,IAEL,OAAO;AACL,gBAAU,SAAS;AAAA,QAAI,CAAC,UACtBJ,mBAAAA,UAAU,KAAK,QAAQ,MAAM;AAAA,UAC3B,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,iBAAiBC,MAAAA,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MAAA;AAGH,gBAAU,YAAY,cAAc,OAAO;AAAA,IAC7C;AAEA,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS;AAAA,MAAI,CAAC,UAC5BN,mBAAAA,UAAU,KAAK,MAAM;AAAA,QACnB,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,MAAAA,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,cAAc,CAACC,WAAoC;AACvD,UAAM,EAAE,UAAU,WAAAC,YAAW,WAAAC,eAAcF;AAC3C,UAAMG,gBAAe,gBAAA;AACrB,UAAM,aAAa;AACnB,UAAM,UAAU,aACZ,WAAW,UAAU,OAAOA,aAAY,cACxC,WAAW,UAAU;AAEzBF,eAAUC,WAAAA,IAAc,CAAC;AAEzB,QAAIC,+BAA8BA,aAAY;AAE9C,kBAAc,QAAQ;AAAA,MACpB;AAAA,MACAC,QAAAA;AAAAA,IAAY;AAGd,cAAU,cAAc,MAAM;AAE9B,6BAAyB,EAAE,UAAU;AAErC,cAAU;AAAA,MACRC,SAAoB,OAAO;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AAEA,YAAU,YAAYd,SAAO,OAAO;AAEpCe,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
1
+ {"version":3,"file":"featured.js","sources":["../../../source/composite/news/featured.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport {\n type DisplayStartResultsProps,\n type FeaturedProps,\n type FeedDisplay,\n} from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: FeaturedProps): ElementModel =>\n (() => {\n const {\n isThemeDark,\n isLazyLoad,\n isLayoutReversed,\n isTransparent,\n overwriteStickyPosition,\n } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let numberOfColumnsToShow = 3;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n const setPosition = (position: number) => {\n const overlayElement = container.querySelector(\n `.${Composite.card.overlay.imageClassRef}`,\n ) as HTMLElement;\n if (overlayElement) overlayElement.style.top = `${position}px`;\n };\n\n const layoutElement = feedElements.layout.gridGap({ count: 2 });\n\n const displayGridOffsetResults = async ({ feedData }: FeedDisplay) => {\n let entries = [];\n\n if (feedData.length >= 2) {\n const offsetLayout = feedElements.layout.gridOffsetGap({\n count: 2,\n isLayoutReversed,\n overwriteStickyPosition,\n });\n const firstEntry = feedData[0];\n const overlayCard = Composite.card.overlay.image({\n ...dataComposed.display({ entry: firstEntry }),\n backgroundImage: feedElements.asset.standard({\n images: firstEntry.image,\n url: firstEntry.url,\n }),\n });\n\n offsetLayout.element.appendChild(overlayCard.element);\n offsetLayout.element.appendChild(layoutElement.element);\n container.appendChild(offsetLayout.element);\n setStyles(offsetLayout.styles);\n setStyles(overlayCard.styles);\n\n entries = feedData.slice(1, 3).map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n } else {\n entries = feedData.map((entry) =>\n Composite.card.overlay.image({\n ...dataComposed.display({ entry, isThemeDark }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n }),\n );\n\n container.appendChild(layoutElement.element);\n }\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const resultStart = (props: DisplayStartResultsProps) => {\n const { feedData, setOffset, getOffset } = props;\n const totalEntries = getTotalEntries();\n const showAmount = 3;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n setOffset(getOffset() + 1);\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute(\n 'id',\n feedDisplay.ID_GRID_LAYOUT_CONTAINER,\n );\n\n setStyles(layoutElement.styles);\n\n displayGridOffsetResults({ feedData });\n\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow,\n displayResults,\n displayResultStart: resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n setPosition,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","feedElements.layout.gridGap","feedElements.layout.gridOffsetGap","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","props","setOffset","getOffset","totalEntries","feedDisplay.ID_GRID_LAYOUT_CONTAINER","feedMacros.ariaLive","feedFetch.start","feedDisplay.noResults"],"mappings":";;;;;;;;;;;;;AAaA,MAAA,WAAe,CAAC,WACb,MAAM;AACL,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,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,wBAAwB;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;AACA,QAAM,cAAc,CAAC,aAAqB;AACxC,UAAM,iBAAiB,UAAU;AAAA,MAC/B,IAAIE,mBAAAA,UAAU,KAAK,QAAQ,aAAa;AAAA,IAAA;AAE1C,QAAI,eAAgB,gBAAe,MAAM,MAAM,GAAG,QAAQ;AAAA,EAC5D;AAEA,QAAM,gBAAgBC,OAAAA,QAA4B,EAAE,OAAO,GAAG;AAE9D,QAAM,2BAA2B,OAAO,EAAE,eAA4B;AACpE,QAAI,UAAU,CAAA;AAEd,QAAI,SAAS,UAAU,GAAG;AACxB,YAAM,eAAeC,OAAAA,cAAkC;AAAA,QACrD,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA,CACD;AACD,YAAM,aAAa,SAAS,CAAC;AAC7B,YAAM,cAAcF,mBAAAA,UAAU,KAAK,QAAQ,MAAM;AAAA,QAC/C,GAAGG,aAAqB,EAAE,OAAO,YAAY;AAAA,QAC7C,iBAAiBC,MAAAA,SAA4B;AAAA,UAC3C,QAAQ,WAAW;AAAA,UACnB,KAAK,WAAW;AAAA,QAAA,CACjB;AAAA,MAAA,CACF;AAED,mBAAa,QAAQ,YAAY,YAAY,OAAO;AACpD,mBAAa,QAAQ,YAAY,cAAc,OAAO;AACtD,gBAAU,YAAY,aAAa,OAAO;AAC1C,gBAAU,aAAa,MAAM;AAC7B,gBAAU,YAAY,MAAM;AAE5B,gBAAU,SAAS,MAAM,GAAG,CAAC,EAAE;AAAA,QAAI,CAAC,UAClCJ,mBAAAA,UAAU,KAAK,MAAM;AAAA,UACnB,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,UACX;AAAA,QAAA,CACD;AAAA,MAAA;AAAA,IAEL,OAAO;AACL,gBAAU,SAAS;AAAA,QAAI,CAAC,UACtBJ,mBAAAA,UAAU,KAAK,QAAQ,MAAM;AAAA,UAC3B,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,iBAAiBC,MAAAA,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MAAA;AAGH,gBAAU,YAAY,cAAc,OAAO;AAAA,IAC7C;AAEA,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS;AAAA,MAAI,CAAC,UAC5BN,mBAAAA,UAAU,KAAK,MAAM;AAAA,QACnB,GAAGG,aAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,MAAAA,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,cAAc,CAACC,WAAoC;AACvD,UAAM,EAAE,UAAU,WAAAC,YAAW,WAAAC,eAAcF;AAC3C,UAAMG,gBAAe,gBAAA;AACrB,UAAM,aAAa;AACnB,UAAM,UAAU,aACZ,WAAW,UAAU,OAAOA,aAAY,cACxC,WAAW,UAAU;AAEzBF,eAAUC,WAAAA,IAAc,CAAC;AAEzB,QAAIC,+BAA8BA,aAAY;AAE9C,kBAAc,QAAQ;AAAA,MACpB;AAAA,MACAC,QAAAA;AAAAA,IAAY;AAGd,cAAU,cAAc,MAAM;AAE9B,6BAAyB,EAAE,UAAU;AAErC,cAAU;AAAA,MACRC,SAAoB,OAAO;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AAEA,YAAU,YAAYd,SAAO,OAAO;AAEpCe,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
@@ -4,7 +4,9 @@ import { gridGap, gridOffsetGap } from "../../elements/layout.mjs";
4
4
  import ariaLive from "../../macros/aria-live.mjs";
5
5
  import "@universityofmaryland/web-styles-library";
6
6
  import loader from "../../macros/loader.mjs";
7
- import "../../macros/slider.mjs";
7
+ import "@universityofmaryland/web-utilities-library/network";
8
+ import "@universityofmaryland/web-elements-library/composite";
9
+ import "@universityofmaryland/web-elements-library/atomic";
8
10
  import { start } from "./common/fetch.mjs";
9
11
  import { noResults, ID_GRID_LAYOUT_CONTAINER, resultLoad, setShadowStyles } from "./common/display.mjs";
10
12
  import { display } from "./common/data.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"featured.mjs","sources":["../../../source/composite/news/featured.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport {\n type DisplayStartResultsProps,\n type FeaturedProps,\n type FeedDisplay,\n} from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: FeaturedProps): ElementModel =>\n (() => {\n const {\n isThemeDark,\n isLazyLoad,\n isLayoutReversed,\n isTransparent,\n overwriteStickyPosition,\n } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let numberOfColumnsToShow = 3;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n const setPosition = (position: number) => {\n const overlayElement = container.querySelector(\n `.${Composite.card.overlay.imageClassRef}`,\n ) as HTMLElement;\n if (overlayElement) overlayElement.style.top = `${position}px`;\n };\n\n const layoutElement = feedElements.layout.gridGap({ count: 2 });\n\n const displayGridOffsetResults = async ({ feedData }: FeedDisplay) => {\n let entries = [];\n\n if (feedData.length >= 2) {\n const offsetLayout = feedElements.layout.gridOffsetGap({\n count: 2,\n isLayoutReversed,\n overwriteStickyPosition,\n });\n const firstEntry = feedData[0];\n const overlayCard = Composite.card.overlay.image({\n ...dataComposed.display({ entry: firstEntry }),\n backgroundImage: feedElements.asset.standard({\n images: firstEntry.image,\n url: firstEntry.url,\n }),\n });\n\n offsetLayout.element.appendChild(overlayCard.element);\n offsetLayout.element.appendChild(layoutElement.element);\n container.appendChild(offsetLayout.element);\n setStyles(offsetLayout.styles);\n setStyles(overlayCard.styles);\n\n entries = feedData.slice(1, 3).map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n } else {\n entries = feedData.map((entry) =>\n Composite.card.overlay.image({\n ...dataComposed.display({ entry, isThemeDark }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n }),\n );\n\n container.appendChild(layoutElement.element);\n }\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const resultStart = (props: DisplayStartResultsProps) => {\n const { feedData, setOffset, getOffset } = props;\n const totalEntries = getTotalEntries();\n const showAmount = 3;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n setOffset(getOffset() + 1);\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute(\n 'id',\n feedDisplay.ID_GRID_LAYOUT_CONTAINER,\n );\n\n setStyles(layoutElement.styles);\n\n displayGridOffsetResults({ feedData });\n\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow,\n displayResults,\n displayResultStart: resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n setPosition,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedElements.layout.gridGap","feedElements.layout.gridOffsetGap","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","props","setOffset","getOffset","totalEntries","feedDisplay.ID_GRID_LAYOUT_CONTAINER","feedMacros.ariaLive","feedFetch.start","feedDisplay.noResults"],"mappings":"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"}
1
+ {"version":3,"file":"featured.mjs","sources":["../../../source/composite/news/featured.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport {\n type DisplayStartResultsProps,\n type FeaturedProps,\n type FeedDisplay,\n} from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: FeaturedProps): ElementModel =>\n (() => {\n const {\n isThemeDark,\n isLazyLoad,\n isLayoutReversed,\n isTransparent,\n overwriteStickyPosition,\n } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let numberOfColumnsToShow = 3;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n const setPosition = (position: number) => {\n const overlayElement = container.querySelector(\n `.${Composite.card.overlay.imageClassRef}`,\n ) as HTMLElement;\n if (overlayElement) overlayElement.style.top = `${position}px`;\n };\n\n const layoutElement = feedElements.layout.gridGap({ count: 2 });\n\n const displayGridOffsetResults = async ({ feedData }: FeedDisplay) => {\n let entries = [];\n\n if (feedData.length >= 2) {\n const offsetLayout = feedElements.layout.gridOffsetGap({\n count: 2,\n isLayoutReversed,\n overwriteStickyPosition,\n });\n const firstEntry = feedData[0];\n const overlayCard = Composite.card.overlay.image({\n ...dataComposed.display({ entry: firstEntry }),\n backgroundImage: feedElements.asset.standard({\n images: firstEntry.image,\n url: firstEntry.url,\n }),\n });\n\n offsetLayout.element.appendChild(overlayCard.element);\n offsetLayout.element.appendChild(layoutElement.element);\n container.appendChild(offsetLayout.element);\n setStyles(offsetLayout.styles);\n setStyles(overlayCard.styles);\n\n entries = feedData.slice(1, 3).map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n } else {\n entries = feedData.map((entry) =>\n Composite.card.overlay.image({\n ...dataComposed.display({ entry, isThemeDark }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n }),\n );\n\n container.appendChild(layoutElement.element);\n }\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) =>\n Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n }),\n );\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow: 2,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const resultStart = (props: DisplayStartResultsProps) => {\n const { feedData, setOffset, getOffset } = props;\n const totalEntries = getTotalEntries();\n const showAmount = 3;\n const message = isLazyLoad\n ? `Showing ${showAmount} of ${totalEntries} articles`\n : `Showing ${showAmount} articles`;\n\n setOffset(getOffset() + 1);\n\n if (totalEntries) setTotalEntries(totalEntries);\n\n layoutElement.element.setAttribute(\n 'id',\n feedDisplay.ID_GRID_LAYOUT_CONTAINER,\n );\n\n setStyles(layoutElement.styles);\n\n displayGridOffsetResults({ feedData });\n\n container.appendChild(\n feedMacros.ariaLive.create({\n message,\n }),\n );\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n numberOfColumnsToShow,\n displayResults,\n displayResultStart: resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n setPosition,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedElements.layout.gridGap","feedElements.layout.gridOffsetGap","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","props","setOffset","getOffset","totalEntries","feedDisplay.ID_GRID_LAYOUT_CONTAINER","feedMacros.ariaLive","feedFetch.start","feedDisplay.noResults"],"mappings":"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"}
@@ -4,7 +4,9 @@ const asset = require("../../elements/asset.js");
4
4
  const layout = require("../../elements/layout.js");
5
5
  require("@universityofmaryland/web-styles-library");
6
6
  const loader = require("../../macros/loader.js");
7
- require("../../macros/slider.js");
7
+ require("@universityofmaryland/web-utilities-library/network");
8
+ require("@universityofmaryland/web-elements-library/composite");
9
+ require("@universityofmaryland/web-elements-library/atomic");
8
10
  const fetch = require("./common/fetch.js");
9
11
  const display = require("./common/display.js");
10
12
  const data = require("./common/data.js");
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sources":["../../../source/composite/news/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\n props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n });\n });\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAOE,6BAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGC,KAAAA,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,MAAAA,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAOF,mBAAAA,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,MAAAA,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAAA,KAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,OAAAA,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYR,SAAO,OAAO;AAEpCS,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
1
+ {"version":3,"file":"grid.js","sources":["../../../source/composite/news/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\n props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n });\n });\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAOE,6BAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGC,KAAAA,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,MAAAA,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAOF,mBAAAA,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,MAAAA,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAAA,KAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,OAAAA,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYR,SAAO,OAAO;AAEpCS,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
@@ -3,7 +3,9 @@ import { standard } from "../../elements/asset.mjs";
3
3
  import { grid as grid$1, gridGap } from "../../elements/layout.mjs";
4
4
  import "@universityofmaryland/web-styles-library";
5
5
  import loader from "../../macros/loader.mjs";
6
- import "../../macros/slider.mjs";
6
+ import "@universityofmaryland/web-utilities-library/network";
7
+ import "@universityofmaryland/web-elements-library/composite";
8
+ import "@universityofmaryland/web-elements-library/atomic";
7
9
  import { start } from "./common/fetch.mjs";
8
10
  import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
9
11
  import { display } from "./common/data.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"grid.mjs","sources":["../../../source/composite/news/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\n props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n });\n });\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAO,UAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGE,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAO,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGD,QAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYP,SAAO,OAAO;AAEpCQ,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
1
+ {"version":3,"file":"grid.mjs","sources":["../../../source/composite/news/grid.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type BlockProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: BlockProps): ElementModel =>\n (() => {\n const { isThemeDark, isTransparent, numberOfColumnsToShow, isTypeOverlay } =\n props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n const entries = feedData.map((entry) => {\n if (isTypeOverlay) {\n return Composite.card.overlay.image({\n ...dataComposed.display({ entry }),\n backgroundImage: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n });\n }\n\n return Composite.card.block({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: true,\n isTransparent,\n });\n });\n\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries,\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n const layoutElement = isTypeOverlay\n ? feedElements.layout.grid({ count: numberOfColumnsToShow })\n : feedElements.layout.gridGap({ count: numberOfColumnsToShow });\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement,\n isThemeDark,\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","dataComposed.display","feedElements.asset.standard","feedDisplay.resultLoad","feedDisplay.setShadowStyles","feedElements.layout.grid","feedElements.layout.gridGap","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults"],"mappings":";;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,aAAa,eAAe,uBAAuB,kBACzD;AACF,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAM,UAAU,SAAS,IAAI,CAAC,UAAU;AACtC,UAAI,eAAe;AACjB,eAAO,UAAU,KAAK,QAAQ,MAAM;AAAA,UAClC,GAAGE,QAAqB,EAAE,OAAO;AAAA,UACjC,iBAAiBC,SAA4B;AAAA,YAC3C,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,QAAA,CACF;AAAA,MACH;AAEA,aAAO,UAAU,KAAK,MAAM;AAAA,QAC1B,GAAGD,QAAqB,EAAE,OAAO,aAAa;AAAA,QAC9C,OAAOC,SAA4B;AAAA,UACjC,QAAQ,MAAM;AAAA,UACd,KAAK,MAAM;AAAA,QAAA,CACZ;AAAA,QACD,WAAW;AAAA,QACX;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAED,UAAMC,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IAAA,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,QAAM,gBAAgB,gBAClBC,OAAyB,EAAE,OAAO,sBAAA,CAAuB,IACzDC,QAA4B,EAAE,OAAO,uBAAuB;AAEhE,YAAU,YAAYP,SAAO,OAAO;AAEpCQ,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB;AAAA,IACA;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
@@ -4,7 +4,9 @@ const asset = require("../../elements/asset.js");
4
4
  const layout = require("../../elements/layout.js");
5
5
  require("@universityofmaryland/web-styles-library");
6
6
  const loader = require("../../macros/loader.js");
7
- require("../../macros/slider.js");
7
+ require("@universityofmaryland/web-utilities-library/network");
8
+ require("@universityofmaryland/web-elements-library/composite");
9
+ require("@universityofmaryland/web-elements-library/atomic");
8
10
  const fetch = require("./common/fetch.js");
9
11
  const display = require("./common/display.js");
10
12
  const data = require("./common/data.js");
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../source/composite/news/list.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrBC,mBAAAA,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYN,SAAO,OAAO;AAEpCO,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB,eAAeC,OAAAA,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../source/composite/news/list.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","Composite","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,mBAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrBC,mBAAAA,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,aAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,MAAAA,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,8BAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYN,SAAO,OAAO;AAEpCO,cAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC,QAAAA;AAAAA,IACpB,kBAAkBC,QAAAA;AAAAA,IAClB,eAAeC,OAAAA,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;;"}
@@ -3,7 +3,9 @@ import { standard } from "../../elements/asset.mjs";
3
3
  import { stacked } from "../../elements/layout.mjs";
4
4
  import "@universityofmaryland/web-styles-library";
5
5
  import loader from "../../macros/loader.mjs";
6
- import "../../macros/slider.mjs";
6
+ import "@universityofmaryland/web-utilities-library/network";
7
+ import "@universityofmaryland/web-elements-library/composite";
8
+ import "@universityofmaryland/web-elements-library/atomic";
7
9
  import { start } from "./common/fetch.mjs";
8
10
  import { noResults, resultStart, resultLoad, setShadowStyles } from "./common/display.mjs";
9
11
  import { display } from "./common/data.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","sources":["../../../source/composite/news/list.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrB,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,QAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYL,SAAO,OAAO;AAEpCM,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB,eAAeC,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
1
+ {"version":3,"file":"list.mjs","sources":["../../../source/composite/news/list.ts"],"sourcesContent":["import { Composite } from '@universityofmaryland/web-elements-library';\nimport * as feedElements from 'elements';\nimport * as feedMacros from 'macros';\nimport * as feedFetch from './common/fetch';\nimport * as feedDisplay from './common/display';\nimport * as dataComposed from './common/data';\nimport { type ListProps, type FeedDisplay } from './_types';\nimport { type ElementModel } from '../../_types';\n\nexport default (props: ListProps): ElementModel =>\n (() => {\n const { isThemeDark } = props;\n const loader = feedMacros.loader.create({ isThemeDark });\n const container = document.createElement('div');\n const setTotalEntries = (count: number) => (totalEntries = count);\n const setOffset = (count: number) => (offset = offset + count);\n const setStyles = (additonalStyles: string) => (styles += additonalStyles);\n const getContainer = () => container;\n const getTotalEntries = () => totalEntries;\n const getOffset = () => offset;\n const getStyles = () => styles;\n const getShadowRoot = () => shadowRoot;\n let totalEntries = 0;\n let offset = 0;\n let styles = `\n ${loader.styles}\n `;\n let shadowRoot: ShadowRoot | null = null;\n\n const helperFunctions = {\n setTotalEntries,\n setOffset,\n setStyles,\n getContainer,\n getOffset,\n getTotalEntries,\n getStyles,\n getShadowRoot,\n };\n\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const displayResults = async ({ feedData }: FeedDisplay) => {\n await feedDisplay.resultLoad({\n ...props,\n ...helperFunctions,\n displayResults,\n entries: feedData.map((entry) =>\n Composite.card.list({\n ...dataComposed.display({ entry, isThemeDark }),\n image: feedElements.asset.standard({\n images: entry.image,\n url: entry.url,\n }),\n isAligned: false,\n }),\n ),\n });\n\n if (shadowRoot) {\n feedDisplay.setShadowStyles({\n shadowRoot,\n styles,\n });\n }\n };\n\n container.appendChild(loader.element);\n\n feedFetch.start({\n ...props,\n ...helperFunctions,\n displayResults,\n displayResultStart: feedDisplay.resultStart,\n displayNoResults: feedDisplay.noResults,\n layoutElement: feedElements.layout.stacked(isThemeDark),\n });\n\n return {\n element: container,\n styles,\n events: {\n callback,\n },\n };\n })();\n"],"names":["loader","feedMacros.loader","feedDisplay.resultLoad","dataComposed.display","feedElements.asset.standard","feedDisplay.setShadowStyles","feedFetch.start","feedDisplay.resultStart","feedDisplay.noResults","feedElements.layout.stacked"],"mappings":";;;;;;;;;;;AASA,MAAA,OAAe,CAAC,WACb,MAAM;AACL,QAAM,EAAE,gBAAgB;AACxB,QAAMA,WAASC,OAAkB,OAAO,EAAE,aAAa;AACvD,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,QAAM,kBAAkB,CAAC,UAAmB,eAAe;AAC3D,QAAM,YAAY,CAAC,UAAmB,SAAS,SAAS;AACxD,QAAM,YAAY,CAAC,oBAA6B,UAAU;AAC1D,QAAM,eAAe,MAAM;AAC3B,QAAM,kBAAkB,MAAM;AAC9B,QAAM,YAAY,MAAM;AACxB,QAAM,YAAY,MAAM;AACxB,QAAM,gBAAgB,MAAM;AAC5B,MAAI,eAAe;AACnB,MAAI,SAAS;AACb,MAAI,SAAS;AAAA,QACTD,SAAO,MAAM;AAAA;AAEjB,MAAI,aAAgC;AAEpC,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,iBAAiB,OAAO,EAAE,eAA4B;AAC1D,UAAME,WAAuB;AAAA,MAC3B,GAAG;AAAA,MACH,GAAG;AAAA,MACH;AAAA,MACA,SAAS,SAAS;AAAA,QAAI,CAAC,UACrB,UAAU,KAAK,KAAK;AAAA,UAClB,GAAGC,QAAqB,EAAE,OAAO,aAAa;AAAA,UAC9C,OAAOC,SAA4B;AAAA,YACjC,QAAQ,MAAM;AAAA,YACd,KAAK,MAAM;AAAA,UAAA,CACZ;AAAA,UACD,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAED,QAAI,YAAY;AACdC,sBAA4B;AAAA,QAC1B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAEA,YAAU,YAAYL,SAAO,OAAO;AAEpCM,QAAgB;AAAA,IACd,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,IACA,oBAAoBC;AAAAA,IACpB,kBAAkBC;AAAAA,IAClB,eAAeC,QAA4B,WAAW;AAAA,EAAA,CACvD;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ,GAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../source/macros/slider.ts"],"names":[],"mappings":"yBAiBgB,oEAQb;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B;;2BA0B2B,UAAU;;;;;AA1CtC,wBAyGE"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../source/macros/slider.ts"],"names":[],"mappings":"yBAgBgB,oEAQb;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9B;;2BA0B2B,UAAU;;;;;AA1CtC,wBAyGE"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  const Styles = require("@universityofmaryland/web-styles-library");
3
- const webElementsLibrary = require("@universityofmaryland/web-elements-library");
3
+ const network = require("@universityofmaryland/web-utilities-library/network");
4
+ const composite = require("@universityofmaryland/web-elements-library/composite");
5
+ const atomic = require("@universityofmaryland/web-elements-library/atomic");
4
6
  function _interopNamespaceDefault(e) {
5
7
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
8
  if (e) {
@@ -18,7 +20,6 @@ function _interopNamespaceDefault(e) {
18
20
  return Object.freeze(n);
19
21
  }
20
22
  const Styles__namespace = /* @__PURE__ */ _interopNamespaceDefault(Styles);
21
- const { FetchGraphQL } = webElementsLibrary.Utilities.network;
22
23
  const slider = ({
23
24
  token,
24
25
  query,
@@ -29,7 +30,7 @@ const slider = ({
29
30
  actions
30
31
  }) => {
31
32
  const dataSlider = document.createElement("div");
32
- const slider2 = webElementsLibrary.Composite.slider.events({
33
+ const slider2 = composite.slider.events({
33
34
  isThemeDark,
34
35
  dataSlider,
35
36
  headline,
@@ -62,19 +63,19 @@ const slider = ({
62
63
  token,
63
64
  variables
64
65
  };
65
- const feedData = await FetchGraphQL(fetchVariables);
66
+ const feedData = await network.fetchGraphQL(fetchVariables);
66
67
  const slides = feedData?.data?.entries?.events.map(
67
68
  (data, i) => {
68
69
  const headline2 = document.createElement("p");
69
70
  headline2.textContent = data.title;
70
- const dateSign = webElementsLibrary.Atomic.events.sign({
71
+ const dateSign = atomic.events.sign({
71
72
  startMonth: data.startMonth,
72
73
  startDay: data.startDay,
73
74
  endDay: data.endDay,
74
75
  endMonth: data.endMonth,
75
76
  isThemeDark
76
77
  });
77
- const textLockup = webElementsLibrary.Atomic.textLockup.date({
78
+ const textLockup = atomic.textLockup.date({
78
79
  headline: headline2,
79
80
  isThemeDark,
80
81
  dateSign
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","sources":["../../source/macros/slider.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport {\n Atomic,\n Composite,\n Utilities,\n} from '@universityofmaryland/web-elements-library';\n\ntype TypeSlideFeedResponse = {\n title: string;\n startMonth: string;\n startDay: string;\n endMonth?: string;\n endDay?: string;\n};\n\nconst { FetchGraphQL } = Utilities.network;\n\nexport default ({\n token,\n query,\n url,\n categories,\n isThemeDark,\n headline,\n actions,\n}: {\n token: string;\n query: string;\n url: string;\n categories?: string | null;\n isThemeDark?: boolean;\n headline?: HTMLElement | null;\n actions?: HTMLElement | null;\n}) => {\n const dataSlider = document.createElement('div');\n const slider = Composite.slider.events({\n isThemeDark,\n dataSlider,\n headline,\n actions,\n });\n let variables: any = { startDate: new Date().toDateString() };\n let shadowRoot: ShadowRoot | null = null;\n\n 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\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const loadEvents = async () => {\n if (categories) {\n const related = categories.split(',');\n variables.related = related;\n }\n\n const fetchVariables = {\n query,\n url,\n token,\n variables,\n };\n\n const feedData = await FetchGraphQL(fetchVariables);\n\n const slides: { element: HTMLElement; styles: string }[] =\n feedData?.data?.entries?.events.map(\n (data: TypeSlideFeedResponse, i: number) => {\n const headline = document.createElement('p');\n headline.textContent = data.title;\n\n const dateSign = Atomic.events.sign({\n startMonth: data.startMonth,\n startDay: data.startDay,\n endDay: data.endDay,\n endMonth: data.endMonth,\n isThemeDark,\n });\n const textLockup = Atomic.textLockup.date({\n headline,\n isThemeDark,\n dateSign,\n });\n\n if (i === 0) {\n slider.styles += textLockup.styles;\n slider.styles += dateSign.styles;\n }\n\n return textLockup;\n },\n );\n\n slides?.forEach((slide) => dataSlider.appendChild(slide.element));\n\n if (shadowRoot) setShadowStyles({ shadowRoot, styles: slider.styles });\n setTimeout(() => {\n slider.events.load();\n }, 100);\n };\n\n loadEvents();\n\n return {\n ...slider,\n events: {\n callback,\n },\n };\n};\n"],"names":["Utilities","slider","Composite","shadowRoot","Styles","headline","Atomic"],"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,MAAM,EAAE,aAAA,IAAiBA,mBAAAA,UAAU;AAEnC,MAAA,SAAe,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AACJ,QAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,QAAMC,UAASC,mBAAAA,UAAU,OAAO,OAAO;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,MAAI,YAAiB,EAAE,gCAAe,KAAA,GAAO,eAAa;AAC1D,MAAI,aAAgC;AAEpC,QAAM,kBAAkB,OAAO;AAAA,IAC7B,YAAAC;AAAAA,IACA;AAAA,EAAA,MAII;AACJ,UAAM,eAAe,SAAS,cAAc,OAAO;AACnD,UAAM,eAAe,MAAMC,kBAAO,UAAU,UAAU,IAAI;AAAA,MACxD;AAAA,IAAA;AAEF,iBAAa,cAAc;AAC3BD,gBAAW,YAAY,YAAY;AAAA,EACrC;AAEA,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI,YAAY;AACd,YAAM,UAAU,WAAW,MAAM,GAAG;AACpC,gBAAU,UAAU;AAAA,IACtB;AAEA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,UAAM,WAAW,MAAM,aAAa,cAAc;AAElD,UAAM,SACJ,UAAU,MAAM,SAAS,OAAO;AAAA,MAC9B,CAAC,MAA6B,MAAc;AAC1C,cAAME,YAAW,SAAS,cAAc,GAAG;AAC3CA,kBAAS,cAAc,KAAK;AAE5B,cAAM,WAAWC,mBAAAA,OAAO,OAAO,KAAK;AAAA,UAClC,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf;AAAA,QAAA,CACD;AACD,cAAM,aAAaA,mBAAAA,OAAO,WAAW,KAAK;AAAA,UACxC,UAAAD;AAAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAED,YAAI,MAAM,GAAG;AACX,UAAAJ,QAAO,UAAU,WAAW;AAC5B,UAAAA,QAAO,UAAU,SAAS;AAAA,QAC5B;AAEA,eAAO;AAAA,MACT;AAAA,IAAA;AAGJ,YAAQ,QAAQ,CAAC,UAAU,WAAW,YAAY,MAAM,OAAO,CAAC;AAEhE,QAAI,WAAY,iBAAgB,EAAE,YAAY,QAAQA,QAAO,QAAQ;AACrE,eAAW,MAAM;AACf,MAAAA,QAAO,OAAO,KAAA;AAAA,IAChB,GAAG,GAAG;AAAA,EACR;AAEA,aAAA;AAEA,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
1
+ {"version":3,"file":"slider.js","sources":["../../source/macros/slider.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport { slider as elementSlider } from '@universityofmaryland/web-elements-library/composite';\nimport {\n textLockup as elementTextLockup,\n events as elementEvents,\n} from '@universityofmaryland/web-elements-library/atomic';\n\ntype TypeSlideFeedResponse = {\n title: string;\n startMonth: string;\n startDay: string;\n endMonth?: string;\n endDay?: string;\n};\n\nexport default ({\n token,\n query,\n url,\n categories,\n isThemeDark,\n headline,\n actions,\n}: {\n token: string;\n query: string;\n url: string;\n categories?: string | null;\n isThemeDark?: boolean;\n headline?: HTMLElement | null;\n actions?: HTMLElement | null;\n}) => {\n const dataSlider = document.createElement('div');\n const slider = elementSlider.events({\n isThemeDark,\n dataSlider,\n headline,\n actions,\n });\n let variables: any = { startDate: new Date().toDateString() };\n let shadowRoot: ShadowRoot | null = null;\n\n 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\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const loadEvents = async () => {\n if (categories) {\n const related = categories.split(',');\n variables.related = related;\n }\n\n const fetchVariables = {\n query,\n url,\n token,\n variables,\n };\n\n const feedData = await fetchGraphQL(fetchVariables);\n\n const slides: { element: HTMLElement; styles: string }[] =\n feedData?.data?.entries?.events.map(\n (data: TypeSlideFeedResponse, i: number) => {\n const headline = document.createElement('p');\n headline.textContent = data.title;\n\n const dateSign = elementEvents.sign({\n startMonth: data.startMonth,\n startDay: data.startDay,\n endDay: data.endDay,\n endMonth: data.endMonth,\n isThemeDark,\n });\n const textLockup = elementTextLockup.date({\n headline,\n isThemeDark,\n dateSign,\n });\n\n if (i === 0) {\n slider.styles += textLockup.styles;\n slider.styles += dateSign.styles;\n }\n\n return textLockup;\n },\n );\n\n slides?.forEach((slide) => dataSlider.appendChild(slide.element));\n\n if (shadowRoot) setShadowStyles({ shadowRoot, styles: slider.styles });\n setTimeout(() => {\n slider.events.load();\n }, 100);\n };\n\n loadEvents();\n\n return {\n ...slider,\n events: {\n callback,\n },\n };\n};\n"],"names":["slider","elementSlider","shadowRoot","Styles","fetchGraphQL","headline","elementEvents","elementTextLockup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAA,SAAe,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AACJ,QAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,QAAMA,UAASC,UAAAA,OAAc,OAAO;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,MAAI,YAAiB,EAAE,gCAAe,KAAA,GAAO,eAAa;AAC1D,MAAI,aAAgC;AAEpC,QAAM,kBAAkB,OAAO;AAAA,IAC7B,YAAAC;AAAAA,IACA;AAAA,EAAA,MAII;AACJ,UAAM,eAAe,SAAS,cAAc,OAAO;AACnD,UAAM,eAAe,MAAMC,kBAAO,UAAU,UAAU,IAAI;AAAA,MACxD;AAAA,IAAA;AAEF,iBAAa,cAAc;AAC3BD,gBAAW,YAAY,YAAY;AAAA,EACrC;AAEA,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI,YAAY;AACd,YAAM,UAAU,WAAW,MAAM,GAAG;AACpC,gBAAU,UAAU;AAAA,IACtB;AAEA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,UAAM,WAAW,MAAME,QAAAA,aAAa,cAAc;AAElD,UAAM,SACJ,UAAU,MAAM,SAAS,OAAO;AAAA,MAC9B,CAAC,MAA6B,MAAc;AAC1C,cAAMC,YAAW,SAAS,cAAc,GAAG;AAC3CA,kBAAS,cAAc,KAAK;AAE5B,cAAM,WAAWC,OAAAA,OAAc,KAAK;AAAA,UAClC,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf;AAAA,QAAA,CACD;AACD,cAAM,aAAaC,OAAAA,WAAkB,KAAK;AAAA,UACxC,UAAAF;AAAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAED,YAAI,MAAM,GAAG;AACX,UAAAL,QAAO,UAAU,WAAW;AAC5B,UAAAA,QAAO,UAAU,SAAS;AAAA,QAC5B;AAEA,eAAO;AAAA,MACT;AAAA,IAAA;AAGJ,YAAQ,QAAQ,CAAC,UAAU,WAAW,YAAY,MAAM,OAAO,CAAC;AAEhE,QAAI,WAAY,iBAAgB,EAAE,YAAY,QAAQA,QAAO,QAAQ;AACrE,eAAW,MAAM;AACf,MAAAA,QAAO,OAAO,KAAA;AAAA,IAChB,GAAG,GAAG;AAAA,EACR;AAEA,aAAA;AAEA,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ;;"}
@@ -1,6 +1,7 @@
1
1
  import * as Styles from "@universityofmaryland/web-styles-library";
2
- import { Utilities, Composite, Atomic } from "@universityofmaryland/web-elements-library";
3
- const { FetchGraphQL } = Utilities.network;
2
+ import { fetchGraphQL } from "@universityofmaryland/web-utilities-library/network";
3
+ import { slider as slider$1 } from "@universityofmaryland/web-elements-library/composite";
4
+ import { events, textLockup } from "@universityofmaryland/web-elements-library/atomic";
4
5
  const slider = ({
5
6
  token,
6
7
  query,
@@ -11,7 +12,7 @@ const slider = ({
11
12
  actions
12
13
  }) => {
13
14
  const dataSlider = document.createElement("div");
14
- const slider2 = Composite.slider.events({
15
+ const slider2 = slider$1.events({
15
16
  isThemeDark,
16
17
  dataSlider,
17
18
  headline,
@@ -44,28 +45,28 @@ const slider = ({
44
45
  token,
45
46
  variables
46
47
  };
47
- const feedData = await FetchGraphQL(fetchVariables);
48
+ const feedData = await fetchGraphQL(fetchVariables);
48
49
  const slides = feedData?.data?.entries?.events.map(
49
50
  (data, i) => {
50
51
  const headline2 = document.createElement("p");
51
52
  headline2.textContent = data.title;
52
- const dateSign = Atomic.events.sign({
53
+ const dateSign = events.sign({
53
54
  startMonth: data.startMonth,
54
55
  startDay: data.startDay,
55
56
  endDay: data.endDay,
56
57
  endMonth: data.endMonth,
57
58
  isThemeDark
58
59
  });
59
- const textLockup = Atomic.textLockup.date({
60
+ const textLockup$1 = textLockup.date({
60
61
  headline: headline2,
61
62
  isThemeDark,
62
63
  dateSign
63
64
  });
64
65
  if (i === 0) {
65
- slider2.styles += textLockup.styles;
66
+ slider2.styles += textLockup$1.styles;
66
67
  slider2.styles += dateSign.styles;
67
68
  }
68
- return textLockup;
69
+ return textLockup$1;
69
70
  }
70
71
  );
71
72
  slides?.forEach((slide) => dataSlider.appendChild(slide.element));
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","sources":["../../source/macros/slider.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport {\n Atomic,\n Composite,\n Utilities,\n} from '@universityofmaryland/web-elements-library';\n\ntype TypeSlideFeedResponse = {\n title: string;\n startMonth: string;\n startDay: string;\n endMonth?: string;\n endDay?: string;\n};\n\nconst { FetchGraphQL } = Utilities.network;\n\nexport default ({\n token,\n query,\n url,\n categories,\n isThemeDark,\n headline,\n actions,\n}: {\n token: string;\n query: string;\n url: string;\n categories?: string | null;\n isThemeDark?: boolean;\n headline?: HTMLElement | null;\n actions?: HTMLElement | null;\n}) => {\n const dataSlider = document.createElement('div');\n const slider = Composite.slider.events({\n isThemeDark,\n dataSlider,\n headline,\n actions,\n });\n let variables: any = { startDate: new Date().toDateString() };\n let shadowRoot: ShadowRoot | null = null;\n\n 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\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const loadEvents = async () => {\n if (categories) {\n const related = categories.split(',');\n variables.related = related;\n }\n\n const fetchVariables = {\n query,\n url,\n token,\n variables,\n };\n\n const feedData = await FetchGraphQL(fetchVariables);\n\n const slides: { element: HTMLElement; styles: string }[] =\n feedData?.data?.entries?.events.map(\n (data: TypeSlideFeedResponse, i: number) => {\n const headline = document.createElement('p');\n headline.textContent = data.title;\n\n const dateSign = Atomic.events.sign({\n startMonth: data.startMonth,\n startDay: data.startDay,\n endDay: data.endDay,\n endMonth: data.endMonth,\n isThemeDark,\n });\n const textLockup = Atomic.textLockup.date({\n headline,\n isThemeDark,\n dateSign,\n });\n\n if (i === 0) {\n slider.styles += textLockup.styles;\n slider.styles += dateSign.styles;\n }\n\n return textLockup;\n },\n );\n\n slides?.forEach((slide) => dataSlider.appendChild(slide.element));\n\n if (shadowRoot) setShadowStyles({ shadowRoot, styles: slider.styles });\n setTimeout(() => {\n slider.events.load();\n }, 100);\n };\n\n loadEvents();\n\n return {\n ...slider,\n events: {\n callback,\n },\n };\n};\n"],"names":["slider","shadowRoot","headline"],"mappings":";;AAeA,MAAM,EAAE,aAAA,IAAiB,UAAU;AAEnC,MAAA,SAAe,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AACJ,QAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,QAAMA,UAAS,UAAU,OAAO,OAAO;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,MAAI,YAAiB,EAAE,gCAAe,KAAA,GAAO,eAAa;AAC1D,MAAI,aAAgC;AAEpC,QAAM,kBAAkB,OAAO;AAAA,IAC7B,YAAAC;AAAAA,IACA;AAAA,EAAA,MAII;AACJ,UAAM,eAAe,SAAS,cAAc,OAAO;AACnD,UAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,MACxD;AAAA,IAAA;AAEF,iBAAa,cAAc;AAC3BA,gBAAW,YAAY,YAAY;AAAA,EACrC;AAEA,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI,YAAY;AACd,YAAM,UAAU,WAAW,MAAM,GAAG;AACpC,gBAAU,UAAU;AAAA,IACtB;AAEA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,UAAM,WAAW,MAAM,aAAa,cAAc;AAElD,UAAM,SACJ,UAAU,MAAM,SAAS,OAAO;AAAA,MAC9B,CAAC,MAA6B,MAAc;AAC1C,cAAMC,YAAW,SAAS,cAAc,GAAG;AAC3CA,kBAAS,cAAc,KAAK;AAE5B,cAAM,WAAW,OAAO,OAAO,KAAK;AAAA,UAClC,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf;AAAA,QAAA,CACD;AACD,cAAM,aAAa,OAAO,WAAW,KAAK;AAAA,UACxC,UAAAA;AAAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAED,YAAI,MAAM,GAAG;AACX,UAAAF,QAAO,UAAU,WAAW;AAC5B,UAAAA,QAAO,UAAU,SAAS;AAAA,QAC5B;AAEA,eAAO;AAAA,MACT;AAAA,IAAA;AAGJ,YAAQ,QAAQ,CAAC,UAAU,WAAW,YAAY,MAAM,OAAO,CAAC;AAEhE,QAAI,WAAY,iBAAgB,EAAE,YAAY,QAAQA,QAAO,QAAQ;AACrE,eAAW,MAAM;AACf,MAAAA,QAAO,OAAO,KAAA;AAAA,IAChB,GAAG,GAAG;AAAA,EACR;AAEA,aAAA;AAEA,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"slider.mjs","sources":["../../source/macros/slider.ts"],"sourcesContent":["import * as Styles from '@universityofmaryland/web-styles-library';\nimport { fetchGraphQL } from '@universityofmaryland/web-utilities-library/network';\nimport { slider as elementSlider } from '@universityofmaryland/web-elements-library/composite';\nimport {\n textLockup as elementTextLockup,\n events as elementEvents,\n} from '@universityofmaryland/web-elements-library/atomic';\n\ntype TypeSlideFeedResponse = {\n title: string;\n startMonth: string;\n startDay: string;\n endMonth?: string;\n endDay?: string;\n};\n\nexport default ({\n token,\n query,\n url,\n categories,\n isThemeDark,\n headline,\n actions,\n}: {\n token: string;\n query: string;\n url: string;\n categories?: string | null;\n isThemeDark?: boolean;\n headline?: HTMLElement | null;\n actions?: HTMLElement | null;\n}) => {\n const dataSlider = document.createElement('div');\n const slider = elementSlider.events({\n isThemeDark,\n dataSlider,\n headline,\n actions,\n });\n let variables: any = { startDate: new Date().toDateString() };\n let shadowRoot: ShadowRoot | null = null;\n\n 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\n const callback = (shadow: ShadowRoot) => {\n shadowRoot = shadow;\n };\n\n const loadEvents = async () => {\n if (categories) {\n const related = categories.split(',');\n variables.related = related;\n }\n\n const fetchVariables = {\n query,\n url,\n token,\n variables,\n };\n\n const feedData = await fetchGraphQL(fetchVariables);\n\n const slides: { element: HTMLElement; styles: string }[] =\n feedData?.data?.entries?.events.map(\n (data: TypeSlideFeedResponse, i: number) => {\n const headline = document.createElement('p');\n headline.textContent = data.title;\n\n const dateSign = elementEvents.sign({\n startMonth: data.startMonth,\n startDay: data.startDay,\n endDay: data.endDay,\n endMonth: data.endMonth,\n isThemeDark,\n });\n const textLockup = elementTextLockup.date({\n headline,\n isThemeDark,\n dateSign,\n });\n\n if (i === 0) {\n slider.styles += textLockup.styles;\n slider.styles += dateSign.styles;\n }\n\n return textLockup;\n },\n );\n\n slides?.forEach((slide) => dataSlider.appendChild(slide.element));\n\n if (shadowRoot) setShadowStyles({ shadowRoot, styles: slider.styles });\n setTimeout(() => {\n slider.events.load();\n }, 100);\n };\n\n loadEvents();\n\n return {\n ...slider,\n events: {\n callback,\n },\n };\n};\n"],"names":["slider","elementSlider","shadowRoot","headline","elementEvents","textLockup","elementTextLockup"],"mappings":";;;;AAgBA,MAAA,SAAe,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAQM;AACJ,QAAM,aAAa,SAAS,cAAc,KAAK;AAC/C,QAAMA,UAASC,SAAc,OAAO;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACD,MAAI,YAAiB,EAAE,gCAAe,KAAA,GAAO,eAAa;AAC1D,MAAI,aAAgC;AAEpC,QAAM,kBAAkB,OAAO;AAAA,IAC7B,YAAAC;AAAAA,IACA;AAAA,EAAA,MAII;AACJ,UAAM,eAAe,SAAS,cAAc,OAAO;AACnD,UAAM,eAAe,MAAM,OAAO,UAAU,UAAU,IAAI;AAAA,MACxD;AAAA,IAAA;AAEF,iBAAa,cAAc;AAC3BA,gBAAW,YAAY,YAAY;AAAA,EACrC;AAEA,QAAM,WAAW,CAAC,WAAuB;AACvC,iBAAa;AAAA,EACf;AAEA,QAAM,aAAa,YAAY;AAC7B,QAAI,YAAY;AACd,YAAM,UAAU,WAAW,MAAM,GAAG;AACpC,gBAAU,UAAU;AAAA,IACtB;AAEA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAGF,UAAM,WAAW,MAAM,aAAa,cAAc;AAElD,UAAM,SACJ,UAAU,MAAM,SAAS,OAAO;AAAA,MAC9B,CAAC,MAA6B,MAAc;AAC1C,cAAMC,YAAW,SAAS,cAAc,GAAG;AAC3CA,kBAAS,cAAc,KAAK;AAE5B,cAAM,WAAWC,OAAc,KAAK;AAAA,UAClC,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf;AAAA,QAAA,CACD;AACD,cAAMC,eAAaC,WAAkB,KAAK;AAAA,UACxC,UAAAH;AAAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAED,YAAI,MAAM,GAAG;AACX,UAAAH,QAAO,UAAUK,aAAW;AAC5B,UAAAL,QAAO,UAAU,SAAS;AAAA,QAC5B;AAEA,eAAOK;AAAAA,MACT;AAAA,IAAA;AAGJ,YAAQ,QAAQ,CAAC,UAAU,WAAW,YAAY,MAAM,OAAO,CAAC;AAEhE,QAAI,WAAY,iBAAgB,EAAE,YAAY,QAAQL,QAAO,QAAQ;AACrE,eAAW,MAAM;AACf,MAAAA,QAAO,OAAO,KAAA;AAAA,IAChB,GAAG,GAAG;AAAA,EACR;AAEA,aAAA;AAEA,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF;AAEJ;"}