@jotforminc/dnd-builder 3.6.2 → 3.6.4
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 +15 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js +22 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +3 -3
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +9 -5
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js +48 -0
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +52 -9
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js +20 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +18 -6
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemDragOverlay.js +7 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js +2 -2
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/styles/slides-navigator.scss +39 -0
- package/lib/cjs/utils/functions.js +5 -7
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +29 -4
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +2 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js +20 -0
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +4 -4
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +11 -7
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js +46 -0
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +54 -11
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js +18 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +18 -6
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js +7 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js +2 -2
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -2
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/styles/slides-navigator.scss +39 -0
- package/lib/esm/utils/functions.js +5 -6
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/hooks.js +29 -5
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +1 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +1 -1
|
@@ -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\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const
|
|
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":"
|
|
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;;;;"}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var BuilderContext = require('../../../contexts/BuilderContext.js');
|
|
4
|
-
var hooks = require('../../../utils/hooks.js');
|
|
5
4
|
var SlideItemsList = require('./SlideItemsList.js');
|
|
6
|
-
var
|
|
7
|
-
var functions = require('../../../utils/functions.js');
|
|
5
|
+
var AddSlideButton = require('./AddSlideButton.js');
|
|
8
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var plus = require('../../../assets/svg/plus.svg.js');
|
|
10
7
|
|
|
11
8
|
var SlidesNavigator = function SlidesNavigator() {
|
|
12
9
|
var isSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
13
10
|
return state.isSlidesNavigatorOpen;
|
|
14
11
|
});
|
|
15
|
-
var visiblePageOrder = BuilderContext.useBuilderStore(function (state) {
|
|
16
|
-
return state.visiblePageOrder;
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
20
|
-
ADD_SLIDE = _useTranslatedTexts.ADD_SLIDE;
|
|
21
|
-
|
|
22
|
-
var onPageAdd = PropContext.usePropStore(function (state) {
|
|
23
|
-
return state.onPageAdd;
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
var onAddItemClick = function onAddItemClick() {
|
|
27
|
-
var newPageIndex = visiblePageOrder + 1;
|
|
28
|
-
onPageAdd(newPageIndex);
|
|
29
|
-
functions.scrollToTarget("pageActions-id-".concat(newPageIndex), 350);
|
|
30
|
-
};
|
|
31
12
|
|
|
32
13
|
if (!isSlidesNavigatorOpen) {
|
|
33
14
|
return null;
|
|
@@ -35,18 +16,7 @@ var SlidesNavigator = function SlidesNavigator() {
|
|
|
35
16
|
|
|
36
17
|
return /*#__PURE__*/jsxRuntime.jsxs("aside", {
|
|
37
18
|
className: "slides-navigator",
|
|
38
|
-
children: [/*#__PURE__*/jsxRuntime.
|
|
39
|
-
className: "slides-navigator-add-item",
|
|
40
|
-
onClick: onAddItemClick,
|
|
41
|
-
title: ADD_SLIDE,
|
|
42
|
-
type: "button",
|
|
43
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(plus, {
|
|
44
|
-
className: "slides-navigator-add-item-icon"
|
|
45
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
46
|
-
className: "slides-navigator-add-item-text",
|
|
47
|
-
children: ADD_SLIDE
|
|
48
|
-
})]
|
|
49
|
-
}), /*#__PURE__*/jsxRuntime.jsx(SlideItemsList, {})]
|
|
19
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(AddSlideButton, {}), /*#__PURE__*/jsxRuntime.jsx(SlideItemsList, {})]
|
|
50
20
|
});
|
|
51
21
|
};
|
|
52
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport
|
|
1
|
+
{"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport SlideItemsList from './SlideItemsList';\nimport AddSlideButton from './AddSlideButton';\n\nconst SlidesNavigator = () => {\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n\n if (!isSlidesNavigatorOpen) {\n return null;\n }\n\n return (\n <aside className=\"slides-navigator\">\n <AddSlideButton />\n <SlideItemsList />\n </aside>\n );\n};\n\nexport default SlidesNavigator;\n"],"names":["SlidesNavigator","isSlidesNavigatorOpen","useBuilderStore","state","_jsxs","_jsx"],"mappings":";;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,qBAAqB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,qBAAV;AAAA,GAAN,CAA7C;;AAEA,MAAI,CAACA,qBAAL,EAA4B;AAC1B,WAAO,IAAP;AACD;;AAED,sBACEG;AAAO,IAAA,SAAS,EAAC,kBAAjB;AAAA,4BACEC,eAAC,cAAD,KADF,eAEEA,eAAC,cAAD,KAFF;AAAA,IADF;AAMD;;;;"}
|
|
@@ -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 =
|
|
19
|
-
var THUMBNAIL_MAX_HEIGHT =
|
|
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 =
|
|
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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"}
|
|
@@ -93,7 +93,7 @@ var SlidesPanel = function SlidesPanel() {
|
|
|
93
93
|
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
94
94
|
SLIDES = _useTranslatedTexts.SLIDES;
|
|
95
95
|
|
|
96
|
-
return functions.
|
|
96
|
+
return functions.isSlidesListType(slidesListType, 'PANEL') ? /*#__PURE__*/jsxRuntime.jsxs(Panel, {
|
|
97
97
|
additionalClassName: panelAdditionalClassName,
|
|
98
98
|
onAnimationEnd: onAnimationEnd,
|
|
99
99
|
children: [isRightPanelOpen ? null : /*#__PURE__*/jsxRuntime.jsx(SlidesPanelToggler, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove,
|
|
1
|
+
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, isSlidesListType } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = () => {\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pages = usePropStore(state => state.pages);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }, [pages, onPageOrdersChange, onAnEventTrigger]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n return (\n isSlidesListType(slidesListType, 'PANEL') ? (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n component={SortablePageList()}\n onSortEnd={onPageSort}\n pageGetter={pageGetter}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n ) : null);\n};\n\nexport default SlidesPanel;\n"],"names":["SlidesPanel","isRightPanelOpen","useBuilderStore","state","isSlidesPanelOpen","setIsSlidesPanelOpen","slidesListType","pages","usePropStore","onPageOrdersChange","onAnEventTrigger","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","isSlidesListType","_jsxs","_jsx","SortablePageList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYMA,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,MAAMC,gBAAgB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,iBAAiB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,iBAAV;AAAA,GAAN,CAAzC;AACA,MAAMC,oBAAoB,GAAGH,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,oBAAV;AAAA,GAAN,CAA5C;AACA,MAAMC,cAAc,GAAGJ,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,cAAV;AAAA,GAAN,CAAtC;AAEA,MAAMC,KAAK,GAAGC,wBAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACI,KAAV;AAAA,GAAN,CAA1B;AACA,MAAME,kBAAkB,GAAGD,wBAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACM,kBAAV;AAAA,GAAN,CAAvC;AACA,MAAMC,gBAAgB,GAAGF,wBAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACO,gBAAV;AAAA,GAAN,CAArC;;AAEA,kBAAwCC,cAAQ,CAAC,IAAD,CAAhD;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AAEA,MAAMC,UAAU,GAAGC,iBAAW,CAAC,UAAAC,KAAK,EAAI;AACtC,WAAOT,KAAK,CAACS,KAAD,CAAZ;AACD,GAF6B,EAE3B,CAACT,KAAD,CAF2B,CAA9B;AAIA,MAAMU,UAAU,GAAGF,iBAAW,CAAC,gBAA4B;AAAA,QAAzBG,QAAyB,QAAzBA,QAAyB;AAAA,QAAfC,QAAe,QAAfA,QAAe;AACzD,QAAMC,aAAa,GAAGC,mBAAS,CAACd,KAAD,EAAQY,QAAR,EAAkBD,QAAlB,CAAT,CAAqCI,MAArC,CAA4C,UAACC,GAAD,EAAMC,IAAN,EAAYR,KAAZ,EAAsB;AACtFO,MAAAA,GAAG,CAACC,IAAI,CAACC,EAAN,CAAH,GAAe;AAAEC,QAAAA,KAAK,EAAEV,KAAK,GAAG;AAAjB,OAAf;AACA,aAAOO,GAAP;AACD,KAHqB,EAGnB,EAHmB,CAAtB;AAKAd,IAAAA,kBAAkB,CAACW,aAAD,CAAlB;AACAV,IAAAA,gBAAgB,CAAC,oBAAD,CAAhB;AACD,GAR6B,EAQ3B,CAACH,KAAD,EAAQE,kBAAR,EAA4BC,gBAA5B,CAR2B,CAA9B,CAhBwB;;AA2BxB,MAAMiB,wBAAwB,GAAGC,8BAAU,CACzC,sCADyC,EAEzC;AACEC,IAAAA,MAAM,EAAE,CAACzB,iBADX;AAEE0B,IAAAA,WAAW,EAAE7B;AAFf,GAFyC,CAA3C;;AAQA,MAAM8B,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzBlB,IAAAA,eAAe,CAAC,KAAD,CAAf;AACAR,IAAAA,oBAAoB,CAAC,KAAD,CAApB;AACD,GAHD;;AAKA,MAAM2B,cAAc,GAAGjB,iBAAW,CAAC,YAAM;AACvC,QAAI,CAACX,iBAAL,EAAwB;AACtBS,MAAAA,eAAe,CAAC,IAAD,CAAf;AACD;AACF,GAJiC,EAI/B,CAACT,iBAAD,CAJ+B,CAAlC;AAMA6B,EAAAA,6BAAuB,CACrB,CAAC,iBAAD,EAAoB,mBAApB,EAAyC,mBAAzC,CADqB,EAErB7B,iBAFqB,EAGrB2B,YAHqB,CAAvB;;AAMA,4BAAmBG,wBAAkB,EAArC;AAAA,MAAQC,MAAR,uBAAQA,MAAR;;AACA,SACEC,0BAAgB,CAAC9B,cAAD,EAAiB,OAAjB,CAAhB,gBACE+B,gBAAC,KAAD;AACE,IAAA,mBAAmB,EAAEV,wBADvB;AAEE,IAAA,cAAc,EAAEK,cAFlB;AAAA,eAIG/B,gBAAgB,GACb,IADa,gBAEbqC,eAAC,kBAAD;AAAoB,MAAA,YAAY,EAAEP;AAAlC,MANN,EAOG,CAAC3B,iBAAiB,IAAK,CAACA,iBAAD,IAAsB,CAACQ,YAA9C,kBACC0B;AAAK,MAAA,SAAS,EAAC,yCAAf;AAAA,6BACEA,eAAC,OAAD;AACE,QAAA,mBAAmB,EAAE,IADvB;AAEE,QAAA,IAAI,EAAC,QAFP;AAGE,QAAA,KAAK,EAAEH,MAHT;AAAA,+BAKEG;AAAK,UAAA,SAAS,EAAC,oCAAf;AAAA,iCACEA,eAAC,WAAD;AACE,YAAA,SAAS,EAAEC,gBAAgB,EAD7B;AAEE,YAAA,SAAS,EAAEtB,UAFb;AAGE,YAAA,UAAU,EAAEH;AAHd;AADF;AALF;AADF,MARJ;AAAA,IADF,GA0BI,IA3BN;AA4BD;;;;"}
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
&-item {
|
|
77
77
|
$self: &;
|
|
78
78
|
|
|
79
|
+
position: relative;
|
|
79
80
|
display: flex;
|
|
80
81
|
flex-direction: row;
|
|
81
82
|
align-items: center;
|
|
@@ -211,6 +212,44 @@
|
|
|
211
212
|
color: #FF0000;
|
|
212
213
|
}
|
|
213
214
|
}
|
|
215
|
+
|
|
216
|
+
&-button {
|
|
217
|
+
display: flex;
|
|
218
|
+
flex-direction: column;
|
|
219
|
+
align-items: center;
|
|
220
|
+
justify-content: center;
|
|
221
|
+
width: auto;
|
|
222
|
+
height: auto;
|
|
223
|
+
position: absolute;
|
|
224
|
+
top: 8px;
|
|
225
|
+
right: 8px;
|
|
226
|
+
padding: 4px 2px;
|
|
227
|
+
background: #FFFFFF;
|
|
228
|
+
border: 1px solid #E3E5F5;
|
|
229
|
+
color: #979dC6;
|
|
230
|
+
border-radius: 6px;
|
|
231
|
+
box-shadow: 0 2px 6px 0 rgba(84, 95, 111, 0.12), 0 0 1px 0 rgba(37, 45, 91, 0.04);
|
|
232
|
+
cursor: pointer;
|
|
233
|
+
transition: all 0.3s ease;
|
|
234
|
+
|
|
235
|
+
&:hover {
|
|
236
|
+
background: #F5F5F5;
|
|
237
|
+
color: #343C6A;
|
|
238
|
+
border: 1px solid #979DC6;
|
|
239
|
+
transition: all 0.3s ease;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
@keyframes fadeInTop {
|
|
244
|
+
from {
|
|
245
|
+
opacity: 0;
|
|
246
|
+
transform: translateY(100%);
|
|
247
|
+
}
|
|
248
|
+
to {
|
|
249
|
+
opacity: 1;
|
|
250
|
+
transform: translateY(0);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
214
253
|
}
|
|
215
254
|
|
|
216
255
|
&-virtuoso-list {
|
|
@@ -865,11 +865,10 @@ var getDimensions = function getDimensions(_ref5) {
|
|
|
865
865
|
width: width
|
|
866
866
|
};
|
|
867
867
|
};
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
return slidesListType === panel.SLIDES_LIST_TYPE_MAP.PANEL;
|
|
868
|
+
/** @param {'NAVIGATOR' | 'PANEL'} mode */
|
|
869
|
+
|
|
870
|
+
var isSlidesListType = function isSlidesListType(slidesListType, mode) {
|
|
871
|
+
return slidesListType === panel.SLIDES_LIST_TYPE_MAP[mode];
|
|
873
872
|
};
|
|
874
873
|
|
|
875
874
|
exports.arrayMove = arrayMove;
|
|
@@ -903,6 +902,7 @@ exports.getZoomValue = getZoomValue;
|
|
|
903
902
|
exports.imageSizeUpdater = imageSizeUpdater;
|
|
904
903
|
exports.isItemInSelectionBox = isItemInSelectionBox;
|
|
905
904
|
exports.isSelectedItem = isSelectedItem;
|
|
905
|
+
exports.isSlidesListType = isSlidesListType;
|
|
906
906
|
exports.isValidHexColor = isValidHexColor;
|
|
907
907
|
exports.moveArrayItem = moveArrayItem;
|
|
908
908
|
exports.normalizeHexColor = normalizeHexColor;
|
|
@@ -913,7 +913,5 @@ exports.roundForDecimalPart = roundForDecimalPart;
|
|
|
913
913
|
exports.roundPositionValues = roundPositionValues;
|
|
914
914
|
exports.safeJSONParse = safeJSONParse;
|
|
915
915
|
exports.scrollToTarget = scrollToTarget;
|
|
916
|
-
exports.slidesAsNavigator = slidesAsNavigator;
|
|
917
|
-
exports.slidesAsPanel = slidesAsPanel;
|
|
918
916
|
exports.throttle = throttle;
|
|
919
917
|
//# sourceMappingURL=functions.js.map
|