@jotforminc/dnd-builder 2.9.8 → 2.9.10
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 +9 -0
- package/lib/cjs/components/Builder/Builder.js +0 -1
- package/lib/cjs/components/Builder/Builder.js.map +1 -1
- package/lib/cjs/components/Settings/ColorPicker.js +6 -3
- package/lib/cjs/components/Settings/ColorPicker.js.map +1 -1
- package/lib/cjs/utils/functions.js +12 -0
- package/lib/cjs/utils/functions.js.map +1 -1
- package/lib/esm/components/Builder/Builder.js +0 -1
- package/lib/esm/components/Builder/Builder.js.map +1 -1
- package/lib/esm/components/Settings/ColorPicker.js +6 -3
- package/lib/esm/components/Settings/ColorPicker.js.map +1 -1
- package/lib/esm/utils/functions.js +11 -1
- package/lib/esm/utils/functions.js.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.9.10](https://github.com/jotform/dnd-builder/compare/v2.9.9...v2.9.10) (2025-11-13)
|
|
6
|
+
|
|
7
|
+
### [2.9.9](https://github.com/jotform/dnd-builder/compare/v2.9.8...v2.9.9) (2025-11-13)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **colorpicker:** validate hex color code ([215d1e7](https://github.com/jotform/dnd-builder/commit/215d1e712aaf9a1363c6f3b191288368bfbe16f4))
|
|
13
|
+
|
|
5
14
|
### [2.9.8](https://github.com/jotform/dnd-builder/compare/v2.9.7...v2.9.8) (2025-10-14)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -13,7 +13,6 @@ var LeftPanel = require('../Panels/LeftPanel/LeftPanel.js');
|
|
|
13
13
|
var SlidesPanel = require('../Panels/SlidesPanel/SlidesPanel.js');
|
|
14
14
|
var AllSlidesPanel = require('../Panels/AllSlidesPanel/AllSlidesPanel.js');
|
|
15
15
|
var propTypes = require('../../constants/propTypes.js');
|
|
16
|
-
require('intersection-observer');
|
|
17
16
|
require('../../styles/jfReportsBundle.scss');
|
|
18
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\n\nimport 'intersection-observer';\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n itemAccessor,\n lastScrollPosition,\n leftPanelConfig,\n onAnEventTrigger,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onRightPanelsToggled,\n onSettingChange,\n pages,\n settings,\n theme,\n useExperimentalFeatures,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nBuilder.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n itemAccessor: () => { },\n lastScrollPosition: 0,\n leftPanelConfig: [],\n onAnEventTrigger: () => { },\n onItemAdd: () => { },\n onItemChange: () => { },\n onItemMove: () => { },\n onItemRemove: () => { },\n onItemResize: () => { },\n onItemsMove: () => { },\n onPageAdd: () => { },\n onPageChange: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n onRightPanelsToggled: () => { },\n onSettingChange: () => { },\n pages: [],\n settings: {},\n theme: 'lightMode',\n useExperimentalFeatures: false,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","StrictMode","BuilderProvider","PropProvider","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\n\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n itemAccessor,\n lastScrollPosition,\n leftPanelConfig,\n onAnEventTrigger,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onRightPanelsToggled,\n onSettingChange,\n pages,\n settings,\n theme,\n useExperimentalFeatures,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nBuilder.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n itemAccessor: () => { },\n lastScrollPosition: 0,\n leftPanelConfig: [],\n onAnEventTrigger: () => { },\n onItemAdd: () => { },\n onItemChange: () => { },\n onItemMove: () => { },\n onItemRemove: () => { },\n onItemResize: () => { },\n onItemsMove: () => { },\n onPageAdd: () => { },\n onPageChange: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n onRightPanelsToggled: () => { },\n onSettingChange: () => { },\n pages: [],\n settings: {},\n theme: 'lightMode',\n useExperimentalFeatures: false,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","StrictMode","BuilderProvider","PropProvider","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool","defaultProps"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ var reactColor = require('react-color');
|
|
|
9
9
|
var withClickOutside = require('../withClickOutside.js');
|
|
10
10
|
var hooks = require('../../utils/hooks.js');
|
|
11
11
|
var Textbox = require('./Textbox.js');
|
|
12
|
+
var functions = require('../../utils/functions.js');
|
|
12
13
|
var jsxRuntime = require('react/jsx-runtime');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -52,10 +53,12 @@ var ColorPicker = function ColorPicker(_ref) {
|
|
|
52
53
|
var pickerRef = React.useRef(null);
|
|
53
54
|
|
|
54
55
|
var handleInputChange = function handleInputChange(_item, _config) {
|
|
55
|
-
var newValue = _config[Object.keys(_config)[0]];
|
|
56
|
+
var newValue = functions.normalizeHexColor(_config[Object.keys(_config)[0]]);
|
|
56
57
|
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
if (functions.isValidHexColor(newValue)) {
|
|
59
|
+
setColorValue(newValue);
|
|
60
|
+
onItemChange(_item, _config);
|
|
61
|
+
}
|
|
59
62
|
};
|
|
60
63
|
|
|
61
64
|
var checkPickerVisibility = function checkPickerVisibility() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = _config[Object.keys(_config)[0]];\n setColorValue(newValue);\n
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\nimport { isValidHexColor, normalizeHexColor } from '../../utils/functions';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = normalizeHexColor(_config[Object.keys(_config)[0]]);\n if (isValidHexColor(newValue)) {\n setColorValue(newValue);\n onItemChange(_item, _config);\n }\n };\n\n const checkPickerVisibility = () => isPickerVisible && setIsPickerVisible(false);\n useEventListener('resize', checkPickerVisibility);\n\n const handleOnChange = ({ hex }) => {\n if (hex !== colorValue) {\n setColorValue(hex);\n }\n };\n\n const handleColorPick = ({ hex }) => {\n if (hex !== value) {\n onItemChange(\n { id: item.id },\n { [config.key]: hex },\n );\n }\n };\n\n const setPickerVisibility = visibility => event => {\n if (visibility && window.innerHeight - event.clientY < 327) {\n setTimeout(() => {\n if (\n pickerRef.current\n && pickerRef.current.firstChild\n && pickerRef.current.firstChild.firstChild\n ) {\n pickerRef.current.firstChild.firstChild.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n }\n }, 0);\n }\n setIsPickerVisible(visibility);\n };\n\n return (\n <>\n <div\n className={`colorPicker-wrapper p-relative d-flex a-center${\n isPickerVisible ? ' pickerVisible' : ''\n }`}\n data-key={config.key}\n onClick={setPickerVisibility(!isPickerVisible)}\n onKeyPress={() => {}}\n >\n <Textbox\n config={config}\n item={item}\n onItemChange={handleInputChange}\n value={colorValue}\n />\n <div\n className=\"colorPicker-preview\"\n style={{ backgroundColor: colorValue }}\n />\n </div>\n {isPickerVisible\n && (\n <div\n ref={pickerRef}\n onKeyDown={e => e.stopPropagation()}\n >\n <ColorPickerWithClickOutside\n color={colorValue}\n disableAlpha={true}\n exceptionalClasses={[`colorPicker-wrapper[data-key='${config.key}']`]}\n onChange={handleOnChange}\n onChangeComplete={handleColorPick}\n onClickOutside={setPickerVisibility(false)}\n presetColors={COLOR_PRESETS}\n withClickOutsideWrapperClass=\"colorPicker-holder\"\n />\n </div>\n )}\n </>\n );\n};\n\nColorPicker.propTypes = {\n config: PropTypes.shape({\n defaultValue: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nColorPicker.defaultProps = {\n config: [],\n item: {},\n onItemChange: () => {},\n value: '',\n};\n\nexport default memo(ColorPicker);\n"],"names":["COLOR_PRESETS","ColorPickerWithClickOutside","withClickOutside","SketchPicker","ColorPicker","config","item","onItemChange","value","defaultValue","useState","isPickerVisible","setIsPickerVisible","colorValue","setColorValue","pickerRef","useRef","handleInputChange","_item","_config","newValue","normalizeHexColor","Object","keys","isValidHexColor","checkPickerVisibility","useEventListener","handleOnChange","hex","handleColorPick","id","key","setPickerVisibility","visibility","event","window","innerHeight","clientY","setTimeout","current","firstChild","scrollIntoView","behavior","block","_jsxs","_jsx","backgroundColor","e","stopPropagation","propTypes","PropTypes","shape","string","options","arrayOf","any","func","defaultProps","memo"],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ require('core-js/modules/es.string.iterator.js');
|
|
|
22
22
|
require('core-js/modules/es.string.match.js');
|
|
23
23
|
require('core-js/modules/es.string.replace.js');
|
|
24
24
|
require('core-js/modules/es.string.split.js');
|
|
25
|
+
require('core-js/modules/es.string.starts-with.js');
|
|
26
|
+
require('core-js/modules/es.string.trim.js');
|
|
25
27
|
require('core-js/modules/web.dom-collections.for-each.js');
|
|
26
28
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
27
29
|
require('core-js/modules/web.url.js');
|
|
@@ -809,6 +811,14 @@ var scrollToTarget = function scrollToTarget(id) {
|
|
|
809
811
|
}
|
|
810
812
|
}, timeout);
|
|
811
813
|
};
|
|
814
|
+
function normalizeHexColor(value) {
|
|
815
|
+
var v = value.trim();
|
|
816
|
+
if (!v.startsWith('#')) v = "#".concat(v);
|
|
817
|
+
return v;
|
|
818
|
+
}
|
|
819
|
+
function isValidHexColor(value) {
|
|
820
|
+
return /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);
|
|
821
|
+
}
|
|
812
822
|
|
|
813
823
|
exports.arrayMove = arrayMove;
|
|
814
824
|
exports.calculateGuidePositions = calculateGuidePositions;
|
|
@@ -836,8 +846,10 @@ exports.getTabsWithElements = getTabsWithElements;
|
|
|
836
846
|
exports.getTabsWithSettings = getTabsWithSettings;
|
|
837
847
|
exports.getVisibleHeightPx = getVisibleHeightPx;
|
|
838
848
|
exports.imageSizeUpdater = imageSizeUpdater;
|
|
849
|
+
exports.isValidHexColor = isValidHexColor;
|
|
839
850
|
exports.moveArrayItem = moveArrayItem;
|
|
840
851
|
exports.moveItemInArrayFromIndexToIndex = moveItemInArrayFromIndexToIndex;
|
|
852
|
+
exports.normalizeHexColor = normalizeHexColor;
|
|
841
853
|
exports.onChangeFunction = onChangeFunction;
|
|
842
854
|
exports.openFullscreenHelper = openFullscreenHelper;
|
|
843
855
|
exports.proximityListener = proximityListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport objectDiff from './object-diff';\n\nexport const getCorrectDroppedOffsetValue = (monitor, clientRect, zoom = 1) => {\n const dropTargetPosition = clientRect;\n\n const { x: finalX, y: finalY } = monitor.getSourceClientOffset();\n const { x: initialX, y: initialY } = monitor.getInitialSourceClientOffset();\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\nconst isSelected = (id, activeElements) => {\n if (activeElements === null) return id === activeElements;\n return activeElements.indexOf(id) !== -1;\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\nexport const getSelectedItems = (selectedItemsIds, pages) => {\n const page = pages.find(p => p.items.find(item => isSelected(item.id, selectedItemsIds)));\n if (!page) return null;\n return page.items.filter(item => isSelected(item.id, selectedItemsIds));\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) => {\n const isItem = dimensions && dimensions.id;\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 if (isItem) return [start, middle, end].map(p => p * zoom);\n return [start, middle, end];\n }\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n if (isItem) return [start, middle, end].map(p => p * zoom);\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 getCorrectDroppedOffsetValueBySnap = (coords, guides, itemID, pages, zoom) => {\n let newItem = findItemById(itemID, pages);\n newItem = { ...newItem, ...coords };\n const pageGuides = guides[newItem.pageID];\n const _guides = {\n ...pageGuides,\n [itemID]: {\n ...pageGuides[itemID],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n const match = proximityListener(itemID, _guides);\n let newActiveBoxLeft = newItem.left;\n let newActiveBoxTop = newItem.top;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\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 zoomHandler = ({\n handler,\n isFullscreen,\n isModeCustomize,\n limitZoom,\n onLoad,\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 handler(newZoom, isModeCustomize, reportLayoutWidth, onLoad);\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"],"names":["getCorrectDroppedOffsetValue","monitor","clientRect","zoom","dropTargetPosition","getSourceClientOffset","finalX","x","finalY","y","getInitialSourceClientOffset","initialX","initialY","newYposition","top","newXposition","left","getStyles","isDragging","height","opacity","position","isSelected","id","activeElements","indexOf","findItemById","itemID","pages","page","find","p","items","item","getSelectedItems","selectedItemsIds","filter","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","includes","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","isItem","start","middle","parseInt","width","end","map","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","result","box","currentBoxGuidesAlongGivenAxis","undefined","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","Math","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getCorrectDroppedOffsetValueBySnap","coords","newItem","pageGuides","pageID","_guides","match","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","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","moveItemInArrayFromIndexToIndex","array","fromIndex","toIndex","newArray","target","inc","i","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","direction","colluded","currIndex","moveArrayItem","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","matches","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","zoomHandler","handler","isFullscreen","isModeCustomize","limitZoom","onLoad","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","round","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","getScaleForPageThumbnailLarge","defaultScaleRatio","scrollToTarget","timeout","options","behavior","setTimeout","getElementById","scrollIntoView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport objectDiff from './object-diff';\n\nexport const getCorrectDroppedOffsetValue = (monitor, clientRect, zoom = 1) => {\n const dropTargetPosition = clientRect;\n\n const { x: finalX, y: finalY } = monitor.getSourceClientOffset();\n const { x: initialX, y: initialY } = monitor.getInitialSourceClientOffset();\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\nconst isSelected = (id, activeElements) => {\n if (activeElements === null) return id === activeElements;\n return activeElements.indexOf(id) !== -1;\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\nexport const getSelectedItems = (selectedItemsIds, pages) => {\n const page = pages.find(p => p.items.find(item => isSelected(item.id, selectedItemsIds)));\n if (!page) return null;\n return page.items.filter(item => isSelected(item.id, selectedItemsIds));\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) => {\n const isItem = dimensions && dimensions.id;\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 if (isItem) return [start, middle, end].map(p => p * zoom);\n return [start, middle, end];\n }\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n if (isItem) return [start, middle, end].map(p => p * zoom);\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 getCorrectDroppedOffsetValueBySnap = (coords, guides, itemID, pages, zoom) => {\n let newItem = findItemById(itemID, pages);\n newItem = { ...newItem, ...coords };\n const pageGuides = guides[newItem.pageID];\n const _guides = {\n ...pageGuides,\n [itemID]: {\n ...pageGuides[itemID],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n const match = proximityListener(itemID, _guides);\n let newActiveBoxLeft = newItem.left;\n let newActiveBoxTop = newItem.top;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\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 zoomHandler = ({\n handler,\n isFullscreen,\n isModeCustomize,\n limitZoom,\n onLoad,\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 handler(newZoom, isModeCustomize, reportLayoutWidth, onLoad);\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"],"names":["getCorrectDroppedOffsetValue","monitor","clientRect","zoom","dropTargetPosition","getSourceClientOffset","finalX","x","finalY","y","getInitialSourceClientOffset","initialX","initialY","newYposition","top","newXposition","left","getStyles","isDragging","height","opacity","position","isSelected","id","activeElements","indexOf","findItemById","itemID","pages","page","find","p","items","item","getSelectedItems","selectedItemsIds","filter","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","includes","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","isItem","start","middle","parseInt","width","end","map","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","result","box","currentBoxGuidesAlongGivenAxis","undefined","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","Math","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getCorrectDroppedOffsetValueBySnap","coords","newItem","pageGuides","pageID","_guides","match","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","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","moveItemInArrayFromIndexToIndex","array","fromIndex","toIndex","newArray","target","inc","i","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","direction","colluded","currIndex","moveArrayItem","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","matches","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","zoomHandler","handler","isFullscreen","isModeCustomize","limitZoom","onLoad","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","round","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","getScaleForPageThumbnailLarge","defaultScaleRatio","scrollToTarget","timeout","options","behavior","setTimeout","getElementById","scrollIntoView","normalizeHexColor","v","trim","startsWith","isValidHexColor","test"],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ import LeftPanel from '../Panels/LeftPanel/LeftPanel.js';
|
|
|
11
11
|
import SlidesPanel from '../Panels/SlidesPanel/SlidesPanel.js';
|
|
12
12
|
import AllSlidesPanel from '../Panels/AllSlidesPanel/AllSlidesPanel.js';
|
|
13
13
|
import { leftPanelConfigPropType } from '../../constants/propTypes.js';
|
|
14
|
-
import 'intersection-observer';
|
|
15
14
|
import '../../styles/jfReportsBundle.scss';
|
|
16
15
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
17
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\n\nimport 'intersection-observer';\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n itemAccessor,\n lastScrollPosition,\n leftPanelConfig,\n onAnEventTrigger,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onRightPanelsToggled,\n onSettingChange,\n pages,\n settings,\n theme,\n useExperimentalFeatures,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nBuilder.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n itemAccessor: () => { },\n lastScrollPosition: 0,\n leftPanelConfig: [],\n onAnEventTrigger: () => { },\n onItemAdd: () => { },\n onItemChange: () => { },\n onItemMove: () => { },\n onItemRemove: () => { },\n onItemResize: () => { },\n onItemsMove: () => { },\n onPageAdd: () => { },\n onPageChange: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n onRightPanelsToggled: () => { },\n onSettingChange: () => { },\n pages: [],\n settings: {},\n theme: 'lightMode',\n useExperimentalFeatures: false,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Builder.js","sources":["../../../../src/components/Builder/Builder.js"],"sourcesContent":["import { StrictMode } from 'react';\nimport PropTypes from 'prop-types';\nimport objectHash from 'object-hash';\nimport DndWrapper from './DndWrapper';\nimport { BuilderProvider } from '../../utils/builderContext';\nimport { PropProvider } from '../../utils/propContext';\nimport ReportWrapper from '../ReportWrapper';\nimport Scene from './Scene';\nimport RightPanel from '../Panels/RightPanel';\nimport LeftPanel from '../Panels/LeftPanel';\nimport SlidesPanel from '../Panels/SlidesPanel';\nimport AllSlidesPanel from '../Panels/AllSlidesPanel';\nimport { leftPanelConfigPropType } from '../../constants/propTypes';\n\nimport '../../styles/jfReportsBundle.scss';\n\nconst Builder = ({\n acceptedItems,\n additionalPageItems,\n disableInteraction,\n itemAccessor,\n lastScrollPosition,\n leftPanelConfig,\n onAnEventTrigger,\n onItemAdd,\n onItemChange,\n onItemMove,\n onItemRemove,\n onItemResize,\n onItemsMove,\n onPageAdd,\n onPageChange,\n onPageDuplicate,\n onPageOrdersChange,\n onPageRemove,\n onRightPanelsToggled,\n onSettingChange,\n pages,\n settings,\n theme,\n useExperimentalFeatures,\n ...otherProps\n}) => {\n const hashCode = objectHash(otherProps);\n\n return (\n <StrictMode>\n <BuilderProvider onRightPanelsToggled={onRightPanelsToggled}>\n <PropProvider\n acceptedItems={acceptedItems}\n disableInteraction={disableInteraction}\n onAnEventTrigger={onAnEventTrigger}\n settings={settings}\n useExperimentalFeatures={useExperimentalFeatures}\n >\n <ReportWrapper\n mode=\"customize\"\n pageCount={pages.length}\n theme={theme}\n >\n <DndWrapper>\n <LeftPanel\n leftPanelConfig={leftPanelConfig}\n onItemAdd={onItemAdd}\n />\n <Scene\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n lastScrollPosition={lastScrollPosition}\n onItemAdd={onItemAdd}\n onItemChange={onItemChange}\n onItemMove={onItemMove}\n onItemRemove={onItemRemove}\n onItemResize={onItemResize}\n onItemsMove={onItemsMove}\n onPageAdd={onPageAdd}\n onPageChange={onPageChange}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n </DndWrapper>\n <RightPanel\n itemAccessor={itemAccessor}\n onItemChange={onItemChange}\n onPageChange={onPageChange}\n onSettingChange={onSettingChange}\n pages={pages}\n />\n <SlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n {useExperimentalFeatures && (\n <AllSlidesPanel\n additionalPageItems={additionalPageItems}\n hashCode={hashCode}\n itemAccessor={itemAccessor}\n onPageAdd={onPageAdd}\n onPageDuplicate={onPageDuplicate}\n onPageOrdersChange={onPageOrdersChange}\n onPageRemove={onPageRemove}\n pages={pages}\n />\n )}\n </ReportWrapper>\n </PropProvider>\n </BuilderProvider>\n </StrictMode>\n );\n};\n\nBuilder.propTypes = {\n /** Items for to render in the report */\n acceptedItems: PropTypes.shape({}),\n /** Array of React components to render statically on each page (eg. watermark) */\n additionalPageItems: PropTypes.arrayOf(PropTypes.node),\n disableInteraction: PropTypes.arrayOf(PropTypes.string),\n /** To pass in extra props to items selectively */\n itemAccessor: PropTypes.func,\n lastScrollPosition: PropTypes.number,\n leftPanelConfig: leftPanelConfigPropType,\n /** To track and log user actions */\n onAnEventTrigger: PropTypes.func,\n /** Function called upon adding an item */\n onItemAdd: PropTypes.func,\n /** Function called upon editing an item */\n onItemChange: PropTypes.func,\n /** Function called upon moving an item */\n onItemMove: PropTypes.func,\n /** Function called upon removing an item */\n onItemRemove: PropTypes.func,\n /** Function called upon resizing an item */\n onItemResize: PropTypes.func,\n onItemsMove: PropTypes.func,\n /** Function called upon adding a page */\n onPageAdd: PropTypes.func,\n /** Function called upon editing a page */\n onPageChange: PropTypes.func,\n /** Function called upon duplicating a page */\n onPageDuplicate: PropTypes.func,\n /** Function called upon reordering pages */\n onPageOrdersChange: PropTypes.func,\n /** Function called upon removing a page */\n onPageRemove: PropTypes.func,\n /** Function called when the slides or the right panel is\n * toggled takes a boolean value to indicate whether or\n * not the panel is toggled open.\n */\n onRightPanelsToggled: PropTypes.func,\n /** Function called upon editing a general report setting */\n onSettingChange: PropTypes.func,\n /** Array of pages with their settings and items */\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n /** General report settings such as layout size and background color */\n settings: PropTypes.shape({}),\n /** Theme */\n theme: PropTypes.oneOf(['lightMode', 'darkMode']),\n useExperimentalFeatures: PropTypes.bool,\n};\n\nBuilder.defaultProps = {\n acceptedItems: {},\n additionalPageItems: [],\n disableInteraction: [],\n itemAccessor: () => { },\n lastScrollPosition: 0,\n leftPanelConfig: [],\n onAnEventTrigger: () => { },\n onItemAdd: () => { },\n onItemChange: () => { },\n onItemMove: () => { },\n onItemRemove: () => { },\n onItemResize: () => { },\n onItemsMove: () => { },\n onPageAdd: () => { },\n onPageChange: () => { },\n onPageDuplicate: () => { },\n onPageOrdersChange: () => { },\n onPageRemove: () => { },\n onRightPanelsToggled: () => { },\n onSettingChange: () => { },\n pages: [],\n settings: {},\n theme: 'lightMode',\n useExperimentalFeatures: false,\n};\n\nexport default Builder;\n"],"names":["Builder","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","lastScrollPosition","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onRightPanelsToggled","onSettingChange","pages","settings","theme","useExperimentalFeatures","otherProps","hashCode","objectHash","_jsx","_jsxs","length","propTypes","PropTypes","shape","arrayOf","node","string","func","number","leftPanelConfigPropType","oneOf","bool","defaultProps"],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { SketchPicker } from 'react-color';
|
|
|
5
5
|
import withClickOutside from '../withClickOutside.js';
|
|
6
6
|
import { useEventListener } from '../../utils/hooks.js';
|
|
7
7
|
import Textbox from './Textbox.js';
|
|
8
|
+
import { normalizeHexColor, isValidHexColor } from '../../utils/functions.js';
|
|
8
9
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
9
10
|
|
|
10
11
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -44,10 +45,12 @@ var ColorPicker = function ColorPicker(_ref) {
|
|
|
44
45
|
var pickerRef = useRef(null);
|
|
45
46
|
|
|
46
47
|
var handleInputChange = function handleInputChange(_item, _config) {
|
|
47
|
-
var newValue = _config[Object.keys(_config)[0]];
|
|
48
|
+
var newValue = normalizeHexColor(_config[Object.keys(_config)[0]]);
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
if (isValidHexColor(newValue)) {
|
|
51
|
+
setColorValue(newValue);
|
|
52
|
+
onItemChange(_item, _config);
|
|
53
|
+
}
|
|
51
54
|
};
|
|
52
55
|
|
|
53
56
|
var checkPickerVisibility = function checkPickerVisibility() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = _config[Object.keys(_config)[0]];\n setColorValue(newValue);\n
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sources":["../../../../src/components/Settings/ColorPicker.js"],"sourcesContent":["import { useState, memo, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SketchPicker } from 'react-color';\nimport withClickOutside from '../withClickOutside';\nimport { useEventListener } from '../../utils/hooks';\nimport Textbox from './Textbox';\nimport { isValidHexColor, normalizeHexColor } from '../../utils/functions';\n\nexport const COLOR_PRESETS = [\n '#D0021B',\n '#F5A623',\n '#F8E71C',\n '#8B572A',\n '#7ED321',\n '#417505',\n '#BD10E0',\n '#9013FE',\n '#4A90E2',\n '#50E3C2',\n '#B8E986',\n '#000000',\n '#4A4A4A',\n '#9B9B9B',\n '#FFF',\n '#FFFFFF',\n];\n\nexport const ColorPickerWithClickOutside = withClickOutside(SketchPicker);\n\nconst ColorPicker = ({\n config,\n item,\n onItemChange,\n value,\n}) => {\n const { defaultValue = '#FFFFFF' } = config;\n const [isPickerVisible, setIsPickerVisible] = useState(false);\n const [colorValue, setColorValue] = useState(value || defaultValue);\n const pickerRef = useRef(null);\n\n const handleInputChange = (_item, _config) => {\n const newValue = normalizeHexColor(_config[Object.keys(_config)[0]]);\n if (isValidHexColor(newValue)) {\n setColorValue(newValue);\n onItemChange(_item, _config);\n }\n };\n\n const checkPickerVisibility = () => isPickerVisible && setIsPickerVisible(false);\n useEventListener('resize', checkPickerVisibility);\n\n const handleOnChange = ({ hex }) => {\n if (hex !== colorValue) {\n setColorValue(hex);\n }\n };\n\n const handleColorPick = ({ hex }) => {\n if (hex !== value) {\n onItemChange(\n { id: item.id },\n { [config.key]: hex },\n );\n }\n };\n\n const setPickerVisibility = visibility => event => {\n if (visibility && window.innerHeight - event.clientY < 327) {\n setTimeout(() => {\n if (\n pickerRef.current\n && pickerRef.current.firstChild\n && pickerRef.current.firstChild.firstChild\n ) {\n pickerRef.current.firstChild.firstChild.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n }\n }, 0);\n }\n setIsPickerVisible(visibility);\n };\n\n return (\n <>\n <div\n className={`colorPicker-wrapper p-relative d-flex a-center${\n isPickerVisible ? ' pickerVisible' : ''\n }`}\n data-key={config.key}\n onClick={setPickerVisibility(!isPickerVisible)}\n onKeyPress={() => {}}\n >\n <Textbox\n config={config}\n item={item}\n onItemChange={handleInputChange}\n value={colorValue}\n />\n <div\n className=\"colorPicker-preview\"\n style={{ backgroundColor: colorValue }}\n />\n </div>\n {isPickerVisible\n && (\n <div\n ref={pickerRef}\n onKeyDown={e => e.stopPropagation()}\n >\n <ColorPickerWithClickOutside\n color={colorValue}\n disableAlpha={true}\n exceptionalClasses={[`colorPicker-wrapper[data-key='${config.key}']`]}\n onChange={handleOnChange}\n onChangeComplete={handleColorPick}\n onClickOutside={setPickerVisibility(false)}\n presetColors={COLOR_PRESETS}\n withClickOutsideWrapperClass=\"colorPicker-holder\"\n />\n </div>\n )}\n </>\n );\n};\n\nColorPicker.propTypes = {\n config: PropTypes.shape({\n defaultValue: PropTypes.string,\n key: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.any),\n }),\n item: PropTypes.shape({\n id: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n value: PropTypes.string,\n};\n\nColorPicker.defaultProps = {\n config: [],\n item: {},\n onItemChange: () => {},\n value: '',\n};\n\nexport default memo(ColorPicker);\n"],"names":["COLOR_PRESETS","ColorPickerWithClickOutside","withClickOutside","SketchPicker","ColorPicker","config","item","onItemChange","value","defaultValue","useState","isPickerVisible","setIsPickerVisible","colorValue","setColorValue","pickerRef","useRef","handleInputChange","_item","_config","newValue","normalizeHexColor","Object","keys","isValidHexColor","checkPickerVisibility","useEventListener","handleOnChange","hex","handleColorPick","id","key","setPickerVisibility","visibility","event","window","innerHeight","clientY","setTimeout","current","firstChild","scrollIntoView","behavior","block","_jsxs","_jsx","backgroundColor","e","stopPropagation","propTypes","PropTypes","shape","string","options","arrayOf","any","func","defaultProps","memo"],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ import 'core-js/modules/es.string.iterator.js';
|
|
|
18
18
|
import 'core-js/modules/es.string.match.js';
|
|
19
19
|
import 'core-js/modules/es.string.replace.js';
|
|
20
20
|
import 'core-js/modules/es.string.split.js';
|
|
21
|
+
import 'core-js/modules/es.string.starts-with.js';
|
|
22
|
+
import 'core-js/modules/es.string.trim.js';
|
|
21
23
|
import 'core-js/modules/web.dom-collections.for-each.js';
|
|
22
24
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
23
25
|
import 'core-js/modules/web.url.js';
|
|
@@ -805,6 +807,14 @@ var scrollToTarget = function scrollToTarget(id) {
|
|
|
805
807
|
}
|
|
806
808
|
}, timeout);
|
|
807
809
|
};
|
|
810
|
+
function normalizeHexColor(value) {
|
|
811
|
+
var v = value.trim();
|
|
812
|
+
if (!v.startsWith('#')) v = "#".concat(v);
|
|
813
|
+
return v;
|
|
814
|
+
}
|
|
815
|
+
function isValidHexColor(value) {
|
|
816
|
+
return /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value);
|
|
817
|
+
}
|
|
808
818
|
|
|
809
|
-
export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, getExactIconType, getFileName, getImageSizes, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getScaleForPageThumbnailLarge, getSelectedItems, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, imageSizeUpdater, moveArrayItem, moveItemInArrayFromIndexToIndex, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, safeJSONParse, scrollToTarget, throttle, zoomHandler };
|
|
819
|
+
export { arrayMove, calculateGuidePositions, changePage, checkValueProximities, closeFullscreen, collisionCheck, findItemById, findItemsOnPage, getAllGuidesForGivenAxisExceptActiveBox, getAvailableCoordinate, getContainerPositions, getCorrectDroppedOffsetValue, getCorrectDroppedOffsetValueBySnap, getExactIconType, getFileName, getImageSizes, getMostVisiblePage, getPosition, getScaleForPageThumbnail, getScaleForPageThumbnailLarge, getSelectedItems, getStyles, getTabsWithElements, getTabsWithSettings, getVisibleHeightPx, imageSizeUpdater, isValidHexColor, moveArrayItem, moveItemInArrayFromIndexToIndex, normalizeHexColor, onChangeFunction, openFullscreenHelper, proximityListener, roundForDecimalPart, safeJSONParse, scrollToTarget, throttle, zoomHandler };
|
|
810
820
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport objectDiff from './object-diff';\n\nexport const getCorrectDroppedOffsetValue = (monitor, clientRect, zoom = 1) => {\n const dropTargetPosition = clientRect;\n\n const { x: finalX, y: finalY } = monitor.getSourceClientOffset();\n const { x: initialX, y: initialY } = monitor.getInitialSourceClientOffset();\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\nconst isSelected = (id, activeElements) => {\n if (activeElements === null) return id === activeElements;\n return activeElements.indexOf(id) !== -1;\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\nexport const getSelectedItems = (selectedItemsIds, pages) => {\n const page = pages.find(p => p.items.find(item => isSelected(item.id, selectedItemsIds)));\n if (!page) return null;\n return page.items.filter(item => isSelected(item.id, selectedItemsIds));\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) => {\n const isItem = dimensions && dimensions.id;\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 if (isItem) return [start, middle, end].map(p => p * zoom);\n return [start, middle, end];\n }\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n if (isItem) return [start, middle, end].map(p => p * zoom);\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 getCorrectDroppedOffsetValueBySnap = (coords, guides, itemID, pages, zoom) => {\n let newItem = findItemById(itemID, pages);\n newItem = { ...newItem, ...coords };\n const pageGuides = guides[newItem.pageID];\n const _guides = {\n ...pageGuides,\n [itemID]: {\n ...pageGuides[itemID],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n const match = proximityListener(itemID, _guides);\n let newActiveBoxLeft = newItem.left;\n let newActiveBoxTop = newItem.top;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\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 zoomHandler = ({\n handler,\n isFullscreen,\n isModeCustomize,\n limitZoom,\n onLoad,\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 handler(newZoom, isModeCustomize, reportLayoutWidth, onLoad);\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"],"names":["getCorrectDroppedOffsetValue","monitor","clientRect","zoom","dropTargetPosition","getSourceClientOffset","finalX","x","finalY","y","getInitialSourceClientOffset","initialX","initialY","newYposition","top","newXposition","left","getStyles","isDragging","height","opacity","position","isSelected","id","activeElements","indexOf","findItemById","itemID","pages","page","find","p","items","item","getSelectedItems","selectedItemsIds","filter","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","includes","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","isItem","start","middle","parseInt","width","end","map","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","result","box","currentBoxGuidesAlongGivenAxis","undefined","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","Math","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getCorrectDroppedOffsetValueBySnap","coords","newItem","pageGuides","pageID","_guides","match","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","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","moveItemInArrayFromIndexToIndex","array","fromIndex","toIndex","newArray","target","inc","i","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","direction","colluded","currIndex","moveArrayItem","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","matches","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","zoomHandler","handler","isFullscreen","isModeCustomize","limitZoom","onLoad","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","round","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","getScaleForPageThumbnailLarge","defaultScaleRatio","scrollToTarget","timeout","options","behavior","setTimeout","getElementById","scrollIntoView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sources":["../../../src/utils/functions.js"],"sourcesContent":["/* global Image */\nimport objectDiff from './object-diff';\n\nexport const getCorrectDroppedOffsetValue = (monitor, clientRect, zoom = 1) => {\n const dropTargetPosition = clientRect;\n\n const { x: finalX, y: finalY } = monitor.getSourceClientOffset();\n const { x: initialX, y: initialY } = monitor.getInitialSourceClientOffset();\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\nconst isSelected = (id, activeElements) => {\n if (activeElements === null) return id === activeElements;\n return activeElements.indexOf(id) !== -1;\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\nexport const getSelectedItems = (selectedItemsIds, pages) => {\n const page = pages.find(p => p.items.find(item => isSelected(item.id, selectedItemsIds)));\n if (!page) return null;\n return page.items.filter(item => isSelected(item.id, selectedItemsIds));\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) => {\n const isItem = dimensions && dimensions.id;\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 if (isItem) return [start, middle, end].map(p => p * zoom);\n return [start, middle, end];\n }\n const start = dimensions.top;\n const middle = dimensions.top + parseInt(dimensions.height / 2, 10);\n const end = dimensions.top + dimensions.height;\n if (isItem) return [start, middle, end].map(p => p * zoom);\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 getCorrectDroppedOffsetValueBySnap = (coords, guides, itemID, pages, zoom) => {\n let newItem = findItemById(itemID, pages);\n newItem = { ...newItem, ...coords };\n const pageGuides = guides[newItem.pageID];\n const _guides = {\n ...pageGuides,\n [itemID]: {\n ...pageGuides[itemID],\n x: calculateGuidePositions(newItem, 'x', zoom),\n y: calculateGuidePositions(newItem, 'y', zoom),\n },\n };\n const match = proximityListener(itemID, _guides);\n let newActiveBoxLeft = newItem.left;\n let newActiveBoxTop = newItem.top;\n Object.keys(match).forEach(axis => {\n const { activeBoxGuides, matchedArray, proximity } = match[axis];\n const activeBoxProximityIndex = proximity.activeBoxIndex;\n const matchedBoxProximityIndex = proximity.matchedBoxIndex;\n if (axis === 'x') {\n if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxLeft = newItem.left - proximity.value;\n } else {\n newActiveBoxLeft = newItem.left + proximity.value;\n }\n } else if (activeBoxGuides[activeBoxProximityIndex] > matchedArray[matchedBoxProximityIndex]) {\n newActiveBoxTop = newItem.top - proximity.value;\n } else {\n newActiveBoxTop = newItem.top + proximity.value;\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 zoomHandler = ({\n handler,\n isFullscreen,\n isModeCustomize,\n limitZoom,\n onLoad,\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 handler(newZoom, isModeCustomize, reportLayoutWidth, onLoad);\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"],"names":["getCorrectDroppedOffsetValue","monitor","clientRect","zoom","dropTargetPosition","getSourceClientOffset","finalX","x","finalY","y","getInitialSourceClientOffset","initialX","initialY","newYposition","top","newXposition","left","getStyles","isDragging","height","opacity","position","isSelected","id","activeElements","indexOf","findItemById","itemID","pages","page","find","p","items","item","getSelectedItems","selectedItemsIds","filter","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","includes","getTabsWithSettings","element","settings","tabsWithSettings","_tabsWithSettings","defaultItem","settingSection","section","push","getTabsWithElements","leftPanelConfig","config","calculateGuidePositions","dimensions","axis","isItem","start","middle","parseInt","width","end","map","getAllGuidesForGivenAxisExceptActiveBox","allGuides","guidesForActiveBoxAlongGivenAxis","result","box","currentBoxGuidesAlongGivenAxis","undefined","guides","checkValueProximities","activeBoxGuidesInOneAxis","allOtherGuidesInOneAxis","proximity","intersection","matchedArray","snapThreshold","index","index2","index3","diff","Math","abs","activeBoxIndex","matchedBoxIndex","value","proximityListener","active","xAxisGuidesForActiveBox","yAxisGuidesForActiveBox","xAxisAllGuides","yAxisAllGuides","xAxisMatchedGuides","yAxisMatchedGuides","allMatchedGuides","activeBoxGuides","getCorrectDroppedOffsetValueBySnap","coords","newItem","pageGuides","pageID","_guides","match","newActiveBoxLeft","newActiveBoxTop","forEach","activeBoxProximityIndex","matchedBoxProximityIndex","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","moveItemInArrayFromIndexToIndex","array","fromIndex","toIndex","newArray","target","inc","i","findItemsOnPage","foundPage","coordsCollide","aTop","aLeft","bTop","bLeft","aWidth","aHeight","bWidth","bHeight","tolerance","toleranceDistance","collisionCheck","startIndex","direction","colluded","currIndex","moveArrayItem","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","matches","curr","_acc","newValue","replace","useImageSizeUpdate","getExactIconType","iconType","splitIconType","charAt","toUpperCase","slice","arrayMoveMutate","to","endIndex","arrayMove","zoomHandler","handler","isFullscreen","isModeCustomize","limitZoom","onLoad","useFixedPresentationBar","useProgressBar","reportLayoutHeight","reportLayoutWidth","window","paddingValue","padFixedBar","padProgressBar","_innerHeight","newScale","min","floor","newZoom","Number","toFixed","throttle","fn","delay","lastCall","now","Date","getTime","roundForDecimalPart","num","round","changePage","action","currentPage","pageCount","setCurrentPage","getScaleForPageThumbnail","thumbnailMaxHeight","thumbnailMaxWidth","scale","ceil","getScaleForPageThumbnailLarge","defaultScaleRatio","scrollToTarget","timeout","options","behavior","setTimeout","getElementById","scrollIntoView","normalizeHexColor","v","trim","startsWith","isValidHexColor","test"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,OAAD,EAAUC,UAAV,EAAmC;AAAA,MAAbC,IAAa,uEAAN,CAAM;AAC7E,MAAMC,kBAAkB,GAAGF,UAA3B;;AAEA,8BAAiCD,OAAO,CAACI,qBAAR,EAAjC;AAAA,MAAWC,MAAX,yBAAQC,CAAR;AAAA,MAAsBC,MAAtB,yBAAmBC,CAAnB;;AACA,8BAAqCR,OAAO,CAACS,4BAAR,EAArC;AAAA,MAAWC,QAAX,yBAAQJ,CAAR;AAAA,MAAwBK,QAAxB,yBAAqBH,CAArB;;AAEA,MAAMI,YAAY,GAAGL,MAAM,GAAGI,QAAT,GAChBA,QAAQ,IAAIJ,MAAM,GAAGI,QAAb,CAAT,GAAmCR,kBAAkB,CAACU,GADrC,GAEjBF,QAAQ,IAAIA,QAAQ,GAAGJ,MAAf,CAAR,GAAiCJ,kBAAkB,CAACU,GAFxD;AAIA,MAAMC,YAAY,GAAGT,MAAM,GAAGK,QAAT,GAChBA,QAAQ,IAAIL,MAAM,GAAGK,QAAb,CAAT,GAAmCP,kBAAkB,CAACY,IADrC,GAEjBL,QAAQ,IAAIA,QAAQ,GAAGL,MAAf,CAAR,GAAiCF,kBAAkB,CAACY,IAFxD;AAIA,SAAO;AACLA,IAAAA,IAAI,EAAED,YAAY,GAAGZ,IADhB;AAELW,IAAAA,GAAG,EAAED,YAAY,GAAGV;AAFf,GAAP;AAID;IAEYc,SAAS,GAAG,SAAZA,SAAY,CAACD,IAAD,EAAOF,GAAP,EAAYI,UAAZ,EAA2B;AAClD,SAAO;AACLC,IAAAA,MAAM,EAAED,UAAU,GAAG,CAAH,GAAO,EADpB;AAELF,IAAAA,IAAI,EAAJA,IAFK;AAGLI,IAAAA,OAAO,EAAEF,UAAU,GAAG,CAAH,GAAO,CAHrB;AAILG,IAAAA,QAAQ,EAAE,UAJL;AAKLP,IAAAA,GAAG,EAAHA;AALK,GAAP;AAOD;;AAED,IAAMQ,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD,EAAKC,cAAL,EAAwB;AACzC,MAAIA,cAAc,KAAK,IAAvB,EAA6B,OAAOD,EAAE,KAAKC,cAAd;AAC7B,SAAOA,cAAc,CAACC,OAAf,CAAuBF,EAAvB,MAA+B,CAAC,CAAvC;AACD,CAHD;;IAKaG,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;IAEYO,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,gBAAD,EAAmBP,KAAnB,EAA6B;AAC3D,MAAMC,IAAI,GAAGD,KAAK,CAACE,IAAN,CAAW,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,KAAF,CAAQF,IAAR,CAAa,UAAAG,IAAI;AAAA,aAAIX,UAAU,CAACW,IAAI,CAACV,EAAN,EAAUY,gBAAV,CAAd;AAAA,KAAjB,CAAJ;AAAA,GAAZ,CAAb;AACA,MAAI,CAACN,IAAL,EAAW,OAAO,IAAP;AACX,SAAOA,IAAI,CAACG,KAAL,CAAWI,MAAX,CAAkB,UAAAH,IAAI;AAAA,WAAIX,UAAU,CAACW,IAAI,CAACV,EAAN,EAAUY,gBAAV,CAAd;AAAA,GAAtB,CAAP;AACD;;AAED,IAAME,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;AAAEhB,MAAAA,IAAI,EAAEY,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,CAACyB,QAAV,CAAmBL,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;;IAkCaE,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD,EAAUrB,YAAV,EAAwBE,YAAxB,EAAyC;AAC1E,MAAMoB,QAAQ,GAAGD,OAAO,CAACC,QAAR,IAAoBD,OAArC;AACA,SAAOC,QAAQ,CAAC1B,MAAT,CAAgB,UAAC2B,gBAAD,EAAmBtB,OAAnB,EAA+B;AACpD,QAAMuB,iBAAiB,GAAGD,gBAA1B;AACA,QAAME,WAAW,GAAGJ,OAAO,CAACI,WAAR,IAAuB,EAA3C;;AACA,QAAMrC,IAAI,mCAAQqC,WAAR,GAAwBzB,YAAxB,CAAV;;AACA,QAAID,cAAc,CAACX,IAAD,EAAOa,OAAP,EAAgBC,YAAhB,CAAlB,EAAiD;AAC/C,UAAMwB,cAAc,GAAGzB,OAAO,CAAC0B,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,CAAuC3B,OAAvC;AACD;;AACD,WAAOuB,iBAAP;AACD,GAZM,EAYJ,EAZI,CAAP;AAaD;IAEYK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,eAAe,EAAI;AACpD,SAAOA,eAAe,CAAClC,MAAhB,CAAuB,UAAC2B,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,EAAgC;AAAA,MAAb5E,IAAa,uEAAN,CAAM;AACrE,MAAM6E,MAAM,GAAGF,UAAU,IAAIA,UAAU,CAACvD,EAAxC;;AACA,MAAIwD,IAAI,KAAK,GAAb,EAAkB;AAChB,QAAME,MAAK,GAAGH,UAAU,CAAC9D,IAAzB;;AACA,QAAMkE,OAAM,GAAGJ,UAAU,CAAC9D,IAAX,GAAkBmE,QAAQ,CAACL,UAAU,CAACM,KAAX,GAAmB,CAApB,EAAuB,EAAvB,CAAzC;;AACA,QAAMC,IAAG,GAAGP,UAAU,CAAC9D,IAAX,GAAkB8D,UAAU,CAACM,KAAzC;;AACA,QAAIJ,MAAJ,EAAY,OAAO,CAACC,MAAD,EAAQC,OAAR,EAAgBG,IAAhB,EAAqBC,GAArB,CAAyB,UAAAvD,CAAC;AAAA,aAAIA,CAAC,GAAG5B,IAAR;AAAA,KAA1B,CAAP;AACZ,WAAO,CAAC8E,MAAD,EAAQC,OAAR,EAAgBG,IAAhB,CAAP;AACD;;AACD,MAAMJ,KAAK,GAAGH,UAAU,CAAChE,GAAzB;AACA,MAAMoE,MAAM,GAAGJ,UAAU,CAAChE,GAAX,GAAiBqE,QAAQ,CAACL,UAAU,CAAC3D,MAAX,GAAoB,CAArB,EAAwB,EAAxB,CAAxC;AACA,MAAMkE,GAAG,GAAGP,UAAU,CAAChE,GAAX,GAAiBgE,UAAU,CAAC3D,MAAxC;AACA,MAAI6D,MAAJ,EAAY,OAAO,CAACC,KAAD,EAAQC,MAAR,EAAgBG,GAAhB,EAAqBC,GAArB,CAAyB,UAAAvD,CAAC;AAAA,WAAIA,CAAC,GAAG5B,IAAR;AAAA,GAA1B,CAAP;AACZ,SAAO,CAAC8E,KAAD,EAAQC,MAAR,EAAgBG,GAAhB,CAAP;AACD;IAEYE,uCAAuC,GAAG,SAA1CA,uCAA0C,CACrDC,SADqD,EAErDC,gCAFqD,EAGrDV,IAHqD,EAIlD;AACH,MAAMW,MAAM,GAAGnC,MAAM,CAACC,IAAP,CAAYgC,SAAZ,EAAuBF,GAAvB,CAA2B,UAAAK,GAAG,EAAI;AAC/C,QAAMC,8BAA8B,GAAGJ,SAAS,CAACG,GAAD,CAAT,CAAeZ,IAAf,CAAvC;;AACA,QAAIa,8BAA8B,KAAKH,gCAAvC,EAAyE;AACvE,aAAOG,8BAAP;AACD;;AACD,WAAOC,SAAP;AACD,GANc,CAAf;AAQA,SAAOH,MAAM,CAACtD,MAAP,CAAc,UAAA0D,MAAM;AAAA,WAAIA,MAAM,KAAKD,SAAf;AAAA,GAApB,CAAP;AACD;IAEYE,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,GAAGC,IAAI,CAACC,GAAL,CAASX,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;AAAEU,UAAAA,cAAc,EAAEL,MAAlB;AAA0BM,UAAAA,eAAe,EAAEL,MAA3C;AAAmDM,UAAAA,KAAK,EAAEL;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;IAEYa,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAASxB,SAAT,EAAuB;AACtD,MAAMyB,uBAAuB,GAAGzB,SAAS,CAACwB,MAAD,CAAT,CAAkBzG,CAAlD;AACA,MAAM2G,uBAAuB,GAAG1B,SAAS,CAACwB,MAAD,CAAT,CAAkBvG,CAAlD;AACA,MAAM0G,cAAc,GAAG5B,uCAAuC,CAC5DC,SAD4D,EAE5DyB,uBAF4D,EAG5D,GAH4D,CAA9D;AAKA,MAAMG,cAAc,GAAG7B,uCAAuC,CAC5DC,SAD4D,EAE5D0B,uBAF4D,EAG5D,GAH4D,CAA9D;AAKA,MAAMG,kBAAkB,GAAGtB,qBAAqB,CAACkB,uBAAD,EAA0BE,cAA1B,CAAhD;AACA,MAAMG,kBAAkB,GAAGvB,qBAAqB,CAACmB,uBAAD,EAA0BE,cAA1B,CAAhD;AAEA,MAAMG,gBAAgB,GAAG,EAAzB;;AAEA,MAAIF,kBAAkB,CAACnB,SAAvB,EAAkC;AAChCqB,IAAAA,gBAAgB,CAAChH,CAAjB,mCACK8G,kBADL;AAEEG,MAAAA,eAAe,EAAEP;AAFnB;AAID;;AAED,MAAIK,kBAAkB,CAACpB,SAAvB,EAAkC;AAChCqB,IAAAA,gBAAgB,CAAC9G,CAAjB,mCACK6G,kBADL;AAEEE,MAAAA,eAAe,EAAEN;AAFnB;AAID;;AAED,SAAOK,gBAAP;AACD;IAEYE,kCAAkC,GAAG,SAArCA,kCAAqC,CAACC,MAAD,EAAS5B,MAAT,EAAiBnE,MAAjB,EAAyBC,KAAzB,EAAgCzB,IAAhC,EAAyC;AACzF,MAAIwH,OAAO,GAAGjG,YAAY,CAACC,MAAD,EAASC,KAAT,CAA1B;AACA+F,EAAAA,OAAO,mCAAQA,OAAR,GAAoBD,MAApB,CAAP;AACA,MAAME,UAAU,GAAG9B,MAAM,CAAC6B,OAAO,CAACE,MAAT,CAAzB;;AACA,MAAMC,OAAO,mCACRF,UADQ,2BAEVjG,MAFU,kCAGNiG,UAAU,CAACjG,MAAD,CAHJ;AAITpB,IAAAA,CAAC,EAAEsE,uBAAuB,CAAC8C,OAAD,EAAU,GAAV,EAAexH,IAAf,CAJjB;AAKTM,IAAAA,CAAC,EAAEoE,uBAAuB,CAAC8C,OAAD,EAAU,GAAV,EAAexH,IAAf;AALjB,MAAb;;AAQA,MAAM4H,KAAK,GAAGhB,iBAAiB,CAACpF,MAAD,EAASmG,OAAT,CAA/B;AACA,MAAIE,gBAAgB,GAAGL,OAAO,CAAC3G,IAA/B;AACA,MAAIiH,eAAe,GAAGN,OAAO,CAAC7G,GAA9B;AACAyC,EAAAA,MAAM,CAACC,IAAP,CAAYuE,KAAZ,EAAmBG,OAAnB,CAA2B,UAAAnD,IAAI,EAAI;AACjC,sBAAqDgD,KAAK,CAAChD,IAAD,CAA1D;AAAA,QAAQyC,eAAR,eAAQA,eAAR;AAAA,QAAyBpB,YAAzB,eAAyBA,YAAzB;AAAA,QAAuCF,SAAvC,eAAuCA,SAAvC;AACA,QAAMiC,uBAAuB,GAAGjC,SAAS,CAACU,cAA1C;AACA,QAAMwB,wBAAwB,GAAGlC,SAAS,CAACW,eAA3C;;AACA,QAAI9B,IAAI,KAAK,GAAb,EAAkB;AAChB,UAAIyC,eAAe,CAACW,uBAAD,CAAf,GAA2C/B,YAAY,CAACgC,wBAAD,CAA3D,EAAuF;AACrFJ,QAAAA,gBAAgB,GAAGL,OAAO,CAAC3G,IAAR,GAAekF,SAAS,CAACY,KAA5C;AACD,OAFD,MAEO;AACLkB,QAAAA,gBAAgB,GAAGL,OAAO,CAAC3G,IAAR,GAAekF,SAAS,CAACY,KAA5C;AACD;AACF,KAND,MAMO,IAAIU,eAAe,CAACW,uBAAD,CAAf,GAA2C/B,YAAY,CAACgC,wBAAD,CAA3D,EAAuF;AAC5FH,MAAAA,eAAe,GAAGN,OAAO,CAAC7G,GAAR,GAAcoF,SAAS,CAACY,KAA1C;AACD,KAFM,MAEA;AACLmB,MAAAA,eAAe,GAAGN,OAAO,CAAC7G,GAAR,GAAcoF,SAAS,CAACY,KAA1C;AACD;AACF,GAfD;AAgBA,SAAO;AACL9F,IAAAA,IAAI,EAAEgH,gBADD;AAELlH,IAAAA,GAAG,EAAEmH;AAFA,GAAP;AAID;IAEYI,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;AACL1I,IAAAA,CAAC,EAAEgI,IADE;AAEL9H,IAAAA,CAAC,EAAE+H;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,yBACE3I,MADF;AAAA,MAES4I,YAFT,yBAEE3E,KAFF;;AAKA,MAAI2E,YAAY,GAAGH,WAAW,CAACrJ,CAA3B,GAAgC8I,WAAW,GAAG,CAAlD,EAAsD;AACpDO,IAAAA,WAAW,CAACrJ,CAAZ,GAAgB8I,WAAW,GAAGU,YAAd,GAA6B,CAA7C;AACD;;AAED,MAAID,aAAa,GAAGF,WAAW,CAACnJ,CAA5B,GAAiCgJ,YAAY,GAAG,CAApD,EAAwD;AACtDG,IAAAA,WAAW,CAACnJ,CAAZ,GAAgBgJ,YAAY,GAAGK,aAAf,GAA+B,EAA/C;AACD;;AAED,MAAME,YAAY,GAAG;AACnBzJ,IAAAA,CAAC,EAAEqJ,WAAW,CAACrJ,CAAZ,IAAiB,CADD;AAEnBE,IAAAA,CAAC,EAAEmJ,WAAW,CAACnJ,CAAZ,IAAiB;AAFD,GAArB;AAKA,SAAOuJ,YAAP;AACD;IAEYC,+BAA+B,GAAG,SAAlCA,+BAAkC,CAACC,KAAD,EAAQC,SAAR,EAAmBC,OAAnB,EAA+B;AAC5E,MAAID,SAAS,KAAKC,OAAlB,EAA2B,OAAOF,KAAP;;AAC3B,MAAMG,QAAQ,sBAAOH,KAAP,CAAd;;AACA,MAAMI,MAAM,GAAGD,QAAQ,CAACF,SAAD,CAAvB;AACA,MAAMI,GAAG,GAAGH,OAAO,GAAGD,SAAV,GAAsB,CAAC,CAAvB,GAA2B,CAAvC;;AACA,OAAK,IAAIK,CAAC,GAAGL,SAAb,EAAwBK,CAAC,KAAKJ,OAA9B,EAAuCI,CAAC,IAAID,GAA5C,EAAiD;AAC/CF,IAAAA,QAAQ,CAACG,CAAD,CAAR,GAAcH,QAAQ,CAACG,CAAC,GAAGD,GAAL,CAAtB;AACD;;AACDF,EAAAA,QAAQ,CAACD,OAAD,CAAR,GAAoBE,MAApB;AACA,SAAOD,QAAP;AACD;IAEYI,eAAe,GAAG,SAAlBA,eAAkB,CAAC5C,MAAD,EAASjG,KAAT,EAAmB;AAChD,MAAM8I,SAAS,GAAG9I,KAAK,CAACE,IAAN,CAAW,UAAAD,IAAI;AAAA,WAAIA,IAAI,CAACN,EAAL,KAAYsG,MAAhB;AAAA,GAAf,CAAlB;;AACA,MAAI6C,SAAS,IAAIA,SAAS,CAAC1I,KAA3B,EAAkC;AAChC,WAAO0I,SAAS,CAAC1I,KAAjB;AACD;;AACD,SAAO,EAAP;AACD;;AAGD,IAAM2I,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,CAACrJ,IAAD,EAAOD,KAAP,EAAcuJ,UAAd,EAA0BC,SAA1B,EAAwC;AACpE,MAAIC,QAAQ,GAAG,KAAf;AACA,MAAIC,SAAS,GAAGH,UAAhB;;AACA,SAAO,CAACE,QAAD,IAAazJ,KAAK,CAAC0J,SAAS,GAAGF,SAAb,CAAzB,EAAkD;AAChDE,IAAAA,SAAS,IAAIF,SAAb;AACAC,IAAAA,QAAQ,GAAGd,aAAa,CACtB1I,IAAI,CAACnB,GADiB,EAEtBmB,IAAI,CAACjB,IAFiB,EAGtBgB,KAAK,CAAC0J,SAAD,CAAL,CAAiB5K,GAHK,EAItBkB,KAAK,CAAC0J,SAAD,CAAL,CAAiB1K,IAJK,EAKtBiB,IAAI,CAACmD,KALiB,EAMtBnD,IAAI,CAACd,MANiB,EAOtBa,KAAK,CAAC0J,SAAD,CAAL,CAAiBtG,KAPK,EAQtBpD,KAAK,CAAC0J,SAAD,CAAL,CAAiBvK,MARK,CAAxB;AAUD;;AAED,MAAIsK,QAAJ,EAAc;AACZ,WAAOC,SAAP;AACD;;AACD,SAAO,IAAP;AACD;IAEYC,aAAa,GAAG,SAAhBA,aAAgB,CAACzB,KAAD,EAAQ0B,YAAR,EAAsBC,WAAtB,EAAsC;AACjE;AACA3B,EAAAA,KAAK,CAAC4B,MAAN,CAAaD,WAAb,EAA0B,CAA1B,EAA6B3B,KAAK,CAAC4B,MAAN,CAAaF,YAAb,EAA2B,CAA3B,EAA8B,CAA9B,CAA7B;AACD;IAEYG,WAAW,GAAG,SAAdA,WAAc,GAAc;AAAA,MAAbC,GAAa,uEAAP,EAAO;AACvC,SAAOA,GAAG,CAACxJ,KAAJ,CAAU,GAAV,EAAeyJ,GAAf,GAAqBzJ,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAP;AACD;IAEY0J,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,CAAChH,KAAL,EAAYgH,GAAG,CAACjL,MAAhB,CAAd;AAAA,GAA7B;AACAiL,EAAAA,GAAG,CAACG,GAAJ,GAAUP,GAAV;AACD;IAEYQ,kBAAkB,GAAG,SAArBA,kBAAqB,CAACtI,OAAD,EAAUuI,YAAV,EAA2B;AAC3D,MAAMC,IAAI,GAAGxI,OAAO,CAAC2F,qBAAR,EAAb;AACA,MAAM8C,cAAc,GAAGF,YAAY,CAACG,MAAb,GAAsBH,YAAY,CAAC3L,GAA1D;AACA,MAAM+L,MAAM,GAAG;AACbD,IAAAA,MAAM,EAAEH,YAAY,CAACG,MAAb,GAAsBF,IAAI,CAACE,MADtB;AAEbzL,IAAAA,MAAM,EAAEuL,IAAI,CAACE,MAAL,GAAcF,IAAI,CAAC5L,GAFd;AAGbA,IAAAA,GAAG,EAAE4L,IAAI,CAAC5L,GAAL,GAAW2L,YAAY,CAAC3L;AAHhB,GAAf;AAKA,MAAMmC,OAAO,GAAG;AACd2J,IAAAA,MAAM,EAAEC,MAAM,CAACD,MAAP,GAAgB,CAAhB,IAAqBC,MAAM,CAACD,MAAP,GAAgBD,cAD/B;AAEd7L,IAAAA,GAAG,EAAE+L,MAAM,CAAC/L,GAAP,IAAc,CAAd,IAAmB+L,MAAM,CAAC/L,GAAP,GAAa6L;AAFvB,GAAhB;AAIA,MAAIG,EAAE,GAAG,CAAT;;AACA,MAAI7J,OAAO,CAACnC,GAAR,IAAemC,OAAO,CAAC2J,MAA3B,EAAmC;AACjCE,IAAAA,EAAE,GAAGD,MAAM,CAAC1L,MAAZ;AACD,GAFD,MAEO,IAAI8B,OAAO,CAACnC,GAAZ,EAAiB;AACtBgM,IAAAA,EAAE,GAAGH,cAAc,GAAGE,MAAM,CAAC/L,GAA7B;AACD,GAFM,MAEA,IAAImC,OAAO,CAAC2J,MAAZ,EAAoB;AACzBE,IAAAA,EAAE,GAAGD,MAAM,CAAC1L,MAAP,GAAgB0L,MAAM,CAAC/L,GAA5B;AACD,GAFM,MAEA,IAAI+L,MAAM,CAAC1L,MAAP,GAAgBwL,cAAhB,IAAkCE,MAAM,CAAC/L,GAAP,GAAa,CAAnD,EAAsD;AAC3D,QAAIiM,MAAM,GAAGrG,IAAI,CAACC,GAAL,CAASkG,MAAM,CAAC/L,GAAhB,CAAb;;AACA,QAAIiM,MAAM,GAAGF,MAAM,CAAC1L,MAApB,EAA4B;AAC1B2L,MAAAA,EAAE,GAAGD,MAAM,CAAC1L,MAAP,GAAgB4L,MAArB;AACD;AACF;;AAED,yCAAY9J,OAAZ;AAAqB6J,IAAAA,EAAE,EAAFA;AAArB;AACD;IAEYE,kBAAkB,GAAG,SAArBA,kBAAqB,GAAoB;AAAA,MAAnBC,MAAmB,uEAAV,KAAU;AACpD,MAAMC,QAAQ,GAAGrE,QAAQ,CAACsE,aAAT,CAAuB,oBAAvB,CAAjB;;AACA,MAAID,QAAJ,EAAc;AACZ,QAAMT,YAAY,GAAGS,QAAQ,CAACrD,qBAAT,EAArB;AACA,QAAMuD,QAAQ,GAAGvJ,KAAK,CAACwJ,IAAN,CAAWxE,QAAQ,CAACyE,gBAAT,CAA0B,gBAA1B,CAAX,CAAjB;AACA,QAAMC,YAAY,GAAGH,QAAQ,CAAC3K,MAAT,CAAgB,UAAC+K,GAAD,EAAMtJ,OAAN,EAAkB;AACrDsJ,MAAAA,GAAG,CAACtJ,OAAO,CAACuJ,YAAR,CAAqB,SAArB,CAAD,CAAH,GAAuCjB,kBAAkB,CAACtI,OAAD,EAAUuI,YAAV,CAAzD;AACA,aAAOe,GAAP;AACD,KAHoB,EAGlB,EAHkB,CAArB;AAIA,QAAM3F,MAAM,GAAGtE,MAAM,CAACC,IAAP,CAAY+J,YAAZ,EACZG,IADY,CACP,UAAC3L,CAAD,EAAI4L,CAAJ;AAAA,aAAUJ,YAAY,CAACI,CAAD,CAAZ,CAAgBb,EAAhB,GAAqBS,YAAY,CAACxL,CAAD,CAAZ,CAAgB+K,EAA/C;AAAA,KADO,EAC4C,CAD5C,CAAf;;AAEA,QAAIG,MAAJ,EAAY;AACV,aAAOpF,MAAP;AACD;;AACD,WAAO;AACL+F,MAAAA,IAAI,EAAEL,YAAY,CAAC1F,MAAD,CADb;AAELtG,MAAAA,EAAE,EAAEsG;AAFC,KAAP;AAID;;AACD,SAAO,KAAP;AACD;;AAED,IAAMgG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAChM,IAAD,EAAOiM,SAAP,EAAkB3N,IAAlB,EAA2B;AACtD,MAAMuM,IAAI,GAAG7K,IAAI,CAACgI,qBAAL,EAAb;AACA,MAAMkE,UAAU,GAAGrB,IAAI,CAACE,MAAL,GAAcF,IAAI,CAAC5L,GAAtC;AACA,MAAIgN,SAAS,CAAChN,GAAd,EAAmB,OAAO,CAAP;AACnB,MAAMkN,kBAAkB,GAAGD,UAAU,IAAI,IAAI5N,IAAR,CAArC;AACA,MAAM8N,qBAAqB,GAAGH,SAAS,CAAChB,EAAV,IAAgB,IAAI3M,IAApB,CAA9B;AACA,SAAQ6N,kBAAkB,GAAGC,qBAA7B;AACD,CAPD;;IASaC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACrM,IAAD,EAAO1B,IAAP,EAAgB;AACpD,MAAMgO,YAAY,GAAGtF,QAAQ,CAACsE,aAAT,oCAAkDtL,IAAI,CAACN,EAAvD,SAArB;AACA,MAAI,CAAC4M,YAAL,EAAmB,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP,CAFiC;;AAKpD,MAAMvN,QAAQ,GAAGiN,oBAAoB,CAACM,YAAD,EAAetM,IAAI,CAAC+L,IAApB,EAA0BzN,IAA1B,CAArC;AAEA,MAAMiO,SAAS,GAAGD,YAAY,CAACb,gBAAb,CAA8B,oBAA9B,CAAlB;AACA,MAAI,CAACc,SAAS,CAACxK,MAAf,EAAuB,OAAO,CAAC,CAAD,EAAIhD,QAAJ,CAAP,CAR6B;;AAWpD,SAAO,mBAAIwN,SAAJ,EAAe3L,MAAf,CAAsB,UAAC4L,KAAD,EAAQpM,IAAR,EAAiB;AAC5C,QAAMqM,MAAM,GAAGD,KAAf;AACA,sBAAiCpM,IAAjC,CAAQsM,KAAR;AAAA,QAAiBvN,IAAjB,eAAiBA,IAAjB;AAAA,QAAuBF,GAAvB,eAAuBA,GAAvB;AACA,QAAM0N,UAAU,GAAG,CAACrJ,QAAQ,CAACnE,IAAD,EAAO,EAAP,CAAT,EAAqBmE,QAAQ,CAACrE,GAAD,EAAM,EAAN,CAA7B,CAAnB;;AACA,QAAIwN,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,EAAI1N,QAAJ,CATI,CAAP;AAUD;AAEM,SAAS6N,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,uEAA7BnG,QAAQ,CAACG,eAAoB;;AACvE,MAAIgG,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,MAAI1G,QAAQ,CAAC2G,iBAAT,IACC3G,QAAQ,CAAC4G,uBADV,IAEC5G,QAAQ,CAAC6G,oBAFd,EAEoC;AAClC,QAAI7G,QAAQ,CAAC8G,cAAb,EAA6B;AAC3B,aAAO9G,QAAQ,CAAC8G,cAAT,EAAP;AACD,KAFD,MAEO,IAAI9G,QAAQ,CAAC+G,mBAAb,EAAkC;AAAE;AACzC,aAAO/G,QAAQ,CAAC+G,mBAAT,EAAP;AACD,KAFM,MAEA,IAAI/G,QAAQ,CAACgH,oBAAb,EAAmC;AAAE;AAC1C,aAAOhH,QAAQ,CAACgH,oBAAT,EAAP;AACD,KAFM,MAEA,IAAIhH,QAAQ,CAACiH,gBAAb,EAA+B;AAAE;AACtC,aAAOjH,QAAQ,CAACiH,gBAAT,EAAP;AACD;AACF;;AACD,SAAOT,OAAO,CAACC,OAAR,EAAP;AACD;IAEYS,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC9N,IAAD,QAA2B+N,UAA3B,EAA0C;AAAA,MAAjCC,SAAiC,QAAjCA,SAAiC;AAAA,MAAtBjE,GAAsB,QAAtBA,GAAsB;AACxE,MAAMkE,SAAS,GAAG,GAAlB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,KAAK,GAAG,IAAI9G,MAAM,CAAC+C,KAAX,EAAd;AACA+D,EAAAA,KAAK,CAAC7D,GAAN,GAAY0D,SAAS,IAAIjE,GAAzB;;AAEAoE,EAAAA,KAAK,CAACC,OAAN,GAAgB,YAAM;AACpBL,IAAAA,UAAU,CAAC/N,IAAD,EAAO;AAAE+J,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,GAAGvL,QAAQ,CAAE+K,SAAS,GAAGK,aAAb,GAA8BC,YAA/B,EAA6C,EAA7C,CAAlB;AACAC,MAAAA,MAAM,GAAGP,SAAT;AACD;;AAED,QAAIQ,OAAO,GAAGP,UAAd,EAA0B;AACxBM,MAAAA,MAAM,GAAGtL,QAAQ,CAAEsL,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,CACR/N,IADQ,EACF;AACJd,MAAAA,MAAM,EAAEuP,OADJ;AAEJ1E,MAAAA,GAAG,EAAEA,GAFD;AAGJ5G,MAAAA,KAAK,EAAEqL;AAHH,KADE,CAAV;AAOD,GA1BD;AA2BD;IAEYI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC9BjM,MAD8B,EAE9BoL,UAF8B,EAG9BnN,YAH8B,EAI9BiO,aAJ8B;AAAA,SAK3B,UAAC7O,IAAD,EAAOa,OAAP,EAAmB;AACtB,QAAI8B,MAAM,IAAIA,MAAM,CAACmM,aAArB,EAAoC;AAClC,UAAMjK,KAAK,GAAGhE,OAAO,CAAC8B,MAAM,CAACjC,GAAR,CAArB;;AACA,UAAIiC,MAAM,CAACmM,aAAP,CAAqBjK,KAArB,CAAJ,EAAiC;AAC/B,YAAMkK,qBAAqB,GAAGzN,MAAM,CAACC,IAAP,CAAYoB,MAAM,CAACmM,aAAP,CAAqBjK,KAArB,CAAZ,EAC3BrE,MAD2B,CAE1B,UAACwO,WAAD,EACEC,UADF,EACiB;AACf,cAAQC,sBAAR,GAAmCvM,MAAM,CAACmM,aAAP,CAAqBjK,KAArB,EAA4BoK,UAA5B,CAAnC,CAAQC,sBAAR;AACA,cAAQC,IAAR,GAAiBxM,MAAM,CAACmM,aAAP,CAAqBjK,KAArB,EAA4BoK,UAA5B,CAAjB,CAAQE,IAAR;AACA,cAAaC,UAAb,GAA4BzM,MAAM,CAACmM,aAAP,CAAqBjK,KAArB,EAA4BoK,UAA5B,CAA5B,CAAMpK,KAAN;AACA,cAAMwK,YAAY,GAAGL,WAArB;;AACA,cAAI,OAAOI,UAAP,KAAsB,QAA1B,EAAoC;AAClCC,YAAAA,YAAY,CAACJ,UAAD,CAAZ,GAA2BG,UAA3B;AACA,mBAAOC,YAAP;AACD;;AACD,cAAMC,OAAO,GAAGF,UAAU,CAACtJ,KAAX,CAAiB,QAAjB,CAAhB;;AACA,cAAIwJ,OAAO,IAAIA,OAAO,CAAC3N,MAAR,GAAiB,CAAhC,EAAmC;AACjCyN,YAAAA,UAAU,GAAGE,OAAO,CAAC9O,MAAR,CAAe,UAAC+K,GAAD,EAAMgE,IAAN,EAAe;AACzC,kBAAIC,IAAI,GAAGjE,GAAX;AACA,kBAAMkE,QAAQ,GAAG7O,YAAY,CAC3B2O,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,uBAAOjM,QAAQ,CAACsM,IAAD,EAAO,EAAP,CAAf;AACD;;AACD,qBAAOA,IAAP;AACD,aAVY,EAUVJ,UAVU,CAAb;AAWD;;AACD,cAAIF,sBAAsB,IAAIA,sBAAsB,KAAKtO,YAAY,CAACqO,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,CAAC7O,IAAD,kCACRa,OADQ,GAERkO,qBAFQ,GAGVhB,UAHU,CAAb;AAID,SALD,MAKO;AACLA,UAAAA,UAAU,CAAC/N,IAAD,kCACLa,OADK,GAELkO,qBAFK,EAAV;AAID;AACF,OA7CD,MA6CO,IAAIF,aAAJ,EAAmB;AACxBA,QAAAA,aAAa,CAAC7O,IAAD,EAAOa,OAAP,EAAgBkN,UAAhB,CAAb;AACD,OAFM,MAEA;AACLA,QAAAA,UAAU,CAAC/N,IAAD,EAAOa,OAAP,CAAV;AACD;AACF,KApDD,MAoDO,IAAI8B,MAAM,CAACgN,kBAAX,EAA+B;AACpC7B,MAAAA,gBAAgB,CAAC9N,IAAD,EAAOa,OAAP,EAAgBkN,UAAhB,CAAhB;AACD,KAFM,MAEA,IAAIc,aAAJ,EAAmB;AACxBA,MAAAA,aAAa,CAAC7O,IAAD,EAAOa,OAAP,EAAgBkN,UAAhB,CAAb;AACD,KAFM,MAEA;AACLA,MAAAA,UAAU,CAAC/N,IAAD,EAAOa,OAAP,CAAV;AACD;AACF,GAjE+B;AAAA;IAoFnB+O,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,QAAQ,EAAI;AAC1C,MAAIA,QAAQ,CAACrQ,OAAT,CAAiB,GAAjB,IAAwB,CAAC,CAA7B,EAAgC;AAC9B,QAAMsQ,aAAa,GAAGD,QAAQ,CAACtP,KAAT,CAAe,GAAf,CAAtB;AACA,WAAOuP,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,SAAOJ,QAAP;AACD;;AAWD,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACjI,KAAD,EAAQmD,IAAR,EAAc+E,EAAd,EAAqB;AAC3C,MAAM7G,UAAU,GAAG8B,IAAI,GAAG,CAAP,GAAWnD,KAAK,CAACtG,MAAN,GAAeyJ,IAA1B,GAAiCA,IAApD;;AAEA,MAAI9B,UAAU,IAAI,CAAd,IAAmBA,UAAU,GAAGrB,KAAK,CAACtG,MAA1C,EAAkD;AAChD,QAAMyO,QAAQ,GAAGD,EAAE,GAAG,CAAL,GAASlI,KAAK,CAACtG,MAAN,GAAewO,EAAxB,GAA6BA,EAA9C;;AAEA,wBAAelI,KAAK,CAAC4B,MAAN,CAAauB,IAAb,EAAmB,CAAnB,CAAf;AAAA;AAAA,QAAOpL,IAAP;;AACAiI,IAAAA,KAAK,CAAC4B,MAAN,CAAauG,QAAb,EAAuB,CAAvB,EAA0BpQ,IAA1B;AACD;AACF,CATD;;IAWaqQ,SAAS,GAAG,SAAZA,SAAY,CAACpI,KAAD,EAAQmD,IAAR,EAAc+E,EAAd,EAAqB;AAC5C,MAAM/H,QAAQ,sBAAOH,KAAP,CAAd;;AACAiI,EAAAA,eAAe,CAAC9H,QAAD,EAAWgD,IAAX,EAAiB+E,EAAjB,CAAf;AACA,SAAO/H,QAAP;AACD;IAEYkI,WAAW,GAAG,SAAdA,WAAc,QASrB;AAAA,MARJC,OAQI,SARJA,OAQI;AAAA,MAPJC,YAOI,SAPJA,YAOI;AAAA,MANJC,eAMI,SANJA,eAMI;AAAA,MALJC,SAKI,SALJA,SAKI;AAAA,MAJJC,MAII,SAJJA,MAII;AAAA,MAHJzO,QAGI,SAHJA,QAGI;AAAA,MAFJ0O,uBAEI,SAFJA,uBAEI;AAAA,MADJC,cACI,SADJA,cACI;AACJ,8BAA+D3O,QAA/D,CAAQ4O,kBAAR;AAAA,MAAQA,kBAAR,sCAA6B,GAA7B;AAAA,+BAA+D5O,QAA/D,CAAkC6O,iBAAlC;AAAA,MAAkCA,iBAAlC,uCAAsD,IAAtD;AAEA,gBAAoCC,MAApC;AAAA,MAAQvJ,WAAR,WAAQA,WAAR;AAAA,MAAqBH,UAArB,WAAqBA,UAArB;AAEA,MAAI2J,YAAY,GAAG,CAAnB;;AAEA,MAAI,CAACT,YAAL,EAAmB;AAAE;AACnB,QAAMU,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,GAAG3J,WAAW,GAAGwJ,YAAnC;;AAEA,MAAII,QAAQ,GAAG5M,IAAI,CAAC6M,GAAL,CACb,CAAChK,UAAU,IAAIoJ,SAAS,GAAG,GAAH,GAAS,CAAtB,CAAX,IAAuCK,iBAD1B,EAEbK,YAAY,GAAGN,kBAFF,CAAf;;AAKA,MAAIJ,SAAJ,EAAe;AACbW,IAAAA,QAAQ,GAAG5M,IAAI,CAAC8M,KAAL,CAAWF,QAAQ,GAAG,EAAtB,IAA4B,EAAvC;AACD,GAFD,MAEO;AACL;AACAA,IAAAA,QAAQ,GAAG5M,IAAI,CAAC8M,KAAL,CAAWF,QAAQ,GAAG,GAAtB,IAA6B,GAAxC;AACD;;AAED,MAAIG,OAAO,GAAGC,MAAM,CAACJ,QAAQ,CAACK,OAAT,CAAiB,CAAjB,CAAD,CAApB;AAEA,MAAIhB,SAAS,IAAIc,OAAO,GAAG,GAA3B,EAAgCA,OAAO,GAAG,GAAV;AAChC,MAAId,SAAS,IAAIc,OAAO,GAAG,CAA3B,EAA8BA,OAAO,GAAG,CAAV;AAE9BjB,EAAAA,OAAO,CAACiB,OAAD,EAAUf,eAAV,EAA2BM,iBAA3B,EAA8CJ,MAA9C,CAAP;AAEA,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,WAAK1N,IAAI,CAAC2N,KAAL,WAAcD,GAAd,SAAL,QAAP;AACD;IAEYE,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,CAACvP,KAAD,EAAQjE,MAAR,EAAmB;AACzD,MAAOyT,kBAAP,GAAiD,GAAjD;AAAA,MAA2BC,iBAA3B,GAAsD,GAAtD;AACA,MAAMC,KAAK,GAAGF,kBAAkB,GAAGzT,MAAnC;;AACA,MAAIuF,IAAI,CAACqO,IAAL,CAAU3P,KAAK,GAAG0P,KAAlB,KAA4BD,iBAAhC,EAAmD;AACjD,QAAMvB,QAAQ,GAAGuB,iBAAiB,GAAGzP,KAArC;AACA,WAAO;AACLpE,MAAAA,IAAI,EAAE,CADD;AAEL8T,MAAAA,KAAK,EAAExB,QAFF;AAGLxS,MAAAA,GAAG,EAAE8T,kBAAkB,GAAGzT,MAAM,GAAGmS,QAA9B,GACD,CAACsB,kBAAkB,GAAIzT,MAAM,GAAGmS,QAAhC,IAA6C,CAD5C,GACgD;AAJhD,KAAP;AAMD;;AACD,SAAO;AACLtS,IAAAA,IAAI,EAAE6T,iBAAiB,GAAGzP,KAAK,GAAG0P,KAA5B,GACF,CAACD,iBAAiB,GAAIzP,KAAK,GAAG0P,KAA9B,IAAwC,CADtC,GAC0C,CAF3C;AAGLA,IAAAA,KAAK,EAALA,KAHK;AAILhU,IAAAA,GAAG,EAAE;AAJA,GAAP;AAMD;IAEYkU,6BAA6B,GAAG,SAAhCA,6BAAgC,CAAC5P,KAAD,EAAQjE,MAAR,EAAmB;AAC9D,MAAMyT,kBAAkB,GAAG,GAA3B;AACA,MAAMC,iBAAiB,GAAG,GAA1B;AACA,MAAMI,iBAAiB,GAAGL,kBAAkB,GAAGzT,MAA/C;;AACA,MAAIiE,KAAK,GAAG6P,iBAAR,GAA4BJ,iBAAhC,EAAmD;AACjD,WAAOA,iBAAiB,GAAGzP,KAA3B;AACD;;AACD,SAAO6P,iBAAP;AACD;IAEYC,cAAc,GAAG,SAAjBA,cAAiB,CAAC3T,EAAD,EAAuD;AAAA,MAAlD4T,OAAkD,uEAAxC,CAAwC;AAAA,MAArCC,OAAqC,uEAA3B;AAAEC,IAAAA,QAAQ,EAAE;AAAZ,GAA2B;AACnFC,EAAAA,UAAU,CAAC,YAAM;AACf,QAAMhL,MAAM,GAAGzB,QAAQ,CAAC0M,cAAT,CAAwBhU,EAAxB,CAAf;;AACA,QAAI+I,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACkL,cAAP,CAAsBJ,OAAtB;AACD;AACF,GALS,EAKPD,OALO,CAAV;AAMD;AAEM,SAASM,iBAAT,CAA2B3O,KAA3B,EAAkC;AACvC,MAAI4O,CAAC,GAAG5O,KAAK,CAAC6O,IAAN,EAAR;AACA,MAAI,CAACD,CAAC,CAACE,UAAF,CAAa,GAAb,CAAL,EAAwBF,CAAC,cAAOA,CAAP,CAAD;AACxB,SAAOA,CAAP;AACD;AAEM,SAASG,eAAT,CAAyB/O,KAAzB,EAAgC;AACrC,SAAO,6BAA6BgP,IAA7B,CAAkChP,KAAlC,CAAP;AACD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jotforminc/dnd-builder",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.10",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib"
|
|
6
6
|
],
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"core-js": "3.9.0",
|
|
14
14
|
"dompurify": "3.2.3",
|
|
15
15
|
"fuse.js": "5.2.3",
|
|
16
|
-
"intersection-observer": "0.12.0",
|
|
17
16
|
"lodash.isequal": "4.5.0",
|
|
18
17
|
"memoize-one": "5.1.1",
|
|
19
18
|
"nanoid": "3.1.31",
|