@blaze-cms/react-page-builder 0.125.0-f-admin-updates.3 → 0.125.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 (159) hide show
  1. package/CHANGELOG.md +65 -2
  2. package/README.md +14 -4
  3. package/example.env +1 -0
  4. package/lib/components/Button.js +14 -5
  5. package/lib/components/Button.js.map +1 -1
  6. package/lib/components/Card/Card.js +53 -25
  7. package/lib/components/Card/Card.js.map +1 -1
  8. package/lib/components/Card/CardContainer.js +2 -1
  9. package/lib/components/Card/CardContainer.js.map +1 -1
  10. package/lib/components/Card/constants.js +3 -1
  11. package/lib/components/Card/constants.js.map +1 -1
  12. package/lib/components/ContentGroup/ContentGroup.js +29 -0
  13. package/lib/components/ContentGroup/ContentGroup.js.map +1 -0
  14. package/lib/components/ContentGroup/ContentGroupTabs.js +94 -0
  15. package/lib/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  16. package/lib/components/{Login → ContentGroup}/index.js +2 -2
  17. package/lib/components/ContentGroup/index.js.map +1 -0
  18. package/lib/components/ContentGroupSection/ContentGroupSection.js +30 -0
  19. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  20. package/lib/components/{PasswordReset → ContentGroupSection}/index.js +2 -2
  21. package/lib/components/ContentGroupSection/index.js.map +1 -0
  22. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  23. package/lib/components/List/components/Cards/CardsRenderItem.js +2 -1
  24. package/lib/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  25. package/lib/components/index.js +10 -15
  26. package/lib/components/index.js.map +1 -1
  27. package/lib/constants/index.js +2 -14
  28. package/lib/constants/index.js.map +1 -1
  29. package/lib/hooks/helpers/get-banners-by-type.js +1 -1
  30. package/lib/hooks/helpers/get-banners-by-type.js.map +1 -1
  31. package/lib/index.js +6 -0
  32. package/lib/index.js.map +1 -1
  33. package/lib-es/components/Button.js +13 -6
  34. package/lib-es/components/Button.js.map +1 -1
  35. package/lib-es/components/Card/Card.js +34 -8
  36. package/lib-es/components/Card/Card.js.map +1 -1
  37. package/lib-es/components/Card/CardContainer.js +2 -1
  38. package/lib-es/components/Card/CardContainer.js.map +1 -1
  39. package/lib-es/components/Card/constants.js +2 -1
  40. package/lib-es/components/Card/constants.js.map +1 -1
  41. package/lib-es/components/ContentGroup/ContentGroup.js +22 -0
  42. package/lib-es/components/ContentGroup/ContentGroup.js.map +1 -0
  43. package/lib-es/components/ContentGroup/ContentGroupTabs.js +72 -0
  44. package/lib-es/components/ContentGroup/ContentGroupTabs.js.map +1 -0
  45. package/lib-es/components/ContentGroup/index.js +3 -0
  46. package/lib-es/components/ContentGroup/index.js.map +1 -0
  47. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +23 -0
  48. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -0
  49. package/lib-es/components/ContentGroupSection/index.js +3 -0
  50. package/lib-es/components/ContentGroupSection/index.js.map +1 -0
  51. package/lib-es/components/List/components/Cards/CardsRender.js.map +1 -1
  52. package/lib-es/components/List/components/Cards/CardsRenderItem.js +2 -1
  53. package/lib-es/components/List/components/Cards/CardsRenderItem.js.map +1 -1
  54. package/lib-es/components/index.js +3 -4
  55. package/lib-es/components/index.js.map +1 -1
  56. package/lib-es/constants/index.js +1 -7
  57. package/lib-es/constants/index.js.map +1 -1
  58. package/lib-es/hooks/helpers/get-banners-by-type.js +1 -1
  59. package/lib-es/hooks/helpers/get-banners-by-type.js.map +1 -1
  60. package/lib-es/index.js +1 -1
  61. package/lib-es/index.js.map +1 -1
  62. package/package.json +7 -6
  63. package/src/components/Button.js +11 -4
  64. package/src/components/Card/Card.js +37 -5
  65. package/src/components/Card/CardContainer.js +2 -1
  66. package/src/components/Card/constants.js +2 -1
  67. package/src/components/ContentGroup/ContentGroup.js +17 -0
  68. package/src/components/ContentGroup/ContentGroupTabs.js +74 -0
  69. package/src/components/ContentGroup/index.js +3 -0
  70. package/src/components/ContentGroupSection/ContentGroupSection.js +17 -0
  71. package/src/components/ContentGroupSection/index.js +3 -0
  72. package/src/components/List/components/Cards/CardsRender.js +1 -0
  73. package/src/components/List/components/Cards/CardsRenderItem.js +2 -1
  74. package/src/components/index.js +8 -8
  75. package/src/constants/index.js +0 -13
  76. package/src/hooks/helpers/get-banners-by-type.js +1 -1
  77. package/src/index.js +1 -1
  78. package/tests/unit/src/components/Button.test.js +7 -0
  79. package/tests/unit/src/components/Card/Card.test.js +18 -7
  80. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +5 -0
  81. package/tests/unit/src/components/ContentGroup/ContentGroup.test.js +13 -0
  82. package/tests/unit/src/components/ContentGroup/ContentGroupTabs.test.js +16 -0
  83. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroup.test.js.snap +5 -0
  84. package/tests/unit/src/components/ContentGroup/__snapshots__/ContentGroupTabs.test.js.snap +5 -0
  85. package/tests/unit/src/components/ContentGroupSection/ContentGroupSection.test.js +17 -0
  86. package/tests/unit/src/components/ContentGroupSection/__snapshots__/ContentGroupSection.test.js.snap +15 -0
  87. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -12
  88. package/lib/components/Login/LoggedInMessage.js +0 -28
  89. package/lib/components/Login/LoggedInMessage.js.map +0 -1
  90. package/lib/components/Login/Login.js +0 -135
  91. package/lib/components/Login/Login.js.map +0 -1
  92. package/lib/components/Login/LoginForm.js +0 -112
  93. package/lib/components/Login/LoginForm.js.map +0 -1
  94. package/lib/components/Login/helpers/check-gtm-children.js +0 -42
  95. package/lib/components/Login/helpers/check-gtm-children.js.map +0 -1
  96. package/lib/components/Login/helpers/get-url-to-use.js +0 -18
  97. package/lib/components/Login/helpers/get-url-to-use.js.map +0 -1
  98. package/lib/components/Login/helpers/index.js +0 -22
  99. package/lib/components/Login/helpers/index.js.map +0 -1
  100. package/lib/components/Login/index.js.map +0 -1
  101. package/lib/components/PasswordReset/PasswordReset.js +0 -172
  102. package/lib/components/PasswordReset/PasswordReset.js.map +0 -1
  103. package/lib/components/PasswordReset/helpers/index.js +0 -15
  104. package/lib/components/PasswordReset/helpers/index.js.map +0 -1
  105. package/lib/components/PasswordReset/helpers/validatePassword.js +0 -16
  106. package/lib/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  107. package/lib/components/PasswordReset/index.js.map +0 -1
  108. package/lib/components/PasswordResetRequest/PasswordResetRequest.js +0 -114
  109. package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  110. package/lib/components/PasswordResetRequest/index.js +0 -12
  111. package/lib/components/PasswordResetRequest/index.js.map +0 -1
  112. package/lib-es/components/Login/LoggedInMessage.js +0 -18
  113. package/lib-es/components/Login/LoggedInMessage.js.map +0 -1
  114. package/lib-es/components/Login/Login.js +0 -83
  115. package/lib-es/components/Login/Login.js.map +0 -1
  116. package/lib-es/components/Login/LoginForm.js +0 -89
  117. package/lib-es/components/Login/LoginForm.js.map +0 -1
  118. package/lib-es/components/Login/helpers/check-gtm-children.js +0 -35
  119. package/lib-es/components/Login/helpers/check-gtm-children.js.map +0 -1
  120. package/lib-es/components/Login/helpers/get-url-to-use.js +0 -10
  121. package/lib-es/components/Login/helpers/get-url-to-use.js.map +0 -1
  122. package/lib-es/components/Login/helpers/index.js +0 -4
  123. package/lib-es/components/Login/helpers/index.js.map +0 -1
  124. package/lib-es/components/Login/index.js +0 -3
  125. package/lib-es/components/Login/index.js.map +0 -1
  126. package/lib-es/components/PasswordReset/PasswordReset.js +0 -144
  127. package/lib-es/components/PasswordReset/PasswordReset.js.map +0 -1
  128. package/lib-es/components/PasswordReset/helpers/index.js +0 -3
  129. package/lib-es/components/PasswordReset/helpers/index.js.map +0 -1
  130. package/lib-es/components/PasswordReset/helpers/validatePassword.js +0 -7
  131. package/lib-es/components/PasswordReset/helpers/validatePassword.js.map +0 -1
  132. package/lib-es/components/PasswordReset/index.js +0 -3
  133. package/lib-es/components/PasswordReset/index.js.map +0 -1
  134. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js +0 -92
  135. package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js.map +0 -1
  136. package/lib-es/components/PasswordResetRequest/index.js +0 -3
  137. package/lib-es/components/PasswordResetRequest/index.js.map +0 -1
  138. package/src/components/Login/LoggedInMessage.js +0 -24
  139. package/src/components/Login/Login.js +0 -74
  140. package/src/components/Login/LoginForm.js +0 -81
  141. package/src/components/Login/helpers/check-gtm-children.js +0 -30
  142. package/src/components/Login/helpers/get-url-to-use.js +0 -6
  143. package/src/components/Login/helpers/index.js +0 -4
  144. package/src/components/Login/index.js +0 -3
  145. package/src/components/PasswordReset/PasswordReset.js +0 -120
  146. package/src/components/PasswordReset/helpers/index.js +0 -3
  147. package/src/components/PasswordReset/helpers/validatePassword.js +0 -8
  148. package/src/components/PasswordReset/index.js +0 -3
  149. package/src/components/PasswordResetRequest/PasswordResetRequest.js +0 -82
  150. package/src/components/PasswordResetRequest/index.js +0 -3
  151. package/tests/unit/src/components/Login/Login.test.js +0 -36
  152. package/tests/unit/src/components/Login/__snapshots__/Login.test.js.snap +0 -103
  153. package/tests/unit/src/components/Login/helpers/check-gtm-children.test.js +0 -60
  154. package/tests/unit/src/components/Login/helpers/get-url-to-use.test.js +0 -15
  155. package/tests/unit/src/components/PasswordReset/PasswordReset.test.js +0 -85
  156. package/tests/unit/src/components/PasswordReset/__snapshots__/PasswordReset.test.js.snap +0 -83
  157. package/tests/unit/src/components/PasswordReset/helpers/validatePassword.test.js +0 -21
  158. package/tests/unit/src/components/PasswordResetRequest/PasswordResetRequest.test.js +0 -79
  159. package/tests/unit/src/components/PasswordResetRequest/__snapshots__/PasswordResetRequest.test.js.snap +0 -39
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- const _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction", "childSeoVisibility", "afterClickText"];
4
+ const _excluded = ["type", "text", "url", "icon", "name", "style", "children", "clickAction", "childSeoVisibility", "afterClickText", "parent"];
5
5
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  import React, { useState, Fragment, useEffect } from 'react';
@@ -12,6 +12,7 @@ import BlazeButton from '@blaze-react/button';
12
12
  import { handleLogout } from '@blaze-cms/core-auth-ui';
