@jotforminc/dnd-builder 3.7.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/cjs/assets/svg/carets_from_center.svg.js +23 -0
  3. package/lib/cjs/assets/svg/carets_from_center.svg.js.map +1 -0
  4. package/lib/cjs/assets/svg/carets_to_center.svg.js +23 -0
  5. package/lib/cjs/assets/svg/carets_to_center.svg.js.map +1 -0
  6. package/lib/cjs/components/DraggableItem/DraggableItem.js +40 -0
  7. package/lib/cjs/components/DraggableItem/DraggableItem.js.map +1 -1
  8. package/lib/cjs/components/DraggableItem/DraggableItemActions.js +21 -9
  9. package/lib/cjs/components/DraggableItem/DraggableItemActions.js.map +1 -1
  10. package/lib/cjs/components/Panels/LeftPanel/Elements.js +30 -5
  11. package/lib/cjs/components/Panels/LeftPanel/Elements.js.map +1 -1
  12. package/lib/cjs/contexts/BuilderContext.js +18 -4
  13. package/lib/cjs/contexts/BuilderContext.js.map +1 -1
  14. package/lib/cjs/contexts/PropContext.js +0 -1
  15. package/lib/cjs/contexts/PropContext.js.map +1 -1
  16. package/lib/cjs/styles/_jfDarkTheme.scss +8 -0
  17. package/lib/cjs/styles/_jfLightTheme.scss +8 -0
  18. package/lib/cjs/styles/_jfReportsPanelElements.scss +12 -0
  19. package/lib/cjs/styles/_jfReportsPanels.scss +19 -0
  20. package/lib/cjs/styles/_jfReportsReportItem.scss +38 -0
  21. package/lib/cjs/styles/_jfReportsSVG.scss +5 -0
  22. package/lib/cjs/utils/getDefaultPresentationActions.js +4 -4
  23. package/lib/cjs/utils/getDefaultPresentationActions.js.map +1 -1
  24. package/lib/cjs/utils/icons.js +4 -0
  25. package/lib/cjs/utils/icons.js.map +1 -1
  26. package/lib/esm/assets/svg/carets_from_center.svg.js +21 -0
  27. package/lib/esm/assets/svg/carets_from_center.svg.js.map +1 -0
  28. package/lib/esm/assets/svg/carets_to_center.svg.js +21 -0
  29. package/lib/esm/assets/svg/carets_to_center.svg.js.map +1 -0
  30. package/lib/esm/components/DraggableItem/DraggableItem.js +41 -1
  31. package/lib/esm/components/DraggableItem/DraggableItem.js.map +1 -1
  32. package/lib/esm/components/DraggableItem/DraggableItemActions.js +21 -9
  33. package/lib/esm/components/DraggableItem/DraggableItemActions.js.map +1 -1
  34. package/lib/esm/components/Panels/LeftPanel/Elements.js +30 -5
  35. package/lib/esm/components/Panels/LeftPanel/Elements.js.map +1 -1
  36. package/lib/esm/contexts/BuilderContext.js +18 -4
  37. package/lib/esm/contexts/BuilderContext.js.map +1 -1
  38. package/lib/esm/contexts/PropContext.js +0 -1
  39. package/lib/esm/contexts/PropContext.js.map +1 -1
  40. package/lib/esm/styles/_jfDarkTheme.scss +8 -0
  41. package/lib/esm/styles/_jfLightTheme.scss +8 -0
  42. package/lib/esm/styles/_jfReportsPanelElements.scss +12 -0
  43. package/lib/esm/styles/_jfReportsPanels.scss +19 -0
  44. package/lib/esm/styles/_jfReportsReportItem.scss +38 -0
  45. package/lib/esm/styles/_jfReportsSVG.scss +5 -0
  46. package/lib/esm/utils/getDefaultPresentationActions.js +4 -4
  47. package/lib/esm/utils/getDefaultPresentationActions.js.map +1 -1
  48. package/lib/esm/utils/icons.js +2 -0
  49. package/lib/esm/utils/icons.js.map +1 -1
  50. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DraggableItemActions = () => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked, itemType } = item;\n\n const reportItemToolbarPosition = usePropStore(state => state.reportItemToolbarPosition);\n const toolbarPosition = reportItemToolbarPosition?.toolbarPositionByItemType?.[itemType] || 'right-align';\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className={`report-item-toolbar isLocked forLocked ${toolbarPosition}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock className=\"toolbar-icon\" />\n </button>\n </div>\n );\n }\n return (\n <div className={`report-item-toolbar ${toolbarPosition}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item error\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n );\n};\n\nexport default DraggableItemActions;\n"],"names":["DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","state","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","itemType","reportItemToolbarPosition","toolbarPosition","toolbarPositionByItemType","changeLockStatus","id","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash"],"mappings":"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"}
