@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.
Files changed (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/cjs/components/Builder/BuilderWrapper.js +9 -6
  3. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  4. package/lib/cjs/components/Builder/PageActions.js +52 -1
  5. package/lib/cjs/components/Builder/PageActions.js.map +1 -1
  6. package/lib/cjs/components/Builder/Scene.js +36 -30
  7. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  8. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
  9. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
  10. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +1 -5
  11. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
  12. package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +11 -5
  13. package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
  14. package/lib/cjs/components/TextEditor/TextEditor.js +2 -2
  15. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  16. package/lib/cjs/contexts/BuilderContext.js +97 -13
  17. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  18. package/lib/cjs/styles/_jfReportsFloatings.scss +12 -1
  19. package/lib/cjs/styles/slides-navigator.scss +1 -0
  20. package/lib/esm/components/Builder/BuilderWrapper.js +9 -6
  21. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  22. package/lib/esm/components/Builder/PageActions.js +53 -2
  23. package/lib/esm/components/Builder/PageActions.js.map +1 -1
  24. package/lib/esm/components/Builder/Scene.js +38 -32
  25. package/lib/esm/components/Builder/Scene.js.map +1 -1
  26. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +18 -18
  27. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
  28. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +1 -5
  29. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
  30. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +12 -6
  31. package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -1
  32. package/lib/esm/components/TextEditor/TextEditor.js +2 -2
  33. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  34. package/lib/esm/contexts/BuilderContext.js +97 -13
  35. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  36. package/lib/esm/styles/_jfReportsFloatings.scss +12 -1
  37. package/lib/esm/styles/slides-navigator.scss +1 -0
  38. package/package.json +1 -1
@@ -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","closestCenter","verticalListSortingStrategy","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,WAAW,GAAG,IAApB;AAEA,IAAMC,mBAAmB,GAAG;AAAEC,EAAAA,MAAM,EAAEF;AAAV,CAA5B;AAEA,IAAMG,2BAA2B,gBAAGC,UAAU,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,SAAS,CAACC,IADkB;AAEtCN,EAAAA,KAAK,EAAEK,SAAS,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,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,KAAV;AAAA,GAAN,CAA1B;AACA,MAAMG,QAAQ,GAAGF,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,QAAV;AAAA,GAAN,CAA7B;AACA,MAAMC,kBAAkB,GAAGH,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACE,kBAAV;AAAA,GAAN,CAAvC;AACA,MAAMC,gBAAgB,GAAGJ,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACG,gBAAV;AAAA,GAAN,CAArC;AAEA,MAAMC,WAAW,GAAGC,MAAM,CAAC,IAAD,CAA1B;;AACA,kBAAgCC,QAAQ,CAAC,IAAD,CAAxC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAoCF,QAAQ,CAACR,KAAD,CAA5C;AAAA;AAAA,MAAOW,UAAP;AAAA,MAAmBC,aAAnB;;AAEAC,EAAAA,SAAS,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,UAAU,CACxBC,SAAS,CAACC,aAAD,EAAgB;AACvBC,IAAAA,oBAAoB,EAAE;AAAEC,MAAAA,KAAK,EAAE,GAAT;AAAcC,MAAAA,QAAQ,EAAE,CAAxB;AAA2BC,MAAAA,SAAS,EAAE;AAAtC;AADC,GAAhB,CADe,EAIxBL,SAAS,CAACM,cAAD,EAAiB;AACxBC,IAAAA,gBAAgB,EAAEC;AADM,GAAjB,CAJe,CAA1B;AASA,MAAMC,KAAK,GAAGC,OAAO,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,WAAW,CAAC,UAAAC,CAAC,EAAI;AACnC,QAAMC,KAAK,GAAGD,CAAC,CAACE,aAAF,CAAgBC,YAAhB,CAA6B,YAA7B,CAAd;;AACA,QAAIF,KAAJ,EAAW;AACTG,MAAAA,cAAc,0BAAmBH,KAAnB,EAAd;AACD;AACF,GAL8B,EAK5B,EAL4B,CAA/B;AAOA,MAAMI,eAAe,GAAGN,WAAW,CAAC,UAAAO,KAAK,EAAI;AAC3ClC,IAAAA,WAAW,CAACkC,KAAK,CAACC,MAAN,CAAaV,EAAd,CAAX;AACD,GAFkC,EAEhC,EAFgC,CAAnC;AAIA,MAAMW,aAAa,GAAGT,WAAW,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,SAAS,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,WAAW,CAAC,YAAM;AACzC3B,IAAAA,WAAW,CAAC,IAAD,CAAX;AACD,GAFmC,EAEjC,EAFiC,CAApC;AAIA,MAAMoD,cAAc,GAAG9B,OAAO,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,OAAO,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,WAAW,CAAC,UAAAuB,KAAK,EAAI;AACvC,QAAM1B,IAAI,GAAGvB,UAAU,CAACiD,KAAD,CAAvB;AACA,QAAI,CAAC1B,IAAL,EAAW,OAAO,IAAP;AAEX,wBACE3C,IAAC,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,OAAO,CAAC;AAAA;;AAAA,oCAAMlB,YAAN,aAAMA,YAAN,uBAAMA,YAAY,CAAEuD,iBAAd,EAAN,yEAA2C,EAA3C;AAAA,GAAD,EAAgD,CAACvD,YAAD,CAAhD,CAArC;AAEA,sBACEwD,KAAC,UAAD;AACE,IAAA,kBAAkB,EAAEC,aADtB;AAEE,IAAA,YAAY,EAAEV,gBAFhB;AAGE,IAAA,SAAS,EAAEf,aAHb;AAIE,IAAA,WAAW,EAAEH,eAJf;AAKE,IAAA,OAAO,EAAEvB,OALX;AAAA,4BAOE7B,IAAC,eAAD;AACE,MAAA,KAAK,EAAEwC,KADT;AAEE,MAAA,QAAQ,EAAEyC,2BAFZ;AAAA,6BAIEjF,IAAC,QAAD;AACE,QAAA,GAAG,EAAEe,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,CAAC8D;AATzB;AAJF,MAPF,eAwBElF,IAAC,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","closestCenter","verticalListSortingStrategy","length"],"mappings":"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"}
@@ -40,7 +40,7 @@ var TextEditor = function TextEditor(_ref) {
40
40
  var setIsTextEditorOpen = useBuilderStore(function (state) {
41
41
  return state.setIsTextEditorOpen;
42
42
  });
43
- var onClick = useCallback(function () {
43
+ var onDoubleClick = useCallback(function () {
44
44
  if (isSelected && !isLocked) {
45
45
  setIsTextEditorOpen(true);
46
46
  }
@@ -61,7 +61,7 @@ var TextEditor = function TextEditor(_ref) {
61
61
  dangerouslySetInnerHTML: {
62
62
  __html: isNotEmpty ? _content : placeholder
63
63
  },
64
- onClick: onClick,
64
+ onDoubleClick: onDoubleClick,
65
65
  onKeyDown: function onKeyDown() {}
66
66
  });
67
67
  };
@@ -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 onClick = 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 onClick={onClick}\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","onClick","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,YAAY,CAACL,OAAD,EAAUM,SAAS,CAACC,QAApB,CAA3C;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,OAAO,GAAGC,WAAW,CAAC,YAAM;AAChC,QAAIZ,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BW,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACV,UAAD,EAAaD,QAAb,EAAuBW,mBAAvB,CAJwB,CAA3B;AAMA,MAAMG,UAAU,GAAGC,OAAO,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,IAAC,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,OAAO,EAAEU,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDf,UAAU,CAAC0B,SAAX,GAAuB;AACrBzB,EAAAA,OAAO,EAAE0B,SAAS,CAACC,MADE;AAErB1B,EAAAA,UAAU,EAAEyB,SAAS,CAACE,IAFD;AAGrB1B,EAAAA,QAAQ,EAAEwB,SAAS,CAACG,IAHC;AAIrB1B,EAAAA,UAAU,EAAEuB,SAAS,CAACG,IAJD;AAKrBzB,EAAAA,WAAW,EAAEsB,SAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
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,YAAY,CAACL,OAAD,EAAUM,SAAS,CAACC,QAApB,CAA3C;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,MAAMC,gBAAgB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,gBAAV;AAAA,GAAN,CAAxC;AACA,MAAMG,mBAAmB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,aAAa,GAAGC,WAAW,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,OAAO,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,IAAC,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,SAAS,CAACC,MADE;AAErB1B,EAAAA,UAAU,EAAEyB,SAAS,CAACE,IAFD;AAGrB1B,EAAAA,QAAQ,EAAEwB,SAAS,CAACG,IAHC;AAIrB1B,EAAAA,UAAU,EAAEuB,SAAS,CAACG,IAJD;AAKrBzB,EAAAA,WAAW,EAAEsB,SAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;;;;"}
@@ -52,12 +52,15 @@ var builderStore = function builderStore(props) {
52
52
  lastScrollPosition: props.lastScrollPosition || 0,
53
53
  matches: {},
54
54
  onRightPanelsToggled: props.onRightPanelsToggled || function () {},
55
+ overedPageId: props.activePageId || null,
55
56
  resetActiveElements: props.resetActiveElements || function () {
56
57
  set({
57
58
  activeElements: [],
58
59
  editedElement: 'l_layout'
59
60
  });
60
61
  },
62
+ restoreLeftPanelWhenNavigatorCloses: false,
63
+ restoreSlidesNavigatorWhenLeftCloses: false,
61
64
  setActiveElements: props.setActiveElements || function (itemID) {
62
65
  var edit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
63
66
  var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
@@ -113,13 +116,45 @@ var builderStore = function builderStore(props) {
113
116
  },
114
117
  setIsLeftPanelOpen: props.setIsLeftPanelOpen || function (status) {
115
118
  var _get3 = get(),
116
- isEnoughCanvasSize = _get3.isEnoughCanvasSize;
119
+ isEnoughCanvasSize = _get3.isEnoughCanvasSize,
120
+ previousIsSlidesNavigatorOpen = _get3.isSlidesNavigatorOpen,
121
+ restoreSlidesNavigatorWhenLeftCloses = _get3.restoreSlidesNavigatorWhenLeftCloses;
117
122
 
118
- set(_objectSpread({
119
- isLeftPanelOpen: status
120
- }, status && !isEnoughCanvasSize && {
121
- isRightPanelOpen: false
122
- }));
123
+ if (status) {
124
+ if (previousIsSlidesNavigatorOpen) {
125
+ set(_objectSpread({
126
+ isLeftPanelOpen: true,
127
+ isSlidesNavigatorOpen: false,
128
+ restoreLeftPanelWhenNavigatorCloses: false,
129
+ restoreSlidesNavigatorWhenLeftCloses: true
130
+ }, !isEnoughCanvasSize && {
131
+ isRightPanelOpen: false
132
+ }));
133
+ } else {
134
+ set(_objectSpread({
135
+ isLeftPanelOpen: true,
136
+ restoreLeftPanelWhenNavigatorCloses: false,
137
+ restoreSlidesNavigatorWhenLeftCloses: false
138
+ }, !isEnoughCanvasSize && {
139
+ isRightPanelOpen: false
140
+ }));
141
+ }
142
+
143
+ return;
144
+ }
145
+
146
+ if (restoreSlidesNavigatorWhenLeftCloses) {
147
+ set({
148
+ isLeftPanelOpen: false,
149
+ isSlidesNavigatorOpen: true,
150
+ restoreSlidesNavigatorWhenLeftCloses: false
151
+ });
152
+ return;
153
+ }
154
+
155
+ set({
156
+ isLeftPanelOpen: false
157
+ });
123
158
  },
124
159
  setIsResize: function setIsResize(status) {
125
160
  set({
@@ -134,26 +169,63 @@ var builderStore = function builderStore(props) {
134
169
  set(_objectSpread(_objectSpread({
135
170
  isRightPanelOpen: status
136
171
  }, status && !isEnoughCanvasSize && {
137
- isLeftPanelOpen: false
172
+ isLeftPanelOpen: false,
173
+ restoreLeftPanelWhenNavigatorCloses: false,
174
+ restoreSlidesNavigatorWhenLeftCloses: false
138
175
  }), status && {
139
176
  isSlidesPanelOpen: false
140
177
  }));
141
178
  onRightPanelsToggled(status);
142
179
  },
143
180
  setIsSlidesNavigatorOpen: function setIsSlidesNavigatorOpen(status) {
181
+ var _get5 = get(),
182
+ previousIsLeftPanelOpen = _get5.isLeftPanelOpen,
183
+ restoreLeftPanelWhenNavigatorCloses = _get5.restoreLeftPanelWhenNavigatorCloses;
184
+
185
+ if (status) {
186
+ if (previousIsLeftPanelOpen) {
187
+ set({
188
+ isLeftPanelOpen: false,
189
+ isSlidesNavigatorOpen: true,
190
+ restoreLeftPanelWhenNavigatorCloses: true,
191
+ restoreSlidesNavigatorWhenLeftCloses: false
192
+ });
193
+ } else {
194
+ set({
195
+ isSlidesNavigatorOpen: true,
196
+ restoreLeftPanelWhenNavigatorCloses: false,
197
+ restoreSlidesNavigatorWhenLeftCloses: false
198
+ });
199
+ }
200
+
201
+ return;
202
+ }
203
+
204
+ if (restoreLeftPanelWhenNavigatorCloses) {
205
+ set({
206
+ isLeftPanelOpen: true,
207
+ isSlidesNavigatorOpen: false,
208
+ restoreLeftPanelWhenNavigatorCloses: false
209
+ });
210
+ return;
211
+ }
212
+
144
213
  set({
145
- isSlidesNavigatorOpen: status
214
+ isSlidesNavigatorOpen: false,
215
+ restoreSlidesNavigatorWhenLeftCloses: false
146
216
  });
147
217
  },
148
218
  setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || function (status) {
149
- var _get5 = get(),
150
- isEnoughCanvasSize = _get5.isEnoughCanvasSize,
151
- onRightPanelsToggled = _get5.onRightPanelsToggled;
219
+ var _get6 = get(),
220
+ isEnoughCanvasSize = _get6.isEnoughCanvasSize,
221
+ onRightPanelsToggled = _get6.onRightPanelsToggled;
152
222
 
153
223
  set(_objectSpread(_objectSpread({
154
224
  isSlidesPanelOpen: status
155
225
  }, status && !isEnoughCanvasSize && {
156
- isLeftPanelOpen: false
226
+ isLeftPanelOpen: false,
227
+ restoreLeftPanelWhenNavigatorCloses: false,
228
+ restoreSlidesNavigatorWhenLeftCloses: false
157
229
  }), status && {
158
230
  isRightPanelOpen: false
159
231
  }));
@@ -169,6 +241,16 @@ var builderStore = function builderStore(props) {
169
241
  matches: matches
170
242
  });
171
243
  },
244
+ setOutPage: function setOutPage(outPageId) {
245
+ set({
246
+ overedPageId: outPageId
247
+ });
248
+ },
249
+ setOverPage: function setOverPage(overPageId) {
250
+ set({
251
+ overedPageId: overPageId
252
+ });
253
+ },
172
254
  setVisiblePageOrder: function setVisiblePageOrder(visiblePageOrder) {
173
255
  set({
174
256
  visiblePageOrder: visiblePageOrder
@@ -192,7 +274,9 @@ var builderStore = function builderStore(props) {
192
274
  } else {
193
275
  set({
194
276
  isEnoughCanvasSize: false,
195
- isLeftPanelOpen: false
277
+ isLeftPanelOpen: false,
278
+ restoreLeftPanelWhenNavigatorCloses: false,
279
+ restoreSlidesNavigatorWhenLeftCloses: false
196
280
  });
197
281
  }
198
282
  }
@@ -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: none;
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 //
@@ -13,6 +13,7 @@
13
13
  z-index: 1000;
14
14
  border-top: 1px solid #D8DAE9;
15
15
  animation: slideInFromLeft .3s ease-out;
16
+ user-select: none;
16
17
 
17
18
  &-toggle {
18
19
  width: 40px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "files": [
5
5
  "lib",
6
6
  "index.d.ts"