@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 +20 -0
- package/lib/components/DateTime/DateTime.js +10 -4
- package/lib/components/DateTime/DateTime.js.map +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js +1 -1
- package/lib/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/lib-es/components/DateTime/DateTime.js +10 -4
- package/lib-es/components/DateTime/DateTime.js.map +1 -1
- package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js +1 -1
- package/lib-es/components/Image/GlobalLightbox/GlobalLightbox.js.map +1 -1
- package/package.json +3 -3
- package/src/components/DateTime/DateTime.js +8 -4
- package/src/components/Image/GlobalLightbox/GlobalLightbox.js +1 -1
- package/tests/unit/src/components/DateTime/DateTime.test.js +29 -5
- package/tests/unit/src/components/Image/GlobalLightbox/__snapshots__/GlobalLightbox.test.js.snap +1 -1
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,
|
|
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, "
|
|
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;
|
|
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}
|
|
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.
|
|
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.
|
|
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": "
|
|
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}
|
|
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
|
|
91
|
-
const { getByText } = render(<DateTime format="L" customFormat={
|
|
92
|
-
expect(getByText(/\d{
|
|
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
|
});
|