1
+ {"version":3,"file":"DraggableItemActions.js","sources":["../../../../src/components/DraggableItem/DraggableItemActions.js"],"sourcesContent":["import * as icons from '../../utils/icons';\nimport { useSelectedElements, useTranslatedTexts } from '../../utils/hooks';\nimport { usePropStore } from '../../contexts/PropContext';\nimport { useBuilderStore } from '../../contexts/BuilderContext';\nimport generateId from '../../utils/generateId';\n\nconst DEFAULT_TOOLBAR_ALIGN = 'right-align';\n\nconst toolbarAlignForItem = (state, selectedId) => {\n const { itemId, position } = state.toolbarPosition ?? {};\n if (itemId == null || itemId === '' || String(itemId) !== String(selectedId)) {\n return DEFAULT_TOOLBAR_ALIGN;\n }\n return position ?? DEFAULT_TOOLBAR_ALIGN;\n};\n\nconst DraggableItemActions = () => {\n const {\n DELETE_ITEM,\n DUPLICATE_ITEM,\n ITEM_SETTINGS,\n LOCK_ITEM,\n } = useTranslatedTexts();\n\n const onAnEventTrigger = usePropStore(state => state.onAnEventTrigger);\n const onItemChange = usePropStore(state => state.onItemChange);\n const onItemRemove = usePropStore(state => state.onItemRemove);\n const onItemAdd = usePropStore(state => state.onItemAdd);\n\n const setActiveElements = useBuilderStore(state => state.setActiveElements);\n const resetActiveElements = useBuilderStore(state => state.resetActiveElements);\n const setIsRightPanelOpen = useBuilderStore(state => state.setIsRightPanelOpen);\n\n const selectedElements = useSelectedElements();\n const item = selectedElements[0]; // ACTIONS WORKS ONLY FOR ONE ITEM\n\n const { isLocked } = item;\n\n const itemId = item?.id;\n const position = useBuilderStore(s => toolbarAlignForItem(s, itemId));\n\n const changeLockStatus = () => {\n onAnEventTrigger(isLocked ? 'unlockReportItem' : 'lockReportItem', item.itemType);\n onItemChange({ id: item.id }, { isLocked: isLocked ? false : true });\n if (!isLocked) {\n setIsRightPanelOpen(false);\n }\n };\n\n const deleteItem = () => {\n setIsRightPanelOpen(false);\n resetActiveElements();\n onItemRemove(item);\n onAnEventTrigger('removeItem', item.itemType);\n };\n\n const duplicateItem = () => {\n const itemID = generateId();\n onItemAdd({\n ...item,\n id: itemID,\n left: item.left + 50,\n top: item.top + 50,\n });\n onAnEventTrigger('duplicateItem', item.itemType);\n setActiveElements(itemID, true);\n setIsRightPanelOpen(true);\n };\n\n const openSettings = () => {\n setIsRightPanelOpen(true);\n };\n\n if (isLocked) {\n return (\n <div className={`report-item-toolbar isLocked forLocked ${position}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n type=\"button\"\n >\n <icons.lock className=\"toolbar-icon\" />\n </button>\n </div>\n );\n }\n return (\n <div className={`report-item-toolbar ${position}`}>\n <button\n className=\"report-item-toolbar-item\"\n onClick={openSettings}\n title={ITEM_SETTINGS}\n type=\"button\"\n >\n <icons.settings className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={duplicateItem}\n title={DUPLICATE_ITEM}\n type=\"button\"\n >\n <icons.duplicate className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item\"\n onClick={changeLockStatus}\n title={LOCK_ITEM}\n type=\"button\"\n >\n <icons.unlock className=\"toolbar-icon\" />\n </button>\n <button\n className=\"report-item-toolbar-item error\"\n onClick={deleteItem}\n title={DELETE_ITEM}\n type=\"button\"\n >\n <icons.trash className=\"toolbar-icon\" />\n </button>\n </div>\n );\n};\n\nexport default DraggableItemActions;\n"],"names":["DEFAULT_TOOLBAR_ALIGN","toolbarAlignForItem","state","selectedId","toolbarPosition","itemId","position","String","DraggableItemActions","useTranslatedTexts","DELETE_ITEM","DUPLICATE_ITEM","ITEM_SETTINGS","LOCK_ITEM","onAnEventTrigger","usePropStore","onItemChange","onItemRemove","onItemAdd","setActiveElements","useBuilderStore","resetActiveElements","setIsRightPanelOpen","selectedElements","useSelectedElements","item","isLocked","id","s","changeLockStatus","itemType","deleteItem","duplicateItem","itemID","generateId","left","top","openSettings","_jsx","icons.lock","_jsxs","icons.settings","icons.duplicate","icons.unlock","icons.trash"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import 'core-js/modules/es.array.concat.js';
1
2
  import 'core-js/modules/es.array.filter.js';
2
3
  import 'core-js/modules/es.array.includes.js';
3
4
  import 'core-js/modules/es.array.map.js';
@@ -66,6 +67,15 @@ var Elements = function Elements() {
66
67
  var elementWillBeUsed = useMemo(function () {
67
68
  return Array.isArray(elements) ? elements : [];
68
69
  }, [elements]);
70
+ var flatElements = useMemo(function () {
71
+ return elementWillBeUsed.reduce(function (acc, item) {
72
+ if (Array.isArray(item.elements)) {
73
+ return acc.concat(item.elements);
74
+ }
75
+
76
+ return acc.concat(item);
77
+ }, []);
78
+ }, [elementWillBeUsed]);
69
79
 
70
80
  var _useState = useState(elementWillBeUsed),
71
81
  _useState2 = _slicedToArray(_useState, 2),
@@ -81,11 +91,28 @@ var Elements = function Elements() {
81
91
  return;
82
92
  }
83
93
 
84
- var filteredElements = elementWillBeUsed === null || elementWillBeUsed === void 0 ? void 0 : elementWillBeUsed.filter(function (element) {
94
+ var filteredElements = flatElements.filter(function (element) {
85
95
  return element.title.toLowerCase().includes(value.toLowerCase());
86
96
  });
87
97
  setSearchElements(filteredElements);
88
- }, [elementWillBeUsed]);
98
+ }, [elementWillBeUsed, flatElements]);
99
+ var renderElements = useCallback(function (items) {
100
+ return items.map(function (item, index) {
101
+ if (Array.isArray(item.elements)) {
102
+ return /*#__PURE__*/jsxs("div", {
103
+ className: "toolItem-subSection",
104
+ children: [/*#__PURE__*/jsx("span", {
105
+ className: "toolItem-subSection-title",
106
+ children: item.title
107
+ }), item.elements.map(function (el, elIndex) {
108
+ return /*#__PURE__*/jsx(Element, _objectSpread({}, el), elIndex.toString());
109
+ })]
110
+ }, item.section || index);
111
+ }
112
+
113
+ return /*#__PURE__*/jsx(Element, _objectSpread({}, item), index.toString());
114
+ });
115
+ }, []);
89
116
  return /*#__PURE__*/jsxs("div", {
90
117
  className: "toolItemWrapper f-height d-flex dir-col o-auto p-relative",
91
118
  children: [/*#__PURE__*/jsx(LeftPanelToggler, {}), /*#__PURE__*/jsxs(Section, {
@@ -97,9 +124,7 @@ var Elements = function Elements() {
97
124
  onSearch: filterElementsBySearch
98
125
  }), /*#__PURE__*/jsx("div", {
99
126
  className: "toolItem-tabContent",
100
- children: searchElements.length > 0 ? searchElements.map(function (element, index) {
101
- return /*#__PURE__*/jsx(Element, _objectSpread({}, element), index.toString());
102
- }) : /*#__PURE__*/jsx("div", {
127
+ children: searchElements.length > 0 ? renderElements(searchElements) : /*#__PURE__*/jsx("div", {
103
128
  className: "no-search-result-text",
104
129
  children: NO_RESULT
105
130
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Elements.js","sources":["../../../../../src/components/Panels/LeftPanel/Elements.js"],"sourcesContent":["import {\n memo,\n useState,\n useMemo,\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Section from '../../Builder/Section';\nimport Element from '../../Builder/Element';\nimport { leftPanelConfigPropType } from '../../../constants/propTypes';\nimport LeftPanelCloser from './LeftPanelCloser';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport Tabs from '../../Builder/Tabs';\nimport { getTabsWithElements } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport SearchInput from '../../Builder/SearchInput';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst Elements = () => {\n const leftPanelConfig = usePropStore(state => state.leftPanelConfig);\n const activeTab = useBuilderStore(state => state.activeTab);\n const { ADD_ELEMENT, NO_RESULT } = useTranslatedTexts();\n\n // Tabs\n const tabDetails = getTabsWithElements(leftPanelConfig);\n const tabs = useMemo(() => {\n return Object.keys(tabDetails);\n }, [tabDetails]);\n\n const {\n elements = {},\n hasSearch = false,\n } = useMemo(() => {\n return tabDetails[tabs[activeTab.left]] || {};\n }, [activeTab.left, tabDetails, tabs]);\n\n const elementWillBeUsed = useMemo(() => {\n return Array.isArray(elements) ? elements : [];\n }, [elements]);\n\n const [searchElements, setSearchElements] = useState(elementWillBeUsed);\n\n useEffect(() => {\n setSearchElements(elementWillBeUsed);\n }, [elementWillBeUsed]);\n\n const filterElementsBySearch = useCallback(value => {\n if (value === '') {\n setSearchElements(elementWillBeUsed);\n return;\n }\n const filteredElements = elementWillBeUsed?.filter(element => element.title.toLowerCase().includes(value.toLowerCase()));\n setSearchElements(filteredElements);\n }, [elementWillBeUsed]);\n\n return (\n <div className=\"toolItemWrapper f-height d-flex dir-col o-auto p-relative\">\n <LeftPanelCloser />\n <Section\n title={ADD_ELEMENT}\n >\n <Tabs\n panel=\"left\"\n tabs={tabs}\n />\n {hasSearch && (\n <SearchInput onSearch={filterElementsBySearch} />\n )}\n <div className=\"toolItem-tabContent\">\n {searchElements.length > 0 ? searchElements.map((element, index) => (\n <Element\n key={index.toString()}\n {...element}\n />\n )) : (\n <div className=\"no-search-result-text\">{NO_RESULT}</div>\n )}\n </div>\n </Section>\n </div>\n );\n};\n\nElements.propTypes = {\n acceptedItems: PropTypes.shape({}),\n leftPanelConfig: leftPanelConfigPropType,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n};\n\nexport default memo(Elements);\n"],"names":["Elements","leftPanelConfig","usePropStore","state","activeTab","useBuilderStore","useTranslatedTexts","ADD_ELEMENT","NO_RESULT","tabDetails","getTabsWithElements","tabs","useMemo","Object","keys","left","elements","hasSearch","elementWillBeUsed","Array","isArray","useState","searchElements","setSearchElements","useEffect","filterElementsBySearch","useCallback","value","filteredElements","filter","element","title","toLowerCase","includes","_jsxs","_jsx","LeftPanelCloser","length","map","index","toString","propTypes","acceptedItems","PropTypes","shape","leftPanelConfigPropType","onAnEventTrigger","func","onItemAdd","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Elements.js","sources":["../../../../../src/components/Panels/LeftPanel/Elements.js"],"sourcesContent":["import {\n memo,\n useState,\n useMemo,\n useCallback,\n useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport Section from '../../Builder/Section';\nimport Element from '../../Builder/Element';\nimport { leftPanelConfigPropType } from '../../../constants/propTypes';\nimport LeftPanelCloser from './LeftPanelCloser';\nimport { useBuilderStore } from '../../../contexts/BuilderContext';\nimport Tabs from '../../Builder/Tabs';\nimport { getTabsWithElements } from '../../../utils/functions';\nimport { useTranslatedTexts } from '../../../utils/hooks';\nimport SearchInput from '../../Builder/SearchInput';\nimport { usePropStore } from '../../../contexts/PropContext';\n\nconst Elements = () => {\n const leftPanelConfig = usePropStore(state => state.leftPanelConfig);\n const activeTab = useBuilderStore(state => state.activeTab);\n const { ADD_ELEMENT, NO_RESULT } = useTranslatedTexts();\n\n // Tabs\n const tabDetails = getTabsWithElements(leftPanelConfig);\n const tabs = useMemo(() => {\n return Object.keys(tabDetails);\n }, [tabDetails]);\n\n const {\n elements = {},\n hasSearch = false,\n } = useMemo(() => {\n return tabDetails[tabs[activeTab.left]] || {};\n }, [activeTab.left, tabDetails, tabs]);\n\n const elementWillBeUsed = useMemo(() => {\n return Array.isArray(elements) ? elements : [];\n }, [elements]);\n\n const flatElements = useMemo(() => {\n return elementWillBeUsed.reduce((acc, item) => {\n if (Array.isArray(item.elements)) {\n return acc.concat(item.elements);\n }\n return acc.concat(item);\n }, []);\n }, [elementWillBeUsed]);\n\n const [searchElements, setSearchElements] = useState(elementWillBeUsed);\n\n useEffect(() => {\n setSearchElements(elementWillBeUsed);\n }, [elementWillBeUsed]);\n\n const filterElementsBySearch = useCallback(value => {\n if (value === '') {\n setSearchElements(elementWillBeUsed);\n return;\n }\n const filteredElements = flatElements.filter(element => element.title.toLowerCase().includes(value.toLowerCase()));\n setSearchElements(filteredElements);\n }, [elementWillBeUsed, flatElements]);\n\n const renderElements = useCallback(items => {\n return items.map((item, index) => {\n if (Array.isArray(item.elements)) {\n return (\n <div\n key={item.section || index}\n className=\"toolItem-subSection\"\n >\n <span className=\"toolItem-subSection-title\">{item.title}</span>\n {item.elements.map((el, elIndex) => (\n <Element\n key={elIndex.toString()}\n {...el}\n />\n ))}\n </div>\n );\n }\n return (\n <Element\n key={index.toString()}\n {...item}\n />\n );\n });\n }, []);\n\n return (\n <div className=\"toolItemWrapper f-height d-flex dir-col o-auto p-relative\">\n <LeftPanelCloser />\n <Section\n title={ADD_ELEMENT}\n >\n <Tabs\n panel=\"left\"\n tabs={tabs}\n />\n {hasSearch && (\n <SearchInput onSearch={filterElementsBySearch} />\n )}\n <div className=\"toolItem-tabContent\">\n {searchElements.length > 0 ? renderElements(searchElements) : (\n <div className=\"no-search-result-text\">{NO_RESULT}</div>\n )}\n </div>\n </Section>\n </div>\n );\n};\n\nElements.propTypes = {\n acceptedItems: PropTypes.shape({}),\n leftPanelConfig: leftPanelConfigPropType,\n onAnEventTrigger: PropTypes.func,\n onItemAdd: PropTypes.func,\n};\n\nexport default memo(Elements);\n"],"names":["Elements","leftPanelConfig","usePropStore","state","activeTab","useBuilderStore","useTranslatedTexts","ADD_ELEMENT","NO_RESULT","tabDetails","getTabsWithElements","tabs","useMemo","Object","keys","left","elements","hasSearch","elementWillBeUsed","Array","isArray","flatElements","reduce","acc","item","concat","useState","searchElements","setSearchElements","useEffect","filterElementsBySearch","useCallback","value","filteredElements","filter","element","title","toLowerCase","includes","renderElements","items","map","index","_jsxs","_jsx","el","elIndex","toString","section","LeftPanelCloser","length","propTypes","acceptedItems","PropTypes","shape","leftPanelConfigPropType","onAnEventTrigger","func","onItemAdd","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,MAAMC,eAAe,GAAGC,YAAY,CAAC,UAAAC,KAAK;AAAA,WAAIA,KAAK,CAACF,eAAV;AAAA,GAAN,CAApC;AACA,MAAMG,SAAS,GAAGC,eAAe,CAAC,UAAAF,KAAK;AAAA,WAAIA,KAAK,CAACC,SAAV;AAAA,GAAN,CAAjC;;AACA,4BAAmCE,kBAAkB,EAArD;AAAA,MAAQC,WAAR,uBAAQA,WAAR;AAAA,MAAqBC,SAArB,uBAAqBA,SAArB,CAHqB;;;AAMrB,MAAMC,UAAU,GAAGC,mBAAmB,CAACT,eAAD,CAAtC;AACA,MAAMU,IAAI,GAAGC,OAAO,CAAC,YAAM;AACzB,WAAOC,MAAM,CAACC,IAAP,CAAYL,UAAZ,CAAP;AACD,GAFmB,EAEjB,CAACA,UAAD,CAFiB,CAApB;;AAIA,iBAGIG,OAAO,CAAC,YAAM;AAChB,WAAOH,UAAU,CAACE,IAAI,CAACP,SAAS,CAACW,IAAX,CAAL,CAAV,IAAoC,EAA3C;AACD,GAFU,EAER,CAACX,SAAS,CAACW,IAAX,EAAiBN,UAAjB,EAA6BE,IAA7B,CAFQ,CAHX;AAAA,mCACEK,QADF;AAAA,MACEA,QADF,kCACa,EADb;AAAA,oCAEEC,SAFF;AAAA,MAEEA,SAFF,mCAEc,KAFd;;AAOA,MAAMC,iBAAiB,GAAGN,OAAO,CAAC,YAAM;AACtC,WAAOO,KAAK,CAACC,OAAN,CAAcJ,QAAd,IAA0BA,QAA1B,GAAqC,EAA5C;AACD,GAFgC,EAE9B,CAACA,QAAD,CAF8B,CAAjC;AAIA,MAAMK,YAAY,GAAGT,OAAO,CAAC,YAAM;AACjC,WAAOM,iBAAiB,CAACI,MAAlB,CAAyB,UAACC,GAAD,EAAMC,IAAN,EAAe;AAC7C,UAAIL,KAAK,CAACC,OAAN,CAAcI,IAAI,CAACR,QAAnB,CAAJ,EAAkC;AAChC,eAAOO,GAAG,CAACE,MAAJ,CAAWD,IAAI,CAACR,QAAhB,CAAP;AACD;;AACD,aAAOO,GAAG,CAACE,MAAJ,CAAWD,IAAX,CAAP;AACD,KALM,EAKJ,EALI,CAAP;AAMD,GAP2B,EAOzB,CAACN,iBAAD,CAPyB,CAA5B;;AASA,kBAA4CQ,QAAQ,CAACR,iBAAD,CAApD;AAAA;AAAA,MAAOS,cAAP;AAAA,MAAuBC,iBAAvB;;AAEAC,EAAAA,SAAS,CAAC,YAAM;AACdD,IAAAA,iBAAiB,CAACV,iBAAD,CAAjB;AACD,GAFQ,EAEN,CAACA,iBAAD,CAFM,CAAT;AAIA,MAAMY,sBAAsB,GAAGC,WAAW,CAAC,UAAAC,KAAK,EAAI;AAClD,QAAIA,KAAK,KAAK,EAAd,EAAkB;AAChBJ,MAAAA,iBAAiB,CAACV,iBAAD,CAAjB;AACA;AACD;;AACD,QAAMe,gBAAgB,GAAGZ,YAAY,CAACa,MAAb,CAAoB,UAAAC,OAAO;AAAA,aAAIA,OAAO,CAACC,KAAR,CAAcC,WAAd,GAA4BC,QAA5B,CAAqCN,KAAK,CAACK,WAAN,EAArC,CAAJ;AAAA,KAA3B,CAAzB;AACAT,IAAAA,iBAAiB,CAACK,gBAAD,CAAjB;AACD,GAPyC,EAOvC,CAACf,iBAAD,EAAoBG,YAApB,CAPuC,CAA1C;AASA,MAAMkB,cAAc,GAAGR,WAAW,CAAC,UAAAS,KAAK,EAAI;AAC1C,WAAOA,KAAK,CAACC,GAAN,CAAU,UAACjB,IAAD,EAAOkB,KAAP,EAAiB;AAChC,UAAIvB,KAAK,CAACC,OAAN,CAAcI,IAAI,CAACR,QAAnB,CAAJ,EAAkC;AAChC,4BACE2B;AAEE,UAAA,SAAS,EAAC,qBAFZ;AAAA,kCAIEC;AAAM,YAAA,SAAS,EAAC,2BAAhB;AAAA,sBAA6CpB,IAAI,CAACY;AAAlD,YAJF,EAKGZ,IAAI,CAACR,QAAL,CAAcyB,GAAd,CAAkB,UAACI,EAAD,EAAKC,OAAL;AAAA,gCACjBF,IAAC,OAAD,oBAEMC,EAFN,GACOC,OAAO,CAACC,QAAR,EADP,CADiB;AAAA,WAAlB,CALH;AAAA,WACOvB,IAAI,CAACwB,OAAL,IAAgBN,KADvB,CADF;AAcD;;AACD,0BACEE,IAAC,OAAD,oBAEMpB,IAFN,GACOkB,KAAK,CAACK,QAAN,EADP,CADF;AAMD,KAvBM,CAAP;AAwBD,GAzBiC,EAyB/B,EAzB+B,CAAlC;AA2BA,sBACEJ;AAAK,IAAA,SAAS,EAAC,2DAAf;AAAA,4BACEC,IAACK,gBAAD,KADF,eAEEN,KAAC,OAAD;AACE,MAAA,KAAK,EAAEpC,WADT;AAAA,8BAGEqC,IAAC,IAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,IAAI,EAAEjC;AAFR,QAHF,EAOGM,SAAS,iBACR2B,IAAC,WAAD;AAAa,QAAA,QAAQ,EAAEd;AAAvB,QARJ,eAUEc;AAAK,QAAA,SAAS,EAAC,qBAAf;AAAA,kBACGjB,cAAc,CAACuB,MAAf,GAAwB,CAAxB,GAA4BX,cAAc,CAACZ,cAAD,CAA1C,gBACCiB;AAAK,UAAA,SAAS,EAAC,uBAAf;AAAA,oBAAwCpC;AAAxC;AAFJ,QAVF;AAAA,MAFF;AAAA,IADF;AAqBD,CA9FD;;AAgGAR,QAAQ,CAACmD,SAAT,GAAqB;AACnBC,EAAAA,aAAa,EAAEC,SAAS,CAACC,KAAV,CAAgB,EAAhB,CADI;AAEnBrD,EAAAA,eAAe,EAAEsD,uBAFE;AAGnBC,EAAAA,gBAAgB,EAAEH,SAAS,CAACI,IAHT;AAInBC,EAAAA,SAAS,EAAEL,SAAS,CAACI;AAJF,CAArB;AAOA,8BAAeE,IAAI,CAAC3D,QAAD,CAAnB;;;;"}
@@ -251,6 +251,16 @@ var builderStore = function builderStore(props) {
251
251
  overedPageId: overPageId
252
252
  });
253
253
  },
254
+ setToolbarPosition: function setToolbarPosition(_ref) {
255
+ var itemId = _ref.itemId,
256
+ position = _ref.position;
257
+ set({
258
+ toolbarPosition: {
259
+ itemId: itemId,
260
+ position: position
261
+ }
262
+ });
263
+ },
254
264
  setVisiblePageOrder: function setVisiblePageOrder(visiblePageOrder) {
255
265
  set({
256
266
  visiblePageOrder: visiblePageOrder
@@ -284,6 +294,10 @@ var builderStore = function builderStore(props) {
284
294
  shouldFitZoomInitially: !!props.defaultZoom,
285
295
  shouldShowRightPanelInitially: (_props$shouldShowRigh = props.shouldShowRightPanelInitially) !== null && _props$shouldShowRigh !== void 0 ? _props$shouldShowRigh : true,
286
296
  slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,
297
+ toolbarPosition: props.toolbarPosition || {
298
+ itemId: '',
299
+ position: 'right-align'
300
+ },
287
301
  visiblePageOrder: 1,
288
302
  zoom: (_props$defaultZoom = props.defaultZoom) !== null && _props$defaultZoom !== void 0 ? _props$defaultZoom : 0.8
289
303
  };
@@ -291,10 +305,10 @@ var builderStore = function builderStore(props) {
291
305
  };
292
306
 
293
307
  var BuilderContext = /*#__PURE__*/createContext(null);
294
- var BuilderProvider = function BuilderProvider(_ref) {
295
- var children = _ref.children;
296
- _ref.value;
297
- var props = _objectWithoutProperties(_ref, _excluded);
308
+ var BuilderProvider = function BuilderProvider(_ref2) {
309
+ var children = _ref2.children;
310
+ _ref2.value;
311
+ var props = _objectWithoutProperties(_ref2, _excluded);
298
312
 
299
313
  var storeRef = useRef();
300
314
 
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth && get().mode === 'customize') {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","mode","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldFitZoomInitially","defaultZoom","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"BuilderContext.js","sources":["../../../src/contexts/BuilderContext.js"],"sourcesContent":["/* eslint-disable complexity */\nimport { createContext, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { createStore, useStore } from 'zustand';\nimport { SLIDES_LIST_TYPE_MAP } from '../constants/panel';\n\nconst builderStore = props => {\n return createStore((set, get) => ({\n activeElements: props.activeElement || [],\n activeTab: props.activeTab || { left: 0, right: 0 },\n clickOutsideIgnoreSelectors: props.clickOutsideIgnoreSelectors || [],\n contextMenuProps: props.contextMenuProps || false,\n editedElement: props.editedElement || 'l_layout',\n guides: {},\n isLeftPanelOpen: props.isLeftPanelOpen || false,\n isResize: false,\n isRightPanelOpen: props.isRightPanelOpen || false,\n isSlidesNavigatorOpen: props.isSlidesNavigatorOpen || false,\n isSlidesPanelOpen: props.isSlidesPanelOpen || false,\n isTextEditorOpen: props.isTextEditorOpen || false,\n lastScrollPosition: props.lastScrollPosition || 0,\n matches: {},\n onRightPanelsToggled: props.onRightPanelsToggled || (() => {}),\n overedPageId: props.activePageId || null,\n resetActiveElements: props.resetActiveElements || (() => {\n set({ activeElements: [], editedElement: 'l_layout' });\n }),\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n setActiveElements: props.setActiveElements || ((itemID, edit = true, replace = true) => {\n const { activeElements } = get();\n set({\n activeElements: replace ? [itemID] : [...activeElements, itemID],\n ...edit ? { editedElement: !itemID ? 'l_layout' : `i_${itemID}` } : {},\n });\n }),\n setActiveElementsSelection: props.setActiveElementsSelection || (itemIDs => {\n if (!itemIDs || itemIDs.length === 0) {\n set({ activeElements: [], editedElement: 'l_layout' });\n } else if (itemIDs.length === 1) {\n set({\n activeElements: itemIDs,\n editedElement: `i_${itemIDs[0]}`,\n });\n } else {\n set({ activeElements: itemIDs });\n }\n }),\n setActiveTab: props.setActiveTab || ((panel, tabIndex) => {\n const { activeTab } = get();\n set({ activeTab: { ...activeTab, [panel]: tabIndex } });\n }),\n setContextMenuProps: status => {\n set({ contextMenuProps: status });\n },\n setEditedElement: id => {\n set({ editedElement: id });\n },\n setGuides: guides => {\n set({ guides });\n },\n setIsLeftPanelOpen: props.setIsLeftPanelOpen || (status => {\n const {\n isEnoughCanvasSize,\n isSlidesNavigatorOpen: previousIsSlidesNavigatorOpen,\n restoreSlidesNavigatorWhenLeftCloses,\n } = get();\n\n if (status) {\n if (previousIsSlidesNavigatorOpen) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: true,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n } else {\n set({\n isLeftPanelOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n ...!isEnoughCanvasSize && { isRightPanelOpen: false },\n });\n }\n return;\n }\n\n if (restoreSlidesNavigatorWhenLeftCloses) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n return;\n }\n\n set({ isLeftPanelOpen: false });\n }),\n setIsResize: status => {\n set({ isResize: status });\n },\n setIsRightPanelOpen: props.setIsRightPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isRightPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isSlidesPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsSlidesNavigatorOpen: status => {\n const {\n isLeftPanelOpen: previousIsLeftPanelOpen,\n restoreLeftPanelWhenNavigatorCloses,\n } = get();\n\n if (status) {\n if (previousIsLeftPanelOpen) {\n set({\n isLeftPanelOpen: false,\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: true,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n } else {\n set({\n isSlidesNavigatorOpen: true,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n return;\n }\n\n if (restoreLeftPanelWhenNavigatorCloses) {\n set({\n isLeftPanelOpen: true,\n isSlidesNavigatorOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n });\n return;\n }\n\n set({\n isSlidesNavigatorOpen: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n },\n setIsSlidesPanelOpen: props.setIsSlidesPanelOpen || (status => {\n const { isEnoughCanvasSize, onRightPanelsToggled } = get();\n set({\n isSlidesPanelOpen: status,\n ...status && !isEnoughCanvasSize && {\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n },\n ...status && { isRightPanelOpen: false },\n });\n onRightPanelsToggled(status);\n }),\n setIsTextEditorOpen: status => {\n set({ isTextEditorOpen: status });\n },\n setMatches: matches => {\n set({ matches });\n },\n setOutPage: outPageId => {\n set({ overedPageId: outPageId });\n },\n setOverPage: overPageId => {\n set({ overedPageId: overPageId });\n },\n setToolbarPosition: ({ itemId, position }) => {\n set({ toolbarPosition: { itemId, position } });\n },\n setVisiblePageOrder: visiblePageOrder => {\n set({ visiblePageOrder });\n },\n setZoom: (zoom, layoutWidth) => {\n set({ zoom });\n if (layoutWidth && get().mode === 'customize') {\n const { clientWidth: paneWidth } = document.querySelector('.jfReport-pane .toolItemWrapper');\n const sceneWidth = parseInt(layoutWidth, 10) * zoom;\n if (window.innerWidth - sceneWidth + 100 > (paneWidth * 2)) {\n set({ isEnoughCanvasSize: true });\n } else {\n set({\n isEnoughCanvasSize: false,\n isLeftPanelOpen: false,\n restoreLeftPanelWhenNavigatorCloses: false,\n restoreSlidesNavigatorWhenLeftCloses: false,\n });\n }\n }\n },\n shouldFitZoomInitially: !!props.defaultZoom,\n shouldShowRightPanelInitially: props.shouldShowRightPanelInitially ?? true,\n slidesListType: props.slidesListType || SLIDES_LIST_TYPE_MAP.PANEL,\n toolbarPosition: props.toolbarPosition || { itemId: '', position: 'right-align' },\n visiblePageOrder: 1,\n zoom: props.defaultZoom ?? 0.8,\n }));\n};\n\nconst BuilderContext = createContext(null);\n\nexport const BuilderProvider = ({ children, value, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = builderStore(props);\n }\n\n return (\n <BuilderContext.Provider value={storeRef.current}>\n {children}\n </BuilderContext.Provider>\n );\n};\n\nBuilderProvider.propTypes = {\n children: PropTypes.any,\n value: PropTypes.object,\n};\n\nexport const BuilderConsumer = BuilderContext.Consumer;\n\nexport const useBuilderStore = selector => {\n const context = useContext(BuilderContext);\n if (!context) {\n throw new Error('useBuilderStore must be used with BuilderProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["builderStore","props","createStore","set","get","activeElements","activeElement","activeTab","left","right","clickOutsideIgnoreSelectors","contextMenuProps","editedElement","guides","isLeftPanelOpen","isResize","isRightPanelOpen","isSlidesNavigatorOpen","isSlidesPanelOpen","isTextEditorOpen","lastScrollPosition","matches","onRightPanelsToggled","overedPageId","activePageId","resetActiveElements","restoreLeftPanelWhenNavigatorCloses","restoreSlidesNavigatorWhenLeftCloses","setActiveElements","itemID","edit","replace","setActiveElementsSelection","itemIDs","length","setActiveTab","panel","tabIndex","setContextMenuProps","status","setEditedElement","id","setGuides","setIsLeftPanelOpen","isEnoughCanvasSize","previousIsSlidesNavigatorOpen","setIsResize","setIsRightPanelOpen","setIsSlidesNavigatorOpen","previousIsLeftPanelOpen","setIsSlidesPanelOpen","setIsTextEditorOpen","setMatches","setOutPage","outPageId","setOverPage","overPageId","setToolbarPosition","itemId","position","toolbarPosition","setVisiblePageOrder","visiblePageOrder","setZoom","zoom","layoutWidth","mode","document","querySelector","paneWidth","clientWidth","sceneWidth","parseInt","window","innerWidth","shouldFitZoomInitially","defaultZoom","shouldShowRightPanelInitially","slidesListType","SLIDES_LIST_TYPE_MAP","PANEL","BuilderContext","createContext","BuilderProvider","children","value","storeRef","useRef","current","_jsx","propTypes","PropTypes","any","object","Consumer","useBuilderStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -37,7 +37,6 @@ var propStore = function propStore(props) {
37
37
  onSelectedItemsChanged: props.onSelectedItemsChanged || fn,
38
38
  onSettingChange: props.onSettingChange || fn,
39
39
  pages: props.pages || [],
40
- reportItemToolbarPosition: props.reportItemToolbarPosition || {},
41
40
  setAcceptedItems: function setAcceptedItems(acceptedItems) {
42
41
  set({
43
42
  acceptedItems: acceptedItems
@@ -1 +1 @@
1
- {"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onPageVisibilityChanged: props.onPageVisibilityChanged || fn,\n onSelectedItemsChanged: props.onSelectedItemsChanged || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n reportItemToolbarPosition: props.reportItemToolbarPosition || {},\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!pages || isEqual(state.pages, pages)) return;\n state.setPages(pages);\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!acceptedItems || isEqual(state.acceptedItems, acceptedItems)) return;\n state.setAcceptedItems(acceptedItems);\n }, [acceptedItems]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!settings || isEqual(state.settings, settings)) return;\n state.setSettings(settings);\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onSelectedItemsChanged","onSettingChange","pages","reportItemToolbarPosition","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
1
+ {"version":3,"file":"PropContext.js","sources":["../../../src/contexts/PropContext.js"],"sourcesContent":["import {\n createContext, useContext, useEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport { createStore, useStore } from 'zustand';\n\nconst fn = () => {};\n\nconst propStore = props => {\n // eslint-disable-next-line complexity\n return createStore(set => ({\n acceptedItems: props.acceptedItems || {},\n additionalPageItems: props.additionalPageItems || [],\n disableInteraction: props.disableInteraction || [],\n itemAccessor: props.itemAccessor || fn,\n leftPanelConfig: props.leftPanelConfig || [],\n onAnEventTrigger: props.onAnEventTrigger || (() => {}),\n onItemAdd: props.onItemAdd || fn,\n onItemChange: props.onItemChange || fn,\n onItemMove: props.onItemMove || fn,\n onItemRemove: props.onItemRemove || fn,\n onItemResize: props.onItemResize || fn,\n onItemsMove: props.onItemsMove || fn,\n onPageAdd: props.onPageAdd || fn,\n onPageChange: props.onPageChange || fn,\n onPageDuplicate: props.onPageDuplicate || fn,\n onPageOrdersChange: props.onPageOrdersChange || fn,\n onPageRemove: props.onPageRemove || fn,\n onPageVisibilityChanged: props.onPageVisibilityChanged || fn,\n onSelectedItemsChanged: props.onSelectedItemsChanged || fn,\n onSettingChange: props.onSettingChange || fn,\n pages: props.pages || [],\n setAcceptedItems: acceptedItems => { set({ acceptedItems }); },\n setItemAccessor: itemAccessor => { set({ itemAccessor }); },\n setPages: pages => { set({ pages }); },\n setSettings: settings => { set({ settings }); },\n settings: props.settings || {\n reportLayout: 'A4 Landscape',\n },\n theme: props.theme || 'lightMode',\n useExperimentalFeatures: props.useExperimentalFeatures || false,\n }));\n};\n\nconst PropContext = createContext(null);\n\nexport const PropProvider = ({ children, ...props }) => {\n const storeRef = useRef();\n if (!storeRef.current) {\n storeRef.current = propStore(props);\n }\n\n const {\n acceptedItems, itemAccessor, pages, settings,\n } = props;\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!pages || isEqual(state.pages, pages)) return;\n state.setPages(pages);\n }, [pages]);\n\n useEffect(() => {\n const { setItemAccessor } = storeRef.current.getState();\n setItemAccessor(itemAccessor);\n }, [itemAccessor]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!acceptedItems || isEqual(state.acceptedItems, acceptedItems)) return;\n state.setAcceptedItems(acceptedItems);\n }, [acceptedItems]);\n\n useEffect(() => {\n const state = storeRef.current.getState();\n if (!settings || isEqual(state.settings, settings)) return;\n state.setSettings(settings);\n }, [settings]);\n\n return (\n <PropContext.Provider value={storeRef.current}>\n {children}\n </PropContext.Provider>\n );\n};\n\nPropProvider.propTypes = {\n acceptedItems: PropTypes.shape({}),\n children: PropTypes.any,\n itemAccessor: PropTypes.func,\n pages: PropTypes.arrayOf(PropTypes.object),\n settings: PropTypes.shape({}),\n};\n\nexport const PropConsumer = PropContext.Consumer;\n\nexport const usePropStore = selector => {\n const context = useContext(PropContext);\n if (!context) {\n throw new Error('usePropStore must be used with PropProvider!');\n }\n return useStore(context, selector);\n};\n"],"names":["fn","propStore","props","createStore","set","acceptedItems","additionalPageItems","disableInteraction","itemAccessor","leftPanelConfig","onAnEventTrigger","onItemAdd","onItemChange","onItemMove","onItemRemove","onItemResize","onItemsMove","onPageAdd","onPageChange","onPageDuplicate","onPageOrdersChange","onPageRemove","onPageVisibilityChanged","onSelectedItemsChanged","onSettingChange","pages","setAcceptedItems","setItemAccessor","setPages","setSettings","settings","reportLayout","theme","useExperimentalFeatures","PropContext","createContext","PropProvider","children","storeRef","useRef","current","useEffect","state","getState","isEqual","_jsx","propTypes","PropTypes","shape","any","func","arrayOf","object","Consumer","usePropStore","selector","context","useContext","Error","useStore"],"mappings":"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"}
@@ -95,6 +95,14 @@
95
95
  background-color: #394049;
96
96
  }
97
97
 
98
+ .toolItem-subSection {
99
+ background-color: #292D3C;
100
+
101
+ &-title {
102
+ color: #A0A6B6;
103
+ }
104
+ }
105
+
98
106
  .toolItem:not(.toolSection) {
99
107
  border-bottom: 1px solid #4C5360;
100
108
  }
@@ -24,6 +24,14 @@
24
24
  background-color: $white;
25
25
  }
26
26
 
27
+ .toolItem-subSection {
28
+ background-color: #e8eaf0;
29
+
30
+ &-title {
31
+ color: #6c7389;
32
+ }
33
+ }
34
+
27
35
  .toolItem:not(.toolSection) {
28
36
  border-bottom: 1px solid #dde0ea;
29
37
  }
@@ -603,6 +603,18 @@
603
603
  max-width: calc(100% - 20px);
604
604
  z-index: 3;
605
605
  }
606
+
607
+ &[data-position="right"] {
608
+ .sketch-picker {
609
+ right: 0;
610
+ }
611
+ }
612
+
613
+ &[data-position="left"] {
614
+ .sketch-picker {
615
+ left: 0;
616
+ }
617
+ }
606
618
  }
607
619
 
608
620
  &-preview {
@@ -96,6 +96,25 @@
96
96
  }
97
97
  }
98
98
 
99
+ &-subSection {
100
+ display: flex;
101
+ flex-direction: column;
102
+
103
+ &-title {
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ height: 36px;
108
+ font-size: 0.875rem;
109
+ font-weight: 400;
110
+ line-height: 20px;
111
+ letter-spacing: -0.084px;
112
+ white-space: nowrap;
113
+ user-select: none;
114
+ pointer-events: none;
115
+ }
116
+ }
117
+
99
118
  .note {
100
119
  opacity: .6;
101
120
  font-size: .75rem;
@@ -260,6 +260,14 @@
260
260
  animation: .2s fadeRight forwards;
261
261
  }
262
262
 
263
+ &.left-align {
264
+ flex-direction: column;
265
+ top: 50%;
266
+ transform: translateY(-50%);
267
+ left: -24px;
268
+ animation: .2s fadeLeft forwards;
269
+ }
270
+
263
271
  &.top-align {
264
272
  flex-direction: row;
265
273
  top: calc(100% + 8px);
@@ -268,6 +276,14 @@
268
276
  animation: .2s fadeTop forwards;
269
277
  }
270
278
 
279
+ &.bottom-align {
280
+ flex-direction: row;
281
+ bottom: -48px;
282
+ transform: translateX(50%);
283
+ right: 50% !important;
284
+ animation: .2s fadeBottom forwards;
285
+ }
286
+
271
287
  &-item {
272
288
  max-width: 24px;
273
289
  max-height: 24px;
@@ -341,6 +357,17 @@
341
357
  }
342
358
  }
343
359
 
360
+ @keyframes fadeLeft {
361
+ 0% {
362
+ left: -24px;
363
+ opacity: 0;
364
+ }
365
+ 100% {
366
+ left: -38px;
367
+ opacity: 1;
368
+ }
369
+ }
370
+
344
371
  @keyframes fadeTop {
345
372
  0% {
346
373
  top: -24px;
@@ -351,4 +378,15 @@
351
378
  opacity: 1;
352
379
  }
353
380
  }
381
+
382
+ @keyframes fadeBottom {
383
+ 0% {
384
+ bottom: -24px;
385
+ opacity: 0;
386
+ }
387
+ 100% {
388
+ bottom: -38px;
389
+ opacity: 1;
390
+ }
391
+ }
354
392
  }
@@ -126,6 +126,11 @@
126
126
  .icon-fullscreen {
127
127
  width: 12px;
128
128
  height: 12px;
129
+ fill: #FFFFFF;
130
+
131
+ path {
132
+ fill: #FFFFFF;
133
+ }
129
134
  }
130
135
 
131
136
  .icon-aspectLock, .icon-aspectUnlock {
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import SvgExitFullscreen from '../assets/svg/presentation/exit_fullscreen.svg.js';
3
- import SvgEnterFullscreen from '../assets/svg/presentation/enter_fullscreen.svg.js';
2
+ import SvgCaretsToCenter from '../assets/svg/carets_to_center.svg.js';
3
+ import SvgCaretsFromCenter from '../assets/svg/carets_from_center.svg.js';
4
4
  import SvgPrint from '../assets/svg/presentation/print.svg.js';
5
5
 
6
6
  var getDefaultPresentationActions = function getDefaultPresentationActions(_ref) {
@@ -12,9 +12,9 @@ var getDefaultPresentationActions = function getDefaultPresentationActions(_ref)
12
12
  className: "jfReportButton isAccent",
13
13
  onClick: toggleFullscreen,
14
14
  type: "button",
15
- children: isFullscreen ? /*#__PURE__*/jsx(SvgExitFullscreen, {
15
+ children: isFullscreen ? /*#__PURE__*/jsx(SvgCaretsToCenter, {
16
16
  className: "jfReportSVG icon-fullscreen"
17
- }) : /*#__PURE__*/jsx(SvgEnterFullscreen, {
17
+ }) : /*#__PURE__*/jsx(SvgCaretsFromCenter, {
18
18
  className: "jfReportSVG icon-fullscreen"
19
19
  })
20
20
  }, "present"),
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultPresentationActions.js","sources":["../../../src/utils/getDefaultPresentationActions.js"],"sourcesContent":["import * as icons from './icons';\n\nexport const getDefaultPresentationActions = ({\n isFullscreen,\n toggleFullscreen,\n}) => ({\n present: (\n <button\n key=\"present\"\n aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}\n className=\"jfReportButton isAccent\"\n onClick={toggleFullscreen}\n type=\"button\"\n >\n {isFullscreen ? (\n <icons.exitFullscreen className=\"jfReportSVG icon-fullscreen\" />\n ) : (\n <icons.enterFullscreen className=\"jfReportSVG icon-fullscreen\" />\n )}\n </button>\n ),\n print: (\n <button\n key=\"print\"\n aria-label=\"Print\"\n className=\"jfReportButton isAccent print\"\n onClick={() => window.print()}\n type=\"button\"\n >\n <icons.print className=\"jfReportSVG icon-print\" />\n </button>\n ),\n});\n"],"names":["getDefaultPresentationActions","isFullscreen","toggleFullscreen","present","_jsx","icons.exitFullscreen","icons.enterFullscreen","print","window","icons.print"],"mappings":";;;;;IAEaA,6BAA6B,GAAG,SAAhCA,6BAAgC;AAAA,MAC3CC,YAD2C,QAC3CA,YAD2C;AAAA,MAE3CC,gBAF2C,QAE3CA,gBAF2C;AAAA,SAGtC;AACLC,IAAAA,OAAO,eACLC;AAEE,oBAAYH,YAAY,GAAG,iBAAH,GAAuB,kBAFjD;AAGE,MAAA,SAAS,EAAC,yBAHZ;AAIE,MAAA,OAAO,EAAEC,gBAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,gBAOGD,YAAY,gBACXG,IAACC,iBAAD;AAAsB,QAAA,SAAS,EAAC;AAAhC,QADW,gBAGXD,IAACE,kBAAD;AAAuB,QAAA,SAAS,EAAC;AAAjC;AAVJ,OACM,SADN,CAFG;AAgBLC,IAAAA,KAAK,eACHH;AAEE,oBAAW,OAFb;AAGE,MAAA,SAAS,EAAC,+BAHZ;AAIE,MAAA,OAAO,EAAE;AAAA,eAAMI,MAAM,CAACD,KAAP,EAAN;AAAA,OAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,6BAOEH,IAACK,QAAD;AAAa,QAAA,SAAS,EAAC;AAAvB;AAPF,OACM,OADN;AAjBG,GAHsC;AAAA;;;;"}
1
+ {"version":3,"file":"getDefaultPresentationActions.js","sources":["../../../src/utils/getDefaultPresentationActions.js"],"sourcesContent":["import * as icons from './icons';\n\nexport const getDefaultPresentationActions = ({\n isFullscreen,\n toggleFullscreen,\n}) => ({\n present: (\n <button\n key=\"present\"\n aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'}\n className=\"jfReportButton isAccent\"\n onClick={toggleFullscreen}\n type=\"button\"\n >\n {isFullscreen ? (\n <icons.collapsePresentation className=\"jfReportSVG icon-fullscreen\" />\n ) : (\n <icons.expandPresentation className=\"jfReportSVG icon-fullscreen\" />\n )}\n </button>\n ),\n print: (\n <button\n key=\"print\"\n aria-label=\"Print\"\n className=\"jfReportButton isAccent print\"\n onClick={() => window.print()}\n type=\"button\"\n >\n <icons.print className=\"jfReportSVG icon-print\" />\n </button>\n ),\n});\n"],"names":["getDefaultPresentationActions","isFullscreen","toggleFullscreen","present","_jsx","icons.collapsePresentation","icons.expandPresentation","print","window","icons.print"],"mappings":";;;;;IAEaA,6BAA6B,GAAG,SAAhCA,6BAAgC;AAAA,MAC3CC,YAD2C,QAC3CA,YAD2C;AAAA,MAE3CC,gBAF2C,QAE3CA,gBAF2C;AAAA,SAGtC;AACLC,IAAAA,OAAO,eACLC;AAEE,oBAAYH,YAAY,GAAG,iBAAH,GAAuB,kBAFjD;AAGE,MAAA,SAAS,EAAC,yBAHZ;AAIE,MAAA,OAAO,EAAEC,gBAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,gBAOGD,YAAY,gBACXG,IAACC,iBAAD;AAA4B,QAAA,SAAS,EAAC;AAAtC,QADW,gBAGXD,IAACE,mBAAD;AAA0B,QAAA,SAAS,EAAC;AAApC;AAVJ,OACM,SADN,CAFG;AAgBLC,IAAAA,KAAK,eACHH;AAEE,oBAAW,OAFb;AAGE,MAAA,SAAS,EAAC,+BAHZ;AAIE,MAAA,OAAO,EAAE;AAAA,eAAMI,MAAM,CAACD,KAAP,EAAN;AAAA,OAJX;AAKE,MAAA,IAAI,EAAC,QALP;AAAA,6BAOEH,IAACK,QAAD;AAAa,QAAA,SAAS,EAAC;AAAvB;AAPF,OACM,OADN;AAjBG,GAHsC;AAAA;;;;"}
@@ -80,6 +80,8 @@ export { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg
80
80
  export { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg.js';
81
81
  export { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg.js';
82
82
  export { default as fit } from '../assets/svg/fit_screen.svg.js';
83
+ export { default as collapsePresentation } from '../assets/svg/carets_to_center.svg.js';
84
+ export { default as expandPresentation } from '../assets/svg/carets_from_center.svg.js';
83
85
  export { default as loadingCircle } from '../assets/svg/loading_circle.svg.js';
84
86
  export { default as exclamationIcon } from '../assets/svg/exclamation.svg.js';
85
87
 
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as anglesLeft } from '../assets/svg/angles-left.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA"}
1
+ {"version":3,"file":"icons.js","sources":["../../../src/utils/icons.js"],"sourcesContent":["// General //\n\nexport { default as down } from '../assets/svg/arrow_down.svg';\nexport { default as drag } from '../assets/svg/settings/drag.svg';\nexport { default as trash } from '../assets/svg/trash.svg';\nexport { default as close } from '../assets/svg/close.svg';\nexport { default as rotate } from '../assets/svg/rotate.svg';\nexport { default as customize } from '../assets/svg/customize.svg';\nexport { default as slides } from '../assets/svg/slides.svg';\nexport { default as settingsToggle } from '../assets/svg/settings_toggle.svg';\nexport { default as ellipsisVertical } from '../assets/svg/ellipsis-vertical.svg';\n\n// Elements //\n\nexport { default as header } from '../assets/svg/toolbox/header.svg';\nexport { default as icon } from '../assets/svg/toolbox/icon.svg';\nexport { default as image } from '../assets/svg/toolbox/image.svg';\nexport { default as label } from '../assets/svg/toolbox/label.svg';\nexport { default as shapes } from '../assets/svg/toolbox/shapes.svg';\nexport { default as table } from '../assets/svg/toolbox/table.svg';\nexport { default as textElement } from '../assets/svg/toolbox/text_element.svg';\nexport { default as text } from '../assets/svg/toolbox/text.svg';\nexport { default as star } from '../assets/svg/toolbox/star.svg';\nexport { default as email } from '../assets/svg/toolbox/email.svg';\nexport { default as singleChoice } from '../assets/svg/toolbox/single_choice.svg';\nexport { default as multipleChoice } from '../assets/svg/toolbox/multiple_choice.svg';\nexport { default as lock } from '../assets/svg/settings/lock.svg';\nexport { default as unlock } from '../assets/svg/settings/unlock.svg';\n\n// Settings //\n\nexport { default as bold } from '../assets/svg/settings/font_bold.svg';\nexport { default as italic } from '../assets/svg/settings/font_italic.svg';\nexport { default as underline } from '../assets/svg/settings/font_underline.svg';\nexport { default as alignLeft } from '../assets/svg/settings/align_left.svg';\nexport { default as alignCenter } from '../assets/svg/settings/align_center.svg';\nexport { default as alignRight } from '../assets/svg/settings/align_right.svg';\n\n// Chart Settings //\n\nexport { default as pie } from '../assets/svg/settings/chart_pie.svg';\nexport { default as bar } from '../assets/svg/settings/chart_bar.svg';\nexport { default as line } from '../assets/svg/settings/chart_line.svg';\nexport { default as basic } from '../assets/svg/settings/chart_basic.svg';\nexport { default as donut } from '../assets/svg/settings/chart_donut.svg';\nexport { default as grid } from '../assets/svg/settings/chart_grid.svg';\nexport { default as textGrid } from '../assets/svg/settings/chart_textGrid.svg';\nexport { default as column } from '../assets/svg/settings/chart_column.svg';\nexport { default as layout } from '../assets/svg/settings/layout.svg';\nexport { default as starRating } from '../assets/svg/star_rating.svg';\nexport { default as heartRating } from '../assets/svg/heart_rating.svg';\n\n// Shape Settings //\n\nexport { default as rectangleIcon } from '../assets/svg/settings/rectangle.svg';\nexport { default as ellipseIcon } from '../assets/svg/settings/ellipse.svg';\nexport { default as triangleIcon } from '../assets/svg/settings/triangle.svg';\nexport { default as starIcon } from '../assets/svg/settings/star.svg';\nexport { default as lineIcon } from '../assets/svg/settings/line.svg';\n\n// Element Menu //\n\nexport { default as duplicate } from '../assets/svg/duplicate.svg';\nexport { default as settings } from '../assets/svg/settings.svg';\n\n// Page Menu //\n\nexport { default as arrowDown } from '../assets/svg/arrow_down.svg';\nexport { default as arrowUp } from '../assets/svg/arrow_up.svg';\nexport { default as arrowLeft } from '../assets/svg/arrow_left.svg';\nexport { default as arrowRight } from '../assets/svg/arrow_right.svg';\nexport { default as anglesLeft } from '../assets/svg/angles-left.svg';\nexport { default as angleDown } from '../assets/svg/angle_down.svg';\nexport { default as angleUp } from '../assets/svg/angle_up.svg';\nexport { default as angleLeft } from '../assets/svg/angle_left.svg';\nexport { default as angleRight } from '../assets/svg/angle_right.svg';\nexport { default as duplicateLine } from '../assets/svg/page-actions/duplicate_line.svg';\nexport { default as plus } from '../assets/svg/plus.svg';\nexport { default as minus } from '../assets/svg/minus.svg';\nexport { default as trashLine } from '../assets/svg/page-actions/trash_line.svg';\nexport { default as pageSettings } from '../assets/svg/page_settings.svg';\n\n// Context Menu //\n\nexport { default as moveToFront } from '../assets/svg/contextmenu/moveToFront.svg';\nexport { default as moveToForward } from '../assets/svg/contextmenu/moveToForward.svg';\nexport { default as moveToBackward } from '../assets/svg/contextmenu/moveToBackward.svg';\nexport { default as moveToBack } from '../assets/svg/contextmenu/moveToBack.svg';\n\n// Presentation //\n\nexport { default as print } from '../assets/svg/presentation/print.svg';\nexport { default as download } from '../assets/svg/presentation/download.svg';\nexport { default as play } from '../assets/svg/presentation/play.svg';\nexport { default as enterFullscreen } from '../assets/svg/presentation/enter_fullscreen.svg';\nexport { default as exitFullscreen } from '../assets/svg/presentation/exit_fullscreen.svg';\nexport { default as pause } from '../assets/svg/presentation/pause.svg';\nexport { default as share } from '../assets/svg/presentation/share.svg';\nexport { default as attachment } from '../assets/svg/presentation/attachment.svg';\nexport { default as pen } from '../assets/svg/presentation/pen.svg';\n\n// Password Modal //\n\nexport { default as key } from '../assets/svg/presentation/key.svg';\nexport { default as eye } from '../assets/svg/presentation/eye.svg';\n\n// Placeholder //\n\nexport { default as piePlaceholder } from '../assets/svg/placeholder/pie.svg';\nexport { default as barPlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as linePlaceholder } from '../assets/svg/placeholder/bar.svg';\nexport { default as columnPlaceholder } from '../assets/svg/placeholder/column.svg';\nexport { default as basicPlaceholder } from '../assets/svg/placeholder/basic.svg';\nexport { default as donutPlaceholder } from '../assets/svg/placeholder/donut.svg';\nexport { default as textGridPlaceholder } from '../assets/svg/placeholder/grid.svg';\n\n// Placeholder //\n\n// Zoom //\n\nexport { default as fit } from '../assets/svg/fit_screen.svg';\nexport { default as collapsePresentation } from '../assets/svg/carets_to_center.svg';\nexport { default as expandPresentation } from '../assets/svg/carets_from_center.svg';\n\n// Zoom //\n\n// Loading //\nexport { default as loadingCircle } from '../assets/svg/loading_circle.svg';\n\n// Error Boundary //\n\nexport { default as exclamationIcon } from '../assets/svg/exclamation.svg';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotforminc/dnd-builder",
3
- "version": "3.7.1",
3
+ "version": "3.8.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "index.d.ts"