13
13
  import { useApolloClient } from '@apollo/client';
14
14
  import PropTypes, { bool, string } from 'prop-types';
15
+ import { useStringTemplate } from '@blaze-cms/utils-handlebars';
15
16
  import ClickWrapper from './ClickWrapper';
16
17
  import BlazeLink from './BlazeLink';
17
18
  import { withTitle } from '../HOC';
@@ -29,7 +30,8 @@ const Button = props => {
29
30
  children,
30
31
  clickAction,
31
32
  childSeoVisibility,
32
- afterClickText
33
+ afterClickText,
34
+ parent
33
35
  } = props,
34
36
  otherProps = _objectWithoutProperties(props, _excluded);
35
37
  const client = useApolloClient();
@@ -40,6 +42,9 @@ const Button = props => {
40
42
  blaze_auth: blazeCookie
41
43
  } = cookies;
42
44
  const [showChildren, setShowChildren] = useState(false);
45
+ const {
46
+ data: [textToUse, afterClickTextToUse, urlToUse]
47
+ } = useStringTemplate(parent, [text, afterClickText, url]);
43
48
  useEffect(() => {
44
49
  setShowChildren(false);
45
50
  }, [router.asPath]);
@@ -50,7 +55,7 @@ const Button = props => {
50
55
  };
51
56
  const logout = () => {
52
57
  handleLogout(client);
53
- url ? router.reload(url) : router.reload();
58
+ url ? router.reload(urlToUse) : router.reload();
54
59
  };
