@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.
- package/CHANGELOG.md +8 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js +22 -0
- package/lib/cjs/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/cjs/components/Builder/BuilderWrapper.js +3 -3
- package/lib/cjs/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/cjs/components/Builder/Scene.js +9 -5
- package/lib/cjs/components/Builder/Scene.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js +48 -0
- package/lib/cjs/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +52 -9
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js +20 -0
- package/lib/cjs/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js +11 -5
- package/lib/cjs/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/cjs/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js +1 -1
- package/lib/cjs/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/cjs/styles/slides-navigator.scss +39 -0
- package/lib/cjs/utils/functions.js +5 -7
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/cjs/utils/hooks.js +29 -4
- package/lib/cjs/utils/hooks.js.map +1 -1
- package/lib/cjs/utils/icons.js +2 -0
- package/lib/cjs/utils/icons.js.map +1 -1
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js +20 -0
- package/lib/esm/assets/svg/ellipsis-vertical.svg.js.map +1 -0
- package/lib/esm/components/Builder/BuilderWrapper.js +4 -4
- package/lib/esm/components/Builder/BuilderWrapper.js.map +1 -1
- package/lib/esm/components/Builder/Scene.js +11 -7
- package/lib/esm/components/Builder/Scene.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js +46 -0
- package/lib/esm/components/Panels/SlidesNavigator/AddSlideButton.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js +54 -11
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenu/SlideItemMoreMenu.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js +18 -0
- package/lib/esm/components/Panels/SlidesNavigator/MoreMenuOverlay.js.map +1 -0
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js +11 -5
- package/lib/esm/components/Panels/SlidesNavigator/SlideItem.js.map +1 -1
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js +2 -32
- package/lib/esm/components/Panels/SlidesNavigator/SlidesNavigator.js.map +1 -1
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js +2 -2
- package/lib/esm/components/Panels/SlidesPanel/SlidesPanel.js.map +1 -1
- package/lib/esm/styles/slides-navigator.scss +39 -0
- package/lib/esm/utils/functions.js +5 -6
- package/lib/esm/utils/functions.js.map +1 -1
- package/lib/esm/utils/hooks.js +29 -5
- package/lib/esm/utils/hooks.js.map +1 -1
- package/lib/esm/utils/icons.js +1 -0
- package/lib/esm/utils/icons.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var BuilderContext = require('../../../contexts/BuilderContext.js');
|
|
4
|
-
var hooks = require('../../../utils/hooks.js');
|
|
5
4
|
var SlideItemsList = require('./SlideItemsList.js');
|
|
6
|
-
var
|
|
7
|
-
var functions = require('../../../utils/functions.js');
|
|
5
|
+
var AddSlideButton = require('./AddSlideButton.js');
|
|
8
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var plus = require('../../../assets/svg/plus.svg.js');
|
|
10
7
|
|
|
11
8
|
var SlidesNavigator = function SlidesNavigator() {
|
|
12
9
|
var isSlidesNavigatorOpen = BuilderContext.useBuilderStore(function (state) {
|
|
13
10
|
return state.isSlidesNavigatorOpen;
|
|
14
11
|
});
|
|
15
|
-
var visiblePageOrder = BuilderContext.useBuilderStore(function (state) {
|
|
16
|
-
return state.visiblePageOrder;
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
20
|
-
ADD_SLIDE = _useTranslatedTexts.ADD_SLIDE;
|
|
21
|
-
|
|
22
|
-
var onPageAdd = PropContext.usePropStore(function (state) {
|
|
23
|
-
return state.onPageAdd;
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
var onAddItemClick = function onAddItemClick() {
|
|
27
|
-
var newPageIndex = visiblePageOrder + 1;
|
|
28
|
-
onPageAdd(newPageIndex);
|
|
29
|
-
functions.scrollToTarget("pageActions-id-".concat(newPageIndex), 350);
|
|
30
|
-
};
|
|
31
12
|
|
|
32
13
|
if (!isSlidesNavigatorOpen) {
|
|
33
14
|
return null;
|
|
@@ -35,18 +16,7 @@ var SlidesNavigator = function SlidesNavigator() {
|
|
|
35
16
|
|
|
36
17
|
return /*#__PURE__*/jsxRuntime.jsxs("aside", {
|
|
37
18
|
className: "slides-navigator",
|
|
38
|
-
children: [/*#__PURE__*/jsxRuntime.
|
|
39
|
-
className: "slides-navigator-add-item",
|
|
40
|
-
onClick: onAddItemClick,
|
|
41
|
-
title: ADD_SLIDE,
|
|
42
|
-
type: "button",
|
|
43
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(plus, {
|
|
44
|
-
className: "slides-navigator-add-item-icon"
|
|
45
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
46
|
-
className: "slides-navigator-add-item-text",
|
|
47
|
-
children: ADD_SLIDE
|
|
48
|
-
})]
|
|
49
|
-
}), /*#__PURE__*/jsxRuntime.jsx(SlideItemsList, {})]
|
|
19
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(AddSlideButton, {}), /*#__PURE__*/jsxRuntime.jsx(SlideItemsList, {})]
|
|
50
20
|
});
|
|
51
21
|
};
|
|
52
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport
|
|
1
|
+
{"version":3,"file":"SlidesNavigator.js","sources":["../../../../../src/components/Panels/SlidesNavigator/SlidesNavigator.js"],"sourcesContent":["import { useBuilderStore } from '../../../contexts/BuilderContext';\nimport SlideItemsList from './SlideItemsList';\nimport AddSlideButton from './AddSlideButton';\n\nconst SlidesNavigator = () => {\n const isSlidesNavigatorOpen = useBuilderStore(state => state.isSlidesNavigatorOpen);\n\n if (!isSlidesNavigatorOpen) {\n return null;\n }\n\n return (\n <aside className=\"slides-navigator\">\n <AddSlideButton />\n <SlideItemsList />\n </aside>\n );\n};\n\nexport default SlidesNavigator;\n"],"names":["SlidesNavigator","isSlidesNavigatorOpen","useBuilderStore","state","_jsxs","_jsx"],"mappings":";;;;;;;IAIMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,MAAMC,qBAAqB,GAAGC,8BAAe,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,qBAAV;AAAA,GAAN,CAA7C;;AAEA,MAAI,CAACA,qBAAL,EAA4B;AAC1B,WAAO,IAAP;AACD;;AAED,sBACEG;AAAO,IAAA,SAAS,EAAC,kBAAjB;AAAA,4BACEC,eAAC,cAAD,KADF,eAEEA,eAAC,cAAD,KAFF;AAAA,IADF;AAMD;;;;"}
|
|
@@ -93,7 +93,7 @@ var SlidesPanel = function SlidesPanel() {
|
|
|
93
93
|
var _useTranslatedTexts = hooks.useTranslatedTexts(),
|
|
94
94
|
SLIDES = _useTranslatedTexts.SLIDES;
|
|
95
95
|
|
|
96
|
-
return functions.
|
|
96
|
+
return functions.isSlidesListType(slidesListType, 'PANEL') ? /*#__PURE__*/jsxRuntime.jsxs(Panel, {
|
|
97
97
|
additionalClassName: panelAdditionalClassName,
|
|
98
98
|
onAnimationEnd: onAnimationEnd,
|
|
99
99
|
children: [isRightPanelOpen ? null : /*#__PURE__*/jsxRuntime.jsx(SlidesPanelToggler, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove,
|
|
1
|
+
{"version":3,"file":"SlidesPanel.js","sources":["../../../../../src/components/Panels/SlidesPanel/SlidesPanel.js"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport SortablePageList from './SortablePageList';\nimport Section from '../../Builder/Section';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport { usePropStore } from '../../../contexts/PropContext';\nimport { arrayMove, isSlidesListType } from '../../../utils/functions';\nimport SlidesPanelToggler from './SlidesPanelToggler';\nimport ListWrapper from './ListWrapper';\nimport { useClickOutsideListener, useTranslatedTexts } from '../../../utils/hooks';\n\nconst SlidesPanel = () => {\n const isRightPanelOpen = useBuilderStore(state => state.isRightPanelOpen);\n const isSlidesPanelOpen = useBuilderStore(state => state.isSlidesPanelOpen);\n const setIsSlidesPanelOpen = useBuilderStore(state => state.setIsSlidesPanelOpen);\n const slidesListType = useBuilderStore(state => state.slidesListType);\n\n const pages = usePropStore(state => state.pages);\n const onPageOrdersChange = usePropStore(state => state.onPageOrdersChange);\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n\n const [animationEnd, setAnimationEnd] = useState(true);\n\n const pageGetter = useCallback(index => {\n return pages[index];\n }, [pages]);\n\n const onPageSort = useCallback(({ newIndex, oldIndex }) => {\n const newPageOrders = arrayMove(pages, oldIndex, newIndex).reduce((acc, page, index) => {\n acc[page.id] = { order: index + 1 };\n return acc;\n }, {});\n\n onPageOrdersChange(newPageOrders);\n onAnEventTrigger('sortPageFromSlides');\n }, [pages, onPageOrdersChange, onAnEventTrigger]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSlides f-height',\n {\n isIdle: !isSlidesPanelOpen,\n otherOpened: isRightPanelOpen,\n },\n );\n\n const onClosePanel = () => {\n setAnimationEnd(false);\n setIsSlidesPanelOpen(false);\n };\n\n const onAnimationEnd = useCallback(() => {\n if (!isSlidesPanelOpen) {\n setAnimationEnd(true);\n }\n }, [isSlidesPanelOpen]);\n\n useClickOutsideListener(\n ['jfReport-canvas', 'jfReport-viewport', 'jfReport-pageInfo'],\n isSlidesPanelOpen,\n onClosePanel,\n );\n\n const { SLIDES } = useTranslatedTexts();\n return (\n isSlidesListType(slidesListType, 'PANEL') ? (\n <Panel\n additionalClassName={panelAdditionalClassName}\n onAnimationEnd={onAnimationEnd}\n >\n {isRightPanelOpen\n ? null\n : <SlidesPanelToggler onClosePanel={onClosePanel} />}\n {(isSlidesPanelOpen || (!isSlidesPanelOpen && !animationEnd)) && (\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section\n additionalComponent={null}\n icon=\"slides\"\n title={SLIDES}\n >\n <div className=\"toolItem-tabContent hasInnerScroll\">\n <ListWrapper\n component={SortablePageList()}\n onSortEnd={onPageSort}\n pageGetter={pageGetter}\n />\n </div>\n </Section>\n </div>\n )}\n </Panel>\n ) : null);\n};\n\nexport default SlidesPanel;\n"],"names":["SlidesPanel","isRightPanelOpen","useBuilderStore","state","isSlidesPanelOpen","setIsSlidesPanelOpen","slidesListType","pages","usePropStore","onPageOrdersChange","onAnEventTrigger","useState","animationEnd","setAnimationEnd","pageGetter","useCallback","index","onPageSort","newIndex","oldIndex","newPageOrders","arrayMove","reduce","acc","page","id","order","panelAdditionalClassName","classNames","isIdle","otherOpened","onClosePanel","onAnimationEnd","useClickOutsideListener","useTranslatedTexts","SLIDES","isSlidesListType","_jsxs","_jsx","SortablePageList"],"mappings":"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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 {
|
|
@@ -865,11 +865,10 @@ var getDimensions = function getDimensions(_ref5) {
|
|
|
865
865
|
width: width
|
|
866
866
|
};
|
|
867
867
|
};
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
return slidesListType === panel.SLIDES_LIST_TYPE_MAP.PANEL;
|
|
868
|
+
/** @param {'NAVIGATOR' | 'PANEL'} mode */
|
|
869
|
+
|
|
870
|
+
var isSlidesListType = function isSlidesListType(slidesListType, mode) {
|
|
871
|
+
return slidesListType === panel.SLIDES_LIST_TYPE_MAP[mode];
|
|
873
872
|
};
|
|
874
873
|
|
|
875
874
|
exports.arrayMove = arrayMove;
|
|
@@ -903,6 +902,7 @@ exports.getZoomValue = getZoomValue;
|
|
|
903
902
|
exports.imageSizeUpdater = imageSizeUpdater;
|
|
904
903
|
exports.isItemInSelectionBox = isItemInSelectionBox;
|
|
905
904
|
exports.isSelectedItem = isSelectedItem;
|
|
905
|
+
exports.isSlidesListType = isSlidesListType;
|
|
906
906
|
exports.isValidHexColor = isValidHexColor;
|
|
907
907
|
exports.moveArrayItem = moveArrayItem;
|
|
908
908
|
exports.normalizeHexColor = normalizeHexColor;
|
|
@@ -913,7 +913,5 @@ exports.roundForDecimalPart = roundForDecimalPart;
|
|
|
913
913
|
exports.roundPositionValues = roundPositionValues;
|
|
914
914
|
exports.safeJSONParse = safeJSONParse;
|
|
915
915
|
exports.scrollToTarget = scrollToTarget;
|
|
916
|
-
exports.slidesAsNavigator = slidesAsNavigator;
|
|
917
|
-
exports.slidesAsPanel = slidesAsPanel;
|
|
918
916
|
exports.throttle = throttle;
|
|
919
917
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\nimport objectDiff from './object-diff';\n\n/**\n * Rounds position/dimension values to integers before sending to service\n * This prevents decimal values from being sent when zoom is not 1\n * Should only be used at the final step before service calls\n */\nexport const roundPositionValues = ({\n height,\n left,\n top,\n width,\n ...rest\n}) => ({\n ...rest,\n ...(height !== undefined && { height: Math.round(height) }),\n ...(left !== undefined && { left: Math.round(left) }),\n ...(top !== undefined && { top: Math.round(top) }),\n ...(width !== undefined && { width: Math.round(width) }),\n});\n\nexport const getCorrectDroppedOffsetValue = (finalOffset, initialOffset, dropTargetPosition, zoom = 1) => {\n const { x: finalX, y: finalY } = finalOffset;\n const { x: initialX, y: initialY } = initialOffset;\n\n const newYposition = finalY > initialY\n ? (initialY + (finalY - initialY)) - dropTargetPosition.top\n : initialY - (initialY - finalY) - dropTargetPosition.top;\n\n const newXposition = finalX > initialX\n ? (initialX + (finalX - initialX)) - dropTargetPosition.left\n : initialX - (initialX - finalX) - dropTargetPosition.left;\n\n return {\n left: newXposition / zoom,\n top: newYposition / zoom,\n };\n};\n\nexport const getStyles = (left, top, isDragging) => {\n return {\n height: isDragging ? 0 : '',\n left,\n opacity: isDragging ? 0 : 1,\n position: 'absolute',\n top,\n };\n};\n\nexport const isSelectedItem = (id, activeElements) => {\n return activeElements.includes(id);\n};\n\nexport const findItemById = (itemID, pages) => {\n const page = pages.find(p => p.items.find(item => item.id === itemID));\n if (!page) return null;\n return page.items.find(item => item.id === itemID);\n};\n\nconst traverse = (obj, condition) => condition.split('.').reduce((cur, key) => cur[key], obj);\n\nconst hideOrShowWhen = (selectedItem, setting, itemAccessor) => {\n if (selectedItem.hideSettings && setting.key !== 'showWarning') {\n return false;\n }\n\n if (setting.visible) {\n return typeof setting.visible === 'function'\n ? setting.visible({ item: selectedItem, itemAccessor })\n : !!setting.visible;\n }\n\n if (setting.hideWhen || setting.showWhen) {\n const hideCondition = !!setting.hideWhen === true;\n const conditionType = hideCondition ? 'hideWhen' : 'showWhen';\n const conditions = setting[conditionType];\n\n return Object.keys(conditions).every(conditionKey => {\n const condition = conditions[conditionKey];\n const conditionOfSelectedItem = conditionKey.split('.').length > 1\n ? traverse(selectedItem, conditionKey) : selectedItem[conditionKey];\n\n if (Array.isArray(condition)) {\n const returnValue = condition.includes(conditionOfSelectedItem);\n return hideCondition ? !returnValue : returnValue;\n }\n\n const returnValue = condition === conditionOfSelectedItem;\n return hideCondition ? !returnValue : returnValue;\n });\n }\n\n return true;\n};\n\nexport const getTabsWithSettings = (element, selectedItem, itemAccessor) => {\n const settings = element.settings || element;\n return settings.reduce((tabsWithSettings, setting) => {\n const _tabsWithSettings = tabsWithSettings;\n const defaultItem = element.defaultItem || {};\n const item = { ...defaultItem, ...selectedItem };\n if (hideOrShowWhen(item, setting, itemAccessor)) {\n const settingSection = setting.section || 'GENERAL';\n if (!_tabsWithSettings[settingSection]) {\n _tabsWithSettings[settingSection] = [];\n }\n _tabsWithSettings[settingSection].push(setting);\n }\n return _tabsWithSettings;\n }, {});\n};\n\nexport const getTabsWithElements = leftPanelConfig => {\n return leftPanelConfig.reduce((tabsWithSettings, config) => {\n const _tabsWithSettings = tabsWithSettings;\n const settingSection = config.section || 'GENERAL';\n _tabsWithSettings[settingSection] = config;\n return _tabsWithSettings;\n }, {});\n};\n\nexport const calculateGuidePositions = (dimensions, axis, zoom = 1, direction = null) => {\n const isItem = dimensions && dimensions.id;\n\n if (axis === 'x') {\n const start = dimensions.left;\n const middle = dimensions.left + parseInt(dimensions.width / 2, 10);\n const end = dimensions.left + dimensions.width;\n\n if (isItem) {\n const result = [start, middle, end].map(p => p * zoom);\n if (direction) {\n if (direction === 'bottom') return [];\n if (direction === 'top') return [];\n if (/left/i.test(direction)) return [result[0]];\n if (/right/i.test(direction)) return [result[2]];\n }\n return result;\n }\n return [start, middle, end];\n }\n\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n\n if (isItem) {\n const result = [start, middle, end].map(p => p * zoom);\n if (direction) {\n if (direction === 'left') return [];\n if (direction === 'right') return [];\n if (/top/i.test(direction)) return [result[0]];\n if (/bottom/i.test(direction)) return [result[2]];\n }\n return result;\n }\n return [start, middle, end];\n};\n\nexport const getAllGuidesForGivenAxisExceptActiveBox = (\n allGuides,\n guidesForActiveBoxAlongGivenAxis,\n axis,\n) => {\n const result = Object.keys(allGuides).map(box => {\n const currentBoxGuidesAlongGivenAxis = allGuides[box][axis];\n if (currentBoxGuidesAlongGivenAxis !== guidesForActiveBoxAlongGivenAxis) {\n return currentBoxGuidesAlongGivenAxis;\n }\n return undefined;\n });\n\n return result.filter(guides => guides !== undefined);\n};\n\nexport const checkValueProximities = (activeBoxGuidesInOneAxis, allOtherGuidesInOneAxis) => {\n let proximity = null;\n let intersection = null;\n let matchedArray = [];\n const snapThreshold = 5;\n for (let index = 0; index < allOtherGuidesInOneAxis.length; index += 1) {\n let index2 = 0;\n let index3 = 0;\n\n while (index2 < activeBoxGuidesInOneAxis.length\n && index3 < allOtherGuidesInOneAxis[index].length) {\n const diff = Math.abs(activeBoxGuidesInOneAxis[index2]\n - allOtherGuidesInOneAxis[index][index3]);\n if (diff <= snapThreshold) {\n proximity = { activeBoxIndex: index2, matchedBoxIndex: index3, value: diff };\n matchedArray = allOtherGuidesInOneAxis[index];\n intersection = allOtherGuidesInOneAxis[index][index3];\n }\n\n if (activeBoxGuidesInOneAxis[index2] < allOtherGuidesInOneAxis[index][index3]) {\n index2 += 1;\n } else {\n index3 += 1;\n }\n }\n }\n\n return { intersection, matchedArray, proximity };\n};\n\nexport const proximityListener = (active, allGuides) => {\n const xAxisGuidesForActiveBox = allGuides[active].x;\n const yAxisGuidesForActiveBox = allGuides[active].y;\n const xAxisAllGuides = getAllGuidesForGivenAxisExceptActiveBox(\n allGuides,\n xAxisGuidesForActiveBox,\n 'x',\n );\n const yAxisAllGuides = getAllGuidesForGivenAxisExceptActiveBox(\n allGuides,\n yAxisGuidesForActiveBox,\n 'y',\n );\n const xAxisMatchedGuides = checkValueProximities(xAxisGuidesForActiveBox, xAxisAllGuides);\n const yAxisMatchedGuides = checkValueProximities(yAxisGuidesForActiveBox, yAxisAllGuides);\n\n const allMatchedGuides = {};\n\n if (xAxisMatchedGuides.proximity) {\n allMatchedGuides.x = {\n ...xAxisMatchedGuides,\n activeBoxGuides: xAxisGuidesForActiveBox,\n };\n }\n\n if (yAxisMatchedGuides.proximity) {\n allMatchedGuides.y = {\n ...yAxisMatchedGuides,\n activeBoxGuides: yAxisGuidesForActiveBox,\n };\n }\n\n return allMatchedGuides;\n};\n\nexport const getMatchesForItem = (item, guides, zoom, direction = null) => {\n const pageGuides = guides[item.pageID];\n const _guides = {\n ...pageGuides,\n [item.id]: {\n ...pageGuides[item.id],\n x: calculateGuidePositions(item, 'x', zoom, direction),\n y: calculateGuidePositions(item, 'y', zoom, direction),\n },\n };\n return proximityListener(item.id, _guides);\n};\n\nexport const getCoordinatesFromMatches = (item, matches, zoom = 1) => {\n let newActiveBoxLeft = item.left;\n let newActiveBoxTop = item.top;\n Object.keys(matches).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = matches[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n // proximity.value is in zoomed pixels, divide by zoom to get canvas coordinates\n const adjustedValue = proximity.value / zoom;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = item.left - adjustedValue;\n } else {\n newActiveBoxLeft = item.left + adjustedValue;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = item.top - adjustedValue;\n } else {\n newActiveBoxTop = item.top + adjustedValue;\n }\n });\n\n return {\n left: newActiveBoxLeft,\n top: newActiveBoxTop,\n };\n};\n\nexport const getPosition = e => {\n var posx = 0;\n var posy = 0;\n\n if (e.pageX || e.pageY) {\n posx = e.pageX;\n posy = e.pageY;\n } else if (e.clientX || e.clientY) {\n posx = e.clientX + document.body.scrollLeft\n + document.documentElement.scrollLeft;\n posy = e.clientY + document.body.scrollTop\n + document.documentElement.scrollTop;\n }\n\n return {\n x: posx,\n y: posy,\n };\n};\n\nexport const getContainerPositions = (container, positions) => {\n const windowWidth = global.innerWidth\n || global.document.documentElement.clientWidth\n || global.document.body.clientWidth;\n\n const windowHeight = global.innerHeight\n || global.document.documentElement.clientHeight\n || global.document.body.clientHeight;\n\n const newPosition = { ...positions };\n const {\n height: contextHeight,\n width: contextWidth,\n } = container.getBoundingClientRect();\n\n if (contextWidth + newPosition.x > (windowWidth - 8)) {\n newPosition.x = windowWidth - contextWidth - 5;\n }\n\n if (contextHeight + newPosition.y > (windowHeight - 8)) {\n newPosition.y = windowHeight - contextHeight - 30;\n }\n\n const newPositions = {\n x: newPosition.x += 5,\n y: newPosition.y += 3,\n };\n\n return newPositions;\n};\n\nexport const moveItemInArrayFromIndexToIndex = (array, fromIndex, toIndex) => {\n if (fromIndex === toIndex) return array;\n const newArray = [...array];\n const target = newArray[fromIndex];\n const inc = toIndex < fromIndex ? -1 : 1;\n for (let i = fromIndex; i !== toIndex; i += inc) {\n newArray[i] = newArray[i + inc];\n }\n newArray[toIndex] = target;\n return newArray;\n};\n\nexport const findItemsOnPage = (pageID, pages) => {\n const foundPage = pages.find(page => page.id === pageID);\n if (foundPage && foundPage.items) {\n return foundPage.items;\n }\n return [];\n};\n\n// https://github.com/unclecheese/react-selectable/blob/master/src/doObjectsCollide.js\nconst coordsCollide = (aTop, aLeft, bTop, bLeft, aWidth, aHeight, bWidth, bHeight, tolerance) => {\n const toleranceDistance = (typeof tolerance === 'undefined') ? 0 : tolerance;\n\n return !(\n (((aTop + aHeight) - toleranceDistance) < bTop)\n || ((aTop + toleranceDistance) > (bTop + bHeight))\n || (((aLeft + aWidth) - toleranceDistance) < bLeft)\n || ((aLeft + toleranceDistance) > (bLeft + bWidth))\n );\n};\n\nexport const collisionCheck = (item, items, startIndex, direction) => {\n let colluded = false;\n let currIndex = startIndex;\n while (!colluded && items[currIndex + direction]) {\n currIndex += direction;\n colluded = coordsCollide(\n item.top,\n item.left,\n items[currIndex].top,\n items[currIndex].left,\n item.width,\n item.height,\n items[currIndex].width,\n items[currIndex].height,\n );\n }\n\n if (colluded) {\n return currIndex;\n }\n return null;\n};\n\nexport const moveArrayItem = (array, initialIndex, targetIndex) => {\n // mutates origin array\n array.splice(targetIndex, 0, array.splice(initialIndex, 1)[0]);\n};\n\nexport const getFileName = (url = '') => {\n return url.split('/').pop().split('?')[0];\n};\n\nexport const getImageSizes = (url, callback) => {\n const img = new Image();\n img.addEventListener('load', () => callback(img.width, img.height));\n img.src = url;\n};\n\nexport const getVisibleHeightPx = (element, viewportRect) => {\n const rect = element.getBoundingClientRect();\n const viewportHeight = viewportRect.bottom - viewportRect.top;\n const elRect = {\n bottom: viewportRect.bottom - rect.bottom,\n height: rect.bottom - rect.top,\n top: rect.top - viewportRect.top,\n };\n const visible = {\n bottom: elRect.bottom > 0 && elRect.bottom < viewportHeight,\n top: elRect.top >= 0 && elRect.top < viewportHeight,\n };\n let px = 0;\n if (visible.top && visible.bottom) {\n px = elRect.height;\n } else if (visible.top) {\n px = viewportHeight - elRect.top;\n } else if (visible.bottom) {\n px = elRect.height + elRect.top;\n } else if (elRect.height > viewportHeight && elRect.top < 0) {\n var absTop = Math.abs(elRect.top);\n if (absTop < elRect.height) {\n px = elRect.height - absTop;\n }\n }\n\n return { ...visible, px };\n};\n\nexport const getMostVisiblePage = (onlyId = false) => {\n const viewport = document.querySelector('.jfReport-viewport');\n if (viewport) {\n const viewportRect = viewport.getBoundingClientRect();\n const elements = Array.from(document.querySelectorAll('.jfReport-page'));\n const calculations = elements.reduce((acc, element) => {\n acc[element.getAttribute('data-id')] = getVisibleHeightPx(element, viewportRect);\n return acc;\n }, {});\n const pageID = Object.keys(calculations)\n .sort((p, n) => calculations[n].px - calculations[p].px)[0];\n if (onlyId) {\n return pageID;\n }\n return {\n attr: calculations[pageID],\n id: pageID,\n };\n }\n return false;\n};\n\nconst getAvailableInitialY = (page, attribute, zoom) => {\n const rect = page.getBoundingClientRect();\n const pageHeight = rect.bottom - rect.top;\n if (attribute.top) return 0;\n const originalPageHeight = pageHeight * (1 / zoom);\n const originalVisibleHeight = attribute.px * (1 / zoom);\n return (originalPageHeight - originalVisibleHeight);\n};\n\nexport const getAvailableCoordinate = (page, zoom) => {\n const isExistsPage = document.querySelector(`.jfReport-page[data-id=\"${page.id}\"]`);\n if (!isExistsPage) return [0, 0];\n\n // First get initial y for scrolled page\n const initialY = getAvailableInitialY(isExistsPage, page.attr, zoom);\n\n const pageItems = isExistsPage.querySelectorAll('.reportItemWrapper');\n if (!pageItems.length) return [0, initialY];\n\n // Then get available space if there any items\n return [...pageItems].reduce((accum, item) => {\n const _accum = accum;\n const { style: { left, top } } = item;\n const coordinate = [parseInt(left, 10), parseInt(top, 10)];\n if (_accum[0] === coordinate[0] && _accum[1] === coordinate[1]) {\n _accum[0] = _accum[0] + 50;\n _accum[1] = _accum[1] + 50;\n }\n return _accum;\n }, [0, initialY]);\n};\n\nexport function safeJSONParse(str, defVal = {}) {\n if (str) {\n try {\n return JSON.parse(str);\n } catch (ex) {\n return defVal;\n }\n } else {\n return defVal;\n }\n}\n\n/* View in fullscreen */\nexport const openFullscreenHelper = (elem = document.documentElement) => {\n if (elem.requestFullscreen) {\n return elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) { /* Firefox */\n return elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\n return elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\n return elem.msRequestFullscreen();\n }\n return Promise.resolve();\n};\n\n/* Close fullscreen */\nexport const closeFullscreen = () => {\n if (document.fullscreenElement\n || document.webkitFullscreenElement\n || document.mozFullScreenElement) {\n if (document.exitFullscreen) {\n return document.exitFullscreen();\n } else if (document.mozCancelFullScreen) { /* Firefox */\n return document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */\n return document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) { /* IE/Edge */\n return document.msExitFullscreen();\n }\n }\n return Promise.resolve();\n};\n\nexport const imageSizeUpdater = (item, { objectURL, url }, updateFunc) => {\n const MAX_WIDTH = 700;\n const MAX_HEIGHT = 600;\n const image = new global.Image();\n image.src = objectURL || url;\n\n image.onerror = () => {\n updateFunc(item, { url });\n };\n\n image.onload = () => {\n const { naturalHeight, naturalWidth } = image;\n let _width = naturalWidth;\n let _height = naturalHeight;\n\n if (naturalWidth > MAX_WIDTH) {\n _height = parseInt((MAX_WIDTH * naturalHeight) / naturalWidth, 10);\n _width = MAX_WIDTH;\n }\n\n if (_height > MAX_HEIGHT) {\n _width = parseInt((_width * MAX_HEIGHT) / _height, 10);\n _height = MAX_HEIGHT;\n }\n\n if (objectURL) {\n URL.revokeObjectURL(objectURL);\n }\n\n updateFunc(\n item, {\n height: _height,\n url: url,\n width: _width,\n },\n );\n };\n};\n\nexport const onChangeFunction = (\n config,\n updateFunc,\n selectedItem,\n customUpdater,\n) => (item, setting) => {\n if (config && config.ifValueEquals) {\n const value = setting[config.key];\n if (config.ifValueEquals[value]) {\n const settingsWillBeChanged = Object.keys(config.ifValueEquals[value])\n .reduce(\n (newSettings,\n settingKey) => {\n const { ifIsEqualPreviousValue } = config.ifValueEquals[value][settingKey];\n const { cast } = config.ifValueEquals[value][settingKey];\n let { value: newSetting } = config.ifValueEquals[value][settingKey];\n const _newSettings = newSettings;\n if (typeof newSetting !== 'string') {\n _newSettings[settingKey] = newSetting;\n return _newSettings;\n }\n const matches = newSetting.match(/{.+?}/g);\n if (matches && matches.length > 0) {\n newSetting = matches.reduce((acc, curr) => {\n let _acc = acc;\n const newValue = selectedItem[\n curr.replace(/\\{|\\}/gi, '')\n ];\n _acc = newSetting.replace(curr, newValue);\n if (cast && cast === 'integer') {\n return parseInt(_acc, 10);\n }\n return _acc;\n }, newSetting);\n }\n if (ifIsEqualPreviousValue && ifIsEqualPreviousValue !== selectedItem[settingKey]) {\n return _newSettings;\n }\n _newSettings[settingKey] = newSetting;\n return _newSettings;\n }, {},\n );\n if (customUpdater) {\n customUpdater(item, {\n ...setting,\n ...settingsWillBeChanged,\n }, updateFunc);\n } else {\n updateFunc(item, {\n ...setting,\n ...settingsWillBeChanged,\n });\n }\n } else if (customUpdater) {\n customUpdater(item, setting, updateFunc);\n } else {\n updateFunc(item, setting);\n }\n } else if (config.useImageSizeUpdate) {\n imageSizeUpdater(item, setting, updateFunc);\n } else if (customUpdater) {\n customUpdater(item, setting, updateFunc);\n } else {\n updateFunc(item, setting);\n }\n};\n\nexport const exportPagesAsJSON = (acceptedItems, pages) => {\n const newPages = pages.map(page => {\n const items = page.items.map(pageItem => {\n const { details } = acceptedItems[pageItem.itemType];\n return {\n ...objectDiff(details, pageItem),\n type: details.itemType,\n };\n });\n return {\n items,\n type: 'regular',\n };\n });\n return JSON.stringify(newPages, null, 2);\n};\n\nexport const getExactIconType = iconType => {\n if (iconType.indexOf('_') > -1) {\n const splitIconType = iconType.split('_');\n return splitIconType[0] + splitIconType[1].charAt(0).toUpperCase() + splitIconType[1].slice(1);\n }\n return iconType;\n};\n\nexport function clipBoardHelper(string = '') {\n const urlElement = document.createElement('textarea');\n urlElement.value = string;\n document.body.appendChild(urlElement);\n urlElement.select();\n document.execCommand('Copy');\n document.body.removeChild(urlElement);\n}\n\nconst arrayMoveMutate = (array, from, to) => {\n const startIndex = from < 0 ? array.length + from : from;\n\n if (startIndex >= 0 && startIndex < array.length) {\n const endIndex = to < 0 ? array.length + to : to;\n\n const [item] = array.splice(from, 1);\n array.splice(endIndex, 0, item);\n }\n};\n\nexport const arrayMove = (array, from, to) => {\n const newArray = [...array];\n arrayMoveMutate(newArray, from, to);\n return newArray;\n};\n\nexport const getZoomValue = ({\n isFullscreen,\n limitZoom,\n settings,\n useFixedPresentationBar,\n useProgressBar,\n}) => {\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n const { innerHeight, innerWidth } = window;\n\n let paddingValue = 0;\n\n if (!isFullscreen) { // We are not using fixed bar in fullscreen\n const padFixedBar = useFixedPresentationBar ? 50 : 0;\n const padProgressBar = useProgressBar ? 3 : 0;\n\n paddingValue += (padFixedBar + padProgressBar);\n }\n\n const _innerHeight = innerHeight - paddingValue;\n\n let newScale = Math.min(\n (innerWidth - (limitZoom ? 400 : 0)) / reportLayoutWidth,\n _innerHeight / reportLayoutHeight,\n );\n\n if (limitZoom) {\n newScale = Math.floor(newScale * 10) / 10;\n } else {\n // We need this to prevent scrollbars\n newScale = Math.floor(newScale * 100) / 100;\n }\n\n let newZoom = Number(newScale.toFixed(2));\n\n if (limitZoom && newZoom < 0.5) newZoom = 0.5;\n if (limitZoom && newZoom > 1) newZoom = 1;\n\n return newZoom;\n};\n\nexport const throttle = (fn, delay) => {\n let lastCall = 0;\n return (...args) => {\n const now = (new Date()).getTime();\n if (now - lastCall < delay) {\n return;\n }\n lastCall = now;\n return fn(...args);\n };\n};\n\nexport const roundForDecimalPart = num => {\n return +(`${Math.round(`${num}e+2`)}e-2`);\n};\n\nexport const changePage = ({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n}) => () => {\n if (currentPage + action > pageCount) {\n setCurrentPage(1);\n } else if (currentPage + action === 0) {\n setCurrentPage(pageCount);\n } else {\n setCurrentPage(currentPage + action);\n }\n};\n\nexport const getScaleForPageThumbnail = (width, height) => {\n const [thumbnailMaxHeight, thumbnailMaxWidth] = [110, 156];\n const scale = thumbnailMaxHeight / height;\n if (Math.ceil(width * scale) >= thumbnailMaxWidth) {\n const newScale = thumbnailMaxWidth / width;\n return {\n left: 0,\n scale: newScale,\n top: thumbnailMaxHeight > height * newScale\n ? (thumbnailMaxHeight - (height * newScale)) / 2 : 0,\n };\n }\n return {\n left: thumbnailMaxWidth > width * scale\n ? (thumbnailMaxWidth - (width * scale)) / 2 : 0,\n scale,\n top: 0,\n };\n};\n\nexport const getScaleForPageThumbnailLarge = (width, height) => {\n const thumbnailMaxHeight = 134;\n const thumbnailMaxWidth = 190;\n const defaultScaleRatio = thumbnailMaxHeight / height;\n if (width * defaultScaleRatio > thumbnailMaxWidth) {\n return thumbnailMaxWidth / width;\n }\n return defaultScaleRatio;\n};\n\nexport const scrollToTarget = (id, timeout = 0, options = { behavior: 'smooth' }) => {\n setTimeout(() => {\n const target = document.getElementById(id);\n if (target) {\n target.scrollIntoView(options);\n }\n }, timeout);\n};\n\nexport function normalizeHexColor(value) {\n let v = value.trim();\n if (!v.startsWith('#')) v = `#${v}`;\n return v;\n}\n\nexport function isValidHexColor(value) {\n return /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);\n}\n\nexport const emptyFunction = f => f;\n\nexport const isItemInSelectionBox = (selectionBox, item, zoom = 1) => {\n const boxLeft = Math.min(selectionBox.startX, selectionBox.endX);\n const boxTop = Math.min(selectionBox.startY, selectionBox.endY);\n const boxRight = Math.max(selectionBox.startX, selectionBox.endX);\n const boxBottom = Math.max(selectionBox.startY, selectionBox.endY);\n\n const itemLeft = item.left * zoom;\n const itemTop = item.top * zoom;\n const itemRight = (item.left + item.width) * zoom;\n const itemBottom = (item.top + item.height) * zoom;\n\n // Check if rectangles intersect\n return !(\n boxRight < itemLeft\n || boxLeft > itemRight\n || boxBottom < itemTop\n || boxTop > itemBottom\n );\n};\n\nexport const getItemsInSelectionBox = (selectionBox, items, zoom = 1) => {\n return items\n .filter(item => !item.isLocked && isItemInSelectionBox(selectionBox, item, zoom))\n .map(item => item.id);\n};\n\nexport const getDimensions = ({\n height, left, top, width,\n}) => {\n return {\n height,\n left,\n top,\n width,\n };\n};\n\nexport const slidesAsNavigator = slidesListType => {\n return slidesListType === SLIDES_LIST_TYPE_MAP.NAVIGATOR;\n};\n\nexport const slidesAsPanel = slidesListType => {\n return slidesListType === SLIDES_LIST_TYPE_MAP.PANEL;\n};\n"],"names":["roundPositionValues","height","left","top","width","rest","undefined","Math","round","getCorrectDroppedOffsetValue","finalOffset","initialOffset","dropTargetPosition","zoom","finalX","x","finalY","y","initialX","initialY","newYposition","newXposition","getStyles","isDragging","opacity","position","isSelectedItem","id","activeElements","includes","findItemById","itemID","pages","page","find","p","items","item","traverse","obj","condition","split","reduce","cur","key","hideOrShowWhen","selectedItem","setting","itemAccessor","hideSettings","visible","hideWhen","showWhen","hideCondition","conditionType","conditions","Object","keys","every","conditionKey","conditionOfSelectedItem","length","Array","isArray","returnValue","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","direction","isItem","start","middle","parseInt","end","result","map","test","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","box","currentBoxGuidesAlongGivenAxis","filter","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getMatchesForItem","pageGuides","pageID","_guides","getCoordinatesFromMatches","matches","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","adjustedValue","getPosition","e","posx","posy","pageX","pageY","clientX","clientY","document","body","scrollLeft","documentElement","scrollTop","getContainerPositions","container","positions","windowWidth","global","innerWidth","clientWidth","windowHeight","innerHeight","clientHeight","newPosition","getBoundingClientRect","contextHeight","contextWidth","newPositions","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","colluded","currIndex","moveArrayItem","array","initialIndex","targetIndex","splice","getFileName","url","pop","getImageSizes","callback","img","Image","addEventListener","src","getVisibleHeightPx","viewportRect","rect","viewportHeight","bottom","elRect","px","absTop","getMostVisiblePage","onlyId","viewport","querySelector","elements","from","querySelectorAll","calculations","acc","getAttribute","sort","n","attr","getAvailableInitialY","attribute","pageHeight","originalPageHeight","originalVisibleHeight","getAvailableCoordinate","isExistsPage","pageItems","accum","_accum","style","coordinate","safeJSONParse","str","defVal","JSON","parse","ex","openFullscreenHelper","elem","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","Promise","resolve","closeFullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","imageSizeUpdater","updateFunc","objectURL","MAX_WIDTH","MAX_HEIGHT","image","onerror","onload","naturalHeight","naturalWidth","_width","_height","URL","revokeObjectURL","onChangeFunction","customUpdater","ifValueEquals","settingsWillBeChanged","newSettings","settingKey","ifIsEqualPreviousValue","cast","newSetting","_newSettings","match","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","indexOf","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","newArray","getZoomValue","isFullscreen","limitZoom","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","scrollToTarget","timeout","options","behavior","setTimeout","target","getElementById","scrollIntoView","normalizeHexColor","v","trim","startsWith","isValidHexColor","emptyFunction","f","isItemInSelectionBox","selectionBox","boxLeft","startX","endX","boxTop","startY","endY","boxRight","max","boxBottom","itemLeft","itemTop","itemRight","itemBottom","getItemsInSelectionBox","isLocked","getDimensions","slidesAsNavigator","slidesListType","SLIDES_LIST_TYPE_MAP","NAVIGATOR","slidesAsPanel","PANEL"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA;AACA;AACA;AACA;;IACaA,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,MACjCC,MADiC,QACjCA,MADiC;AAAA,MAEjCC,IAFiC,QAEjCA,IAFiC;AAAA,MAGjCC,GAHiC,QAGjCA,GAHiC;AAAA,MAIjCC,KAJiC,QAIjCA,KAJiC;AAAA,MAK9BC,IAL8B;;AAAA,mFAO9BA,IAP8B,GAQ7BJ,MAAM,KAAKK,SAAX,IAAwB;AAAEL,IAAAA,MAAM,EAAEM,IAAI,CAACC,KAAL,CAAWP,MAAX;AAAV,GARK,GAS7BC,IAAI,KAAKI,SAAT,IAAsB;AAAEJ,IAAAA,IAAI,EAAEK,IAAI,CAACC,KAAL,CAAWN,IAAX;AAAR,GATO,GAU7BC,GAAG,KAAKG,SAAR,IAAqB;AAAEH,IAAAA,GAAG,EAAEI,IAAI,CAACC,KAAL,CAAWL,GAAX;AAAP,GAVQ,GAW7BC,KAAK,KAAKE,SAAV,IAAuB;AAAEF,IAAAA,KAAK,EAAEG,IAAI,CAACC,KAAL,CAAWJ,KAAX;AAAT,GAXM;AAAA;IActBK,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,WAAD,EAAcC,aAAd,EAA6BC,kBAA7B,EAA8D;AAAA,MAAbC,IAAa,uEAAN,CAAM;AACxG,MAAWC,MAAX,GAAiCJ,WAAjC,CAAQK,CAAR;AAAA,MAAsBC,MAAtB,GAAiCN,WAAjC,CAAmBO,CAAnB;AACA,MAAWC,QAAX,GAAqCP,aAArC,CAAQI,CAAR;AAAA,MAAwBI,QAAxB,GAAqCR,aAArC,CAAqBM,CAArB;AAEA,MAAMG,YAAY,GAAGJ,MAAM,GAAGG,QAAT,GAChBA,QAAQ,IAAIH,MAAM,GAAGG,QAAb,CAAT,GAAmCP,kBAAkB,CAACT,GADrC,GAEjBgB,QAAQ,IAAIA,QAAQ,GAAGH,MAAf,CAAR,GAAiCJ,kBAAkB,CAACT,GAFxD;AAIA,MAAMkB,YAAY,GAAGP,MAAM,GAAGI,QAAT,GAChBA,QAAQ,IAAIJ,MAAM,GAAGI,QAAb,CAAT,GAAmCN,kBAAkB,CAACV,IADrC,GAEjBgB,QAAQ,IAAIA,QAAQ,GAAGJ,MAAf,CAAR,GAAiCF,kBAAkB,CAACV,IAFxD;AAIA,SAAO;AACLA,IAAAA,IAAI,EAAEmB,YAAY,GAAGR,IADhB;AAELV,IAAAA,GAAG,EAAEiB,YAAY,GAAGP;AAFf,GAAP;AAID;IAEYS,SAAS,GAAG,SAAZA,SAAY,CAACpB,IAAD,EAAOC,GAAP,EAAYoB,UAAZ,EAA2B;AAClD,SAAO;AACLtB,IAAAA,MAAM,EAAEsB,UAAU,GAAG,CAAH,GAAO,EADpB;AAELrB,IAAAA,IAAI,EAAJA,IAFK;AAGLsB,IAAAA,OAAO,EAAED,UAAU,GAAG,CAAH,GAAO,CAHrB;AAILE,IAAAA,QAAQ,EAAE,UAJL;AAKLtB,IAAAA,GAAG,EAAHA;AALK,GAAP;AAOD;IAEYuB,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD,EAAKC,cAAL,EAAwB;AACpD,SAAOA,cAAc,CAACC,QAAf,CAAwBF,EAAxB,CAAP;AACD;IAEYG,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAASC,KAAT,EAAmB;AAC7C,MAAMC,IAAI,GAAGD,KAAK,CAACE,IAAN,CAAW,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,KAAF,CAAQF,IAAR,CAAa,UAAAG,IAAI;AAAA,aAAIA,IAAI,CAACV,EAAL,KAAYI,MAAhB;AAAA,KAAjB,CAAJ;AAAA,GAAZ,CAAb;AACA,MAAI,CAACE,IAAL,EAAW,OAAO,IAAP;AACX,SAAOA,IAAI,CAACG,KAAL,CAAWF,IAAX,CAAgB,UAAAG,IAAI;AAAA,WAAIA,IAAI,CAACV,EAAL,KAAYI,MAAhB;AAAA,GAApB,CAAP;AACD;;AAED,IAAMO,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAMC,SAAN;AAAA,SAAoBA,SAAS,CAACC,KAAV,CAAgB,GAAhB,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMC,GAAN;AAAA,WAAcD,GAAG,CAACC,GAAD,CAAjB;AAAA,GAA5B,EAAoDL,GAApD,CAApB;AAAA,CAAjB;;AAEA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAACC,YAAD,EAAeC,OAAf,EAAwBC,YAAxB,EAAyC;AAC9D,MAAIF,YAAY,CAACG,YAAb,IAA6BF,OAAO,CAACH,GAAR,KAAgB,aAAjD,EAAgE;AAC9D,WAAO,KAAP;AACD;;AAED,MAAIG,OAAO,CAACG,OAAZ,EAAqB;AACnB,WAAO,OAAOH,OAAO,CAACG,OAAf,KAA2B,UAA3B,GACHH,OAAO,CAACG,OAAR,CAAgB;AAAEb,MAAAA,IAAI,EAAES,YAAR;AAAsBE,MAAAA,YAAY,EAAZA;AAAtB,KAAhB,CADG,GAEH,CAAC,CAACD,OAAO,CAACG,OAFd;AAGD;;AAED,MAAIH,OAAO,CAACI,QAAR,IAAoBJ,OAAO,CAACK,QAAhC,EAA0C;AACxC,QAAMC,aAAa,GAAG,CAAC,CAACN,OAAO,CAACI,QAAV,KAAuB,IAA7C;AACA,QAAMG,aAAa,GAAGD,aAAa,GAAG,UAAH,GAAgB,UAAnD;AACA,QAAME,UAAU,GAAGR,OAAO,CAACO,aAAD,CAA1B;AAEA,WAAOE,MAAM,CAACC,IAAP,CAAYF,UAAZ,EAAwBG,KAAxB,CAA8B,UAAAC,YAAY,EAAI;AACnD,UAAMnB,SAAS,GAAGe,UAAU,CAACI,YAAD,CAA5B;AACA,UAAMC,uBAAuB,GAAGD,YAAY,CAAClB,KAAb,CAAmB,GAAnB,EAAwBoB,MAAxB,GAAiC,CAAjC,GAC5BvB,QAAQ,CAACQ,YAAD,EAAea,YAAf,CADoB,GACWb,YAAY,CAACa,YAAD,CADvD;;AAGA,UAAIG,KAAK,CAACC,OAAN,CAAcvB,SAAd,CAAJ,EAA8B;AAC5B,YAAMwB,YAAW,GAAGxB,SAAS,CAACX,QAAV,CAAmB+B,uBAAnB,CAApB;;AACA,eAAOP,aAAa,GAAG,CAACW,YAAJ,GAAkBA,YAAtC;AACD;;AAED,UAAMA,WAAW,GAAGxB,SAAS,KAAKoB,uBAAlC;AACA,aAAOP,aAAa,GAAG,CAACW,WAAJ,GAAkBA,WAAtC;AACD,KAZM,CAAP;AAaD;;AAED,SAAO,IAAP;AACD,CAhCD;;IAkCaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD,EAAUpB,YAAV,EAAwBE,YAAxB,EAAyC;AAC1E,MAAMmB,QAAQ,GAAGD,OAAO,CAACC,QAAR,IAAoBD,OAArC;AACA,SAAOC,QAAQ,CAACzB,MAAT,CAAgB,UAAC0B,gBAAD,EAAmBrB,OAAnB,EAA+B;AACpD,QAAMsB,iBAAiB,GAAGD,gBAA1B;AACA,QAAME,WAAW,GAAGJ,OAAO,CAACI,WAAR,IAAuB,EAA3C;;AACA,QAAMjC,IAAI,mCAAQiC,WAAR,GAAwBxB,YAAxB,CAAV;;AACA,QAAID,cAAc,CAACR,IAAD,EAAOU,OAAP,EAAgBC,YAAhB,CAAlB,EAAiD;AAC/C,UAAMuB,cAAc,GAAGxB,OAAO,CAACyB,OAAR,IAAmB,SAA1C;;AACA,UAAI,CAACH,iBAAiB,CAACE,cAAD,CAAtB,EAAwC;AACtCF,QAAAA,iBAAiB,CAACE,cAAD,CAAjB,GAAoC,EAApC;AACD;;AACDF,MAAAA,iBAAiB,CAACE,cAAD,CAAjB,CAAkCE,IAAlC,CAAuC1B,OAAvC;AACD;;AACD,WAAOsB,iBAAP;AACD,GAZM,EAYJ,EAZI,CAAP;AAaD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,eAAe,EAAI;AACpD,SAAOA,eAAe,CAACjC,MAAhB,CAAuB,UAAC0B,gBAAD,EAAmBQ,MAAnB,EAA8B;AAC1D,QAAMP,iBAAiB,GAAGD,gBAA1B;AACA,QAAMG,cAAc,GAAGK,MAAM,CAACJ,OAAP,IAAkB,SAAzC;AACAH,IAAAA,iBAAiB,CAACE,cAAD,CAAjB,GAAoCK,MAApC;AACA,WAAOP,iBAAP;AACD,GALM,EAKJ,EALI,CAAP;AAMD;IAEYQ,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,UAAD,EAAaC,IAAb,EAAkD;AAAA,MAA/BlE,IAA+B,uEAAxB,CAAwB;AAAA,MAArBmE,SAAqB,uEAAT,IAAS;AACvF,MAAMC,MAAM,GAAGH,UAAU,IAAIA,UAAU,CAACnD,EAAxC;;AAEA,MAAIoD,IAAI,KAAK,GAAb,EAAkB;AAChB,QAAMG,MAAK,GAAGJ,UAAU,CAAC5E,IAAzB;;AACA,QAAMiF,OAAM,GAAGL,UAAU,CAAC5E,IAAX,GAAkBkF,QAAQ,CAACN,UAAU,CAAC1E,KAAX,GAAmB,CAApB,EAAuB,EAAvB,CAAzC;;AACA,QAAMiF,IAAG,GAAGP,UAAU,CAAC5E,IAAX,GAAkB4E,UAAU,CAAC1E,KAAzC;;AAEA,QAAI6E,MAAJ,EAAY;AACV,UAAMK,MAAM,GAAG,CAACJ,MAAD,EAAQC,OAAR,EAAgBE,IAAhB,EAAqBE,GAArB,CAAyB,UAAApD,CAAC;AAAA,eAAIA,CAAC,GAAGtB,IAAR;AAAA,OAA1B,CAAf;;AACA,UAAImE,SAAJ,EAAe;AACb,YAAIA,SAAS,KAAK,QAAlB,EAA4B,OAAO,EAAP;AAC5B,YAAIA,SAAS,KAAK,KAAlB,EAAyB,OAAO,EAAP;AACzB,YAAI,QAAQQ,IAAR,CAAaR,SAAb,CAAJ,EAA6B,OAAO,CAACM,MAAM,CAAC,CAAD,CAAP,CAAP;AAC7B,YAAI,SAASE,IAAT,CAAcR,SAAd,CAAJ,EAA8B,OAAO,CAACM,MAAM,CAAC,CAAD,CAAP,CAAP;AAC/B;;AACD,aAAOA,MAAP;AACD;;AACD,WAAO,CAACJ,MAAD,EAAQC,OAAR,EAAgBE,IAAhB,CAAP;AACD;;AAED,MAAMH,KAAK,GAAGJ,UAAU,CAAC3E,GAAzB;AACA,MAAMgF,MAAM,GAAGL,UAAU,CAAC3E,GAAX,GAAiBiF,QAAQ,CAACN,UAAU,CAAC7E,MAAX,GAAoB,CAArB,EAAwB,EAAxB,CAAxC;AACA,MAAMoF,GAAG,GAAGP,UAAU,CAAC3E,GAAX,GAAiB2E,UAAU,CAAC7E,MAAxC;;AAEA,MAAIgF,MAAJ,EAAY;AACV,QAAMK,OAAM,GAAG,CAACJ,KAAD,EAAQC,MAAR,EAAgBE,GAAhB,EAAqBE,GAArB,CAAyB,UAAApD,CAAC;AAAA,aAAIA,CAAC,GAAGtB,IAAR;AAAA,KAA1B,CAAf;;AACA,QAAImE,SAAJ,EAAe;AACb,UAAIA,SAAS,KAAK,MAAlB,EAA0B,OAAO,EAAP;AAC1B,UAAIA,SAAS,KAAK,OAAlB,EAA2B,OAAO,EAAP;AAC3B,UAAI,OAAOQ,IAAP,CAAYR,SAAZ,CAAJ,EAA4B,OAAO,CAACM,OAAM,CAAC,CAAD,CAAP,CAAP;AAC5B,UAAI,UAAUE,IAAV,CAAeR,SAAf,CAAJ,EAA+B,OAAO,CAACM,OAAM,CAAC,CAAD,CAAP,CAAP;AAChC;;AACD,WAAOA,OAAP;AACD;;AACD,SAAO,CAACJ,KAAD,EAAQC,MAAR,EAAgBE,GAAhB,CAAP;AACD;IAEYI,uCAAuC,GAAG,SAA1CA,uCAA0C,CACrDC,SADqD,EAErDC,gCAFqD,EAGrDZ,IAHqD,EAIlD;AACH,MAAMO,MAAM,GAAG9B,MAAM,CAACC,IAAP,CAAYiC,SAAZ,EAAuBH,GAAvB,CAA2B,UAAAK,GAAG,EAAI;AAC/C,QAAMC,8BAA8B,GAAGH,SAAS,CAACE,GAAD,CAAT,CAAeb,IAAf,CAAvC;;AACA,QAAIc,8BAA8B,KAAKF,gCAAvC,EAAyE;AACvE,aAAOE,8BAAP;AACD;;AACD,WAAOvF,SAAP;AACD,GANc,CAAf;AAQA,SAAOgF,MAAM,CAACQ,MAAP,CAAc,UAAAC,MAAM;AAAA,WAAIA,MAAM,KAAKzF,SAAf;AAAA,GAApB,CAAP;AACD;IAEY0F,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,wBAAD,EAA2BC,uBAA3B,EAAuD;AAC1F,MAAIC,SAAS,GAAG,IAAhB;AACA,MAAIC,YAAY,GAAG,IAAnB;AACA,MAAIC,YAAY,GAAG,EAAnB;AACA,MAAMC,aAAa,GAAG,CAAtB;;AACA,OAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGL,uBAAuB,CAACrC,MAApD,EAA4D0C,KAAK,IAAI,CAArE,EAAwE;AACtE,QAAIC,MAAM,GAAG,CAAb;AACA,QAAIC,MAAM,GAAG,CAAb;;AAEA,WAAOD,MAAM,GAAGP,wBAAwB,CAACpC,MAAlC,IACF4C,MAAM,GAAGP,uBAAuB,CAACK,KAAD,CAAvB,CAA+B1C,MAD7C,EACqD;AACnD,UAAM6C,IAAI,GAAGnG,IAAI,CAACoG,GAAL,CAASV,wBAAwB,CAACO,MAAD,CAAxB,GAClBN,uBAAuB,CAACK,KAAD,CAAvB,CAA+BE,MAA/B,CADS,CAAb;;AAEA,UAAIC,IAAI,IAAIJ,aAAZ,EAA2B;AACzBH,QAAAA,SAAS,GAAG;AAAES,UAAAA,cAAc,EAAEJ,MAAlB;AAA0BK,UAAAA,eAAe,EAAEJ,MAA3C;AAAmDK,UAAAA,KAAK,EAAEJ;AAA1D,SAAZ;AACAL,QAAAA,YAAY,GAAGH,uBAAuB,CAACK,KAAD,CAAtC;AACAH,QAAAA,YAAY,GAAGF,uBAAuB,CAACK,KAAD,CAAvB,CAA+BE,MAA/B,CAAf;AACD;;AAED,UAAIR,wBAAwB,CAACO,MAAD,CAAxB,GAAmCN,uBAAuB,CAACK,KAAD,CAAvB,CAA+BE,MAA/B,CAAvC,EAA+E;AAC7ED,QAAAA,MAAM,IAAI,CAAV;AACD,OAFD,MAEO;AACLC,QAAAA,MAAM,IAAI,CAAV;AACD;AACF;AACF;;AAED,SAAO;AAAEL,IAAAA,YAAY,EAAZA,YAAF;AAAgBC,IAAAA,YAAY,EAAZA,YAAhB;AAA8BF,IAAAA,SAAS,EAATA;AAA9B,GAAP;AACD;IAEYY,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAAStB,SAAT,EAAuB;AACtD,MAAMuB,uBAAuB,GAAGvB,SAAS,CAACsB,MAAD,CAAT,CAAkBjG,CAAlD;AACA,MAAMmG,uBAAuB,GAAGxB,SAAS,CAACsB,MAAD,CAAT,CAAkB/F,CAAlD;AACA,MAAMkG,cAAc,GAAG1B,uCAAuC,CAC5DC,SAD4D,EAE5DuB,uBAF4D,EAG5D,GAH4D,CAA9D;AAKA,MAAMG,cAAc,GAAG3B,uCAAuC,CAC5DC,SAD4D,EAE5DwB,uBAF4D,EAG5D,GAH4D,CAA9D;AAKA,MAAMG,kBAAkB,GAAGrB,qBAAqB,CAACiB,uBAAD,EAA0BE,cAA1B,CAAhD;AACA,MAAMG,kBAAkB,GAAGtB,qBAAqB,CAACkB,uBAAD,EAA0BE,cAA1B,CAAhD;AAEA,MAAMG,gBAAgB,GAAG,EAAzB;;AAEA,MAAIF,kBAAkB,CAAClB,SAAvB,EAAkC;AAChCoB,IAAAA,gBAAgB,CAACxG,CAAjB,mCACKsG,kBADL;AAEEG,MAAAA,eAAe,EAAEP;AAFnB;AAID;;AAED,MAAIK,kBAAkB,CAACnB,SAAvB,EAAkC;AAChCoB,IAAAA,gBAAgB,CAACtG,CAAjB,mCACKqG,kBADL;AAEEE,MAAAA,eAAe,EAAEN;AAFnB;AAID;;AAED,SAAOK,gBAAP;AACD;IAEYE,iBAAiB,GAAG,SAApBA,iBAAoB,CAACpF,IAAD,EAAO0D,MAAP,EAAelF,IAAf,EAA0C;AAAA,MAArBmE,SAAqB,uEAAT,IAAS;AACzE,MAAM0C,UAAU,GAAG3B,MAAM,CAAC1D,IAAI,CAACsF,MAAN,CAAzB;;AACA,MAAMC,OAAO,mCACRF,UADQ,2BAEVrF,IAAI,CAACV,EAFK,kCAGN+F,UAAU,CAACrF,IAAI,CAACV,EAAN,CAHJ;AAITZ,IAAAA,CAAC,EAAE8D,uBAAuB,CAACxC,IAAD,EAAO,GAAP,EAAYxB,IAAZ,EAAkBmE,SAAlB,CAJjB;AAKT/D,IAAAA,CAAC,EAAE4D,uBAAuB,CAACxC,IAAD,EAAO,GAAP,EAAYxB,IAAZ,EAAkBmE,SAAlB;AALjB,MAAb;;AAQA,SAAO+B,iBAAiB,CAAC1E,IAAI,CAACV,EAAN,EAAUiG,OAAV,CAAxB;AACD;IAEYC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACxF,IAAD,EAAOyF,OAAP,EAA6B;AAAA,MAAbjH,IAAa,uEAAN,CAAM;AACpE,MAAIkH,gBAAgB,GAAG1F,IAAI,CAACnC,IAA5B;AACA,MAAI8H,eAAe,GAAG3F,IAAI,CAAClC,GAA3B;AACAqD,EAAAA,MAAM,CAACC,IAAP,CAAYqE,OAAZ,EAAqBG,OAArB,CAA6B,UAAAlD,IAAI,EAAI;AACnC,wBAAqD+C,OAAO,CAAC/C,IAAD,CAA5D;AAAA,QAAQyC,eAAR,iBAAQA,eAAR;AAAA,QAAyBnB,YAAzB,iBAAyBA,YAAzB;AAAA,QAAuCF,SAAvC,iBAAuCA,SAAvC;AACA,QAAM+B,uBAAuB,GAAG/B,SAAS,CAACS,cAA1C;AACA,QAAMuB,wBAAwB,GAAGhC,SAAS,CAACU,eAA3C,CAHmC;;AAKnC,QAAMuB,aAAa,GAAGjC,SAAS,CAACW,KAAV,GAAkBjG,IAAxC;;AACA,QAAIkE,IAAI,KAAK,GAAb,EAAkB;AAChB,UAAIyC,eAAe,CAACU,uBAAD,CAAf,GAA2C7B,YAAY,CAAC8B,wBAAD,CAA3D,EAAuF;AACrFJ,QAAAA,gBAAgB,GAAG1F,IAAI,CAACnC,IAAL,GAAYkI,aAA/B;AACD,OAFD,MAEO;AACLL,QAAAA,gBAAgB,GAAG1F,IAAI,CAACnC,IAAL,GAAYkI,aAA/B;AACD;AACF,KAND,MAMO,IAAIZ,eAAe,CAACU,uBAAD,CAAf,GAA2C7B,YAAY,CAAC8B,wBAAD,CAA3D,EAAuF;AAC5FH,MAAAA,eAAe,GAAG3F,IAAI,CAAClC,GAAL,GAAWiI,aAA7B;AACD,KAFM,MAEA;AACLJ,MAAAA,eAAe,GAAG3F,IAAI,CAAClC,GAAL,GAAWiI,aAA7B;AACD;AACF,GAjBD;AAmBA,SAAO;AACLlI,IAAAA,IAAI,EAAE6H,gBADD;AAEL5H,IAAAA,GAAG,EAAE6H;AAFA,GAAP;AAID;IAEYK,WAAW,GAAG,SAAdA,WAAc,CAAAC,CAAC,EAAI;AAC9B,MAAIC,IAAI,GAAG,CAAX;AACA,MAAIC,IAAI,GAAG,CAAX;;AAEA,MAAIF,CAAC,CAACG,KAAF,IAAWH,CAAC,CAACI,KAAjB,EAAwB;AACtBH,IAAAA,IAAI,GAAGD,CAAC,CAACG,KAAT;AACAD,IAAAA,IAAI,GAAGF,CAAC,CAACI,KAAT;AACD,GAHD,MAGO,IAAIJ,CAAC,CAACK,OAAF,IAAaL,CAAC,CAACM,OAAnB,EAA4B;AACjCL,IAAAA,IAAI,GAAGD,CAAC,CAACK,OAAF,GAAYE,QAAQ,CAACC,IAAT,CAAcC,UAA1B,GACHF,QAAQ,CAACG,eAAT,CAAyBD,UAD7B;AAEAP,IAAAA,IAAI,GAAGF,CAAC,CAACM,OAAF,GAAYC,QAAQ,CAACC,IAAT,CAAcG,SAA1B,GACHJ,QAAQ,CAACG,eAAT,CAAyBC,SAD7B;AAED;;AAED,SAAO;AACLlI,IAAAA,CAAC,EAAEwH,IADE;AAELtH,IAAAA,CAAC,EAAEuH;AAFE,GAAP;AAID;IAEYU,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,SAAD,EAAYC,SAAZ,EAA0B;AAC7D,MAAMC,WAAW,GAAGC,MAAM,CAACC,UAAP,IACfD,MAAM,CAACT,QAAP,CAAgBG,eAAhB,CAAgCQ,WADjB,IAEfF,MAAM,CAACT,QAAP,CAAgBC,IAAhB,CAAqBU,WAF1B;AAIA,MAAMC,YAAY,GAAGH,MAAM,CAACI,WAAP,IAChBJ,MAAM,CAACT,QAAP,CAAgBG,eAAhB,CAAgCW,YADhB,IAEhBL,MAAM,CAACT,QAAP,CAAgBC,IAAhB,CAAqBa,YAF1B;;AAIA,MAAMC,WAAW,qBAAQR,SAAR,CAAjB;;AACA,8BAGID,SAAS,CAACU,qBAAV,EAHJ;AAAA,MACUC,aADV,yBACE7J,MADF;AAAA,MAES8J,YAFT,yBAEE3J,KAFF;;AAKA,MAAI2J,YAAY,GAAGH,WAAW,CAAC7I,CAA3B,GAAgCsI,WAAW,GAAG,CAAlD,EAAsD;AACpDO,IAAAA,WAAW,CAAC7I,CAAZ,GAAgBsI,WAAW,GAAGU,YAAd,GAA6B,CAA7C;AACD;;AAED,MAAID,aAAa,GAAGF,WAAW,CAAC3I,CAA5B,GAAiCwI,YAAY,GAAG,CAApD,EAAwD;AACtDG,IAAAA,WAAW,CAAC3I,CAAZ,GAAgBwI,YAAY,GAAGK,aAAf,GAA+B,EAA/C;AACD;;AAED,MAAME,YAAY,GAAG;AACnBjJ,IAAAA,CAAC,EAAE6I,WAAW,CAAC7I,CAAZ,IAAiB,CADD;AAEnBE,IAAAA,CAAC,EAAE2I,WAAW,CAAC3I,CAAZ,IAAiB;AAFD,GAArB;AAKA,SAAO+I,YAAP;AACD;IAcYC,eAAe,GAAG,SAAlBA,eAAkB,CAACtC,MAAD,EAAS3F,KAAT,EAAmB;AAChD,MAAMkI,SAAS,GAAGlI,KAAK,CAACE,IAAN,CAAW,UAAAD,IAAI;AAAA,WAAIA,IAAI,CAACN,EAAL,KAAYgG,MAAhB;AAAA,GAAf,CAAlB;;AACA,MAAIuC,SAAS,IAAIA,SAAS,CAAC9H,KAA3B,EAAkC;AAChC,WAAO8H,SAAS,CAAC9H,KAAjB;AACD;;AACD,SAAO,EAAP;AACD;;AAGD,IAAM+H,aAAa,GAAG,SAAhBA,aAAgB,CAACC,IAAD,EAAOC,KAAP,EAAcC,IAAd,EAAoBC,KAApB,EAA2BC,MAA3B,EAAmCC,OAAnC,EAA4CC,MAA5C,EAAoDC,OAApD,EAA6DC,SAA7D,EAA2E;AAC/F,MAAMC,iBAAiB,GAAI,OAAOD,SAAP,KAAqB,WAAtB,GAAqC,CAArC,GAAyCA,SAAnE;AAEA,SAAO,EACFR,IAAI,GAAGK,OAAR,GAAmBI,iBAApB,GAAyCP,IAA1C,IACKF,IAAI,GAAGS,iBAAR,GAA8BP,IAAI,GAAGK,OADzC,IAEMN,KAAK,GAAGG,MAAT,GAAmBK,iBAApB,GAAyCN,KAF7C,IAGKF,KAAK,GAAGQ,iBAAT,GAA+BN,KAAK,GAAGG,MAJtC,CAAP;AAMD,CATD;;IAWaI,cAAc,GAAG,SAAjBA,cAAiB,CAACzI,IAAD,EAAOD,KAAP,EAAc2I,UAAd,EAA0B/F,SAA1B,EAAwC;AACpE,MAAIgG,QAAQ,GAAG,KAAf;AACA,MAAIC,SAAS,GAAGF,UAAhB;;AACA,SAAO,CAACC,QAAD,IAAa5I,KAAK,CAAC6I,SAAS,GAAGjG,SAAb,CAAzB,EAAkD;AAChDiG,IAAAA,SAAS,IAAIjG,SAAb;AACAgG,IAAAA,QAAQ,GAAGb,aAAa,CACtB9H,IAAI,CAAClC,GADiB,EAEtBkC,IAAI,CAACnC,IAFiB,EAGtBkC,KAAK,CAAC6I,SAAD,CAAL,CAAiB9K,GAHK,EAItBiC,KAAK,CAAC6I,SAAD,CAAL,CAAiB/K,IAJK,EAKtBmC,IAAI,CAACjC,KALiB,EAMtBiC,IAAI,CAACpC,MANiB,EAOtBmC,KAAK,CAAC6I,SAAD,CAAL,CAAiB7K,KAPK,EAQtBgC,KAAK,CAAC6I,SAAD,CAAL,CAAiBhL,MARK,CAAxB;AAUD;;AAED,MAAI+K,QAAJ,EAAc;AACZ,WAAOC,SAAP;AACD;;AACD,SAAO,IAAP;AACD;IAEYC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAQC,YAAR,EAAsBC,WAAtB,EAAsC;AACjE;AACAF,EAAAA,KAAK,CAACG,MAAN,CAAaD,WAAb,EAA0B,CAA1B,EAA6BF,KAAK,CAACG,MAAN,CAAaF,YAAb,EAA2B,CAA3B,EAA8B,CAA9B,CAA7B;AACD;IAEYG,WAAW,GAAG,SAAdA,WAAc,GAAc;AAAA,MAAbC,GAAa,uEAAP,EAAO;AACvC,SAAOA,GAAG,CAAC/I,KAAJ,CAAU,GAAV,EAAegJ,GAAf,GAAqBhJ,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAP;AACD;IAEYiJ,aAAa,GAAG,SAAhBA,aAAgB,CAACF,GAAD,EAAMG,QAAN,EAAmB;AAC9C,MAAMC,GAAG,GAAG,IAAIC,KAAJ,EAAZ;AACAD,EAAAA,GAAG,CAACE,gBAAJ,CAAqB,MAArB,EAA6B;AAAA,WAAMH,QAAQ,CAACC,GAAG,CAACxL,KAAL,EAAYwL,GAAG,CAAC3L,MAAhB,CAAd;AAAA,GAA7B;AACA2L,EAAAA,GAAG,CAACG,GAAJ,GAAUP,GAAV;AACD;IAEYQ,kBAAkB,GAAG,SAArBA,kBAAqB,CAAC9H,OAAD,EAAU+H,YAAV,EAA2B;AAC3D,MAAMC,IAAI,GAAGhI,OAAO,CAAC2F,qBAAR,EAAb;AACA,MAAMsC,cAAc,GAAGF,YAAY,CAACG,MAAb,GAAsBH,YAAY,CAAC9L,GAA1D;AACA,MAAMkM,MAAM,GAAG;AACbD,IAAAA,MAAM,EAAEH,YAAY,CAACG,MAAb,GAAsBF,IAAI,CAACE,MADtB;AAEbnM,IAAAA,MAAM,EAAEiM,IAAI,CAACE,MAAL,GAAcF,IAAI,CAAC/L,GAFd;AAGbA,IAAAA,GAAG,EAAE+L,IAAI,CAAC/L,GAAL,GAAW8L,YAAY,CAAC9L;AAHhB,GAAf;AAKA,MAAM+C,OAAO,GAAG;AACdkJ,IAAAA,MAAM,EAAEC,MAAM,CAACD,MAAP,GAAgB,CAAhB,IAAqBC,MAAM,CAACD,MAAP,GAAgBD,cAD/B;AAEdhM,IAAAA,GAAG,EAAEkM,MAAM,CAAClM,GAAP,IAAc,CAAd,IAAmBkM,MAAM,CAAClM,GAAP,GAAagM;AAFvB,GAAhB;AAIA,MAAIG,EAAE,GAAG,CAAT;;AACA,MAAIpJ,OAAO,CAAC/C,GAAR,IAAe+C,OAAO,CAACkJ,MAA3B,EAAmC;AACjCE,IAAAA,EAAE,GAAGD,MAAM,CAACpM,MAAZ;AACD,GAFD,MAEO,IAAIiD,OAAO,CAAC/C,GAAZ,EAAiB;AACtBmM,IAAAA,EAAE,GAAGH,cAAc,GAAGE,MAAM,CAAClM,GAA7B;AACD,GAFM,MAEA,IAAI+C,OAAO,CAACkJ,MAAZ,EAAoB;AACzBE,IAAAA,EAAE,GAAGD,MAAM,CAACpM,MAAP,GAAgBoM,MAAM,CAAClM,GAA5B;AACD,GAFM,MAEA,IAAIkM,MAAM,CAACpM,MAAP,GAAgBkM,cAAhB,IAAkCE,MAAM,CAAClM,GAAP,GAAa,CAAnD,EAAsD;AAC3D,QAAIoM,MAAM,GAAGhM,IAAI,CAACoG,GAAL,CAAS0F,MAAM,CAAClM,GAAhB,CAAb;;AACA,QAAIoM,MAAM,GAAGF,MAAM,CAACpM,MAApB,EAA4B;AAC1BqM,MAAAA,EAAE,GAAGD,MAAM,CAACpM,MAAP,GAAgBsM,MAArB;AACD;AACF;;AAED,yCAAYrJ,OAAZ;AAAqBoJ,IAAAA,EAAE,EAAFA;AAArB;AACD;IAEYE,kBAAkB,GAAG,SAArBA,kBAAqB,GAAoB;AAAA,MAAnBC,MAAmB,uEAAV,KAAU;AACpD,MAAMC,QAAQ,GAAG7D,QAAQ,CAAC8D,aAAT,CAAuB,oBAAvB,CAAjB;;AACA,MAAID,QAAJ,EAAc;AACZ,QAAMT,YAAY,GAAGS,QAAQ,CAAC7C,qBAAT,EAArB;AACA,QAAM+C,QAAQ,GAAG9I,KAAK,CAAC+I,IAAN,CAAWhE,QAAQ,CAACiE,gBAAT,CAA0B,gBAA1B,CAAX,CAAjB;AACA,QAAMC,YAAY,GAAGH,QAAQ,CAAClK,MAAT,CAAgB,UAACsK,GAAD,EAAM9I,OAAN,EAAkB;AACrD8I,MAAAA,GAAG,CAAC9I,OAAO,CAAC+I,YAAR,CAAqB,SAArB,CAAD,CAAH,GAAuCjB,kBAAkB,CAAC9H,OAAD,EAAU+H,YAAV,CAAzD;AACA,aAAOe,GAAP;AACD,KAHoB,EAGlB,EAHkB,CAArB;AAIA,QAAMrF,MAAM,GAAGnE,MAAM,CAACC,IAAP,CAAYsJ,YAAZ,EACZG,IADY,CACP,UAAC/K,CAAD,EAAIgL,CAAJ;AAAA,aAAUJ,YAAY,CAACI,CAAD,CAAZ,CAAgBb,EAAhB,GAAqBS,YAAY,CAAC5K,CAAD,CAAZ,CAAgBmK,EAA/C;AAAA,KADO,EAC4C,CAD5C,CAAf;;AAEA,QAAIG,MAAJ,EAAY;AACV,aAAO9E,MAAP;AACD;;AACD,WAAO;AACLyF,MAAAA,IAAI,EAAEL,YAAY,CAACpF,MAAD,CADb;AAELhG,MAAAA,EAAE,EAAEgG;AAFC,KAAP;AAID;;AACD,SAAO,KAAP;AACD;;AAED,IAAM0F,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACpL,IAAD,EAAOqL,SAAP,EAAkBzM,IAAlB,EAA2B;AACtD,MAAMqL,IAAI,GAAGjK,IAAI,CAAC4H,qBAAL,EAAb;AACA,MAAM0D,UAAU,GAAGrB,IAAI,CAACE,MAAL,GAAcF,IAAI,CAAC/L,GAAtC;AACA,MAAImN,SAAS,CAACnN,GAAd,EAAmB,OAAO,CAAP;AACnB,MAAMqN,kBAAkB,GAAGD,UAAU,IAAI,IAAI1M,IAAR,CAArC;AACA,MAAM4M,qBAAqB,GAAGH,SAAS,CAAChB,EAAV,IAAgB,IAAIzL,IAApB,CAA9B;AACA,SAAQ2M,kBAAkB,GAAGC,qBAA7B;AACD,CAPD;;IASaC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACzL,IAAD,EAAOpB,IAAP,EAAgB;AACpD,MAAM8M,YAAY,GAAG9E,QAAQ,CAAC8D,aAAT,oCAAkD1K,IAAI,CAACN,EAAvD,SAArB;AACA,MAAI,CAACgM,YAAL,EAAmB,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP,CAFiC;;AAKpD,MAAMxM,QAAQ,GAAGkM,oBAAoB,CAACM,YAAD,EAAe1L,IAAI,CAACmL,IAApB,EAA0BvM,IAA1B,CAArC;AAEA,MAAM+M,SAAS,GAAGD,YAAY,CAACb,gBAAb,CAA8B,oBAA9B,CAAlB;AACA,MAAI,CAACc,SAAS,CAAC/J,MAAf,EAAuB,OAAO,CAAC,CAAD,EAAI1C,QAAJ,CAAP,CAR6B;;AAWpD,SAAO,mBAAIyM,SAAJ,EAAelL,MAAf,CAAsB,UAACmL,KAAD,EAAQxL,IAAR,EAAiB;AAC5C,QAAMyL,MAAM,GAAGD,KAAf;AACA,sBAAiCxL,IAAjC,CAAQ0L,KAAR;AAAA,QAAiB7N,IAAjB,eAAiBA,IAAjB;AAAA,QAAuBC,GAAvB,eAAuBA,GAAvB;AACA,QAAM6N,UAAU,GAAG,CAAC5I,QAAQ,CAAClF,IAAD,EAAO,EAAP,CAAT,EAAqBkF,QAAQ,CAACjF,GAAD,EAAM,EAAN,CAA7B,CAAnB;;AACA,QAAI2N,MAAM,CAAC,CAAD,CAAN,KAAcE,UAAU,CAAC,CAAD,CAAxB,IAA+BF,MAAM,CAAC,CAAD,CAAN,KAAcE,UAAU,CAAC,CAAD,CAA3D,EAAgE;AAC9DF,MAAAA,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAAN,GAAY,EAAxB;AACAA,MAAAA,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAAN,GAAY,EAAxB;AACD;;AACD,WAAOA,MAAP;AACD,GATM,EASJ,CAAC,CAAD,EAAI3M,QAAJ,CATI,CAAP;AAUD;AAEM,SAAS8M,aAAT,CAAuBC,GAAvB,EAAyC;AAAA,MAAbC,MAAa,uEAAJ,EAAI;;AAC9C,MAAID,GAAJ,EAAS;AACP,QAAI;AACF,aAAOE,IAAI,CAACC,KAAL,CAAWH,GAAX,CAAP;AACD,KAFD,CAEE,OAAOI,EAAP,EAAW;AACX,aAAOH,MAAP;AACD;AACF,GAND,MAMO;AACL,WAAOA,MAAP;AACD;AACF;AAED;;IACaI,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAqC;AAAA,MAApCC,IAAoC,uEAA7B3F,QAAQ,CAACG,eAAoB;;AACvE,MAAIwF,IAAI,CAACC,iBAAT,EAA4B;AAC1B,WAAOD,IAAI,CAACC,iBAAL,EAAP;AACD,GAFD,MAEO,IAAID,IAAI,CAACE,oBAAT,EAA+B;AAAE;AACtC,WAAOF,IAAI,CAACE,oBAAL,EAAP;AACD,GAFM,MAEA,IAAIF,IAAI,CAACG,uBAAT,EAAkC;AAAE;AACzC,WAAOH,IAAI,CAACG,uBAAL,EAAP;AACD,GAFM,MAEA,IAAIH,IAAI,CAACI,mBAAT,EAA8B;AAAE;AACrC,WAAOJ,IAAI,CAACI,mBAAL,EAAP;AACD;;AACD,SAAOC,OAAO,CAACC,OAAR,EAAP;AACD;AAED;;IACaC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AACnC,MAAIlG,QAAQ,CAACmG,iBAAT,IACCnG,QAAQ,CAACoG,uBADV,IAECpG,QAAQ,CAACqG,oBAFd,EAEoC;AAClC,QAAIrG,QAAQ,CAACsG,cAAb,EAA6B;AAC3B,aAAOtG,QAAQ,CAACsG,cAAT,EAAP;AACD,KAFD,MAEO,IAAItG,QAAQ,CAACuG,mBAAb,EAAkC;AAAE;AACzC,aAAOvG,QAAQ,CAACuG,mBAAT,EAAP;AACD,KAFM,MAEA,IAAIvG,QAAQ,CAACwG,oBAAb,EAAmC;AAAE;AAC1C,aAAOxG,QAAQ,CAACwG,oBAAT,EAAP;AACD,KAFM,MAEA,IAAIxG,QAAQ,CAACyG,gBAAb,EAA+B;AAAE;AACtC,aAAOzG,QAAQ,CAACyG,gBAAT,EAAP;AACD;AACF;;AACD,SAAOT,OAAO,CAACC,OAAR,EAAP;AACD;IAEYS,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAClN,IAAD,SAA2BmN,UAA3B,EAA0C;AAAA,MAAjCC,SAAiC,SAAjCA,SAAiC;AAAA,MAAtBjE,GAAsB,SAAtBA,GAAsB;AACxE,MAAMkE,SAAS,GAAG,GAAlB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,KAAK,GAAG,IAAItG,MAAM,CAACuC,KAAX,EAAd;AACA+D,EAAAA,KAAK,CAAC7D,GAAN,GAAY0D,SAAS,IAAIjE,GAAzB;;AAEAoE,EAAAA,KAAK,CAACC,OAAN,GAAgB,YAAM;AACpBL,IAAAA,UAAU,CAACnN,IAAD,EAAO;AAAEmJ,MAAAA,GAAG,EAAHA;AAAF,KAAP,CAAV;AACD,GAFD;;AAIAoE,EAAAA,KAAK,CAACE,MAAN,GAAe,YAAM;AACnB,QAAQC,aAAR,GAAwCH,KAAxC,CAAQG,aAAR;AAAA,QAAuBC,YAAvB,GAAwCJ,KAAxC,CAAuBI,YAAvB;AACA,QAAIC,MAAM,GAAGD,YAAb;AACA,QAAIE,OAAO,GAAGH,aAAd;;AAEA,QAAIC,YAAY,GAAGN,SAAnB,EAA8B;AAC5BQ,MAAAA,OAAO,GAAG9K,QAAQ,CAAEsK,SAAS,GAAGK,aAAb,GAA8BC,YAA/B,EAA6C,EAA7C,CAAlB;AACAC,MAAAA,MAAM,GAAGP,SAAT;AACD;;AAED,QAAIQ,OAAO,GAAGP,UAAd,EAA0B;AACxBM,MAAAA,MAAM,GAAG7K,QAAQ,CAAE6K,MAAM,GAAGN,UAAV,GAAwBO,OAAzB,EAAkC,EAAlC,CAAjB;AACAA,MAAAA,OAAO,GAAGP,UAAV;AACD;;AAED,QAAIF,SAAJ,EAAe;AACbU,MAAAA,GAAG,CAACC,eAAJ,CAAoBX,SAApB;AACD;;AAEDD,IAAAA,UAAU,CACRnN,IADQ,EACF;AACJpC,MAAAA,MAAM,EAAEiQ,OADJ;AAEJ1E,MAAAA,GAAG,EAAEA,GAFD;AAGJpL,MAAAA,KAAK,EAAE6P;AAHH,KADE,CAAV;AAOD,GA1BD;AA2BD;IAEYI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC9BzL,MAD8B,EAE9B4K,UAF8B,EAG9B1M,YAH8B,EAI9BwN,aAJ8B;AAAA,SAK3B,UAACjO,IAAD,EAAOU,OAAP,EAAmB;AACtB,QAAI6B,MAAM,IAAIA,MAAM,CAAC2L,aAArB,EAAoC;AAClC,UAAMzJ,KAAK,GAAG/D,OAAO,CAAC6B,MAAM,CAAChC,GAAR,CAArB;;AACA,UAAIgC,MAAM,CAAC2L,aAAP,CAAqBzJ,KAArB,CAAJ,EAAiC;AAC/B,YAAM0J,qBAAqB,GAAGhN,MAAM,CAACC,IAAP,CAAYmB,MAAM,CAAC2L,aAAP,CAAqBzJ,KAArB,CAAZ,EAC3BpE,MAD2B,CAE1B,UAAC+N,WAAD,EACEC,UADF,EACiB;AACf,cAAQC,sBAAR,GAAmC/L,MAAM,CAAC2L,aAAP,CAAqBzJ,KAArB,EAA4B4J,UAA5B,CAAnC,CAAQC,sBAAR;AACA,cAAQC,IAAR,GAAiBhM,MAAM,CAAC2L,aAAP,CAAqBzJ,KAArB,EAA4B4J,UAA5B,CAAjB,CAAQE,IAAR;AACA,cAAaC,UAAb,GAA4BjM,MAAM,CAAC2L,aAAP,CAAqBzJ,KAArB,EAA4B4J,UAA5B,CAA5B,CAAM5J,KAAN;AACA,cAAMgK,YAAY,GAAGL,WAArB;;AACA,cAAI,OAAOI,UAAP,KAAsB,QAA1B,EAAoC;AAClCC,YAAAA,YAAY,CAACJ,UAAD,CAAZ,GAA2BG,UAA3B;AACA,mBAAOC,YAAP;AACD;;AACD,cAAMhJ,OAAO,GAAG+I,UAAU,CAACE,KAAX,CAAiB,QAAjB,CAAhB;;AACA,cAAIjJ,OAAO,IAAIA,OAAO,CAACjE,MAAR,GAAiB,CAAhC,EAAmC;AACjCgN,YAAAA,UAAU,GAAG/I,OAAO,CAACpF,MAAR,CAAe,UAACsK,GAAD,EAAMgE,IAAN,EAAe;AACzC,kBAAIC,IAAI,GAAGjE,GAAX;AACA,kBAAMkE,QAAQ,GAAGpO,YAAY,CAC3BkO,IAAI,CAACG,OAAL,CAAa,SAAb,EAAwB,EAAxB,CAD2B,CAA7B;AAGAF,cAAAA,IAAI,GAAGJ,UAAU,CAACM,OAAX,CAAmBH,IAAnB,EAAyBE,QAAzB,CAAP;;AACA,kBAAIN,IAAI,IAAIA,IAAI,KAAK,SAArB,EAAgC;AAC9B,uBAAOxL,QAAQ,CAAC6L,IAAD,EAAO,EAAP,CAAf;AACD;;AACD,qBAAOA,IAAP;AACD,aAVY,EAUVJ,UAVU,CAAb;AAWD;;AACD,cAAIF,sBAAsB,IAAIA,sBAAsB,KAAK7N,YAAY,CAAC4N,UAAD,CAArE,EAAmF;AACjF,mBAAOI,YAAP;AACD;;AACDA,UAAAA,YAAY,CAACJ,UAAD,CAAZ,GAA2BG,UAA3B;AACA,iBAAOC,YAAP;AACD,SA/ByB,EA+BvB,EA/BuB,CAA9B;;AAiCA,YAAIR,aAAJ,EAAmB;AACjBA,UAAAA,aAAa,CAACjO,IAAD,kCACRU,OADQ,GAERyN,qBAFQ,GAGVhB,UAHU,CAAb;AAID,SALD,MAKO;AACLA,UAAAA,UAAU,CAACnN,IAAD,kCACLU,OADK,GAELyN,qBAFK,EAAV;AAID;AACF,OA7CD,MA6CO,IAAIF,aAAJ,EAAmB;AACxBA,QAAAA,aAAa,CAACjO,IAAD,EAAOU,OAAP,EAAgByM,UAAhB,CAAb;AACD,OAFM,MAEA;AACLA,QAAAA,UAAU,CAACnN,IAAD,EAAOU,OAAP,CAAV;AACD;AACF,KApDD,MAoDO,IAAI6B,MAAM,CAACwM,kBAAX,EAA+B;AACpC7B,MAAAA,gBAAgB,CAAClN,IAAD,EAAOU,OAAP,EAAgByM,UAAhB,CAAhB;AACD,KAFM,MAEA,IAAIc,aAAJ,EAAmB;AACxBA,MAAAA,aAAa,CAACjO,IAAD,EAAOU,OAAP,EAAgByM,UAAhB,CAAb;AACD,KAFM,MAEA;AACLA,MAAAA,UAAU,CAACnN,IAAD,EAAOU,OAAP,CAAV;AACD;AACF,GAjE+B;AAAA;IAoFnBsO,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,QAAQ,EAAI;AAC1C,MAAIA,QAAQ,CAACC,OAAT,CAAiB,GAAjB,IAAwB,CAAC,CAA7B,EAAgC;AAC9B,QAAMC,aAAa,GAAGF,QAAQ,CAAC7O,KAAT,CAAe,GAAf,CAAtB;AACA,WAAO+O,aAAa,CAAC,CAAD,CAAb,GAAmBA,aAAa,CAAC,CAAD,CAAb,CAAiBC,MAAjB,CAAwB,CAAxB,EAA2BC,WAA3B,EAAnB,GAA8DF,aAAa,CAAC,CAAD,CAAb,CAAiBG,KAAjB,CAAuB,CAAvB,CAArE;AACD;;AACD,SAAOL,QAAP;AACD;;AAWD,IAAMM,eAAe,GAAG,SAAlBA,eAAkB,CAACzG,KAAD,EAAQ0B,IAAR,EAAcgF,EAAd,EAAqB;AAC3C,MAAM9G,UAAU,GAAG8B,IAAI,GAAG,CAAP,GAAW1B,KAAK,CAACtH,MAAN,GAAegJ,IAA1B,GAAiCA,IAApD;;AAEA,MAAI9B,UAAU,IAAI,CAAd,IAAmBA,UAAU,GAAGI,KAAK,CAACtH,MAA1C,EAAkD;AAChD,QAAMiO,QAAQ,GAAGD,EAAE,GAAG,CAAL,GAAS1G,KAAK,CAACtH,MAAN,GAAegO,EAAxB,GAA6BA,EAA9C;;AAEA,wBAAe1G,KAAK,CAACG,MAAN,CAAauB,IAAb,EAAmB,CAAnB,CAAf;AAAA;AAAA,QAAOxK,IAAP;;AACA8I,IAAAA,KAAK,CAACG,MAAN,CAAawG,QAAb,EAAuB,CAAvB,EAA0BzP,IAA1B;AACD;AACF,CATD;;IAWa0P,SAAS,GAAG,SAAZA,SAAY,CAAC5G,KAAD,EAAQ0B,IAAR,EAAcgF,EAAd,EAAqB;AAC5C,MAAMG,QAAQ,sBAAO7G,KAAP,CAAd;;AACAyG,EAAAA,eAAe,CAACI,QAAD,EAAWnF,IAAX,EAAiBgF,EAAjB,CAAf;AACA,SAAOG,QAAP;AACD;IAEYC,YAAY,GAAG,SAAfA,YAAe,QAMtB;AAAA,MALJC,YAKI,SALJA,YAKI;AAAA,MAJJC,SAII,SAJJA,SAII;AAAA,MAHJhO,QAGI,SAHJA,QAGI;AAAA,MAFJiO,uBAEI,SAFJA,uBAEI;AAAA,MADJC,cACI,SADJA,cACI;AACJ,8BAA+DlO,QAA/D,CAAQmO,kBAAR;AAAA,MAAQA,kBAAR,sCAA6B,GAA7B;AAAA,+BAA+DnO,QAA/D,CAAkCoO,iBAAlC;AAAA,MAAkCA,iBAAlC,uCAAsD,IAAtD;AAEA,gBAAoCC,MAApC;AAAA,MAAQ9I,WAAR,WAAQA,WAAR;AAAA,MAAqBH,UAArB,WAAqBA,UAArB;AAEA,MAAIkJ,YAAY,GAAG,CAAnB;;AAEA,MAAI,CAACP,YAAL,EAAmB;AAAE;AACnB,QAAMQ,WAAW,GAAGN,uBAAuB,GAAG,EAAH,GAAQ,CAAnD;AACA,QAAMO,cAAc,GAAGN,cAAc,GAAG,CAAH,GAAO,CAA5C;AAEAI,IAAAA,YAAY,IAAKC,WAAW,GAAGC,cAA/B;AACD;;AAED,MAAMC,YAAY,GAAGlJ,WAAW,GAAG+I,YAAnC;;AAEA,MAAII,QAAQ,GAAGtS,IAAI,CAACuS,GAAL,CACb,CAACvJ,UAAU,IAAI4I,SAAS,GAAG,GAAH,GAAS,CAAtB,CAAX,IAAuCI,iBAD1B,EAEbK,YAAY,GAAGN,kBAFF,CAAf;;AAKA,MAAIH,SAAJ,EAAe;AACbU,IAAAA,QAAQ,GAAGtS,IAAI,CAACwS,KAAL,CAAWF,QAAQ,GAAG,EAAtB,IAA4B,EAAvC;AACD,GAFD,MAEO;AACL;AACAA,IAAAA,QAAQ,GAAGtS,IAAI,CAACwS,KAAL,CAAWF,QAAQ,GAAG,GAAtB,IAA6B,GAAxC;AACD;;AAED,MAAIG,OAAO,GAAGC,MAAM,CAACJ,QAAQ,CAACK,OAAT,CAAiB,CAAjB,CAAD,CAApB;AAEA,MAAIf,SAAS,IAAIa,OAAO,GAAG,GAA3B,EAAgCA,OAAO,GAAG,GAAV;AAChC,MAAIb,SAAS,IAAIa,OAAO,GAAG,CAA3B,EAA8BA,OAAO,GAAG,CAAV;AAE9B,SAAOA,OAAP;AACD;IAEYG,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,KAAL,EAAe;AACrC,MAAIC,QAAQ,GAAG,CAAf;AACA,SAAO,YAAa;AAClB,QAAMC,GAAG,GAAI,IAAIC,IAAJ,EAAD,CAAaC,OAAb,EAAZ;;AACA,QAAIF,GAAG,GAAGD,QAAN,GAAiBD,KAArB,EAA4B;AAC1B;AACD;;AACDC,IAAAA,QAAQ,GAAGC,GAAX;AACA,WAAOH,EAAE,MAAF,mBAAP;AACD,GAPD;AAQD;IAEYM,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,GAAG,EAAI;AACxC,SAAO,WAAKpT,IAAI,CAACC,KAAL,WAAcmT,GAAd,SAAL,QAAP;AACD;IAEYC,UAAU,GAAG,SAAbA,UAAa;AAAA,MACxBC,MADwB,SACxBA,MADwB;AAAA,MAExBC,WAFwB,SAExBA,WAFwB;AAAA,MAGxBC,SAHwB,SAGxBA,SAHwB;AAAA,MAIxBC,cAJwB,SAIxBA,cAJwB;AAAA,SAKpB,YAAM;AACV,QAAIF,WAAW,GAAGD,MAAd,GAAuBE,SAA3B,EAAsC;AACpCC,MAAAA,cAAc,CAAC,CAAD,CAAd;AACD,KAFD,MAEO,IAAIF,WAAW,GAAGD,MAAd,KAAyB,CAA7B,EAAgC;AACrCG,MAAAA,cAAc,CAACD,SAAD,CAAd;AACD,KAFM,MAEA;AACLC,MAAAA,cAAc,CAACF,WAAW,GAAGD,MAAf,CAAd;AACD;AACF,GAbyB;AAAA;IAebI,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAC7T,KAAD,EAAQH,MAAR,EAAmB;AACzD,MAAOiU,kBAAP,GAAiD,GAAjD;AAAA,MAA2BC,iBAA3B,GAAsD,GAAtD;AACA,MAAMC,KAAK,GAAGF,kBAAkB,GAAGjU,MAAnC;;AACA,MAAIM,IAAI,CAAC8T,IAAL,CAAUjU,KAAK,GAAGgU,KAAlB,KAA4BD,iBAAhC,EAAmD;AACjD,QAAMtB,QAAQ,GAAGsB,iBAAiB,GAAG/T,KAArC;AACA,WAAO;AACLF,MAAAA,IAAI,EAAE,CADD;AAELkU,MAAAA,KAAK,EAAEvB,QAFF;AAGL1S,MAAAA,GAAG,EAAE+T,kBAAkB,GAAGjU,MAAM,GAAG4S,QAA9B,GACD,CAACqB,kBAAkB,GAAIjU,MAAM,GAAG4S,QAAhC,IAA6C,CAD5C,GACgD;AAJhD,KAAP;AAMD;;AACD,SAAO;AACL3S,IAAAA,IAAI,EAAEiU,iBAAiB,GAAG/T,KAAK,GAAGgU,KAA5B,GACF,CAACD,iBAAiB,GAAI/T,KAAK,GAAGgU,KAA9B,IAAwC,CADtC,GAC0C,CAF3C;AAGLA,IAAAA,KAAK,EAALA,KAHK;AAILjU,IAAAA,GAAG,EAAE;AAJA,GAAP;AAMD;IAYYmU,cAAc,GAAG,SAAjBA,cAAiB,CAAC3S,EAAD,EAAuD;AAAA,MAAlD4S,OAAkD,uEAAxC,CAAwC;AAAA,MAArCC,OAAqC,uEAA3B;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GAA2B;AACnFC,EAAAA,UAAU,CAAC,YAAM;AACf,QAAMC,MAAM,GAAG9L,QAAQ,CAAC+L,cAAT,CAAwBjT,EAAxB,CAAf;;AACA,QAAIgT,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACE,cAAP,CAAsBL,OAAtB;AACD;AACF,GALS,EAKPD,OALO,CAAV;AAMD;AAEM,SAASO,iBAAT,CAA2BhO,KAA3B,EAAkC;AACvC,MAAIiO,CAAC,GAAGjO,KAAK,CAACkO,IAAN,EAAR;AACA,MAAI,CAACD,CAAC,CAACE,UAAF,CAAa,GAAb,CAAL,EAAwBF,CAAC,cAAOA,CAAP,CAAD;AACxB,SAAOA,CAAP;AACD;AAEM,SAASG,eAAT,CAAyBpO,KAAzB,EAAgC;AACrC,SAAO,6BAA6BtB,IAA7B,CAAkCsB,KAAlC,CAAP;AACD;IAEYqO,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,CAAC;AAAA,SAAIA,CAAJ;AAAA;IAEjBC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,YAAD,EAAejT,IAAf,EAAkC;AAAA,MAAbxB,IAAa,uEAAN,CAAM;AACpE,MAAM0U,OAAO,GAAGhV,IAAI,CAACuS,GAAL,CAASwC,YAAY,CAACE,MAAtB,EAA8BF,YAAY,CAACG,IAA3C,CAAhB;AACA,MAAMC,MAAM,GAAGnV,IAAI,CAACuS,GAAL,CAASwC,YAAY,CAACK,MAAtB,EAA8BL,YAAY,CAACM,IAA3C,CAAf;AACA,MAAMC,QAAQ,GAAGtV,IAAI,CAACuV,GAAL,CAASR,YAAY,CAACE,MAAtB,EAA8BF,YAAY,CAACG,IAA3C,CAAjB;AACA,MAAMM,SAAS,GAAGxV,IAAI,CAACuV,GAAL,CAASR,YAAY,CAACK,MAAtB,EAA8BL,YAAY,CAACM,IAA3C,CAAlB;AAEA,MAAMI,QAAQ,GAAG3T,IAAI,CAACnC,IAAL,GAAYW,IAA7B;AACA,MAAMoV,OAAO,GAAG5T,IAAI,CAAClC,GAAL,GAAWU,IAA3B;AACA,MAAMqV,SAAS,GAAG,CAAC7T,IAAI,CAACnC,IAAL,GAAYmC,IAAI,CAACjC,KAAlB,IAA2BS,IAA7C;AACA,MAAMsV,UAAU,GAAG,CAAC9T,IAAI,CAAClC,GAAL,GAAWkC,IAAI,CAACpC,MAAjB,IAA2BY,IAA9C,CAToE;;AAYpE,SAAO,EACLgV,QAAQ,GAAGG,QAAX,IACGT,OAAO,GAAGW,SADb,IAEGH,SAAS,GAAGE,OAFf,IAGGP,MAAM,GAAGS,UAJP,CAAP;AAMD;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,YAAD,EAAelT,KAAf,EAAmC;AAAA,MAAbvB,IAAa,uEAAN,CAAM;AACvE,SAAOuB,KAAK,CACT0D,MADI,CACG,UAAAzD,IAAI;AAAA,WAAI,CAACA,IAAI,CAACgU,QAAN,IAAkBhB,oBAAoB,CAACC,YAAD,EAAejT,IAAf,EAAqBxB,IAArB,CAA1C;AAAA,GADP,EAEJ0E,GAFI,CAEA,UAAAlD,IAAI;AAAA,WAAIA,IAAI,CAACV,EAAT;AAAA,GAFJ,CAAP;AAGD;IAEY2U,aAAa,GAAG,SAAhBA,aAAgB,QAEvB;AAAA,MADJrW,MACI,SADJA,MACI;AAAA,MADIC,IACJ,SADIA,IACJ;AAAA,MADUC,GACV,SADUA,GACV;AAAA,MADeC,KACf,SADeA,KACf;AACJ,SAAO;AACLH,IAAAA,MAAM,EAANA,MADK;AAELC,IAAAA,IAAI,EAAJA,IAFK;AAGLC,IAAAA,GAAG,EAAHA,GAHK;AAILC,IAAAA,KAAK,EAALA;AAJK,GAAP;AAMD;IAEYmW,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,cAAc,EAAI;AACjD,SAAOA,cAAc,KAAKC,0BAAoB,CAACC,SAA/C;AACD;IAEYC,aAAa,GAAG,SAAhBA,aAAgB,CAAAH,cAAc,EAAI;AAC7C,SAAOA,cAAc,KAAKC,0BAAoB,CAACG,KAA/C;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\nimport objectDiff from './object-diff';\n\n/**\n * Rounds position/dimension values to integers before sending to service\n * This prevents decimal values from being sent when zoom is not 1\n * Should only be used at the final step before service calls\n */\nexport const roundPositionValues = ({\n height,\n left,\n top,\n width,\n ...rest\n}) => ({\n ...rest,\n ...(height !== undefined && { height: Math.round(height) }),\n ...(left !== undefined && { left: Math.round(left) }),\n ...(top !== undefined && { top: Math.round(top) }),\n ...(width !== undefined && { width: Math.round(width) }),\n});\n\nexport const getCorrectDroppedOffsetValue = (finalOffset, initialOffset, dropTargetPosition, zoom = 1) => {\n const { x: finalX, y: finalY } = finalOffset;\n const { x: initialX, y: initialY } = initialOffset;\n\n const newYposition = finalY > initialY\n ? (initialY + (finalY - initialY)) - dropTargetPosition.top\n : initialY - (initialY - finalY) - dropTargetPosition.top;\n\n const newXposition = finalX > initialX\n ? (initialX + (finalX - initialX)) - dropTargetPosition.left\n : initialX - (initialX - finalX) - dropTargetPosition.left;\n\n return {\n left: newXposition / zoom,\n top: newYposition / zoom,\n };\n};\n\nexport const getStyles = (left, top, isDragging) => {\n return {\n height: isDragging ? 0 : '',\n left,\n opacity: isDragging ? 0 : 1,\n position: 'absolute',\n top,\n };\n};\n\nexport const isSelectedItem = (id, activeElements) => {\n return activeElements.includes(id);\n};\n\nexport const findItemById = (itemID, pages) => {\n const page = pages.find(p => p.items.find(item => item.id === itemID));\n if (!page) return null;\n return page.items.find(item => item.id === itemID);\n};\n\nconst traverse = (obj, condition) => condition.split('.').reduce((cur, key) => cur[key], obj);\n\nconst hideOrShowWhen = (selectedItem, setting, itemAccessor) => {\n if (selectedItem.hideSettings && setting.key !== 'showWarning') {\n return false;\n }\n\n if (setting.visible) {\n return typeof setting.visible === 'function'\n ? setting.visible({ item: selectedItem, itemAccessor })\n : !!setting.visible;\n }\n\n if (setting.hideWhen || setting.showWhen) {\n const hideCondition = !!setting.hideWhen === true;\n const conditionType = hideCondition ? 'hideWhen' : 'showWhen';\n const conditions = setting[conditionType];\n\n return Object.keys(conditions).every(conditionKey => {\n const condition = conditions[conditionKey];\n const conditionOfSelectedItem = conditionKey.split('.').length > 1\n ? traverse(selectedItem, conditionKey) : selectedItem[conditionKey];\n\n if (Array.isArray(condition)) {\n const returnValue = condition.includes(conditionOfSelectedItem);\n return hideCondition ? !returnValue : returnValue;\n }\n\n const returnValue = condition === conditionOfSelectedItem;\n return hideCondition ? !returnValue : returnValue;\n });\n }\n\n return true;\n};\n\nexport const getTabsWithSettings = (element, selectedItem, itemAccessor) => {\n const settings = element.settings || element;\n return settings.reduce((tabsWithSettings, setting) => {\n const _tabsWithSettings = tabsWithSettings;\n const defaultItem = element.defaultItem || {};\n const item = { ...defaultItem, ...selectedItem };\n if (hideOrShowWhen(item, setting, itemAccessor)) {\n const settingSection = setting.section || 'GENERAL';\n if (!_tabsWithSettings[settingSection]) {\n _tabsWithSettings[settingSection] = [];\n }\n _tabsWithSettings[settingSection].push(setting);\n }\n return _tabsWithSettings;\n }, {});\n};\n\nexport const getTabsWithElements = leftPanelConfig => {\n return leftPanelConfig.reduce((tabsWithSettings, config) => {\n const _tabsWithSettings = tabsWithSettings;\n const settingSection = config.section || 'GENERAL';\n _tabsWithSettings[settingSection] = config;\n return _tabsWithSettings;\n }, {});\n};\n\nexport const calculateGuidePositions = (dimensions, axis, zoom = 1, direction = null) => {\n const isItem = dimensions && dimensions.id;\n\n if (axis === 'x') {\n const start = dimensions.left;\n const middle = dimensions.left + parseInt(dimensions.width / 2, 10);\n const end = dimensions.left + dimensions.width;\n\n if (isItem) {\n const result = [start, middle, end].map(p => p * zoom);\n if (direction) {\n if (direction === 'bottom') return [];\n if (direction === 'top') return [];\n if (/left/i.test(direction)) return [result[0]];\n if (/right/i.test(direction)) return [result[2]];\n }\n return result;\n }\n return [start, middle, end];\n }\n\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n\n if (isItem) {\n const result = [start, middle, end].map(p => p * zoom);\n if (direction) {\n if (direction === 'left') return [];\n if (direction === 'right') return [];\n if (/top/i.test(direction)) return [result[0]];\n if (/bottom/i.test(direction)) return [result[2]];\n }\n return result;\n }\n return [start, middle, end];\n};\n\nexport const getAllGuidesForGivenAxisExceptActiveBox = (\n allGuides,\n guidesForActiveBoxAlongGivenAxis,\n axis,\n) => {\n const result = Object.keys(allGuides).map(box => {\n const currentBoxGuidesAlongGivenAxis = allGuides[box][axis];\n if (currentBoxGuidesAlongGivenAxis !== guidesForActiveBoxAlongGivenAxis) {\n return currentBoxGuidesAlongGivenAxis;\n }\n return undefined;\n });\n\n return result.filter(guides => guides !== undefined);\n};\n\nexport const checkValueProximities = (activeBoxGuidesInOneAxis, allOtherGuidesInOneAxis) => {\n let proximity = null;\n let intersection = null;\n let matchedArray = [];\n const snapThreshold = 5;\n for (let index = 0; index < allOtherGuidesInOneAxis.length; index += 1) {\n let index2 = 0;\n let index3 = 0;\n\n while (index2 < activeBoxGuidesInOneAxis.length\n && index3 < allOtherGuidesInOneAxis[index].length) {\n const diff = Math.abs(activeBoxGuidesInOneAxis[index2]\n - allOtherGuidesInOneAxis[index][index3]);\n if (diff <= snapThreshold) {\n proximity = { activeBoxIndex: index2, matchedBoxIndex: index3, value: diff };\n matchedArray = allOtherGuidesInOneAxis[index];\n intersection = allOtherGuidesInOneAxis[index][index3];\n }\n\n if (activeBoxGuidesInOneAxis[index2] < allOtherGuidesInOneAxis[index][index3]) {\n index2 += 1;\n } else {\n index3 += 1;\n }\n }\n }\n\n return { intersection, matchedArray, proximity };\n};\n\nexport const proximityListener = (active, allGuides) => {\n const xAxisGuidesForActiveBox = allGuides[active].x;\n const yAxisGuidesForActiveBox = allGuides[active].y;\n const xAxisAllGuides = getAllGuidesForGivenAxisExceptActiveBox(\n allGuides,\n xAxisGuidesForActiveBox,\n 'x',\n );\n const yAxisAllGuides = getAllGuidesForGivenAxisExceptActiveBox(\n allGuides,\n yAxisGuidesForActiveBox,\n 'y',\n );\n const xAxisMatchedGuides = checkValueProximities(xAxisGuidesForActiveBox, xAxisAllGuides);\n const yAxisMatchedGuides = checkValueProximities(yAxisGuidesForActiveBox, yAxisAllGuides);\n\n const allMatchedGuides = {};\n\n if (xAxisMatchedGuides.proximity) {\n allMatchedGuides.x = {\n ...xAxisMatchedGuides,\n activeBoxGuides: xAxisGuidesForActiveBox,\n };\n }\n\n if (yAxisMatchedGuides.proximity) {\n allMatchedGuides.y = {\n ...yAxisMatchedGuides,\n activeBoxGuides: yAxisGuidesForActiveBox,\n };\n }\n\n return allMatchedGuides;\n};\n\nexport const getMatchesForItem = (item, guides, zoom, direction = null) => {\n const pageGuides = guides[item.pageID];\n const _guides = {\n ...pageGuides,\n [item.id]: {\n ...pageGuides[item.id],\n x: calculateGuidePositions(item, 'x', zoom, direction),\n y: calculateGuidePositions(item, 'y', zoom, direction),\n },\n };\n return proximityListener(item.id, _guides);\n};\n\nexport const getCoordinatesFromMatches = (item, matches, zoom = 1) => {\n let newActiveBoxLeft = item.left;\n let newActiveBoxTop = item.top;\n Object.keys(matches).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = matches[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n // proximity.value is in zoomed pixels, divide by zoom to get canvas coordinates\n const adjustedValue = proximity.value / zoom;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = item.left - adjustedValue;\n } else {\n newActiveBoxLeft = item.left + adjustedValue;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = item.top - adjustedValue;\n } else {\n newActiveBoxTop = item.top + adjustedValue;\n }\n });\n\n return {\n left: newActiveBoxLeft,\n top: newActiveBoxTop,\n };\n};\n\nexport const getPosition = e => {\n var posx = 0;\n var posy = 0;\n\n if (e.pageX || e.pageY) {\n posx = e.pageX;\n posy = e.pageY;\n } else if (e.clientX || e.clientY) {\n posx = e.clientX + document.body.scrollLeft\n + document.documentElement.scrollLeft;\n posy = e.clientY + document.body.scrollTop\n + document.documentElement.scrollTop;\n }\n\n return {\n x: posx,\n y: posy,\n };\n};\n\nexport const getContainerPositions = (container, positions) => {\n const windowWidth = global.innerWidth\n || global.document.documentElement.clientWidth\n || global.document.body.clientWidth;\n\n const windowHeight = global.innerHeight\n || global.document.documentElement.clientHeight\n || global.document.body.clientHeight;\n\n const newPosition = { ...positions };\n const {\n height: contextHeight,\n width: contextWidth,\n } = container.getBoundingClientRect();\n\n if (contextWidth + newPosition.x > (windowWidth - 8)) {\n newPosition.x = windowWidth - contextWidth - 5;\n }\n\n if (contextHeight + newPosition.y > (windowHeight - 8)) {\n newPosition.y = windowHeight - contextHeight - 30;\n }\n\n const newPositions = {\n x: newPosition.x += 5,\n y: newPosition.y += 3,\n };\n\n return newPositions;\n};\n\nexport const moveItemInArrayFromIndexToIndex = (array, fromIndex, toIndex) => {\n if (fromIndex === toIndex) return array;\n const newArray = [...array];\n const target = newArray[fromIndex];\n const inc = toIndex < fromIndex ? -1 : 1;\n for (let i = fromIndex; i !== toIndex; i += inc) {\n newArray[i] = newArray[i + inc];\n }\n newArray[toIndex] = target;\n return newArray;\n};\n\nexport const findItemsOnPage = (pageID, pages) => {\n const foundPage = pages.find(page => page.id === pageID);\n if (foundPage && foundPage.items) {\n return foundPage.items;\n }\n return [];\n};\n\n// https://github.com/unclecheese/react-selectable/blob/master/src/doObjectsCollide.js\nconst coordsCollide = (aTop, aLeft, bTop, bLeft, aWidth, aHeight, bWidth, bHeight, tolerance) => {\n const toleranceDistance = (typeof tolerance === 'undefined') ? 0 : tolerance;\n\n return !(\n (((aTop + aHeight) - toleranceDistance) < bTop)\n || ((aTop + toleranceDistance) > (bTop + bHeight))\n || (((aLeft + aWidth) - toleranceDistance) < bLeft)\n || ((aLeft + toleranceDistance) > (bLeft + bWidth))\n );\n};\n\nexport const collisionCheck = (item, items, startIndex, direction) => {\n let colluded = false;\n let currIndex = startIndex;\n while (!colluded && items[currIndex + direction]) {\n currIndex += direction;\n colluded = coordsCollide(\n item.top,\n item.left,\n items[currIndex].top,\n items[currIndex].left,\n item.width,\n item.height,\n items[currIndex].width,\n items[currIndex].height,\n );\n }\n\n if (colluded) {\n return currIndex;\n }\n return null;\n};\n\nexport const moveArrayItem = (array, initialIndex, targetIndex) => {\n // mutates origin array\n array.splice(targetIndex, 0, array.splice(initialIndex, 1)[0]);\n};\n\nexport const getFileName = (url = '') => {\n return url.split('/').pop().split('?')[0];\n};\n\nexport const getImageSizes = (url, callback) => {\n const img = new Image();\n img.addEventListener('load', () => callback(img.width, img.height));\n img.src = url;\n};\n\nexport const getVisibleHeightPx = (element, viewportRect) => {\n const rect = element.getBoundingClientRect();\n const viewportHeight = viewportRect.bottom - viewportRect.top;\n const elRect = {\n bottom: viewportRect.bottom - rect.bottom,\n height: rect.bottom - rect.top,\n top: rect.top - viewportRect.top,\n };\n const visible = {\n bottom: elRect.bottom > 0 && elRect.bottom < viewportHeight,\n top: elRect.top >= 0 && elRect.top < viewportHeight,\n };\n let px = 0;\n if (visible.top && visible.bottom) {\n px = elRect.height;\n } else if (visible.top) {\n px = viewportHeight - elRect.top;\n } else if (visible.bottom) {\n px = elRect.height + elRect.top;\n } else if (elRect.height > viewportHeight && elRect.top < 0) {\n var absTop = Math.abs(elRect.top);\n if (absTop < elRect.height) {\n px = elRect.height - absTop;\n }\n }\n\n return { ...visible, px };\n};\n\nexport const getMostVisiblePage = (onlyId = false) => {\n const viewport = document.querySelector('.jfReport-viewport');\n if (viewport) {\n const viewportRect = viewport.getBoundingClientRect();\n const elements = Array.from(document.querySelectorAll('.jfReport-page'));\n const calculations = elements.reduce((acc, element) => {\n acc[element.getAttribute('data-id')] = getVisibleHeightPx(element, viewportRect);\n return acc;\n }, {});\n const pageID = Object.keys(calculations)\n .sort((p, n) => calculations[n].px - calculations[p].px)[0];\n if (onlyId) {\n return pageID;\n }\n return {\n attr: calculations[pageID],\n id: pageID,\n };\n }\n return false;\n};\n\nconst getAvailableInitialY = (page, attribute, zoom) => {\n const rect = page.getBoundingClientRect();\n const pageHeight = rect.bottom - rect.top;\n if (attribute.top) return 0;\n const originalPageHeight = pageHeight * (1 / zoom);\n const originalVisibleHeight = attribute.px * (1 / zoom);\n return (originalPageHeight - originalVisibleHeight);\n};\n\nexport const getAvailableCoordinate = (page, zoom) => {\n const isExistsPage = document.querySelector(`.jfReport-page[data-id=\"${page.id}\"]`);\n if (!isExistsPage) return [0, 0];\n\n // First get initial y for scrolled page\n const initialY = getAvailableInitialY(isExistsPage, page.attr, zoom);\n\n const pageItems = isExistsPage.querySelectorAll('.reportItemWrapper');\n if (!pageItems.length) return [0, initialY];\n\n // Then get available space if there any items\n return [...pageItems].reduce((accum, item) => {\n const _accum = accum;\n const { style: { left, top } } = item;\n const coordinate = [parseInt(left, 10), parseInt(top, 10)];\n if (_accum[0] === coordinate[0] && _accum[1] === coordinate[1]) {\n _accum[0] = _accum[0] + 50;\n _accum[1] = _accum[1] + 50;\n }\n return _accum;\n }, [0, initialY]);\n};\n\nexport function safeJSONParse(str, defVal = {}) {\n if (str) {\n try {\n return JSON.parse(str);\n } catch (ex) {\n return defVal;\n }\n } else {\n return defVal;\n }\n}\n\n/* View in fullscreen */\nexport const openFullscreenHelper = (elem = document.documentElement) => {\n if (elem.requestFullscreen) {\n return elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) { /* Firefox */\n return elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\n return elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\n return elem.msRequestFullscreen();\n }\n return Promise.resolve();\n};\n\n/* Close fullscreen */\nexport const closeFullscreen = () => {\n if (document.fullscreenElement\n || document.webkitFullscreenElement\n || document.mozFullScreenElement) {\n if (document.exitFullscreen) {\n return document.exitFullscreen();\n } else if (document.mozCancelFullScreen) { /* Firefox */\n return document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */\n return document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) { /* IE/Edge */\n return document.msExitFullscreen();\n }\n }\n return Promise.resolve();\n};\n\nexport const imageSizeUpdater = (item, { objectURL, url }, updateFunc) => {\n const MAX_WIDTH = 700;\n const MAX_HEIGHT = 600;\n const image = new global.Image();\n image.src = objectURL || url;\n\n image.onerror = () => {\n updateFunc(item, { url });\n };\n\n image.onload = () => {\n const { naturalHeight, naturalWidth } = image;\n let _width = naturalWidth;\n let _height = naturalHeight;\n\n if (naturalWidth > MAX_WIDTH) {\n _height = parseInt((MAX_WIDTH * naturalHeight) / naturalWidth, 10);\n _width = MAX_WIDTH;\n }\n\n if (_height > MAX_HEIGHT) {\n _width = parseInt((_width * MAX_HEIGHT) / _height, 10);\n _height = MAX_HEIGHT;\n }\n\n if (objectURL) {\n URL.revokeObjectURL(objectURL);\n }\n\n updateFunc(\n item, {\n height: _height,\n url: url,\n width: _width,\n },\n );\n };\n};\n\nexport const onChangeFunction = (\n config,\n updateFunc,\n selectedItem,\n customUpdater,\n) => (item, setting) => {\n if (config && config.ifValueEquals) {\n const value = setting[config.key];\n if (config.ifValueEquals[value]) {\n const settingsWillBeChanged = Object.keys(config.ifValueEquals[value])\n .reduce(\n (newSettings,\n settingKey) => {\n const { ifIsEqualPreviousValue } = config.ifValueEquals[value][settingKey];\n const { cast } = config.ifValueEquals[value][settingKey];\n let { value: newSetting } = config.ifValueEquals[value][settingKey];\n const _newSettings = newSettings;\n if (typeof newSetting !== 'string') {\n _newSettings[settingKey] = newSetting;\n return _newSettings;\n }\n const matches = newSetting.match(/{.+?}/g);\n if (matches && matches.length > 0) {\n newSetting = matches.reduce((acc, curr) => {\n let _acc = acc;\n const newValue = selectedItem[\n curr.replace(/\\{|\\}/gi, '')\n ];\n _acc = newSetting.replace(curr, newValue);\n if (cast && cast === 'integer') {\n return parseInt(_acc, 10);\n }\n return _acc;\n }, newSetting);\n }\n if (ifIsEqualPreviousValue && ifIsEqualPreviousValue !== selectedItem[settingKey]) {\n return _newSettings;\n }\n _newSettings[settingKey] = newSetting;\n return _newSettings;\n }, {},\n );\n if (customUpdater) {\n customUpdater(item, {\n ...setting,\n ...settingsWillBeChanged,\n }, updateFunc);\n } else {\n updateFunc(item, {\n ...setting,\n ...settingsWillBeChanged,\n });\n }\n } else if (customUpdater) {\n customUpdater(item, setting, updateFunc);\n } else {\n updateFunc(item, setting);\n }\n } else if (config.useImageSizeUpdate) {\n imageSizeUpdater(item, setting, updateFunc);\n } else if (customUpdater) {\n customUpdater(item, setting, updateFunc);\n } else {\n updateFunc(item, setting);\n }\n};\n\nexport const exportPagesAsJSON = (acceptedItems, pages) => {\n const newPages = pages.map(page => {\n const items = page.items.map(pageItem => {\n const { details } = acceptedItems[pageItem.itemType];\n return {\n ...objectDiff(details, pageItem),\n type: details.itemType,\n };\n });\n return {\n items,\n type: 'regular',\n };\n });\n return JSON.stringify(newPages, null, 2);\n};\n\nexport const getExactIconType = iconType => {\n if (iconType.indexOf('_') > -1) {\n const splitIconType = iconType.split('_');\n return splitIconType[0] + splitIconType[1].charAt(0).toUpperCase() + splitIconType[1].slice(1);\n }\n return iconType;\n};\n\nexport function clipBoardHelper(string = '') {\n const urlElement = document.createElement('textarea');\n urlElement.value = string;\n document.body.appendChild(urlElement);\n urlElement.select();\n document.execCommand('Copy');\n document.body.removeChild(urlElement);\n}\n\nconst arrayMoveMutate = (array, from, to) => {\n const startIndex = from < 0 ? array.length + from : from;\n\n if (startIndex >= 0 && startIndex < array.length) {\n const endIndex = to < 0 ? array.length + to : to;\n\n const [item] = array.splice(from, 1);\n array.splice(endIndex, 0, item);\n }\n};\n\nexport const arrayMove = (array, from, to) => {\n const newArray = [...array];\n arrayMoveMutate(newArray, from, to);\n return newArray;\n};\n\nexport const getZoomValue = ({\n isFullscreen,\n limitZoom,\n settings,\n useFixedPresentationBar,\n useProgressBar,\n}) => {\n const { reportLayoutHeight = 794, reportLayoutWidth = 1123 } = settings;\n\n const { innerHeight, innerWidth } = window;\n\n let paddingValue = 0;\n\n if (!isFullscreen) { // We are not using fixed bar in fullscreen\n const padFixedBar = useFixedPresentationBar ? 50 : 0;\n const padProgressBar = useProgressBar ? 3 : 0;\n\n paddingValue += (padFixedBar + padProgressBar);\n }\n\n const _innerHeight = innerHeight - paddingValue;\n\n let newScale = Math.min(\n (innerWidth - (limitZoom ? 400 : 0)) / reportLayoutWidth,\n _innerHeight / reportLayoutHeight,\n );\n\n if (limitZoom) {\n newScale = Math.floor(newScale * 10) / 10;\n } else {\n // We need this to prevent scrollbars\n newScale = Math.floor(newScale * 100) / 100;\n }\n\n let newZoom = Number(newScale.toFixed(2));\n\n if (limitZoom && newZoom < 0.5) newZoom = 0.5;\n if (limitZoom && newZoom > 1) newZoom = 1;\n\n return newZoom;\n};\n\nexport const throttle = (fn, delay) => {\n let lastCall = 0;\n return (...args) => {\n const now = (new Date()).getTime();\n if (now - lastCall < delay) {\n return;\n }\n lastCall = now;\n return fn(...args);\n };\n};\n\nexport const roundForDecimalPart = num => {\n return +(`${Math.round(`${num}e+2`)}e-2`);\n};\n\nexport const changePage = ({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n}) => () => {\n if (currentPage + action > pageCount) {\n setCurrentPage(1);\n } else if (currentPage + action === 0) {\n setCurrentPage(pageCount);\n } else {\n setCurrentPage(currentPage + action);\n }\n};\n\nexport const getScaleForPageThumbnail = (width, height) => {\n const [thumbnailMaxHeight, thumbnailMaxWidth] = [110, 156];\n const scale = thumbnailMaxHeight / height;\n if (Math.ceil(width * scale) >= thumbnailMaxWidth) {\n const newScale = thumbnailMaxWidth / width;\n return {\n left: 0,\n scale: newScale,\n top: thumbnailMaxHeight > height * newScale\n ? (thumbnailMaxHeight - (height * newScale)) / 2 : 0,\n };\n }\n return {\n left: thumbnailMaxWidth > width * scale\n ? (thumbnailMaxWidth - (width * scale)) / 2 : 0,\n scale,\n top: 0,\n };\n};\n\nexport const getScaleForPageThumbnailLarge = (width, height) => {\n const thumbnailMaxHeight = 134;\n const thumbnailMaxWidth = 190;\n const defaultScaleRatio = thumbnailMaxHeight / height;\n if (width * defaultScaleRatio > thumbnailMaxWidth) {\n return thumbnailMaxWidth / width;\n }\n return defaultScaleRatio;\n};\n\nexport const scrollToTarget = (id, timeout = 0, options = { behavior: 'smooth' }) => {\n setTimeout(() => {\n const target = document.getElementById(id);\n if (target) {\n target.scrollIntoView(options);\n }\n }, timeout);\n};\n\nexport function normalizeHexColor(value) {\n let v = value.trim();\n if (!v.startsWith('#')) v = `#${v}`;\n return v;\n}\n\nexport function isValidHexColor(value) {\n return /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);\n}\n\nexport const emptyFunction = f => f;\n\nexport const isItemInSelectionBox = (selectionBox, item, zoom = 1) => {\n const boxLeft = Math.min(selectionBox.startX, selectionBox.endX);\n const boxTop = Math.min(selectionBox.startY, selectionBox.endY);\n const boxRight = Math.max(selectionBox.startX, selectionBox.endX);\n const boxBottom = Math.max(selectionBox.startY, selectionBox.endY);\n\n const itemLeft = item.left * zoom;\n const itemTop = item.top * zoom;\n const itemRight = (item.left + item.width) * zoom;\n const itemBottom = (item.top + item.height) * zoom;\n\n // Check if rectangles intersect\n return !(\n boxRight < itemLeft\n || boxLeft > itemRight\n || boxBottom < itemTop\n || boxTop > itemBottom\n );\n};\n\nexport const getItemsInSelectionBox = (selectionBox, items, zoom = 1) => {\n return items\n .filter(item => !item.isLocked && isItemInSelectionBox(selectionBox, item, zoom))\n .map(item => item.id);\n};\n\nexport const getDimensions = ({\n height, left, top, width,\n}) => {\n return {\n height,\n left,\n top,\n width,\n };\n};\n\n/** @param {'NAVIGATOR' | 'PANEL'} mode */\nexport const isSlidesListType = (slidesListType, mode) => slidesListType === SLIDES_LIST_TYPE_MAP[mode];\n"],"names":["roundPositionValues","height","left","top","width","rest","undefined","Math","round","getCorrectDroppedOffsetValue","finalOffset","initialOffset","dropTargetPosition","zoom","finalX","x","finalY","y","initialX","initialY","newYposition","newXposition","getStyles","isDragging","opacity","position","isSelectedItem","id","activeElements","includes","findItemById","itemID","pages","page","find","p","items","item","traverse","obj","condition","split","reduce","cur","key","hideOrShowWhen","selectedItem","setting","itemAccessor","hideSettings","visible","hideWhen","showWhen","hideCondition","conditionType","conditions","Object","keys","every","conditionKey","conditionOfSelectedItem","length","Array","isArray","returnValue","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","direction","isItem","start","middle","parseInt","end","result","map","test","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","box","currentBoxGuidesAlongGivenAxis","filter","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getMatchesForItem","pageGuides","pageID","_guides","getCoordinatesFromMatches","matches","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","adjustedValue","getPosition","e","posx","posy","pageX","pageY","clientX","clientY","document","body","scrollLeft","documentElement","scrollTop","getContainerPositions","container","positions","windowWidth","global","innerWidth","clientWidth","windowHeight","innerHeight","clientHeight","newPosition","getBoundingClientRect","contextHeight","contextWidth","newPositions","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","colluded","currIndex","moveArrayItem","array","initialIndex","targetIndex","splice","getFileName","url","pop","getImageSizes","callback","img","Image","addEventListener","src","getVisibleHeightPx","viewportRect","rect","viewportHeight","bottom","elRect","px","absTop","getMostVisiblePage","onlyId","viewport","querySelector","elements","from","querySelectorAll","calculations","acc","getAttribute","sort","n","attr","getAvailableInitialY","attribute","pageHeight","originalPageHeight","originalVisibleHeight","getAvailableCoordinate","isExistsPage","pageItems","accum","_accum","style","coordinate","safeJSONParse","str","defVal","JSON","parse","ex","openFullscreenHelper","elem","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","Promise","resolve","closeFullscreen","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","imageSizeUpdater","updateFunc","objectURL","MAX_WIDTH","MAX_HEIGHT","image","onerror","onload","naturalHeight","naturalWidth","_width","_height","URL","revokeObjectURL","onChangeFunction","customUpdater","ifValueEquals","settingsWillBeChanged","newSettings","settingKey","ifIsEqualPreviousValue","cast","newSetting","_newSettings","match","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","indexOf","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","newArray","getZoomValue","isFullscreen","limitZoom","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","scrollToTarget","timeout","options","behavior","setTimeout","target","getElementById","scrollIntoView","normalizeHexColor","v","trim","startsWith","isValidHexColor","emptyFunction","f","isItemInSelectionBox","selectionBox","boxLeft","startX","endX","boxTop","startY","endY","boxRight","max","boxBottom","itemLeft","itemTop","itemRight","itemBottom","getItemsInSelectionBox","isLocked","getDimensions","isSlidesListType","slidesListType","mode","SLIDES_LIST_TYPE_MAP"],"mappings":"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"}
|
package/lib/cjs/utils/hooks.js
CHANGED
|
@@ -62,6 +62,30 @@ var useEventListener = function useEventListener(eventName, handler) {
|
|
|
62
62
|
};
|
|
63
63
|
}, [eventName, element]);
|
|
64
64
|
};
|
|
65
|
+
var useResizeListener = function useResizeListener() {
|
|
66
|
+
var condition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
67
|
+
|
|
68
|
+
var _useState3 = React.useState(function () {
|
|
69
|
+
return typeof window !== 'undefined' ? window.innerWidth : 0;
|
|
70
|
+
}),
|
|
71
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
72
|
+
innerWidth = _useState4[0],
|
|
73
|
+
setInnerWidth = _useState4[1];
|
|
74
|
+
|
|
75
|
+
var handleResize = React.useCallback(function () {
|
|
76
|
+
if (typeof window !== 'undefined') {
|
|
77
|
+
setInnerWidth(window.innerWidth);
|
|
78
|
+
}
|
|
79
|
+
}, []);
|
|
80
|
+
React.useEffect(function () {
|
|
81
|
+
if (condition && typeof window !== 'undefined') {
|
|
82
|
+
setInnerWidth(window.innerWidth);
|
|
83
|
+
}
|
|
84
|
+
}, [condition]);
|
|
85
|
+
var target = condition && typeof window !== 'undefined' ? window : null;
|
|
86
|
+
useEventListener('resize', handleResize, target);
|
|
87
|
+
return innerWidth;
|
|
88
|
+
};
|
|
65
89
|
var usePrevious = function usePrevious(value) {
|
|
66
90
|
var ref = React.useRef();
|
|
67
91
|
React.useEffect(function () {
|
|
@@ -74,12 +98,12 @@ var usePropState = function usePropState(propValue) {
|
|
|
74
98
|
return v;
|
|
75
99
|
};
|
|
76
100
|
|
|
77
|
-
var
|
|
101
|
+
var _useState5 = React.useState(function () {
|
|
78
102
|
return transform(propValue);
|
|
79
103
|
}),
|
|
80
|
-
|
|
81
|
-
state =
|
|
82
|
-
setState =
|
|
104
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
105
|
+
state = _useState6[0],
|
|
106
|
+
setState = _useState6[1];
|
|
83
107
|
|
|
84
108
|
React.useEffect(function () {
|
|
85
109
|
setState(transform(propValue));
|
|
@@ -264,6 +288,7 @@ exports.usePageTransition = usePageTransition;
|
|
|
264
288
|
exports.usePageVisibility = usePageVisibility;
|
|
265
289
|
exports.usePrevious = usePrevious;
|
|
266
290
|
exports.usePropState = usePropState;
|
|
291
|
+
exports.useResizeListener = useResizeListener;
|
|
267
292
|
exports.useSelectedElements = useSelectedElements;
|
|
268
293
|
exports.useTranslatedTexts = useTranslatedTexts;
|
|
269
294
|
//# sourceMappingURL=hooks.js.map
|