@jotforminc/dnd-builder 3.6.0 → 3.6.2
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 +16 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +9 -6
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +52 -1
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +36 -30
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +1 -5
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +11 -5
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/cjs/components/TextEditor/TextEditor.js +2 -2
- package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +97 -13
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/styles/_jfReportsFloatings.scss +12 -1
- package/lib/cjs/styles/slides-navigator.scss +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +9 -6
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +53 -2
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +38 -32
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +1 -5
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +12 -6
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
- package/lib/esm/components/TextEditor/TextEditor.js +2 -2
- package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +97 -13
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/styles/_jfReportsFloatings.scss +12 -1
- package/lib/esm/styles/slides-navigator.scss +1 -0
- 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 selected = useBuilderStore(\n useCallback(\n state => state.visiblePageOrder.toString() === order.toString(),\n [order],\n ),\n );\n
|
|
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 selected = useBuilderStore(\n useCallback(\n state => state.visiblePageOrder.toString() === order.toString(),\n [order],\n ),\n );\n\n const itemClickHandler = useCallback(e => {\n onPageClick?.(e);\n }, [onPageClick]);\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 />\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","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","selected","useBuilderStore","useCallback","state","visiblePageOrder","toString","itemClickHandler","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","_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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"}
|
|
@@ -103,11 +103,14 @@ var SlideItemsList = function SlideItemsList() {
|
|
|
103
103
|
reportLayoutWidth = _settings$reportLayou3 === void 0 ? 1123 : _settings$reportLayou3;
|
|
104
104
|
var reportWidth = parseInt(reportLayoutWidth, 10);
|
|
105
105
|
var reportHeight = parseInt(reportLayoutHeight, 10);
|
|
106
|
-
var sensors = core.useSensors(core.useSensor(core.
|
|
106
|
+
var sensors = core.useSensors(core.useSensor(core.MouseSensor, {
|
|
107
107
|
activationConstraint: {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
distance: 5
|
|
109
|
+
}
|
|
110
|
+
}), core.useSensor(core.TouchSensor, {
|
|
111
|
+
activationConstraint: {
|
|
112
|
+
delay: 300,
|
|
113
|
+
tolerance: 8
|
|
111
114
|
}
|
|
112
115
|
}), core.useSensor(core.KeyboardSensor, {
|
|
113
116
|
coordinateGetter: sortable.sortableKeyboardCoordinates
|
|
@@ -121,7 +124,10 @@ var SlideItemsList = function SlideItemsList() {
|
|
|
121
124
|
var order = e.currentTarget.getAttribute('data-order');
|
|
122
125
|
|
|
123
126
|
if (order) {
|
|
124
|
-
functions.scrollToTarget("pageActions-id-".concat(order)
|
|
127
|
+
functions.scrollToTarget("pageActions-id-".concat(order), 100, {
|
|
128
|
+
behavior: 'smooth',
|
|
129
|
+
block: 'start'
|
|
130
|
+
});
|
|
125
131
|
}
|
|
126
132
|
}, []);
|
|
127
133
|
var handleDragStart = React.useCallback(function (event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideItemsList.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemsList.js"],"sourcesContent":["import {\n forwardRef, useCallback, useEffect, useMemo, useRef, useState,\n} from 'react';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport PropTypes from 'prop-types';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, scrollToTarget } from '../../../utils/functions';\nimport SlideItem from './SlideItem';\nimport SlideItemDragOverlay from './SlideItemDragOverlay';\n\nconst ITEM_HEIGHT = 90.5;\n\nconst slideItemFixedStyle = { height: ITEM_HEIGHT };\n\nconst SlidesNavigatorVirtuosoList = forwardRef(({ children, style, ...rest }, ref) => (\n <div\n ref={ref}\n className=\"slides-navigator-virtuoso-list\"\n style={style}\n {...rest}\n >\n {children}\n </div>\n));\n\nSlidesNavigatorVirtuosoList.displayName = 'SlidesNavigatorVirtuosoList';\n\nSlidesNavigatorVirtuosoList.propTypes = {\n children: PropTypes.node,\n style: PropTypes.shape({}),\n};\n\nconst virtuosoComponents = { List: SlidesNavigatorVirtuosoList };\n\nconst SlideItemsList = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n const [localPages, setLocalPages] = useState(pages);\n\n useEffect(() => {\n setLocalPages(pages);\n }, [pages]);\n\n const {\n reportLayout = 'A4 Landscape',\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = settings;\n\n const reportWidth = parseInt(reportLayoutWidth, 10);\n const reportHeight = parseInt(reportLayoutHeight, 10);\n\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: { delay: 100, distance: 0, tolerance: 0.1 },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const items = useMemo(() => localPages.map(page => page.id), [localPages]);\n\n const onPageClick = useCallback(e => {\n const order = e.currentTarget.getAttribute('data-order');\n if (order) {\n scrollToTarget(`pageActions-id-${order}`);\n }\n }, []);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = localPages.findIndex(p => p.id === active.id);\n const newIndex = localPages.findIndex(p => p.id === over.id);\n if (oldIndex === -1 || newIndex === -1) return;\n\n const reordered = arrayMove(localPages, oldIndex, newIndex);\n const withOrders = reordered.map((page, i) => {\n const nextOrder = i + 1;\n return page.order === nextOrder ? page : { ...page, order: nextOrder };\n });\n\n setLocalPages(withOrders);\n\n const newPageOrders = reordered.reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }\n }, [localPages, onPageOrdersChange, onAnEventTrigger]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const page = localPages.find(p => p.id === activeId);\n if (!page) return null;\n\n return { page, reportHeight, reportWidth };\n }, [activeId, localPages, reportWidth, reportHeight]);\n\n const virtuosoStyle = useMemo(() => ({\n height: '100%',\n scrollbarWidth: 'none',\n width: '100%',\n }), []);\n\n const itemContent = useCallback(index => {\n const page = localPages[index];\n if (!page) return null;\n\n return (\n <SlideItem\n id={page.id}\n onPageClick={onPageClick}\n order={page.order}\n page={page}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n style={slideItemFixedStyle}\n />\n );\n }, [localPages, onPageClick, reportHeight, reportWidth]);\n\n const reportLayoutLowercase = useMemo(() => reportLayout?.toLocaleLowerCase() ?? '', [reportLayout]);\n\n return (\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n className=\"slides-navigator-item-list\"\n components={virtuosoComponents}\n computeItemKey={index => localPages[index]?.id ?? index}\n data-report-layout={reportLayoutLowercase}\n fixedItemHeight={ITEM_HEIGHT}\n itemContent={itemContent}\n style={virtuosoStyle}\n totalCount={localPages.length}\n />\n </SortableContext>\n\n <SlideItemDragOverlay activePageData={activePageData} />\n </DndContext>\n );\n};\n\nexport default SlideItemsList;\n"],"names":["ITEM_HEIGHT","slideItemFixedStyle","height","SlidesNavigatorVirtuosoList","forwardRef","ref","children","style","rest","_jsx","displayName","propTypes","PropTypes","node","shape","virtuosoComponents","List","SlideItemsList","pages","usePropStore","state","settings","onPageOrdersChange","onAnEventTrigger","virtuosoRef","useRef","useState","activeId","setActiveId","localPages","setLocalPages","useEffect","reportLayout","reportLayoutHeight","reportLayoutWidth","reportWidth","parseInt","reportHeight","sensors","useSensors","useSensor","PointerSensor","activationConstraint","delay","distance","tolerance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","items","useMemo","map","page","id","onPageClick","useCallback","e","order","currentTarget","getAttribute","scrollToTarget","handleDragStart","event","active","handleDragEnd","over","oldIndex","findIndex","p","newIndex","reordered","arrayMove","withOrders","i","nextOrder","newPageOrders","reduce","acc","index","handleDragCancel","activePageData","find","virtuosoStyle","scrollbarWidth","width","itemContent","reportLayoutLowercase","toLocaleLowerCase","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,WAAW,GAAG,IAApB;AAEA,IAAMC,mBAAmB,GAAG;AAAEC,EAAAA,MAAM,EAAEF;AAAV,CAA5B;AAEA,IAAMG,2BAA2B,gBAAGC,gBAAU,CAAC,gBAA+BC,GAA/B;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAuBC,IAAvB;;AAAA,sBAC7CC;AACE,IAAA,GAAG,EAAEJ,GADP;AAEE,IAAA,SAAS,EAAC,gCAFZ;AAGE,IAAA,KAAK,EAAEE;AAHT,KAIMC,IAJN;AAAA,cAMGF;AANH,KAD6C;AAAA,CAAD,CAA9C;AAWAH,2BAA2B,CAACO,WAA5B,GAA0C,6BAA1C;AAEAP,2BAA2B,CAACQ,SAA5B,GAAwC;AACtCL,EAAAA,QAAQ,EAAEM,6BAAS,CAACC,IADkB;AAEtCN,EAAAA,KAAK,EAAEK,6BAAS,CAACE,KAAV,CAAgB,EAAhB;AAF+B,CAAxC;AAKA,IAAMC,kBAAkB,GAAG;AAAEC,EAAAA,IAAI,EAAEb;AAAR,CAA3B;;IAEMc,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,MAAMC,KAAK,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,KAAV;AAAA,GAAN,CAA1B;AACA,MAAMG,QAAQ,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,QAAV;AAAA,GAAN,CAA7B;AACA,MAAMC,kBAAkB,GAAGH,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,kBAAV;AAAA,GAAN,CAAvC;AACA,MAAMC,gBAAgB,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,gBAAV;AAAA,GAAN,CAArC;AAEA,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAD,CAA1B;;AACA,kBAAgCC,cAAQ,CAAC,IAAD,CAAxC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAoCF,cAAQ,CAACR,KAAD,CAA5C;AAAA;AAAA,MAAOW,UAAP;AAAA,MAAmBC,aAAnB;;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACdD,IAAAA,aAAa,CAACZ,KAAD,CAAb;AACD,GAFQ,EAEN,CAACA,KAAD,CAFM,CAAT;AAIA,8BAIIG,QAJJ,CACEW,YADF;AAAA,MACEA,YADF,sCACiB,cADjB;AAAA,+BAIIX,QAJJ,CAEEY,kBAFF;AAAA,MAEEA,kBAFF,uCAEuB,GAFvB;AAAA,+BAIIZ,QAJJ,CAGEa,iBAHF;AAAA,MAGEA,iBAHF,uCAGsB,IAHtB;AAMA,MAAMC,WAAW,GAAGC,QAAQ,CAACF,iBAAD,EAAoB,EAApB,CAA5B;AACA,MAAMG,YAAY,GAAGD,QAAQ,CAACH,kBAAD,EAAqB,EAArB,CAA7B;AAEA,MAAMK,OAAO,GAAGC,eAAU,CACxBC,cAAS,CAACC,kBAAD,EAAgB;AACvBC,IAAAA,oBAAoB,EAAE;AAAEC,MAAAA,KAAK,EAAE,GAAT;AAAcC,MAAAA,QAAQ,EAAE,CAAxB;AAA2BC,MAAAA,SAAS,EAAE;AAAtC;AADC,GAAhB,CADe,EAIxBL,cAAS,CAACM,mBAAD,EAAiB;AACxBC,IAAAA,gBAAgB,EAAEC;AADM,GAAjB,CAJe,CAA1B;AASA,MAAMC,KAAK,GAAGC,aAAO,CAAC;AAAA,WAAMrB,UAAU,CAACsB,GAAX,CAAe,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACC,EAAT;AAAA,KAAnB,CAAN;AAAA,GAAD,EAAwC,CAACxB,UAAD,CAAxC,CAArB;AAEA,MAAMyB,WAAW,GAAGC,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACnC,QAAMC,KAAK,GAAGD,CAAC,CAACE,aAAF,CAAgBC,YAAhB,CAA6B,YAA7B,CAAd;;AACA,QAAIF,KAAJ,EAAW;AACTG,MAAAA,wBAAc,0BAAmBH,KAAnB,EAAd;AACD;AACF,GAL8B,EAK5B,EAL4B,CAA/B;AAOA,MAAMI,eAAe,GAAGN,iBAAW,CAAC,UAAAO,KAAK,EAAI;AAC3ClC,IAAAA,WAAW,CAACkC,KAAK,CAACC,MAAN,CAAaV,EAAd,CAAX;AACD,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,MAAMW,aAAa,GAAGT,iBAAW,CAAC,UAAAO,KAAK,EAAI;AACzC,QAAQC,MAAR,GAAyBD,KAAzB,CAAQC,MAAR;AAAA,QAAgBE,IAAhB,GAAyBH,KAAzB,CAAgBG,IAAhB;AACArC,IAAAA,WAAW,CAAC,IAAD,CAAX;;AAEA,QAAIqC,IAAI,IAAIF,MAAM,CAACV,EAAP,KAAcY,IAAI,CAACZ,EAA/B,EAAmC;AACjC,UAAMa,QAAQ,GAAGrC,UAAU,CAACsC,SAAX,CAAqB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACf,EAAF,KAASU,MAAM,CAACV,EAApB;AAAA,OAAtB,CAAjB;AACA,UAAMgB,QAAQ,GAAGxC,UAAU,CAACsC,SAAX,CAAqB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACf,EAAF,KAASY,IAAI,CAACZ,EAAlB;AAAA,OAAtB,CAAjB;AACA,UAAIa,QAAQ,KAAK,CAAC,CAAd,IAAmBG,QAAQ,KAAK,CAAC,CAArC,EAAwC;AAExC,UAAMC,SAAS,GAAGC,mBAAS,CAAC1C,UAAD,EAAaqC,QAAb,EAAuBG,QAAvB,CAA3B;AACA,UAAMG,UAAU,GAAGF,SAAS,CAACnB,GAAV,CAAc,UAACC,IAAD,EAAOqB,CAAP,EAAa;AAC5C,YAAMC,SAAS,GAAGD,CAAC,GAAG,CAAtB;AACA,eAAOrB,IAAI,CAACK,KAAL,KAAeiB,SAAf,GAA2BtB,IAA3B,mCAAuCA,IAAvC;AAA6CK,UAAAA,KAAK,EAAEiB;AAApD,UAAP;AACD,OAHkB,CAAnB;AAKA5C,MAAAA,aAAa,CAAC0C,UAAD,CAAb;AAEA,UAAMG,aAAa,GAAGL,SAAS,CAACM,MAAV,CAAiB,UAACC,GAAD,EAAMzB,IAAN,EAAY0B,KAAZ,EAAsB;AAC3DD,QAAAA,GAAG,CAACzB,IAAI,CAACC,EAAN,CAAH,GAAe;AAAEI,UAAAA,KAAK,EAAEqB,KAAK,GAAG;AAAjB,SAAf;AACA,eAAOD,GAAP;AACD,OAHqB,EAGnB,EAHmB,CAAtB;AAKAvD,MAAAA,kBAAkB,CAACqD,aAAD,CAAlB;AACApD,MAAAA,gBAAgB,CAAC,oBAAD,CAAhB;AACD;AACF,GAzBgC,EAyB9B,CAACM,UAAD,EAAaP,kBAAb,EAAiCC,gBAAjC,CAzB8B,CAAjC;AA2BA,MAAMwD,gBAAgB,GAAGxB,iBAAW,CAAC,YAAM;AACzC3B,IAAAA,WAAW,CAAC,IAAD,CAAX;AACD,GAFmC,EAEjC,EAFiC,CAApC;AAIA,MAAMoD,cAAc,GAAG9B,aAAO,CAAC,YAAM;AACnC,QAAI,CAACvB,QAAL,EAAe,OAAO,IAAP;AACf,QAAMyB,IAAI,GAAGvB,UAAU,CAACoD,IAAX,CAAgB,UAAAb,CAAC;AAAA,aAAIA,CAAC,CAACf,EAAF,KAAS1B,QAAb;AAAA,KAAjB,CAAb;AACA,QAAI,CAACyB,IAAL,EAAW,OAAO,IAAP;AAEX,WAAO;AAAEA,MAAAA,IAAI,EAAJA,IAAF;AAAQf,MAAAA,YAAY,EAAZA,YAAR;AAAsBF,MAAAA,WAAW,EAAXA;AAAtB,KAAP;AACD,GAN6B,EAM3B,CAACR,QAAD,EAAWE,UAAX,EAAuBM,WAAvB,EAAoCE,YAApC,CAN2B,CAA9B;AAQA,MAAM6C,aAAa,GAAGhC,aAAO,CAAC;AAAA,WAAO;AACnChD,MAAAA,MAAM,EAAE,MAD2B;AAEnCiF,MAAAA,cAAc,EAAE,MAFmB;AAGnCC,MAAAA,KAAK,EAAE;AAH4B,KAAP;AAAA,GAAD,EAIzB,EAJyB,CAA7B;AAMA,MAAMC,WAAW,GAAG9B,iBAAW,CAAC,UAAAuB,KAAK,EAAI;AACvC,QAAM1B,IAAI,GAAGvB,UAAU,CAACiD,KAAD,CAAvB;AACA,QAAI,CAAC1B,IAAL,EAAW,OAAO,IAAP;AAEX,wBACE3C,eAAC,SAAD;AACE,MAAA,EAAE,EAAE2C,IAAI,CAACC,EADX;AAEE,MAAA,WAAW,EAAEC,WAFf;AAGE,MAAA,KAAK,EAAEF,IAAI,CAACK,KAHd;AAIE,MAAA,IAAI,EAAEL,IAJR;AAKE,MAAA,YAAY,EAAEf,YALhB;AAME,MAAA,WAAW,EAAEF,WANf;AAOE,MAAA,KAAK,EAAElC;AAPT,MADF;AAWD,GAf8B,EAe5B,CAAC4B,UAAD,EAAayB,WAAb,EAA0BjB,YAA1B,EAAwCF,WAAxC,CAf4B,CAA/B;AAiBA,MAAMmD,qBAAqB,GAAGpC,aAAO,CAAC;AAAA;;AAAA,oCAAMlB,YAAN,aAAMA,YAAN,uBAAMA,YAAY,CAAEuD,iBAAd,EAAN,yEAA2C,EAA3C;AAAA,GAAD,EAAgD,CAACvD,YAAD,CAAhD,CAArC;AAEA,sBACEwD,gBAACC,eAAD;AACE,IAAA,kBAAkB,EAAEC,kBADtB;AAEE,IAAA,YAAY,EAAEX,gBAFhB;AAGE,IAAA,SAAS,EAAEf,aAHb;AAIE,IAAA,WAAW,EAAEH,eAJf;AAKE,IAAA,OAAO,EAAEvB,OALX;AAAA,4BAOE7B,eAACkF,wBAAD;AACE,MAAA,KAAK,EAAE1C,KADT;AAEE,MAAA,QAAQ,EAAE2C,oCAFZ;AAAA,6BAIEnF,eAACoF,sBAAD;AACE,QAAA,GAAG,EAAErE,WADP;AAEE,QAAA,SAAS,EAAC,4BAFZ;AAGE,QAAA,UAAU,EAAET,kBAHd;AAIE,QAAA,cAAc,EAAE,wBAAA+D,KAAK;AAAA;;AAAA,8DAAIjD,UAAU,CAACiD,KAAD,CAAd,sDAAI,kBAAmBzB,EAAvB,uEAA6ByB,KAA7B;AAAA,SAJvB;AAKE,8BAAoBQ,qBALtB;AAME,QAAA,eAAe,EAAEtF,WANnB;AAOE,QAAA,WAAW,EAAEqF,WAPf;AAQE,QAAA,KAAK,EAAEH,aART;AASE,QAAA,UAAU,EAAErD,UAAU,CAACiE;AATzB;AAJF,MAPF,eAwBErF,eAAC,oBAAD;AAAsB,MAAA,cAAc,EAAEuE;AAAtC,MAxBF;AAAA,IADF;AA4BD;;;;"}
|
|
1
|
+
{"version":3,"file":"SlideItemsList.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItemsList.js"],"sourcesContent":["import {\n forwardRef, useCallback, useEffect, useMemo, useRef, useState,\n} from 'react';\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n useSensor,\n useSensors,\n MouseSensor,\n TouchSensor,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy, sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { Virtuoso } from 'react-virtuoso';\nimport PropTypes from 'prop-types';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, scrollToTarget } from '../../../utils/functions';\nimport SlideItem from './SlideItem';\nimport SlideItemDragOverlay from './SlideItemDragOverlay';\n\nconst ITEM_HEIGHT = 90.5;\n\nconst slideItemFixedStyle = { height: ITEM_HEIGHT };\n\nconst SlidesNavigatorVirtuosoList = forwardRef(({ children, style, ...rest }, ref) => (\n <div\n ref={ref}\n className=\"slides-navigator-virtuoso-list\"\n style={style}\n {...rest}\n >\n {children}\n </div>\n));\n\nSlidesNavigatorVirtuosoList.displayName = 'SlidesNavigatorVirtuosoList';\n\nSlidesNavigatorVirtuosoList.propTypes = {\n children: PropTypes.node,\n style: PropTypes.shape({}),\n};\n\nconst virtuosoComponents = { List: SlidesNavigatorVirtuosoList };\n\nconst SlideItemsList = () => {\n const pages = usePropStore(state => state.pages);\n const settings = usePropStore(state => state.settings);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const virtuosoRef = useRef(null);\n const [activeId, setActiveId] = useState(null);\n const [localPages, setLocalPages] = useState(pages);\n\n useEffect(() => {\n setLocalPages(pages);\n }, [pages]);\n\n const {\n reportLayout = 'A4 Landscape',\n reportLayoutHeight = 794,\n reportLayoutWidth = 1123,\n } = settings;\n\n const reportWidth = parseInt(reportLayoutWidth, 10);\n const reportHeight = parseInt(reportLayoutHeight, 10);\n\n const sensors = useSensors(\n useSensor(MouseSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n useSensor(TouchSensor, {\n activationConstraint: {\n delay: 300,\n tolerance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n const items = useMemo(() => localPages.map(page => page.id), [localPages]);\n\n const onPageClick = useCallback(e => {\n const order = e.currentTarget.getAttribute('data-order');\n if (order) {\n scrollToTarget(`pageActions-id-${order}`, 100, {\n behavior: 'smooth',\n block: 'start',\n });\n }\n }, []);\n\n const handleDragStart = useCallback(event => {\n setActiveId(event.active.id);\n }, []);\n\n const handleDragEnd = useCallback(event => {\n const { active, over } = event;\n setActiveId(null);\n\n if (over && active.id !== over.id) {\n const oldIndex = localPages.findIndex(p => p.id === active.id);\n const newIndex = localPages.findIndex(p => p.id === over.id);\n if (oldIndex === -1 || newIndex === -1) return;\n\n const reordered = arrayMove(localPages, oldIndex, newIndex);\n const withOrders = reordered.map((page, i) => {\n const nextOrder = i + 1;\n return page.order === nextOrder ? page : { ...page, order: nextOrder };\n });\n\n setLocalPages(withOrders);\n\n const newPageOrders = reordered.reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }\n }, [localPages, onPageOrdersChange, onAnEventTrigger]);\n\n const handleDragCancel = useCallback(() => {\n setActiveId(null);\n }, []);\n\n const activePageData = useMemo(() => {\n if (!activeId) return null;\n const page = localPages.find(p => p.id === activeId);\n if (!page) return null;\n\n return { page, reportHeight, reportWidth };\n }, [activeId, localPages, reportWidth, reportHeight]);\n\n const virtuosoStyle = useMemo(() => ({\n height: '100%',\n scrollbarWidth: 'none',\n width: '100%',\n }), []);\n\n const itemContent = useCallback(index => {\n const page = localPages[index];\n if (!page) return null;\n\n return (\n <SlideItem\n id={page.id}\n onPageClick={onPageClick}\n order={page.order}\n page={page}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n style={slideItemFixedStyle}\n />\n );\n }, [localPages, onPageClick, reportHeight, reportWidth]);\n\n const reportLayoutLowercase = useMemo(() => reportLayout?.toLocaleLowerCase() ?? '', [reportLayout]);\n\n return (\n <DndContext\n collisionDetection={closestCenter}\n onDragCancel={handleDragCancel}\n onDragEnd={handleDragEnd}\n onDragStart={handleDragStart}\n sensors={sensors}\n >\n <SortableContext\n items={items}\n strategy={verticalListSortingStrategy}\n >\n <Virtuoso\n ref={virtuosoRef}\n className=\"slides-navigator-item-list\"\n components={virtuosoComponents}\n computeItemKey={index => localPages[index]?.id ?? index}\n data-report-layout={reportLayoutLowercase}\n fixedItemHeight={ITEM_HEIGHT}\n itemContent={itemContent}\n style={virtuosoStyle}\n totalCount={localPages.length}\n />\n </SortableContext>\n <SlideItemDragOverlay activePageData={activePageData} />\n </DndContext>\n );\n};\n\nexport default SlideItemsList;\n"],"names":["ITEM_HEIGHT","slideItemFixedStyle","height","SlidesNavigatorVirtuosoList","forwardRef","ref","children","style","rest","_jsx","displayName","propTypes","PropTypes","node","shape","virtuosoComponents","List","SlideItemsList","pages","usePropStore","state","settings","onPageOrdersChange","onAnEventTrigger","virtuosoRef","useRef","useState","activeId","setActiveId","localPages","setLocalPages","useEffect","reportLayout","reportLayoutHeight","reportLayoutWidth","reportWidth","parseInt","reportHeight","sensors","useSensors","useSensor","MouseSensor","activationConstraint","distance","TouchSensor","delay","tolerance","KeyboardSensor","coordinateGetter","sortableKeyboardCoordinates","items","useMemo","map","page","id","onPageClick","useCallback","e","order","currentTarget","getAttribute","scrollToTarget","behavior","block","handleDragStart","event","active","handleDragEnd","over","oldIndex","findIndex","p","newIndex","reordered","arrayMove","withOrders","i","nextOrder","newPageOrders","reduce","acc","index","handleDragCancel","activePageData","find","virtuosoStyle","scrollbarWidth","width","itemContent","reportLayoutLowercase","toLocaleLowerCase","_jsxs","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","Virtuoso","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,WAAW,GAAG,IAApB;AAEA,IAAMC,mBAAmB,GAAG;AAAEC,EAAAA,MAAM,EAAEF;AAAV,CAA5B;AAEA,IAAMG,2BAA2B,gBAAGC,gBAAU,CAAC,gBAA+BC,GAA/B;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAuBC,IAAvB;;AAAA,sBAC7CC;AACE,IAAA,GAAG,EAAEJ,GADP;AAEE,IAAA,SAAS,EAAC,gCAFZ;AAGE,IAAA,KAAK,EAAEE;AAHT,KAIMC,IAJN;AAAA,cAMGF;AANH,KAD6C;AAAA,CAAD,CAA9C;AAWAH,2BAA2B,CAACO,WAA5B,GAA0C,6BAA1C;AAEAP,2BAA2B,CAACQ,SAA5B,GAAwC;AACtCL,EAAAA,QAAQ,EAAEM,6BAAS,CAACC,IADkB;AAEtCN,EAAAA,KAAK,EAAEK,6BAAS,CAACE,KAAV,CAAgB,EAAhB;AAF+B,CAAxC;AAKA,IAAMC,kBAAkB,GAAG;AAAEC,EAAAA,IAAI,EAAEb;AAAR,CAA3B;;IAEMc,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,MAAMC,KAAK,GAAGC,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,KAAV;AAAA,GAAN,CAA1B;AACA,MAAMG,QAAQ,GAAGF,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,QAAV;AAAA,GAAN,CAA7B;AACA,MAAMC,kBAAkB,GAAGH,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,kBAAV;AAAA,GAAN,CAAvC;AACA,MAAMC,gBAAgB,GAAGJ,wBAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,gBAAV;AAAA,GAAN,CAArC;AAEA,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAD,CAA1B;;AACA,kBAAgCC,cAAQ,CAAC,IAAD,CAAxC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAoCF,cAAQ,CAACR,KAAD,CAA5C;AAAA;AAAA,MAAOW,UAAP;AAAA,MAAmBC,aAAnB;;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACdD,IAAAA,aAAa,CAACZ,KAAD,CAAb;AACD,GAFQ,EAEN,CAACA,KAAD,CAFM,CAAT;AAIA,8BAIIG,QAJJ,CACEW,YADF;AAAA,MACEA,YADF,sCACiB,cADjB;AAAA,+BAIIX,QAJJ,CAEEY,kBAFF;AAAA,MAEEA,kBAFF,uCAEuB,GAFvB;AAAA,+BAIIZ,QAJJ,CAGEa,iBAHF;AAAA,MAGEA,iBAHF,uCAGsB,IAHtB;AAMA,MAAMC,WAAW,GAAGC,QAAQ,CAACF,iBAAD,EAAoB,EAApB,CAA5B;AACA,MAAMG,YAAY,GAAGD,QAAQ,CAACH,kBAAD,EAAqB,EAArB,CAA7B;AAEA,MAAMK,OAAO,GAAGC,eAAU,CACxBC,cAAS,CAACC,gBAAD,EAAc;AACrBC,IAAAA,oBAAoB,EAAE;AACpBC,MAAAA,QAAQ,EAAE;AADU;AADD,GAAd,CADe,EAMxBH,cAAS,CAACI,gBAAD,EAAc;AACrBF,IAAAA,oBAAoB,EAAE;AACpBG,MAAAA,KAAK,EAAE,GADa;AAEpBC,MAAAA,SAAS,EAAE;AAFS;AADD,GAAd,CANe,EAYxBN,cAAS,CAACO,mBAAD,EAAiB;AACxBC,IAAAA,gBAAgB,EAAEC;AADM,GAAjB,CAZe,CAA1B;AAiBA,MAAMC,KAAK,GAAGC,aAAO,CAAC;AAAA,WAAMtB,UAAU,CAACuB,GAAX,CAAe,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACC,EAAT;AAAA,KAAnB,CAAN;AAAA,GAAD,EAAwC,CAACzB,UAAD,CAAxC,CAArB;AAEA,MAAM0B,WAAW,GAAGC,iBAAW,CAAC,UAAAC,CAAC,EAAI;AACnC,QAAMC,KAAK,GAAGD,CAAC,CAACE,aAAF,CAAgBC,YAAhB,CAA6B,YAA7B,CAAd;;AACA,QAAIF,KAAJ,EAAW;AACTG,MAAAA,wBAAc,0BAAmBH,KAAnB,GAA4B,GAA5B,EAAiC;AAC7CI,QAAAA,QAAQ,EAAE,QADmC;AAE7CC,QAAAA,KAAK,EAAE;AAFsC,OAAjC,CAAd;AAID;AACF,GAR8B,EAQ5B,EAR4B,CAA/B;AAUA,MAAMC,eAAe,GAAGR,iBAAW,CAAC,UAAAS,KAAK,EAAI;AAC3CrC,IAAAA,WAAW,CAACqC,KAAK,CAACC,MAAN,CAAaZ,EAAd,CAAX;AACD,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,MAAMa,aAAa,GAAGX,iBAAW,CAAC,UAAAS,KAAK,EAAI;AACzC,QAAQC,MAAR,GAAyBD,KAAzB,CAAQC,MAAR;AAAA,QAAgBE,IAAhB,GAAyBH,KAAzB,CAAgBG,IAAhB;AACAxC,IAAAA,WAAW,CAAC,IAAD,CAAX;;AAEA,QAAIwC,IAAI,IAAIF,MAAM,CAACZ,EAAP,KAAcc,IAAI,CAACd,EAA/B,EAAmC;AACjC,UAAMe,QAAQ,GAAGxC,UAAU,CAACyC,SAAX,CAAqB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACjB,EAAF,KAASY,MAAM,CAACZ,EAApB;AAAA,OAAtB,CAAjB;AACA,UAAMkB,QAAQ,GAAG3C,UAAU,CAACyC,SAAX,CAAqB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACjB,EAAF,KAASc,IAAI,CAACd,EAAlB;AAAA,OAAtB,CAAjB;AACA,UAAIe,QAAQ,KAAK,CAAC,CAAd,IAAmBG,QAAQ,KAAK,CAAC,CAArC,EAAwC;AAExC,UAAMC,SAAS,GAAGC,mBAAS,CAAC7C,UAAD,EAAawC,QAAb,EAAuBG,QAAvB,CAA3B;AACA,UAAMG,UAAU,GAAGF,SAAS,CAACrB,GAAV,CAAc,UAACC,IAAD,EAAOuB,CAAP,EAAa;AAC5C,YAAMC,SAAS,GAAGD,CAAC,GAAG,CAAtB;AACA,eAAOvB,IAAI,CAACK,KAAL,KAAemB,SAAf,GAA2BxB,IAA3B,mCAAuCA,IAAvC;AAA6CK,UAAAA,KAAK,EAAEmB;AAApD,UAAP;AACD,OAHkB,CAAnB;AAKA/C,MAAAA,aAAa,CAAC6C,UAAD,CAAb;AAEA,UAAMG,aAAa,GAAGL,SAAS,CAACM,MAAV,CAAiB,UAACC,GAAD,EAAM3B,IAAN,EAAY4B,KAAZ,EAAsB;AAC3DD,QAAAA,GAAG,CAAC3B,IAAI,CAACC,EAAN,CAAH,GAAe;AAAEI,UAAAA,KAAK,EAAEuB,KAAK,GAAG;AAAjB,SAAf;AACA,eAAOD,GAAP;AACD,OAHqB,EAGnB,EAHmB,CAAtB;AAKA1D,MAAAA,kBAAkB,CAACwD,aAAD,CAAlB;AACAvD,MAAAA,gBAAgB,CAAC,oBAAD,CAAhB;AACD;AACF,GAzBgC,EAyB9B,CAACM,UAAD,EAAaP,kBAAb,EAAiCC,gBAAjC,CAzB8B,CAAjC;AA2BA,MAAM2D,gBAAgB,GAAG1B,iBAAW,CAAC,YAAM;AACzC5B,IAAAA,WAAW,CAAC,IAAD,CAAX;AACD,GAFmC,EAEjC,EAFiC,CAApC;AAIA,MAAMuD,cAAc,GAAGhC,aAAO,CAAC,YAAM;AACnC,QAAI,CAACxB,QAAL,EAAe,OAAO,IAAP;AACf,QAAM0B,IAAI,GAAGxB,UAAU,CAACuD,IAAX,CAAgB,UAAAb,CAAC;AAAA,aAAIA,CAAC,CAACjB,EAAF,KAAS3B,QAAb;AAAA,KAAjB,CAAb;AACA,QAAI,CAAC0B,IAAL,EAAW,OAAO,IAAP;AAEX,WAAO;AAAEA,MAAAA,IAAI,EAAJA,IAAF;AAAQhB,MAAAA,YAAY,EAAZA,YAAR;AAAsBF,MAAAA,WAAW,EAAXA;AAAtB,KAAP;AACD,GAN6B,EAM3B,CAACR,QAAD,EAAWE,UAAX,EAAuBM,WAAvB,EAAoCE,YAApC,CAN2B,CAA9B;AAQA,MAAMgD,aAAa,GAAGlC,aAAO,CAAC;AAAA,WAAO;AACnCjD,MAAAA,MAAM,EAAE,MAD2B;AAEnCoF,MAAAA,cAAc,EAAE,MAFmB;AAGnCC,MAAAA,KAAK,EAAE;AAH4B,KAAP;AAAA,GAAD,EAIzB,EAJyB,CAA7B;AAMA,MAAMC,WAAW,GAAGhC,iBAAW,CAAC,UAAAyB,KAAK,EAAI;AACvC,QAAM5B,IAAI,GAAGxB,UAAU,CAACoD,KAAD,CAAvB;AACA,QAAI,CAAC5B,IAAL,EAAW,OAAO,IAAP;AAEX,wBACE5C,eAAC,SAAD;AACE,MAAA,EAAE,EAAE4C,IAAI,CAACC,EADX;AAEE,MAAA,WAAW,EAAEC,WAFf;AAGE,MAAA,KAAK,EAAEF,IAAI,CAACK,KAHd;AAIE,MAAA,IAAI,EAAEL,IAJR;AAKE,MAAA,YAAY,EAAEhB,YALhB;AAME,MAAA,WAAW,EAAEF,WANf;AAOE,MAAA,KAAK,EAAElC;AAPT,MADF;AAWD,GAf8B,EAe5B,CAAC4B,UAAD,EAAa0B,WAAb,EAA0BlB,YAA1B,EAAwCF,WAAxC,CAf4B,CAA/B;AAiBA,MAAMsD,qBAAqB,GAAGtC,aAAO,CAAC;AAAA;;AAAA,oCAAMnB,YAAN,aAAMA,YAAN,uBAAMA,YAAY,CAAE0D,iBAAd,EAAN,yEAA2C,EAA3C;AAAA,GAAD,EAAgD,CAAC1D,YAAD,CAAhD,CAArC;AAEA,sBACE2D,gBAACC,eAAD;AACE,IAAA,kBAAkB,EAAEC,kBADtB;AAEE,IAAA,YAAY,EAAEX,gBAFhB;AAGE,IAAA,SAAS,EAAEf,aAHb;AAIE,IAAA,WAAW,EAAEH,eAJf;AAKE,IAAA,OAAO,EAAE1B,OALX;AAAA,4BAOE7B,eAACqF,wBAAD;AACE,MAAA,KAAK,EAAE5C,KADT;AAEE,MAAA,QAAQ,EAAE6C,oCAFZ;AAAA,6BAIEtF,eAACuF,sBAAD;AACE,QAAA,GAAG,EAAExE,WADP;AAEE,QAAA,SAAS,EAAC,4BAFZ;AAGE,QAAA,UAAU,EAAET,kBAHd;AAIE,QAAA,cAAc,EAAE,wBAAAkE,KAAK;AAAA;;AAAA,8DAAIpD,UAAU,CAACoD,KAAD,CAAd,sDAAI,kBAAmB3B,EAAvB,uEAA6B2B,KAA7B;AAAA,SAJvB;AAKE,8BAAoBQ,qBALtB;AAME,QAAA,eAAe,EAAEzF,WANnB;AAOE,QAAA,WAAW,EAAEwF,WAPf;AAQE,QAAA,KAAK,EAAEH,aART;AASE,QAAA,UAAU,EAAExD,UAAU,CAACoE;AATzB;AAJF,MAPF,eAuBExF,eAAC,oBAAD;AAAsB,MAAA,cAAc,EAAE0E;AAAtC,MAvBF;AAAA,IADF;AA2BD;;;;"}
|
|
@@ -47,7 +47,7 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
47
47
|
var setIsTextEditorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
48
48
|
return state.setIsTextEditorOpen;
|
|
49
49
|
});
|
|
50
|
-
var
|
|
50
|
+
var onDoubleClick = React.useCallback(function () {
|
|
51
51
|
if (isSelected && !isLocked) {
|
|
52
52
|
setIsTextEditorOpen(true);
|
|
53
53
|
}
|
|
@@ -68,7 +68,7 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
68
68
|
dangerouslySetInnerHTML: {
|
|
69
69
|
__html: isNotEmpty ? _content : placeholder
|
|
70
70
|
},
|
|
71
|
-
|
|
71
|
+
onDoubleClick: onDoubleClick,
|
|
72
72
|
onKeyDown: function onKeyDown() {}
|
|
73
73
|
});
|
|
74
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropState } from '../../utils/hooks';\n\nconst TextEditor = ({\n content = '',\n handleSave = () => {},\n isLocked = false,\n isSelected = false,\n placeholder,\n}) => {\n const [_content, setContent] = usePropState(content, domPurify.sanitize);\n\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsTextEditorOpen = useBuilderStore(state => state.setIsTextEditorOpen);\n\n const
|
|
1
|
+
{"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport { usePropState } from '../../utils/hooks';\n\nconst TextEditor = ({\n content = '',\n handleSave = () => {},\n isLocked = false,\n isSelected = false,\n placeholder,\n}) => {\n const [_content, setContent] = usePropState(content, domPurify.sanitize);\n\n const isTextEditorOpen = useBuilderStore(state => state.isTextEditorOpen);\n const setIsTextEditorOpen = useBuilderStore(state => state.setIsTextEditorOpen);\n\n const onDoubleClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked, setIsTextEditorOpen]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onDoubleClick={onDoubleClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","usePropState","domPurify","sanitize","_content","setContent","isTextEditorOpen","useBuilderStore","state","setIsTextEditorOpen","onDoubleClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAOMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,0BALJC,OAKI;AAAA,MALJA,OAKI,6BALM,EAKN;AAAA,6BAJJC,UAII;AAAA,MAJJA,UAII,gCAJS,YAAM,EAIf;AAAA,2BAHJC,QAGI;AAAA,MAHJA,QAGI,8BAHO,KAGP;AAAA,6BAFJC,UAEI;AAAA,MAFJA,UAEI,gCAFS,KAET;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,sBAA+BC,kBAAY,CAACL,OAAD,EAAUM,6BAAS,CAACC,QAApB,CAA3C;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,aAAa,GAAGC,iBAAW,CAAC,YAAM;AACtC,QAAIZ,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BW,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJgC,EAI9B,CAACV,UAAD,EAAaD,QAAb,EAAuBW,mBAAvB,CAJ8B,CAAjC;AAMA,MAAMG,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeb,QAAf;AACA,WAAO,CAAC,CAACU,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACd,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIO,gBAAd,gBACLa,eAAC,WAAD;AACE,IAAA,OAAO,EAAEf,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEI;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGR,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,aAAa,EAAEU,aALjB;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDf,UAAU,CAAC0B,SAAX,GAAuB;AACrBzB,EAAAA,OAAO,EAAE0B,6BAAS,CAACC,MADE;AAErB1B,EAAAA,UAAU,EAAEyB,6BAAS,CAACE,IAFD;AAGrB1B,EAAAA,QAAQ,EAAEwB,6BAAS,CAACG,IAHC;AAIrB1B,EAAAA,UAAU,EAAEuB,6BAAS,CAACG,IAJD;AAKrBzB,EAAAA,WAAW,EAAEsB,6BAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
|
|
@@ -60,12 +60,15 @@ var builderStore = function builderStore(props) {
|
|
|
60
60
|
lastScrollPosition: props.lastScrollPosition || 0,
|
|
61
61
|
matches: {},
|
|
62
62
|
onRightPanelsToggled: props.onRightPanelsToggled || function () {},
|
|
63
|
+
overedPageId: props.activePageId || null,
|
|
63
64
|
resetActiveElements: props.resetActiveElements || function () {
|
|
64
65
|
set({
|
|
65
66
|
activeElements: [],
|
|
66
67
|
editedElement: 'l_layout'
|
|
67
68
|
});
|
|
68
69
|
},
|
|
70
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
71
|
+
restoreSlidesNavigatorWhenLeftCloses: false,
|
|
69
72
|
setActiveElements: props.setActiveElements || function (itemID) {
|
|
70
73
|
var edit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
71
74
|
var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
@@ -121,13 +124,45 @@ var builderStore = function builderStore(props) {
|
|
|
121
124
|
},
|
|
122
125
|
setIsLeftPanelOpen: props.setIsLeftPanelOpen || function (status) {
|
|
123
126
|
var _get3 = get(),
|
|
124
|
-
isEnoughCanvasSize = _get3.isEnoughCanvasSize
|
|
127
|
+
isEnoughCanvasSize = _get3.isEnoughCanvasSize,
|
|
128
|
+
previousIsSlidesNavigatorOpen = _get3.isSlidesNavigatorOpen,
|
|
129
|
+
restoreSlidesNavigatorWhenLeftCloses = _get3.restoreSlidesNavigatorWhenLeftCloses;
|
|
130
|
+
|
|
131
|
+
if (status) {
|
|
132
|
+
if (previousIsSlidesNavigatorOpen) {
|
|
133
|
+
set(_objectSpread({
|
|
134
|
+
isLeftPanelOpen: true,
|
|
135
|
+
isSlidesNavigatorOpen: false,
|
|
136
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
137
|
+
restoreSlidesNavigatorWhenLeftCloses: true
|
|
138
|
+
}, !isEnoughCanvasSize && {
|
|
139
|
+
isRightPanelOpen: false
|
|
140
|
+
}));
|
|
141
|
+
} else {
|
|
142
|
+
set(_objectSpread({
|
|
143
|
+
isLeftPanelOpen: true,
|
|
144
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
145
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
146
|
+
}, !isEnoughCanvasSize && {
|
|
147
|
+
isRightPanelOpen: false
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
125
150
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (restoreSlidesNavigatorWhenLeftCloses) {
|
|
155
|
+
set({
|
|
156
|
+
isLeftPanelOpen: false,
|
|
157
|
+
isSlidesNavigatorOpen: true,
|
|
158
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
159
|
+
});
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
set({
|
|
164
|
+
isLeftPanelOpen: false
|
|
165
|
+
});
|
|
131
166
|
},
|
|
132
167
|
setIsResize: function setIsResize(status) {
|
|
133
168
|
set({
|
|
@@ -142,26 +177,63 @@ var builderStore = function builderStore(props) {
|
|
|
142
177
|
set(_objectSpread(_objectSpread({
|
|
143
178
|
isRightPanelOpen: status
|
|
144
179
|
}, status && !isEnoughCanvasSize && {
|
|
145
|
-
isLeftPanelOpen: false
|
|
180
|
+
isLeftPanelOpen: false,
|
|
181
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
182
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
146
183
|
}), status && {
|
|
147
184
|
isSlidesPanelOpen: false
|
|
148
185
|
}));
|
|
149
186
|
onRightPanelsToggled(status);
|
|
150
187
|
},
|
|
151
188
|
setIsSlidesNavigatorOpen: function setIsSlidesNavigatorOpen(status) {
|
|
189
|
+
var _get5 = get(),
|
|
190
|
+
previousIsLeftPanelOpen = _get5.isLeftPanelOpen,
|
|
191
|
+
restoreLeftPanelWhenNavigatorCloses = _get5.restoreLeftPanelWhenNavigatorCloses;
|
|
192
|
+
|
|
193
|
+
if (status) {
|
|
194
|
+
if (previousIsLeftPanelOpen) {
|
|
195
|
+
set({
|
|
196
|
+
isLeftPanelOpen: false,
|
|
197
|
+
isSlidesNavigatorOpen: true,
|
|
198
|
+
restoreLeftPanelWhenNavigatorCloses: true,
|
|
199
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
200
|
+
});
|
|
201
|
+
} else {
|
|
202
|
+
set({
|
|
203
|
+
isSlidesNavigatorOpen: true,
|
|
204
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
205
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
if (restoreLeftPanelWhenNavigatorCloses) {
|
|
213
|
+
set({
|
|
214
|
+
isLeftPanelOpen: true,
|
|
215
|
+
isSlidesNavigatorOpen: false,
|
|
216
|
+
restoreLeftPanelWhenNavigatorCloses: false
|
|
217
|
+
});
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
|
|
152
221
|
set({
|
|
153
|
-
isSlidesNavigatorOpen:
|
|
222
|
+
isSlidesNavigatorOpen: false,
|
|
223
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
154
224
|
});
|
|
155
225
|
},
|
|
156
226
|
setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || function (status) {
|
|
157
|
-
var
|
|
158
|
-
isEnoughCanvasSize =
|
|
159
|
-
onRightPanelsToggled =
|
|
227
|
+
var _get6 = get(),
|
|
228
|
+
isEnoughCanvasSize = _get6.isEnoughCanvasSize,
|
|
229
|
+
onRightPanelsToggled = _get6.onRightPanelsToggled;
|
|
160
230
|
|
|
161
231
|
set(_objectSpread(_objectSpread({
|
|
162
232
|
isSlidesPanelOpen: status
|
|
163
233
|
}, status && !isEnoughCanvasSize && {
|
|
164
|
-
isLeftPanelOpen: false
|
|
234
|
+
isLeftPanelOpen: false,
|
|
235
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
236
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
165
237
|
}), status && {
|
|
166
238
|
isRightPanelOpen: false
|
|
167
239
|
}));
|
|
@@ -177,6 +249,16 @@ var builderStore = function builderStore(props) {
|
|
|
177
249
|
matches: matches
|
|
178
250
|
});
|
|
179
251
|
},
|
|
252
|
+
setOutPage: function setOutPage(outPageId) {
|
|
253
|
+
set({
|
|
254
|
+
overedPageId: outPageId
|
|
255
|
+
});
|
|
256
|
+
},
|
|
257
|
+
setOverPage: function setOverPage(overPageId) {
|
|
258
|
+
set({
|
|
259
|
+
overedPageId: overPageId
|
|
260
|
+
});
|
|
261
|
+
},
|
|
180
262
|
setVisiblePageOrder: function setVisiblePageOrder(visiblePageOrder) {
|
|
181
263
|
set({
|
|
182
264
|
visiblePageOrder: visiblePageOrder
|
|
@@ -200,7 +282,9 @@ var builderStore = function builderStore(props) {
|
|
|
200
282
|
} else {
|
|
201
283
|
set({
|
|
202
284
|
isEnoughCanvasSize: false,
|
|
203
|
-
isLeftPanelOpen: false
|
|
285
|
+
isLeftPanelOpen: false,
|
|
286
|
+
restoreLeftPanelWhenNavigatorCloses: false,
|
|
287
|
+
restoreSlidesNavigatorWhenLeftCloses: false
|
|
204
288
|
});
|
|
205
289
|
}
|
|
206
290
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const { isEnoughCanvasSize } = get();\n set({\n isLeftPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n set({ isSlidesNavigatorOpen: status });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && { isLeftPanelOpen: false },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n });\n }\n }\n },\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","resetActiveElements","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth) {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
|
|
207
207
|
&.disabled {
|
|
208
208
|
opacity: 0.25;
|
|
209
|
-
pointer-events:
|
|
209
|
+
pointer-events: all;
|
|
210
210
|
cursor: not-allowed;
|
|
211
211
|
}
|
|
212
212
|
|
|
@@ -221,6 +221,17 @@
|
|
|
221
221
|
height: 16px;
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
+
|
|
225
|
+
&.active:not(.disabled) {
|
|
226
|
+
opacity: 1;
|
|
227
|
+
pointer-events: all;
|
|
228
|
+
transition: $transition;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
&.inactive {
|
|
232
|
+
opacity: 0;
|
|
233
|
+
transition: $transition;
|
|
234
|
+
}
|
|
224
235
|
}
|
|
225
236
|
|
|
226
237
|
// Zoom Toolbar new styles //
|
|
@@ -67,11 +67,6 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
67
67
|
var selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;
|
|
68
68
|
usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);
|
|
69
69
|
useFitZoom();
|
|
70
|
-
useEffect(function () {
|
|
71
|
-
if (slidesAsNavigator(slidesListType)) {
|
|
72
|
-
setIsSlidesNavigatorOpen(true);
|
|
73
|
-
}
|
|
74
|
-
}, [slidesListType, setIsSlidesNavigatorOpen]);
|
|
75
70
|
useEffect(function () {
|
|
76
71
|
if (!decidedWhichPanelToOpen.current) {
|
|
77
72
|
if (pageCount > 1) {
|
|
@@ -79,18 +74,26 @@ var BuilderWrapper = function BuilderWrapper(_ref) {
|
|
|
79
74
|
setIsLeftPanelOpen(false);
|
|
80
75
|
}
|
|
81
76
|
|
|
77
|
+
if (slidesAsNavigator(slidesListType)) {
|
|
78
|
+
setIsSlidesNavigatorOpen(true);
|
|
79
|
+
}
|
|
80
|
+
|
|
82
81
|
setIsSlidesPanelOpen(shouldShowRightPanelInitially);
|
|
83
82
|
} else {
|
|
84
83
|
if (isSlidesPanelOpen) {
|
|
85
84
|
setIsSlidesPanelOpen(false);
|
|
86
85
|
}
|
|
87
86
|
|
|
87
|
+
if (slidesAsNavigator(slidesListType) && isSlidesNavigatorOpen) {
|
|
88
|
+
setIsSlidesNavigatorOpen(false);
|
|
89
|
+
}
|
|
90
|
+
|
|
88
91
|
setIsLeftPanelOpen(true);
|
|
89
92
|
}
|
|
90
93
|
|
|
91
94
|
decidedWhichPanelToOpen.current = true;
|
|
92
95
|
}
|
|
93
|
-
}, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially]);
|
|
96
|
+
}, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);
|
|
94
97
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
95
98
|
children: [slidesAsNavigator(slidesListType) && /*#__PURE__*/jsx(SlidesNavigator, {}), /*#__PURE__*/jsx(ReportWrapper, {
|
|
96
99
|
mode: "customize",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\nimport SlidesNavigator from '../Panels/SlidesNavigator/SlidesNavigator';\nimport { slidesAsNavigator } from '../../utils/functions';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n setVisiblePageOrder(index);\n onPageVisibilityChanged(index);\n }\n }, [setVisiblePageOrder, onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (
|
|
1
|
+
{"version":3,"file":"BuilderWrapper.js","sources":["../../../../src/components/Builder/BuilderWrapper.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport ReportWrapper from '../ReportWrapper';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport {\n useFitZoom, usePageVisibility, usePrevious, useSelectedElements,\n} from '../../utils/hooks';\nimport SlidesNavigator from '../Panels/SlidesNavigator/SlidesNavigator';\nimport { slidesAsNavigator } from '../../utils/functions';\n\nconst BuilderWrapper = ({ children }) => {\n const decidedWhichPanelToOpen = useRef(false);\n\n const pageCount = usePropStore(state => state.pages.length);\n const isLeftPanelOpen = useBuilderStore(state => state.isLeftPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const setIsSlidesNavigatorOpen = useBuilderStore(state => state.setIsSlidesNavigatorOpen);\n const shouldShowRightPanelInitially = useBuilderStore(state => state.shouldShowRightPanelInitially);\n const onSelectedItemsChanged = usePropStore(state => state.onSelectedItemsChanged);\n const onPageVisibilityChanged = usePropStore(state => state.onPageVisibilityChanged);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n const selectedItems = useSelectedElements();\n const prevSelectedItems = usePrevious(selectedItems);\n\n useEffect(() => {\n if (prevSelectedItems && !isEqual(prevSelectedItems, selectedItems)) {\n onSelectedItemsChanged(selectedItems);\n }\n }, [\n selectedItems,\n onSelectedItemsChanged,\n prevSelectedItems,\n ]);\n\n const handlePageVisibility = useCallback(index => {\n if (index && !Number.isNaN(index)) {\n setVisiblePageOrder(index);\n onPageVisibilityChanged(index);\n }\n }, [setVisiblePageOrder, onPageVisibilityChanged]);\n\n // for initial page visibility check and slides panel visibility usage\n const selectedPageIndexReference = isSlidesPanelOpen ? 0 : -1;\n usePageVisibility(handlePageVisibility, pageCount, selectedPageIndexReference);\n\n useFitZoom();\n\n useEffect(() => {\n if (!decidedWhichPanelToOpen.current) {\n if (pageCount > 1) {\n if (isLeftPanelOpen) {\n setIsLeftPanelOpen(false);\n }\n if (slidesAsNavigator(slidesListType)) {\n setIsSlidesNavigatorOpen(true);\n }\n setIsSlidesPanelOpen(shouldShowRightPanelInitially);\n } else {\n if (isSlidesPanelOpen) {\n setIsSlidesPanelOpen(false);\n }\n if (slidesAsNavigator(slidesListType) && isSlidesNavigatorOpen) {\n setIsSlidesNavigatorOpen(false);\n }\n setIsLeftPanelOpen(true);\n }\n\n decidedWhichPanelToOpen.current = true;\n }\n }, [pageCount, isLeftPanelOpen, isSlidesPanelOpen, isSlidesNavigatorOpen, setIsLeftPanelOpen, setIsSlidesPanelOpen, setIsSlidesNavigatorOpen, shouldShowRightPanelInitially, slidesListType]);\n\n return (\n <>\n {slidesAsNavigator(slidesListType) && <SlidesNavigator />}\n <ReportWrapper mode=\"customize\">\n {children}\n </ReportWrapper>\n </>\n );\n};\n\nBuilderWrapper.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default BuilderWrapper;\n"],"names":["BuilderWrapper","children","decidedWhichPanelToOpen","useRef","pageCount","usePropStore","state","pages","length","isLeftPanelOpen","useBuilderStore","isSlidesPanelOpen","isSlidesNavigatorOpen","setIsLeftPanelOpen","setIsSlidesPanelOpen","setIsSlidesNavigatorOpen","shouldShowRightPanelInitially","onSelectedItemsChanged","onPageVisibilityChanged","setVisiblePageOrder","slidesListType","selectedItems","useSelectedElements","prevSelectedItems","usePrevious","useEffect","isEqual","handlePageVisibility","useCallback","index","Number","isNaN","selectedPageIndexReference","usePageVisibility","useFitZoom","current","slidesAsNavigator","_jsxs","_jsx","propTypes","PropTypes","node","isRequired"],"mappings":"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"}
|