@jotforminc/dnd-builder 2.5.6 → 2.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/cjs/components/Elements/RichText.js +5 -1
  3. package/lib/cjs/components/Elements/RichText.js.map +1 -1
  4. package/lib/cjs/components/Panels/RightPanel/RightPanel.js +5 -11
  5. package/lib/cjs/components/Panels/RightPanel/RightPanel.js.map +1 -1
  6. package/lib/cjs/components/Settings/PageLayer/LayerItem.js +14 -5
  7. package/lib/cjs/components/Settings/PageLayer/LayerItem.js.map +1 -1
  8. package/lib/cjs/components/TextEditor/QuillEditor.js +1 -2
  9. package/lib/cjs/components/TextEditor/QuillEditor.js.map +1 -1
  10. package/lib/cjs/components/TextEditor/TextEditor.js +2 -3
  11. package/lib/cjs/components/TextEditor/TextEditor.js.map +1 -1
  12. package/lib/cjs/constants/texts.js +11 -0
  13. package/lib/cjs/constants/texts.js.map +1 -1
  14. package/lib/esm/components/Elements/RichText.js +5 -1
  15. package/lib/esm/components/Elements/RichText.js.map +1 -1
  16. package/lib/esm/components/Panels/RightPanel/RightPanel.js +5 -11
  17. package/lib/esm/components/Panels/RightPanel/RightPanel.js.map +1 -1
  18. package/lib/esm/components/Settings/PageLayer/LayerItem.js +14 -5
  19. package/lib/esm/components/Settings/PageLayer/LayerItem.js.map +1 -1
  20. package/lib/esm/components/TextEditor/QuillEditor.js +1 -2
  21. package/lib/esm/components/TextEditor/QuillEditor.js.map +1 -1
  22. package/lib/esm/components/TextEditor/TextEditor.js +2 -3
  23. package/lib/esm/components/TextEditor/TextEditor.js.map +1 -1
  24. package/lib/esm/constants/texts.js +11 -0
  25. package/lib/esm/constants/texts.js.map +1 -1
  26. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
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.5.8](https://github.com/jotform/dnd-builder/compare/v2.5.6...v2.5.8) (2023-07-26)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **dnd-builder:** missing translations ([54d8fef](https://github.com/jotform/dnd-builder/commit/54d8feff7ad433504e7b6841ccb5c2e3eeefbb4c))
11
+ * **dnd-builder:** replace images with cdn ([4ac3bb3](https://github.com/jotform/dnd-builder/commit/4ac3bb35ca283ff50a42f8a9e6ce86fd45ca4259))
12
+ * **dnd-builder:** replace images with cdn ([f7d1e4c](https://github.com/jotform/dnd-builder/commit/f7d1e4c1e1f2c9dd76f19528a9a7dc2b5bf24e74))
13
+
14
+ ### [2.5.7](https://github.com/jotform/dnd-builder/compare/v2.5.6...v2.5.7) (2023-05-08)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **dnd-builder:** replace images with cdn ([f7d1e4c](https://github.com/jotform/dnd-builder/commit/f7d1e4c1e1f2c9dd76f19528a9a7dc2b5bf24e74))
20
+
5
21
  ### [2.5.6](https://github.com/jotform/dnd-builder/compare/v2.5.5...v2.5.6) (2023-04-10)
6
22
 
7
23
 
@@ -8,6 +8,7 @@ var TextEditor = require('../TextEditor/TextEditor.js');
8
8
  var fonts = require('../../constants/fonts.js');
9
9
  var builderContext = require('../../utils/builderContext.js');
10
10
  var staticSettings = require('../../utils/staticSettings.js');
11
+ var hooks = require('../../utils/hooks.js');
11
12
  var jsxRuntime = require('react/jsx-runtime');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -52,6 +53,9 @@ var RichTextElement = function RichTextElement(_ref) {
52
53
  var _useBuilderContext = builderContext.useBuilderContext(),
53
54
  isTextEditorOpen = _useBuilderContext.isTextEditorOpen;
54
55
 
56
+ var _useTranslatedTexts = hooks.useTranslatedTexts(),
57
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT;
58
+
55
59
  var textStyle = {
56
60
  fontFamily: fontFamily,
57
61
  opacity: opacity
@@ -83,7 +87,7 @@ var RichTextElement = function RichTextElement(_ref) {
83
87
  handleSave: handleSave,
84
88
  isLocked: isLocked,
85
89
  isSelected: isSelected,
86
- placeholder: "Click to edit text"
90
+ placeholder: CLICK_TO_EDIT_TEXT
87
91
  })
88
92
  });
89
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RichText.js","sources":["../../../../src/components/Elements/RichText.js"],"sourcesContent":["import {\n memo, useEffect, useRef, useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport TextEditor from '../TextEditor';\nimport { fontTypes } from '../../constants/fonts';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { divider } from '../../utils/staticSettings';\n\nconst ITEM_TYPE = 'text';\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n ...divider('GENERAL'),\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nexport const RichTextElement = ({\n isSelected,\n item: {\n fontFamily,\n id,\n isLocked,\n opacity,\n value,\n },\n onItemChange,\n}) => {\n const reportItem = useRef({});\n const { isTextEditorOpen } = useBuilderContext();\n\n const textStyle = {\n fontFamily,\n opacity,\n };\n\n const handleSave = useCallback(newValue => {\n onItemChange(\n { id },\n { value: newValue },\n );\n }, [id]);\n\n const onFocus = e => {\n e.currentTarget.parentElement.setAttribute('draggable', false);\n };\n\n useEffect(() => {\n if (!isTextEditorOpen) {\n reportItem.current.parentElement.setAttribute('draggable', true);\n }\n }, [isTextEditorOpen]);\n\n return (\n <div\n ref={reportItem}\n className=\"reportItemInner f-height\"\n onFocus={onFocus}\n style={textStyle}\n >\n <TextEditor\n content={value}\n handleSave={handleSave}\n isLocked={isLocked}\n isSelected={isSelected}\n placeholder=\"Click to edit text\"\n />\n </div>\n );\n};\n\nRichTextElement.propTypes = {\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nRichTextElement.defaultProps = {\n isSelected: false,\n item: {},\n onItemChange: () => { },\n};\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nexport default {\n Component: memo(RichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","settings","key","label","options","fontTypes","fonts","section","type","divider","range","defaultItem","fontFamily","opacity","value","RichTextElement","isSelected","item","id","isLocked","onItemChange","reportItem","useRef","useBuilderContext","isTextEditorOpen","textStyle","handleSave","useCallback","newValue","onFocus","e","currentTarget","parentElement","setAttribute","useEffect","current","_jsx","propTypes","PropTypes","bool","shape","string","number","func","defaultProps","details","height","itemType","width","Component","memo"],"mappings":"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"}
1
+ {"version":3,"file":"RichText.js","sources":["../../../../src/components/Elements/RichText.js"],"sourcesContent":["import {\n memo, useEffect, useRef, useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport TextEditor from '../TextEditor';\nimport { fontTypes } from '../../constants/fonts';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { divider } from '../../utils/staticSettings';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst ITEM_TYPE = 'text';\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n ...divider('GENERAL'),\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nexport const RichTextElement = ({\n isSelected,\n item: {\n fontFamily,\n id,\n isLocked,\n opacity,\n value,\n },\n onItemChange,\n}) => {\n const reportItem = useRef({});\n const { isTextEditorOpen } = useBuilderContext();\n const { CLICK_TO_EDIT_TEXT } = useTranslatedTexts();\n\n const textStyle = {\n fontFamily,\n opacity,\n };\n\n const handleSave = useCallback(newValue => {\n onItemChange(\n { id },\n { value: newValue },\n );\n }, [id]);\n\n const onFocus = e => {\n e.currentTarget.parentElement.setAttribute('draggable', false);\n };\n\n useEffect(() => {\n if (!isTextEditorOpen) {\n reportItem.current.parentElement.setAttribute('draggable', true);\n }\n }, [isTextEditorOpen]);\n\n return (\n <div\n ref={reportItem}\n className=\"reportItemInner f-height\"\n onFocus={onFocus}\n style={textStyle}\n >\n <TextEditor\n content={value}\n handleSave={handleSave}\n isLocked={isLocked}\n isSelected={isSelected}\n placeholder={CLICK_TO_EDIT_TEXT}\n />\n </div>\n );\n};\n\nRichTextElement.propTypes = {\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nRichTextElement.defaultProps = {\n isSelected: false,\n item: {},\n onItemChange: () => { },\n};\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nexport default {\n Component: memo(RichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","settings","key","label","options","fontTypes","fonts","section","type","divider","range","defaultItem","fontFamily","opacity","value","RichTextElement","isSelected","item","id","isLocked","onItemChange","reportItem","useRef","useBuilderContext","isTextEditorOpen","useTranslatedTexts","CLICK_TO_EDIT_TEXT","textStyle","handleSave","useCallback","newValue","onFocus","e","currentTarget","parentElement","setAttribute","useEffect","current","_jsx","propTypes","PropTypes","bool","shape","string","number","func","defaultProps","details","height","itemType","width","Component","memo"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- require('core-js/modules/es.array.concat.js');
4
3
  require('core-js/modules/es.array.find.js');
5
4
  require('core-js/modules/es.array.from.js');
6
5
  require('core-js/modules/es.array.includes.js');
@@ -22,7 +21,6 @@ var itemTypes = require('../../../constants/itemTypes.js');
22
21
  var Tabs = require('../../Builder/Tabs.js');
23
22
  var Settings = require('./Settings.js');
24
23
  var RightPanelToggler = require('./RightPanelToggler.js');
25
- var string = require('../../../utils/string.js');
26
24
  var jsxRuntime = require('react/jsx-runtime');
27
25
 
28
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -58,12 +56,7 @@ var RightPanel = function RightPanel(_ref) {
58
56
  layoutSettings = _usePropContext.settings;
59
57
 
60
58
  var panelRef = React.useRef(null);
61
-
62
- var _useTranslatedTexts = hooks.useTranslatedTexts(),
63
- LAYOUT_SETTINGS = _useTranslatedTexts.LAYOUT_SETTINGS,
64
- PAGE_SETTINGS = _useTranslatedTexts.PAGE_SETTINGS,
65
- SETTINGS = _useTranslatedTexts.SETTINGS;
66
-
59
+ var translatedTexts = hooks.useTranslatedTexts();
67
60
  var settingMap = {
68
61
  i_: {
69
62
  details: function details(id) {
@@ -74,7 +67,8 @@ var RightPanel = function RightPanel(_ref) {
74
67
  return acceptedItems[item.itemType];
75
68
  },
76
69
  title: function title(item) {
77
- return "".concat(string.capitalize(acceptedItems[item.itemType].title || item.itemType), " ").concat(SETTINGS);
70
+ // eslint-disable-next-line max-len
71
+ return translatedTexts["".concat((acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase(), "_SETTINGS")];
78
72
  },
79
73
  updater: onItemChange
80
74
  },
@@ -89,7 +83,7 @@ var RightPanel = function RightPanel(_ref) {
89
83
  return acceptedItems[itemTypes.REPORT_SETTINGS_ITEM_TYPE] || reportSettings['default'];
90
84
  },
91
85
  title: function title() {
92
- return LAYOUT_SETTINGS;
86
+ return translatedTexts.LAYOUT_SETTINGS;
93
87
  },
94
88
  updater: onSettingChange
95
89
  },
@@ -119,7 +113,7 @@ var RightPanel = function RightPanel(_ref) {
119
113
  });
120
114
  },
121
115
  title: function title() {
122
- return PAGE_SETTINGS;
116
+ return translatedTexts.PAGE_SETTINGS;
123
117
  },
124
118
  updater: onPageChange
125
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n memo,\n useEffect,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\nimport { capitalize } from '../../../utils/string';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = ({\n itemAccessor,\n onItemChange,\n onPageChange,\n onSettingChange,\n pages,\n}) => {\n const {\n activeTab,\n editedElement,\n isRightPanelOpen,\n isSlidesPanelOpen,\n setActiveElement,\n setActiveTab,\n setIsRightPanelOpen,\n } = useBuilderContext();\n const { acceptedItems, settings: layoutSettings } = usePropContext();\n const panelRef = useRef(null);\n const { LAYOUT_SETTINGS, PAGE_SETTINGS, SETTINGS } = useTranslatedTexts();\n const settingMap = {\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n return `${capitalize(acceptedItems[item.itemType].title || item.itemType)} ${SETTINGS}`;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, setActiveElement, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => PAGE_SETTINGS,\n updater: onPageChange,\n },\n };\n\n let editedEl;\n let editedElId;\n let selectedItem;\n let element;\n let updateFunc;\n let title;\n\n const panelConfig = () => {\n selectedItem = editedEl.details(editedElId);\n element = editedEl.settings(selectedItem);\n updateFunc = editedEl.updater;\n title = editedEl.title(selectedItem);\n };\n\n const fallback = () => {\n setActiveElement(null);\n editedEl = settingMap.l_;\n editedElId = editedElement.substr(2);\n panelConfig();\n };\n\n try {\n editedEl = settingMap[editedElement.substr(0, 2)];\n editedElId = editedElement.substr(2);\n const checkSelectedItem = editedEl.details(editedElId);\n if (Object.keys(checkSelectedItem).length === 0) {\n fallback();\n } else {\n panelConfig();\n }\n } catch (e) {\n fallback();\n }\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n itemAccessor={itemAccessor}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nRightPanel.propTypes = {\n itemAccessor: PropTypes.func,\n onItemChange: PropTypes.func,\n onPageChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nRightPanel.defaultProps = {\n itemAccessor: () => { },\n onItemChange: () => { },\n onPageChange: () => { },\n onSettingChange: () => { },\n pages: [],\n};\n\nexport default memo(RightPanel);\n"],"names":["exceptionalClasses","RightPanel","itemAccessor","onItemChange","onPageChange","onSettingChange","pages","useBuilderContext","activeTab","editedElement","isRightPanelOpen","isSlidesPanelOpen","setActiveElement","setActiveTab","setIsRightPanelOpen","usePropContext","acceptedItems","layoutSettings","settings","panelRef","useRef","useTranslatedTexts","LAYOUT_SETTINGS","PAGE_SETTINGS","SETTINGS","settingMap","i_","details","id","item","findItemById","itemType","title","capitalize","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","editedEl","editedElId","selectedItem","element","updateFunc","panelConfig","fallback","substr","checkSelectedItem","Object","keys","length","e","tabsWithSettings","getTabsWithSettings","tabs","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs","propTypes","PropTypes","func","arrayOf","shape","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n memo,\n useEffect,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = ({\n itemAccessor,\n onItemChange,\n onPageChange,\n onSettingChange,\n pages,\n}) => {\n const {\n activeTab,\n editedElement,\n isRightPanelOpen,\n isSlidesPanelOpen,\n setActiveElement,\n setActiveTab,\n setIsRightPanelOpen,\n } = useBuilderContext();\n const { acceptedItems, settings: layoutSettings } = usePropContext();\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n const settingMap = {\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n // eslint-disable-next-line max-len\n return translatedTexts[`${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`];\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, setActiveElement, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n };\n\n let editedEl;\n let editedElId;\n let selectedItem;\n let element;\n let updateFunc;\n let title;\n\n const panelConfig = () => {\n selectedItem = editedEl.details(editedElId);\n element = editedEl.settings(selectedItem);\n updateFunc = editedEl.updater;\n title = editedEl.title(selectedItem);\n };\n\n const fallback = () => {\n setActiveElement(null);\n editedEl = settingMap.l_;\n editedElId = editedElement.substr(2);\n panelConfig();\n };\n\n try {\n editedEl = settingMap[editedElement.substr(0, 2)];\n editedElId = editedElement.substr(2);\n const checkSelectedItem = editedEl.details(editedElId);\n if (Object.keys(checkSelectedItem).length === 0) {\n fallback();\n } else {\n panelConfig();\n }\n } catch (e) {\n fallback();\n }\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n itemAccessor={itemAccessor}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nRightPanel.propTypes = {\n itemAccessor: PropTypes.func,\n onItemChange: PropTypes.func,\n onPageChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nRightPanel.defaultProps = {\n itemAccessor: () => { },\n onItemChange: () => { },\n onPageChange: () => { },\n onSettingChange: () => { },\n pages: [],\n};\n\nexport default memo(RightPanel);\n"],"names":["exceptionalClasses","RightPanel","itemAccessor","onItemChange","onPageChange","onSettingChange","pages","useBuilderContext","activeTab","editedElement","isRightPanelOpen","isSlidesPanelOpen","setActiveElement","setActiveTab","setIsRightPanelOpen","usePropContext","acceptedItems","layoutSettings","settings","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","i_","details","id","item","findItemById","itemType","title","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","editedElId","selectedItem","element","updateFunc","panelConfig","fallback","substr","checkSelectedItem","Object","keys","length","e","tabsWithSettings","getTabsWithSettings","tabs","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs","propTypes","PropTypes","func","arrayOf","shape","defaultProps","memo"],"mappings":"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"}
@@ -4,6 +4,7 @@ var React = require('react');
4
4
  var reactSortableHoc = require('react-sortable-hoc');
5
5
  var classNames = require('classnames');
6
6
  var string = require('../../../utils/string.js');
7
+ var hooks = require('../../../utils/hooks.js');
7
8
  var jsxRuntime = require('react/jsx-runtime');
8
9
  var drag = require('../../../assets/svg/settings/drag.svg.js');
9
10
 
@@ -28,6 +29,14 @@ var LayerItem = reactSortableHoc.sortableElement(function (_ref) {
28
29
  var id = item.id,
29
30
  isVisible = item.isVisible;
30
31
  var isVisib = isVisible !== undefined ? isVisible : true;
32
+
33
+ var _useTranslatedTexts = hooks.useTranslatedTexts(),
34
+ CHART_ELEMENT = _useTranslatedTexts.CHART_ELEMENT,
35
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT,
36
+ CLIK_TO_EDIT_HEADER = _useTranslatedTexts.CLIK_TO_EDIT_HEADER,
37
+ PAGE_ELEMENT = _useTranslatedTexts.PAGE_ELEMENT,
38
+ RECTANGLE = _useTranslatedTexts.RECTANGLE;
39
+
31
40
  var handleItemLock = React.useCallback(function (_ref2) {
32
41
  var target = _ref2.target;
33
42
  onItemChange({
@@ -39,22 +48,22 @@ var LayerItem = reactSortableHoc.sortableElement(function (_ref) {
39
48
 
40
49
  var itemText = function itemText(passedItem) {
41
50
  if (passedItem.itemType === 'shapes') {
42
- return string.capitalize(passedItem.shapeType || 'Rectangle');
51
+ return string.capitalize(passedItem.shapeType || RECTANGLE);
43
52
  }
44
53
 
45
54
  if (passedItem.itemType === 'chart') {
46
- return passedItem.text || 'Chart Element';
55
+ return passedItem.text || CHART_ELEMENT;
47
56
  }
48
57
 
49
58
  if (passedItem.itemType === 'header') {
50
- return passedItem.headerText || 'Click to edit header';
59
+ return passedItem.headerText || CLIK_TO_EDIT_HEADER;
51
60
  }
52
61
 
53
62
  if (passedItem.itemType === 'text') {
54
- return passedItem.value ? string.stripHTML(passedItem.value) : 'Click to edit text';
63
+ return passedItem.value ? string.stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;
55
64
  }
56
65
 
57
- return string.capitalize(passedItem.itemType || 'Page Element');
66
+ return string.capitalize(passedItem.itemType || PAGE_ELEMENT);
58
67
  };
59
68
 
60
69
  var content = /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { sortableElement, sortableHandle } from 'react-sortable-hoc';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\n\nconst DragHandle = sortableHandle(() => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n));\n\nconst LayerItem = sortableElement(({\n icon: Icon,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id]);\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || 'Rectangle');\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || 'Chart Element';\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || 'Click to edit header';\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : 'Click to edit text';\n }\n return capitalize(passedItem.itemType || 'Page Element');\n };\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <div\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n});\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","sortableHandle","_jsx","icons.drag","LayerItem","sortableElement","Icon","icon","item","onItemChange","optionKey","setActiveElement","id","isVisible","isVisib","undefined","handleItemLock","useCallback","target","checked","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","memo"],"mappings":"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"}
1
+ {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { sortableElement, sortableHandle } from 'react-sortable-hoc';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = sortableHandle(() => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n));\n\nconst LayerItem = sortableElement(({\n icon: Icon,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id]);\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || RECTANGLE);\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || CHART_ELEMENT;\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(passedItem.itemType || PAGE_ELEMENT);\n };\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <div\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n});\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","sortableHandle","_jsx","icons.drag","LayerItem","sortableElement","Icon","icon","item","onItemChange","optionKey","setActiveElement","id","isVisible","isVisib","undefined","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","handleItemLock","useCallback","target","checked","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","memo"],"mappings":"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"}
@@ -128,14 +128,13 @@ QuillEditor.formats = textEditorConstants.formats;
128
128
  QuillEditor.propTypes = {
129
129
  content: PropTypes__default['default'].string,
130
130
  handleSave: PropTypes__default['default'].func,
131
- placeholder: PropTypes__default['default'].string,
131
+ placeholder: PropTypes__default['default'].string.isRequired,
132
132
  setContent: PropTypes__default['default'].func,
133
133
  setIsTextEditorOpen: PropTypes__default['default'].func
134
134
  };
135
135
  QuillEditor.defaultProps = {
136
136
  content: '',
137
137
  handleSave: function handleSave() {},
138
- placeholder: 'Click to edit text',
139
138
  setContent: function setContent() {},
140
139
  setIsTextEditorOpen: function setIsTextEditorOpen() {}
141
140
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nQuillEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n placeholder: 'Click to edit text',\n setContent: () => {},\n setIsTextEditorOpen: () => {},\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string.isRequired,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nQuillEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n setContent: () => {},\n setIsTextEditorOpen: () => {},\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","isRequired","defaultProps"],"mappings":"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"}
@@ -71,14 +71,13 @@ TextEditor.propTypes = {
71
71
  handleSave: PropTypes__default['default'].func,
72
72
  isLocked: PropTypes__default['default'].bool,
73
73
  isSelected: PropTypes__default['default'].bool,
74
- placeholder: PropTypes__default['default'].string
74
+ placeholder: PropTypes__default['default'].string.isRequired
75
75
  };
76
76
  TextEditor.defaultProps = {
77
77
  content: '',
78
78
  handleSave: function handleSave() {},
79
79
  isLocked: false,
80
- isSelected: false,
81
- placeholder: 'Click to edit text'
80
+ isSelected: false
82
81
  };
83
82
 
84
83
  module.exports = TextEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderContext } from '../../utils/builderContext';\n\nconst TextEditor = ({\n content,\n handleSave,\n isLocked,\n isSelected,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const { isTextEditorOpen, setIsTextEditorOpen } = useBuilderContext();\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string,\n};\n\nTextEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n isLocked: false,\n isSelected: false,\n placeholder: 'Click to edit text',\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","useBuilderContext","isTextEditorOpen","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,cAAQ,CAACC,6BAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,2BAAkDC,gCAAiB,EAAnE;AAAA,MAAQC,gBAAR,sBAAQA,gBAAR;AAAA,MAA0BC,mBAA1B,sBAA0BA,mBAA1B;;AAEA,MAAMC,OAAO,GAAGC,iBAAW,CAAC,YAAM;AAChC,QAAIX,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BU,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACT,UAAD,EAAaD,QAAb,CAJwB,CAA3B;AAMA,MAAMa,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeZ,QAAf;AACA,WAAO,CAAC,CAACS,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACb,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIQ,gBAAd,gBACLW,eAAC,WAAD;AACE,IAAA,OAAO,EAAEd,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEG;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGP,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAES,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDd,UAAU,CAACyB,SAAX,GAAuB;AACrBxB,EAAAA,OAAO,EAAEyB,6BAAS,CAACC,MADE;AAErBzB,EAAAA,UAAU,EAAEwB,6BAAS,CAACE,IAFD;AAGrBzB,EAAAA,QAAQ,EAAEuB,6BAAS,CAACG,IAHC;AAIrBzB,EAAAA,UAAU,EAAEsB,6BAAS,CAACG,IAJD;AAKrBxB,EAAAA,WAAW,EAAEqB,6BAAS,CAACC;AALF,CAAvB;AAQA3B,UAAU,CAAC8B,YAAX,GAA0B;AACxB7B,EAAAA,OAAO,EAAE,EADe;AAExBC,EAAAA,UAAU,EAAE,sBAAM,EAFM;AAGxBC,EAAAA,QAAQ,EAAE,KAHc;AAIxBC,EAAAA,UAAU,EAAE,KAJY;AAKxBC,EAAAA,WAAW,EAAE;AALW,CAA1B;;;;"}
1
+ {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderContext } from '../../utils/builderContext';\n\nconst TextEditor = ({\n content,\n handleSave,\n isLocked,\n isSelected,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const { isTextEditorOpen, setIsTextEditorOpen } = useBuilderContext();\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nTextEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n isLocked: false,\n isSelected: false,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","useBuilderContext","isTextEditorOpen","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,cAAQ,CAACC,6BAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,2BAAkDC,gCAAiB,EAAnE;AAAA,MAAQC,gBAAR,sBAAQA,gBAAR;AAAA,MAA0BC,mBAA1B,sBAA0BA,mBAA1B;;AAEA,MAAMC,OAAO,GAAGC,iBAAW,CAAC,YAAM;AAChC,QAAIX,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BU,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACT,UAAD,EAAaD,QAAb,CAJwB,CAA3B;AAMA,MAAMa,UAAU,GAAGC,aAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeZ,QAAf;AACA,WAAO,CAAC,CAACS,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACb,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIQ,gBAAd,gBACLW,eAAC,WAAD;AACE,IAAA,OAAO,EAAEd,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEG;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGP,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAES,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDd,UAAU,CAACyB,SAAX,GAAuB;AACrBxB,EAAAA,OAAO,EAAEyB,6BAAS,CAACC,MADE;AAErBzB,EAAAA,UAAU,EAAEwB,6BAAS,CAACE,IAFD;AAGrBzB,EAAAA,QAAQ,EAAEuB,6BAAS,CAACG,IAHC;AAIrBzB,EAAAA,UAAU,EAAEsB,6BAAS,CAACG,IAJD;AAKrBxB,EAAAA,WAAW,EAAEqB,6BAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;AAQA9B,UAAU,CAAC+B,YAAX,GAA0B;AACxB9B,EAAAA,OAAO,EAAE,EADe;AAExBC,EAAAA,UAAU,EAAE,sBAAM,EAFM;AAGxBC,EAAAA,QAAQ,EAAE,KAHc;AAIxBC,EAAAA,UAAU,EAAE;AAJY,CAA1B;;;;"}
@@ -14,6 +14,10 @@ var ALL_TEXTS = {
14
14
  ADD_LINK: 'ADD LINK',
15
15
  ADD_NEW_PAGE: 'ADD SLIDE',
16
16
  BACKGROUND_COLOR: 'Background Color',
17
+ CHART_ELEMENT: 'Chart Element',
18
+ CHART_SETTINGS: 'Chart Settings',
19
+ CLICK_TO_EDIT_HEADER: 'Click to edit header',
20
+ CLICK_TO_EDIT_TEXT: 'Click to edit text',
17
21
  DELETE: 'Delete',
18
22
  DELETE_ITEM: 'Delete Item',
19
23
  DUPLICATE_ITEM: 'Duplicate Item',
@@ -22,7 +26,11 @@ var ALL_TEXTS = {
22
26
  FIT_TO_PAGE: 'Fit to Slide',
23
27
  FIT_TO_SCENE: 'Fit to Screen',
24
28
  GENERAL: 'GENERAL',
29
+ GRID_SETTINGS: 'Grid Settings',
30
+ HEADER_SETTINGS: 'Header Settings',
25
31
  HEIGHT: 'Height',
32
+ ICON_SETTINGS: 'Icon Settings',
33
+ IMAGE_SETTINGS: 'Image Settings',
26
34
  ITEM_SETTINGS: 'Item Settings',
27
35
  LAYERS: 'Layers',
28
36
  LAYOUT_SETTINGS: 'Layout Settings',
@@ -36,13 +44,16 @@ var ALL_TEXTS = {
36
44
  NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',
37
45
  NO_RESULT: 'No result was found',
38
46
  ORIGINAL_SIZE: 'Original Size',
47
+ PAGE_ELEMENT: 'Page Element',
39
48
  PAGE_SETTINGS: 'Slide Settings',
40
49
  PAGE_STYLE: 'Slide Style',
50
+ RECTANGLE: 'Rectangle',
41
51
  REMOVE_PAGE: 'Remove Slide',
42
52
  SEARCH: 'Search',
43
53
  SETTINGS: 'Settings',
44
54
  SHOW_ALL: 'Show All',
45
55
  SLIDES: 'Slides',
56
+ TEXT_SETTINGS: 'Text Settings',
46
57
  TOGGLE_OFF: 'OFF',
47
58
  TOGGLE_ON: 'ON',
48
59
  UNLOCK_ITEM: 'Unlock Item',
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n HEIGHT: 'Height',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","HEIGHT","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_SETTINGS","PAGE_STYLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,MAAM,EAAE,QALQ;AAMhBC,EAAAA,WAAW,EAAE,aANG;AAOhBC,EAAAA,cAAc,EAAE,gBAPA;AAQhBC,EAAAA,cAAc,EAAE,iBARA;AAShBC,EAAAA,QAAQ,EAAE,UATM;AAUhBC,EAAAA,WAAW,EAAE,cAVG;AAWhBC,EAAAA,YAAY,EAAE,eAXE;AAYhBC,EAAAA,OAAO,EAAE,SAZO;AAahBC,EAAAA,MAAM,EAAE,QAbQ;AAchBC,EAAAA,aAAa,EAAE,eAdC;AAehBC,EAAAA,MAAM,EAAE,QAfQ;AAgBhBC,EAAAA,eAAe,EAAE,iBAhBD;AAiBhBC,EAAAA,SAAS,EAAE,WAjBK;AAkBhBC,EAAAA,cAAc,EAAE,gBAlBA;AAmBhBC,EAAAA,aAAa,EAAE,eAnBC;AAoBhBC,EAAAA,mBAAmB,EAAE,sBApBL;AAqBhBC,EAAAA,iBAAiB,EAAE,oBArBH;AAsBhBC,EAAAA,YAAY,EAAE,cAtBE;AAuBhBC,EAAAA,aAAa,EAAE,eAvBC;AAwBhBC,EAAAA,kBAAkB,EAAE,8EAxBJ;AAyBhBC,EAAAA,SAAS,EAAE,qBAzBK;AA0BhBC,EAAAA,aAAa,EAAE,eA1BC;AA2BhBC,EAAAA,aAAa,EAAE,gBA3BC;AA4BhBC,EAAAA,UAAU,EAAE,aA5BI;AA6BhBC,EAAAA,WAAW,EAAE,cA7BG;AA8BhBC,EAAAA,MAAM,EAAE,QA9BQ;AA+BhBC,EAAAA,QAAQ,EAAE,UA/BM;AAgChBC,EAAAA,QAAQ,EAAE,UAhCM;AAiChBC,EAAAA,MAAM,EAAE,QAjCQ;AAkChBC,EAAAA,UAAU,EAAE,KAlCI;AAmChBC,EAAAA,SAAS,EAAE,IAnCK;AAoChBC,EAAAA,WAAW,EAAE,aApCG;AAqChBC,EAAAA,KAAK,EAAE,OArCS;AAsChBC,EAAAA,OAAO,EAAE,SAtCO;AAuChBC,EAAAA,QAAQ,EAAE;AAvCM;;IA0CZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBxC,SAAhB;;;;;"}
1
+ {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,WAAW,EAAE,cAdG;AAehBC,EAAAA,YAAY,EAAE,eAfE;AAgBhBC,EAAAA,OAAO,EAAE,SAhBO;AAiBhBC,EAAAA,aAAa,EAAE,eAjBC;AAkBhBC,EAAAA,eAAe,EAAE,iBAlBD;AAmBhBC,EAAAA,MAAM,EAAE,QAnBQ;AAoBhBC,EAAAA,aAAa,EAAE,eApBC;AAqBhBC,EAAAA,cAAc,EAAE,gBArBA;AAsBhBC,EAAAA,aAAa,EAAE,eAtBC;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,eAAe,EAAE,iBAxBD;AAyBhBC,EAAAA,SAAS,EAAE,WAzBK;AA0BhBC,EAAAA,cAAc,EAAE,gBA1BA;AA2BhBC,EAAAA,aAAa,EAAE,eA3BC;AA4BhBC,EAAAA,mBAAmB,EAAE,sBA5BL;AA6BhBC,EAAAA,iBAAiB,EAAE,oBA7BH;AA8BhBC,EAAAA,YAAY,EAAE,cA9BE;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,kBAAkB,EAAE,8EAhCJ;AAiChBC,EAAAA,SAAS,EAAE,qBAjCK;AAkChBC,EAAAA,aAAa,EAAE,eAlCC;AAmChBC,EAAAA,YAAY,EAAE,cAnCE;AAoChBC,EAAAA,aAAa,EAAE,gBApCC;AAqChBC,EAAAA,UAAU,EAAE,aArCI;AAsChBC,EAAAA,SAAS,EAAE,WAtCK;AAuChBC,EAAAA,WAAW,EAAE,cAvCG;AAwChBC,EAAAA,MAAM,EAAE,QAxCQ;AAyChBC,EAAAA,QAAQ,EAAE,UAzCM;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,MAAM,EAAE,QA3CQ;AA4ChBC,EAAAA,aAAa,EAAE,eA5CC;AA6ChBC,EAAAA,UAAU,EAAE,KA7CI;AA8ChBC,EAAAA,SAAS,EAAE,IA9CK;AA+ChBC,EAAAA,WAAW,EAAE,aA/CG;AAgDhBC,EAAAA,KAAK,EAAE,OAhDS;AAiDhBC,EAAAA,OAAO,EAAE,SAjDO;AAkDhBC,EAAAA,QAAQ,EAAE;AAlDM;;IAqDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBnD,SAAhB;;;;;"}
@@ -4,6 +4,7 @@ import TextEditor from '../TextEditor/TextEditor.js';
4
4
  import { fontTypes } from '../../constants/fonts.js';
5
5
  import { useBuilderContext } from '../../utils/builderContext.js';
6
6
  import { divider } from '../../utils/staticSettings.js';
7
+ import { useTranslatedTexts } from '../../utils/hooks.js';
7
8
  import { jsx } from 'react/jsx-runtime';
8
9
 
9
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -44,6 +45,9 @@ var RichTextElement = function RichTextElement(_ref) {
44
45
  var _useBuilderContext = useBuilderContext(),
45
46
  isTextEditorOpen = _useBuilderContext.isTextEditorOpen;
46
47
 
48
+ var _useTranslatedTexts = useTranslatedTexts(),
49
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT;
50
+
47
51
  var textStyle = {
48
52
  fontFamily: fontFamily,
49
53
  opacity: opacity
@@ -75,7 +79,7 @@ var RichTextElement = function RichTextElement(_ref) {
75
79
  handleSave: handleSave,
76
80
  isLocked: isLocked,
77
81
  isSelected: isSelected,
78
- placeholder: "Click to edit text"
82
+ placeholder: CLICK_TO_EDIT_TEXT
79
83
  })
80
84
  });
81
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RichText.js","sources":["../../../../src/components/Elements/RichText.js"],"sourcesContent":["import {\n memo, useEffect, useRef, useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport TextEditor from '../TextEditor';\nimport { fontTypes } from '../../constants/fonts';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { divider } from '../../utils/staticSettings';\n\nconst ITEM_TYPE = 'text';\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n ...divider('GENERAL'),\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nexport const RichTextElement = ({\n isSelected,\n item: {\n fontFamily,\n id,\n isLocked,\n opacity,\n value,\n },\n onItemChange,\n}) => {\n const reportItem = useRef({});\n const { isTextEditorOpen } = useBuilderContext();\n\n const textStyle = {\n fontFamily,\n opacity,\n };\n\n const handleSave = useCallback(newValue => {\n onItemChange(\n { id },\n { value: newValue },\n );\n }, [id]);\n\n const onFocus = e => {\n e.currentTarget.parentElement.setAttribute('draggable', false);\n };\n\n useEffect(() => {\n if (!isTextEditorOpen) {\n reportItem.current.parentElement.setAttribute('draggable', true);\n }\n }, [isTextEditorOpen]);\n\n return (\n <div\n ref={reportItem}\n className=\"reportItemInner f-height\"\n onFocus={onFocus}\n style={textStyle}\n >\n <TextEditor\n content={value}\n handleSave={handleSave}\n isLocked={isLocked}\n isSelected={isSelected}\n placeholder=\"Click to edit text\"\n />\n </div>\n );\n};\n\nRichTextElement.propTypes = {\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nRichTextElement.defaultProps = {\n isSelected: false,\n item: {},\n onItemChange: () => { },\n};\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nexport default {\n Component: memo(RichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","settings","key","label","options","fontTypes","fonts","section","type","divider","range","defaultItem","fontFamily","opacity","value","RichTextElement","isSelected","item","id","isLocked","onItemChange","reportItem","useRef","useBuilderContext","isTextEditorOpen","textStyle","handleSave","useCallback","newValue","onFocus","e","currentTarget","parentElement","setAttribute","useEffect","current","_jsx","propTypes","PropTypes","bool","shape","string","number","func","defaultProps","details","height","itemType","width","Component","memo"],"mappings":"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"}
1
+ {"version":3,"file":"RichText.js","sources":["../../../../src/components/Elements/RichText.js"],"sourcesContent":["import {\n memo, useEffect, useRef, useCallback,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport TextEditor from '../TextEditor';\nimport { fontTypes } from '../../constants/fonts';\nimport { useBuilderContext } from '../../utils/builderContext';\nimport { divider } from '../../utils/staticSettings';\nimport { useTranslatedTexts } from '../../utils/hooks';\n\nconst ITEM_TYPE = 'text';\n\nconst settings = [\n {\n key: 'fontFamily',\n label: 'Font Family',\n options: fontTypes.fonts,\n section: 'GENERAL',\n type: 'dropdown',\n },\n {\n ...divider('GENERAL'),\n },\n {\n key: 'opacity',\n label: 'Opacity',\n range: [0, 100],\n section: 'GENERAL',\n type: 'slider',\n },\n];\n\nconst defaultItem = {\n fontFamily: 'Circular',\n opacity: 1,\n value: '',\n};\n\nexport const RichTextElement = ({\n isSelected,\n item: {\n fontFamily,\n id,\n isLocked,\n opacity,\n value,\n },\n onItemChange,\n}) => {\n const reportItem = useRef({});\n const { isTextEditorOpen } = useBuilderContext();\n const { CLICK_TO_EDIT_TEXT } = useTranslatedTexts();\n\n const textStyle = {\n fontFamily,\n opacity,\n };\n\n const handleSave = useCallback(newValue => {\n onItemChange(\n { id },\n { value: newValue },\n );\n }, [id]);\n\n const onFocus = e => {\n e.currentTarget.parentElement.setAttribute('draggable', false);\n };\n\n useEffect(() => {\n if (!isTextEditorOpen) {\n reportItem.current.parentElement.setAttribute('draggable', true);\n }\n }, [isTextEditorOpen]);\n\n return (\n <div\n ref={reportItem}\n className=\"reportItemInner f-height\"\n onFocus={onFocus}\n style={textStyle}\n >\n <TextEditor\n content={value}\n handleSave={handleSave}\n isLocked={isLocked}\n isSelected={isSelected}\n placeholder={CLICK_TO_EDIT_TEXT}\n />\n </div>\n );\n};\n\nRichTextElement.propTypes = {\n isSelected: PropTypes.bool,\n item: PropTypes.shape({\n fontFamily: PropTypes.string,\n id: PropTypes.string,\n isLocked: PropTypes.bool,\n opacity: PropTypes.number,\n value: PropTypes.string,\n }),\n onItemChange: PropTypes.func,\n};\n\nRichTextElement.defaultProps = {\n isSelected: false,\n item: {},\n onItemChange: () => { },\n};\n\nconst details = {\n height: 65,\n itemType: ITEM_TYPE,\n width: 350,\n};\n\nexport default {\n Component: memo(RichTextElement),\n defaultItem,\n details,\n itemType: ITEM_TYPE,\n settings,\n};\n"],"names":["ITEM_TYPE","settings","key","label","options","fontTypes","fonts","section","type","divider","range","defaultItem","fontFamily","opacity","value","RichTextElement","isSelected","item","id","isLocked","onItemChange","reportItem","useRef","useBuilderContext","isTextEditorOpen","useTranslatedTexts","CLICK_TO_EDIT_TEXT","textStyle","handleSave","useCallback","newValue","onFocus","e","currentTarget","parentElement","setAttribute","useEffect","current","_jsx","propTypes","PropTypes","bool","shape","string","number","func","defaultProps","details","height","itemType","width","Component","memo"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import 'core-js/modules/es.array.concat.js';
2
1
  import 'core-js/modules/es.array.find.js';
3
2
  import 'core-js/modules/es.array.from.js';
4
3
  import 'core-js/modules/es.array.includes.js';
@@ -20,7 +19,6 @@ import { REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE } from '../../../con
20
19
  import Tabs from '../../Builder/Tabs.js';
21
20
  import Settings from './Settings.js';
22
21
  import RightPanelToggler from './RightPanelToggler.js';
23
- import { capitalize } from '../../../utils/string.js';
24
22
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
25
23
 
26
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -51,12 +49,7 @@ var RightPanel = function RightPanel(_ref) {
51
49
  layoutSettings = _usePropContext.settings;
52
50
 
53
51
  var panelRef = useRef(null);
54
-
55
- var _useTranslatedTexts = useTranslatedTexts(),
56
- LAYOUT_SETTINGS = _useTranslatedTexts.LAYOUT_SETTINGS,
57
- PAGE_SETTINGS = _useTranslatedTexts.PAGE_SETTINGS,
58
- SETTINGS = _useTranslatedTexts.SETTINGS;
59
-
52
+ var translatedTexts = useTranslatedTexts();
60
53
  var settingMap = {
61
54
  i_: {
62
55
  details: function details(id) {
@@ -67,7 +60,8 @@ var RightPanel = function RightPanel(_ref) {
67
60
  return acceptedItems[item.itemType];
68
61
  },
69
62
  title: function title(item) {
70
- return "".concat(capitalize(acceptedItems[item.itemType].title || item.itemType), " ").concat(SETTINGS);
63
+ // eslint-disable-next-line max-len
64
+ return translatedTexts["".concat((acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase(), "_SETTINGS")];
71
65
  },
72
66
  updater: onItemChange
73
67
  },
@@ -82,7 +76,7 @@ var RightPanel = function RightPanel(_ref) {
82
76
  return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;
83
77
  },
84
78
  title: function title() {
85
- return LAYOUT_SETTINGS;
79
+ return translatedTexts.LAYOUT_SETTINGS;
86
80
  },
87
81
  updater: onSettingChange
88
82
  },
@@ -112,7 +106,7 @@ var RightPanel = function RightPanel(_ref) {
112
106
  });
113
107
  },
114
108
  title: function title() {
115
- return PAGE_SETTINGS;
109
+ return translatedTexts.PAGE_SETTINGS;
116
110
  },
117
111
  updater: onPageChange
118
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n memo,\n useEffect,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\nimport { capitalize } from '../../../utils/string';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = ({\n itemAccessor,\n onItemChange,\n onPageChange,\n onSettingChange,\n pages,\n}) => {\n const {\n activeTab,\n editedElement,\n isRightPanelOpen,\n isSlidesPanelOpen,\n setActiveElement,\n setActiveTab,\n setIsRightPanelOpen,\n } = useBuilderContext();\n const { acceptedItems, settings: layoutSettings } = usePropContext();\n const panelRef = useRef(null);\n const { LAYOUT_SETTINGS, PAGE_SETTINGS, SETTINGS } = useTranslatedTexts();\n const settingMap = {\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n return `${capitalize(acceptedItems[item.itemType].title || item.itemType)} ${SETTINGS}`;\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, setActiveElement, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => PAGE_SETTINGS,\n updater: onPageChange,\n },\n };\n\n let editedEl;\n let editedElId;\n let selectedItem;\n let element;\n let updateFunc;\n let title;\n\n const panelConfig = () => {\n selectedItem = editedEl.details(editedElId);\n element = editedEl.settings(selectedItem);\n updateFunc = editedEl.updater;\n title = editedEl.title(selectedItem);\n };\n\n const fallback = () => {\n setActiveElement(null);\n editedEl = settingMap.l_;\n editedElId = editedElement.substr(2);\n panelConfig();\n };\n\n try {\n editedEl = settingMap[editedElement.substr(0, 2)];\n editedElId = editedElement.substr(2);\n const checkSelectedItem = editedEl.details(editedElId);\n if (Object.keys(checkSelectedItem).length === 0) {\n fallback();\n } else {\n panelConfig();\n }\n } catch (e) {\n fallback();\n }\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n itemAccessor={itemAccessor}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nRightPanel.propTypes = {\n itemAccessor: PropTypes.func,\n onItemChange: PropTypes.func,\n onPageChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nRightPanel.defaultProps = {\n itemAccessor: () => { },\n onItemChange: () => { },\n onPageChange: () => { },\n onSettingChange: () => { },\n pages: [],\n};\n\nexport default memo(RightPanel);\n"],"names":["exceptionalClasses","RightPanel","itemAccessor","onItemChange","onPageChange","onSettingChange","pages","useBuilderContext","activeTab","editedElement","isRightPanelOpen","isSlidesPanelOpen","setActiveElement","setActiveTab","setIsRightPanelOpen","usePropContext","acceptedItems","layoutSettings","settings","panelRef","useRef","useTranslatedTexts","LAYOUT_SETTINGS","PAGE_SETTINGS","SETTINGS","settingMap","i_","details","id","item","findItemById","itemType","title","capitalize","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","editedEl","editedElId","selectedItem","element","updateFunc","panelConfig","fallback","substr","checkSelectedItem","Object","keys","length","e","tabsWithSettings","getTabsWithSettings","tabs","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs","propTypes","PropTypes","func","arrayOf","shape","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.js","sources":["../../../../../src/components/Panels/RightPanel/RightPanel.js"],"sourcesContent":["import {\n memo,\n useEffect,\n useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Panel from '../../Builder/Panel';\nimport Section from '../../Builder/Section';\nimport Layout from '../../../constants/reportSettings';\nimport Page from '../../../constants/pageSettings';\nimport { useBuilderContext } from '../../../utils/builderContext';\nimport { usePropContext } from '../../../utils/propContext';\nimport { findItemById, getTabsWithSettings } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport {\n REPORT_SETTINGS_ITEM_TYPE, PAGE_SETTINGS_ITEM_TYPE,\n} from '../../../constants/itemTypes';\nimport Tabs from '../../Builder/Tabs';\nimport Settings from './Settings';\nimport RightPanelToggler from './RightPanelToggler';\n\nconst exceptionalClasses = [\n 'pageSettingSideBtn', 'paneClose', 'paneToggler', 'forZoom', 'jSheetContextMenu',\n];\n\nconst RightPanel = ({\n itemAccessor,\n onItemChange,\n onPageChange,\n onSettingChange,\n pages,\n}) => {\n const {\n activeTab,\n editedElement,\n isRightPanelOpen,\n isSlidesPanelOpen,\n setActiveElement,\n setActiveTab,\n setIsRightPanelOpen,\n } = useBuilderContext();\n const { acceptedItems, settings: layoutSettings } = usePropContext();\n const panelRef = useRef(null);\n const translatedTexts = useTranslatedTexts();\n const settingMap = {\n i_: {\n details: id => {\n const item = findItemById(id, pages);\n return item;\n },\n settings: item => {\n return acceptedItems[item.itemType];\n },\n title: item => {\n // eslint-disable-next-line max-len\n return translatedTexts[`${(acceptedItems[item.itemType].title || item.itemType).toLocaleUpperCase()}_SETTINGS`];\n },\n updater: onItemChange,\n },\n l_: {\n details: () => {\n return {\n ...layoutSettings,\n id: REPORT_SETTINGS_ITEM_TYPE,\n itemType: REPORT_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n return acceptedItems[REPORT_SETTINGS_ITEM_TYPE] || Layout;\n },\n title: () => translatedTexts.LAYOUT_SETTINGS,\n updater: onSettingChange,\n },\n p_: {\n details: id => {\n return {\n backgroundColor: layoutSettings.reportBackgroundColor,\n ...pages.find(page => page.id === id),\n itemType: PAGE_SETTINGS_ITEM_TYPE,\n };\n },\n settings: () => {\n const pageItem = acceptedItems[PAGE_SETTINGS_ITEM_TYPE] || Page;\n return {\n ...pageItem,\n settings: pageItem.settings.map(setting => {\n if (setting.key === 'pageLayer') {\n return { ...setting, setActiveElement, updater: onItemChange };\n }\n return setting;\n }) || Page.settings,\n };\n },\n title: () => translatedTexts.PAGE_SETTINGS,\n updater: onPageChange,\n },\n };\n\n let editedEl;\n let editedElId;\n let selectedItem;\n let element;\n let updateFunc;\n let title;\n\n const panelConfig = () => {\n selectedItem = editedEl.details(editedElId);\n element = editedEl.settings(selectedItem);\n updateFunc = editedEl.updater;\n title = editedEl.title(selectedItem);\n };\n\n const fallback = () => {\n setActiveElement(null);\n editedEl = settingMap.l_;\n editedElId = editedElement.substr(2);\n panelConfig();\n };\n\n try {\n editedEl = settingMap[editedElement.substr(0, 2)];\n editedElId = editedElement.substr(2);\n const checkSelectedItem = editedEl.details(editedElId);\n if (Object.keys(checkSelectedItem).length === 0) {\n fallback();\n } else {\n panelConfig();\n }\n } catch (e) {\n fallback();\n }\n\n // Tabs\n const tabsWithSettings = getTabsWithSettings(element, selectedItem, itemAccessor);\n const tabs = Object.keys(tabsWithSettings);\n\n useEffect(() => {\n const currentTab = tabs[activeTab.right];\n if (!tabsWithSettings[currentTab]) {\n // This is due to conditionaly hiding tabs\n setActiveTab('right', 0);\n }\n }, [activeTab, tabs]);\n\n // Panel className\n const panelAdditionalClassName = classNames(\n 'jfReport-settings forSettings f-height',\n {\n isIdle: !isRightPanelOpen,\n otherOpened: isSlidesPanelOpen,\n },\n );\n\n const onClickOutsideForPanel = e => {\n if (editedElement.substr(0, 2) === 'i_'\n || panelRef.current.contains(e.target)\n || panelRef.current.contains(document.activeElement)\n || Array.from(e.target.classList).some(xClass => exceptionalClasses.includes(xClass))\n || exceptionalClasses.some(xClass => e.target.closest(`.${xClass}`))\n ) {\n return;\n }\n setIsRightPanelOpen(false);\n setActiveElement(null);\n };\n\n useEffect(() => {\n if (isRightPanelOpen) window.addEventListener('click', onClickOutsideForPanel, false);\n return () => {\n window.removeEventListener('click', onClickOutsideForPanel, false);\n };\n }, [isRightPanelOpen]);\n\n return (\n <>\n <Panel\n ref={panelRef}\n additionalClassName={panelAdditionalClassName}\n >\n {isSlidesPanelOpen ? null : <RightPanelToggler />}\n <div className=\"toolItemWrapper f-height d-flex dir-col\">\n <Section title={title}>\n <Tabs\n panel=\"right\"\n tabs={tabs}\n />\n <Settings\n key={selectedItem.id}\n element={element}\n item={selectedItem}\n itemAccessor={itemAccessor}\n onChange={updateFunc}\n settings={tabsWithSettings}\n tabs={tabs}\n />\n </Section>\n </div>\n </Panel>\n </>\n );\n};\n\nRightPanel.propTypes = {\n itemAccessor: PropTypes.func,\n onItemChange: PropTypes.func,\n onPageChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n pages: PropTypes.arrayOf(\n PropTypes.shape({}),\n ),\n};\n\nRightPanel.defaultProps = {\n itemAccessor: () => { },\n onItemChange: () => { },\n onPageChange: () => { },\n onSettingChange: () => { },\n pages: [],\n};\n\nexport default memo(RightPanel);\n"],"names":["exceptionalClasses","RightPanel","itemAccessor","onItemChange","onPageChange","onSettingChange","pages","useBuilderContext","activeTab","editedElement","isRightPanelOpen","isSlidesPanelOpen","setActiveElement","setActiveTab","setIsRightPanelOpen","usePropContext","acceptedItems","layoutSettings","settings","panelRef","useRef","translatedTexts","useTranslatedTexts","settingMap","i_","details","id","item","findItemById","itemType","title","toLocaleUpperCase","updater","l_","REPORT_SETTINGS_ITEM_TYPE","Layout","LAYOUT_SETTINGS","p_","backgroundColor","reportBackgroundColor","find","page","PAGE_SETTINGS_ITEM_TYPE","pageItem","Page","map","setting","key","PAGE_SETTINGS","editedEl","editedElId","selectedItem","element","updateFunc","panelConfig","fallback","substr","checkSelectedItem","Object","keys","length","e","tabsWithSettings","getTabsWithSettings","tabs","useEffect","currentTab","right","panelAdditionalClassName","classNames","isIdle","otherOpened","onClickOutsideForPanel","current","contains","target","document","activeElement","Array","from","classList","some","xClass","includes","closest","window","addEventListener","removeEventListener","_jsx","_jsxs","propTypes","PropTypes","func","arrayOf","shape","defaultProps","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMA,kBAAkB,GAAG,CACzB,oBADyB,EACH,WADG,EACU,aADV,EACyB,SADzB,EACoC,mBADpC,CAA3B;;AAIA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,YAGI,QAHJA,YAGI;AAAA,MAFJC,eAEI,QAFJA,eAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,2BAQIC,iBAAiB,EARrB;AAAA,MACEC,SADF,sBACEA,SADF;AAAA,MAEEC,aAFF,sBAEEA,aAFF;AAAA,MAGEC,gBAHF,sBAGEA,gBAHF;AAAA,MAIEC,iBAJF,sBAIEA,iBAJF;AAAA,MAKEC,gBALF,sBAKEA,gBALF;AAAA,MAMEC,YANF,sBAMEA,YANF;AAAA,MAOEC,mBAPF,sBAOEA,mBAPF;;AASA,wBAAoDC,cAAc,EAAlE;AAAA,MAAQC,aAAR,mBAAQA,aAAR;AAAA,MAAiCC,cAAjC,mBAAuBC,QAAvB;;AACA,MAAMC,QAAQ,GAAGC,MAAM,CAAC,IAAD,CAAvB;AACA,MAAMC,eAAe,GAAGC,kBAAkB,EAA1C;AACA,MAAMC,UAAU,GAAG;AACjBC,IAAAA,EAAE,EAAE;AACFC,MAAAA,OAAO,EAAE,iBAAAC,EAAE,EAAI;AACb,YAAMC,IAAI,GAAGC,YAAY,CAACF,EAAD,EAAKpB,KAAL,CAAzB;AACA,eAAOqB,IAAP;AACD,OAJC;AAKFT,MAAAA,QAAQ,EAAE,kBAAAS,IAAI,EAAI;AAChB,eAAOX,aAAa,CAACW,IAAI,CAACE,QAAN,CAApB;AACD,OAPC;AAQFC,MAAAA,KAAK,EAAE,eAAAH,IAAI,EAAI;AACb;AACA,eAAON,eAAe,WAAI,CAACL,aAAa,CAACW,IAAI,CAACE,QAAN,CAAb,CAA6BC,KAA7B,IAAsCH,IAAI,CAACE,QAA5C,EAAsDE,iBAAtD,EAAJ,eAAtB;AACD,OAXC;AAYFC,MAAAA,OAAO,EAAE7B;AAZP,KADa;AAejB8B,IAAAA,EAAE,EAAE;AACFR,MAAAA,OAAO,EAAE,mBAAM;AACb,+CACKR,cADL;AAEES,UAAAA,EAAE,EAAEQ,yBAFN;AAGEL,UAAAA,QAAQ,EAAEK;AAHZ;AAKD,OAPC;AAQFhB,MAAAA,QAAQ,EAAE,oBAAM;AACd,eAAOF,aAAa,CAACkB,yBAAD,CAAb,IAA4CC,MAAnD;AACD,OAVC;AAWFL,MAAAA,KAAK,EAAE;AAAA,eAAMT,eAAe,CAACe,eAAtB;AAAA,OAXL;AAYFJ,MAAAA,OAAO,EAAE3B;AAZP,KAfa;AA6BjBgC,IAAAA,EAAE,EAAE;AACFZ,MAAAA,OAAO,EAAE,iBAAAC,EAAE,EAAI;AACb;AACEY,UAAAA,eAAe,EAAErB,cAAc,CAACsB;AADlC,WAEKjC,KAAK,CAACkC,IAAN,CAAW,UAAAC,IAAI;AAAA,iBAAIA,IAAI,CAACf,EAAL,KAAYA,EAAhB;AAAA,SAAf,CAFL;AAGEG,UAAAA,QAAQ,EAAEa;AAHZ;AAKD,OAPC;AAQFxB,MAAAA,QAAQ,EAAE,oBAAM;AACd,YAAMyB,QAAQ,GAAG3B,aAAa,CAAC0B,uBAAD,CAAb,IAA0CE,IAA3D;AACA,+CACKD,QADL;AAEEzB,UAAAA,QAAQ,EAAEyB,QAAQ,CAACzB,QAAT,CAAkB2B,GAAlB,CAAsB,UAAAC,OAAO,EAAI;AACzC,gBAAIA,OAAO,CAACC,GAAR,KAAgB,WAApB,EAAiC;AAC/B,qDAAYD,OAAZ;AAAqBlC,gBAAAA,gBAAgB,EAAhBA,gBAArB;AAAuCoB,gBAAAA,OAAO,EAAE7B;AAAhD;AACD;;AACD,mBAAO2C,OAAP;AACD,WALS,KAKJF,IAAI,CAAC1B;AAPb;AASD,OAnBC;AAoBFY,MAAAA,KAAK,EAAE;AAAA,eAAMT,eAAe,CAAC2B,aAAtB;AAAA,OApBL;AAqBFhB,MAAAA,OAAO,EAAE5B;AArBP;AA7Ba,GAAnB;AAsDA,MAAI6C,QAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,YAAJ;AACA,MAAIC,OAAJ;AACA,MAAIC,UAAJ;AACA,MAAIvB,KAAJ;;AAEA,MAAMwB,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBH,IAAAA,YAAY,GAAGF,QAAQ,CAACxB,OAAT,CAAiByB,UAAjB,CAAf;AACAE,IAAAA,OAAO,GAAGH,QAAQ,CAAC/B,QAAT,CAAkBiC,YAAlB,CAAV;AACAE,IAAAA,UAAU,GAAGJ,QAAQ,CAACjB,OAAtB;AACAF,IAAAA,KAAK,GAAGmB,QAAQ,CAACnB,KAAT,CAAeqB,YAAf,CAAR;AACD,GALD;;AAOA,MAAMI,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB3C,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACAqC,IAAAA,QAAQ,GAAG1B,UAAU,CAACU,EAAtB;AACAiB,IAAAA,UAAU,GAAGzC,aAAa,CAAC+C,MAAd,CAAqB,CAArB,CAAb;AACAF,IAAAA,WAAW;AACZ,GALD;;AAOA,MAAI;AACFL,IAAAA,QAAQ,GAAG1B,UAAU,CAACd,aAAa,CAAC+C,MAAd,CAAqB,CAArB,EAAwB,CAAxB,CAAD,CAArB;AACAN,IAAAA,UAAU,GAAGzC,aAAa,CAAC+C,MAAd,CAAqB,CAArB,CAAb;AACA,QAAMC,iBAAiB,GAAGR,QAAQ,CAACxB,OAAT,CAAiByB,UAAjB,CAA1B;;AACA,QAAIQ,MAAM,CAACC,IAAP,CAAYF,iBAAZ,EAA+BG,MAA/B,KAA0C,CAA9C,EAAiD;AAC/CL,MAAAA,QAAQ;AACT,KAFD,MAEO;AACLD,MAAAA,WAAW;AACZ;AACF,GATD,CASE,OAAOO,CAAP,EAAU;AACVN,IAAAA,QAAQ;AACT,GAnGG;;;AAsGJ,MAAMO,gBAAgB,GAAGC,mBAAmB,CAACX,OAAD,EAAUD,YAAV,EAAwBjD,YAAxB,CAA5C;AACA,MAAM8D,IAAI,GAAGN,MAAM,CAACC,IAAP,CAAYG,gBAAZ,CAAb;AAEAG,EAAAA,SAAS,CAAC,YAAM;AACd,QAAMC,UAAU,GAAGF,IAAI,CAACxD,SAAS,CAAC2D,KAAX,CAAvB;;AACA,QAAI,CAACL,gBAAgB,CAACI,UAAD,CAArB,EAAmC;AACjC;AACArD,MAAAA,YAAY,CAAC,OAAD,EAAU,CAAV,CAAZ;AACD;AACF,GANQ,EAMN,CAACL,SAAD,EAAYwD,IAAZ,CANM,CAAT,CAzGI;;AAkHJ,MAAMI,wBAAwB,GAAGC,UAAU,CACzC,wCADyC,EAEzC;AACEC,IAAAA,MAAM,EAAE,CAAC5D,gBADX;AAEE6D,IAAAA,WAAW,EAAE5D;AAFf,GAFyC,CAA3C;;AAQA,MAAM6D,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAX,CAAC,EAAI;AAClC,QAAIpD,aAAa,CAAC+C,MAAd,CAAqB,CAArB,EAAwB,CAAxB,MAA+B,IAA/B,IACCrC,QAAQ,CAACsD,OAAT,CAAiBC,QAAjB,CAA0Bb,CAAC,CAACc,MAA5B,CADD,IAECxD,QAAQ,CAACsD,OAAT,CAAiBC,QAAjB,CAA0BE,QAAQ,CAACC,aAAnC,CAFD,IAGCC,KAAK,CAACC,IAAN,CAAWlB,CAAC,CAACc,MAAF,CAASK,SAApB,EAA+BC,IAA/B,CAAoC,UAAAC,MAAM;AAAA,aAAIlF,kBAAkB,CAACmF,QAAnB,CAA4BD,MAA5B,CAAJ;AAAA,KAA1C,CAHD,IAIClF,kBAAkB,CAACiF,IAAnB,CAAwB,UAAAC,MAAM;AAAA,aAAIrB,CAAC,CAACc,MAAF,CAASS,OAAT,YAAqBF,MAArB,EAAJ;AAAA,KAA9B,CAJL,EAKE;AACA;AACD;;AACDpE,IAAAA,mBAAmB,CAAC,KAAD,CAAnB;AACAF,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,GAXD;;AAaAqD,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIvD,gBAAJ,EAAsB2E,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCd,sBAAjC,EAAyD,KAAzD;AACtB,WAAO,YAAM;AACXa,MAAAA,MAAM,CAACE,mBAAP,CAA2B,OAA3B,EAAoCf,sBAApC,EAA4D,KAA5D;AACD,KAFD;AAGD,GALQ,EAKN,CAAC9D,gBAAD,CALM,CAAT;AAOA,sBACE8E;AAAA,2BACEC,KAAC,KAAD;AACE,MAAA,GAAG,EAAEtE,QADP;AAEE,MAAA,mBAAmB,EAAEiD,wBAFvB;AAAA,iBAIGzD,iBAAiB,GAAG,IAAH,gBAAU6E,IAAC,iBAAD,KAJ9B,eAKEA;AAAK,QAAA,SAAS,EAAC,yCAAf;AAAA,+BACEC,KAAC,OAAD;AAAS,UAAA,KAAK,EAAE3D,KAAhB;AAAA,kCACE0D,IAAC,IAAD;AACE,YAAA,KAAK,EAAC,OADR;AAEE,YAAA,IAAI,EAAExB;AAFR,YADF,eAKEwB,IAAC,QAAD;AAEE,YAAA,OAAO,EAAEpC,OAFX;AAGE,YAAA,IAAI,EAAED,YAHR;AAIE,YAAA,YAAY,EAAEjD,YAJhB;AAKE,YAAA,QAAQ,EAAEmD,UALZ;AAME,YAAA,QAAQ,EAAES,gBANZ;AAOE,YAAA,IAAI,EAAEE;AAPR,aACOb,YAAY,CAACzB,EADpB,CALF;AAAA;AADF,QALF;AAAA;AADF,IADF;AA2BD,CA/KD;;AAiLAzB,UAAU,CAACyF,SAAX,GAAuB;AACrBxF,EAAAA,YAAY,EAAEyF,SAAS,CAACC,IADH;AAErBzF,EAAAA,YAAY,EAAEwF,SAAS,CAACC,IAFH;AAGrBxF,EAAAA,YAAY,EAAEuF,SAAS,CAACC,IAHH;AAIrBvF,EAAAA,eAAe,EAAEsF,SAAS,CAACC,IAJN;AAKrBtF,EAAAA,KAAK,EAAEqF,SAAS,CAACE,OAAV,CACLF,SAAS,CAACG,KAAV,CAAgB,EAAhB,CADK;AALc,CAAvB;AAUA7F,UAAU,CAAC8F,YAAX,GAA0B;AACxB7F,EAAAA,YAAY,EAAE,wBAAM,EADI;AAExBC,EAAAA,YAAY,EAAE,wBAAM,EAFI;AAGxBC,EAAAA,YAAY,EAAE,wBAAM,EAHI;AAIxBC,EAAAA,eAAe,EAAE,2BAAM,EAJC;AAKxBC,EAAAA,KAAK,EAAE;AALiB,CAA1B;AAQA,gCAAe0F,IAAI,CAAC/F,UAAD,CAAnB;;;;"}
@@ -2,6 +2,7 @@ import { memo, useCallback } from 'react';
2
2
  import { sortableHandle, sortableElement } from 'react-sortable-hoc';
3
3
  import classNames from 'classnames';
4
4
  import { capitalize, stripHTML } from '../../../utils/string.js';
5
+ import { useTranslatedTexts } from '../../../utils/hooks.js';
5
6
  import { jsx, jsxs } from 'react/jsx-runtime';
6
7
  import SvgDrag from '../../../assets/svg/settings/drag.svg.js';
7
8
 
@@ -22,6 +23,14 @@ var LayerItem = sortableElement(function (_ref) {
22
23
  var id = item.id,
23
24
  isVisible = item.isVisible;
24
25
  var isVisib = isVisible !== undefined ? isVisible : true;
26
+
27
+ var _useTranslatedTexts = useTranslatedTexts(),
28
+ CHART_ELEMENT = _useTranslatedTexts.CHART_ELEMENT,
29
+ CLICK_TO_EDIT_TEXT = _useTranslatedTexts.CLICK_TO_EDIT_TEXT,
30
+ CLIK_TO_EDIT_HEADER = _useTranslatedTexts.CLIK_TO_EDIT_HEADER,
31
+ PAGE_ELEMENT = _useTranslatedTexts.PAGE_ELEMENT,
32
+ RECTANGLE = _useTranslatedTexts.RECTANGLE;
33
+
25
34
  var handleItemLock = useCallback(function (_ref2) {
26
35
  var target = _ref2.target;
27
36
  onItemChange({
@@ -33,22 +42,22 @@ var LayerItem = sortableElement(function (_ref) {
33
42
 
34
43
  var itemText = function itemText(passedItem) {
35
44
  if (passedItem.itemType === 'shapes') {
36
- return capitalize(passedItem.shapeType || 'Rectangle');
45
+ return capitalize(passedItem.shapeType || RECTANGLE);
37
46
  }
38
47
 
39
48
  if (passedItem.itemType === 'chart') {
40
- return passedItem.text || 'Chart Element';
49
+ return passedItem.text || CHART_ELEMENT;
41
50
  }
42
51
 
43
52
  if (passedItem.itemType === 'header') {
44
- return passedItem.headerText || 'Click to edit header';
53
+ return passedItem.headerText || CLIK_TO_EDIT_HEADER;
45
54
  }
46
55
 
47
56
  if (passedItem.itemType === 'text') {
48
- return passedItem.value ? stripHTML(passedItem.value) : 'Click to edit text';
57
+ return passedItem.value ? stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;
49
58
  }
50
59
 
51
- return capitalize(passedItem.itemType || 'Page Element');
60
+ return capitalize(passedItem.itemType || PAGE_ELEMENT);
52
61
  };
53
62
 
54
63
  var content = /*#__PURE__*/jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { sortableElement, sortableHandle } from 'react-sortable-hoc';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\n\nconst DragHandle = sortableHandle(() => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n));\n\nconst LayerItem = sortableElement(({\n icon: Icon,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id]);\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || 'Rectangle');\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || 'Chart Element';\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || 'Click to edit header';\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : 'Click to edit text';\n }\n return capitalize(passedItem.itemType || 'Page Element');\n };\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <div\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n});\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","sortableHandle","_jsx","icons.drag","LayerItem","sortableElement","Icon","icon","item","onItemChange","optionKey","setActiveElement","id","isVisible","isVisib","undefined","handleItemLock","useCallback","target","checked","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","memo"],"mappings":"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"}
1
+ {"version":3,"file":"LayerItem.js","sources":["../../../../../src/components/Settings/PageLayer/LayerItem.js"],"sourcesContent":["import { memo, useCallback } from 'react';\nimport { sortableElement, sortableHandle } from 'react-sortable-hoc';\nimport classNames from 'classnames';\nimport { capitalize, stripHTML } from '../../../utils/string';\nimport * as icons from '../../../utils/icons';\nimport { useTranslatedTexts } from '../../../utils/hooks';\n\nconst DragHandle = sortableHandle(() => (\n <span className=\"jfReportSelectOption-drag\">\n <icons.drag className=\"jfReportSVG icon-drag\" />\n </span>\n));\n\nconst LayerItem = sortableElement(({\n icon: Icon,\n item,\n onItemChange,\n optionKey,\n setActiveElement,\n}) => {\n const { id, isVisible } = item;\n const isVisib = isVisible !== undefined ? isVisible : true;\n const {\n CHART_ELEMENT,\n CLICK_TO_EDIT_TEXT,\n CLIK_TO_EDIT_HEADER,\n PAGE_ELEMENT,\n RECTANGLE,\n } = useTranslatedTexts();\n\n const handleItemLock = useCallback(({ target }) => {\n onItemChange({ id }, { isVisible: target.checked });\n }, [id]);\n\n const itemText = passedItem => {\n if (passedItem.itemType === 'shapes') {\n return capitalize(passedItem.shapeType || RECTANGLE);\n }\n if (passedItem.itemType === 'chart') {\n return passedItem.text || CHART_ELEMENT;\n }\n if (passedItem.itemType === 'header') {\n return passedItem.headerText || CLIK_TO_EDIT_HEADER;\n }\n if (passedItem.itemType === 'text') {\n return passedItem.value ? stripHTML(passedItem.value) : CLICK_TO_EDIT_TEXT;\n }\n return capitalize(passedItem.itemType || PAGE_ELEMENT);\n };\n const content = (\n <div className=\"jfReportSelectOption\">\n <div className=\"jfReportSelectOption-icon\">\n <Icon />\n </div>\n <div className=\"jfReportSelectOption-text\">\n {itemText(item)}\n </div>\n </div>\n );\n\n return (\n <div\n className={classNames('jfReportSelectOption', {\n isSelected: isVisib,\n })}\n onClick={() => setActiveElement(id, false)}\n onKeyDown={() => {}}\n >\n <div className=\"jfReportSelectOption-visibility\">\n <label\n className=\"jfReportChoice isLight hasNotText\"\n htmlFor={optionKey}\n >\n <input\n checked={isVisib}\n className=\"jfReportChoice-input\"\n data-option-key={optionKey}\n id={optionKey}\n onChange={handleItemLock}\n type=\"checkbox\"\n />\n <div className=\"jfReportChoice-labelIcon\">\n <div className=\"jfReportChoice-label checkbox\" />\n </div>\n </label>\n </div>\n <div\n className=\"jfReportSelectOption-name\"\n // style={{ backgroundColor: option.color }}\n >\n <DragHandle />\n {content}\n </div>\n </div>\n );\n});\n\nexport default memo(LayerItem);\n"],"names":["DragHandle","sortableHandle","_jsx","icons.drag","LayerItem","sortableElement","Icon","icon","item","onItemChange","optionKey","setActiveElement","id","isVisible","isVisib","undefined","useTranslatedTexts","CHART_ELEMENT","CLICK_TO_EDIT_TEXT","CLIK_TO_EDIT_HEADER","PAGE_ELEMENT","RECTANGLE","handleItemLock","useCallback","target","checked","itemText","passedItem","itemType","capitalize","shapeType","text","headerText","value","stripHTML","content","_jsxs","classNames","isSelected","memo"],"mappings":"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"}
@@ -119,14 +119,13 @@ QuillEditor.formats = formats;
119
119
  QuillEditor.propTypes = {
120
120
  content: PropTypes.string,
121
121
  handleSave: PropTypes.func,
122
- placeholder: PropTypes.string,
122
+ placeholder: PropTypes.string.isRequired,
123
123
  setContent: PropTypes.func,
124
124
  setIsTextEditorOpen: PropTypes.func
125
125
  };
126
126
  QuillEditor.defaultProps = {
127
127
  content: '',
128
128
  handleSave: function handleSave() {},
129
- placeholder: 'Click to edit text',
130
129
  setContent: function setContent() {},
131
130
  setIsTextEditorOpen: function setIsTextEditorOpen() {}
132
131
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nQuillEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n placeholder: 'Click to edit text',\n setContent: () => {},\n setIsTextEditorOpen: () => {},\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"QuillEditor.js","sources":["../../../../src/components/TextEditor/QuillEditor.js"],"sourcesContent":["import React from 'react';\nimport ReactQuill from 'react-quill';\nimport domPurify from 'dompurify';\nimport PropTypes from 'prop-types';\nimport { formats, modules } from './textEditorConstants';\nimport { fontSizes } from '../../constants/fonts';\nimport 'react-quill/dist/quill.snow.css';\n\nconst Size = ReactQuill.Quill.import('attributors/style/size');\nSize.whitelist = fontSizes.map(s => `${s}px`);\nReactQuill.Quill.register(Size, true);\n\nclass QuillEditor extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.quill = React.createRef();\n }\n\n componentDidMount() {\n if (this.quill.current !== null) {\n const { content } = this.props;\n const editor = this.quill.current.getEditor();\n editor.setSelection(0, content.length);\n }\n }\n\n componentWillUnmount() {\n this.saveAndQuit();\n }\n\n saveAndQuit = () => {\n const { content, handleSave, setIsTextEditorOpen } = this.props;\n setIsTextEditorOpen(false);\n handleSave(content);\n }\n\n handleKeyDown = e => {\n e.stopPropagation();\n if (e.keyCode === 27) {\n this.saveAndQuit();\n }\n }\n\n handleSetContent = value => {\n const { setContent } = this.props;\n setContent(domPurify.sanitize(value));\n }\n\n render() {\n const { content, placeholder } = this.props;\n\n return (\n <div\n className=\"f-all\"\n onKeyDown={this.handleKeyDown}\n >\n <ReactQuill\n ref={this.quill}\n formats={QuillEditor.formats}\n modules={QuillEditor.modules}\n onChange={this.handleSetContent}\n placeholder={placeholder}\n preserveWhitespace\n value={content}\n />\n </div>\n );\n }\n}\n\nQuillEditor.modules = modules;\nQuillEditor.formats = formats;\n\nQuillEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n placeholder: PropTypes.string.isRequired,\n setContent: PropTypes.func,\n setIsTextEditorOpen: PropTypes.func,\n};\n\nQuillEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n setContent: () => {},\n setIsTextEditorOpen: () => {},\n};\n\nexport default QuillEditor;\n"],"names":["Size","ReactQuill","Quill","import","whitelist","fontSizes","map","s","register","QuillEditor","props","content","handleSave","setIsTextEditorOpen","e","stopPropagation","keyCode","saveAndQuit","value","setContent","domPurify","sanitize","quill","React","createRef","current","editor","getEditor","setSelection","length","placeholder","_jsx","handleKeyDown","formats","modules","handleSetContent","PureComponent","propTypes","PropTypes","string","func","isRequired","defaultProps"],"mappings":"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"}
@@ -64,14 +64,13 @@ TextEditor.propTypes = {
64
64
  handleSave: PropTypes.func,
65
65
  isLocked: PropTypes.bool,
66
66
  isSelected: PropTypes.bool,
67
- placeholder: PropTypes.string
67
+ placeholder: PropTypes.string.isRequired
68
68
  };
69
69
  TextEditor.defaultProps = {
70
70
  content: '',
71
71
  handleSave: function handleSave() {},
72
72
  isLocked: false,
73
- isSelected: false,
74
- placeholder: 'Click to edit text'
73
+ isSelected: false
75
74
  };
76
75
 
77
76
  export default TextEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderContext } from '../../utils/builderContext';\n\nconst TextEditor = ({\n content,\n handleSave,\n isLocked,\n isSelected,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const { isTextEditorOpen, setIsTextEditorOpen } = useBuilderContext();\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string,\n};\n\nTextEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n isLocked: false,\n isSelected: false,\n placeholder: 'Click to edit text',\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","useBuilderContext","isTextEditorOpen","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,QAAQ,CAACC,SAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,2BAAkDC,iBAAiB,EAAnE;AAAA,MAAQC,gBAAR,sBAAQA,gBAAR;AAAA,MAA0BC,mBAA1B,sBAA0BA,mBAA1B;;AAEA,MAAMC,OAAO,GAAGC,WAAW,CAAC,YAAM;AAChC,QAAIX,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BU,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACT,UAAD,EAAaD,QAAb,CAJwB,CAA3B;AAMA,MAAMa,UAAU,GAAGC,OAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeZ,QAAf;AACA,WAAO,CAAC,CAACS,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACb,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIQ,gBAAd,gBACLW,IAAC,WAAD;AACE,IAAA,OAAO,EAAEd,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEG;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGP,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAES,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDd,UAAU,CAACyB,SAAX,GAAuB;AACrBxB,EAAAA,OAAO,EAAEyB,SAAS,CAACC,MADE;AAErBzB,EAAAA,UAAU,EAAEwB,SAAS,CAACE,IAFD;AAGrBzB,EAAAA,QAAQ,EAAEuB,SAAS,CAACG,IAHC;AAIrBzB,EAAAA,UAAU,EAAEsB,SAAS,CAACG,IAJD;AAKrBxB,EAAAA,WAAW,EAAEqB,SAAS,CAACC;AALF,CAAvB;AAQA3B,UAAU,CAAC8B,YAAX,GAA0B;AACxB7B,EAAAA,OAAO,EAAE,EADe;AAExBC,EAAAA,UAAU,EAAE,sBAAM,EAFM;AAGxBC,EAAAA,QAAQ,EAAE,KAHc;AAIxBC,EAAAA,UAAU,EAAE,KAJY;AAKxBC,EAAAA,WAAW,EAAE;AALW,CAA1B;;;;"}
1
+ {"version":3,"file":"TextEditor.js","sources":["../../../../src/components/TextEditor/TextEditor.js"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport domPurify from 'dompurify';\nimport QuillEditor from './QuillEditor';\nimport { useBuilderContext } from '../../utils/builderContext';\n\nconst TextEditor = ({\n content,\n handleSave,\n isLocked,\n isSelected,\n placeholder,\n}) => {\n const [_content, setContent] = useState(domPurify.sanitize(content));\n\n const { isTextEditorOpen, setIsTextEditorOpen } = useBuilderContext();\n\n const onClick = useCallback(() => {\n if (isSelected && !isLocked) {\n setIsTextEditorOpen(true);\n }\n }, [isSelected, isLocked]);\n\n const isNotEmpty = useMemo(() => {\n const el = document.createElement('div');\n el.innerHTML = _content;\n return !!el.innerText;\n }, [_content]);\n\n return isSelected && isTextEditorOpen ? (\n <QuillEditor\n content={_content}\n handleSave={handleSave}\n placeholder={placeholder}\n setContent={setContent}\n setIsTextEditorOpen={setIsTextEditorOpen}\n />\n ) : (\n <div\n className={`f-all ql-editor${isNotEmpty ? '' : ' isEmptyTextElement'}`}\n dangerouslySetInnerHTML={{\n __html: isNotEmpty ? _content : placeholder,\n }}\n onClick={onClick}\n onKeyDown={() => {}}\n />\n );\n};\n\nTextEditor.propTypes = {\n content: PropTypes.string,\n handleSave: PropTypes.func,\n isLocked: PropTypes.bool,\n isSelected: PropTypes.bool,\n placeholder: PropTypes.string.isRequired,\n};\n\nTextEditor.defaultProps = {\n content: '',\n handleSave: () => {},\n isLocked: false,\n isSelected: false,\n};\n\nexport default TextEditor;\n"],"names":["TextEditor","content","handleSave","isLocked","isSelected","placeholder","useState","domPurify","sanitize","_content","setContent","useBuilderContext","isTextEditorOpen","setIsTextEditorOpen","onClick","useCallback","isNotEmpty","useMemo","el","document","createElement","innerHTML","innerText","_jsx","__html","propTypes","PropTypes","string","func","bool","isRequired","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;IAMMA,UAAU,GAAG,SAAbA,UAAa,OAMb;AAAA,MALJC,OAKI,QALJA,OAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,UAEI,QAFJA,UAEI;AAAA,MADJC,WACI,QADJA,WACI;;AACJ,kBAA+BC,QAAQ,CAACC,SAAS,CAACC,QAAV,CAAmBP,OAAnB,CAAD,CAAvC;AAAA;AAAA,MAAOQ,QAAP;AAAA,MAAiBC,UAAjB;;AAEA,2BAAkDC,iBAAiB,EAAnE;AAAA,MAAQC,gBAAR,sBAAQA,gBAAR;AAAA,MAA0BC,mBAA1B,sBAA0BA,mBAA1B;;AAEA,MAAMC,OAAO,GAAGC,WAAW,CAAC,YAAM;AAChC,QAAIX,UAAU,IAAI,CAACD,QAAnB,EAA6B;AAC3BU,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAJ0B,EAIxB,CAACT,UAAD,EAAaD,QAAb,CAJwB,CAA3B;AAMA,MAAMa,UAAU,GAAGC,OAAO,CAAC,YAAM;AAC/B,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACAF,IAAAA,EAAE,CAACG,SAAH,GAAeZ,QAAf;AACA,WAAO,CAAC,CAACS,EAAE,CAACI,SAAZ;AACD,GAJyB,EAIvB,CAACb,QAAD,CAJuB,CAA1B;AAMA,SAAOL,UAAU,IAAIQ,gBAAd,gBACLW,IAAC,WAAD;AACE,IAAA,OAAO,EAAEd,QADX;AAEE,IAAA,UAAU,EAAEP,UAFd;AAGE,IAAA,WAAW,EAAEG,WAHf;AAIE,IAAA,UAAU,EAAEK,UAJd;AAKE,IAAA,mBAAmB,EAAEG;AALvB,IADK,gBASLU;AACE,IAAA,SAAS,2BAAoBP,UAAU,GAAG,EAAH,GAAQ,qBAAtC,CADX;AAEE,IAAA,uBAAuB,EAAE;AACvBQ,MAAAA,MAAM,EAAER,UAAU,GAAGP,QAAH,GAAcJ;AADT,KAF3B;AAKE,IAAA,OAAO,EAAES,OALX;AAME,IAAA,SAAS,EAAE,qBAAM;AANnB,IATF;AAkBD;;AAEDd,UAAU,CAACyB,SAAX,GAAuB;AACrBxB,EAAAA,OAAO,EAAEyB,SAAS,CAACC,MADE;AAErBzB,EAAAA,UAAU,EAAEwB,SAAS,CAACE,IAFD;AAGrBzB,EAAAA,QAAQ,EAAEuB,SAAS,CAACG,IAHC;AAIrBzB,EAAAA,UAAU,EAAEsB,SAAS,CAACG,IAJD;AAKrBxB,EAAAA,WAAW,EAAEqB,SAAS,CAACC,MAAV,CAAiBG;AALT,CAAvB;AAQA9B,UAAU,CAAC+B,YAAX,GAA0B;AACxB9B,EAAAA,OAAO,EAAE,EADe;AAExBC,EAAAA,UAAU,EAAE,sBAAM,EAFM;AAGxBC,EAAAA,QAAQ,EAAE,KAHc;AAIxBC,EAAAA,UAAU,EAAE;AAJY,CAA1B;;;;"}
@@ -10,6 +10,10 @@ var ALL_TEXTS = {
10
10
  ADD_LINK: 'ADD LINK',
11
11
  ADD_NEW_PAGE: 'ADD SLIDE',
12
12
  BACKGROUND_COLOR: 'Background Color',
13
+ CHART_ELEMENT: 'Chart Element',
14
+ CHART_SETTINGS: 'Chart Settings',
15
+ CLICK_TO_EDIT_HEADER: 'Click to edit header',
16
+ CLICK_TO_EDIT_TEXT: 'Click to edit text',
13
17
  DELETE: 'Delete',
14
18
  DELETE_ITEM: 'Delete Item',
15
19
  DUPLICATE_ITEM: 'Duplicate Item',
@@ -18,7 +22,11 @@ var ALL_TEXTS = {
18
22
  FIT_TO_PAGE: 'Fit to Slide',
19
23
  FIT_TO_SCENE: 'Fit to Screen',
20
24
  GENERAL: 'GENERAL',
25
+ GRID_SETTINGS: 'Grid Settings',
26
+ HEADER_SETTINGS: 'Header Settings',
21
27
  HEIGHT: 'Height',
28
+ ICON_SETTINGS: 'Icon Settings',
29
+ IMAGE_SETTINGS: 'Image Settings',
22
30
  ITEM_SETTINGS: 'Item Settings',
23
31
  LAYERS: 'Layers',
24
32
  LAYOUT_SETTINGS: 'Layout Settings',
@@ -32,13 +40,16 @@ var ALL_TEXTS = {
32
40
  NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',
33
41
  NO_RESULT: 'No result was found',
34
42
  ORIGINAL_SIZE: 'Original Size',
43
+ PAGE_ELEMENT: 'Page Element',
35
44
  PAGE_SETTINGS: 'Slide Settings',
36
45
  PAGE_STYLE: 'Slide Style',
46
+ RECTANGLE: 'Rectangle',
37
47
  REMOVE_PAGE: 'Remove Slide',
38
48
  SEARCH: 'Search',
39
49
  SETTINGS: 'Settings',
40
50
  SHOW_ALL: 'Show All',
41
51
  SLIDES: 'Slides',
52
+ TEXT_SETTINGS: 'Text Settings',
42
53
  TOGGLE_OFF: 'OFF',
43
54
  TOGGLE_ON: 'ON',
44
55
  UNLOCK_ITEM: 'Unlock Item',
@@ -1 +1 @@
1
- {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n HEIGHT: 'Height',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","HEIGHT","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_SETTINGS","PAGE_STYLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,MAAM,EAAE,QALQ;AAMhBC,EAAAA,WAAW,EAAE,aANG;AAOhBC,EAAAA,cAAc,EAAE,gBAPA;AAQhBC,EAAAA,cAAc,EAAE,iBARA;AAShBC,EAAAA,QAAQ,EAAE,UATM;AAUhBC,EAAAA,WAAW,EAAE,cAVG;AAWhBC,EAAAA,YAAY,EAAE,eAXE;AAYhBC,EAAAA,OAAO,EAAE,SAZO;AAahBC,EAAAA,MAAM,EAAE,QAbQ;AAchBC,EAAAA,aAAa,EAAE,eAdC;AAehBC,EAAAA,MAAM,EAAE,QAfQ;AAgBhBC,EAAAA,eAAe,EAAE,iBAhBD;AAiBhBC,EAAAA,SAAS,EAAE,WAjBK;AAkBhBC,EAAAA,cAAc,EAAE,gBAlBA;AAmBhBC,EAAAA,aAAa,EAAE,eAnBC;AAoBhBC,EAAAA,mBAAmB,EAAE,sBApBL;AAqBhBC,EAAAA,iBAAiB,EAAE,oBArBH;AAsBhBC,EAAAA,YAAY,EAAE,cAtBE;AAuBhBC,EAAAA,aAAa,EAAE,eAvBC;AAwBhBC,EAAAA,kBAAkB,EAAE,8EAxBJ;AAyBhBC,EAAAA,SAAS,EAAE,qBAzBK;AA0BhBC,EAAAA,aAAa,EAAE,eA1BC;AA2BhBC,EAAAA,aAAa,EAAE,gBA3BC;AA4BhBC,EAAAA,UAAU,EAAE,aA5BI;AA6BhBC,EAAAA,WAAW,EAAE,cA7BG;AA8BhBC,EAAAA,MAAM,EAAE,QA9BQ;AA+BhBC,EAAAA,QAAQ,EAAE,UA/BM;AAgChBC,EAAAA,QAAQ,EAAE,UAhCM;AAiChBC,EAAAA,MAAM,EAAE,QAjCQ;AAkChBC,EAAAA,UAAU,EAAE,KAlCI;AAmChBC,EAAAA,SAAS,EAAE,IAnCK;AAoChBC,EAAAA,WAAW,EAAE,aApCG;AAqChBC,EAAAA,KAAK,EAAE,OArCS;AAsChBC,EAAAA,OAAO,EAAE,SAtCO;AAuChBC,EAAAA,QAAQ,EAAE;AAvCM;;IA0CZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBxC,SAAhB;;;;;"}
1
+ {"version":3,"file":"texts.js","sources":["../../../src/constants/texts.js"],"sourcesContent":["/* eslint-disable max-len */\nconst ALL_TEXTS = {\n ADD_ELEMENT: 'Add Element',\n ADD_LINK: 'ADD LINK',\n ADD_NEW_PAGE: 'ADD SLIDE',\n BACKGROUND_COLOR: 'Background Color',\n CHART_ELEMENT: 'Chart Element',\n CHART_SETTINGS: 'Chart Settings',\n CLICK_TO_EDIT_HEADER: 'Click to edit header',\n CLICK_TO_EDIT_TEXT: 'Click to edit text',\n DELETE: 'Delete',\n DELETE_ITEM: 'Delete Item',\n DUPLICATE_ITEM: 'Duplicate Item',\n DUPLICATE_PAGE: 'Duplicate Slide',\n ELEMENTS: 'Elements',\n FIT_TO_PAGE: 'Fit to Slide',\n FIT_TO_SCENE: 'Fit to Screen',\n GENERAL: 'GENERAL',\n GRID_SETTINGS: 'Grid Settings',\n HEADER_SETTINGS: 'Header Settings',\n HEIGHT: 'Height',\n ICON_SETTINGS: 'Icon Settings',\n IMAGE_SETTINGS: 'Image Settings',\n ITEM_SETTINGS: 'Item Settings',\n LAYERS: 'Layers',\n LAYOUT_SETTINGS: 'Layout Settings',\n LOCK_ITEM: 'Lock Item',\n MOVE_BACKWARDS: 'Move Backwards',\n MOVE_FORWARDS: 'Move Forwards',\n MOVE_PAGE_DOWNWARDS: 'Move Slide Downwards',\n MOVE_PAGE_UPWARDS: 'Move Slide Upwards',\n MOVE_TO_BACK: 'Move to Back',\n MOVE_TO_FRONT: 'Move to Front',\n NO_ELEMENT_IN_PAGE: 'There is no element on this slide. You can add a new element from side menu.',\n NO_RESULT: 'No result was found',\n ORIGINAL_SIZE: 'Original Size',\n PAGE_ELEMENT: 'Page Element',\n PAGE_SETTINGS: 'Slide Settings',\n PAGE_STYLE: 'Slide Style',\n RECTANGLE: 'Rectangle',\n REMOVE_PAGE: 'Remove Slide',\n SEARCH: 'Search',\n SETTINGS: 'Settings',\n SHOW_ALL: 'Show All',\n SLIDES: 'Slides',\n TEXT_SETTINGS: 'Text Settings',\n TOGGLE_OFF: 'OFF',\n TOGGLE_ON: 'ON',\n UNLOCK_ITEM: 'Unlock Item',\n WIDTH: 'Width',\n ZOOM_IN: 'Zoom In',\n ZOOM_OUT: 'Zoom Out',\n};\n\nclass ModuleTexts {\n constructor(allTexts) {\n this._texts = allTexts;\n }\n\n get Texts() {\n return this._texts;\n }\n\n setTexts(allTexts) {\n this._texts = allTexts;\n }\n}\n\nexport const SharingTextsModule = new ModuleTexts(ALL_TEXTS);\nexport default ALL_TEXTS;\n"],"names":["ALL_TEXTS","ADD_ELEMENT","ADD_LINK","ADD_NEW_PAGE","BACKGROUND_COLOR","CHART_ELEMENT","CHART_SETTINGS","CLICK_TO_EDIT_HEADER","CLICK_TO_EDIT_TEXT","DELETE","DELETE_ITEM","DUPLICATE_ITEM","DUPLICATE_PAGE","ELEMENTS","FIT_TO_PAGE","FIT_TO_SCENE","GENERAL","GRID_SETTINGS","HEADER_SETTINGS","HEIGHT","ICON_SETTINGS","IMAGE_SETTINGS","ITEM_SETTINGS","LAYERS","LAYOUT_SETTINGS","LOCK_ITEM","MOVE_BACKWARDS","MOVE_FORWARDS","MOVE_PAGE_DOWNWARDS","MOVE_PAGE_UPWARDS","MOVE_TO_BACK","MOVE_TO_FRONT","NO_ELEMENT_IN_PAGE","NO_RESULT","ORIGINAL_SIZE","PAGE_ELEMENT","PAGE_SETTINGS","PAGE_STYLE","RECTANGLE","REMOVE_PAGE","SEARCH","SETTINGS","SHOW_ALL","SLIDES","TEXT_SETTINGS","TOGGLE_OFF","TOGGLE_ON","UNLOCK_ITEM","WIDTH","ZOOM_IN","ZOOM_OUT","ModuleTexts","allTexts","_texts","SharingTextsModule"],"mappings":";;;;;;AAAA;IACMA,SAAS,GAAG;AAChBC,EAAAA,WAAW,EAAE,aADG;AAEhBC,EAAAA,QAAQ,EAAE,UAFM;AAGhBC,EAAAA,YAAY,EAAE,WAHE;AAIhBC,EAAAA,gBAAgB,EAAE,kBAJF;AAKhBC,EAAAA,aAAa,EAAE,eALC;AAMhBC,EAAAA,cAAc,EAAE,gBANA;AAOhBC,EAAAA,oBAAoB,EAAE,sBAPN;AAQhBC,EAAAA,kBAAkB,EAAE,oBARJ;AAShBC,EAAAA,MAAM,EAAE,QATQ;AAUhBC,EAAAA,WAAW,EAAE,aAVG;AAWhBC,EAAAA,cAAc,EAAE,gBAXA;AAYhBC,EAAAA,cAAc,EAAE,iBAZA;AAahBC,EAAAA,QAAQ,EAAE,UAbM;AAchBC,EAAAA,WAAW,EAAE,cAdG;AAehBC,EAAAA,YAAY,EAAE,eAfE;AAgBhBC,EAAAA,OAAO,EAAE,SAhBO;AAiBhBC,EAAAA,aAAa,EAAE,eAjBC;AAkBhBC,EAAAA,eAAe,EAAE,iBAlBD;AAmBhBC,EAAAA,MAAM,EAAE,QAnBQ;AAoBhBC,EAAAA,aAAa,EAAE,eApBC;AAqBhBC,EAAAA,cAAc,EAAE,gBArBA;AAsBhBC,EAAAA,aAAa,EAAE,eAtBC;AAuBhBC,EAAAA,MAAM,EAAE,QAvBQ;AAwBhBC,EAAAA,eAAe,EAAE,iBAxBD;AAyBhBC,EAAAA,SAAS,EAAE,WAzBK;AA0BhBC,EAAAA,cAAc,EAAE,gBA1BA;AA2BhBC,EAAAA,aAAa,EAAE,eA3BC;AA4BhBC,EAAAA,mBAAmB,EAAE,sBA5BL;AA6BhBC,EAAAA,iBAAiB,EAAE,oBA7BH;AA8BhBC,EAAAA,YAAY,EAAE,cA9BE;AA+BhBC,EAAAA,aAAa,EAAE,eA/BC;AAgChBC,EAAAA,kBAAkB,EAAE,8EAhCJ;AAiChBC,EAAAA,SAAS,EAAE,qBAjCK;AAkChBC,EAAAA,aAAa,EAAE,eAlCC;AAmChBC,EAAAA,YAAY,EAAE,cAnCE;AAoChBC,EAAAA,aAAa,EAAE,gBApCC;AAqChBC,EAAAA,UAAU,EAAE,aArCI;AAsChBC,EAAAA,SAAS,EAAE,WAtCK;AAuChBC,EAAAA,WAAW,EAAE,cAvCG;AAwChBC,EAAAA,MAAM,EAAE,QAxCQ;AAyChBC,EAAAA,QAAQ,EAAE,UAzCM;AA0ChBC,EAAAA,QAAQ,EAAE,UA1CM;AA2ChBC,EAAAA,MAAM,EAAE,QA3CQ;AA4ChBC,EAAAA,aAAa,EAAE,eA5CC;AA6ChBC,EAAAA,UAAU,EAAE,KA7CI;AA8ChBC,EAAAA,SAAS,EAAE,IA9CK;AA+ChBC,EAAAA,WAAW,EAAE,aA/CG;AAgDhBC,EAAAA,KAAK,EAAE,OAhDS;AAiDhBC,EAAAA,OAAO,EAAE,SAjDO;AAkDhBC,EAAAA,QAAQ,EAAE;AAlDM;;IAqDZC;AACJ,uBAAYC,QAAZ,EAAsB;AAAA;;AACpB,SAAKC,MAAL,GAAcD,QAAd;AACD;;;;SAED,eAAY;AACV,aAAO,KAAKC,MAAZ;AACD;;;WAED,kBAASD,QAAT,EAAmB;AACjB,WAAKC,MAAL,GAAcD,QAAd;AACD;;;;;;IAGUE,kBAAkB,GAAG,IAAIH,WAAJ,CAAgBnD,SAAhB;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "2.5.6",
3
+ "version": "2.5.8",
4
4
  "files": [
5
5
  "lib"
6
6
  ],