@blaze-cms/react-page-builder 0.146.0-tooltips.4 → 0.146.0-tooltips.6

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,26 @@
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.146.0-tooltips.6](https://github.com/thebyte9/blaze/compare/v0.146.0-tooltips.5...v0.146.0-tooltips.6) (2025-03-04)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * added space between image counter ([fe23887](https://github.com/thebyte9/blaze/commit/fe23887db201c8f8c4d3c2df6b0f84adac84df9f))
12
+ * changed image lightbox counter ([3e22b68](https://github.com/thebyte9/blaze/commit/3e22b6817d60d2b4fd4beac713f864fdb5b6826e))
13
+
14
+
15
+
16
+
17
+
18
+ # [0.146.0-tooltips.5](https://github.com/thebyte9/blaze/compare/v0.146.0-tooltips.4...v0.146.0-tooltips.5) (2025-02-28)
19
+
20
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
21
+
22
+
23
+
24
+
25
+
6
26
  # [0.146.0-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-tooltips.3...v0.146.0-tooltips.4) (2025-02-28)
7
27
 
8
28
  **Note:** Version bump only for package @blaze-cms/react-page-builder
@@ -15,23 +15,29 @@ _dayjs["default"].extend(_localizedFormat["default"]);
15
15
  var DateTime = function DateTime(_ref) {
16
16
  var format = _ref.format,
17
17
  customFormat = _ref.customFormat,
18
- modifier = _ref.modifier;
18
+ modifier = _ref.modifier,
19
+ prefix = _ref.prefix,
20
+ suffix = _ref.suffix;
19
21
  var dateFormat = customFormat || format;
20
22
  if (!dateFormat) return null;
21
23
  var formattedDate = (0, _dayjs["default"])().format(dateFormat);
22
24
  return /*#__PURE__*/_react["default"].createElement(_Wrapper["default"], {
23
25
  className: "date",
24
26
  modifiers: modifier
25
- }, formattedDate);
27
+ }, prefix, " ", formattedDate, " ", suffix);
26
28
  };
27
29
  DateTime.propTypes = {
28
30
  format: _propTypes["default"].string.isRequired,
29
31
  customFormat: _propTypes["default"].string,
30
- modifier: _propTypes["default"].string
32
+ modifier: _propTypes["default"].string,
33
+ prefix: _propTypes["default"].string,
34
+ suffix: _propTypes["default"].string
31
35
  };
32
36
  DateTime.defaultProps = {
33
37
  customFormat: '',
34
- modifier: null
38
+ modifier: null,
39
+ prefix: '',
40
+ suffix: ''
35
41
  };
36
42
  var _default = exports["default"] = DateTime;
37
43
  //# sourceMappingURL=DateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","names":["_react","_interopRequireDefault","require","_propTypes","_dayjs","_localizedFormat","_Wrapper","dayjs","extend","LocalizedFormat","DateTime","_ref","format","customFormat","modifier","dateFormat","formattedDate","createElement","className","modifiers","propTypes","PropTypes","string","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/DateTime/DateTime.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport Wrapper from '../Wrapper';\n\ndayjs.extend(LocalizedFormat);\n\nconst DateTime = ({ format, customFormat, modifier }) => {\n const dateFormat = customFormat || format;\n\n if (!dateFormat) return null;\n\n const formattedDate = dayjs().format(dateFormat);\n\n return (\n <Wrapper className=\"date\" modifiers={modifier}>\n {formattedDate}\n </Wrapper>\n );\n};\n\nDateTime.propTypes = {\n format: PropTypes.string.isRequired,\n customFormat: PropTypes.string,\n modifier: PropTypes.string\n};\n\nDateTime.defaultProps = {\n customFormat: '',\n modifier: null\n};\n\nexport default DateTime;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEAK,iBAAK,CAACC,MAAM,CAACC,2BAAe,CAAC;AAE7B,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAA2C;EAAA,IAArCC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EAChD,IAAMC,UAAU,GAAGF,YAAY,IAAID,MAAM;EAEzC,IAAI,CAACG,UAAU,EAAE,OAAO,IAAI;EAE5B,IAAMC,aAAa,GAAG,IAAAT,iBAAK,EAAC,CAAC,CAACK,MAAM,CAACG,UAAU,CAAC;EAEhD,oBACEf,MAAA,YAAAiB,aAAA,CAACX,QAAA,WAAO;IAACY,SAAS,EAAC,MAAM;IAACC,SAAS,EAAEL;EAAS,GAC3CE,aACM,CAAC;AAEd,CAAC;AAEDN,QAAQ,CAACU,SAAS,GAAG;EACnBR,MAAM,EAAES,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCV,YAAY,EAAEQ,qBAAS,CAACC,MAAM;EAC9BR,QAAQ,EAAEO,qBAAS,CAACC;AACtB,CAAC;AAEDZ,QAAQ,CAACc,YAAY,GAAG;EACtBX,YAAY,EAAE,EAAE;EAChBC,QAAQ,EAAE;AACZ,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,cAEahB,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"DateTime.js","names":["_react","_interopRequireDefault","require","_propTypes","_dayjs","_localizedFormat","_Wrapper","dayjs","extend","LocalizedFormat","DateTime","_ref","format","customFormat","modifier","prefix","suffix","dateFormat","formattedDate","createElement","className","modifiers","propTypes","PropTypes","string","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/DateTime/DateTime.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport Wrapper from '../Wrapper';\n\ndayjs.extend(LocalizedFormat);\n\nconst DateTime = ({ format, customFormat, modifier, prefix, suffix }) => {\n const dateFormat = customFormat || format;\n\n if (!dateFormat) return null;\n\n const formattedDate = dayjs().format(dateFormat);\n\n return (\n <Wrapper className=\"date\" modifiers={modifier}>\n {prefix} {formattedDate} {suffix}\n </Wrapper>\n );\n};\n\nDateTime.propTypes = {\n format: PropTypes.string.isRequired,\n customFormat: PropTypes.string,\n modifier: PropTypes.string,\n prefix: PropTypes.string,\n suffix: PropTypes.string\n};\n\nDateTime.defaultProps = {\n customFormat: '',\n modifier: null,\n prefix: '',\n suffix: ''\n};\n\nexport default DateTime;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,QAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEAK,iBAAK,CAACC,MAAM,CAACC,2BAAe,CAAC;AAE7B,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAA2D;EAAA,IAArDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAEC,MAAM,GAAAL,IAAA,CAANK,MAAM;EAChE,IAAMC,UAAU,GAAGJ,YAAY,IAAID,MAAM;EAEzC,IAAI,CAACK,UAAU,EAAE,OAAO,IAAI;EAE5B,IAAMC,aAAa,GAAG,IAAAX,iBAAK,EAAC,CAAC,CAACK,MAAM,CAACK,UAAU,CAAC;EAEhD,oBACEjB,MAAA,YAAAmB,aAAA,CAACb,QAAA,WAAO;IAACc,SAAS,EAAC,MAAM;IAACC,SAAS,EAAEP;EAAS,GAC3CC,MAAM,EAAC,GAAC,EAACG,aAAa,EAAC,GAAC,EAACF,MACnB,CAAC;AAEd,CAAC;AAEDN,QAAQ,CAACY,SAAS,GAAG;EACnBV,MAAM,EAAEW,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCZ,YAAY,EAAEU,qBAAS,CAACC,MAAM;EAC9BV,QAAQ,EAAES,qBAAS,CAACC,MAAM;EAC1BT,MAAM,EAAEQ,qBAAS,CAACC,MAAM;EACxBR,MAAM,EAAEO,qBAAS,CAACC;AACpB,CAAC;AAEDd,QAAQ,CAACgB,YAAY,GAAG;EACtBb,YAAY,EAAE,EAAE;EAChBC,QAAQ,EAAE,IAAI;EACdC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE;AACV,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,cAEalB,QAAQ","ignoreList":[]}
@@ -103,7 +103,7 @@ var GlobalLightbox = function GlobalLightbox(_ref) {
103
103
  };
104
104
  var showNext = index !== images.length - 1;
105
105
  var showPrevious = !!index;
106
- var imageCounter = "".concat(index + 1, " of ").concat(images.length);
106
+ var imageCounter = "".concat(index + 1, " / ").concat(images.length);
107
107
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !!images.length && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
108
108
  className: "overlay"
109
109
  }), /*#__PURE__*/_react["default"].createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalLightbox.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_imageCdnReact","_fa","_BlazeLink","_ImageDetails","_NavButton","_getImageData2","_useGetImages2","_helpers","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GlobalLightbox","_ref","images","onClose","selectedImage","metaTitle","parentName","_useState","useState","_useState2","_slicedToArray2","index","setIndex","currentImage","imageId","url","name","enableLightbox","isCaptionDisplayed","areImageCreditsDisplayed","imageCredits","credits","otherProps","_objectWithoutProperties2","_useGetImages","useGetImages","data","loading","error","message","_ref2","getFile","_ref2$url","imageUrl","_ref2$data","imageData","urlProps","href","title","imgWrapperProps","_getImageData","getImageData","caption","altText","shouldDisplayCaption","shouldShowProperty","isDisplayed","value","shouldDisplayCredits","navigate","position","newPosition","handlePrevious","handleNext","handleClose","showNext","length","showPrevious","imageCounter","concat","createElement","Fragment","className","role","onClick","FaTimes","handleAction","show","modifier","ariaLabel","keys","ResponsiveImage","src","alt","sizeKey","propTypes","PropTypes","arrayOf","shape","string","func","isRequired","number","defaultProps","_default","exports"],"sources":["../../../../src/components/Image/GlobalLightbox/GlobalLightbox.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport { FaTimes } from 'react-icons/fa';\nimport BlazeLink from '../../BlazeLink';\nimport ImageDetails from '../ImageDetails';\nimport NavButton from './NavButton';\nimport getImageData from '../../../utils/get-image-data';\nimport useGetImages from '../../../hooks/use-get-images';\nimport { shouldShowProperty } from '../../../helpers';\n\nconst GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName }) => {\n const [index, setIndex] = useState(selectedImage);\n\n const currentImage = images[index] || {};\n\n const {\n imageId,\n url,\n name,\n enableLightbox,\n isCaptionDisplayed,\n areImageCreditsDisplayed,\n imageCredits,\n credits,\n ...otherProps\n } = currentImage;\n\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) {\n return error.message;\n }\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const urlProps = { href: url, title: name };\n const imgWrapperProps = url ? urlProps : {};\n\n const { caption, altText } = getImageData(otherProps, imageData);\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: credits || imageCredits\n });\n\n const navigate = position => {\n const newPosition = index + position;\n if (images[newPosition]) {\n setIndex(newPosition);\n }\n };\n\n const handlePrevious = () => navigate(-1);\n const handleNext = () => navigate(1);\n const handleClose = () => onClose();\n\n const showNext = index !== images.length - 1;\n const showPrevious = !!index;\n\n const imageCounter = `${index + 1} of ${images.length}`;\n\n return (\n <>\n {!!images.length && (\n <div>\n <div className=\"overlay\" />\n <div className=\"modal modal--full-screen modal--gallery modal--show\">\n <header className=\"modal__header modal__header--gallery\">\n <div className=\"modal__title modal__title--gallery\">\n {parentName || metaTitle || name}\n </div>\n <div\n role=\"button\"\n className=\"modal__close\"\n onClick={handleClose}\n aria-label=\"Close modal\">\n <i>\n <FaTimes />\n </i>\n </div>\n </header>\n <div className=\"modal__content modal__content--gallery\">\n <div className=\"gallery\">\n <div className=\"gallery__column gallery__column--slider\">\n <div className=\"gallery__slider\">\n <div className=\"slider__wrapper slider__wrapper--gallery open\">\n <div className=\"slider__header slider__header--gallery\">\n <div\n className=\"slider__counter slider__counter--gallery\"\n data-testid=\"image-counter\">\n {imageCounter}\n </div>\n </div>\n\n <NavButton\n handleAction={handlePrevious}\n show={showPrevious}\n modifier=\"previous\"\n ariaLabel=\"Previous Image\"\n />\n\n <div className=\"slider slider--gallery\">\n <div className=\"slider__list slider__list--gallery\">\n <div className=\"slider__list-wrapper slider__list-wrapper--gallery\">\n <div className=\"slider__slide slider__slide--gallery\">\n {loading && <div />}\n {Object.keys(imgWrapperProps).length ? (\n <BlazeLink {...imgWrapperProps}>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </BlazeLink>\n ) : (\n <Fragment>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n\n <NavButton\n ariaLabel=\"Next Image\"\n handleAction={handleNext}\n show={showNext}\n modifier=\"next\"\n />\n </div>\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={credits || imageCredits}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n\nGlobalLightbox.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n imageId: PropTypes.string\n })\n ),\n metaTitle: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n selectedImage: PropTypes.number,\n parentName: PropTypes.string\n};\n\nGlobalLightbox.defaultProps = {\n metaTitle: '',\n images: [],\n selectedImage: 0,\n parentName: ''\n};\n\nexport default GlobalLightbox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GlobalLightbox.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_imageCdnReact","_fa","_BlazeLink","_ImageDetails","_NavButton","_getImageData2","_useGetImages2","_helpers","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GlobalLightbox","_ref","images","onClose","selectedImage","metaTitle","parentName","_useState","useState","_useState2","_slicedToArray2","index","setIndex","currentImage","imageId","url","name","enableLightbox","isCaptionDisplayed","areImageCreditsDisplayed","imageCredits","credits","otherProps","_objectWithoutProperties2","_useGetImages","useGetImages","data","loading","error","message","_ref2","getFile","_ref2$url","imageUrl","_ref2$data","imageData","urlProps","href","title","imgWrapperProps","_getImageData","getImageData","caption","altText","shouldDisplayCaption","shouldShowProperty","isDisplayed","value","shouldDisplayCredits","navigate","position","newPosition","handlePrevious","handleNext","handleClose","showNext","length","showPrevious","imageCounter","concat","createElement","Fragment","className","role","onClick","FaTimes","handleAction","show","modifier","ariaLabel","keys","ResponsiveImage","src","alt","sizeKey","propTypes","PropTypes","arrayOf","shape","string","func","isRequired","number","defaultProps","_default","exports"],"sources":["../../../../src/components/Image/GlobalLightbox/GlobalLightbox.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport { FaTimes } from 'react-icons/fa';\nimport BlazeLink from '../../BlazeLink';\nimport ImageDetails from '../ImageDetails';\nimport NavButton from './NavButton';\nimport getImageData from '../../../utils/get-image-data';\nimport useGetImages from '../../../hooks/use-get-images';\nimport { shouldShowProperty } from '../../../helpers';\n\nconst GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName }) => {\n const [index, setIndex] = useState(selectedImage);\n\n const currentImage = images[index] || {};\n\n const {\n imageId,\n url,\n name,\n enableLightbox,\n isCaptionDisplayed,\n areImageCreditsDisplayed,\n imageCredits,\n credits,\n ...otherProps\n } = currentImage;\n\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) {\n return error.message;\n }\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const urlProps = { href: url, title: name };\n const imgWrapperProps = url ? urlProps : {};\n\n const { caption, altText } = getImageData(otherProps, imageData);\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: credits || imageCredits\n });\n\n const navigate = position => {\n const newPosition = index + position;\n if (images[newPosition]) {\n setIndex(newPosition);\n }\n };\n\n const handlePrevious = () => navigate(-1);\n const handleNext = () => navigate(1);\n const handleClose = () => onClose();\n\n const showNext = index !== images.length - 1;\n const showPrevious = !!index;\n\n const imageCounter = `${index + 1} / ${images.length}`;\n\n return (\n <>\n {!!images.length && (\n <div>\n <div className=\"overlay\" />\n <div className=\"modal modal--full-screen modal--gallery modal--show\">\n <header className=\"modal__header modal__header--gallery\">\n <div className=\"modal__title modal__title--gallery\">\n {parentName || metaTitle || name}\n </div>\n <div\n role=\"button\"\n className=\"modal__close\"\n onClick={handleClose}\n aria-label=\"Close modal\">\n <i>\n <FaTimes />\n </i>\n </div>\n </header>\n <div className=\"modal__content modal__content--gallery\">\n <div className=\"gallery\">\n <div className=\"gallery__column gallery__column--slider\">\n <div className=\"gallery__slider\">\n <div className=\"slider__wrapper slider__wrapper--gallery open\">\n <div className=\"slider__header slider__header--gallery\">\n <div\n className=\"slider__counter slider__counter--gallery\"\n data-testid=\"image-counter\">\n {imageCounter}\n </div>\n </div>\n\n <NavButton\n handleAction={handlePrevious}\n show={showPrevious}\n modifier=\"previous\"\n ariaLabel=\"Previous Image\"\n />\n\n <div className=\"slider slider--gallery\">\n <div className=\"slider__list slider__list--gallery\">\n <div className=\"slider__list-wrapper slider__list-wrapper--gallery\">\n <div className=\"slider__slide slider__slide--gallery\">\n {loading && <div />}\n {Object.keys(imgWrapperProps).length ? (\n <BlazeLink {...imgWrapperProps}>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </BlazeLink>\n ) : (\n <Fragment>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n\n <NavButton\n ariaLabel=\"Next Image\"\n handleAction={handleNext}\n show={showNext}\n modifier=\"next\"\n />\n </div>\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={credits || imageCredits}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n\nGlobalLightbox.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n imageId: PropTypes.string\n })\n ),\n metaTitle: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n selectedImage: PropTypes.number,\n parentName: PropTypes.string\n};\n\nGlobalLightbox.defaultProps = {\n metaTitle: '',\n images: [],\n selectedImage: 0,\n parentName: ''\n};\n\nexport default GlobalLightbox;\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,9 @@ dayjs.extend(LocalizedFormat);
7
7
  const DateTime = ({
8
8
  format,
9
9
  customFormat,
10
- modifier
10
+ modifier,
11
+ prefix,
12
+ suffix
11
13
  }) => {
12
14
  const dateFormat = customFormat || format;
13
15
  if (!dateFormat) return null;
@@ -15,16 +17,20 @@ const DateTime = ({
15
17
  return /*#__PURE__*/React.createElement(Wrapper, {
16
18
  className: "date",
17
19
  modifiers: modifier
18
- }, formattedDate);
20
+ }, prefix, " ", formattedDate, " ", suffix);
19
21
  };
20
22
  DateTime.propTypes = {
21
23
  format: PropTypes.string.isRequired,
22
24
  customFormat: PropTypes.string,
23
- modifier: PropTypes.string
25
+ modifier: PropTypes.string,
26
+ prefix: PropTypes.string,
27
+ suffix: PropTypes.string
24
28
  };
25
29
  DateTime.defaultProps = {
26
30
  customFormat: '',
27
- modifier: null
31
+ modifier: null,
32
+ prefix: '',
33
+ suffix: ''
28
34
  };
29
35
  export default DateTime;
30
36
  //# sourceMappingURL=DateTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","names":["React","PropTypes","dayjs","LocalizedFormat","Wrapper","extend","DateTime","format","customFormat","modifier","dateFormat","formattedDate","createElement","className","modifiers","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/DateTime/DateTime.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport Wrapper from '../Wrapper';\n\ndayjs.extend(LocalizedFormat);\n\nconst DateTime = ({ format, customFormat, modifier }) => {\n const dateFormat = customFormat || format;\n\n if (!dateFormat) return null;\n\n const formattedDate = dayjs().format(dateFormat);\n\n return (\n <Wrapper className=\"date\" modifiers={modifier}>\n {formattedDate}\n </Wrapper>\n );\n};\n\nDateTime.propTypes = {\n format: PropTypes.string.isRequired,\n customFormat: PropTypes.string,\n modifier: PropTypes.string\n};\n\nDateTime.defaultProps = {\n customFormat: '',\n modifier: null\n};\n\nexport default DateTime;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,OAAO,MAAM,YAAY;AAEhCF,KAAK,CAACG,MAAM,CAACF,eAAe,CAAC;AAE7B,MAAMG,QAAQ,GAAGA,CAAC;EAAEC,MAAM;EAAEC,YAAY;EAAEC;AAAS,CAAC,KAAK;EACvD,MAAMC,UAAU,GAAGF,YAAY,IAAID,MAAM;EAEzC,IAAI,CAACG,UAAU,EAAE,OAAO,IAAI;EAE5B,MAAMC,aAAa,GAAGT,KAAK,CAAC,CAAC,CAACK,MAAM,CAACG,UAAU,CAAC;EAEhD,oBACEV,KAAA,CAAAY,aAAA,CAACR,OAAO;IAACS,SAAS,EAAC,MAAM;IAACC,SAAS,EAAEL;EAAS,GAC3CE,aACM,CAAC;AAEd,CAAC;AAEDL,QAAQ,CAACS,SAAS,GAAG;EACnBR,MAAM,EAAEN,SAAS,CAACe,MAAM,CAACC,UAAU;EACnCT,YAAY,EAAEP,SAAS,CAACe,MAAM;EAC9BP,QAAQ,EAAER,SAAS,CAACe;AACtB,CAAC;AAEDV,QAAQ,CAACY,YAAY,GAAG;EACtBV,YAAY,EAAE,EAAE;EAChBC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"DateTime.js","names":["React","PropTypes","dayjs","LocalizedFormat","Wrapper","extend","DateTime","format","customFormat","modifier","prefix","suffix","dateFormat","formattedDate","createElement","className","modifiers","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/DateTime/DateTime.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport dayjs from 'dayjs';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport Wrapper from '../Wrapper';\n\ndayjs.extend(LocalizedFormat);\n\nconst DateTime = ({ format, customFormat, modifier, prefix, suffix }) => {\n const dateFormat = customFormat || format;\n\n if (!dateFormat) return null;\n\n const formattedDate = dayjs().format(dateFormat);\n\n return (\n <Wrapper className=\"date\" modifiers={modifier}>\n {prefix} {formattedDate} {suffix}\n </Wrapper>\n );\n};\n\nDateTime.propTypes = {\n format: PropTypes.string.isRequired,\n customFormat: PropTypes.string,\n modifier: PropTypes.string,\n prefix: PropTypes.string,\n suffix: PropTypes.string\n};\n\nDateTime.defaultProps = {\n customFormat: '',\n modifier: null,\n prefix: '',\n suffix: ''\n};\n\nexport default DateTime;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,OAAO,MAAM,YAAY;AAEhCF,KAAK,CAACG,MAAM,CAACF,eAAe,CAAC;AAE7B,MAAMG,QAAQ,GAAGA,CAAC;EAAEC,MAAM;EAAEC,YAAY;EAAEC,QAAQ;EAAEC,MAAM;EAAEC;AAAO,CAAC,KAAK;EACvE,MAAMC,UAAU,GAAGJ,YAAY,IAAID,MAAM;EAEzC,IAAI,CAACK,UAAU,EAAE,OAAO,IAAI;EAE5B,MAAMC,aAAa,GAAGX,KAAK,CAAC,CAAC,CAACK,MAAM,CAACK,UAAU,CAAC;EAEhD,oBACEZ,KAAA,CAAAc,aAAA,CAACV,OAAO;IAACW,SAAS,EAAC,MAAM;IAACC,SAAS,EAAEP;EAAS,GAC3CC,MAAM,EAAC,GAAC,EAACG,aAAa,EAAC,GAAC,EAACF,MACnB,CAAC;AAEd,CAAC;AAEDL,QAAQ,CAACW,SAAS,GAAG;EACnBV,MAAM,EAAEN,SAAS,CAACiB,MAAM,CAACC,UAAU;EACnCX,YAAY,EAAEP,SAAS,CAACiB,MAAM;EAC9BT,QAAQ,EAAER,SAAS,CAACiB,MAAM;EAC1BR,MAAM,EAAET,SAAS,CAACiB,MAAM;EACxBP,MAAM,EAAEV,SAAS,CAACiB;AACpB,CAAC;AAEDZ,QAAQ,CAACc,YAAY,GAAG;EACtBZ,YAAY,EAAE,EAAE;EAChBC,QAAQ,EAAE,IAAI;EACdC,MAAM,EAAE,EAAE;EACVC,MAAM,EAAE;AACV,CAAC;AAED,eAAeL,QAAQ","ignoreList":[]}
@@ -77,7 +77,7 @@ const GlobalLightbox = ({
77
77
  const handleClose = () => onClose();
78
78
  const showNext = index !== images.length - 1;
79
79
  const showPrevious = !!index;
80
- const imageCounter = `${index + 1} of ${images.length}`;
80
+ const imageCounter = `${index + 1} / ${images.length}`;
81
81
  return /*#__PURE__*/React.createElement(React.Fragment, null, !!images.length && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
82
82
  className: "overlay"
83
83
  }), /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalLightbox.js","names":["React","useState","Fragment","PropTypes","ResponsiveImage","FaTimes","BlazeLink","ImageDetails","NavButton","getImageData","useGetImages","shouldShowProperty","GlobalLightbox","images","onClose","selectedImage","metaTitle","parentName","index","setIndex","currentImage","imageId","url","name","enableLightbox","isCaptionDisplayed","areImageCreditsDisplayed","imageCredits","credits","otherProps","_objectWithoutProperties","_excluded","data","loading","error","message","imageUrl","imageData","getFile","urlProps","href","title","imgWrapperProps","caption","altText","shouldDisplayCaption","isDisplayed","value","shouldDisplayCredits","navigate","position","newPosition","handlePrevious","handleNext","handleClose","showNext","length","showPrevious","imageCounter","createElement","className","role","onClick","handleAction","show","modifier","ariaLabel","Object","keys","src","alt","sizeKey","propTypes","arrayOf","shape","string","func","isRequired","number","defaultProps"],"sources":["../../../../src/components/Image/GlobalLightbox/GlobalLightbox.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport { FaTimes } from 'react-icons/fa';\nimport BlazeLink from '../../BlazeLink';\nimport ImageDetails from '../ImageDetails';\nimport NavButton from './NavButton';\nimport getImageData from '../../../utils/get-image-data';\nimport useGetImages from '../../../hooks/use-get-images';\nimport { shouldShowProperty } from '../../../helpers';\n\nconst GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName }) => {\n const [index, setIndex] = useState(selectedImage);\n\n const currentImage = images[index] || {};\n\n const {\n imageId,\n url,\n name,\n enableLightbox,\n isCaptionDisplayed,\n areImageCreditsDisplayed,\n imageCredits,\n credits,\n ...otherProps\n } = currentImage;\n\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) {\n return error.message;\n }\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const urlProps = { href: url, title: name };\n const imgWrapperProps = url ? urlProps : {};\n\n const { caption, altText } = getImageData(otherProps, imageData);\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: credits || imageCredits\n });\n\n const navigate = position => {\n const newPosition = index + position;\n if (images[newPosition]) {\n setIndex(newPosition);\n }\n };\n\n const handlePrevious = () => navigate(-1);\n const handleNext = () => navigate(1);\n const handleClose = () => onClose();\n\n const showNext = index !== images.length - 1;\n const showPrevious = !!index;\n\n const imageCounter = `${index + 1} of ${images.length}`;\n\n return (\n <>\n {!!images.length && (\n <div>\n <div className=\"overlay\" />\n <div className=\"modal modal--full-screen modal--gallery modal--show\">\n <header className=\"modal__header modal__header--gallery\">\n <div className=\"modal__title modal__title--gallery\">\n {parentName || metaTitle || name}\n </div>\n <div\n role=\"button\"\n className=\"modal__close\"\n onClick={handleClose}\n aria-label=\"Close modal\">\n <i>\n <FaTimes />\n </i>\n </div>\n </header>\n <div className=\"modal__content modal__content--gallery\">\n <div className=\"gallery\">\n <div className=\"gallery__column gallery__column--slider\">\n <div className=\"gallery__slider\">\n <div className=\"slider__wrapper slider__wrapper--gallery open\">\n <div className=\"slider__header slider__header--gallery\">\n <div\n className=\"slider__counter slider__counter--gallery\"\n data-testid=\"image-counter\">\n {imageCounter}\n </div>\n </div>\n\n <NavButton\n handleAction={handlePrevious}\n show={showPrevious}\n modifier=\"previous\"\n ariaLabel=\"Previous Image\"\n />\n\n <div className=\"slider slider--gallery\">\n <div className=\"slider__list slider__list--gallery\">\n <div className=\"slider__list-wrapper slider__list-wrapper--gallery\">\n <div className=\"slider__slide slider__slide--gallery\">\n {loading && <div />}\n {Object.keys(imgWrapperProps).length ? (\n <BlazeLink {...imgWrapperProps}>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </BlazeLink>\n ) : (\n <Fragment>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n\n <NavButton\n ariaLabel=\"Next Image\"\n handleAction={handleNext}\n show={showNext}\n modifier=\"next\"\n />\n </div>\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={credits || imageCredits}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n\nGlobalLightbox.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n imageId: PropTypes.string\n })\n ),\n metaTitle: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n selectedImage: PropTypes.number,\n parentName: PropTypes.string\n};\n\nGlobalLightbox.defaultProps = {\n metaTitle: '',\n images: [],\n selectedImage: 0,\n parentName: ''\n};\n\nexport default GlobalLightbox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GlobalLightbox.js","names":["React","useState","Fragment","PropTypes","ResponsiveImage","FaTimes","BlazeLink","ImageDetails","NavButton","getImageData","useGetImages","shouldShowProperty","GlobalLightbox","images","onClose","selectedImage","metaTitle","parentName","index","setIndex","currentImage","imageId","url","name","enableLightbox","isCaptionDisplayed","areImageCreditsDisplayed","imageCredits","credits","otherProps","_objectWithoutProperties","_excluded","data","loading","error","message","imageUrl","imageData","getFile","urlProps","href","title","imgWrapperProps","caption","altText","shouldDisplayCaption","isDisplayed","value","shouldDisplayCredits","navigate","position","newPosition","handlePrevious","handleNext","handleClose","showNext","length","showPrevious","imageCounter","createElement","className","role","onClick","handleAction","show","modifier","ariaLabel","Object","keys","src","alt","sizeKey","propTypes","arrayOf","shape","string","func","isRequired","number","defaultProps"],"sources":["../../../../src/components/Image/GlobalLightbox/GlobalLightbox.js"],"sourcesContent":["import React, { useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { ResponsiveImage } from '@blaze-cms/image-cdn-react';\nimport { FaTimes } from 'react-icons/fa';\nimport BlazeLink from '../../BlazeLink';\nimport ImageDetails from '../ImageDetails';\nimport NavButton from './NavButton';\nimport getImageData from '../../../utils/get-image-data';\nimport useGetImages from '../../../hooks/use-get-images';\nimport { shouldShowProperty } from '../../../helpers';\n\nconst GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName }) => {\n const [index, setIndex] = useState(selectedImage);\n\n const currentImage = images[index] || {};\n\n const {\n imageId,\n url,\n name,\n enableLightbox,\n isCaptionDisplayed,\n areImageCreditsDisplayed,\n imageCredits,\n credits,\n ...otherProps\n } = currentImage;\n\n const { data, loading, error } = useGetImages(imageId);\n\n if (error) {\n return error.message;\n }\n\n const { url: imageUrl = '', data: imageData = {} } = data.getFile || {\n getFile: { url: '', data: {} }\n };\n\n const urlProps = { href: url, title: name };\n const imgWrapperProps = url ? urlProps : {};\n\n const { caption, altText } = getImageData(otherProps, imageData);\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: credits || imageCredits\n });\n\n const navigate = position => {\n const newPosition = index + position;\n if (images[newPosition]) {\n setIndex(newPosition);\n }\n };\n\n const handlePrevious = () => navigate(-1);\n const handleNext = () => navigate(1);\n const handleClose = () => onClose();\n\n const showNext = index !== images.length - 1;\n const showPrevious = !!index;\n\n const imageCounter = `${index + 1} / ${images.length}`;\n\n return (\n <>\n {!!images.length && (\n <div>\n <div className=\"overlay\" />\n <div className=\"modal modal--full-screen modal--gallery modal--show\">\n <header className=\"modal__header modal__header--gallery\">\n <div className=\"modal__title modal__title--gallery\">\n {parentName || metaTitle || name}\n </div>\n <div\n role=\"button\"\n className=\"modal__close\"\n onClick={handleClose}\n aria-label=\"Close modal\">\n <i>\n <FaTimes />\n </i>\n </div>\n </header>\n <div className=\"modal__content modal__content--gallery\">\n <div className=\"gallery\">\n <div className=\"gallery__column gallery__column--slider\">\n <div className=\"gallery__slider\">\n <div className=\"slider__wrapper slider__wrapper--gallery open\">\n <div className=\"slider__header slider__header--gallery\">\n <div\n className=\"slider__counter slider__counter--gallery\"\n data-testid=\"image-counter\">\n {imageCounter}\n </div>\n </div>\n\n <NavButton\n handleAction={handlePrevious}\n show={showPrevious}\n modifier=\"previous\"\n ariaLabel=\"Previous Image\"\n />\n\n <div className=\"slider slider--gallery\">\n <div className=\"slider__list slider__list--gallery\">\n <div className=\"slider__list-wrapper slider__list-wrapper--gallery\">\n <div className=\"slider__slide slider__slide--gallery\">\n {loading && <div />}\n {Object.keys(imgWrapperProps).length ? (\n <BlazeLink {...imgWrapperProps}>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </BlazeLink>\n ) : (\n <Fragment>\n <ResponsiveImage\n src={imageUrl}\n alt={altText}\n sizeKey=\"globalLightbox\"\n data-testid=\"globalLightboxImage\"\n />\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n\n <NavButton\n ariaLabel=\"Next Image\"\n handleAction={handleNext}\n show={showNext}\n modifier=\"next\"\n />\n </div>\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={credits || imageCredits}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n </>\n );\n};\n\nGlobalLightbox.propTypes = {\n images: PropTypes.arrayOf(\n PropTypes.shape({\n url: PropTypes.string,\n imageId: PropTypes.string\n })\n ),\n metaTitle: PropTypes.string,\n onClose: PropTypes.func.isRequired,\n selectedImage: PropTypes.number,\n parentName: PropTypes.string\n};\n\nGlobalLightbox.defaultProps = {\n metaTitle: '',\n images: [],\n selectedImage: 0,\n parentName: ''\n};\n\nexport default GlobalLightbox;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-tooltips.4",
3
+ "version": "0.146.0-tooltips.6",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,7 +32,7 @@
32
32
  "@blaze-cms/core-errors-ui": "0.146.0-tooltips.0",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.7",
34
34
  "@blaze-cms/nextjs-components": "0.146.0-tooltips.0",
35
- "@blaze-cms/plugin-search-ui": "0.146.0-tooltips.4",
35
+ "@blaze-cms/plugin-search-ui": "0.146.0-tooltips.6",
36
36
  "@blaze-cms/setup-ui": "0.146.0-tooltips.0",
37
37
  "@blaze-cms/utils": "0.146.0-tooltips.0",
38
38
  "@blaze-cms/utils-handlebars": "0.146.0-tooltips.0",
@@ -90,5 +90,5 @@
90
90
  "lib/*",
91
91
  "lib-es/*"
92
92
  ],
93
- "gitHead": "0403756e1bffc1353474077bbd78cfd605feae6d"
93
+ "gitHead": "4c1b3997df03d354efcc82850109ecb7921c6f5b"
94
94
  }
@@ -6,7 +6,7 @@ import Wrapper from '../Wrapper';
6
6
 
7
7
  dayjs.extend(LocalizedFormat);
8
8
 
9
- const DateTime = ({ format, customFormat, modifier }) => {
9
+ const DateTime = ({ format, customFormat, modifier, prefix, suffix }) => {
10
10
  const dateFormat = customFormat || format;
11
11
 
12
12
  if (!dateFormat) return null;
@@ -15,7 +15,7 @@ const DateTime = ({ format, customFormat, modifier }) => {
15
15
 
16
16
  return (
17
17
  <Wrapper className="date" modifiers={modifier}>
18
- {formattedDate}
18
+ {prefix} {formattedDate} {suffix}
19
19
  </Wrapper>
20
20
  );
21
21
  };
@@ -23,12 +23,16 @@ const DateTime = ({ format, customFormat, modifier }) => {
23
23
  DateTime.propTypes = {
24
24
  format: PropTypes.string.isRequired,
25
25
  customFormat: PropTypes.string,
26
- modifier: PropTypes.string
26
+ modifier: PropTypes.string,
27
+ prefix: PropTypes.string,
28
+ suffix: PropTypes.string
27
29
  };
28
30
 
29
31
  DateTime.defaultProps = {
30
32
  customFormat: '',
31
- modifier: null
33
+ modifier: null,
34
+ prefix: '',
35
+ suffix: ''
32
36
  };
33
37
 
34
38
  export default DateTime;
@@ -66,7 +66,7 @@ const GlobalLightbox = ({ images, onClose, selectedImage, metaTitle, parentName
66
66
  const showNext = index !== images.length - 1;
67
67
  const showPrevious = !!index;
68
68
 
69
- const imageCounter = `${index + 1} of ${images.length}`;
69
+ const imageCounter = `${index + 1} / ${images.length}`;
70
70
 
71
71
  return (
72
72
  <>
@@ -4,9 +4,12 @@
4
4
  import React from 'react';
5
5
  import { render } from '@testing-library/react';
6
6
  import '@testing-library/jest-dom/extend-expect';
7
+ import dayjs from 'dayjs';
7
8
  import DateTime from '../../../../../src/components/DateTime';
8
9
 
9
10
  describe('DateTime component', () => {
11
+ const customFormat = 'MM-DD-YYYY';
12
+
10
13
  it('renders null if both format and customFormat are not provided', () => {
11
14
  const { container } = render(<DateTime />);
12
15
  expect(container.firstChild).toBeNull();
@@ -86,14 +89,13 @@ describe('DateTime component', () => {
86
89
  ).toBeInTheDocument();
87
90
  });
88
91
 
89
- it('renders correctly with customFormat', () => {
90
- const customFormat = 'YYYY-MM-DD';
91
- const { getByText } = render(<DateTime format="L" customFormat={customFormat} />);
92
- expect(getByText(/\d{4}-\d{2}-\d{2}/)).toBeInTheDocument();
92
+ it('renders correctly with customFormat DD-YYYY-MM', () => {
93
+ const customDateFormat = 'DD-YYYY-MM';
94
+ const { getByText } = render(<DateTime format="L" customFormat={customDateFormat} />);
95
+ expect(getByText(/\d{2}-\d{4}-\d{2}/)).toBeInTheDocument();
93
96
  });
94
97
 
95
98
  it('renders correctly with customFormat and modifier', () => {
96
- const customFormat = 'MM-DD-YYYY';
97
99
  const modifier = 'bold';
98
100
  const { getByText } = render(
99
101
  <DateTime format="L" customFormat={customFormat} modifier={modifier} />
@@ -102,4 +104,26 @@ describe('DateTime component', () => {
102
104
  expect(dateElement).toBeInTheDocument();
103
105
  expect(dateElement).toHaveClass('bold');
104
106
  });
107
+
108
+ it('renders with prefix and suffix', () => {
109
+ const formattedDate = dayjs().format(customFormat);
110
+ const prefix = 'Start: ';
111
+ const suffix = ' End';
112
+
113
+ const { getByText } = render(
114
+ <DateTime format="L" customFormat={customFormat} prefix={prefix} suffix={suffix} />
115
+ );
116
+
117
+ expect(getByText(`${prefix}${formattedDate}${suffix}`)).toBeInTheDocument();
118
+ });
119
+
120
+ it('renders only the date when prefix and suffix are not provided', () => {
121
+ const formattedDate = dayjs().format(customFormat);
122
+
123
+ const { getByText, queryByText } = render(<DateTime format="L" customFormat={customFormat} />);
124
+
125
+ expect(getByText(formattedDate)).toBeInTheDocument();
126
+ expect(queryByText('Start: ')).not.toBeInTheDocument();
127
+ expect(queryByText(' End')).not.toBeInTheDocument();
128
+ });
105
129
  });
@@ -59,7 +59,7 @@ exports[`GlobalLightbox component should match snapshot 1`] = `
59
59
  class="slider__counter slider__counter--gallery"
60
60
  data-testid="image-counter"
61
61
  >
62
- 1 of 1
62
+ 1 / 1
63
63
  </div>
64
64
  </div>
65
65
  <div