@parameter1/base-cms-marko-web 3.3.1 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. package/components/browser-component.marko.js +81 -0
  2. package/components/document/components/body-wrapper.marko.js +33 -0
  3. package/components/document/components/error.marko.js +85 -0
  4. package/components/document/components/lazysizes.marko.js +21 -0
  5. package/components/document/components/live-reload.marko.js +30 -0
  6. package/components/document/components/polyfill.marko.js +33 -0
  7. package/components/document/container.marko.js +54 -0
  8. package/components/document/index.marko.js +118 -0
  9. package/components/element/array.marko.js +67 -0
  10. package/components/element/audio.marko.js +33 -0
  11. package/components/element/block.marko.js +44 -0
  12. package/components/element/clear.marko.js +32 -0
  13. package/components/element/components/image.marko.js +57 -0
  14. package/components/element/components/text.marko.js +37 -0
  15. package/components/element/content/address1.marko.js +40 -0
  16. package/components/element/content/address2.marko.js +40 -0
  17. package/components/element/content/audio.marko.js +40 -0
  18. package/components/element/content/authors.marko.js +43 -0
  19. package/components/element/content/body.marko.js +62 -0
  20. package/components/element/content/byline.marko.js +41 -0
  21. package/components/element/content/city-state-zip.marko.js +40 -0
  22. package/components/element/content/contributors.marko.js +43 -0
  23. package/components/element/content/country.marko.js +40 -0
  24. package/components/element/content/embed-code.marko.js +41 -0
  25. package/components/element/content/end-date.marko.js +42 -0
  26. package/components/element/content/ends.marko.js +41 -0
  27. package/components/element/content/fax.marko.js +40 -0
  28. package/components/element/content/images.marko.js +44 -0
  29. package/components/element/content/mobile.marko.js +40 -0
  30. package/components/element/content/name.marko.js +41 -0
  31. package/components/element/content/phone.marko.js +40 -0
  32. package/components/element/content/photographers.marko.js +43 -0
  33. package/components/element/content/public-email.marko.js +47 -0
  34. package/components/element/content/published.marko.js +42 -0
  35. package/components/element/content/short-name.marko.js +41 -0
  36. package/components/element/content/sidebars.marko.js +63 -0
  37. package/components/element/content/source.marko.js +40 -0
  38. package/components/element/content/sponsors.marko.js +43 -0
  39. package/components/element/content/start-date.marko.js +42 -0
  40. package/components/element/content/starts.marko.js +41 -0
  41. package/components/element/content/teaser.marko.js +41 -0
  42. package/components/element/content/title.marko.js +40 -0
  43. package/components/element/content/tollfree.marko.js +40 -0
  44. package/components/element/content/website.marko.js +51 -0
  45. package/components/element/date.marko.js +27 -0
  46. package/components/element/image/caption.marko.js +41 -0
  47. package/components/element/image/credit.marko.js +41 -0
  48. package/components/element/image/display-name.marko.js +40 -0
  49. package/components/element/img.marko.js +43 -0
  50. package/components/element/index.marko.js +47 -0
  51. package/components/element/link.marko.js +54 -0
  52. package/components/element/magazine-issue/description.marko.js +41 -0
  53. package/components/element/magazine-issue/digital-edition-url.marko.js +52 -0
  54. package/components/element/magazine-issue/name.marko.js +41 -0
  55. package/components/element/magazine-publication/description.marko.js +41 -0
  56. package/components/element/magazine-publication/einquiry-url.marko.js +52 -0
  57. package/components/element/magazine-publication/name.marko.js +41 -0
  58. package/components/element/magazine-publication/renewal-url.marko.js +52 -0
  59. package/components/element/magazine-publication/reprints-url.marko.js +52 -0
  60. package/components/element/magazine-publication/subscribe-url.marko.js +52 -0
  61. package/components/element/obj-array.marko.js +56 -0
  62. package/components/element/obj-audio.marko.js +51 -0
  63. package/components/element/obj-date.marko.js +54 -0
  64. package/components/element/obj-nodes.marko.js +62 -0
  65. package/components/element/obj-text.marko.js +53 -0
  66. package/components/element/obj.marko.js +61 -0
  67. package/components/element/picture.marko.js +83 -0
  68. package/components/element/text.marko.js +76 -0
  69. package/components/element/website-section/description.marko.js +45 -0
  70. package/components/element/website-section/hierarchy.marko.js +61 -0
  71. package/components/element/website-section/name.marko.js +46 -0
  72. package/components/load-more/index.marko.js +119 -0
  73. package/components/load-more/trigger.marko.js +40 -0
  74. package/components/node/body.marko.js +112 -0
  75. package/components/node/element.marko.js +39 -0
  76. package/components/node/footer.marko.js +63 -0
  77. package/components/node/header.marko.js +63 -0
  78. package/components/node/image-inner-wrapper.marko.js +116 -0
  79. package/components/node/image-wrapper.marko.js +98 -0
  80. package/components/node/image.marko.js +77 -0
  81. package/components/node/index.marko.js +100 -0
  82. package/components/node-list/body.marko.js +50 -0
  83. package/components/node-list/element.marko.js +35 -0
  84. package/components/node-list/footer.marko.js +50 -0
  85. package/components/node-list/header.marko.js +50 -0
  86. package/components/node-list/index.marko.js +93 -0
  87. package/components/node-list/node.marko.js +49 -0
  88. package/components/node-list/nodes.marko.js +126 -0
  89. package/components/page/container.marko.js +46 -0
  90. package/components/page/description.marko.js +26 -0
  91. package/components/page/image.marko.js +122 -0
  92. package/components/page/layouts/content.marko.js +63 -0
  93. package/components/page/layouts/default.marko.js +61 -0
  94. package/components/page/layouts/dynamic-page.marko.js +59 -0
  95. package/components/page/layouts/magazine-issue.marko.js +59 -0
  96. package/components/page/layouts/magazine-publication.marko.js +59 -0
  97. package/components/page/layouts/website-section.marko.js +78 -0
  98. package/components/page/metadata/components/common.marko.js +108 -0
  99. package/components/page/metadata/content.marko.js +201 -0
  100. package/components/page/metadata/default.marko.js +29 -0
  101. package/components/page/metadata/dynamic-page.marko.js +83 -0
  102. package/components/page/metadata/magazine-issue.marko.js +84 -0
  103. package/components/page/metadata/magazine-publication.marko.js +80 -0
  104. package/components/page/metadata/website-section.marko.js +79 -0
  105. package/components/page/rel-canonical.marko.js +42 -0
  106. package/components/page/title.marko.js +46 -0
  107. package/components/page/wrapper.marko.js +63 -0
  108. package/components/resolve/page.marko.js +49 -0
  109. package/components/rss/website-section.marko.js +46 -0
  110. package/package.json +2 -2
  111. package/utils/embedded-media/image.js +10 -0
