@jotforminc/dnd-builder 3.6.3 → 3.6.5

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
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [3.6.5](https://github.com/jotform/dnd-builder/compare/v3.6.4...v3.6.5) (2026-04-14)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **dnd-builder:** remove text object memoization ([f87c108](https://github.com/jotform/dnd-builder/commit/f87c108991b78c60164e20e88bf30b8ec3dade22))
11
+
12
+ ## [3.6.4](https://github.com/jotform/dnd-builder/compare/v3.6.3...v3.6.4) (2026-04-13)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **dnd-builder:** enhance slide item background color handling and adjust thumbnail dimensions ([e74b759](https://github.com/jotform/dnd-builder/commit/e74b7591fd29278ced3b5640e4d5a2f5ffdb72c5))
18
+
5
19
  ## [3.6.3](https://github.com/jotform/dnd-builder/compare/v3.6.2...v3.6.3) (2026-04-09)
6
20
 
7
21
 
@@ -11,6 +11,7 @@ var StaticSlideItem = require('./StaticSlideItem.js');
11
11
  var SlideItemMoreMenu = require('./MoreMenu/SlideItemMoreMenu.js');
12
12
  var functions = require('../../../utils/functions.js');
13
13
  var BuilderContext = require('../../../contexts/BuilderContext.js');
14
+ var PropContext = require('../../../contexts/PropContext.js');
14
15
  var jsxRuntime = require('react/jsx-runtime');
15
16
 
16
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -42,6 +43,11 @@ var SlideItem = function SlideItem(_ref) {
42
43
  var visiblePageOrder = BuilderContext.useBuilderStore(function (state) {
43
44
  return state.visiblePageOrder;
44
45
  });
46
+ var reportBackgroundColor = PropContext.usePropStore(function (state) {
47
+ var _state$settings;
48
+
49
+ return (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.reportBackgroundColor;
50
+ });
45
51
  var selected = visiblePageOrder === order;
46
52
 
47
53
  var _useSortable = sortable.useSortable({
@@ -103,7 +109,7 @@ var SlideItem = function SlideItem(_ref) {
103
109
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
104
110
  className: "slides-navigator-item-content",
105
111
  children: /*#__PURE__*/jsxRuntime.jsx(StaticSlideItem, {
106
- backgroundColor: page.backgroundColor,
112
+ backgroundColor: page.backgroundColor || reportBackgroundColor || '#fff',
107
113
  items: page.items,
108
114
  reportHeight: reportHeight,
109
115
  reportWidth: reportWidth
@@ -1 +1 @@
1
- {"version":3,"file":"SlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItem.js"],"sourcesContent":["import {\n memo, useCallback, useMemo, useRef,\n} from 'react';\nimport { motion } from 'framer-motion';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu';\nimport { emptyFunction } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\n\nconst slideRevealTransition = {\n duration: 0.25,\n ease: [0.2, 0, 0.2, 1],\n};\n\nconst SlideItem = ({\n id,\n onPageClick,\n order,\n page,\n reportHeight,\n reportWidth,\n style,\n}) => {\n const moreMenuRef = useRef(null);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const selected = visiblePageOrder === order;\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const itemClickHandler = useCallback(e => {\n setVisiblePageOrder(order);\n onPageClick?.(e);\n }, [onPageClick, setVisiblePageOrder, order]);\n\n const handleContextMenu = useCallback(e => {\n e.preventDefault();\n moreMenuRef.current?.handleOpenMenu(e);\n }, []);\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className={`slides-navigator-item${selected ? ' selected' : ''}`}\n data-id={page.id}\n data-order={order}\n onClick={itemClickHandler}\n onContextMenu={handleContextMenu}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <motion.div\n className=\"slides-navigator-item-motion\"\n initial={{ opacity: 0.25, scale: 0.95 }}\n transition={slideRevealTransition}\n viewport={{ amount: 0.2, once: true }}\n whileInView={{ opacity: 1, scale: 1 }}\n >\n <div className=\"slides-navigator-item-order\">{order}</div>\n <div\n className=\"slides-navigator-item-content\"\n >\n <StaticSlideItem\n backgroundColor={page.backgroundColor}\n items={page.items}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n />\n </div>\n <SlideItemMoreMenu\n ref={moreMenuRef}\n order={order}\n page={page}\n selected={selected}\n />\n </motion.div>\n </div>\n );\n};\n\nSlideItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageClick: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nfunction slideItemPropsAreEqual(prevProps, nextProps) {\n return prevProps.id === nextProps.id\n && prevProps.order === nextProps.order\n && prevProps.page === nextProps.page\n && prevProps.reportHeight === nextProps.reportHeight\n && prevProps.reportWidth === nextProps.reportWidth\n && prevProps.style === nextProps.style\n && prevProps.onPageClick === nextProps.onPageClick;\n}\n\nexport default memo(SlideItem, slideItemPropsAreEqual);\n"],"names":["slideRevealTransition","duration","ease","SlideItem","id","onPageClick","order","page","reportHeight","reportWidth","style","moreMenuRef","useRef","setVisiblePageOrder","useBuilderStore","state","visiblePageOrder","selected","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","itemClickHandler","useCallback","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsx","emptyFunction","_jsxs","motion","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"SlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItem.js"],"sourcesContent":["import {\n memo, useCallback, useMemo, useRef,\n} from 'react';\nimport { motion } from 'framer-motion';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu';\nimport { emptyFunction } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst slideRevealTransition = {\n duration: 0.25,\n ease: [0.2, 0, 0.2, 1],\n};\n\nconst SlideItem = ({\n id,\n onPageClick,\n order,\n page,\n reportHeight,\n reportWidth,\n style,\n}) => {\n const moreMenuRef = useRef(null);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const reportBackgroundColor = usePropStore(state => state.settings?.reportBackgroundColor);\n const selected = visiblePageOrder === order;\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const itemClickHandler = useCallback(e => {\n setVisiblePageOrder(order);\n onPageClick?.(e);\n }, [onPageClick, setVisiblePageOrder, order]);\n\n const handleContextMenu = useCallback(e => {\n e.preventDefault();\n moreMenuRef.current?.handleOpenMenu(e);\n }, []);\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className={`slides-navigator-item${selected ? ' selected' : ''}`}\n data-id={page.id}\n data-order={order}\n onClick={itemClickHandler}\n onContextMenu={handleContextMenu}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <motion.div\n className=\"slides-navigator-item-motion\"\n initial={{ opacity: 0.25, scale: 0.95 }}\n transition={slideRevealTransition}\n viewport={{ amount: 0.2, once: true }}\n whileInView={{ opacity: 1, scale: 1 }}\n >\n <div className=\"slides-navigator-item-order\">{order}</div>\n <div\n className=\"slides-navigator-item-content\"\n >\n <StaticSlideItem\n backgroundColor={page.backgroundColor || reportBackgroundColor || '#fff'}\n items={page.items}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n />\n </div>\n <SlideItemMoreMenu\n ref={moreMenuRef}\n order={order}\n page={page}\n selected={selected}\n />\n </motion.div>\n </div>\n );\n};\n\nSlideItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageClick: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nfunction slideItemPropsAreEqual(prevProps, nextProps) {\n return prevProps.id === nextProps.id\n && prevProps.order === nextProps.order\n && prevProps.page === nextProps.page\n && prevProps.reportHeight === nextProps.reportHeight\n && prevProps.reportWidth === nextProps.reportWidth\n && prevProps.style === nextProps.style\n && prevProps.onPageClick === nextProps.onPageClick;\n}\n\nexport default memo(SlideItem, slideItemPropsAreEqual);\n"],"names":["slideRevealTransition","duration","ease","SlideItem","id","onPageClick","order","page","reportHeight","reportWidth","style","moreMenuRef","useRef","setVisiblePageOrder","useBuilderStore","state","visiblePageOrder","reportBackgroundColor","usePropStore","settings","selected","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","itemClickHandler","useCallback","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsx","emptyFunction","_jsxs","motion","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  var core = require('@dnd-kit/core');
4
4
  var PropTypes = require('prop-types');
5
5
  var StaticSlideItem = require('./StaticSlideItem.js');
6
+ var PropContext = require('../../../contexts/PropContext.js');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
 
8
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -24,6 +25,11 @@ var dropAnimation = {
24
25
 
25
26
  var SlideItemDragOverlay = function SlideItemDragOverlay(_ref) {
26
27
  var activePageData = _ref.activePageData;
28
+ var reportBackgroundColor = PropContext.usePropStore(function (state) {
29
+ var _state$settings;
30
+
31
+ return (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.reportBackgroundColor;
32
+ });
27
33
  return /*#__PURE__*/jsxRuntime.jsx(core.DragOverlay, {
28
34
  adjustScale: false,
29
35
  dropAnimation: dropAnimation,
@@ -41,7 +47,7 @@ var SlideItemDragOverlay = function SlideItemDragOverlay(_ref) {
41
47
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
42
48
  className: "slides-navigator-item-content",
43
49
  children: /*#__PURE__*/jsxRuntime.jsx(StaticSlideItem, {
44
- backgroundColor: activePageData.page.backgroundColor,
50
+ backgroundColor: activePageData.page.backgroundColor || reportBackgroundColor || '#fff',
45
51
  items: activePageData.page.items,
46
52
  reportHeight: activePageData.reportHeight,
47
53
  reportWidth: activePageData.reportWidth
@@ -1 +1 @@
1
- {"version":3,"file":"SlideItemDragOverlay.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemDragOverlay.js"],"sourcesContent":["import { DragOverlay, defaultDropAnimationSideEffects } from '@dnd-kit/core';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\n\nconst dropAnimation = {\n duration: 150,\n easing: 'ease-out',\n sideEffects: defaultDropAnimationSideEffects({\n styles: { dragOverlay: { opacity: '0', transform: 'rotate(10deg) scale(1.2)' } },\n }),\n};\n\nconst SlideItemDragOverlay = ({ activePageData }) => {\n return (\n <DragOverlay\n adjustScale={false}\n dropAnimation={dropAnimation}\n style={{ cursor: 'grabbing' }}\n >\n {activePageData ? (\n <div\n className=\"slides-navigator-item\"\n style={{ opacity: 0.5 }}\n >\n <div className=\"slides-navigator-item-order\">{activePageData.page.order}</div>\n <div className=\"slides-navigator-item-content\">\n <StaticSlideItem\n backgroundColor={activePageData.page.backgroundColor}\n items={activePageData.page.items}\n reportHeight={activePageData.reportHeight}\n reportWidth={activePageData.reportWidth}\n />\n </div>\n </div>\n ) : null}\n </DragOverlay>\n );\n};\n\nSlideItemDragOverlay.propTypes = {\n activePageData: PropTypes.shape({\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n order: PropTypes.number,\n }),\n reportHeight: PropTypes.number,\n reportWidth: PropTypes.number,\n }),\n};\n\nexport default SlideItemDragOverlay;\n"],"names":["dropAnimation","duration","easing","sideEffects","defaultDropAnimationSideEffects","styles","dragOverlay","opacity","transform","SlideItemDragOverlay","activePageData","_jsx","DragOverlay","cursor","_jsxs","page","order","backgroundColor","items","reportHeight","reportWidth","propTypes","PropTypes","shape","string","arrayOf","number"],"mappings":";;;;;;;;;;;AAIA,IAAMA,aAAa,GAAG;AACpBC,EAAAA,QAAQ,EAAE,GADU;AAEpBC,EAAAA,MAAM,EAAE,UAFY;AAGpBC,EAAAA,WAAW,EAAEC,oCAA+B,CAAC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAEC,QAAAA,OAAO,EAAE,GAAX;AAAgBC,QAAAA,SAAS,EAAE;AAA3B;AAAf;AADmC,GAAD;AAHxB,CAAtB;;IAQMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwB;AAAA,MAArBC,cAAqB,QAArBA,cAAqB;AACnD,sBACEC,eAACC,gBAAD;AACE,IAAA,WAAW,EAAE,KADf;AAEE,IAAA,aAAa,EAAEZ,aAFjB;AAGE,IAAA,KAAK,EAAE;AAAEa,MAAAA,MAAM,EAAE;AAAV,KAHT;AAAA,cAKGH,cAAc,gBACbI;AACE,MAAA,SAAS,EAAC,uBADZ;AAEE,MAAA,KAAK,EAAE;AAAEP,QAAAA,OAAO,EAAE;AAAX,OAFT;AAAA,8BAIEI;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,kBAA8CD,cAAc,CAACK,IAAf,CAAoBC;AAAlE,QAJF,eAKEL;AAAK,QAAA,SAAS,EAAC,+BAAf;AAAA,+BACEA,eAAC,eAAD;AACE,UAAA,eAAe,EAAED,cAAc,CAACK,IAAf,CAAoBE,eADvC;AAEE,UAAA,KAAK,EAAEP,cAAc,CAACK,IAAf,CAAoBG,KAF7B;AAGE,UAAA,YAAY,EAAER,cAAc,CAACS,YAH/B;AAIE,UAAA,WAAW,EAAET,cAAc,CAACU;AAJ9B;AADF,QALF;AAAA,MADa,GAeX;AApBN,IADF;AAwBD;;AAEDX,oBAAoB,CAACY,SAArB,GAAiC;AAC/BX,EAAAA,cAAc,EAAEY,6BAAS,CAACC,KAAV,CAAgB;AAC9BR,IAAAA,IAAI,EAAEO,6BAAS,CAACC,KAAV,CAAgB;AACpBN,MAAAA,eAAe,EAAEK,6BAAS,CAACE,MADP;AAEpBN,MAAAA,KAAK,EAAEI,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAAlB,CAFa;AAGpBP,MAAAA,KAAK,EAAEM,6BAAS,CAACI;AAHG,KAAhB,CADwB;AAM9BP,IAAAA,YAAY,EAAEG,6BAAS,CAACI,MANM;AAO9BN,IAAAA,WAAW,EAAEE,6BAAS,CAACI;AAPO,GAAhB;AADe,CAAjC;;;;"}
1
+ {"version":3,"file":"SlideItemDragOverlay.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemDragOverlay.js"],"sourcesContent":["import { DragOverlay, defaultDropAnimationSideEffects } from '@dnd-kit/core';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst dropAnimation = {\n duration: 150,\n easing: 'ease-out',\n sideEffects: defaultDropAnimationSideEffects({\n styles: { dragOverlay: { opacity: '0', transform: 'rotate(10deg) scale(1.2)' } },\n }),\n};\n\nconst SlideItemDragOverlay = ({ activePageData }) => {\n const reportBackgroundColor = usePropStore(state => state.settings?.reportBackgroundColor);\n\n return (\n <DragOverlay\n adjustScale={false}\n dropAnimation={dropAnimation}\n style={{ cursor: 'grabbing' }}\n >\n {activePageData ? (\n <div\n className=\"slides-navigator-item\"\n style={{ opacity: 0.5 }}\n >\n <div className=\"slides-navigator-item-order\">{activePageData.page.order}</div>\n <div className=\"slides-navigator-item-content\">\n <StaticSlideItem\n backgroundColor={activePageData.page.backgroundColor || reportBackgroundColor || '#fff'}\n items={activePageData.page.items}\n reportHeight={activePageData.reportHeight}\n reportWidth={activePageData.reportWidth}\n />\n </div>\n </div>\n ) : null}\n </DragOverlay>\n );\n};\n\nSlideItemDragOverlay.propTypes = {\n activePageData: PropTypes.shape({\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n order: PropTypes.number,\n }),\n reportHeight: PropTypes.number,\n reportWidth: PropTypes.number,\n }),\n};\n\nexport default SlideItemDragOverlay;\n"],"names":["dropAnimation","duration","easing","sideEffects","defaultDropAnimationSideEffects","styles","dragOverlay","opacity","transform","SlideItemDragOverlay","activePageData","reportBackgroundColor","usePropStore","state","settings","_jsx","DragOverlay","cursor","_jsxs","page","order","backgroundColor","items","reportHeight","reportWidth","propTypes","PropTypes","shape","string","arrayOf","number"],"mappings":";;;;;;;;;;;;AAKA,IAAMA,aAAa,GAAG;AACpBC,EAAAA,QAAQ,EAAE,GADU;AAEpBC,EAAAA,MAAM,EAAE,UAFY;AAGpBC,EAAAA,WAAW,EAAEC,oCAA+B,CAAC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAEC,QAAAA,OAAO,EAAE,GAAX;AAAgBC,QAAAA,SAAS,EAAE;AAA3B;AAAf;AADmC,GAAD;AAHxB,CAAtB;;IAQMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwB;AAAA,MAArBC,cAAqB,QAArBA,cAAqB;AACnD,MAAMC,qBAAqB,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA;;AAAA,8BAAIA,KAAK,CAACC,QAAV,oDAAI,gBAAgBH,qBAApB;AAAA,GAAN,CAA1C;AAEA,sBACEI,eAACC,gBAAD;AACE,IAAA,WAAW,EAAE,KADf;AAEE,IAAA,aAAa,EAAEhB,aAFjB;AAGE,IAAA,KAAK,EAAE;AAAEiB,MAAAA,MAAM,EAAE;AAAV,KAHT;AAAA,cAKGP,cAAc,gBACbQ;AACE,MAAA,SAAS,EAAC,uBADZ;AAEE,MAAA,KAAK,EAAE;AAAEX,QAAAA,OAAO,EAAE;AAAX,OAFT;AAAA,8BAIEQ;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,kBAA8CL,cAAc,CAACS,IAAf,CAAoBC;AAAlE,QAJF,eAKEL;AAAK,QAAA,SAAS,EAAC,+BAAf;AAAA,+BACEA,eAAC,eAAD;AACE,UAAA,eAAe,EAAEL,cAAc,CAACS,IAAf,CAAoBE,eAApB,IAAuCV,qBAAvC,IAAgE,MADnF;AAEE,UAAA,KAAK,EAAED,cAAc,CAACS,IAAf,CAAoBG,KAF7B;AAGE,UAAA,YAAY,EAAEZ,cAAc,CAACa,YAH/B;AAIE,UAAA,WAAW,EAAEb,cAAc,CAACc;AAJ9B;AADF,QALF;AAAA,MADa,GAeX;AApBN,IADF;AAwBD;;AAEDf,oBAAoB,CAACgB,SAArB,GAAiC;AAC/Bf,EAAAA,cAAc,EAAEgB,6BAAS,CAACC,KAAV,CAAgB;AAC9BR,IAAAA,IAAI,EAAEO,6BAAS,CAACC,KAAV,CAAgB;AACpBN,MAAAA,eAAe,EAAEK,6BAAS,CAACE,MADP;AAEpBN,MAAAA,KAAK,EAAEI,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACC,KAAV,CAAgB,EAAhB,CAAlB,CAFa;AAGpBP,MAAAA,KAAK,EAAEM,6BAAS,CAACI;AAHG,KAAhB,CADwB;AAM9BP,IAAAA,YAAY,EAAEG,6BAAS,CAACI,MANM;AAO9BN,IAAAA,WAAW,EAAEE,6BAAS,CAACI;AAPO,GAAhB;AADe,CAAjC;;;;"}
@@ -15,8 +15,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
15
15
 
16
16
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
17
17
 
18
- var THUMBNAIL_MAX_WIDTH = 128;
19
- var THUMBNAIL_MAX_HEIGHT = 90.5;
18
+ var THUMBNAIL_MAX_WIDTH = 124;
19
+ var THUMBNAIL_MAX_HEIGHT = 88.5;
20
20
  var wrapperStyle = {
21
21
  height: '100%',
22
22
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"file":"StaticSlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/StaticSlideItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../../constants/classNames';\nimport ReportItemRenderer from '../../Builder/ReportItemRenderer';\nimport StaticItem from '../../Preview/StaticItem';\nimport ErrorBoundary from '../../ErrorBoundary/ErrorBoundary';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst THUMBNAIL_MAX_WIDTH = 128;\nconst THUMBNAIL_MAX_HEIGHT = 90.5;\n\nconst wrapperStyle = {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n};\n\nconst StaticSlideItem = ({\n backgroundColor,\n items = [],\n reportHeight,\n reportWidth,\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n\n const containerStyle = useMemo(() => {\n const scale = Math.min(\n THUMBNAIL_MAX_WIDTH / reportWidth,\n THUMBNAIL_MAX_HEIGHT / reportHeight,\n );\n\n const scaledWidth = reportWidth * scale;\n const scaledHeight = reportHeight * scale;\n\n return {\n backgroundColor: backgroundColor || '#fff',\n borderRadius: '4px',\n height: reportHeight,\n left: (THUMBNAIL_MAX_WIDTH - scaledWidth) / 2,\n position: 'absolute',\n top: (THUMBNAIL_MAX_HEIGHT - scaledHeight) / 2,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: reportWidth,\n };\n }, [reportWidth, reportHeight, backgroundColor]);\n\n return (\n <div style={wrapperStyle}>\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={containerStyle}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n </div>\n );\n};\n\nStaticSlideItem.propTypes = {\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n};\n\nexport default memo(StaticSlideItem);\n"],"names":["THUMBNAIL_MAX_WIDTH","THUMBNAIL_MAX_HEIGHT","wrapperStyle","height","overflow","position","width","StaticSlideItem","backgroundColor","items","reportHeight","reportWidth","itemAccessor","usePropStore","state","additionalPageItems","containerStyle","useMemo","scale","Math","min","scaledWidth","scaledHeight","borderRadius","left","top","transform","transformOrigin","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","string","arrayOf","shape","number","isRequired","memo"],"mappings":"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"}
1
+ {"version":3,"file":"StaticSlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/StaticSlideItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../../constants/classNames';\nimport ReportItemRenderer from '../../Builder/ReportItemRenderer';\nimport StaticItem from '../../Preview/StaticItem';\nimport ErrorBoundary from '../../ErrorBoundary/ErrorBoundary';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst THUMBNAIL_MAX_WIDTH = 124;\nconst THUMBNAIL_MAX_HEIGHT = 88.5;\n\nconst wrapperStyle = {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n};\n\nconst StaticSlideItem = ({\n backgroundColor,\n items = [],\n reportHeight,\n reportWidth,\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n\n const containerStyle = useMemo(() => {\n const scale = Math.min(\n THUMBNAIL_MAX_WIDTH / reportWidth,\n THUMBNAIL_MAX_HEIGHT / reportHeight,\n );\n\n const scaledWidth = reportWidth * scale;\n const scaledHeight = reportHeight * scale;\n\n return {\n backgroundColor: backgroundColor || '#fff',\n borderRadius: '4px',\n height: reportHeight,\n left: (THUMBNAIL_MAX_WIDTH - scaledWidth) / 2,\n position: 'absolute',\n top: (THUMBNAIL_MAX_HEIGHT - scaledHeight) / 2,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: reportWidth,\n };\n }, [reportWidth, reportHeight, backgroundColor]);\n\n return (\n <div style={wrapperStyle}>\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={containerStyle}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n </div>\n );\n};\n\nStaticSlideItem.propTypes = {\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n};\n\nexport default memo(StaticSlideItem);\n"],"names":["THUMBNAIL_MAX_WIDTH","THUMBNAIL_MAX_HEIGHT","wrapperStyle","height","overflow","position","width","StaticSlideItem","backgroundColor","items","reportHeight","reportWidth","itemAccessor","usePropStore","state","additionalPageItems","containerStyle","useMemo","scale","Math","min","scaledWidth","scaledHeight","borderRadius","left","top","transform","transformOrigin","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","string","arrayOf","shape","number","isRequired","memo"],"mappings":"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"}
@@ -202,9 +202,7 @@ var useFullscreenChange = function useFullscreenChange(isFullscreen, fitToScreen
202
202
  useEventListener('MSFullscreenChange', onFullscreenChange);
203
203
  };
204
204
  var useTranslatedTexts = function useTranslatedTexts() {
205
- return React.useMemo(function () {
206
- return texts.SharingTextsModule.Texts;
207
- }, []);
205
+ return texts.SharingTextsModule.Texts;
208
206
  };
209
207
  var useClickOutsideListener = function useClickOutsideListener(classes, conditionValue, onClose) {
210
208
  var onClickOutsideForPanel = React.useCallback(function (_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, []);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return SharingTextsModule.Texts;\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { useTranslatedTexts, useSelectedElements } from '../../utils/hooks.js';
1
+ import { useSelectedElements, useTranslatedTexts } from '../../utils/hooks.js';
2
2
  import { usePropStore } from '../../contexts/PropContext.js';
3
3
  import { useBuilderStore } from '../../contexts/BuilderContext.js';
4
4
  import generateId from '../../utils/generateId.js';
@@ -9,6 +9,7 @@ import StaticSlideItem from './StaticSlideItem.js';
9
9
  import SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu.js';
10
10
  import { emptyFunction } from '../../../utils/functions.js';
11
11
  import { useBuilderStore } from '../../../contexts/BuilderContext.js';
12
+ import { usePropStore } from '../../../contexts/PropContext.js';
12
13
  import { jsx, jsxs } from 'react/jsx-runtime';
13
14
 
14
15
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -36,6 +37,11 @@ var SlideItem = function SlideItem(_ref) {
36
37
  var visiblePageOrder = useBuilderStore(function (state) {
37
38
  return state.visiblePageOrder;
38
39
  });
40
+ var reportBackgroundColor = usePropStore(function (state) {
41
+ var _state$settings;
42
+
43
+ return (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.reportBackgroundColor;
44
+ });
39
45
  var selected = visiblePageOrder === order;
40
46
 
41
47
  var _useSortable = useSortable({
@@ -97,7 +103,7 @@ var SlideItem = function SlideItem(_ref) {
97
103
  }), /*#__PURE__*/jsx("div", {
98
104
  className: "slides-navigator-item-content",
99
105
  children: /*#__PURE__*/jsx(StaticSlideItem, {
100
- backgroundColor: page.backgroundColor,
106
+ backgroundColor: page.backgroundColor || reportBackgroundColor || '#fff',
101
107
  items: page.items,
102
108
  reportHeight: reportHeight,
103
109
  reportWidth: reportWidth
@@ -1 +1 @@
1
- {"version":3,"file":"SlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItem.js"],"sourcesContent":["import {\n memo, useCallback, useMemo, useRef,\n} from 'react';\nimport { motion } from 'framer-motion';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu';\nimport { emptyFunction } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\n\nconst slideRevealTransition = {\n duration: 0.25,\n ease: [0.2, 0, 0.2, 1],\n};\n\nconst SlideItem = ({\n id,\n onPageClick,\n order,\n page,\n reportHeight,\n reportWidth,\n style,\n}) => {\n const moreMenuRef = useRef(null);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const selected = visiblePageOrder === order;\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const itemClickHandler = useCallback(e => {\n setVisiblePageOrder(order);\n onPageClick?.(e);\n }, [onPageClick, setVisiblePageOrder, order]);\n\n const handleContextMenu = useCallback(e => {\n e.preventDefault();\n moreMenuRef.current?.handleOpenMenu(e);\n }, []);\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className={`slides-navigator-item${selected ? ' selected' : ''}`}\n data-id={page.id}\n data-order={order}\n onClick={itemClickHandler}\n onContextMenu={handleContextMenu}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <motion.div\n className=\"slides-navigator-item-motion\"\n initial={{ opacity: 0.25, scale: 0.95 }}\n transition={slideRevealTransition}\n viewport={{ amount: 0.2, once: true }}\n whileInView={{ opacity: 1, scale: 1 }}\n >\n <div className=\"slides-navigator-item-order\">{order}</div>\n <div\n className=\"slides-navigator-item-content\"\n >\n <StaticSlideItem\n backgroundColor={page.backgroundColor}\n items={page.items}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n />\n </div>\n <SlideItemMoreMenu\n ref={moreMenuRef}\n order={order}\n page={page}\n selected={selected}\n />\n </motion.div>\n </div>\n );\n};\n\nSlideItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageClick: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nfunction slideItemPropsAreEqual(prevProps, nextProps) {\n return prevProps.id === nextProps.id\n && prevProps.order === nextProps.order\n && prevProps.page === nextProps.page\n && prevProps.reportHeight === nextProps.reportHeight\n && prevProps.reportWidth === nextProps.reportWidth\n && prevProps.style === nextProps.style\n && prevProps.onPageClick === nextProps.onPageClick;\n}\n\nexport default memo(SlideItem, slideItemPropsAreEqual);\n"],"names":["slideRevealTransition","duration","ease","SlideItem","id","onPageClick","order","page","reportHeight","reportWidth","style","moreMenuRef","useRef","setVisiblePageOrder","useBuilderStore","state","visiblePageOrder","selected","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","itemClickHandler","useCallback","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsx","emptyFunction","_jsxs","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"SlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItem.js"],"sourcesContent":["import {\n memo, useCallback, useMemo, useRef,\n} from 'react';\nimport { motion } from 'framer-motion';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu';\nimport { emptyFunction } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst slideRevealTransition = {\n duration: 0.25,\n ease: [0.2, 0, 0.2, 1],\n};\n\nconst SlideItem = ({\n id,\n onPageClick,\n order,\n page,\n reportHeight,\n reportWidth,\n style,\n}) => {\n const moreMenuRef = useRef(null);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const reportBackgroundColor = usePropStore(state => state.settings?.reportBackgroundColor);\n const selected = visiblePageOrder === order;\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const itemClickHandler = useCallback(e => {\n setVisiblePageOrder(order);\n onPageClick?.(e);\n }, [onPageClick, setVisiblePageOrder, order]);\n\n const handleContextMenu = useCallback(e => {\n e.preventDefault();\n moreMenuRef.current?.handleOpenMenu(e);\n }, []);\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className={`slides-navigator-item${selected ? ' selected' : ''}`}\n data-id={page.id}\n data-order={order}\n onClick={itemClickHandler}\n onContextMenu={handleContextMenu}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <motion.div\n className=\"slides-navigator-item-motion\"\n initial={{ opacity: 0.25, scale: 0.95 }}\n transition={slideRevealTransition}\n viewport={{ amount: 0.2, once: true }}\n whileInView={{ opacity: 1, scale: 1 }}\n >\n <div className=\"slides-navigator-item-order\">{order}</div>\n <div\n className=\"slides-navigator-item-content\"\n >\n <StaticSlideItem\n backgroundColor={page.backgroundColor || reportBackgroundColor || '#fff'}\n items={page.items}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n />\n </div>\n <SlideItemMoreMenu\n ref={moreMenuRef}\n order={order}\n page={page}\n selected={selected}\n />\n </motion.div>\n </div>\n );\n};\n\nSlideItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageClick: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nfunction slideItemPropsAreEqual(prevProps, nextProps) {\n return prevProps.id === nextProps.id\n && prevProps.order === nextProps.order\n && prevProps.page === nextProps.page\n && prevProps.reportHeight === nextProps.reportHeight\n && prevProps.reportWidth === nextProps.reportWidth\n && prevProps.style === nextProps.style\n && prevProps.onPageClick === nextProps.onPageClick;\n}\n\nexport default memo(SlideItem, slideItemPropsAreEqual);\n"],"names":["slideRevealTransition","duration","ease","SlideItem","id","onPageClick","order","page","reportHeight","reportWidth","style","moreMenuRef","useRef","setVisiblePageOrder","useBuilderStore","state","visiblePageOrder","reportBackgroundColor","usePropStore","settings","selected","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","itemClickHandler","useCallback","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsx","emptyFunction","_jsxs","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { defaultDropAnimationSideEffects, DragOverlay } from '@dnd-kit/core';
2
2
  import PropTypes from 'prop-types';
3
3
  import StaticSlideItem from './StaticSlideItem.js';
4
+ import { usePropStore } from '../../../contexts/PropContext.js';
4
5
  import { jsx, jsxs } from 'react/jsx-runtime';
5
6
 
6
7
  var dropAnimation = {
@@ -18,6 +19,11 @@ var dropAnimation = {
18
19
 
19
20
  var SlideItemDragOverlay = function SlideItemDragOverlay(_ref) {
20
21
  var activePageData = _ref.activePageData;
22
+ var reportBackgroundColor = usePropStore(function (state) {
23
+ var _state$settings;
24
+
25
+ return (_state$settings = state.settings) === null || _state$settings === void 0 ? void 0 : _state$settings.reportBackgroundColor;
26
+ });
21
27
  return /*#__PURE__*/jsx(DragOverlay, {
22
28
  adjustScale: false,
23
29
  dropAnimation: dropAnimation,
@@ -35,7 +41,7 @@ var SlideItemDragOverlay = function SlideItemDragOverlay(_ref) {
35
41
  }), /*#__PURE__*/jsx("div", {
36
42
  className: "slides-navigator-item-content",
37
43
  children: /*#__PURE__*/jsx(StaticSlideItem, {
38
- backgroundColor: activePageData.page.backgroundColor,
44
+ backgroundColor: activePageData.page.backgroundColor || reportBackgroundColor || '#fff',
39
45
  items: activePageData.page.items,
40
46
  reportHeight: activePageData.reportHeight,
41
47
  reportWidth: activePageData.reportWidth
@@ -1 +1 @@
1
- {"version":3,"file":"SlideItemDragOverlay.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemDragOverlay.js"],"sourcesContent":["import { DragOverlay, defaultDropAnimationSideEffects } from '@dnd-kit/core';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\n\nconst dropAnimation = {\n duration: 150,\n easing: 'ease-out',\n sideEffects: defaultDropAnimationSideEffects({\n styles: { dragOverlay: { opacity: '0', transform: 'rotate(10deg) scale(1.2)' } },\n }),\n};\n\nconst SlideItemDragOverlay = ({ activePageData }) => {\n return (\n <DragOverlay\n adjustScale={false}\n dropAnimation={dropAnimation}\n style={{ cursor: 'grabbing' }}\n >\n {activePageData ? (\n <div\n className=\"slides-navigator-item\"\n style={{ opacity: 0.5 }}\n >\n <div className=\"slides-navigator-item-order\">{activePageData.page.order}</div>\n <div className=\"slides-navigator-item-content\">\n <StaticSlideItem\n backgroundColor={activePageData.page.backgroundColor}\n items={activePageData.page.items}\n reportHeight={activePageData.reportHeight}\n reportWidth={activePageData.reportWidth}\n />\n </div>\n </div>\n ) : null}\n </DragOverlay>\n );\n};\n\nSlideItemDragOverlay.propTypes = {\n activePageData: PropTypes.shape({\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n order: PropTypes.number,\n }),\n reportHeight: PropTypes.number,\n reportWidth: PropTypes.number,\n }),\n};\n\nexport default SlideItemDragOverlay;\n"],"names":["dropAnimation","duration","easing","sideEffects","defaultDropAnimationSideEffects","styles","dragOverlay","opacity","transform","SlideItemDragOverlay","activePageData","_jsx","cursor","_jsxs","page","order","backgroundColor","items","reportHeight","reportWidth","propTypes","PropTypes","shape","string","arrayOf","number"],"mappings":";;;;;AAIA,IAAMA,aAAa,GAAG;AACpBC,EAAAA,QAAQ,EAAE,GADU;AAEpBC,EAAAA,MAAM,EAAE,UAFY;AAGpBC,EAAAA,WAAW,EAAEC,+BAA+B,CAAC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAEC,QAAAA,OAAO,EAAE,GAAX;AAAgBC,QAAAA,SAAS,EAAE;AAA3B;AAAf;AADmC,GAAD;AAHxB,CAAtB;;IAQMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwB;AAAA,MAArBC,cAAqB,QAArBA,cAAqB;AACnD,sBACEC,IAAC,WAAD;AACE,IAAA,WAAW,EAAE,KADf;AAEE,IAAA,aAAa,EAAEX,aAFjB;AAGE,IAAA,KAAK,EAAE;AAAEY,MAAAA,MAAM,EAAE;AAAV,KAHT;AAAA,cAKGF,cAAc,gBACbG;AACE,MAAA,SAAS,EAAC,uBADZ;AAEE,MAAA,KAAK,EAAE;AAAEN,QAAAA,OAAO,EAAE;AAAX,OAFT;AAAA,8BAIEI;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,kBAA8CD,cAAc,CAACI,IAAf,CAAoBC;AAAlE,QAJF,eAKEJ;AAAK,QAAA,SAAS,EAAC,+BAAf;AAAA,+BACEA,IAAC,eAAD;AACE,UAAA,eAAe,EAAED,cAAc,CAACI,IAAf,CAAoBE,eADvC;AAEE,UAAA,KAAK,EAAEN,cAAc,CAACI,IAAf,CAAoBG,KAF7B;AAGE,UAAA,YAAY,EAAEP,cAAc,CAACQ,YAH/B;AAIE,UAAA,WAAW,EAAER,cAAc,CAACS;AAJ9B;AADF,QALF;AAAA,MADa,GAeX;AApBN,IADF;AAwBD;;AAEDV,oBAAoB,CAACW,SAArB,GAAiC;AAC/BV,EAAAA,cAAc,EAAEW,SAAS,CAACC,KAAV,CAAgB;AAC9BR,IAAAA,IAAI,EAAEO,SAAS,CAACC,KAAV,CAAgB;AACpBN,MAAAA,eAAe,EAAEK,SAAS,CAACE,MADP;AAEpBN,MAAAA,KAAK,EAAEI,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAAlB,CAFa;AAGpBP,MAAAA,KAAK,EAAEM,SAAS,CAACI;AAHG,KAAhB,CADwB;AAM9BP,IAAAA,YAAY,EAAEG,SAAS,CAACI,MANM;AAO9BN,IAAAA,WAAW,EAAEE,SAAS,CAACI;AAPO,GAAhB;AADe,CAAjC;;;;"}
1
+ {"version":3,"file":"SlideItemDragOverlay.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemDragOverlay.js"],"sourcesContent":["import { DragOverlay, defaultDropAnimationSideEffects } from '@dnd-kit/core';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst dropAnimation = {\n duration: 150,\n easing: 'ease-out',\n sideEffects: defaultDropAnimationSideEffects({\n styles: { dragOverlay: { opacity: '0', transform: 'rotate(10deg) scale(1.2)' } },\n }),\n};\n\nconst SlideItemDragOverlay = ({ activePageData }) => {\n const reportBackgroundColor = usePropStore(state => state.settings?.reportBackgroundColor);\n\n return (\n <DragOverlay\n adjustScale={false}\n dropAnimation={dropAnimation}\n style={{ cursor: 'grabbing' }}\n >\n {activePageData ? (\n <div\n className=\"slides-navigator-item\"\n style={{ opacity: 0.5 }}\n >\n <div className=\"slides-navigator-item-order\">{activePageData.page.order}</div>\n <div className=\"slides-navigator-item-content\">\n <StaticSlideItem\n backgroundColor={activePageData.page.backgroundColor || reportBackgroundColor || '#fff'}\n items={activePageData.page.items}\n reportHeight={activePageData.reportHeight}\n reportWidth={activePageData.reportWidth}\n />\n </div>\n </div>\n ) : null}\n </DragOverlay>\n );\n};\n\nSlideItemDragOverlay.propTypes = {\n activePageData: PropTypes.shape({\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n order: PropTypes.number,\n }),\n reportHeight: PropTypes.number,\n reportWidth: PropTypes.number,\n }),\n};\n\nexport default SlideItemDragOverlay;\n"],"names":["dropAnimation","duration","easing","sideEffects","defaultDropAnimationSideEffects","styles","dragOverlay","opacity","transform","SlideItemDragOverlay","activePageData","reportBackgroundColor","usePropStore","state","settings","_jsx","cursor","_jsxs","page","order","backgroundColor","items","reportHeight","reportWidth","propTypes","PropTypes","shape","string","arrayOf","number"],"mappings":";;;;;;AAKA,IAAMA,aAAa,GAAG;AACpBC,EAAAA,QAAQ,EAAE,GADU;AAEpBC,EAAAA,MAAM,EAAE,UAFY;AAGpBC,EAAAA,WAAW,EAAEC,+BAA+B,CAAC;AAC3CC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAEC,QAAAA,OAAO,EAAE,GAAX;AAAgBC,QAAAA,SAAS,EAAE;AAA3B;AAAf;AADmC,GAAD;AAHxB,CAAtB;;IAQMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAAwB;AAAA,MAArBC,cAAqB,QAArBA,cAAqB;AACnD,MAAMC,qBAAqB,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA;;AAAA,8BAAIA,KAAK,CAACC,QAAV,oDAAI,gBAAgBH,qBAApB;AAAA,GAAN,CAA1C;AAEA,sBACEI,IAAC,WAAD;AACE,IAAA,WAAW,EAAE,KADf;AAEE,IAAA,aAAa,EAAEf,aAFjB;AAGE,IAAA,KAAK,EAAE;AAAEgB,MAAAA,MAAM,EAAE;AAAV,KAHT;AAAA,cAKGN,cAAc,gBACbO;AACE,MAAA,SAAS,EAAC,uBADZ;AAEE,MAAA,KAAK,EAAE;AAAEV,QAAAA,OAAO,EAAE;AAAX,OAFT;AAAA,8BAIEQ;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,kBAA8CL,cAAc,CAACQ,IAAf,CAAoBC;AAAlE,QAJF,eAKEJ;AAAK,QAAA,SAAS,EAAC,+BAAf;AAAA,+BACEA,IAAC,eAAD;AACE,UAAA,eAAe,EAAEL,cAAc,CAACQ,IAAf,CAAoBE,eAApB,IAAuCT,qBAAvC,IAAgE,MADnF;AAEE,UAAA,KAAK,EAAED,cAAc,CAACQ,IAAf,CAAoBG,KAF7B;AAGE,UAAA,YAAY,EAAEX,cAAc,CAACY,YAH/B;AAIE,UAAA,WAAW,EAAEZ,cAAc,CAACa;AAJ9B;AADF,QALF;AAAA,MADa,GAeX;AApBN,IADF;AAwBD;;AAEDd,oBAAoB,CAACe,SAArB,GAAiC;AAC/Bd,EAAAA,cAAc,EAAEe,SAAS,CAACC,KAAV,CAAgB;AAC9BR,IAAAA,IAAI,EAAEO,SAAS,CAACC,KAAV,CAAgB;AACpBN,MAAAA,eAAe,EAAEK,SAAS,CAACE,MADP;AAEpBN,MAAAA,KAAK,EAAEI,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACC,KAAV,CAAgB,EAAhB,CAAlB,CAFa;AAGpBP,MAAAA,KAAK,EAAEM,SAAS,CAACI;AAHG,KAAhB,CADwB;AAM9BP,IAAAA,YAAY,EAAEG,SAAS,CAACI,MANM;AAO9BN,IAAAA,WAAW,EAAEE,SAAS,CAACI;AAPO,GAAhB;AADe,CAAjC;;;;"}
@@ -9,8 +9,8 @@ import ErrorBoundary from '../../ErrorBoundary/ErrorBoundary.js';
9
9
  import { usePropStore } from '../../../contexts/PropContext.js';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
12
- var THUMBNAIL_MAX_WIDTH = 128;
13
- var THUMBNAIL_MAX_HEIGHT = 90.5;
12
+ var THUMBNAIL_MAX_WIDTH = 124;
13
+ var THUMBNAIL_MAX_HEIGHT = 88.5;
14
14
  var wrapperStyle = {
15
15
  height: '100%',
16
16
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"file":"StaticSlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/StaticSlideItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../../constants/classNames';\nimport ReportItemRenderer from '../../Builder/ReportItemRenderer';\nimport StaticItem from '../../Preview/StaticItem';\nimport ErrorBoundary from '../../ErrorBoundary/ErrorBoundary';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst THUMBNAIL_MAX_WIDTH = 128;\nconst THUMBNAIL_MAX_HEIGHT = 90.5;\n\nconst wrapperStyle = {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n};\n\nconst StaticSlideItem = ({\n backgroundColor,\n items = [],\n reportHeight,\n reportWidth,\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n\n const containerStyle = useMemo(() => {\n const scale = Math.min(\n THUMBNAIL_MAX_WIDTH / reportWidth,\n THUMBNAIL_MAX_HEIGHT / reportHeight,\n );\n\n const scaledWidth = reportWidth * scale;\n const scaledHeight = reportHeight * scale;\n\n return {\n backgroundColor: backgroundColor || '#fff',\n borderRadius: '4px',\n height: reportHeight,\n left: (THUMBNAIL_MAX_WIDTH - scaledWidth) / 2,\n position: 'absolute',\n top: (THUMBNAIL_MAX_HEIGHT - scaledHeight) / 2,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: reportWidth,\n };\n }, [reportWidth, reportHeight, backgroundColor]);\n\n return (\n <div style={wrapperStyle}>\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={containerStyle}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n </div>\n );\n};\n\nStaticSlideItem.propTypes = {\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n};\n\nexport default memo(StaticSlideItem);\n"],"names":["THUMBNAIL_MAX_WIDTH","THUMBNAIL_MAX_HEIGHT","wrapperStyle","height","overflow","position","width","StaticSlideItem","backgroundColor","items","reportHeight","reportWidth","itemAccessor","usePropStore","state","additionalPageItems","containerStyle","useMemo","scale","Math","min","scaledWidth","scaledHeight","borderRadius","left","top","transform","transformOrigin","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","string","arrayOf","shape","number","isRequired","memo"],"mappings":"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"}
1
+ {"version":3,"file":"StaticSlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/StaticSlideItem.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport * as classNames from '../../../constants/classNames';\nimport ReportItemRenderer from '../../Builder/ReportItemRenderer';\nimport StaticItem from '../../Preview/StaticItem';\nimport ErrorBoundary from '../../ErrorBoundary/ErrorBoundary';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst THUMBNAIL_MAX_WIDTH = 124;\nconst THUMBNAIL_MAX_HEIGHT = 88.5;\n\nconst wrapperStyle = {\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n};\n\nconst StaticSlideItem = ({\n backgroundColor,\n items = [],\n reportHeight,\n reportWidth,\n}) => {\n const itemAccessor = usePropStore(state => state.itemAccessor);\n const additionalPageItems = usePropStore(state => state.additionalPageItems);\n\n const containerStyle = useMemo(() => {\n const scale = Math.min(\n THUMBNAIL_MAX_WIDTH / reportWidth,\n THUMBNAIL_MAX_HEIGHT / reportHeight,\n );\n\n const scaledWidth = reportWidth * scale;\n const scaledHeight = reportHeight * scale;\n\n return {\n backgroundColor: backgroundColor || '#fff',\n borderRadius: '4px',\n height: reportHeight,\n left: (THUMBNAIL_MAX_WIDTH - scaledWidth) / 2,\n position: 'absolute',\n top: (THUMBNAIL_MAX_HEIGHT - scaledHeight) / 2,\n transform: `scale(${scale})`,\n transformOrigin: '0 0',\n width: reportWidth,\n };\n }, [reportWidth, reportHeight, backgroundColor]);\n\n return (\n <div style={wrapperStyle}>\n <ErrorBoundary\n isStatic={true}\n level=\"page\"\n >\n <div\n className={classNames.pageContainer}\n style={containerStyle}\n >\n <div className=\"jfReport-hider o-hidden f-all p-relative\">\n {items.filter(item => (\n item.isVisible !== undefined\n ? item.isVisible\n : true\n )).map(item => {\n return (\n <StaticItem\n key={item.id}\n item={item}\n >\n <ReportItemRenderer\n item={item}\n >\n {(ReportItem, mergedItem) => (\n <ReportItem\n isThumbnail\n item={mergedItem}\n itemAccessor={itemAccessor}\n />\n )}\n </ReportItemRenderer>\n </StaticItem>\n );\n })}\n {additionalPageItems}\n </div>\n </div>\n </ErrorBoundary>\n </div>\n );\n};\n\nStaticSlideItem.propTypes = {\n backgroundColor: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n};\n\nexport default memo(StaticSlideItem);\n"],"names":["THUMBNAIL_MAX_WIDTH","THUMBNAIL_MAX_HEIGHT","wrapperStyle","height","overflow","position","width","StaticSlideItem","backgroundColor","items","reportHeight","reportWidth","itemAccessor","usePropStore","state","additionalPageItems","containerStyle","useMemo","scale","Math","min","scaledWidth","scaledHeight","borderRadius","left","top","transform","transformOrigin","_jsx","classNames","_jsxs","filter","item","isVisible","undefined","map","ReportItem","mergedItem","id","propTypes","PropTypes","string","arrayOf","shape","number","isRequired","memo"],"mappings":"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"}
@@ -5,7 +5,7 @@ import 'core-js/modules/es.object.to-string.js';
5
5
  import 'core-js/modules/es.object.values.js';
6
6
  import 'core-js/modules/es.regexp.to-string.js';
7
7
  import 'core-js/modules/web.dom-collections.for-each.js';
8
- import { useMemo, useState, useEffect, useRef, useCallback } from 'react';
8
+ import { useState, useEffect, useMemo, useRef, useCallback } from 'react';
9
9
  import { getZoomValue } from './functions.js';
10
10
  import { SharingTextsModule } from '../constants/texts.js';
11
11
  import { usePropStore } from '../contexts/PropContext.js';
@@ -198,9 +198,7 @@ var useFullscreenChange = function useFullscreenChange(isFullscreen, fitToScreen
198
198
  useEventListener('MSFullscreenChange', onFullscreenChange);
199
199
  };
200
200
  var useTranslatedTexts = function useTranslatedTexts() {
201
- return useMemo(function () {
202
- return SharingTextsModule.Texts;
203
- }, []);
201
+ return SharingTextsModule.Texts;
204
202
  };
205
203
  var useClickOutsideListener = function useClickOutsideListener(classes, conditionValue, onClose) {
206
204
  var onClickOutsideForPanel = useCallback(function (_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return useMemo(() => SharingTextsModule.Texts, []);\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../src/utils/hooks.js"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n useMemo,\n useCallback,\n} from 'react';\nimport { getZoomValue } from './functions';\nimport { SharingTextsModule } from '../constants/texts';\nimport { usePropStore } from '../contexts/PropContext';\nimport { useBuilderStore } from '../contexts/BuilderContext';\nimport { usePresentationStore } from '../contexts/PresentationContext';\n\nconst INITIAL_ZOOM_MAX = 0.8;\n\nexport const useStateWithCallback = (initialState, callback) => {\n const [state, setState] = useState(initialState);\n\n useEffect(() => callback(state), [state, callback]);\n\n return [state, setState];\n};\n\nexport const useEventListener = (eventName, handler, element = global) => {\n const savedHandler = useRef();\n\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n const eventListener = event => savedHandler.current(event);\n element.addEventListener(eventName, eventListener);\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element],\n );\n};\n\nexport const useResizeListener = (condition = true) => {\n const [innerWidth, setInnerWidth] = useState(() => (\n typeof window !== 'undefined' ? window.innerWidth : 0\n ));\n\n const handleResize = useCallback(() => {\n if (typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n if (condition && typeof window !== 'undefined') {\n setInnerWidth(window.innerWidth);\n }\n }, [condition]);\n\n const target = condition && typeof window !== 'undefined' ? window : null;\n useEventListener('resize', handleResize, target);\n\n return innerWidth;\n};\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport const usePrevious = value => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport const usePropState = (propValue, transform = v => v) => {\n const [state, setState] = useState(() => transform(propValue));\n\n useEffect(() => {\n setState(transform(propValue));\n }, [propValue, transform]);\n\n return [state, setState];\n};\n\nexport const useFitZoom = () => {\n const settings = usePropStore(state => state.settings);\n const setZoom = useBuilderStore(state => state.setZoom);\n\n useEffect(() => {\n const fitZoom = getZoomValue({\n limitZoom: true,\n settings: {\n reportLayoutHeight: settings.reportLayoutHeight,\n reportLayoutWidth: settings.reportLayoutWidth,\n },\n });\n const newZoom = Math.min(fitZoom, INITIAL_ZOOM_MAX);\n setZoom(newZoom, settings.reportLayoutWidth);\n }, [\n settings.reportLayoutHeight,\n settings.reportLayoutWidth,\n setZoom,\n ]);\n};\n\nexport const usePageVisibility = (callback, pageCount, selectedPageIndex) => {\n const ratio = useRef({});\n const prevVisiblePageIndex = useRef(-1);\n const pageRefs = useRef([]);\n const observer = useMemo(() => new window.IntersectionObserver(entries => {\n entries.forEach(entry => {\n const order = entry.target.getAttribute('data-order');\n if (entry.intersectionRatio !== 0) {\n ratio.current[order] = entry.intersectionRatio;\n } else {\n delete ratio.current[order];\n }\n });\n const visiblePageIndex = parseInt(\n Object.keys(ratio.current)\n .find(key => ratio.current[key] === Math.max(...Object.values(ratio.current))),\n 10,\n );\n if (visiblePageIndex !== prevVisiblePageIndex.current) {\n prevVisiblePageIndex.current = visiblePageIndex;\n callback(visiblePageIndex);\n }\n },\n {\n delay: 100,\n root: document.querySelector('.jfReport-viewport'),\n threshold: [0, 0.25, 0.5, 0.75, 1],\n }), [callback]);\n\n useEffect(() => {\n ratio.current = {};\n pageRefs.current = document.querySelectorAll('.jfReport-page');\n }, [pageCount]);\n\n useEffect(() => {\n if (selectedPageIndex === -1) {\n pageRefs.current.forEach(page => {\n observer.observe(page);\n });\n }\n\n return () => {\n pageRefs.current.forEach(page => {\n observer.unobserve(page);\n });\n };\n }, [selectedPageIndex, observer]);\n};\n\nexport const useFullscreenChange = (isFullscreen, fitToScreen) => {\n /**\n * All this is just to cover if the user exits fullscreen via ESC key :(\n */\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const setIsFullscreen = usePresentationStore(state => state.setIsFullscreen);\n\n const onFullscreenChange = useCallback(() => {\n if (!(\n document.fullScreen\n || document.mozFullScreen\n || document.webkitIsFullScreen\n )) {\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(false);\n fitToScreen(500);\n } else {\n setIsFullscreen(true);\n fitToScreen(600);\n }\n }, [fitToScreen, setIsFullscreen, onAnEventTrigger]);\n\n useEventListener('fullscreenchange', onFullscreenChange);\n useEventListener('webkitfullscreenchange', onFullscreenChange);\n useEventListener('mozfullscreenchange', onFullscreenChange);\n useEventListener('MSFullscreenChange', onFullscreenChange);\n};\n\nexport const useTranslatedTexts = () => {\n return SharingTextsModule.Texts;\n};\n\nexport const useClickOutsideListener = (classes, conditionValue, onClose) => {\n const onClickOutsideForPanel = useCallback(({ target: { classList } }) => {\n const shouldClose = classes.some(c => classList.contains(c));\n if (shouldClose) {\n onClose();\n }\n }, [classes, onClose]);\n\n useEffect(() => {\n if (conditionValue) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => window.removeEventListener('click', onClickOutsideForPanel, false);\n }, [conditionValue, onClickOutsideForPanel]);\n};\n\nexport const usePageTransition = (style, currentPage) => {\n const finalStyle = useMemo(() => {\n switch (style) {\n case 'verticalSlide':\n return { transform: `translateY(-${(currentPage * 100).toString()}%)` };\n case 'scaleAndFade':\n return {};\n case 'rotate':\n return { '-webkit-perspective': 1000 };\n case 'scaleAndSlide':\n case 'horizontalSlide':\n default:\n return { transform: `translateX(-${(currentPage * 100).toString()}%)` };\n }\n }, [style, currentPage]);\n\n return finalStyle;\n};\n\nexport const useSelectedElements = () => {\n const pages = usePropStore(state => state.pages);\n const activeElements = useBuilderStore(state => state.activeElements);\n const acceptedItems = usePropStore(state => state.acceptedItems);\n\n return useMemo(() => {\n if (activeElements.length === 0) return [];\n const items = activeElements.map(itemID => {\n let foundItem = [];\n pages.forEach(page => {\n const item = page.items.find(el => el.id === itemID);\n if (item) {\n foundItem = item;\n }\n });\n const defItem = (acceptedItems[foundItem.itemType] && acceptedItems[foundItem.itemType].defaultItem) || {};\n return { ...defItem, ...foundItem };\n });\n return items;\n }, [pages, activeElements, acceptedItems]);\n};\n"],"names":["INITIAL_ZOOM_MAX","useEventListener","eventName","handler","element","global","savedHandler","useRef","useEffect","current","isSupported","addEventListener","eventListener","event","removeEventListener","useResizeListener","condition","useState","window","innerWidth","setInnerWidth","handleResize","useCallback","target","usePrevious","value","ref","usePropState","propValue","transform","v","state","setState","useFitZoom","settings","usePropStore","setZoom","useBuilderStore","fitZoom","getZoomValue","limitZoom","reportLayoutHeight","reportLayoutWidth","newZoom","Math","min","usePageVisibility","callback","pageCount","selectedPageIndex","ratio","prevVisiblePageIndex","pageRefs","observer","useMemo","IntersectionObserver","entries","forEach","entry","order","getAttribute","intersectionRatio","visiblePageIndex","parseInt","Object","keys","find","key","max","values","delay","root","document","querySelector","threshold","querySelectorAll","page","observe","unobserve","useFullscreenChange","isFullscreen","fitToScreen","onAnEventTrigger","setIsFullscreen","usePresentationStore","onFullscreenChange","fullScreen","mozFullScreen","webkitIsFullScreen","useTranslatedTexts","SharingTextsModule","Texts","useClickOutsideListener","classes","conditionValue","onClose","onClickOutsideForPanel","classList","shouldClose","some","c","contains","usePageTransition","style","currentPage","finalStyle","toString","useSelectedElements","pages","activeElements","acceptedItems","length","items","map","itemID","foundItem","item","el","id","defItem","itemType","defaultItem"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "3.6.3",
3
+ "version": "3.6.5",
4
4
  "files": [
5
5
  "lib",
6
6
  "index.d.ts"