55
60
  const handleClick = () => {
56
61
  if (isLogoutButton) logout();
@@ -63,13 +68,13 @@ const Button = props => {
63
68
  style
64
69
  }, otherProps));
65
70
  const currentProps = url ? {
66
- href: url,
71
+ href: urlToUse,
67
72
  title: name
68
73
  } : {
69
74
  name
70
75
  };
71
76
  const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;
72
- updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);
77
+ updateChildrensParent(children, parent.itemId, parent.itemEntity);
73
78
  const renderedChildren = renderChildren(children, {
74
79
  onClose: handleClick
75
80
  });
@@ -88,9 +93,10 @@ const Button = props => {
88
93
  onClick: handleClick
89
94
  }, currentProps), icon && /*#__PURE__*/React.createElement("i", {
90
95
  className: icon
91
- }), showChildren ? afterClickText : text));
96
+ }), showChildren ? afterClickTextToUse : textToUse));
92
97
  };
93
98
  Button.propTypes = {
99
+ parent: PropTypes.object,
94
100
  clickAction: PropTypes.string,
95
101
  text: PropTypes.string,
96
102
  afterClickText: string,
@@ -104,6 +110,7 @@ Button.propTypes = {
104
110
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
105
111
  };
106
112
  Button.defaultProps = {
113
+ parent: {},
107
114
  clickAction: '',
108
115
  text: '',
109
116
  afterClickText: '',
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","asPath","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","propTypes","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(url) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickText : text}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n url ? router.reload(urlToUse) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
@@ -1,13 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- const _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "enableCarousel", "titleOverlayModifier", "overlayModifier", "gridModifier"];
3
+ const _excluded = ["id", "image", "name", "url", "entity", "entityProps", "alternativePreHeader", "alternativeHeadline", "category", "modifier", "parsedPropsToDisplay", "propsToDisplay", "propsToDisplayModifiers", "gtmId", "style", "priority", "cardChildren", "gtmChildren", "displayCategory", "displayThumbnail", "displayTitle", "enableOverlay", "enableCarousel", "titleOverlayModifier", "overlayModifier", "gridModifier"];
3
4
  import React, { Fragment } from 'react';
5
+ import { useRouter } from 'next/router';
4
6
  import PropTypes from 'prop-types';
5
7
  import BlazeLink from '../BlazeLink';
6
8
  import ClickWrapper from '../ClickWrapper';
7
9
  import { getModifiers, renderChildren, updateChildrensParent, getClickWrapperOptions } from '../../helpers';
8
10
  import LazyImage from '../LazyImage';
9
11
  import { getPublishedListingUrl, useDynamicSizeKey } from './helpers';
10
- import { CARD_STRING } from './constants';
12
+ import { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';
11
13
  const Card = _ref => {
12
14
  let {
13
15
  id,
@@ -20,6 +22,7 @@ const Card = _ref => {
20
22
  alternativeHeadline,
21
23
  category,
22
24
  modifier,
25
+ parsedPropsToDisplay,
23
26
  propsToDisplay,
24
27
  propsToDisplayModifiers,
25
28
  gtmId,
@@ -38,6 +41,7 @@ const Card = _ref => {
38
41
  } = _ref,
39
42
  otherProps = _objectWithoutProperties(_ref, _excluded);
40
43
  updateChildrensParent(cardChildren, id, entity);
44
+ const router = useRouter();
41
45
  const {
42
46
  imageSrc,
43
47
  shouldDisplayThumbnail,
@@ -78,9 +82,22 @@ const Card = _ref => {
78
82
  const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);
79
83
  const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${enableOverlay && enableCarousel ? overlayModifier : ''}`;
80
84
  const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${enableOverlay && enableCarousel ? titleOverlayModifier : ''}`;
81
- return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", {
85
+ const handleCardClick = e => {
86
+ if (!url) return;
87
+ const clickEventTag = e.target.tagName.toLowerCase();
88
+ const clickEventRole = e.target.role;
89
+ const shouldTriggerRouteChange = clickEventRole !== 'button' && !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);
90
+ if (shouldTriggerRouteChange) router.push(`/Resolver`, url);
91
+ };
92
+
93
+ // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS
94
+ const clickProps = url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS ? {
95
+ onClick: handleCardClick,
96
+ role: 'button'
97
+ } : {};
98
+ return /*#__PURE__*/React.createElement(Wrapper, wrapperProps, /*#__PURE__*/React.createElement("div", _extends({
82
99
  className: classNameWithModifiers
83
- }, shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
100
+ }, clickProps), shouldDisplayThumbnail && /*#__PURE__*/React.createElement("div", {
84
101
  className: getModifiers('card__image', modifiers)
85
102
  }, /*#__PURE__*/React.createElement(BlazeLink, {
86
103
  gtmId: gtmId,
@@ -110,16 +127,23 @@ const Card = _ref => {
110
127
  gtmId: gtmId,
111
128
  href: url,
112
129
  scroll: true
113
- }, headline)), !!propsToDisplay.length && /*#__PURE__*/React.createElement("div", {
130
+ }, headline)), !!parsedPropsToDisplay.length && /*#__PURE__*/React.createElement("div", {
114
131
  className: getModifiers('card__details', modifiers)
115
- }, propsToDisplay.map((prop, i) => {
132
+ }, parsedPropsToDisplay.map((prop, i) => {
116
133
  if (!prop) return null;
117
134
  const dynamicKey = `${id}${i}`;
118
135
  const propModifier = propsToDisplayModifiers[i] || '';
119
- return /*#__PURE__*/React.createElement("span", {
136
+ const {
137
+ htmlAttribute
138
+ } = propsToDisplay[i] || {};
139
+ const extraProps = {};
140
+ if (htmlAttribute && prop.props.children) {
141
+ extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);
142
+ }
143
+ return /*#__PURE__*/React.createElement("span", _extends({
120
144
  key: dynamicKey,
121
145
  className: propModifier
122
- }, prop);
146
+ }, extraProps), prop);
123
147
  }))), !!cardChildren && /*#__PURE__*/React.createElement("div", {
124
148
  className: "card__child-content"
125
149
  }, renderChildren(cardChildren)))));
@@ -131,6 +155,7 @@ Card.propTypes = {
131
155
  data: PropTypes.object
132
156
  }),
133
157
  style: PropTypes.string,
158
+ parsedPropsToDisplay: PropTypes.array,
134
159
  propsToDisplay: PropTypes.array,
