@blaze-cms/react-page-builder 0.124.0-alpha.2 → 0.124.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.124.0-alpha.3](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.2...v0.124.0-alpha.3) (2022-04-29)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
9
+
10
+
11
+
12
+
13
+
6
14
  # [0.124.0-alpha.2](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.1...v0.124.0-alpha.2) (2022-04-29)
7
15
 
8
16
  **Note:** Version bump only for package @blaze-cms/react-page-builder
@@ -128,7 +128,7 @@ var CarouselWrapper = function CarouselWrapper(_ref) {
128
128
  handleButtonNavigation();
129
129
  }
130
130
  }, /*#__PURE__*/_react["default"].createElement("i", {
131
- className: "arrow left"
131
+ className: "carousel--arrow-left"
132
132
  }))), /*#__PURE__*/_react["default"].createElement("div", {
133
133
  className: "cards-carousel--right-button-wrapper"
134
134
  }, displayRight && /*#__PURE__*/_react["default"].createElement("button", {
@@ -139,7 +139,7 @@ var CarouselWrapper = function CarouselWrapper(_ref) {
139
139
  handleButtonNavigation(true);
140
140
  }
141
141
  }, /*#__PURE__*/_react["default"].createElement("i", {
142
- className: "arrow right"
142
+ className: "carousel--arrow-left"
143
143
  }))), /*#__PURE__*/_react["default"].createElement("div", {
144
144
  className: contentClassName,
145
145
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","displayLeft","displayRight","buttonDisplay","setButtonDisplays","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","PropTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"arrow left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"arrow right\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.js"}
1
+ {"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","displayLeft","displayRight","buttonDisplay","setButtonDisplays","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","PropTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.js"}
@@ -95,7 +95,7 @@ const CarouselWrapper = ({
95
95
  handleButtonNavigation();
96
96
  }
97
97
  }, /*#__PURE__*/React.createElement("i", {
98
- className: "arrow left"
98
+ className: "carousel--arrow-left"
99
99
  }))), /*#__PURE__*/React.createElement("div", {
100
100
  className: "cards-carousel--right-button-wrapper"
101
101
  }, displayRight && /*#__PURE__*/React.createElement("button", {
@@ -106,7 +106,7 @@ const CarouselWrapper = ({
106
106
  handleButtonNavigation(true);
107
107
  }
108
108
  }, /*#__PURE__*/React.createElement("i", {
109
- className: "arrow right"
109
+ className: "carousel--arrow-left"
110
110
  }))), /*#__PURE__*/React.createElement("div", {
111
111
  className: contentClassName,
112
112
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"arrow left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"arrow right\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.js"}
1
+ {"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","arrowSize","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer,\n arrowSize\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i className=\"carousel--arrow-left\" />\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number,\n arrowSize: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0,\n arrowSize: 14\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.124.0-alpha.2",
3
+ "version": "0.124.0-alpha.3",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -84,5 +84,5 @@
84
84
  "lib/*",
85
85
  "lib-es/*"
86
86
  ],
87
- "gitHead": "52045d2ed84e79531b9634ad5ce95b89f674382a"
87
+ "gitHead": "a1111541646b69aba70356809b369b61da895d99"
88
88
  }
@@ -80,7 +80,7 @@ const CarouselWrapper = ({
80
80
  setShouldAutoScroll(false);
81
81
  handleButtonNavigation();
82
82
  }}>
83
- <i className="arrow left" />
83
+ <i className="carousel--arrow-left" />
84
84
  </button>
85
85
  )}
86
86
  </div>
@@ -93,7 +93,7 @@ const CarouselWrapper = ({
93
93
  setShouldAutoScroll(false);
94
94
  handleButtonNavigation(true);
95
95
  }}>
96
- <i className="arrow right" />
96
+ <i className="carousel--arrow-left" />
97
97
  </button>
98
98
  )}
99
99
  </div>