@jotforminc/dnd-builder 3.5.4 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/lib/cjs/components/Builder/Builder.js +1 -3
- package/lib/cjs/components/Builder/Builder.js.map +1 -1
- package/lib/cjs/components/Builder/BuilderWrapper.js +27 -5
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/PageActions.js +10 -53
- package/lib/cjs/components/Builder/PageActions.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +9 -1
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Builder/SlidesNavigatorToggle.js +41 -0
- package/lib/cjs/components/Builder/SlidesNavigatorToggle.js.map +1 -0
- package/lib/cjs/components/PageItemResizer.js +1 -1
- package/lib/cjs/components/PageItemResizer.js.map +1 -1
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js +4 -6
- package/lib/cjs/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js +1 -1
- package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +257 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +144 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -0
- package/lib/cjs/components/Panels/{AllSlidesPanel/PageItemDragOverlay.js → SlidesNavigator/SlideItemDragOverlay.js} +29 -16
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js +232 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +54 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js +97 -0
- package/lib/cjs/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +6 -17
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/components/ReportWrapper.js +4 -4
- package/lib/cjs/components/ReportWrapper.js.map +1 -1
- package/lib/cjs/constants/panel.js +11 -0
- package/lib/cjs/constants/panel.js.map +1 -0
- package/lib/cjs/constants/texts.js +6 -1
- package/lib/cjs/constants/texts.js.map +1 -1
- package/lib/cjs/contexts/BuilderContext.js +15 -7
- package/lib/cjs/contexts/BuilderContext.js.map +1 -1
- package/lib/cjs/contexts/Providers.js +8 -1
- package/lib/cjs/contexts/Providers.js.map +1 -1
- package/lib/cjs/styles/_jfReportsFloatings.scss +39 -7
- package/lib/cjs/styles/_jfReportsHelpers.scss +1 -1
- package/lib/cjs/styles/_jfReportsMain.scss +8 -0
- package/lib/cjs/styles/_jfReportsPanels.scss +10 -7
- package/lib/cjs/styles/_jfReportsReportItem.scss +2 -2
- package/lib/cjs/styles/_jfReportsSlides.scss +2 -2
- package/lib/cjs/styles/_jfReportsVariables.scss +1 -0
- package/lib/cjs/styles/_jfReportsViewModes.scss +1 -0
- package/lib/cjs/styles/jfReportsBundle.scss +1 -0
- package/lib/cjs/styles/slides-navigator.scss +239 -0
- package/lib/cjs/utils/functions.js +9 -28
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +3 -1
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +0 -2
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/components/Builder/Builder.js +1 -3
- package/lib/esm/components/Builder/Builder.js.map +1 -1
- package/lib/esm/components/Builder/BuilderWrapper.js +28 -6
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/PageActions.js +12 -55
- package/lib/esm/components/Builder/PageActions.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +9 -1
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Builder/SlidesNavigatorToggle.js +39 -0
- package/lib/esm/components/Builder/SlidesNavigatorToggle.js.map +1 -0
- package/lib/esm/components/PageItemResizer.js +1 -1
- package/lib/esm/components/PageItemResizer.js.map +1 -1
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js +5 -7
- package/lib/esm/components/Panels/LeftPanel/LeftPanelOpener.js.map +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js +1 -1
- package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +251 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +138 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js +61 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemDragOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js +226 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItemsList.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +52 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js +91 -0
- package/lib/esm/components/Panels/SlidesNavigator/StaticSlideItem.js.map +1 -0
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +7 -18
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/components/ReportWrapper.js +4 -4
- package/lib/esm/components/ReportWrapper.js.map +1 -1
- package/lib/esm/constants/panel.js +7 -0
- package/lib/esm/constants/panel.js.map +1 -0
- package/lib/esm/constants/texts.js +6 -1
- package/lib/esm/constants/texts.js.map +1 -1
- package/lib/esm/contexts/BuilderContext.js +15 -7
- package/lib/esm/contexts/BuilderContext.js.map +1 -1
- package/lib/esm/contexts/Providers.js +8 -1
- package/lib/esm/contexts/Providers.js.map +1 -1
- package/lib/esm/styles/_jfReportsFloatings.scss +39 -7
- package/lib/esm/styles/_jfReportsHelpers.scss +1 -1
- package/lib/esm/styles/_jfReportsMain.scss +8 -0
- package/lib/esm/styles/_jfReportsPanels.scss +10 -7
- package/lib/esm/styles/_jfReportsReportItem.scss +2 -2
- package/lib/esm/styles/_jfReportsSlides.scss +2 -2
- package/lib/esm/styles/_jfReportsVariables.scss +1 -0
- package/lib/esm/styles/_jfReportsViewModes.scss +1 -0
- package/lib/esm/styles/jfReportsBundle.scss +1 -0
- package/lib/esm/styles/slides-navigator.scss +239 -0
- package/lib/esm/utils/functions.js +8 -27
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/hooks.js +3 -1
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +0 -1
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +3 -1
- package/lib/cjs/assets/svg/all_slides.svg.js +0 -23
- package/lib/cjs/assets/svg/all_slides.svg.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -148
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -29
- package/lib/cjs/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -107
- package/lib/cjs/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js +0 -102
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js +0 -178
- package/lib/cjs/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -95
- package/lib/cjs/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
- package/lib/cjs/components/Panels/AllSlidesPanel/index.js +0 -8
- package/lib/cjs/components/Panels/AllSlidesPanel/index.js.map +0 -1
- package/lib/cjs/components/Settings/Button.js +0 -44
- package/lib/cjs/components/Settings/Button.js.map +0 -1
- package/lib/esm/assets/svg/all_slides.svg.js +0 -21
- package/lib/esm/assets/svg/all_slides.svg.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js +0 -142
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanel.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js +0 -23
- package/lib/esm/components/Panels/AllSlidesPanel/AllSlidesPanelToggler.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js +0 -101
- package/lib/esm/components/Panels/AllSlidesPanel/PageActionsBar.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js +0 -95
- package/lib/esm/components/Panels/AllSlidesPanel/PageItem.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js +0 -48
- package/lib/esm/components/Panels/AllSlidesPanel/PageItemDragOverlay.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js +0 -172
- package/lib/esm/components/Panels/AllSlidesPanel/PageList.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js +0 -89
- package/lib/esm/components/Panels/AllSlidesPanel/PageThumbnailActions.js.map +0 -1
- package/lib/esm/components/Panels/AllSlidesPanel/index.js +0 -3
- package/lib/esm/components/Panels/AllSlidesPanel/index.js.map +0 -1
- package/lib/esm/components/Settings/Button.js +0 -38
- package/lib/esm/components/Settings/Button.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeftPanelOpener.js","sources":["../../../../../src/components/Panels/LeftPanel/LeftPanelOpener.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst LeftPanelToggler = () => {\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const { ADD_ELEMENT } = useTranslatedTexts();\n\n const onOpenLeftPanel = () => {\n setIsLeftPanelOpen(true);\n };\n\n return (\n <>\n <button\n className=\"paneToggler addElementToggle\"\n onClick={onOpenLeftPanel}\n title={ADD_ELEMENT}\n type=\"button\"\n >\n <
|
|
1
|
+
{"version":3,"file":"LeftPanelOpener.js","sources":["../../../../../src/components/Panels/LeftPanel/LeftPanelOpener.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst LeftPanelToggler = () => {\n const setIsLeftPanelOpen = useBuilderStore(state => state.setIsLeftPanelOpen);\n const { ADD_ELEMENT } = useTranslatedTexts();\n\n const onOpenLeftPanel = () => {\n setIsLeftPanelOpen(true);\n };\n\n return (\n <>\n <button\n className=\"paneToggler addElementToggle\"\n onClick={onOpenLeftPanel}\n title={ADD_ELEMENT}\n type=\"button\"\n >\n <icons.plus className=\"jfReportSVG isWhite plus-icon\" />\n </button>\n </>\n );\n};\n\nexport default LeftPanelToggler;\n"],"names":["LeftPanelToggler","setIsLeftPanelOpen","useBuilderStore","state","useTranslatedTexts","ADD_ELEMENT","onOpenLeftPanel","_jsx","icons.plus"],"mappings":";;;;;;;IAIMA,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAMC,kBAAkB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,kBAAV;AAAA,GAAN,CAA1C;;AACA,4BAAwBG,wBAAkB,EAA1C;AAAA,MAAQC,WAAR,uBAAQA,WAAR;;AAEA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5BL,IAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACD,GAFD;;AAIA,sBACEM;AAAA,2BACEA;AACE,MAAA,SAAS,EAAC,8BADZ;AAEE,MAAA,OAAO,EAAED,eAFX;AAGE,MAAA,KAAK,EAAED,WAHT;AAIE,MAAA,IAAI,EAAC,QAJP;AAAA,6BAMEE,eAACC,IAAD;AAAY,QAAA,SAAS,EAAC;AAAtB;AANF;AADF,IADF;AAYD;;;;"}
|
|
@@ -43,7 +43,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
43
43
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
44
44
|
|
|
45
45
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
46
|
-
var exceptionalClasses = ['pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu', 'page-toolbar', 'report-item-toolbar', 'zoom-toolbar', 'controllerItem'];
|
|
46
|
+
var exceptionalClasses = ['pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu', 'page-toolbar', 'report-item-toolbar', 'zoom-toolbar', 'controllerItem', 'slides-navigator-toggle', 'slides-navigator'];
|
|
47
47
|
|
|
48
48
|
var RightPanel = function RightPanel() {
|
|
49
49
|
var activeTab = BuilderContext.useBuilderStore(function (state) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n const [selectedItemID, setSelectedItemID] = useState(null);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n useEffect(() => {\n if (selectedItemID !== selectedItem.id) {\n setSelectedItemID(prev => {\n if (prev) {\n setActiveTab('right', 0);\n }\n return selectedItem.id;\n });\n }\n }, [selectedItem, selectedItemID, setActiveTab]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","useState","selectedItemID","setSelectedItemID","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","useEffect","prev","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn',\n 'paneClose',\n 'paneToggler',\n 'forZoom',\n 'jSheetContextMenu',\n 'page-toolbar',\n 'report-item-toolbar',\n 'zoom-toolbar',\n 'controllerItem',\n 'slides-navigator-toggle',\n 'slides-navigator',\n];\n\nconst RightPanel = () => {\n const activeTab = useBuilderStore(state => state.activeTab);\n const editedElement = useBuilderStore(state => state.editedElement);\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setActiveTab = useBuilderStore(state => state.setActiveTab);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n const clickOutsideIgnoreSelectors = useBuilderStore(state => state.clickOutsideIgnoreSelectors);\n const [selectedItemID, setSelectedItemID] = useState(null);\n\n const acceptedItems = usePropStore(state => state.acceptedItems);\n const layoutSettings = usePropStore(state => state.settings);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onPageChange = usePropStore(state => state.onPageChange);\n const onSettingChange = usePropStore(state => state.onSettingChange);\n const pages = usePropStore(state => state.pages);\n const itemAccessor = usePropStore(state => state.itemAccessor);\n\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n\n const settingMap = useMemo(() => ({\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n const textKey = `${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`;\n return translatedTexts[textKey] || acceptedItems[item.itemType].title;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n }), [\n acceptedItems,\n layoutSettings,\n onItemChange,\n onPageChange,\n onSettingChange,\n translatedTexts,\n pages,\n ]);\n\n const editedEl = useMemo(() => {\n return settingMap[editedElement.substr(0, 2)] || settingMap.l_;\n }, [editedElement, settingMap]);\n\n const {\n element, selectedItem, title, updateFunc,\n } = useMemo(() => {\n const editedElId = editedElement.substr(2);\n const _selectedItem = editedEl.details(editedElId);\n\n if (!_selectedItem) {\n const fallbackEditedEl = settingMap.l_;\n return {\n element: fallbackEditedEl.settings(),\n selectedItem: fallbackEditedEl.details(),\n title: fallbackEditedEl.title(),\n updateFunc: fallbackEditedEl.updater,\n };\n }\n\n return {\n element: editedEl.settings(_selectedItem),\n selectedItem: _selectedItem,\n title: editedEl.title(_selectedItem),\n updateFunc: editedEl.updater,\n };\n }, [editedEl, editedElement, settingMap.l_]);\n\n useEffect(() => {\n if (selectedItemID !== selectedItem.id) {\n setSelectedItemID(prev => {\n if (prev) {\n setActiveTab('right', 0);\n }\n return selectedItem.id;\n });\n }\n }, [selectedItem, selectedItemID, setActiveTab]);\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs, tabsWithSettings, setActiveTab]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = useCallback(e => {\n const isIgnoredBySelector = clickOutsideIgnoreSelectors.some(selector => selector && e.target.closest(selector));\n\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || isIgnoredBySelector\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n resetActiveElements();\n }, [clickOutsideIgnoreSelectors, editedElement, setIsRightPanelOpen, resetActiveElements]);\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen, onClickOutsideForPanel]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nexport default RightPanel;\n"],"names":["exceptionalClasses","RightPanel","activeTab","useBuilderStore","state","editedElement","isRightPanelOpen","isSlidesPanelOpen","resetActiveElements","setActiveTab","setIsRightPanelOpen","clickOutsideIgnoreSelectors","useState","selectedItemID","setSelectedItemID","acceptedItems","usePropStore","layoutSettings","settings","onItemChange","onPageChange","onSettingChange","pages","itemAccessor","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","useMemo","i_","details","id","item","findItemById","itemType","title","textKey","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","substr","editedElId","_selectedItem","fallbackEditedEl","element","selectedItem","updateFunc","useEffect","prev","tabsWithSettings","getTabsWithSettings","tabs","Object","keys","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","useCallback","e","isIgnoredBySelector","some","selector","target","closest","current","contains","document","activeElement","Array","from","classList","xClass","includes","window","addEventListener","removeEventListener","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.array.map.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var react = require('@floating-ui/react');
|
|
6
|
+
var PropTypes = require('prop-types');
|
|
7
|
+
var hooks = require('../../../../utils/hooks.js');
|
|
8
|
+
var PropContext = require('../../../../contexts/PropContext.js');
|
|
9
|
+
var functions = require('../../../../utils/functions.js');
|
|
10
|
+
var BuilderContext = require('../../../../contexts/BuilderContext.js');
|
|
11
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
12
|
+
var plus = require('../../../../assets/svg/plus.svg.js');
|
|
13
|
+
var duplicate = require('../../../../assets/svg/duplicate.svg.js');
|
|
14
|
+
var trash = require('../../../../assets/svg/trash.svg.js');
|
|
15
|
+
|
|
16
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
|
+
|
|
18
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
|
|
28
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
+
|
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
31
|
+
|
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
33
|
+
|
|
34
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
35
|
+
|
|
36
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
|
+
var SlideItemMoreMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
38
|
+
var order = _ref.order,
|
|
39
|
+
page = _ref.page;
|
|
40
|
+
|
|
41
|
+
var _useState = React.useState(false),
|
|
42
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
43
|
+
isOpen = _useState2[0],
|
|
44
|
+
setIsOpen = _useState2[1];
|
|
45
|
+
|
|
46
|
+
var _useState3 = React.useState({
|
|
47
|
+
left: 0,
|
|
48
|
+
top: 0
|
|
49
|
+
}),
|
|
50
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
51
|
+
rectPosition = _useState4[0],
|
|
52
|
+
setRectPosition = _useState4[1];
|
|
53
|
+
|
|
54
|
+
var setVisiblePageOrder = BuilderContext.useBuilderStore(function (state) {
|
|
55
|
+
return state.setVisiblePageOrder;
|
|
56
|
+
});
|
|
57
|
+
var openCardContextMenu = React.useCallback(function (e) {
|
|
58
|
+
var useMousePointer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
59
|
+
if (isOpen) return;
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
var cursorTarget = e.target;
|
|
62
|
+
|
|
63
|
+
var _cursorTarget$getBoun = cursorTarget.getBoundingClientRect(),
|
|
64
|
+
top = _cursorTarget$getBoun.top;
|
|
65
|
+
|
|
66
|
+
var _cursorTarget$getBoun2 = cursorTarget.getBoundingClientRect(),
|
|
67
|
+
left = _cursorTarget$getBoun2.left;
|
|
68
|
+
|
|
69
|
+
if (useMousePointer) {
|
|
70
|
+
top = e.clientY;
|
|
71
|
+
left = e.clientX;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var _window = window,
|
|
75
|
+
innerHeight = _window.innerHeight,
|
|
76
|
+
innerWidth = _window.innerWidth;
|
|
77
|
+
var floatingHeight = 196;
|
|
78
|
+
var floatingWidth = 224;
|
|
79
|
+
var innerLeftDecrement = innerWidth - left > floatingWidth;
|
|
80
|
+
var innerTopDecrement = innerHeight - top > floatingHeight;
|
|
81
|
+
var leftVal = !innerLeftDecrement ? left - floatingWidth : left;
|
|
82
|
+
var topVal = !innerTopDecrement ? top - floatingHeight : top + (!useMousePointer ? 24 : 0);
|
|
83
|
+
setRectPosition({
|
|
84
|
+
left: leftVal,
|
|
85
|
+
top: topVal
|
|
86
|
+
});
|
|
87
|
+
}, [isOpen]);
|
|
88
|
+
var onPageAdd = PropContext.usePropStore(function (state) {
|
|
89
|
+
return state.onPageAdd;
|
|
90
|
+
});
|
|
91
|
+
var onPageDuplicate = PropContext.usePropStore(function (state) {
|
|
92
|
+
return state.onPageDuplicate;
|
|
93
|
+
});
|
|
94
|
+
var onPageRemove = PropContext.usePropStore(function (state) {
|
|
95
|
+
return state.onPageRemove;
|
|
96
|
+
});
|
|
97
|
+
var onAnEventTrigger = PropContext.usePropStore(function (state) {
|
|
98
|
+
return state.onAnEventTrigger;
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
102
|
+
ADD_NEW_SLIDE = _useTranslatedTexts.ADD_NEW_SLIDE,
|
|
103
|
+
DELETE_SLIDE = _useTranslatedTexts.DELETE_SLIDE,
|
|
104
|
+
DUPLICATE_SLIDE = _useTranslatedTexts.DUPLICATE_SLIDE;
|
|
105
|
+
|
|
106
|
+
var _useFloating = react.useFloating({
|
|
107
|
+
middleware: [react.offset({
|
|
108
|
+
crossAxis: 10000,
|
|
109
|
+
mainAxis: 5
|
|
110
|
+
}), react.flip({
|
|
111
|
+
crossAxis: true,
|
|
112
|
+
fallbackAxisSideDirection: 'none'
|
|
113
|
+
}), react.shift(), react.autoPlacement({
|
|
114
|
+
alignment: 'start',
|
|
115
|
+
crossAxis: true
|
|
116
|
+
})],
|
|
117
|
+
onOpenChange: function onOpenChange(nextOpen) {
|
|
118
|
+
setIsOpen(nextOpen);
|
|
119
|
+
},
|
|
120
|
+
open: isOpen,
|
|
121
|
+
placement: 'bottom',
|
|
122
|
+
strategy: 'fixed',
|
|
123
|
+
transform: true,
|
|
124
|
+
whileElementsMounted: react.autoUpdate
|
|
125
|
+
}),
|
|
126
|
+
context = _useFloating.context,
|
|
127
|
+
floatingStyles = _useFloating.floatingStyles,
|
|
128
|
+
refs = _useFloating.refs;
|
|
129
|
+
|
|
130
|
+
var click = react.useClick(context, {
|
|
131
|
+
event: 'click'
|
|
132
|
+
});
|
|
133
|
+
var dismiss = react.useDismiss(context, {
|
|
134
|
+
ancestorScroll: true
|
|
135
|
+
});
|
|
136
|
+
var role = react.useRole(context);
|
|
137
|
+
var focus = react.useFocus(context);
|
|
138
|
+
|
|
139
|
+
var _useInteractions = react.useInteractions([click, dismiss, role, focus]),
|
|
140
|
+
getFloatingProps = _useInteractions.getFloatingProps;
|
|
141
|
+
|
|
142
|
+
var headingId = react.useId();
|
|
143
|
+
var customStyles = {
|
|
144
|
+
boxShadow: '0px 2px 4px 0px rgba(37, 45, 91, 0.04), 0px 8px 16px 0px rgba(84, 95, 111, 0.16)',
|
|
145
|
+
left: rectPosition.left,
|
|
146
|
+
top: rectPosition.top,
|
|
147
|
+
transform: 'translate(9px, 0px)',
|
|
148
|
+
zIndex: '99999'
|
|
149
|
+
};
|
|
150
|
+
var nextPageIndex = order + 1;
|
|
151
|
+
var handleAddNewSlide = React.useCallback(function () {
|
|
152
|
+
onPageAdd(nextPageIndex);
|
|
153
|
+
onAnEventTrigger('addNewPageFromSlides', nextPageIndex);
|
|
154
|
+
setIsOpen(false);
|
|
155
|
+
setTimeout(function () {
|
|
156
|
+
setVisiblePageOrder(nextPageIndex);
|
|
157
|
+
functions.scrollToTarget("pageActions-id-".concat(nextPageIndex), 350);
|
|
158
|
+
}, 100);
|
|
159
|
+
}, [onPageAdd, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
160
|
+
var handleDuplicateSlide = React.useCallback(function () {
|
|
161
|
+
onPageDuplicate(page);
|
|
162
|
+
onAnEventTrigger('duplicatePage', nextPageIndex);
|
|
163
|
+
setIsOpen(false);
|
|
164
|
+
setTimeout(function () {
|
|
165
|
+
setVisiblePageOrder(nextPageIndex);
|
|
166
|
+
functions.scrollToTarget("pageActions-id-".concat(nextPageIndex), 350);
|
|
167
|
+
}, 100);
|
|
168
|
+
}, [onPageDuplicate, page, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);
|
|
169
|
+
var handleDeleteSlide = React.useCallback(function () {
|
|
170
|
+
onPageRemove(page.id);
|
|
171
|
+
onAnEventTrigger('removePageFromSlides', page.id);
|
|
172
|
+
setIsOpen(false);
|
|
173
|
+
setTimeout(function () {
|
|
174
|
+
setVisiblePageOrder(Math.max(order - 1, 1));
|
|
175
|
+
}, 100);
|
|
176
|
+
}, [page, order, onPageRemove, onAnEventTrigger, setVisiblePageOrder]);
|
|
177
|
+
var schemaOptions = React.useMemo(function () {
|
|
178
|
+
return [{
|
|
179
|
+
className: 'slides-navigator-context-menu-item',
|
|
180
|
+
icon: /*#__PURE__*/jsxRuntime.jsx(plus, {
|
|
181
|
+
className: "slides-navigator-context-menu-item-icon"
|
|
182
|
+
}),
|
|
183
|
+
id: 'add_new_slide',
|
|
184
|
+
isVisible: true,
|
|
185
|
+
onClick: handleAddNewSlide,
|
|
186
|
+
textClassName: 'slides-navigator-context-menu-item-text add',
|
|
187
|
+
title: ADD_NEW_SLIDE
|
|
188
|
+
}, {
|
|
189
|
+
className: 'slides-navigator-context-menu-item',
|
|
190
|
+
icon: /*#__PURE__*/jsxRuntime.jsx(duplicate, {
|
|
191
|
+
className: "slides-navigator-context-menu-item-icon"
|
|
192
|
+
}),
|
|
193
|
+
id: 'duplicate_slide',
|
|
194
|
+
isVisible: true,
|
|
195
|
+
onClick: handleDuplicateSlide,
|
|
196
|
+
textClassName: 'slides-navigator-context-menu-item-text duplicate',
|
|
197
|
+
title: DUPLICATE_SLIDE
|
|
198
|
+
}, {
|
|
199
|
+
className: 'slides-navigator-context-menu-item',
|
|
200
|
+
icon: /*#__PURE__*/jsxRuntime.jsx(trash, {
|
|
201
|
+
className: "slides-navigator-context-menu-item-icon delete"
|
|
202
|
+
}),
|
|
203
|
+
id: 'delete_slide',
|
|
204
|
+
isVisible: true,
|
|
205
|
+
onClick: handleDeleteSlide,
|
|
206
|
+
textClassName: 'slides-navigator-context-menu-item-text delete',
|
|
207
|
+
title: DELETE_SLIDE
|
|
208
|
+
}];
|
|
209
|
+
}, [handleAddNewSlide, handleDuplicateSlide, handleDeleteSlide, ADD_NEW_SLIDE, DUPLICATE_SLIDE, DELETE_SLIDE]);
|
|
210
|
+
var handleOpenMenu = React.useCallback(function (e) {
|
|
211
|
+
setIsOpen(true);
|
|
212
|
+
openCardContextMenu(e, true);
|
|
213
|
+
}, [openCardContextMenu]);
|
|
214
|
+
React.useImperativeHandle(ref, function () {
|
|
215
|
+
return {
|
|
216
|
+
handleOpenMenu: handleOpenMenu
|
|
217
|
+
};
|
|
218
|
+
}, [handleOpenMenu]);
|
|
219
|
+
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
220
|
+
children: isOpen && /*#__PURE__*/jsxRuntime.jsx(react.FloatingPortal, {
|
|
221
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
|
|
222
|
+
ref: refs.setFloating,
|
|
223
|
+
alignItems: "start",
|
|
224
|
+
"aria-labelledby": headingId,
|
|
225
|
+
className: "slides-navigator-context-menu",
|
|
226
|
+
direction: "column",
|
|
227
|
+
justifyContent: "start",
|
|
228
|
+
style: _objectSpread(_objectSpread({}, floatingStyles), customStyles)
|
|
229
|
+
}, getFloatingProps()), {}, {
|
|
230
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
231
|
+
className: "slides-navigator-context-menu-items",
|
|
232
|
+
children: schemaOptions.map(function (schemaOption) {
|
|
233
|
+
return schemaOption.isVisible && /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
234
|
+
className: schemaOption.className,
|
|
235
|
+
id: schemaOption.id,
|
|
236
|
+
onClick: schemaOption.onClick,
|
|
237
|
+
type: "button",
|
|
238
|
+
children: [schemaOption.icon, /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
239
|
+
className: " ".concat(schemaOption.textClassName),
|
|
240
|
+
children: schemaOption.title
|
|
241
|
+
})]
|
|
242
|
+
}, schemaOption.id);
|
|
243
|
+
})
|
|
244
|
+
})
|
|
245
|
+
}))
|
|
246
|
+
})
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
SlideItemMoreMenu.propTypes = {
|
|
250
|
+
order: PropTypes__default['default'].number.isRequired,
|
|
251
|
+
page: PropTypes__default['default'].shape({
|
|
252
|
+
id: PropTypes__default['default'].string.isRequired
|
|
253
|
+
}).isRequired
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
module.exports = SlideItemMoreMenu;
|
|
257
|
+
//# sourceMappingURL=SlideItemMoreMenu.js.map
|
|
@@ -0,0 +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 { scrollToTarget } from '../../../../utils/functions';\nimport { useBuilderStore } from '../../../../contexts/BuilderContext';\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 nextPageIndex = order + 1;\n\n const handleAddNewSlide = useCallback(() => {\n onPageAdd(nextPageIndex);\n onAnEventTrigger('addNewPageFromSlides', nextPageIndex);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(nextPageIndex);\n scrollToTarget(`pageActions-id-${nextPageIndex}`, 350);\n }, 100);\n }, [onPageAdd, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDuplicateSlide = useCallback(() => {\n onPageDuplicate(page);\n onAnEventTrigger('duplicatePage', nextPageIndex);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(nextPageIndex);\n scrollToTarget(`pageActions-id-${nextPageIndex}`, 350);\n }, 100);\n }, [onPageDuplicate, page, nextPageIndex, onAnEventTrigger, setVisiblePageOrder]);\n\n const handleDeleteSlide = useCallback(() => {\n onPageRemove(page.id);\n onAnEventTrigger('removePageFromSlides', page.id);\n setIsOpen(false);\n setTimeout(() => {\n setVisiblePageOrder(Math.max(order - 1, 1));\n }, 100);\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":["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","nextPageIndex","handleAddNewSlide","setTimeout","scrollToTarget","handleDuplicateSlide","handleDeleteSlide","id","Math","max","schemaOptions","useMemo","className","icon","_jsx","icons.plus","isVisible","onClick","textClassName","title","icons.duplicate","icons.trash","handleOpenMenu","useImperativeHandle","FloatingPortal","setFloating","map","schemaOption","_jsxs","propTypes","PropTypes","number","isRequired","shape","string"],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/es.object.to-string.js');
|
|
4
|
+
require('core-js/modules/es.regexp.to-string.js');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var framerMotion = require('framer-motion');
|
|
7
|
+
var sortable = require('@dnd-kit/sortable');
|
|
8
|
+
var utilities = require('@dnd-kit/utilities');
|
|
9
|
+
var PropTypes = require('prop-types');
|
|
10
|
+
var StaticSlideItem = require('./StaticSlideItem.js');
|
|
11
|
+
var SlideItemMoreMenu = require('./MoreMenu/SlideItemMoreMenu.js');
|
|
12
|
+
var functions = require('../../../utils/functions.js');
|
|
13
|
+
var BuilderContext = require('../../../contexts/BuilderContext.js');
|
|
14
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
+
|
|
16
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
|
+
|
|
18
|
+
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
var slideRevealTransition = {
|
|
26
|
+
duration: 0.25,
|
|
27
|
+
ease: [0.2, 0, 0.2, 1]
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var SlideItem = function SlideItem(_ref) {
|
|
31
|
+
var id = _ref.id,
|
|
32
|
+
onPageClick = _ref.onPageClick,
|
|
33
|
+
order = _ref.order,
|
|
34
|
+
page = _ref.page,
|
|
35
|
+
reportHeight = _ref.reportHeight,
|
|
36
|
+
reportWidth = _ref.reportWidth,
|
|
37
|
+
style = _ref.style;
|
|
38
|
+
var moreMenuRef = React.useRef(null);
|
|
39
|
+
|
|
40
|
+
var _useSortable = sortable.useSortable({
|
|
41
|
+
id: id
|
|
42
|
+
}),
|
|
43
|
+
attributes = _useSortable.attributes,
|
|
44
|
+
isDragging = _useSortable.isDragging,
|
|
45
|
+
listeners = _useSortable.listeners,
|
|
46
|
+
setNodeRef = _useSortable.setNodeRef,
|
|
47
|
+
transform = _useSortable.transform,
|
|
48
|
+
transition = _useSortable.transition;
|
|
49
|
+
|
|
50
|
+
var selected = BuilderContext.useBuilderStore(React.useCallback(function (state) {
|
|
51
|
+
return state.visiblePageOrder.toString() === order.toString();
|
|
52
|
+
}, [order]));
|
|
53
|
+
var setVisiblePageOrder = BuilderContext.useBuilderStore(function (state) {
|
|
54
|
+
return state.setVisiblePageOrder;
|
|
55
|
+
});
|
|
56
|
+
var itemClickHandler = React.useCallback(function (e) {
|
|
57
|
+
onPageClick === null || onPageClick === void 0 ? void 0 : onPageClick(e);
|
|
58
|
+
setVisiblePageOrder(order);
|
|
59
|
+
}, [order, onPageClick, setVisiblePageOrder]);
|
|
60
|
+
var handleContextMenu = React.useCallback(function (e) {
|
|
61
|
+
var _moreMenuRef$current;
|
|
62
|
+
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
(_moreMenuRef$current = moreMenuRef.current) === null || _moreMenuRef$current === void 0 ? void 0 : _moreMenuRef$current.handleOpenMenu(e);
|
|
65
|
+
}, []);
|
|
66
|
+
var dragStyle = React.useMemo(function () {
|
|
67
|
+
var baseStyle = {
|
|
68
|
+
opacity: isDragging ? 0.5 : 1,
|
|
69
|
+
transform: utilities.CSS.Transform.toString(transform),
|
|
70
|
+
transition: transition
|
|
71
|
+
};
|
|
72
|
+
return _objectSpread(_objectSpread({}, baseStyle), style);
|
|
73
|
+
}, [transform, transition, isDragging, style]);
|
|
74
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread(_objectSpread({
|
|
75
|
+
ref: setNodeRef,
|
|
76
|
+
className: "slides-navigator-item".concat(selected ? ' selected' : ''),
|
|
77
|
+
"data-id": page.id,
|
|
78
|
+
"data-order": order,
|
|
79
|
+
onClick: itemClickHandler,
|
|
80
|
+
onContextMenu: handleContextMenu,
|
|
81
|
+
onKeyDown: functions.emptyFunction,
|
|
82
|
+
style: dragStyle
|
|
83
|
+
}, attributes), listeners), {}, {
|
|
84
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(framerMotion.motion.div, {
|
|
85
|
+
className: "slides-navigator-item-motion",
|
|
86
|
+
initial: {
|
|
87
|
+
opacity: 0.25,
|
|
88
|
+
scale: 0.95
|
|
89
|
+
},
|
|
90
|
+
transition: slideRevealTransition,
|
|
91
|
+
viewport: {
|
|
92
|
+
amount: 0.2,
|
|
93
|
+
once: true
|
|
94
|
+
},
|
|
95
|
+
whileInView: {
|
|
96
|
+
opacity: 1,
|
|
97
|
+
scale: 1
|
|
98
|
+
},
|
|
99
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
100
|
+
className: "slides-navigator-item-order",
|
|
101
|
+
children: order
|
|
102
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
103
|
+
className: "slides-navigator-item-content",
|
|
104
|
+
children: /*#__PURE__*/jsxRuntime.jsx(StaticSlideItem, {
|
|
105
|
+
backgroundColor: page.backgroundColor,
|
|
106
|
+
items: page.items,
|
|
107
|
+
reportHeight: reportHeight,
|
|
108
|
+
reportWidth: reportWidth
|
|
109
|
+
})
|
|
110
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SlideItemMoreMenu, {
|
|
111
|
+
ref: moreMenuRef,
|
|
112
|
+
order: order,
|
|
113
|
+
page: page
|
|
114
|
+
})]
|
|
115
|
+
})
|
|
116
|
+
}));
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
SlideItem.propTypes = {
|
|
120
|
+
id: PropTypes__default['default'].string.isRequired,
|
|
121
|
+
onPageClick: PropTypes__default['default'].func,
|
|
122
|
+
order: PropTypes__default['default'].number,
|
|
123
|
+
page: PropTypes__default['default'].shape({
|
|
124
|
+
backgroundColor: PropTypes__default['default'].string,
|
|
125
|
+
id: PropTypes__default['default'].string.isRequired,
|
|
126
|
+
items: PropTypes__default['default'].arrayOf(PropTypes__default['default'].shape({}))
|
|
127
|
+
}),
|
|
128
|
+
reportHeight: PropTypes__default['default'].number.isRequired,
|
|
129
|
+
reportWidth: PropTypes__default['default'].number.isRequired,
|
|
130
|
+
style: PropTypes__default['default'].shape({
|
|
131
|
+
opacity: PropTypes__default['default'].number,
|
|
132
|
+
transform: PropTypes__default['default'].string,
|
|
133
|
+
transition: PropTypes__default['default'].string
|
|
134
|
+
})
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
function slideItemPropsAreEqual(prevProps, nextProps) {
|
|
138
|
+
return prevProps.id === nextProps.id && prevProps.order === nextProps.order && prevProps.page === nextProps.page && prevProps.reportHeight === nextProps.reportHeight && prevProps.reportWidth === nextProps.reportWidth && prevProps.style === nextProps.style && prevProps.onPageClick === nextProps.onPageClick;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
var SlideItem$1 = /*#__PURE__*/React.memo(SlideItem, slideItemPropsAreEqual);
|
|
142
|
+
|
|
143
|
+
module.exports = SlideItem$1;
|
|
144
|
+
//# sourceMappingURL=SlideItem.js.map
|
|
@@ -0,0 +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 const setVisiblePageOrder = useBuilderStore(state => state.setVisiblePageOrder);\n\n const itemClickHandler = useCallback(e => {\n onPageClick?.(e);\n setVisiblePageOrder(order);\n }, [order, onPageClick, setVisiblePageOrder]);\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","setVisiblePageOrder","itemClickHandler","e","handleContextMenu","preventDefault","current","handleOpenMenu","dragStyle","useMemo","baseStyle","opacity","CSS","Transform","_jsx","emptyFunction","_jsxs","motion","scale","amount","once","backgroundColor","items","propTypes","PropTypes","string","isRequired","func","number","shape","arrayOf","slideItemPropsAreEqual","prevProps","nextProps","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,qBAAqB,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,IADkB;AAE5BC,EAAAA,IAAI,EAAE,CAAC,GAAD,EAAM,CAAN,EAAS,GAAT,EAAc,CAAd;AAFsB,CAA9B;;AAKA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAQZ;AAAA,MAPJC,EAOI,QAPJA,EAOI;AAAA,MANJC,WAMI,QANJA,WAMI;AAAA,MALJC,KAKI,QALJA,KAKI;AAAA,MAJJC,IAII,QAJJA,IAII;AAAA,MAHJC,YAGI,QAHJA,YAGI;AAAA,MAFJC,WAEI,QAFJA,WAEI;AAAA,MADJC,KACI,QADJA,KACI;AACJ,MAAMC,WAAW,GAAGC,YAAM,CAAC,IAAD,CAA1B;;AAEA,qBAOIC,oBAAW,CAAC;AAAET,IAAAA,EAAE,EAAFA;AAAF,GAAD,CAPf;AAAA,MACEU,UADF,gBACEA,UADF;AAAA,MAEEC,UAFF,gBAEEA,UAFF;AAAA,MAGEC,SAHF,gBAGEA,SAHF;AAAA,MAIEC,UAJF,gBAIEA,UAJF;AAAA,MAKEC,SALF,gBAKEA,SALF;AAAA,MAMEC,UANF,gBAMEA,UANF;;AASA,MAAMC,QAAQ,GAAGC,8BAAe,CAC9BC,iBAAW,CACT,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACC,gBAAN,CAAuBC,QAAvB,OAAsCnB,KAAK,CAACmB,QAAN,EAA1C;AAAA,GADI,EAET,CAACnB,KAAD,CAFS,CADmB,CAAhC;AAMA,MAAMoB,mBAAmB,GAAGL,8BAAe,CAAC,UAAAE,KAAK;AAAA,WAAIA,KAAK,CAACG,mBAAV;AAAA,GAAN,CAA3C;AAEA,MAAMC,gBAAgB,GAAGL,iBAAW,CAAC,UAAAM,CAAC,EAAI;AACxCvB,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAGuB,CAAH,CAAX;AACAF,IAAAA,mBAAmB,CAACpB,KAAD,CAAnB;AACD,GAHmC,EAGjC,CAACA,KAAD,EAAQD,WAAR,EAAqBqB,mBAArB,CAHiC,CAApC;AAKA,MAAMG,iBAAiB,GAAGP,iBAAW,CAAC,UAAAM,CAAC,EAAI;AAAA;;AACzCA,IAAAA,CAAC,CAACE,cAAF;AACA,4BAAAnB,WAAW,CAACoB,OAAZ,8EAAqBC,cAArB,CAAoCJ,CAApC;AACD,GAHoC,EAGlC,EAHkC,CAArC;AAKA,MAAMK,SAAS,GAAGC,aAAO,CAAC,YAAM;AAC9B,QAAMC,SAAS,GAAG;AAChBC,MAAAA,OAAO,EAAErB,UAAU,GAAG,GAAH,GAAS,CADZ;AAEhBG,MAAAA,SAAS,EAAEmB,aAAG,CAACC,SAAJ,CAAcb,QAAd,CAAuBP,SAAvB,CAFK;AAGhBC,MAAAA,UAAU,EAAEA;AAHI,KAAlB;AAMA,2CAAYgB,SAAZ,GAA0BzB,KAA1B;AACD,GARwB,EAQtB,CAACQ,SAAD,EAAYC,UAAZ,EAAwBJ,UAAxB,EAAoCL,KAApC,CARsB,CAAzB;AAUA,sBACE6B;AACE,IAAA,GAAG,EAAEtB,UADP;AAEE,IAAA,SAAS,iCAA0BG,QAAQ,GAAG,WAAH,GAAiB,EAAnD,CAFX;AAGE,eAASb,IAAI,CAACH,EAHhB;AAIE,kBAAYE,KAJd;AAKE,IAAA,OAAO,EAAEqB,gBALX;AAME,IAAA,aAAa,EAAEE,iBANjB;AAOE,IAAA,SAAS,EAAEW,uBAPb;AAQE,IAAA,KAAK,EAAEP;AART,KASMnB,UATN,GAUME,SAVN;AAAA,2BAYEyB,gBAACC,mBAAD,CAAQ,GAAR;AACE,MAAA,SAAS,EAAC,8BADZ;AAEE,MAAA,OAAO,EAAE;AAAEN,QAAAA,OAAO,EAAE,IAAX;AAAiBO,QAAAA,KAAK,EAAE;AAAxB,OAFX;AAGE,MAAA,UAAU,EAAE3C,qBAHd;AAIE,MAAA,QAAQ,EAAE;AAAE4C,QAAAA,MAAM,EAAE,GAAV;AAAeC,QAAAA,IAAI,EAAE;AAArB,OAJZ;AAKE,MAAA,WAAW,EAAE;AAAET,QAAAA,OAAO,EAAE,CAAX;AAAcO,QAAAA,KAAK,EAAE;AAArB,OALf;AAAA,8BAOEJ;AAAK,QAAA,SAAS,EAAC,6BAAf;AAAA,kBAA8CjC;AAA9C,QAPF,eAQEiC;AACE,QAAA,SAAS,EAAC,+BADZ;AAAA,+BAGEA,eAAC,eAAD;AACE,UAAA,eAAe,EAAEhC,IAAI,CAACuC,eADxB;AAEE,UAAA,KAAK,EAAEvC,IAAI,CAACwC,KAFd;AAGE,UAAA,YAAY,EAAEvC,YAHhB;AAIE,UAAA,WAAW,EAAEC;AAJf;AAHF,QARF,eAkBE8B,eAAC,iBAAD;AACE,QAAA,GAAG,EAAE5B,WADP;AAEE,QAAA,KAAK,EAAEL,KAFT;AAGE,QAAA,IAAI,EAAEC;AAHR,QAlBF;AAAA;AAZF,KADF;AAuCD,CAvFD;;AAyFAJ,SAAS,CAAC6C,SAAV,GAAsB;AACpB5C,EAAAA,EAAE,EAAE6C,6BAAS,CAACC,MAAV,CAAiBC,UADD;AAEpB9C,EAAAA,WAAW,EAAE4C,6BAAS,CAACG,IAFH;AAGpB9C,EAAAA,KAAK,EAAE2C,6BAAS,CAACI,MAHG;AAIpB9C,EAAAA,IAAI,EAAE0C,6BAAS,CAACK,KAAV,CAAgB;AACpBR,IAAAA,eAAe,EAAEG,6BAAS,CAACC,MADP;AAEpB9C,IAAAA,EAAE,EAAE6C,6BAAS,CAACC,MAAV,CAAiBC,UAFD;AAGpBJ,IAAAA,KAAK,EAAEE,6BAAS,CAACM,OAAV,CAAkBN,6BAAS,CAACK,KAAV,CAAgB,EAAhB,CAAlB;AAHa,GAAhB,CAJc;AASpB9C,EAAAA,YAAY,EAAEyC,6BAAS,CAACI,MAAV,CAAiBF,UATX;AAUpB1C,EAAAA,WAAW,EAAEwC,6BAAS,CAACI,MAAV,CAAiBF,UAVV;AAWpBzC,EAAAA,KAAK,EAAEuC,6BAAS,CAACK,KAAV,CAAgB;AACrBlB,IAAAA,OAAO,EAAEa,6BAAS,CAACI,MADE;AAErBnC,IAAAA,SAAS,EAAE+B,6BAAS,CAACC,MAFA;AAGrB/B,IAAAA,UAAU,EAAE8B,6BAAS,CAACC;AAHD,GAAhB;AAXa,CAAtB;;AAkBA,SAASM,sBAAT,CAAgCC,SAAhC,EAA2CC,SAA3C,EAAsD;AACpD,SAAOD,SAAS,CAACrD,EAAV,KAAiBsD,SAAS,CAACtD,EAA3B,IACFqD,SAAS,CAACnD,KAAV,KAAoBoD,SAAS,CAACpD,KAD5B,IAEFmD,SAAS,CAAClD,IAAV,KAAmBmD,SAAS,CAACnD,IAF3B,IAGFkD,SAAS,CAACjD,YAAV,KAA2BkD,SAAS,CAAClD,YAHnC,IAIFiD,SAAS,CAAChD,WAAV,KAA0BiD,SAAS,CAACjD,WAJlC,IAKFgD,SAAS,CAAC/C,KAAV,KAAoBgD,SAAS,CAAChD,KAL5B,IAMF+C,SAAS,CAACpD,WAAV,KAA0BqD,SAAS,CAACrD,WANzC;AAOD;;AAED,+BAAesD,UAAI,CAACxD,SAAD,EAAYqD,sBAAZ,CAAnB;;;;"}
|