135
160
  propsToDisplayModifiers: PropTypes.array,
136
161
  url: PropTypes.string,
@@ -169,6 +194,7 @@ Card.defaultProps = {
169
194
  },
170
195
  gtmId: '',
171
196
  style: 'portrait',
197
+ parsedPropsToDisplay: [],
172
198
  propsToDisplay: [],
173
199
  propsToDisplayModifiers: [],
174
200
  url: '',
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","Fragment","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","length","map","prop","i","dynamicKey","propModifier","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured","push"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!propsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {propsToDisplay.map((prop, i) => {\n if (!prop) return null;\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n return (\n <span key={dynamicKey} className={propModifier}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","names":["React","Fragment","useRouter","PropTypes","BlazeLink","ClickWrapper","getModifiers","renderChildren","updateChildrensParent","getClickWrapperOptions","LazyImage","getPublishedListingUrl","useDynamicSizeKey","CARD_STRING","CARD_CHILDREN_WITH_LINKS","Card","id","image","name","url","entity","entityProps","alternativePreHeader","alternativeHeadline","category","modifier","parsedPropsToDisplay","propsToDisplay","propsToDisplayModifiers","gtmId","style","priority","cardChildren","gtmChildren","displayCategory","displayThumbnail","displayTitle","enableOverlay","enableCarousel","titleOverlayModifier","overlayModifier","gridModifier","otherProps","router","imageSrc","shouldDisplayThumbnail","altText","getImageDefinedProps","modifiers","getInitialModifiers","publishedListingPage","preHeader","label","headline","getCategoryDefinedProps","linkTitle","dynamicSizeKey","shouldUseClickWrapper","wrapperProps","Wrapper","classNameWithModifiers","contentWrapperModifier","titleWrapperModifier","handleCardClick","e","clickEventTag","target","tagName","toLowerCase","clickEventRole","role","shouldTriggerRouteChange","find","childTag","push","clickProps","process","env","BLAZE_PB_ADD_CLICK_TO_CARDS","onClick","length","map","prop","i","dynamicKey","propModifier","htmlAttribute","extraProps","props","children","encodeURIComponent","propTypes","string","isRequired","shape","data","object","array","bool","oneOfType","arrayOf","node","defaultProps","hasAlternativePreHeader","sponsored","featured"],"sources":["../../../src/components/Card/Card.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport BlazeLink from '../BlazeLink';\nimport ClickWrapper from '../ClickWrapper';\nimport {\n getModifiers,\n renderChildren,\n updateChildrensParent,\n getClickWrapperOptions\n} from '../../helpers';\nimport LazyImage from '../LazyImage';\nimport { getPublishedListingUrl, useDynamicSizeKey } from './helpers';\nimport { CARD_STRING, CARD_CHILDREN_WITH_LINKS } from './constants';\n\nconst Card = ({\n id,\n image,\n name,\n url,\n entity,\n entityProps,\n alternativePreHeader,\n alternativeHeadline,\n category,\n modifier,\n parsedPropsToDisplay,\n propsToDisplay,\n propsToDisplayModifiers,\n gtmId,\n style,\n priority,\n cardChildren,\n gtmChildren,\n displayCategory,\n displayThumbnail,\n displayTitle,\n enableOverlay,\n enableCarousel,\n titleOverlayModifier,\n overlayModifier,\n gridModifier,\n ...otherProps\n}) => {\n updateChildrensParent(cardChildren, id, entity);\n const router = useRouter();\n const { imageSrc, shouldDisplayThumbnail, altText } = getImageDefinedProps({\n image,\n displayThumbnail\n });\n\n const modifiers = getInitialModifiers({ modifier, style, otherProps });\n\n const { publishedListingPage, preHeader, label, headline } = getCategoryDefinedProps({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n });\n\n const linkTitle = name;\n\n const dynamicSizeKey = useDynamicSizeKey(CARD_STRING, { style, gridModifier, modifier });\n\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(\n gtmChildren,\n entityProps,\n id\n );\n\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const classNameWithModifiers = getModifiers(CARD_STRING, modifiers);\n\n const contentWrapperModifier = `${getModifiers('card__content-wrapper', modifiers)} ${\n enableOverlay && enableCarousel ? overlayModifier : ''\n }`;\n\n const titleWrapperModifier = `${getModifiers('card__title', modifiers)} ${\n enableOverlay && enableCarousel ? titleOverlayModifier : ''\n }`;\n\n const handleCardClick = e => {\n if (!url) return;\n\n const clickEventTag = e.target.tagName.toLowerCase();\n const clickEventRole = e.target.role;\n const shouldTriggerRouteChange =\n clickEventRole !== 'button' &&\n !CARD_CHILDREN_WITH_LINKS.find(childTag => childTag === clickEventTag);\n if (shouldTriggerRouteChange) router.push(`/Resolver`, url);\n };\n\n // todo: remove temp env var flag once widely tested BLAZE_PB_ADD_CLICK_TO_CARDS\n const clickProps =\n url && process.env.BLAZE_PB_ADD_CLICK_TO_CARDS\n ? {\n onClick: handleCardClick,\n role: 'button'\n }\n : {};\n\n return (\n <Wrapper {...wrapperProps}>\n <div className={classNameWithModifiers} {...clickProps}>\n {shouldDisplayThumbnail && (\n <div className={getModifiers('card__image', modifiers)}>\n <BlazeLink gtmId={gtmId} href={url} className=\"card__image-link\" scroll>\n <LazyImage\n src={imageSrc}\n alt={altText}\n sizeKey={dynamicSizeKey}\n priority={priority}\n />\n </BlazeLink>\n </div>\n )}\n <div className={contentWrapperModifier}>\n <div className={getModifiers('card__content', modifiers)}>\n {displayCategory &&\n (publishedListingPage ? (\n <BlazeLink\n gtmId={gtmId}\n href={publishedListingPage}\n className=\"badge badge--label\"\n scroll>\n {preHeader.name}\n </BlazeLink>\n ) : (\n <div className=\"badge badge--label\">{label}</div>\n ))}\n {displayTitle && (\n <h2 className={titleWrapperModifier}>\n <BlazeLink title={linkTitle} gtmId={gtmId} href={url} scroll>\n {headline}\n </BlazeLink>\n </h2>\n )}\n {!!parsedPropsToDisplay.length && (\n <div className={getModifiers('card__details', modifiers)}>\n {parsedPropsToDisplay.map((prop, i) => {\n if (!prop) return null;\n\n const dynamicKey = `${id}${i}`;\n const propModifier = propsToDisplayModifiers[i] || '';\n\n const { htmlAttribute } = propsToDisplay[i] || {};\n const extraProps = {};\n if (htmlAttribute && prop.props.children) {\n extraProps[htmlAttribute] = encodeURIComponent(prop.props.children[2]);\n }\n\n return (\n <span key={dynamicKey} className={propModifier} {...extraProps}>\n {prop}\n </span>\n );\n })}\n </div>\n )}\n </div>\n {!!cardChildren && (\n <div className=\"card__child-content\">{renderChildren(cardChildren)}</div>\n )}\n </div>\n </div>\n </Wrapper>\n );\n};\n\nCard.propTypes = {\n id: PropTypes.string.isRequired,\n image: PropTypes.shape({\n url: PropTypes.string,\n data: PropTypes.object\n }),\n style: PropTypes.string,\n parsedPropsToDisplay: PropTypes.array,\n propsToDisplay: PropTypes.array,\n propsToDisplayModifiers: PropTypes.array,\n url: PropTypes.string,\n name: PropTypes.string.isRequired,\n entity: PropTypes.string.isRequired,\n entityProps: PropTypes.object,\n gtmId: PropTypes.string,\n alternativePreHeader: PropTypes.shape({\n name: PropTypes.string\n }),\n alternativeHeadline: PropTypes.string,\n category: PropTypes.shape({\n name: PropTypes.string,\n publishedListingPage: PropTypes.shape({\n url: PropTypes.string\n })\n }),\n modifier: PropTypes.string,\n displayCategory: PropTypes.bool.isRequired,\n displayThumbnail: PropTypes.bool.isRequired,\n displayTitle: PropTypes.bool.isRequired,\n enableCarousel: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n gridModifier: PropTypes.string,\n priority: PropTypes.bool\n};\n\nCard.defaultProps = {\n entityProps: {},\n image: {\n url: null,\n data: {}\n },\n gtmId: '',\n style: 'portrait',\n parsedPropsToDisplay: [],\n propsToDisplay: [],\n propsToDisplayModifiers: [],\n url: '',\n alternativePreHeader: null,\n alternativeHeadline: '',\n category: null,\n modifier: '',\n cardChildren: [],\n gtmChildren: [],\n gridModifier: '',\n priority: false,\n overlayModifier: '',\n titleOverlayModifier: '',\n enableOverlay: false,\n enableCarousel: false\n};\n\nconst getCategoryDefinedProps = ({\n alternativePreHeader,\n category,\n entity,\n alternativeHeadline,\n displayCategory,\n name\n}) => {\n const hasAlternativePreHeader = alternativePreHeader && alternativePreHeader.name;\n const preHeader =\n alternativeHeadline && hasAlternativePreHeader ? alternativePreHeader : category;\n const publishedListingPage = getPublishedListingUrl(preHeader);\n const label = preHeader ? preHeader.name : entity;\n const headline =\n !displayCategory || !hasAlternativePreHeader ? name : alternativeHeadline || name;\n return { publishedListingPage, preHeader, label, headline };\n};\n\nconst getImageDefinedProps = ({ image, displayThumbnail }) => {\n const { url: imageSrc, data } = image || {};\n const shouldDisplayThumbnail = displayThumbnail && imageSrc;\n const altText = (data && data.altText) || '';\n return { imageSrc, shouldDisplayThumbnail, altText };\n};\n\nconst getInitialModifiers = ({ modifier, style, otherProps }) => {\n const modifiers = [modifier, style];\n const { sponsored, featured } = otherProps;\n if (sponsored) modifiers.push('sponsored');\n if (featured) modifiers.push('featured');\n\n return modifiers;\n};\n\nexport default Card;\n"],"mappings":"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"}
@@ -76,7 +76,8 @@ const CardContainer = _ref => {
76
76
  id: id,
77
77
  enableCarousel: enableCarousel,
78
78
  entity: entity,
79
- propsToDisplay: extraProps,
79
+ propsToDisplay: propsToDisplay,
80
+ parsedPropsToDisplay: extraProps,
80
81
  propsToDisplayModifiers: propsToDisplayModifiers,
81
82
  modifier: modifier,
82
83
  style: style,
@@ -1 +1 @@
1
- {"version":3,"file":"CardContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"sources":["../../../src/components/Card/CardContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardContainer.js","names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","enableOverlay","autoScrollTimer","overlayModifier","titleOverlayModifier","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"sources":["../../../src/components/Card/CardContainer.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n enableOverlay,\n autoScrollTimer,\n overlayModifier,\n titleOverlayModifier,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={propsToDisplay}\n parsedPropsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n enableOverlay={enableOverlay}\n overlayModifier={overlayModifier}\n titleOverlayModifier={titleOverlayModifier}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n enableOverlay: PropTypes.bool,\n overlayModifier: PropTypes.string,\n titleOverlayModifier: PropTypes.string,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n enableOverlay: false,\n autoScrollTimer: 0,\n overlayModifier: '',\n titleOverlayModifier: ''\n};\n\nexport default withTitle(CardContainer);\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  const CARD_STRING = 'card';
2
- export { CARD_STRING };
2
+ const CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];
3
+ export { CARD_STRING, CARD_CHILDREN_WITH_LINKS };
3
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CARD_STRING"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\n\nexport { CARD_STRING };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,MAAM;AAE1B,SAASA,WAAW"}
1
+ {"version":3,"file":"constants.js","names":["CARD_STRING","CARD_CHILDREN_WITH_LINKS"],"sources":["../../../src/components/Card/constants.js"],"sourcesContent":["const CARD_STRING = 'card';\nconst CARD_CHILDREN_WITH_LINKS = ['a', 'img', 'button', 'svg', 'i', 'path'];\n\nexport { CARD_STRING, CARD_CHILDREN_WITH_LINKS };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,MAAM;AAC1B,MAAMC,wBAAwB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC;AAE3E,SAASD,WAAW,EAAEC,wBAAwB"}
@@ -0,0 +1,22 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ const _excluded = ["contentType"];
4
+ import React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import ContentGroupTabs from './ContentGroupTabs';
7
+ const ContentGroup = _ref => {
8
+ let {
9
+ contentType
10
+ } = _ref,
11
+ props = _objectWithoutProperties(_ref, _excluded);
12
+ if (contentType === 'tab' || contentType === 'sidepanel') return /*#__PURE__*/React.createElement(ContentGroupTabs, _extends({
13
+ contentType: contentType
14
+ }, props));
15
+ return '';
16
+ };
17
+ ContentGroup.propTypes = {
18
+ contentType: PropTypes.string.isRequired
19
+ };
20
+ ContentGroup.defaultProps = {};
21
+ export default ContentGroup;
22
+ //# sourceMappingURL=ContentGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroup.js","names":["React","PropTypes","ContentGroupTabs","ContentGroup","contentType","props","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroup.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ContentGroupTabs from './ContentGroupTabs';\n\nconst ContentGroup = ({ contentType, ...props }) => {\n if (contentType === 'tab' || contentType === 'sidepanel')\n return <ContentGroupTabs contentType={contentType} {...props} />;\n return '';\n};\n\nContentGroup.propTypes = {\n contentType: PropTypes.string.isRequired\n};\n\nContentGroup.defaultProps = {};\n\nexport default ContentGroup;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,gBAAgB,MAAM,oBAAoB;AAEjD,MAAMC,YAAY,GAAG,QAA+B;EAAA,IAA9B;MAAEC;IAAsB,CAAC;IAAPC,KAAK;EAC3C,IAAID,WAAW,KAAK,KAAK,IAAIA,WAAW,KAAK,WAAW,EACtD,oBAAO,oBAAC,gBAAgB;IAAC,WAAW,EAAEA;EAAY,GAAKC,KAAK,EAAI;EAClE,OAAO,EAAE;AACX,CAAC;AAEDF,YAAY,CAACG,SAAS,GAAG;EACvBF,WAAW,EAAEH,SAAS,CAACM,MAAM,CAACC;AAChC,CAAC;AAEDL,YAAY,CAACM,YAAY,GAAG,CAAC,CAAC;AAE9B,eAAeN,YAAY"}
@@ -0,0 +1,72 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ const _excluded = ["name", "contentType", "modifier", "children"];
3
+ import React, { useState } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ const ContentGroupTabs = _ref => {
6
+ var _children$props;
7
+ let {
8
+ name,
9
+ contentType,
10
+ modifier,
11
+ children
12
+ } = _ref,
13
+ props = _objectWithoutProperties(_ref, _excluded);
14
+ const [selectedTab, setSelectedTab] = useState('tab-0');
15
+ const groupSections = children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children[1];
16
+ const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';
17
+ if (!groupSections || !groupSections.length) return '';
18
+ return /*#__PURE__*/React.createElement("div", {
19
+ className: `content-group${contentClassame}`
20
+ }, /*#__PURE__*/React.createElement("ul", {
21
+ className: `content-group${contentClassame}__buttons-wrapper`,
22
+ role: "tablist",
23
+ "aria-label": name
24
+ }, groupSections.map((groupSection, index) => {
25
+ const {
26
+ props: {
27
+ component: {
28
+ settings: {
29
+ label: sectionLabel
30
+ } = {}
31
+ } = {}
32
+ } = {}
33
+ } = groupSection;
34
+ const tabId = `tab-${index}`;
35
+ const panelId = `panel-${index}`;
36
+ const isSelected = selectedTab === tabId;
37
+ const buttonClassName = isSelected ? `content-group${contentClassame}__button--is-active` : `content-group${contentClassame}__button`;
38
+ return /*#__PURE__*/React.createElement("button", {
39
+ id: tabId,
40
+ key: tabId,
41
+ className: buttonClassName,
42
+ type: "button",
43
+ role: "tab",
44
+ "aria-selected": isSelected,
45
+ "aria-controls": panelId,
46
+ onClick: () => setSelectedTab(tabId)
47
+ }, sectionLabel);
48
+ })), groupSections.map((groupSection, index) => {
49
+ const tabId = `tab-${index}`;
50
+ const panelId = `panel-${index}`;
51
+ if (selectedTab !== tabId) return null;
52
+ return /*#__PURE__*/React.createElement("div", {
53
+ id: panelId,
54
+ key: panelId,
55
+ className: `content-group${contentClassame}__content-section`,
56
+ role: "tabpanel",
57
+ "aria-labelledby": tabId
58
+ }, groupSection);
59
+ }));
60
+ };
61
+ ContentGroupTabs.propTypes = {
62
+ name: PropTypes.string.isRequired,
63
+ contentType: PropTypes.string.isRequired,
64
+ modifier: PropTypes.string,
65
+ children: PropTypes.object
66
+ };
67
+ ContentGroupTabs.defaultProps = {
68
+ modifier: '',
69
+ children: {}
70
+ };
71
+ export default ContentGroupTabs;
72
+ //# sourceMappingURL=ContentGroupTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupTabs.js","names":["React","useState","PropTypes","ContentGroupTabs","name","contentType","modifier","children","props","selectedTab","setSelectedTab","groupSections","contentClassame","length","map","groupSection","index","component","settings","label","sectionLabel","tabId","panelId","isSelected","buttonClassName","propTypes","string","isRequired","object","defaultProps"],"sources":["../../../src/components/ContentGroup/ContentGroupTabs.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ContentGroupTabs = ({ name, contentType, modifier, children, ...props }) => {\n const [selectedTab, setSelectedTab] = useState('tab-0');\n const groupSections = children?.props?.children[1];\n const contentClassame = contentType === 'tab' ? '-tabs' : '-sidepanel';\n if (!groupSections || !groupSections.length) return '';\n\n return (\n <div className={`content-group${contentClassame}`}>\n <ul\n className={`content-group${contentClassame}__buttons-wrapper`}\n role=\"tablist\"\n aria-label={name}>\n {groupSections.map((groupSection, index) => {\n const {\n props: { component: { settings: { label: sectionLabel } = {} } = {} } = {}\n } = groupSection;\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n const isSelected = selectedTab === tabId;\n const buttonClassName = isSelected\n ? `content-group${contentClassame}__button--is-active`\n : `content-group${contentClassame}__button`;\n\n return (\n <button\n id={tabId}\n key={tabId}\n className={buttonClassName}\n type=\"button\"\n role=\"tab\"\n aria-selected={isSelected}\n aria-controls={panelId}\n onClick={() => setSelectedTab(tabId)}>\n {sectionLabel}\n </button>\n );\n })}\n </ul>\n {groupSections.map((groupSection, index) => {\n const tabId = `tab-${index}`;\n const panelId = `panel-${index}`;\n if (selectedTab !== tabId) return null;\n\n return (\n <div\n id={panelId}\n key={panelId}\n className={`content-group${contentClassame}__content-section`}\n role=\"tabpanel\"\n aria-labelledby={tabId}>\n {groupSection}\n </div>\n );\n })}\n </div>\n );\n};\n\nContentGroupTabs.propTypes = {\n name: PropTypes.string.isRequired,\n contentType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n children: PropTypes.object\n};\n\nContentGroupTabs.defaultProps = {\n modifier: '',\n children: {}\n};\n\nexport default ContentGroupTabs;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,gBAAgB,GAAG,QAAyD;EAAA;EAAA,IAAxD;MAAEC,IAAI;MAAEC,WAAW;MAAEC,QAAQ;MAAEC;IAAmB,CAAC;IAAPC,KAAK;EACzE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGT,QAAQ,CAAC,OAAO,CAAC;EACvD,MAAMU,aAAa,GAAGJ,QAAQ,aAARA,QAAQ,0CAARA,QAAQ,CAAEC,KAAK,oDAAf,gBAAiBD,QAAQ,CAAC,CAAC,CAAC;EAClD,MAAMK,eAAe,GAAGP,WAAW,KAAK,KAAK,GAAG,OAAO,GAAG,YAAY;EACtE,IAAI,CAACM,aAAa,IAAI,CAACA,aAAa,CAACE,MAAM,EAAE,OAAO,EAAE;EAEtD,oBACE;IAAK,SAAS,EAAG,gBAAeD,eAAgB;EAAE,gBAChD;IACE,SAAS,EAAG,gBAAeA,eAAgB,mBAAmB;IAC9D,IAAI,EAAC,SAAS;IACd,cAAYR;EAAK,GAChBO,aAAa,CAACG,GAAG,CAAC,CAACC,YAAY,EAAEC,KAAK,KAAK;IAC1C,MAAM;MACJR,KAAK,EAAE;QAAES,SAAS,EAAE;UAAEC,QAAQ,EAAE;YAAEC,KAAK,EAAEC;UAAa,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAC3E,CAAC,GAAGL,YAAY;IAChB,MAAMM,KAAK,GAAI,OAAML,KAAM,EAAC;IAC5B,MAAMM,OAAO,GAAI,SAAQN,KAAM,EAAC;IAChC,MAAMO,UAAU,GAAGd,WAAW,KAAKY,KAAK;IACxC,MAAMG,eAAe,GAAGD,UAAU,GAC7B,gBAAeX,eAAgB,qBAAoB,GACnD,gBAAeA,eAAgB,UAAS;IAE7C,oBACE;MACE,EAAE,EAAES,KAAM;MACV,GAAG,EAAEA,KAAM;MACX,SAAS,EAAEG,eAAgB;MAC3B,IAAI,EAAC,QAAQ;MACb,IAAI,EAAC,KAAK;MACV,iBAAeD,UAAW;MAC1B,iBAAeD,OAAQ;MACvB,OAAO,EAAE,MAAMZ,cAAc,CAACW,KAAK;IAAE,GACpCD,YAAY,CACN;EAEb,CAAC,CAAC,CACC,EACJT,aAAa,CAACG,GAAG,CAAC,CAACC,YAAY,EAAEC,KAAK,KAAK;IAC1C,MAAMK,KAAK,GAAI,OAAML,KAAM,EAAC;IAC5B,MAAMM,OAAO,GAAI,SAAQN,KAAM,EAAC;IAChC,IAAIP,WAAW,KAAKY,KAAK,EAAE,OAAO,IAAI;IAEtC,oBACE;MACE,EAAE,EAAEC,OAAQ;MACZ,GAAG,EAAEA,OAAQ;MACb,SAAS,EAAG,gBAAeV,eAAgB,mBAAmB;MAC9D,IAAI,EAAC,UAAU;MACf,mBAAiBS;IAAM,GACtBN,YAAY,CACT;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDZ,gBAAgB,CAACsB,SAAS,GAAG;EAC3BrB,IAAI,EAAEF,SAAS,CAACwB,MAAM,CAACC,UAAU;EACjCtB,WAAW,EAAEH,SAAS,CAACwB,MAAM,CAACC,UAAU;EACxCrB,QAAQ,EAAEJ,SAAS,CAACwB,MAAM;EAC1BnB,QAAQ,EAAEL,SAAS,CAAC0B;AACtB,CAAC;AAEDzB,gBAAgB,CAAC0B,YAAY,GAAG;EAC9BvB,QAAQ,EAAE,EAAE;EACZC,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,eAAeJ,gBAAgB"}
@@ -0,0 +1,3 @@
1
+ import ContentGroup from './ContentGroup';
2
+ export default ContentGroup;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroup"],"sources":["../../../src/components/ContentGroup/index.js"],"sourcesContent":["import ContentGroup from './ContentGroup';\n\nexport default ContentGroup;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY"}
@@ -0,0 +1,23 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ const _excluded = ["children"];
3
+ import React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { hasChildren } from '../../helpers';
6
+ const ContentGroupSection = _ref => {
7
+ let {
8
+ children
9
+ } = _ref,
10
+ props = _objectWithoutProperties(_ref, _excluded);
11
+ if (!hasChildren(children)) return null;
12
+ return /*#__PURE__*/React.createElement("div", {
13
+ className: "content-group-section"
14
+ }, children);
15
+ };
16
+ ContentGroupSection.propTypes = {
17
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
18
+ };
19
+ ContentGroupSection.defaultProps = {
20
+ children: null
21
+ };
22
+ export default ContentGroupSection;
23
+ //# sourceMappingURL=ContentGroupSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentGroupSection.js","names":["React","PropTypes","hasChildren","ContentGroupSection","children","props","propTypes","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/ContentGroupSection/ContentGroupSection.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { hasChildren } from '../../helpers';\n\nconst ContentGroupSection = ({ children, ...props }) => {\n if (!hasChildren(children)) return null;\n\n return <div className=\"content-group-section\">{children}</div>;\n};\n\nContentGroupSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nContentGroupSection.defaultProps = { children: null };\n\nexport default ContentGroupSection;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,eAAe;AAE3C,MAAMC,mBAAmB,GAAG,QAA4B;EAAA,IAA3B;MAAEC;IAAmB,CAAC;IAAPC,KAAK;EAC/C,IAAI,CAACH,WAAW,CAACE,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEvC,oBAAO;IAAK,SAAS,EAAC;EAAuB,GAAEA,QAAQ,CAAO;AAChE,CAAC;AAEDD,mBAAmB,CAACG,SAAS,GAAG;EAC9BF,QAAQ,EAAEH,SAAS,CAACM,SAAS,CAAC,CAACN,SAAS,CAACO,OAAO,CAACP,SAAS,CAACQ,IAAI,CAAC,EAAER,SAAS,CAACQ,IAAI,CAAC;AACnF,CAAC;AAEDN,mBAAmB,CAACO,YAAY,GAAG;EAAEN,QAAQ,EAAE;AAAK,CAAC;AAErD,eAAeD,mBAAmB"}
@@ -0,0 +1,3 @@
1
+ import ContentGroupSection from './ContentGroupSection';
2
+ export default ContentGroupSection;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ContentGroupSection"],"sources":["../../../src/components/ContentGroupSection/index.js"],"sourcesContent":["import ContentGroupSection from './ContentGroupSection';\n\nexport default ContentGroupSection;\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,uBAAuB;AAEvD,eAAeA,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardsRender.js","names":["React","Fragment","PropTypes","CardsRenderWrapper","BANNER","Wrapper","splitChildren","appendImages","getPropsToDisplayModifiers","ListPagination","LOAD_MORE","useGetImages","CardsRender","orderedListData","gridModifier","children","entity","banner","omitWrappers","propsToDisplay","paginationType","parent","hasBanner","gtmData","itemsToDisplay","props","name","dataForGtm","regularChildren","gtmChildren","bannerProps","type","propsToDisplayModifiers","imageIds","map","imageId","filter","Boolean","data","imagesData","loading","imagesLoading","updatedListWithImages","WrapperToUse","propTypes","string","isRequired","object","array","bool","oneOfType","defaultProps"],"sources":["../../../../../src/components/List/components/Cards/CardsRender.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderWrapper from './CardsRenderWrapper';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { splitChildren, appendImages } from '../../../../helpers';\nimport { getPropsToDisplayModifiers } from '../../../../utils';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { useGetImages } from '../../../../hooks';\n\nconst CardsRender = ({\n orderedListData,\n gridModifier,\n children,\n entity,\n banner,\n omitWrappers,\n propsToDisplay,\n paginationType,\n parent,\n hasBanner,\n gtmData,\n itemsToDisplay,\n ...props\n}) => {\n const { name } = props;\n const dataForGtm = gtmData || orderedListData;\n\n const { regularChildren, gtmChildren } = splitChildren(children, dataForGtm, entity, {\n name\n });\n\n const bannerProps = banner\n ? { parent, hasBanner, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n if (imagesLoading) return '';\n const updatedListWithImages = appendImages(imagesData, orderedListData, itemsToDisplay);\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <>\n <WrapperToUse className=\"list list--compact\">\n <CardsRenderWrapper\n orderedListData={updatedListWithImages}\n listProps={props}\n bannerProps={bannerProps}\n cardChildren={regularChildren}\n gtmChildren={gtmChildren}\n omitWrappers={omitWrappers}\n propsToDisplay={propsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n gridModifier={gridModifier}\n entity={entity}\n parent={parent}\n {...props}\n />\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} parent={parent} {...props} />\n )}\n </>\n );\n};\n\nCardsRender.propTypes = {\n name: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n orderedListData: PropTypes.array.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object,\n omitWrappers: PropTypes.bool,\n gridModifier: PropTypes.string,\n entity: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n gtmData: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardsRender.defaultProps = {\n gridModifier: '',\n children: null,\n hasBanner: false,\n banner: null,\n omitWrappers: false,\n gtmData: null,\n itemsToDisplay: []\n};\n\nexport default CardsRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardsRender.js","names":["React","Fragment","PropTypes","CardsRenderWrapper","BANNER","Wrapper","splitChildren","appendImages","getPropsToDisplayModifiers","ListPagination","LOAD_MORE","useGetImages","CardsRender","orderedListData","gridModifier","children","entity","banner","omitWrappers","propsToDisplay","paginationType","parent","hasBanner","gtmData","itemsToDisplay","props","name","dataForGtm","regularChildren","gtmChildren","bannerProps","type","propsToDisplayModifiers","imageIds","map","imageId","filter","Boolean","data","imagesData","loading","imagesLoading","updatedListWithImages","WrapperToUse","propTypes","string","isRequired","object","array","bool","oneOfType","defaultProps"],"sources":["../../../../../src/components/List/components/Cards/CardsRender.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport CardsRenderWrapper from './CardsRenderWrapper';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { splitChildren, appendImages } from '../../../../helpers';\nimport { getPropsToDisplayModifiers } from '../../../../utils';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { useGetImages } from '../../../../hooks';\n\nconst CardsRender = ({\n orderedListData,\n gridModifier,\n children,\n entity,\n banner,\n omitWrappers,\n propsToDisplay,\n paginationType,\n parent,\n hasBanner,\n gtmData,\n itemsToDisplay,\n ...props\n}) => {\n const { name } = props;\n const dataForGtm = gtmData || orderedListData;\n\n const { regularChildren, gtmChildren } = splitChildren(children, dataForGtm, entity, {\n name\n });\n\n const bannerProps = banner\n ? { parent, hasBanner, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n if (imagesLoading) return '';\n const updatedListWithImages = appendImages(imagesData, orderedListData, itemsToDisplay);\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <>\n <WrapperToUse className=\"list list--compact\">\n <CardsRenderWrapper\n orderedListData={updatedListWithImages}\n listProps={props}\n bannerProps={bannerProps}\n cardChildren={regularChildren}\n gtmChildren={gtmChildren}\n omitWrappers={omitWrappers}\n propsToDisplay={propsToDisplay}\n propsToDisplayModifiers={propsToDisplayModifiers}\n gridModifier={gridModifier}\n entity={entity}\n parent={parent}\n {...props}\n />\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} parent={parent} {...props} />\n )}\n </>\n );\n};\n\nCardsRender.propTypes = {\n name: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n orderedListData: PropTypes.array.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object,\n omitWrappers: PropTypes.bool,\n gridModifier: PropTypes.string,\n entity: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n gtmData: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardsRender.defaultProps = {\n gridModifier: '',\n children: null,\n hasBanner: false,\n banner: null,\n omitWrappers: false,\n gtmData: null,\n itemsToDisplay: []\n};\n\nexport default CardsRender;\n"],"mappings":"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"}
@@ -60,7 +60,8 @@ const CardsRenderItem = ({
60
60
  id: id,
61
61
  entity: entity,
62
62
  gridModifier: gridModifier,
63
- propsToDisplay: parsedPropsToDisplay,
63
+ propsToDisplay: propsToDisplay,
64
+ parsedPropsToDisplay: parsedPropsToDisplay,
64
65
  propsToDisplayModifiers: propsToDisplayModifiers,
65
66
  modifier: modifier,
66
67
  style: style,