@jotforminc/dnd-builder 3.6.2 → 3.6.3

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 (52) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/cjs/assets/svg/ellipsis-vertical.svg.js +22 -0
  3. package/lib/cjs/assets/svg/ellipsis-vertical.svg.js.map +1 -0
  4. package/lib/cjs/components/Builder/BuilderWrapper.js +3 -3
  5. package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
  6. package/lib/cjs/components/Builder/Scene.js +9 -5
  7. package/lib/cjs/components/Builder/Scene.js.map +1 -1
  8. package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js +48 -0
  9. package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
  10. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +52 -9
  11. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
  12. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js +20 -0
  13. package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
  14. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +11 -5
  15. package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
  16. package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
  17. package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
  18. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -1
  19. package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  20. package/lib/cjs/styles/slides-navigator.scss +39 -0
  21. package/lib/cjs/utils/functions.js +5 -7
  22. package/lib/cjs/utils/functions.js.map +1 -1
  23. package/lib/cjs/utils/hooks.js +29 -4
  24. package/lib/cjs/utils/hooks.js.map +1 -1
  25. package/lib/cjs/utils/icons.js +2 -0
  26. package/lib/cjs/utils/icons.js.map +1 -1
  27. package/lib/esm/assets/svg/ellipsis-vertical.svg.js +20 -0
  28. package/lib/esm/assets/svg/ellipsis-vertical.svg.js.map +1 -0
  29. package/lib/esm/components/Builder/BuilderWrapper.js +4 -4
  30. package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
  31. package/lib/esm/components/Builder/Scene.js +11 -7
  32. package/lib/esm/components/Builder/Scene.js.map +1 -1
  33. package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js +46 -0
  34. package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
  35. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +54 -11
  36. package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
  37. package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js +18 -0
  38. package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
  39. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +11 -5
  40. package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
  41. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
  42. package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
  43. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -2
  44. package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
  45. package/lib/esm/styles/slides-navigator.scss +39 -0
  46. package/lib/esm/utils/functions.js +5 -6
  47. package/lib/esm/utils/functions.js.map +1 -1
  48. package/lib/esm/utils/hooks.js +29 -5
  49. package/lib/esm/utils/hooks.js.map +1 -1
  50. package/lib/esm/utils/icons.js +1 -0
  51. package/lib/esm/utils/icons.js.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SlideItemMoreMenu.js","sources":["../../../../../../src/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js"],"sourcesContent":["import {\n forwardRef, useCallback, useImperativeHandle, useMemo, useState,\n} from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useClick,\n useInteractions,\n useId,\n useFocus,\n FloatingPortal,\n autoPlacement,\n} from '@floating-ui/react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../../utils/icons';\nimport { useTranslatedTexts } from '../../../../utils/hooks';\nimport { usePropStore } from '../../../../contexts/PropContext';\nimport { useBuilderStore } from '../../../../contexts/BuilderContext';\n\nconst PAGE_ACTIONS_SYNC_MS = 100;\n\nconst SlideItemMoreMenu = forwardRef(({ order, page }, ref) => {\n const [isOpen, setIsOpen] = useState(false);\n const [rectPosition, setRectPosition] = useState({ left: 0, top: 0 });\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n\n const openCardContextMenu = useCallback((e, useMousePointer = false) => {\n if (isOpen) return;\n e.preventDefault();\n const cursorTarget = e.target;\n let { top } = cursorTarget.getBoundingClientRect();\n let { left } = cursorTarget.getBoundingClientRect();\n if (useMousePointer) {\n top = e.clientY;\n left = e.clientX;\n }\n const { innerHeight, innerWidth } = window;\n const floatingHeight = 196;\n const floatingWidth = 224;\n const innerLeftDecrement = (innerWidth - left) > floatingWidth;\n const innerTopDecrement = (innerHeight - top) > floatingHeight;\n const leftVal = !innerLeftDecrement ? left - floatingWidth : left;\n const topVal = !innerTopDecrement ? top - (floatingHeight) : top + (!useMousePointer ? 24 : 0);\n setRectPosition({ left: leftVal, top: topVal });\n }, [isOpen]);\n\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const { ADD_NEW_SLIDE, DELETE_SLIDE, DUPLICATE_SLIDE } = useTranslatedTexts();\n\n const { context, floatingStyles, refs } = useFloating({\n middleware: [\n offset({\n crossAxis: 10000,\n mainAxis: 5,\n }),\n flip({\n crossAxis: true,\n fallbackAxisSideDirection: 'none',\n }),\n shift(),\n autoPlacement({\n alignment: 'start',\n crossAxis: true,\n }),\n ],\n onOpenChange: nextOpen => {\n setIsOpen(nextOpen);\n },\n open: isOpen,\n placement: 'bottom',\n strategy: 'fixed',\n transform: true,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, {\n event: 'click',\n });\n const dismiss = useDismiss(context, { ancestorScroll: true });\n const role = useRole(context);\n const focus = useFocus(context);\n\n const { getFloatingProps } = useInteractions([\n click,\n dismiss,\n role,\n focus,\n ]);\n\n const headingId = useId();\n\n const customStyles = {\n boxShadow: '0px 2px 4px 0px rgba(37, 45, 91, 0.04), 0px 8px 16px 0px rgba(84, 95, 111, 0.16)',\n left: rectPosition.left,\n top: rectPosition.top,\n transform: 'translate(9px, 0px)',\n zIndex: '99999',\n };\n\n const handleAddNewSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageAdd(nextPageOrder);\n onAnEventTrigger('addNewPageFromSlides', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageAdd, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDuplicateSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageDuplicate, page, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDeleteSlide = useCallback(() => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n setIsOpen(false);\n const visibleOrderAfterDelete = Math.max(order - 1, 1);\n window.setTimeout(() => {\n setVisiblePageOrder(visibleOrderAfterDelete);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);\n\n const schemaOptions = useMemo(() => {\n return (\n [\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.plus className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'add_new_slide',\n isVisible: true,\n onClick: handleAddNewSlide,\n textClassName: 'slides-navigator-context-menu-item-text add',\n title: ADD_NEW_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.duplicate className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'duplicate_slide',\n isVisible: true,\n onClick: handleDuplicateSlide,\n textClassName: 'slides-navigator-context-menu-item-text duplicate',\n title: DUPLICATE_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.trash className=\"slides-navigator-context-menu-item-icon delete\" />,\n id: 'delete_slide',\n isVisible: true,\n onClick: handleDeleteSlide,\n textClassName: 'slides-navigator-context-menu-item-text delete',\n title: DELETE_SLIDE,\n },\n ]\n );\n }, [handleAddNewSlide, handleDuplicateSlide, handleDeleteSlide, ADD_NEW_SLIDE, DUPLICATE_SLIDE, DELETE_SLIDE]);\n\n const handleOpenMenu = useCallback(e => {\n setIsOpen(true);\n openCardContextMenu(e, true);\n }, [openCardContextMenu]);\n\n useImperativeHandle(ref, () => {\n return {\n handleOpenMenu,\n };\n }, [handleOpenMenu]);\n\n return (\n <>\n {isOpen && (\n <FloatingPortal>\n {/* <PopoverOverlay /> */}\n <div\n ref={refs.setFloating}\n alignItems=\"start\"\n aria-labelledby={headingId}\n className=\"slides-navigator-context-menu\"\n direction=\"column\"\n justifyContent=\"start\"\n style={{\n ...floatingStyles,\n ...customStyles,\n }}\n {...getFloatingProps()}\n >\n <div\n className=\"slides-navigator-context-menu-items\"\n >\n {schemaOptions.map(schemaOption => {\n return (\n schemaOption.isVisible\n && (\n <button\n key={schemaOption.id}\n className={schemaOption.className}\n id={schemaOption.id}\n onClick={schemaOption.onClick}\n type=\"button\"\n >\n {schemaOption.icon}\n <span className={` ${schemaOption.textClassName}`}>{schemaOption.title}</span>\n </button>\n )\n );\n })}\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n});\n\nSlideItemMoreMenu.propTypes = {\n order: PropTypes.number.isRequired,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default SlideItemMoreMenu;\n"],"names":["PAGE_ACTIONS_SYNC_MS","SlideItemMoreMenu","forwardRef","ref","order","page","useState","isOpen","setIsOpen","left","top","rectPosition","setRectPosition","setVisiblePageOrder","useBuilderStore","state","openCardContextMenu","useCallback","e","useMousePointer","preventDefault","cursorTarget","target","getBoundingClientRect","clientY","clientX","window","innerHeight","innerWidth","floatingHeight","floatingWidth","innerLeftDecrement","innerTopDecrement","leftVal","topVal","onPageAdd","usePropStore","onPageDuplicate","onPageRemove","onAnEventTrigger","useTranslatedTexts","ADD_NEW_SLIDE","DELETE_SLIDE","DUPLICATE_SLIDE","useFloating","middleware","offset","crossAxis","mainAxis","flip","fallbackAxisSideDirection","shift","autoPlacement","alignment","onOpenChange","nextOpen","open","placement","strategy","transform","whileElementsMounted","autoUpdate","context","floatingStyles","refs","click","useClick","event","dismiss","useDismiss","ancestorScroll","role","useRole","focus","useFocus","useInteractions","getFloatingProps","headingId","useId","customStyles","boxShadow","zIndex","handleAddNewSlide","nextPageOrder","setTimeout","handleDuplicateSlide","handleDeleteSlide","id","visibleOrderAfterDelete","Math","max","schemaOptions","useMemo","className","icon","_jsx","icons.plus","isVisible","onClick","textClassName","title","icons.duplicate","icons.trash","handleOpenMenu","useImperativeHandle","setFloating","map","schemaOption","_jsxs","propTypes","PropTypes","number","isRequired","shape","string"],"mappings":"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"}
1
+ {"version":3,"file":"SlideItemMoreMenu.js","sources":["../../../../../../src/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js"],"sourcesContent":["import {\n forwardRef, useCallback, useImperativeHandle, useMemo, useState,\n} from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useDismiss,\n useRole,\n useClick,\n useInteractions,\n useId,\n useFocus,\n FloatingPortal,\n autoPlacement,\n} from '@floating-ui/react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../../../utils/icons';\nimport { useResizeListener, useTranslatedTexts } from '../../../../utils/hooks';\nimport { usePropStore } from '../../../../contexts/PropContext';\nimport { useBuilderStore } from '../../../../contexts/BuilderContext';\nimport MoreMenuOverlay from '../MoreMenuOverlay';\n\nconst PAGE_ACTIONS_SYNC_MS = 100;\n\nconst SlideItemMoreMenu = forwardRef(({ order, page, selected }, ref) => {\n const [isOpen, setIsOpen] = useState(false);\n const [rectPosition, setRectPosition] = useState({ left: 0, top: 0 });\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const viewportWidth = useResizeListener(true);\n const isMobile = viewportWidth > 0 && viewportWidth < 480;\n\n const openCardContextMenu = useCallback((e, useMousePointer = false) => {\n if (isOpen) return;\n e.preventDefault();\n const cursorTarget = e.target;\n let { top } = cursorTarget.getBoundingClientRect();\n let { left } = cursorTarget.getBoundingClientRect();\n if (useMousePointer) {\n top = e.clientY;\n left = e.clientX;\n }\n const { innerHeight, innerWidth } = window;\n const floatingHeight = 196;\n const floatingWidth = 224;\n const innerLeftDecrement = (innerWidth - left) > floatingWidth;\n const innerTopDecrement = (innerHeight - top) > floatingHeight;\n const leftVal = !innerLeftDecrement ? left - floatingWidth : left;\n const topVal = !innerTopDecrement ? top - (floatingHeight) : top + (!useMousePointer ? 24 : 0);\n setRectPosition({ left: leftVal, top: topVal });\n }, [isOpen]);\n\n const onPageAdd = usePropStore(state => state.onPageAdd);\n const onPageDuplicate = usePropStore(state => state.onPageDuplicate);\n const onPageRemove = usePropStore(state => state.onPageRemove);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const { ADD_NEW_SLIDE, DELETE_SLIDE, DUPLICATE_SLIDE } = useTranslatedTexts();\n\n const { context, floatingStyles, refs } = useFloating({\n middleware: [\n offset({\n crossAxis: 10000,\n mainAxis: 5,\n }),\n flip({\n crossAxis: true,\n fallbackAxisSideDirection: 'none',\n }),\n shift(),\n autoPlacement({\n alignment: 'start',\n crossAxis: true,\n }),\n ],\n onOpenChange: nextOpen => {\n setIsOpen(nextOpen);\n },\n open: isOpen,\n placement: 'bottom',\n strategy: 'fixed',\n transform: true,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context, {\n event: 'click',\n });\n const dismiss = useDismiss(context, { ancestorScroll: true });\n const role = useRole(context);\n const focus = useFocus(context);\n\n const { getFloatingProps, getReferenceProps } = useInteractions([\n click,\n dismiss,\n role,\n focus,\n ]);\n\n const headingId = useId();\n\n const customStyles = {\n boxShadow: '0px 2px 4px 0px rgba(37, 45, 91, 0.04), 0px 8px 16px 0px rgba(84, 95, 111, 0.16)',\n left: rectPosition.left,\n top: rectPosition.top,\n transform: 'translate(9px, 0px)',\n zIndex: '99999',\n };\n\n const mobileCustomStyles = {\n animation: 'fadeInTop 200ms ease-in-out forwards',\n borderBottomLeftRadius: '0px',\n borderBottomRightRadius: '0px',\n borderTopLeftRadius: '16px',\n borderTopRightRadius: '16px',\n bottom: 0,\n boxShadow: 'rgba(37, 45, 91, 0.04) 0px 2px 4px 0px, rgba(84, 95, 111, 0.16) 0px 8px 16px 0px',\n height: 'auto',\n left: '0',\n maxHeight: '100%',\n maxWidth: '100%',\n padding: '8px',\n position: 'fixed',\n top: 'unset',\n transform: 'translate(0px, 0px)',\n width: '100vw',\n willChange: 'unset',\n zIndex: '99999',\n };\n\n const handleAddNewSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageAdd(nextPageOrder);\n onAnEventTrigger('addNewPageFromSlides', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageAdd, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDuplicateSlide = useCallback(() => {\n const nextPageOrder = order + 1;\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageOrder);\n setIsOpen(false);\n window.setTimeout(() => {\n setVisiblePageOrder(nextPageOrder);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [onPageDuplicate, page, order, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDeleteSlide = useCallback(() => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n setIsOpen(false);\n const visibleOrderAfterDelete = Math.max(order - 1, 1);\n window.setTimeout(() => {\n setVisiblePageOrder(visibleOrderAfterDelete);\n }, PAGE_ACTIONS_SYNC_MS);\n }, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);\n\n const schemaOptions = useMemo(() => {\n return (\n [\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.plus className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'add_new_slide',\n isVisible: true,\n onClick: handleAddNewSlide,\n textClassName: 'slides-navigator-context-menu-item-text add',\n title: ADD_NEW_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.duplicate className=\"slides-navigator-context-menu-item-icon\" />,\n id: 'duplicate_slide',\n isVisible: true,\n onClick: handleDuplicateSlide,\n textClassName: 'slides-navigator-context-menu-item-text duplicate',\n title: DUPLICATE_SLIDE,\n },\n {\n className: 'slides-navigator-context-menu-item',\n icon: <icons.trash className=\"slides-navigator-context-menu-item-icon delete\" />,\n id: 'delete_slide',\n isVisible: true,\n onClick: handleDeleteSlide,\n textClassName: 'slides-navigator-context-menu-item-text delete',\n title: DELETE_SLIDE,\n },\n ]\n );\n }, [handleAddNewSlide, handleDuplicateSlide, handleDeleteSlide, ADD_NEW_SLIDE, DUPLICATE_SLIDE, DELETE_SLIDE]);\n\n const handleOpenMenu = useCallback(e => {\n setIsOpen(true);\n openCardContextMenu(e, true);\n }, [openCardContextMenu]);\n\n useImperativeHandle(ref, () => {\n return {\n handleOpenMenu,\n };\n }, [handleOpenMenu]);\n\n const styles = { ...floatingStyles, ...(isMobile ? mobileCustomStyles : customStyles) };\n\n return (\n <>\n {(isMobile && selected) && (\n <button\n type=\"button\"\n {...getReferenceProps()}\n ref={refs.setReference}\n className=\"slides-navigator-context-menu-button\"\n data-testid={`more-menu-button-${page.id}`}\n >\n <icons.ellipsisVertical style={{ flexShrink: 0, height: '16px', width: '14px' }} />\n </button>\n )}\n {isOpen && (\n <FloatingPortal>\n <MoreMenuOverlay />\n <div\n ref={refs.setFloating}\n alignItems=\"start\"\n aria-labelledby={headingId}\n className=\"slides-navigator-context-menu\"\n direction=\"column\"\n justifyContent=\"start\"\n style={styles}\n {...getFloatingProps()}\n >\n <div\n className=\"slides-navigator-context-menu-items\"\n >\n {schemaOptions.map(schemaOption => {\n return (\n schemaOption.isVisible\n && (\n <button\n key={schemaOption.id}\n className={schemaOption.className}\n id={schemaOption.id}\n onClick={schemaOption.onClick}\n type=\"button\"\n >\n {schemaOption.icon}\n <span className={` ${schemaOption.textClassName}`}>{schemaOption.title}</span>\n </button>\n )\n );\n })}\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n});\n\nSlideItemMoreMenu.propTypes = {\n order: PropTypes.number.isRequired,\n page: PropTypes.shape({\n id: PropTypes.string.isRequired,\n }).isRequired,\n selected: PropTypes.bool.isRequired,\n};\n\nexport default SlideItemMoreMenu;\n"],"names":["PAGE_ACTIONS_SYNC_MS","SlideItemMoreMenu","forwardRef","ref","order","page","selected","useState","isOpen","setIsOpen","left","top","rectPosition","setRectPosition","setVisiblePageOrder","useBuilderStore","state","viewportWidth","useResizeListener","isMobile","openCardContextMenu","useCallback","e","useMousePointer","preventDefault","cursorTarget","target","getBoundingClientRect","clientY","clientX","window","innerHeight","innerWidth","floatingHeight","floatingWidth","innerLeftDecrement","innerTopDecrement","leftVal","topVal","onPageAdd","usePropStore","onPageDuplicate","onPageRemove","onAnEventTrigger","useTranslatedTexts","ADD_NEW_SLIDE","DELETE_SLIDE","DUPLICATE_SLIDE","useFloating","middleware","offset","crossAxis","mainAxis","flip","fallbackAxisSideDirection","shift","autoPlacement","alignment","onOpenChange","nextOpen","open","placement","strategy","transform","whileElementsMounted","autoUpdate","context","floatingStyles","refs","click","useClick","event","dismiss","useDismiss","ancestorScroll","role","useRole","focus","useFocus","useInteractions","getFloatingProps","getReferenceProps","headingId","useId","customStyles","boxShadow","zIndex","mobileCustomStyles","animation","borderBottomLeftRadius","borderBottomRightRadius","borderTopLeftRadius","borderTopRightRadius","bottom","height","maxHeight","maxWidth","padding","position","width","willChange","handleAddNewSlide","nextPageOrder","setTimeout","handleDuplicateSlide","handleDeleteSlide","id","visibleOrderAfterDelete","Math","max","schemaOptions","useMemo","className","icon","_jsx","icons.plus","isVisible","onClick","textClassName","title","icons.duplicate","icons.trash","handleOpenMenu","useImperativeHandle","styles","_jsxs","setReference","icons.ellipsisVertical","flexShrink","setFloating","map","schemaOption","propTypes","PropTypes","number","isRequired","shape","string","bool"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { FloatingOverlay } from '@floating-ui/react';
2
+ import { useResizeListener } from '../../../utils/hooks.js';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var MoreMenuOverlay = function MoreMenuOverlay() {
6
+ var viewportWidth = useResizeListener(true);
7
+ var isMobile = viewportWidth > 0 && viewportWidth < 480;
8
+ return isMobile && /*#__PURE__*/jsx(FloatingOverlay, {
9
+ className: "jfSlidesMoreMenu-overlay",
10
+ style: {
11
+ backgroundColor: 'rgba(17, 24, 39, 0.6)',
12
+ zIndex: 99998
13
+ }
14
+ });
15
+ };
16
+
17
+ export default MoreMenuOverlay;
18
+ //# sourceMappingURL=MoreMenuOverlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreMenuOverlay.js","sources":["../../../../../src/components/Panels/SlidesNavigator/MoreMenuOverlay.js"],"sourcesContent":["import { FloatingOverlay } from '@floating-ui/react';\nimport { useResizeListener } from '../../../utils/hooks';\n\nconst MoreMenuOverlay = () => {\n const viewportWidth = useResizeListener(true);\n const isMobile = viewportWidth > 0 && viewportWidth < 480;\n\n return (\n isMobile && (\n <FloatingOverlay\n className=\"jfSlidesMoreMenu-overlay\"\n style={{\n backgroundColor: 'rgba(17, 24, 39, 0.6)',\n zIndex: 99998,\n }}\n />\n )\n );\n};\n\nexport default MoreMenuOverlay;\n"],"names":["MoreMenuOverlay","viewportWidth","useResizeListener","isMobile","_jsx","backgroundColor","zIndex"],"mappings":";;;;IAGMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,aAAa,GAAGC,iBAAiB,CAAC,IAAD,CAAvC;AACA,MAAMC,QAAQ,GAAGF,aAAa,GAAG,CAAhB,IAAqBA,aAAa,GAAG,GAAtD;AAEA,SACEE,QAAQ,iBACNC,IAAC,eAAD;AACE,IAAA,SAAS,EAAC,0BADZ;AAEE,IAAA,KAAK,EAAE;AACLC,MAAAA,eAAe,EAAE,uBADZ;AAELC,MAAAA,MAAM,EAAE;AAFH;AAFT,IAFJ;AAWD;;;;"}
@@ -30,6 +30,13 @@ var SlideItem = function SlideItem(_ref) {
30
30
  reportWidth = _ref.reportWidth,
31
31
  style = _ref.style;
32
32
  var moreMenuRef = useRef(null);
33
+ var setVisiblePageOrder = useBuilderStore(function (state) {
34
+ return state.setVisiblePageOrder;
35
+ });
36
+ var visiblePageOrder = useBuilderStore(function (state) {
37
+ return state.visiblePageOrder;
38
+ });
39
+ var selected = visiblePageOrder === order;
33
40
 
34
41
  var _useSortable = useSortable({
35
42
  id: id
@@ -41,12 +48,10 @@ var SlideItem = function SlideItem(_ref) {
41
48
  transform = _useSortable.transform,
42
49
  transition = _useSortable.transition;
43
50
 
44
- var selected = useBuilderStore(useCallback(function (state) {
45
- return state.visiblePageOrder.toString() === order.toString();
46
- }, [order]));
47
51
  var itemClickHandler = useCallback(function (e) {
52
+ setVisiblePageOrder(order);
48
53
  onPageClick === null || onPageClick === void 0 ? void 0 : onPageClick(e);
49
- }, [onPageClick]);
54
+ }, [onPageClick, setVisiblePageOrder, order]);
50
55
  var handleContextMenu = useCallback(function (e) {
51
56
  var _moreMenuRef$current;
52
57
 
@@ -100,7 +105,8 @@ var SlideItem = function SlideItem(_ref) {
100
105
  }), /*#__PURE__*/jsx(SlideItemMoreMenu, {
101
106
  ref: moreMenuRef,
102
107
  order: order,
103
- page: page
108
+ page: page,
109
+ selected: selected
104
110
  })]
105
111
  })
106
112
  }));
@@ -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\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","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"SlideItem.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlideItem.js"],"sourcesContent":["import {\n memo, useCallback, useMemo, useRef,\n} from 'react';\nimport { motion } from 'framer-motion';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport PropTypes from 'prop-types';\nimport StaticSlideItem from './StaticSlideItem';\nimport SlideItemMoreMenu from './MoreMenu/SlideItemMoreMenu';\nimport { emptyFunction } from '../../../utils/functions';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\n\nconst slideRevealTransition = {\n duration: 0.25,\n ease: [0.2, 0, 0.2, 1],\n};\n\nconst SlideItem = ({\n id,\n onPageClick,\n order,\n page,\n reportHeight,\n reportWidth,\n style,\n}) => {\n const moreMenuRef = useRef(null);\n const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const selected = visiblePageOrder === order;\n\n const {\n attributes,\n isDragging,\n listeners,\n setNodeRef,\n transform,\n transition,\n } = useSortable({ id });\n\n const itemClickHandler = useCallback(e => {\n setVisiblePageOrder(order);\n onPageClick?.(e);\n }, [onPageClick, setVisiblePageOrder, order]);\n\n const handleContextMenu = useCallback(e => {\n e.preventDefault();\n moreMenuRef.current?.handleOpenMenu(e);\n }, []);\n\n const dragStyle = useMemo(() => {\n const baseStyle = {\n opacity: isDragging ? 0.5 : 1,\n transform: CSS.Transform.toString(transform),\n transition: transition,\n };\n\n return { ...baseStyle, ...style };\n }, [transform, transition, isDragging, style]);\n\n return (\n <div\n ref={setNodeRef}\n className={`slides-navigator-item${selected ? ' selected' : ''}`}\n data-id={page.id}\n data-order={order}\n onClick={itemClickHandler}\n onContextMenu={handleContextMenu}\n onKeyDown={emptyFunction}\n style={dragStyle}\n {...attributes}\n {...listeners}\n >\n <motion.div\n className=\"slides-navigator-item-motion\"\n initial={{ opacity: 0.25, scale: 0.95 }}\n transition={slideRevealTransition}\n viewport={{ amount: 0.2, once: true }}\n whileInView={{ opacity: 1, scale: 1 }}\n >\n <div className=\"slides-navigator-item-order\">{order}</div>\n <div\n className=\"slides-navigator-item-content\"\n >\n <StaticSlideItem\n backgroundColor={page.backgroundColor}\n items={page.items}\n reportHeight={reportHeight}\n reportWidth={reportWidth}\n />\n </div>\n <SlideItemMoreMenu\n ref={moreMenuRef}\n order={order}\n page={page}\n selected={selected}\n />\n </motion.div>\n </div>\n );\n};\n\nSlideItem.propTypes = {\n id: PropTypes.string.isRequired,\n onPageClick: PropTypes.func,\n order: PropTypes.number,\n page: PropTypes.shape({\n backgroundColor: PropTypes.string,\n id: PropTypes.string.isRequired,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n reportHeight: PropTypes.number.isRequired,\n reportWidth: PropTypes.number.isRequired,\n style: PropTypes.shape({\n opacity: PropTypes.number,\n transform: PropTypes.string,\n transition: PropTypes.string,\n }),\n};\n\nfunction slideItemPropsAreEqual(prevProps, nextProps) {\n return prevProps.id === nextProps.id\n && prevProps.order === nextProps.order\n && prevProps.page === nextProps.page\n && prevProps.reportHeight === nextProps.reportHeight\n && prevProps.reportWidth === nextProps.reportWidth\n && prevProps.style === nextProps.style\n && prevProps.onPageClick === nextProps.onPageClick;\n}\n\nexport default memo(SlideItem, slideItemPropsAreEqual);\n"],"names":["slideRevealTransition","duration","ease","SlideItem","id","onPageClick","order","page","reportHeight","reportWidth","style","moreMenuRef","useRef","setVisiblePageOrder","useBuilderStore","state","visiblePageOrder","selected","useSortable","attributes","isDragging","listeners","setNodeRef","transform","transition","itemClickHandler","useCallback","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","toString","_jsx","emptyFunction","_jsxs","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":"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"}
@@ -1,31 +1,12 @@
1
1
  import { useBuilderStore } from '../../../contexts/BuilderContext.js';
2
- import { useTranslatedTexts } from '../../../utils/hooks.js';
3
2
  import SlideItemsList from './SlideItemsList.js';
4
- import { usePropStore } from '../../../contexts/PropContext.js';
5
- import { scrollToTarget } from '../../../utils/functions.js';
3
+ import AddSlideButton from './AddSlideButton.js';
6
4
  import { jsxs, jsx } from 'react/jsx-runtime';
7
- import SvgPlus from '../../../assets/svg/plus.svg.js';
8
5
 
9
6
  var SlidesNavigator = function SlidesNavigator() {
10
7
  var isSlidesNavigatorOpen = useBuilderStore(function (state) {
11
8
  return state.isSlidesNavigatorOpen;
12
9
  });
13
- var visiblePageOrder = useBuilderStore(function (state) {
14
- return state.visiblePageOrder;
15
- });
16
-
17
- var _useTranslatedTexts = useTranslatedTexts(),
18
- ADD_SLIDE = _useTranslatedTexts.ADD_SLIDE;
19
-
20
- var onPageAdd = usePropStore(function (state) {
21
- return state.onPageAdd;
22
- });
23
-
24
- var onAddItemClick = function onAddItemClick() {
25
- var newPageIndex = visiblePageOrder + 1;
26
- onPageAdd(newPageIndex);
27
- scrollToTarget("pageActions-id-".concat(newPageIndex), 350);
28
- };
29
10
 
30
11
  if (!isSlidesNavigatorOpen) {
31
12
  return null;
@@ -33,18 +14,7 @@ var SlidesNavigator = function SlidesNavigator() {
33
14
 
34
15
  return /*#__PURE__*/jsxs("aside", {
35
16
  className: "slides-navigator",
36
- children: [/*#__PURE__*/jsxs("button", {
37
- className: "slides-navigator-add-item",
38
- onClick: onAddItemClick,
39
- title: ADD_SLIDE,
40
- type: "button",
41
- children: [/*#__PURE__*/jsx(SvgPlus, {
42
- className: "slides-navigator-add-item-icon"
43
- }), /*#__PURE__*/jsx("span", {
44
- className: "slides-navigator-add-item-text",
45
- children: ADD_SLIDE
46
- })]
47
- }), /*#__PURE__*/jsx(SlideItemsList, {})]
17
+ children: [/*#__PURE__*/jsx(AddSlideButton, {}), /*#__PURE__*/jsx(SlideItemsList, {})]
48
18
  });
49
19
  };
50
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport SlideItemsList from './SlideItemsList';\nimport * as icons from '../../../utils/icons';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { scrollToTarget } from '../../../utils/functions';\n\nconst SlidesNavigator = () => {\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n const visiblePageOrder = useBuilderStore(state => state.visiblePageOrder);\n const { ADD_SLIDE } = useTranslatedTexts();\n const onPageAdd = usePropStore(state => state.onPageAdd);\n\n const onAddItemClick = () => {\n const newPageIndex = visiblePageOrder + 1;\n onPageAdd(newPageIndex);\n scrollToTarget(`pageActions-id-${newPageIndex}`, 350);\n };\n\n if (!isSlidesNavigatorOpen) {\n return null;\n }\n\n return (\n <aside className=\"slides-navigator\">\n <button\n className=\"slides-navigator-add-item\"\n onClick={onAddItemClick}\n title={ADD_SLIDE}\n type=\"button\"\n >\n <icons.plus className=\"slides-navigator-add-item-icon\" />\n <span className=\"slides-navigator-add-item-text\">{ADD_SLIDE}</span>\n </button>\n <SlideItemsList />\n </aside>\n );\n};\n\nexport default SlidesNavigator;\n"],"names":["SlidesNavigator","isSlidesNavigatorOpen","useBuilderStore","state","visiblePageOrder","useTranslatedTexts","ADD_SLIDE","onPageAdd","usePropStore","onAddItemClick","newPageIndex","scrollToTarget","_jsxs","_jsx","icons.plus"],"mappings":";;;;;;;;IAOMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,qBAAqB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,qBAAV;AAAA,GAAN,CAA7C;AACA,MAAMG,gBAAgB,GAAGF,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAV;AAAA,GAAN,CAAxC;;AACA,4BAAsBC,kBAAkB,EAAxC;AAAA,MAAQC,SAAR,uBAAQA,SAAR;;AACA,MAAMC,SAAS,GAAGC,YAAY,CAAC,UAAAL,KAAK;AAAA,WAAIA,KAAK,CAACI,SAAV;AAAA,GAAN,CAA9B;;AAEA,MAAME,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMC,YAAY,GAAGN,gBAAgB,GAAG,CAAxC;AACAG,IAAAA,SAAS,CAACG,YAAD,CAAT;AACAC,IAAAA,cAAc,0BAAmBD,YAAnB,GAAmC,GAAnC,CAAd;AACD,GAJD;;AAMA,MAAI,CAACT,qBAAL,EAA4B;AAC1B,WAAO,IAAP;AACD;;AAED,sBACEW;AAAO,IAAA,SAAS,EAAC,kBAAjB;AAAA,4BACEA;AACE,MAAA,SAAS,EAAC,2BADZ;AAEE,MAAA,OAAO,EAAEH,cAFX;AAGE,MAAA,KAAK,EAAEH,SAHT;AAIE,MAAA,IAAI,EAAC,QAJP;AAAA,8BAMEO,IAACC,OAAD;AAAY,QAAA,SAAS,EAAC;AAAtB,QANF,eAOED;AAAM,QAAA,SAAS,EAAC,gCAAhB;AAAA,kBAAkDP;AAAlD,QAPF;AAAA,MADF,eAUEO,IAAC,cAAD,KAVF;AAAA,IADF;AAcD;;;;"}
1
+ {"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport SlideItemsList from './SlideItemsList';\nimport AddSlideButton from './AddSlideButton';\n\nconst SlidesNavigator = () => {\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n\n if (!isSlidesNavigatorOpen) {\n return null;\n }\n\n return (\n <aside className=\"slides-navigator\">\n <AddSlideButton />\n <SlideItemsList />\n </aside>\n );\n};\n\nexport default SlidesNavigator;\n"],"names":["SlidesNavigator","isSlidesNavigatorOpen","useBuilderStore","state","_jsxs","_jsx"],"mappings":";;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,qBAAqB,GAAGC,eAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,qBAAV;AAAA,GAAN,CAA7C;;AAEA,MAAI,CAACA,qBAAL,EAA4B;AAC1B,WAAO,IAAP;AACD;;AAED,sBACEG;AAAO,IAAA,SAAS,EAAC,kBAAjB;AAAA,4BACEC,IAAC,cAAD,KADF,eAEEA,IAAC,cAAD,KAFF;AAAA,IADF;AAMD;;;;"}
@@ -5,7 +5,7 @@ import SortablePageList from './SortablePageList.js';
5
5
  import Section from '../../Builder/Section.js';
6
6
  import { useBuilderStore } from '../../../contexts/BuilderContext.js';
7
7
  import { usePropStore } from '../../../contexts/PropContext.js';
8
- import { arrayMove, slidesAsPanel } from '../../../utils/functions.js';
8
+ import { arrayMove, isSlidesListType } from '../../../utils/functions.js';
9
9
  import SlidesPanelToggler from './SlidesPanelToggler.js';
10
10
  import ListWrapper from './ListWrapper.js';
11
11
  import { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks.js';
@@ -87,7 +87,7 @@ var SlidesPanel = function SlidesPanel() {
87
87
  var _useTranslatedTexts = useTranslatedTexts(),
88
88
  SLIDES = _useTranslatedTexts.SLIDES;
89
89
 
90
- return slidesAsPanel(slidesListType) ? /*#__PURE__*/jsxs(Panel, {
90
+ return isSlidesListType(slidesListType, 'PANEL') ? /*#__PURE__*/jsxs(Panel, {
91
91
  additionalClassName: panelAdditionalClassName,
92
92
  onAnimationEnd: onAnimationEnd,
93
93
  children: [isRightPanelOpen ? null : /*#__PURE__*/jsx(SlidesPanelToggler, {
@@ -1 +1 @@
1
- {"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, slidesAsPanel } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = () => {\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pages = usePropStore(state => state.pages);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }, [pages, onPageOrdersChange, onAnEventTrigger]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n return (\n slidesAsPanel(slidesListType) ? (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n component={SortablePageList()}\n onSortEnd={onPageSort}\n pageGetter={pageGetter}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n ) : null);\n};\n\nexport default SlidesPanel;\n"],"names":["SlidesPanel","isRightPanelOpen","useBuilderStore","state","isSlidesPanelOpen","setIsSlidesPanelOpen","slidesListType","pages","usePropStore","onPageOrdersChange","onAnEventTrigger","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","slidesAsPanel","_jsxs","_jsx","SortablePageList"],"mappings":"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"}
1
+ {"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, isSlidesListType } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = () => {\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pages = usePropStore(state => state.pages);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }, [pages, onPageOrdersChange, onAnEventTrigger]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n return (\n isSlidesListType(slidesListType, 'PANEL') ? (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n component={SortablePageList()}\n onSortEnd={onPageSort}\n pageGetter={pageGetter}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n ) : null);\n};\n\nexport default SlidesPanel;\n"],"names":["SlidesPanel","isRightPanelOpen","useBuilderStore","state","isSlidesPanelOpen","setIsSlidesPanelOpen","slidesListType","pages","usePropStore","onPageOrdersChange","onAnEventTrigger","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","isSlidesListType","_jsxs","_jsx","SortablePageList"],"mappings":"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"}
@@ -76,6 +76,7 @@
76
76
  &-item {
77
77
  $self: &;
78
78
 
79
+ position: relative;
79
80
  display: flex;
80
81
  flex-direction: row;
81
82
  align-items: center;
@@ -211,6 +212,44 @@
211
212
  color: #FF0000;
212
213
  }
213
214
  }
215
+
216
+ &-button {
217
+ display: flex;
218
+ flex-direction: column;
219
+ align-items: center;
220
+ justify-content: center;
221
+ width: auto;
222
+ height: auto;
223
+ position: absolute;
224
+ top: 8px;
225
+ right: 8px;
226
+ padding: 4px 2px;
227
+ background: #FFFFFF;
228
+ border: 1px solid #E3E5F5;
229
+ color: #979dC6;
230
+ border-radius: 6px;
231
+ box-shadow: 0 2px 6px 0 rgba(84, 95, 111, 0.12), 0 0 1px 0 rgba(37, 45, 91, 0.04);
232
+ cursor: pointer;
233
+ transition: all 0.3s ease;
234
+
235
+ &:hover {
236
+ background: #F5F5F5;
237
+ color: #343C6A;
238
+ border: 1px solid #979DC6;
239
+ transition: all 0.3s ease;
240
+ }
241
+ }
242
+
243
+ @keyframes fadeInTop {
244
+ from {
245
+ opacity: 0;
246
+ transform: translateY(100%);
247
+ }
248
+ to {
249
+ opacity: 1;
250
+ transform: translateY(0);
251
+ }
252
+ }
214
253
  }
215
254
 
216
255
  &-virtuoso-list {
@@ -861,12 +861,11 @@ var getDimensions = function getDimensions(_ref5) {
861
861
  width: width
862
862
  };
863
863
  };
864
- var slidesAsNavigator = function slidesAsNavigator(slidesListType) {
865
- return slidesListType === SLIDES_LIST_TYPE_MAP.NAVIGATOR;
866
- };
867
- var slidesAsPanel = function slidesAsPanel(slidesListType) {
868
- return slidesListType === SLIDES_LIST_TYPE_MAP.PANEL;
864
+ /** @param {'NAVIGATOR' | 'PANEL'} mode */
865
+
866
+ var isSlidesListType = function isSlidesListType(slidesListType, mode) {
867
+ return slidesListType === SLIDES_LIST_TYPE_MAP[mode];
869
868
  };
870
869
 
871
- export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, emptyFunction, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getDimensions, getExactIconType, getFileName, getImageSizes, getItemsInSelectionBox, getMatchesForItem, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, getZoomValue, imageSizeUpdater, isItemInSelectionBox, isSelectedItem, isValidHexColor, moveArrayItem, normalizeHexColor, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, roundPositionValues, safeJSONParse, scrollToTarget, slidesAsNavigator, slidesAsPanel, throttle };
870
+ export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, emptyFunction, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCoordinatesFromMatches, getCorrectDroppedOffsetValue, getDimensions, getExactIconType, getFileName, getImageSizes, getItemsInSelectionBox, getMatchesForItem, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, getZoomValue, imageSizeUpdater, isItemInSelectionBox, isSelectedItem, isSlidesListType, isValidHexColor, moveArrayItem, normalizeHexColor, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, roundPositionValues, safeJSONParse, scrollToTarget, throttle };
872
871
  //# sourceMappingURL=functions.js.map