@@ -0,0 +1,79 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/page/metadata/website-section.marko",
6
+ marko_component = require("./website-section.marko"),
7
+ marko_renderer = require("marko/src/runtime/components/renderer"),
8
+ module_gql = require("graphql-tag"),
9
+ gql = module_gql.default || module_gql,
10
+ module_baseCmsObjectPath_module = require("@parameter1/base-cms-object-path"),
11
+ baseCmsObjectPath_module = module_baseCmsObjectPath_module.default || module_baseCmsObjectPath_module,
12
+ get = module_baseCmsObjectPath_module.get,
13
+ module_baseCmsUtils_module = require("@parameter1/base-cms-utils"),
14
+ baseCmsUtils_module = module_baseCmsUtils_module.default || module_baseCmsUtils_module,
15
+ warn = module_baseCmsUtils_module.warn,
16
+ common_template = require("./components/common.marko"),
17
+ marko_loadTag = require("marko/src/runtime/helpers/load-tag"),
18
+ common_tag = marko_loadTag(common_template),
19
+ marko_web_query_template = require("@parameter1/base-cms-marko-core/components/queries/index.marko"),
20
+ marko_web_query_tag = marko_loadTag(marko_web_query_template);
21
+
22
+ function render(input, out, __component, component, state) {
23
+ var data = input;
24
+
25
+ const { alias } = input;
26
+
27
+ const queryFragment = gql`
28
+ fragment WebsiteSectionPageMetadataFragment on WebsiteSection {
29
+ id
30
+ canonicalPath
31
+ metadata {
32
+ title
33
+ description
34
+ }
35
+ }
36
+ `;
37
+
38
+ if (alias) {
39
+ marko_web_query_tag({
40
+ collapsible: true,
41
+ name: "website-section",
42
+ params: {
43
+ alias: alias,
44
+ queryFragment: queryFragment
45
+ },
46
+ whenEmpty: {
47
+ renderBody: function(out) {
48
+ warn(`Unable to create website section metadata: no section found for ${alias}.`);
49
+ }
50
+ },
51
+ renderBody: function(out, { node }) {
52
+ const metadata = {
53
+ title: get(node, "metadata.title"),
54
+ description: get(node, "metadata.description"),
55
+ canonicalPath: node.canonicalPath,
56
+ };
57
+
58
+ common_tag(metadata, out, __component, "1");
59
+
60
+ out.w("<meta property=\"og:type\" content=\"website\">");
61
+ }
62
+ }, out, __component, "0");
63
+ } else {
64
+ warn('Unable to create website section metadata: no section alias was provided.');
65
+ }
66
+ }
67
+
68
+ marko_template._ = marko_renderer(render, {
69
+ ___type: marko_componentType
70
+ }, marko_component);
71
+
72
+ marko_template.meta = {
73
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/page/metadata/website-section.marko",
74
+ component: "./website-section.marko",
75
+ tags: [
76
+ "./components/common.marko",
77
+ "@parameter1/base-cms-marko-core/components/queries/index.marko"
78
+ ]
79
+ };
@@ -0,0 +1,42 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/page/rel-canonical.marko",
6
+ marko_renderer = require("marko/src/runtime/components/renderer"),
7
+ module_baseCmsUtils_module = require("@parameter1/base-cms-utils"),
8
+ baseCmsUtils_module = module_baseCmsUtils_module.default || module_baseCmsUtils_module,
9
+ cleanPath = module_baseCmsUtils_module.cleanPath,
10
+ marko_dynamicTag = require("marko/src/runtime/helpers/dynamic-tag"),
11
+ marko_attr = require("marko/src/runtime/html/helpers/attr");
12
+
13
+ function render(input, out, __component, component, state) {
14
+ var data = input;
15
+
16
+ const { req, requestOrigin } = out.global;
17
+
18
+ const path = input.path || req.path;
19
+
20
+ const href = input.url || `${out.global.requestOrigin}/${cleanPath(path)}`;
21
+
22
+ if (input.renderBody) {
23
+ marko_dynamicTag(out, input.renderBody, function() {
24
+ return {
25
+ href: href
26
+ };
27
+ }, null, null, null, __component, "0");
28
+ } else {
29
+ out.w("<link rel=\"canonical\"" +
30
+ marko_attr("href", href) +
31
+ ">");
32
+ }
33
+ }
34
+
35
+ marko_template._ = marko_renderer(render, {
36
+ ___implicit: true,
37
+ ___type: marko_componentType
38
+ });
39
+
40
+ marko_template.meta = {
41
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/page/rel-canonical.marko"
42
+ };
@@ -0,0 +1,46 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/page/title.marko",
6
+ marko_renderer = require("marko/src/runtime/components/renderer"),
7
+ module_baseCmsUtils_module = require("@parameter1/base-cms-utils"),
8
+ baseCmsUtils_module = module_baseCmsUtils_module.default || module_baseCmsUtils_module,
9
+ cleanPath = module_baseCmsUtils_module.cleanPath,
10
+ marko_dynamicTag = require("marko/src/runtime/helpers/dynamic-tag"),
11
+ helpers_escape_xml = require("marko/src/runtime/html/helpers/escape-xml"),
12
+ marko_escapeXml = helpers_escape_xml.x;
13
+
14
+ function render(input, out, __component, component, state) {
15
+ var data = input;
16
+
17
+ const { config } = out.global;
18
+
19
+ const parts = [
20
+ input.value,
21
+ config.website("name"),
22
+ ];
23
+
24
+ const concatWith = input.concatWith || "|";
25
+
26
+ const title = parts.filter(v => v).join(` ${concatWith} `);
27
+
28
+ out.w("<title>");
29
+
30
+ if (input.renderBody) {
31
+ marko_dynamicTag(out, input.renderBody, null, null, null, null, __component, "1");
32
+ } else {
33
+ out.w(marko_escapeXml(title));
34
+ }
35
+
36
+ out.w("</title>");
37
+ }
38
+
39
+ marko_template._ = marko_renderer(render, {
40
+ ___implicit: true,
41
+ ___type: marko_componentType
42
+ });
43
+
44
+ marko_template.meta = {
45
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/page/title.marko"
46
+ };
@@ -0,0 +1,63 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/page/wrapper.marko",
6
+ marko_renderer = require("marko/src/runtime/components/renderer"),
7
+ module_baseCmsObjectPath_module = require("@parameter1/base-cms-object-path"),
8
+ baseCmsObjectPath_module = module_baseCmsObjectPath_module.default || module_baseCmsObjectPath_module,
9
+ getAsArray = module_baseCmsObjectPath_module.getAsArray,
10
+ marko_forOf = require("marko/src/runtime/helpers/for-of"),
11
+ marko_assign = require("marko/src/runtime/helpers/assign"),
12
+ marko_web_element_template = require("../element"),
13
+ marko_loadTag = require("marko/src/runtime/helpers/load-tag"),
14
+ marko_web_element_tag = marko_loadTag(marko_web_element_template),
15
+ marko_dynamicTag = require("marko/src/runtime/helpers/dynamic-tag");
16
+
17
+ function render(input, out, __component, component, state) {
18
+ var data = input;
19
+
20
+ const blockName = input.blockName || "page-wrapper";
21
+
22
+ const tag = input.tag || "div";
23
+
24
+ const sections = getAsArray(input.sections);
25
+
26
+ const modifiers = [...getAsArray(input.modifiers)];
27
+
28
+ const classNames = [blockName, ...modifiers.map(mod => `${blockName}--${mod}`), input.class];
29
+
30
+ if (sections.length) {
31
+ marko_dynamicTag(out, tag, function() {
32
+ return marko_assign({}, input.attrs, {
33
+ class: classNames
34
+ });
35
+ }, function(out) {
36
+ var $for$0 = 0;
37
+
38
+ marko_forOf(sections, function(section) {
39
+ var $keyScope$0 = "[" + (($for$0++) + "]");
40
+
41
+ marko_web_element_tag(marko_assign({
42
+ name: "default",
43
+ tag: "div"
44
+ }, section, {
45
+ blockName: blockName,
46
+ name: "section"
47
+ }), out, __component, "1" + $keyScope$0);
48
+ });
49
+ }, null, null, __component, "0");
50
+ }
51
+ }
52
+
53
+ marko_template._ = marko_renderer(render, {
54
+ ___implicit: true,
55
+ ___type: marko_componentType
56
+ });
57
+
58
+ marko_template.meta = {
59
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/page/wrapper.marko",
60
+ tags: [
61
+ "../element"
62
+ ]
63
+ };
@@ -0,0 +1,49 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/resolve/page.marko",
6
+ marko_component = require("./page.marko"),
7
+ marko_renderer = require("marko/src/runtime/components/renderer"),
8
+ module_baseCmsUtils_module = require("@parameter1/base-cms-utils"),
9
+ baseCmsUtils_module = module_baseCmsUtils_module.default || module_baseCmsUtils_module,
10
+ isFunction = module_baseCmsUtils_module.isFunction,
11
+ module_baseCmsObjectPath_module = require("@parameter1/base-cms-object-path"),
12
+ baseCmsObjectPath_module = module_baseCmsObjectPath_module.default || module_baseCmsObjectPath_module,
13
+ getAsObject = module_baseCmsObjectPath_module.getAsObject,
14
+ marko_dynamicTag = require("marko/src/runtime/helpers/dynamic-tag"),
15
+ marko_web_resolve_template = require("@parameter1/base-cms-marko-core/components/resolve.marko"),
16
+ marko_loadTag = require("marko/src/runtime/helpers/load-tag"),
17
+ marko_web_resolve_tag = marko_loadTag(marko_web_resolve_template);
18
+
19
+ function render(input, out, __component, component, state) {
20
+ var data = input;
21
+
22
+ const node = getAsObject(input, "node");
23
+
24
+ if (isFunction(node.load)) {
25
+ marko_web_resolve_tag({
26
+ promise: node.load(),
27
+ renderBody: function(out, { resolved }) {
28
+ marko_dynamicTag(out, input.renderBody, function() {
29
+ return {
30
+ resolved: resolved,
31
+ data: resolved.data
32
+ };
33
+ }, null, null, null, __component, "1");
34
+ }
35
+ }, out, __component, "0");
36
+ }
37
+ }
38
+
39
+ marko_template._ = marko_renderer(render, {
40
+ ___type: marko_componentType
41
+ }, marko_component);
42
+
43
+ marko_template.meta = {
44
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/resolve/page.marko",
45
+ component: "./page.marko",
46
+ tags: [
47
+ "@parameter1/base-cms-marko-core/components/resolve.marko"
48
+ ]
49
+ };
@@ -0,0 +1,46 @@
1
+ // Compiled using marko@4.20.2 - DO NOT EDIT
2
+ "use strict";
3
+
4
+ var marko_template = module.exports = require("marko/src/html").t(__filename),
5
+ marko_componentType = "/@parameter1/base-cms-marko-web$3.0.0/components/rss/website-section.marko",
6
+ marko_renderer = require("marko/src/runtime/components/renderer"),
7
+ module_url_module = require("url"),
8
+ url_module = module_url_module.default || module_url_module,
9
+ URLSearchParams = module_url_module.URLSearchParams,
10
+ marko_attr = require("marko/src/runtime/html/helpers/attr");
11
+
12
+ function render(input, out, __component, component, state) {
13
+ var data = input;
14
+
15
+ const { config } = out.global;
16
+
17
+ const { queryName, queryParams, channelParams } = input;
18
+
19
+ const defaultTitle = input.name ? `RSS Feed for ${input.name}` : "RSS Feed";
20
+
21
+ const title = input.title || defaultTitle;
22
+
23
+ const query = new URLSearchParams();
24
+
25
+ query.append("input", JSON.stringify(queryParams));
26
+
27
+ if (channelParams) query.append("channel", JSON.stringify(channelParams));
28
+
29
+ const href = `${config.rssMountPoint()}/${queryName}.xml?${query}`;
30
+
31
+ if (queryName) {
32
+ out.w("<link rel=\"alternate\" type=\"application/rss+xml\"" +
33
+ marko_attr("title", title) +
34
+ marko_attr("href", href) +
35
+ ">");
36
+ }
37
+ }
38
+
39
+ marko_template._ = marko_renderer(render, {
40
+ ___implicit: true,
41
+ ___type: marko_componentType
42
+ });
43
+
44
+ marko_template.meta = {
45
+ id: "/@parameter1/base-cms-marko-web$3.0.0/components/rss/website-section.marko"
46
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parameter1/base-cms-marko-web",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "description": "Core Marko+Express components for BaseCMS websites",
5
5
  "author": "Jacob Bare <jacob@parameter1.com>",
6
6
  "main": "index.js",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "a9bdf4adb57d161694e527e3818e149dc6ed95b0"
49
+ "gitHead": "28ccd5f7561f59051f43eefc429804866368a1d3"
50
50
  }
@@ -6,6 +6,13 @@ const stringifyAttrs = attrs => Object.keys(attrs).reduce((arr, key) => {
6
6
  return arr;
7
7
  }, []).join(' ');
8
8
 
9
+ const buildWrapperClass = ({ caption, credit }) => {
10
+ const classes = [];
11
+ if (caption) classes.push('image-with-caption');
12
+ if (credit) classes.push('image-with-credit');
13
+ return classes.join(' ');
14
+ };
15
+
9
16
  module.exports = (tag, { config } = {}, { lazyloadImages } = {}) => {
10
17
  const lazyload = lazyloadImages == null ? config.lazyloadImages() : lazyloadImages;
11
18
  const src = tag.get('src');
@@ -17,10 +24,13 @@ module.exports = (tag, { config } = {}, { lazyloadImages } = {}) => {
17
24
  const width = tag.get('width');
18
25
  const height = tag.get('height');
19
26
 
27
+ const wrapperClass = buildWrapperClass({ caption, credit });
28
+
20
29
  const attrs = {
21
30
  'data-embed-type': tag.type,
22
31
  'data-embed-id': tag.id,
23
32
  'data-embed-align': align,
33
+ ...(wrapperClass && { class: wrapperClass }),
24
34
  };
25
35
 
26
36
  const minWidth = 400;